{"version":3,"file":"StudentNavbarItemsAppClient-CQzeb1Z3.js","sources":["../../../client/app/bundles/Shared/components/shared/dataTableChip.tsx","../../../client/app/bundles/Shared/libs/findFeedbackForReport.ts","../../../client/app/bundles/Shared/libs/formatAnswerStringForReport.tsx","../../../client/app/bundles/Teacher/helpers/unitActivityDates.tsx","../../../client/app/bundles/Teacher/helpers/studentReports.tsx","../../../client/app/modules/proficiency_cutoffs.js","../../../client/app/bundles/Teacher/components/general_components/tooltip/activity_details_section.tsx","../../../client/app/bundles/Teacher/components/general_components/tooltip/activity_details.tsx","../../../client/app/bundles/Teacher/components/general_components/tooltip/key_target_skill_concepts.tsx","../../../client/app/bundles/Teacher/components/modules/percentage_displayer.jsx","../../../client/app/bundles/Teacher/components/general_components/tooltip/scorebook_tooltip.tsx","../../../client/app/modules/timezones.js","../../../client/app/bundles/Teacher/components/accounts/edit/shared.ts","../../../client/app/bundles/Teacher/components/accounts/edit/update_password.jsx","../../../client/app/bundles/Student/startup/StudentFeedbackModalAppClient.jsx","../../../client/app/bundles/Student/components/studentNavbarItems.tsx","../../../client/app/bundles/Student/startup/StudentNavbarItemsAppClient.jsx"],"sourcesContent":["import * as React from 'react'\n\ninterface DataTableChipProps {\n color?: string,\n icon?: {\n alt: string,\n src: string\n },\n label: string,\n link?: string,\n onClick?: (e: any) => void\n}\n\nexport const DataTableChip = ({ color, icon, label, link, onClick }: DataTableChipProps) => {\n if(link) {\n return(\n \n {icon && {icon.alt}}\n {label}\n \n )\n }\n if (onClick) {\n return (\n \n )\n }\n return (\n
\n {icon && {icon.alt}}\n {label}\n
\n )\n}\n\nexport default DataTableChip\n","export function findFeedbackForReport(attemptNum, conceptsByAttempt) {\n const currentAttempt = conceptsByAttempt[attemptNum];\n const nextAttempt = conceptsByAttempt[attemptNum + 1];\n\n return findFeedbackInAttempt(nextAttempt) || currentAttempt[0]?.finalAttemptFeedback;\n}\n\nfunction findFeedbackInAttempt(attempt) {\n if (!attempt) return null;\n\n const conceptResultWithLastFeedbackOrDirections = attempt.find(cr => cr.lastFeedback || cr.directions)\n\n if (!conceptResultWithLastFeedbackOrDirections) return null;\n\n return conceptResultWithLastFeedbackOrDirections.lastFeedback || conceptResultWithLastFeedbackOrDirections.directions\n}\n","import * as React from 'react'\nimport { diffWords, } from 'diff'\n\nexport function formatAnswerStringForReport(answer, previousAnswer, attemptNum, showDiff) {\n let answerString = answer\n if (previousAnswer && showDiff) {\n const diff = diffWords(previousAnswer, answer)\n answerString = diff.map((word) => {\n if (word.removed) { return '' }\n const key = `${attemptNum}-${word.value}`;\n return word.added ? {word.value} : {word.value}\n })\n }\n return answerString\n}\n","import * as React from 'react';\nimport Datetime from 'react-datetime';\n\nimport { copyIcon, } from '../../Shared/index';\n\nconst copyImage = {copyIcon.alt}\n\nexport const DUE_DATE_DEFAULT_TEXT = 'No due date'\nexport const PUBLISH_DATE_DEFAULT_TEXT = 'Right away'\nexport const INVALID_DATES_SNACKBAR_COPY = 'The due date must be after the publish date.'\n\nexport const formatDateTimeForDisplay = (datetime) => {\n if (datetime.minutes()) {\n return datetime.format('MMM D, h:mma')\n }\n return datetime.format('MMM D, ha')\n}\n\nexport const CopyToAllButton = ({ handleClickCopyToAll, }) => (\n \n {copyImage}\n Copy to all\n \n)\n\nconst DatetimeInput = ({ props, defaultText, }) => {\n const { onClick, } = props\n return (\n \n )\n}\n\nexport const DatePickerContainer = ({ initialValue, defaultText, closeFunction, icon, }) => {\n const today = new Date();\n const todayAtNineInUTC = Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 9, 0, 0);\n\n return (\n
\n
\n {icon}\n }\n timeFormat=\"h:mm a\"\n utc={true}\n />\n
\n
\n )\n}\n","import * as React from 'react'\nimport { DataTableChip, Tooltip } from \"../../Shared\";\n\nexport function getTimeSpent(seconds: number) {\n if(!seconds) {\n return 'N/A';\n }\n if(seconds < 60) {\n return `<1 min`;\n }\n if(seconds >= 60 && seconds < 120) {\n return '1 min';\n }\n if(seconds >= 120 && seconds < 3600) {\n return `${Math.floor((seconds % 3600) / 60)} mins`;\n }\n if(seconds >= 3600 && seconds < 3660) {\n return '1 hr';\n }\n const hours = Math.floor(seconds / 60 / 60);\n const minutes = Math.floor((seconds % 3600) / 60)\n const hoursText = hours > 1 ? 'hrs' : 'hr';\n if(minutes) {\n const minuteText = minutes > 1 ? 'mins' : 'min';\n return `${hours} ${hoursText} ${minutes} ${minuteText}`;\n }\n return `${hours} ${hoursText}`;\n}\n\ninterface renderTooltipRowProps {\n color?: string,\n icon?: {\n alt: string,\n src: string\n }\n id: number,\n label: string,\n link?: string,\n headerWidth: number\n}\n\nexport function renderTooltipRow({ color, icon, id, label, link, headerWidth }: renderTooltipRowProps) {\n const averageFontWidth = 8\n let style: React.CSSProperties = { width: `${headerWidth}px`, minWidth: `${headerWidth}px` }\n const dataTableChip = \n if ((String(label).length * averageFontWidth) >= headerWidth) {\n return (\n \n )\n } else {\n return dataTableChip\n }\n}\n","import proficiency_cutoffs from '../../../lib/proficiency_cutoffs.json';\n\nexport function proficiencyCutoffsAsPercentage() {\n return (\n {\n proficient: proficiency_cutoffs.proficient * 100,\n nearlyProficient: proficiency_cutoffs.nearly_proficient * 100,\n });\n}\n\nexport default proficiency_cutoffs;\n","import * as React from 'react'\n\ninterface ActivityDetailsSectionPropsInterface {\n key?: string;\n customClass?: string;\n header: string;\n description: string | React.ReactElement\n}\n\nexport const ActivityDetailsSection = ({ customClass, header, description }: ActivityDetailsSectionPropsInterface) => {\n if(!header || !description) { return }\n\n const descriptionElement = typeof (description) === \"string\" ?

{description}

: description\n const containerClassName = `activity-tooltip-details-section ${customClass || ''}`\n return(\n
\n

{header}

\n {descriptionElement}\n
\n )\n}\n\nexport default ActivityDetailsSection\n","import moment from 'moment'\nimport * as React from 'react'\nimport ActivityDetailsSection from './activity_details_section'\nimport { NOT_APPLICABLE } from '../../../../Shared'\n\nexport const ActivityDetails = ({ data }) => {\n\n if (!Object.keys(data).length) { return }\n\n function getClassName() {\n const { sessions, } = data\n if (sessions && sessions.length) {\n return 'activity-details'\n }\n return 'activity-details no-concept-results'\n }\n\n function detailOrNot() {\n const { activity_description, dueDate, publishDate, scheduled, unitActivityCreatedAt, } = data\n\n const publishDateForDisplay = publishDate || unitActivityCreatedAt\n const objectiveSection = activity_description ? : \n const publishDateSection = \n const dueDateSection = \n\n return (\n
\n {objectiveSection}\n {publishDateSection}\n {dueDateSection}\n
\n )\n }\n\n return (\n
\n {detailOrNot()}\n
\n )\n}\n\nexport default ActivityDetails\n","import * as React from 'react';\n\nimport ActivityDetailsSection from './activity_details_section';\n\nconst KeyTargetSkillConcept = ({ name, correct, incorrect, shouldShowCounts }) => {\n let counts\n\n if (shouldShowCounts) {\n counts = (\n
\n

{correct}

\n

{incorrect}

\n
\n )\n }\n\n return (\n
\n

{name}

\n {counts}\n
\n );\n};\n\nexport const KeyTargetSkillConcepts = ({ groupedKeyTargetSkillConcepts, shouldShowCounts, }) => {\n const descriptionElement = (\n
\n {groupedKeyTargetSkillConcepts.map(statsRow => (\n )\n )}\n
\n )\n return(\n !!groupedKeyTargetSkillConcepts?.length ? : \n )\n}\n\nexport default KeyTargetSkillConcepts\n","export default function () {\n this.run = function (value) {\n if (value == null) {\n return \"Not completed yet\";\n } else {\n return (Math.round(100*value)) + \"%\";\n }\n }\n}\n","import * as React from 'react';\nimport moment from 'moment';\n\nimport ActivityDetails from './activity_details';\nimport KeyTargetSkillConcepts from './key_target_skill_concepts';\nimport ActivityDetailsSection from './activity_details_section';\n\nimport { getTimeSpent } from '../../../helpers/studentReports';\nimport numberSuffixBuilder from '../../modules/numberSuffixBuilder';\nimport PercentageDisplayer from '../../modules/percentage_displayer.jsx';\nimport { proficiencyCutoffsAsPercentage } from '../../../../../modules/proficiency_cutoffs';\nimport { NOT_APPLICABLE, Spinner, EVIDENCE, } from '../../../../Shared'\nimport useWindowSize from '../../../../Shared/hooks/useWindowSize'\n\nconst ORDINAL_NUMBERS = ['Zeroth', 'First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eighth', 'Ninth', 'Tenth']\nconst QUILL_DIAGNOSTIC_SCORING_EXPLANATION = \"The Quill Diagnostic is meant to diagnose skills to practice. Students are not provided a color-coded score or percentage score. Teachers see only a percentage score without a color.\"\nconst percentageDisplayer = new PercentageDisplayer()\n\ninterface Session {\n grouped_key_target_skill_concepts: any;\n percentage: number;\n number_of_correct_questions: number;\n number_of_questions: number;\n completed_at: string;\n timespent: number;\n}\n\ninterface ActivityClassification {\n id: number;\n}\n\ninterface Activity {\n classification: ActivityClassification;\n name: string;\n}\n\ninterface ScorebookTooltipData {\n completed_attempts: Number;\n name: string; // this is the activity name\n activity_classification_id: number;\n percentage: number;\n activity?: Activity;\n started?: number;\n sessions?: Array\n locked?: Boolean;\n scheduled?: Boolean;\n marked_complete?: Boolean;\n activity_classification_key?: string;\n}\n\ninterface ScorebookTooltipProps {\n data: ScorebookTooltipData\n inStudentView?: Boolean;\n showExactScores?: Boolean;\n}\n\nexport const ScorebookTooltip = ({ data, inStudentView, showExactScores, }: ScorebookTooltipProps) => {\n const tooltipRef = React.useRef(null);\n const [tooltipStyle, setTooltipStyle] = React.useState({});\n const [caretStyle, setCaretStyle] = React.useState({});\n const size = useWindowSize()\n\n if (!Object.keys(data).length) { return }\n\n React.useEffect(() => {\n // this hook makes sure the tooltip doesn't end up off the screen to the left or the right, and repositions the caret if the tooltip itself has moved\n\n if (!tooltipRef.current) { return }\n\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const viewportWidth = size.width;\n\n let { right, left } = tooltipRect;\n\n if (left < 0) {\n setTooltipStyle({\n left: '0px',\n right: 'unset'\n });\n\n setCaretStyle({\n left: '16px',\n right: 'unset'\n })\n }\n\n if (right > viewportWidth) {\n setTooltipStyle({\n left: 'unset',\n right: '0px',\n });\n\n setCaretStyle({\n left: 'unset',\n right: '16px'\n })\n }\n }, [size]);\n\n\n const { marked_complete, completed_attempts, locked, scheduled, sessions, started, activity, name, activity_classification_key } = data\n\n function activityOverview() {\n return (\n
\n \n {totalScoreOrNot()}\n {scoringExplanation()}\n
\n )\n }\n\n function keyTargetSkillConceptsOrExplanation() {\n if (marked_complete && completed_attempts === 0) {\n return

This student has missed this lesson. To make up this material, you can assign this lesson again to the students who missed it.

\n } else if (scheduled && !completed_attempts) {\n return

This scheduled activity has not been published.

\n } else if (locked) {\n return

This activity is set for staggered release and has not been unlocked by this student.

\n } else if (!completed_attempts) {\n return

This activity has not been completed.

\n } else if (sessions && sessions.length) {\n return \n } else {\n return \n }\n };\n\n function displayScores() {\n const attemptInProgress = started > 0\n\n return sessions.map((session, i) => {\n const { percentage, number_of_correct_questions, number_of_questions, completed_at, timespent, is_final_score, } = session\n const ordinalNumber = numberSuffixBuilder(i + 1)\n const formattedPercentage = percentageDisplayer.run(percentage)\n const scoreText = `${number_of_correct_questions} of ${number_of_questions} Target Skills Correct (${formattedPercentage})`\n const sessionLength = sessions.length\n let attemptText = ''\n\n if (attemptInProgress && i === sessionLength - 1) {\n const nextNumber = sessionLength + 1\n const textifiedNextNumber = nextNumber > 10 ? numberSuffixBuilder(i + 1) : ORDINAL_NUMBERS[nextNumber]\n attemptText = `(${textifiedNextNumber} attempt in progress)`\n const descriptionElement =

{scoreText}
{attemptText}

\n return \n }\n const descriptionElement = (\n
\n

{scoreText} {attemptText}

\n

{`${moment.utc(completed_at).format('MMMM D, YYYY [at] h:mm a')} / ${timespent ? getTimeSpent(timespent) : NOT_APPLICABLE}`}

\n
\n )\n return \n })\n };\n\n function totalScoreOrNot() {\n const { percentage, sessions, } = data\n\n const hasScoreData = percentage !== null && sessions && sessions.length > 0\n if (hasScoreData && (!inStudentView || showExactScores)) {\n return displayScores()\n } else {\n return \n }\n };\n\n function scoringExplanation() {\n const { activity, activity_classification_id } = data\n const actClassId = activity ? activity.classification.id : activity_classification_id;\n if (Number(actClassId) === 4) {\n return \n }\n }\n\n function colorExplanation() {\n const { percentage, activity_classification_key, } = data\n\n if (percentage === null) { return }\n\n const cutOff = proficiencyCutoffsAsPercentage();\n\n const scoreForComparison = percentage * 100\n\n const isEvidenceActivity = activity_classification_key === EVIDENCE\n\n let header = 'Why Red?'\n let descriptionElements = isEvidenceActivity ?\n

You did not write a strong response within five revisions on any of the prompts.

:\n (\n \n

Rarely Demonstrated Skill

\n

{cutOff.nearlyProficient - 1} - 0% of prompts exhibit skill

\n
\n )\n\n if (scoreForComparison >= cutOff.proficient) {\n header = 'Why Green?'\n descriptionElements = isEvidenceActivity ?\n

Within five revisions, you wrote a strong response for all prompts.

:\n (\n \n

Frequently Demonstrated Skill

\n

100 - {cutOff.proficient}% of prompts exhibit skill

\n
\n )\n } else if (scoreForComparison >= cutOff.nearlyProficient) {\n header = 'Why Yellow?'\n descriptionElements = isEvidenceActivity ?\n

Within five revisions, you wrote a strong response for some, but not all, prompts.

:\n (\n \n

Sometimes Demonstrated Skill

\n

{cutOff.proficient - 1} - {cutOff.nearlyProficient}% of prompts exhibit skill

\n
\n )\n }\n\n const descriptionElement = (\n
\n {descriptionElements}\n
\n )\n return \n }\n\n function tooltipMessage() {\n if (inStudentView && !showExactScores) { return }\n\n let text = 'Clicking on the activity icon loads the report'\n\n if (inStudentView && showExactScores) {\n text = '*Your dashboard shows the highest score of all your attempts'\n }\n\n return (\n

{text}

\n )\n }\n\n const title = activity ? activity.name : name;\n return (\n
\n \n \n
\n {title}\n
\n
\n {activityOverview()}\n {keyTargetSkillConceptsOrExplanation()}\n {inStudentView ? colorExplanation() : null}\n {tooltipMessage()}\n
\n
\n )\n}\n\nexport default ScorebookTooltip\n","/* Timezones are borrowed from Google Calendar */\n\n// eslint-disable-next-line max-len\n// [...$0.children].map(el => ({ label: (el.getAttribute('aria-label')|| '').replace(/\\(.*?\\)(.+)/, '$1').trim(), name: el.getAttribute('data-value'), offset: +(el.getAttribute('aria-label')|| '').replace(/\\(.*?(-?[0-9]{2}):([0-9]{2})\\).*/, (all, one, two) => +one + (two / 60) * (one > 0 ? 1 : -1)) }))\n\nexport default [\n {\n label: 'Niue Time',\n name: 'Pacific/Niue',\n offset: '-11:00',\n },\n {\n label: 'Samoa Standard Time',\n name: 'Pacific/Pago_Pago',\n offset: '-11:00',\n },\n {\n label: 'Cook Islands Standard Time',\n name: 'Pacific/Rarotonga',\n offset: '-10:00',\n },\n {\n label: 'Hawaii-Aleutian Standard Time',\n name: 'Pacific/Honolulu',\n offset: '-10:00',\n },\n {\n label: 'Hawaii-Aleutian Time',\n name: 'America/Adak',\n offset: '-10:00',\n },\n {\n label: 'Tahiti Time',\n name: 'Pacific/Tahiti',\n offset: '-10:00',\n },\n {\n label: 'Marquesas Time',\n name: 'Pacific/Marquesas',\n offset: '-09:30',\n },\n {\n label: 'Alaska Time - Anchorage',\n name: 'America/Anchorage',\n offset: '-09:00',\n },\n {\n label: 'Alaska Time - Juneau',\n name: 'America/Juneau',\n offset: '-09:00',\n },\n {\n label: 'Alaska Time - Nome',\n name: 'America/Nome',\n offset: '-09:00',\n },\n {\n label: 'Alaska Time - Sitka',\n name: 'America/Sitka',\n offset: '-09:00',\n },\n {\n label: 'Alaska Time - Yakutat',\n name: 'America/Yakutat',\n offset: '-09:00',\n },\n {\n label: 'Gambier Time',\n name: 'Pacific/Gambier',\n offset: '-09:00',\n },\n {\n label: 'Pacific Time - Dawson',\n name: 'America/Dawson',\n offset: '-08:00',\n },\n {\n label: 'Pacific Time - Los Angeles',\n name: 'America/Los_Angeles',\n offset: '-08:00',\n },\n {\n label: 'Pacific Time - Metlakatla',\n name: 'America/Metlakatla',\n offset: '-08:00',\n },\n {\n label: 'Pacific Time - Tijuana',\n name: 'America/Tijuana',\n offset: '-08:00',\n },\n {\n label: 'Pacific Time - Vancouver',\n name: 'America/Vancouver',\n offset: '-08:00',\n },\n {\n label: 'Pacific Time - Whitehorse',\n name: 'America/Whitehorse',\n offset: '-08:00',\n },\n {\n label: 'Pitcairn Time',\n name: 'Pacific/Pitcairn',\n offset: '-08:00',\n },\n {\n label: 'Mexican Pacific Standard Time',\n name: 'America/Hermosillo',\n offset: '-07:00',\n },\n {\n label: 'Mexican Pacific Time - Chihuahua',\n name: 'America/Chihuahua',\n offset: '-07:00',\n },\n {\n label: 'Mexican Pacific Time - Mazatlan',\n name: 'America/Mazatlan',\n offset: '-07:00',\n },\n {\n label: 'Mountain Standard Time - Creston',\n name: 'America/Creston',\n offset: '-07:00',\n },\n {\n label: 'Mountain Standard Time - Dawson Creek',\n name: 'America/Dawson_Creek',\n offset: '-07:00',\n },\n {\n label: 'Mountain Standard Time - Fort Nelson',\n name: 'America/Fort_Nelson',\n offset: '-07:00',\n },\n {\n label: 'Mountain Standard Time - Phoenix',\n name: 'America/Phoenix',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Boise',\n name: 'America/Boise',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Cambridge Bay',\n name: 'America/Cambridge_Bay',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Denver',\n name: 'America/Denver',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Edmonton',\n name: 'America/Edmonton',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Inuvik',\n name: 'America/Inuvik',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Ojinaga',\n name: 'America/Ojinaga',\n offset: '-07:00',\n },\n {\n label: 'Mountain Time - Yellowknife',\n name: 'America/Yellowknife',\n offset: '-07:00',\n },\n {\n label: 'Central Standard Time - Belize',\n name: 'America/Belize',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - Costa Rica',\n name: 'America/Costa_Rica',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - El Salvador',\n name: 'America/El_Salvador',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - Guatemala',\n name: 'America/Guatemala',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - Managua',\n name: 'America/Managua',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - Regina',\n name: 'America/Regina',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - Swift Current',\n name: 'America/Swift_Current',\n offset: '-06:00',\n },\n {\n label: 'Central Standard Time - Tegucigalpa',\n name: 'America/Tegucigalpa',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Bahia Banderas',\n name: 'America/Bahia_Banderas',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Beulah, North Dakota',\n name: 'America/North_Dakota/Beulah',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Center, North Dakota',\n name: 'America/North_Dakota/Center',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Chicago',\n name: 'America/Chicago',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Knox, Indiana',\n name: 'America/Indiana/Knox',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Matamoros',\n name: 'America/Matamoros',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Menominee',\n name: 'America/Menominee',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Merida',\n name: 'America/Merida',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Mexico City',\n name: 'America/Mexico_City',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Monterrey',\n name: 'America/Monterrey',\n offset: '-06:00',\n },\n {\n label: 'Central Time - New Salem, North Dakota',\n name: 'America/North_Dakota/New_Salem',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Rainy River',\n name: 'America/Rainy_River',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Rankin Inlet',\n name: 'America/Rankin_Inlet',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Resolute',\n name: 'America/Resolute',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Tell City, Indiana',\n name: 'America/Indiana/Tell_City',\n offset: '-06:00',\n },\n {\n label: 'Central Time - Winnipeg',\n name: 'America/Winnipeg',\n offset: '-06:00',\n },\n {\n label: 'Galapagos Time',\n name: 'Pacific/Galapagos',\n offset: '-06:00',\n },\n {\n label: 'Acre Standard Time - Eirunepe',\n name: 'America/Eirunepe',\n offset: '-05:00',\n },\n {\n label: 'Acre Standard Time - Rio Branco',\n name: 'America/Rio_Branco',\n offset: '-05:00',\n },\n {\n label: 'Colombia Standard Time',\n name: 'America/Bogota',\n offset: '-05:00',\n },\n {\n label: 'Cuba Time',\n name: 'America/Havana',\n offset: '-05:00',\n },\n {\n label: 'Easter Island Time',\n name: 'Pacific/Easter',\n offset: '-05:00',\n },\n {\n label: 'Eastern Standard Time - Atikokan',\n name: 'America/Atikokan',\n offset: '-05:00',\n },\n {\n label: 'Eastern Standard Time - Cancun',\n name: 'America/Cancun',\n offset: '-05:00',\n },\n {\n label: 'Eastern Standard Time - Jamaica',\n name: 'America/Jamaica',\n offset: '-05:00',\n },\n {\n label: 'Eastern Standard Time - Panama',\n name: 'America/Panama',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Detroit',\n name: 'America/Detroit',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Grand Turk',\n name: 'America/Grand_Turk',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Indianapolis',\n name: 'America/Indiana/Indianapolis',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Iqaluit',\n name: 'America/Iqaluit',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Louisville',\n name: 'America/Kentucky/Louisville',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Marengo, Indiana',\n name: 'America/Indiana/Marengo',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Monticello, Kentucky',\n name: 'America/Kentucky/Monticello',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Nassau',\n name: 'America/Nassau',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - New York',\n name: 'America/New_York',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Nipigon',\n name: 'America/Nipigon',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Pangnirtung',\n name: 'America/Pangnirtung',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Petersburg, Indiana',\n name: 'America/Indiana/Petersburg',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Port-au-Prince',\n name: 'America/Port-au-Prince',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Thunder Bay',\n name: 'America/Thunder_Bay',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Toronto',\n name: 'America/Toronto',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Vevay, Indiana',\n name: 'America/Indiana/Vevay',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Vincennes, Indiana',\n name: 'America/Indiana/Vincennes',\n offset: '-05:00',\n },\n {\n label: 'Eastern Time - Winamac, Indiana',\n name: 'America/Indiana/Winamac',\n offset: '-05:00',\n },\n {\n label: 'Ecuador Time',\n name: 'America/Guayaquil',\n offset: '-05:00',\n },\n {\n label: 'Peru Standard Time',\n name: 'America/Lima',\n offset: '-05:00',\n },\n {\n label: 'Amazon Standard Time - Boa Vista',\n name: 'America/Boa_Vista',\n offset: '-04:00',\n },\n {\n label: 'Amazon Standard Time - Manaus',\n name: 'America/Manaus',\n offset: '-04:00',\n },\n {\n label: 'Amazon Standard Time - Porto Velho',\n name: 'America/Porto_Velho',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Barbados',\n name: 'America/Barbados',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Blanc-Sablon',\n name: 'America/Blanc-Sablon',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Curaçao',\n name: 'America/Curacao',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Martinique',\n name: 'America/Martinique',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Port of Spain',\n name: 'America/Port_of_Spain',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Puerto Rico',\n name: 'America/Puerto_Rico',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Standard Time - Santo Domingo',\n name: 'America/Santo_Domingo',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Time - Bermuda',\n name: 'Atlantic/Bermuda',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Time - Glace Bay',\n name: 'America/Glace_Bay',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Time - Goose Bay',\n name: 'America/Goose_Bay',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Time - Halifax',\n name: 'America/Halifax',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Time - Moncton',\n name: 'America/Moncton',\n offset: '-04:00',\n },\n {\n label: 'Atlantic Time - Thule',\n name: 'America/Thule',\n offset: '-04:00',\n },\n {\n label: 'Bolivia Time',\n name: 'America/La_Paz',\n offset: '-04:00',\n },\n {\n label: 'Guyana Time',\n name: 'America/Guyana',\n offset: '-04:00',\n },\n {\n label: 'Venezuela Time',\n name: 'America/Caracas',\n offset: '-04:00',\n },\n {\n label: 'Newfoundland Time',\n name: 'America/St_Johns',\n offset: '-03:30',\n },\n {\n label: 'Amazon Time (Campo Grande)',\n name: 'America/Campo_Grande',\n offset: '-03:00',\n },\n {\n label: 'Amazon Time (Cuiaba)',\n name: 'America/Cuiaba',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Buenos Aires',\n name: 'America/Argentina/Buenos_Aires',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Catamarca',\n name: 'America/Argentina/Catamarca',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Cordoba',\n name: 'America/Argentina/Cordoba',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Jujuy',\n name: 'America/Argentina/Jujuy',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - La Rioja',\n name: 'America/Argentina/La_Rioja',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Mendoza',\n name: 'America/Argentina/Mendoza',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Rio Gallegos',\n name: 'America/Argentina/Rio_Gallegos',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Salta',\n name: 'America/Argentina/Salta',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - San Juan',\n name: 'America/Argentina/San_Juan',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Tucuman',\n name: 'America/Argentina/Tucuman',\n offset: '-03:00',\n },\n {\n label: 'Argentina Standard Time - Ushuaia',\n name: 'America/Argentina/Ushuaia',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Araguaina',\n name: 'America/Araguaina',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Bahia',\n name: 'America/Bahia',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Belem',\n name: 'America/Belem',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Fortaleza',\n name: 'America/Fortaleza',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Maceio',\n name: 'America/Maceio',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Recife',\n name: 'America/Recife',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Standard Time - Santarem',\n name: 'America/Santarem',\n offset: '-03:00',\n },\n {\n label: 'Chile Time',\n name: 'America/Santiago',\n offset: '-03:00',\n },\n {\n label: 'Falkland Islands Standard Time',\n name: 'Atlantic/Stanley',\n offset: '-03:00',\n },\n {\n label: 'French Guiana Time',\n name: 'America/Cayenne',\n offset: '-03:00',\n },\n {\n label: 'Palmer Time',\n name: 'Antarctica/Palmer',\n offset: '-03:00',\n },\n {\n label: 'Paraguay Time',\n name: 'America/Asuncion',\n offset: '-03:00',\n },\n {\n label: 'Punta Arenas Time',\n name: 'America/Punta_Arenas',\n offset: '-03:00',\n },\n {\n label: 'Rothera Time',\n name: 'Antarctica/Rothera',\n offset: '-03:00',\n },\n {\n label: 'St. Pierre & Miquelon Time',\n name: 'America/Miquelon',\n offset: '-03:00',\n },\n {\n label: 'Suriname Time',\n name: 'America/Paramaribo',\n offset: '-03:00',\n },\n {\n label: 'Uruguay Standard Time',\n name: 'America/Montevideo',\n offset: '-03:00',\n },\n {\n label: 'West Greenland Time',\n name: 'America/Godthab',\n offset: '-03:00',\n },\n {\n label: 'Western Argentina Standard Time',\n name: 'America/Argentina/San_Luis',\n offset: '-03:00',\n },\n {\n label: 'Brasilia Time',\n name: 'America/Sao_Paulo',\n offset: '-02:00',\n },\n {\n label: 'Fernando de Noronha Standard Time',\n name: 'America/Noronha',\n offset: '-02:00',\n },\n {\n label: 'South Georgia Time',\n name: 'Atlantic/South_Georgia',\n offset: '-02:00',\n },\n {\n label: 'Azores Time',\n name: 'Atlantic/Azores',\n offset: '-01:00',\n },\n {\n label: 'Cape Verde Standard Time',\n name: 'Atlantic/Cape_Verde',\n offset: '-01:00',\n },\n {\n label: 'East Greenland Time',\n name: 'America/Scoresbysund',\n offset: '-01:00',\n },\n {\n label: 'Coordinated Universal Time',\n name: 'UTC',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time',\n name: 'Etc/GMT',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - Abidjan',\n name: 'Africa/Abidjan',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - Accra',\n name: 'Africa/Accra',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - Bissau',\n name: 'Africa/Bissau',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - Danmarkshavn',\n name: 'America/Danmarkshavn',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - Monrovia',\n name: 'Africa/Monrovia',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - Reykjavik',\n name: 'Atlantic/Reykjavik',\n offset: '+00:00',\n },\n {\n label: 'Greenwich Mean Time - São Tomé',\n name: 'Africa/Sao_Tome',\n offset: '+00:00',\n },\n {\n label: 'Ireland Time',\n name: 'Europe/Dublin',\n offset: '+00:00',\n },\n {\n label: 'Troll Time',\n name: 'Antarctica/Troll',\n offset: '+00:00',\n },\n {\n label: 'United Kingdom Time',\n name: 'Europe/London',\n offset: '+00:00',\n },\n {\n label: 'Western European Time - Canary',\n name: 'Atlantic/Canary',\n offset: '+00:00',\n },\n {\n label: 'Western European Time - Faroe',\n name: 'Atlantic/Faroe',\n offset: '+00:00',\n },\n {\n label: 'Western European Time - Lisbon',\n name: 'Europe/Lisbon',\n offset: '+00:00',\n },\n {\n label: 'Western European Time - Madeira',\n name: 'Atlantic/Madeira',\n offset: '+00:00',\n },\n {\n label: 'Central European Standard Time - Algiers',\n name: 'Africa/Algiers',\n offset: '+01:00',\n },\n {\n label: 'Central European Standard Time - Tunis',\n name: 'Africa/Tunis',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Amsterdam',\n name: 'Europe/Amsterdam',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Andorra',\n name: 'Europe/Andorra',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Belgrade',\n name: 'Europe/Belgrade',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Berlin',\n name: 'Europe/Berlin',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Brussels',\n name: 'Europe/Brussels',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Budapest',\n name: 'Europe/Budapest',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Ceuta',\n name: 'Africa/Ceuta',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Copenhagen',\n name: 'Europe/Copenhagen',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Gibraltar',\n name: 'Europe/Gibraltar',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Luxembourg',\n name: 'Europe/Luxembourg',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Madrid',\n name: 'Europe/Madrid',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Malta',\n name: 'Europe/Malta',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Monaco',\n name: 'Europe/Monaco',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Oslo',\n name: 'Europe/Oslo',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Paris',\n name: 'Europe/Paris',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Prague',\n name: 'Europe/Prague',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Rome',\n name: 'Europe/Rome',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Stockholm',\n name: 'Europe/Stockholm',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Tirane',\n name: 'Europe/Tirane',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Vienna',\n name: 'Europe/Vienna',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Warsaw',\n name: 'Europe/Warsaw',\n offset: '+01:00',\n },\n {\n label: 'Central European Time - Zurich',\n name: 'Europe/Zurich',\n offset: '+01:00',\n },\n {\n label: 'Morocco Time',\n name: 'Africa/Casablanca',\n offset: '+01:00',\n },\n {\n label: 'West Africa Standard Time - Lagos',\n name: 'Africa/Lagos',\n offset: '+01:00',\n },\n {\n label: 'West Africa Standard Time - Ndjamena',\n name: 'Africa/Ndjamena',\n offset: '+01:00',\n },\n {\n label: 'Western Sahara Time',\n name: 'Africa/El_Aaiun',\n offset: '+01:00',\n },\n {\n label: 'Central Africa Time - Khartoum',\n name: 'Africa/Khartoum',\n offset: '+02:00',\n },\n {\n label: 'Central Africa Time - Maputo',\n name: 'Africa/Maputo',\n offset: '+02:00',\n },\n {\n label: 'Central Africa Time - Windhoek',\n name: 'Africa/Windhoek',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Standard Time - Cairo',\n name: 'Africa/Cairo',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Standard Time - Kaliningrad',\n name: 'Europe/Kaliningrad',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Standard Time - Tripoli',\n name: 'Africa/Tripoli',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Amman',\n name: 'Asia/Amman',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Athens',\n name: 'Europe/Athens',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Beirut',\n name: 'Asia/Beirut',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Bucharest',\n name: 'Europe/Bucharest',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Chisinau',\n name: 'Europe/Chisinau',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Damascus',\n name: 'Asia/Damascus',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Gaza',\n name: 'Asia/Gaza',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Hebron',\n name: 'Asia/Hebron',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Helsinki',\n name: 'Europe/Helsinki',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Kiev',\n name: 'Europe/Kiev',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Nicosia',\n name: 'Asia/Nicosia',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Riga',\n name: 'Europe/Riga',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Sofia',\n name: 'Europe/Sofia',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Tallinn',\n name: 'Europe/Tallinn',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Uzhhorod',\n name: 'Europe/Uzhgorod',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Vilnius',\n name: 'Europe/Vilnius',\n offset: '+02:00',\n },\n {\n label: 'Eastern European Time - Zaporozhye',\n name: 'Europe/Zaporozhye',\n offset: '+02:00',\n },\n {\n label: 'Famagusta Time',\n name: 'Asia/Famagusta',\n offset: '+02:00',\n },\n {\n label: 'Israel Time',\n name: 'Asia/Jerusalem',\n offset: '+02:00',\n },\n {\n label: 'South Africa Standard Time',\n name: 'Africa/Johannesburg',\n offset: '+02:00',\n },\n {\n label: 'Arabian Standard Time - Baghdad',\n name: 'Asia/Baghdad',\n offset: '+03:00',\n },\n {\n label: 'Arabian Standard Time - Qatar',\n name: 'Asia/Qatar',\n offset: '+03:00',\n },\n {\n label: 'Arabian Standard Time - Riyadh',\n name: 'Asia/Riyadh',\n offset: '+03:00',\n },\n {\n label: 'East Africa Time - Juba',\n name: 'Africa/Juba',\n offset: '+03:00',\n },\n {\n label: 'East Africa Time - Nairobi',\n name: 'Africa/Nairobi',\n offset: '+03:00',\n },\n {\n label: 'Kirov Time',\n name: 'Europe/Kirov',\n offset: '+03:00',\n },\n {\n label: 'Moscow Standard Time - Minsk',\n name: 'Europe/Minsk',\n offset: '+03:00',\n },\n {\n label: 'Moscow Standard Time - Moscow',\n name: 'Europe/Moscow',\n offset: '+03:00',\n },\n {\n label: 'Moscow Standard Time - Simferopol',\n name: 'Europe/Simferopol',\n offset: '+03:00',\n },\n {\n label: 'Syowa Time',\n name: 'Antarctica/Syowa',\n offset: '+03:00',\n },\n {\n label: 'Turkey Time',\n name: 'Europe/Istanbul',\n offset: '+03:00',\n },\n {\n label: 'Iran Time',\n name: 'Asia/Tehran',\n offset: '+03:30',\n },\n {\n label: 'Armenia Standard Time',\n name: 'Asia/Yerevan',\n offset: '+04:00',\n },\n {\n label: 'Astrakhan Time',\n name: 'Europe/Astrakhan',\n offset: '+04:00',\n },\n {\n label: 'Azerbaijan Standard Time',\n name: 'Asia/Baku',\n offset: '+04:00',\n },\n {\n label: 'Georgia Standard Time',\n name: 'Asia/Tbilisi',\n offset: '+04:00',\n },\n {\n label: 'Gulf Standard Time',\n name: 'Asia/Dubai',\n offset: '+04:00',\n },\n {\n label: 'Mauritius Standard Time',\n name: 'Indian/Mauritius',\n offset: '+04:00',\n },\n {\n label: 'Réunion Time',\n name: 'Indian/Reunion',\n offset: '+04:00',\n },\n {\n label: 'Samara Standard Time',\n name: 'Europe/Samara',\n offset: '+04:00',\n },\n {\n label: 'Saratov Time',\n name: 'Europe/Saratov',\n offset: '+04:00',\n },\n {\n label: 'Seychelles Time',\n name: 'Indian/Mahe',\n offset: '+04:00',\n },\n {\n label: 'Ulyanovsk Time',\n name: 'Europe/Ulyanovsk',\n offset: '+04:00',\n },\n {\n label: 'Volgograd Standard Time',\n name: 'Europe/Volgograd',\n offset: '+04:00',\n },\n {\n label: 'Afghanistan Time',\n name: 'Asia/Kabul',\n offset: '+04:30',\n },\n {\n label: 'French Southern & Antarctic Time',\n name: 'Indian/Kerguelen',\n offset: '+05:00',\n },\n {\n label: 'Maldives Time',\n name: 'Indian/Maldives',\n offset: '+05:00',\n },\n {\n label: 'Mawson Time',\n name: 'Antarctica/Mawson',\n offset: '+05:00',\n },\n {\n label: 'Pakistan Standard Time',\n name: 'Asia/Karachi',\n offset: '+05:00',\n },\n {\n label: 'Tajikistan Time',\n name: 'Asia/Dushanbe',\n offset: '+05:00',\n },\n {\n label: 'Turkmenistan Standard Time',\n name: 'Asia/Ashgabat',\n offset: '+05:00',\n },\n {\n label: 'Uzbekistan Standard Time - Samarkand',\n name: 'Asia/Samarkand',\n offset: '+05:00',\n },\n {\n label: 'Uzbekistan Standard Time - Tashkent',\n name: 'Asia/Tashkent',\n offset: '+05:00',\n },\n {\n label: 'West Kazakhstan Time - Aqtau',\n name: 'Asia/Aqtau',\n offset: '+05:00',\n },\n {\n label: 'West Kazakhstan Time - Aqtobe',\n name: 'Asia/Aqtobe',\n offset: '+05:00',\n },\n {\n label: 'West Kazakhstan Time - Atyrau',\n name: 'Asia/Atyrau',\n offset: '+05:00',\n },\n {\n label: 'West Kazakhstan Time - Oral',\n name: 'Asia/Oral',\n offset: '+05:00',\n },\n {\n label: 'West Kazakhstan Time - Qyzylorda',\n name: 'Asia/Qyzylorda',\n offset: '+05:00',\n },\n {\n label: 'Yekaterinburg Standard Time',\n name: 'Asia/Yekaterinburg',\n offset: '+05:00',\n },\n {\n label: 'India Standard Time - Colombo',\n name: 'Asia/Colombo',\n offset: '+05:30',\n },\n {\n label: 'India Standard Time - Kolkata',\n name: 'Asia/Kolkata',\n offset: '+05:30',\n },\n {\n label: 'Nepal Time',\n name: 'Asia/Kathmandu',\n offset: '+05:45',\n },\n {\n label: 'Bangladesh Standard Time',\n name: 'Asia/Dhaka',\n offset: '+06:00',\n },\n {\n label: 'Bhutan Time',\n name: 'Asia/Thimphu',\n offset: '+06:00',\n },\n {\n label: 'East Kazakhstan Time - Almaty',\n name: 'Asia/Almaty',\n offset: '+06:00',\n },\n {\n label: 'East Kazakhstan Time - Qostanay',\n name: 'Asia/Qostanay',\n offset: '+06:00',\n },\n {\n label: 'Indian Ocean Time',\n name: 'Indian/Chagos',\n offset: '+06:00',\n },\n {\n label: 'Kyrgyzstan Time',\n name: 'Asia/Bishkek',\n offset: '+06:00',\n },\n {\n label: 'Omsk Standard Time',\n name: 'Asia/Omsk',\n offset: '+06:00',\n },\n {\n label: 'Urumqi Time',\n name: 'Asia/Urumqi',\n offset: '+06:00',\n },\n {\n label: 'Vostok Time',\n name: 'Antarctica/Vostok',\n offset: '+06:00',\n },\n {\n label: 'Cocos Islands Time',\n name: 'Indian/Cocos',\n offset: '+06:30',\n },\n {\n label: 'Myanmar Time',\n name: 'Asia/Yangon',\n offset: '+06:30',\n },\n {\n label: 'Barnaul Time',\n name: 'Asia/Barnaul',\n offset: '+07:00',\n },\n {\n label: 'Christmas Island Time',\n name: 'Indian/Christmas',\n offset: '+07:00',\n },\n {\n label: 'Davis Time',\n name: 'Antarctica/Davis',\n offset: '+07:00',\n },\n {\n label: 'Hovd Standard Time',\n name: 'Asia/Hovd',\n offset: '+07:00',\n },\n {\n label: 'Indochina Time - Bangkok',\n name: 'Asia/Bangkok',\n offset: '+07:00',\n },\n {\n label: 'Indochina Time - Ho Chi Minh City',\n name: 'Asia/Ho_Chi_Minh',\n offset: '+07:00',\n },\n {\n label: 'Krasnoyarsk Standard Time - Krasnoyarsk',\n name: 'Asia/Krasnoyarsk',\n offset: '+07:00',\n },\n {\n label: 'Krasnoyarsk Standard Time - Novokuznetsk',\n name: 'Asia/Novokuznetsk',\n offset: '+07:00',\n },\n {\n label: 'Novosibirsk Standard Time',\n name: 'Asia/Novosibirsk',\n offset: '+07:00',\n },\n {\n label: 'Tomsk Time',\n name: 'Asia/Tomsk',\n offset: '+07:00',\n },\n {\n label: 'Western Indonesia Time - Jakarta',\n name: 'Asia/Jakarta',\n offset: '+07:00',\n },\n {\n label: 'Western Indonesia Time - Pontianak',\n name: 'Asia/Pontianak',\n offset: '+07:00',\n },\n {\n label: 'Australian Western Standard Time - Casey',\n name: 'Antarctica/Casey',\n offset: '+08:00',\n },\n {\n label: 'Australian Western Standard Time - Perth',\n name: 'Australia/Perth',\n offset: '+08:00',\n },\n {\n label: 'Brunei Darussalam Time',\n name: 'Asia/Brunei',\n offset: '+08:00',\n },\n {\n label: 'Central Indonesia Time',\n name: 'Asia/Makassar',\n offset: '+08:00',\n },\n {\n label: 'China Standard Time - Macau',\n name: 'Asia/Macau',\n offset: '+08:00',\n },\n {\n label: 'China Standard Time - Shanghai',\n name: 'Asia/Shanghai',\n offset: '+08:00',\n },\n {\n label: 'Choibalsan Standard Time',\n name: 'Asia/Choibalsan',\n offset: '+08:00',\n },\n {\n label: 'Hong Kong Standard Time',\n name: 'Asia/Hong_Kong',\n offset: '+08:00',\n },\n {\n label: 'Irkutsk Standard Time',\n name: 'Asia/Irkutsk',\n offset: '+08:00',\n },\n {\n label: 'Malaysia Time - Kuala Lumpur',\n name: 'Asia/Kuala_Lumpur',\n offset: '+08:00',\n },\n {\n label: 'Malaysia Time - Kuching',\n name: 'Asia/Kuching',\n offset: '+08:00',\n },\n {\n label: 'Philippine Standard Time',\n name: 'Asia/Manila',\n offset: '+8:00',\n },\n {\n label: 'Singapore Standard Time',\n name: 'Asia/Singapore',\n offset: '+8:00',\n },\n {\n label: 'Taipei Standard Time',\n name: 'Asia/Taipei',\n offset: '+8:00',\n },\n {\n label: 'Ulaanbaatar Standard Time',\n name: 'Asia/Ulaanbaatar',\n offset: '+8:00',\n },\n {\n label: 'Australian Central Western Standard Time',\n name: 'Australia/Eucla',\n offset: '+8:45',\n },\n {\n label: 'East Timor Time',\n name: 'Asia/Dili',\n offset: '+09:00',\n },\n {\n label: 'Eastern Indonesia Time',\n name: 'Asia/Jayapura',\n offset: '+09:00',\n },\n {\n label: 'Japan Standard Time',\n name: 'Asia/Tokyo',\n offset: '+09:00',\n },\n {\n label: 'Korean Standard Time - Pyongyang',\n name: 'Asia/Pyongyang',\n offset: '+09:00',\n },\n {\n label: 'Korean Standard Time - Seoul',\n name: 'Asia/Seoul',\n offset: '+09:00',\n },\n {\n label: 'Palau Time',\n name: 'Pacific/Palau',\n offset: '+09:00',\n },\n {\n label: 'Yakutsk Standard Time - Chita',\n name: 'Asia/Chita',\n offset: '+09:00',\n },\n {\n label: 'Yakutsk Standard Time - Khandyga',\n name: 'Asia/Khandyga',\n offset: '+09:00',\n },\n {\n label: 'Yakutsk Standard Time - Yakutsk',\n name: 'Asia/Yakutsk',\n offset: '+09:00',\n },\n {\n label: 'Australian Central Standard Time',\n name: 'Australia/Darwin',\n offset: '+09:30',\n },\n {\n label: 'Australian Eastern Standard Time - Brisbane',\n name: 'Australia/Brisbane',\n offset: '+10:00',\n },\n {\n label: 'Australian Eastern Standard Time - Lindeman',\n name: 'Australia/Lindeman',\n offset: '+10:00',\n },\n {\n label: 'Chamorro Standard Time',\n name: 'Pacific/Guam',\n offset: '+10:00',\n },\n {\n label: 'Chuuk Time',\n name: 'Pacific/Chuuk',\n offset: '+10:00',\n },\n {\n label: 'Dumont-d’Urville Time',\n name: 'Antarctica/DumontDUrville',\n offset: '+10:00',\n },\n {\n label: 'Papua New Guinea Time',\n name: 'Pacific/Port_Moresby',\n offset: '+10:00',\n },\n {\n label: 'Vladivostok Standard Time - Ust-Nera',\n name: 'Asia/Ust-Nera',\n offset: '+10:00',\n },\n {\n label: 'Vladivostok Standard Time - Vladivostok',\n name: 'Asia/Vladivostok',\n offset: '+10:00',\n },\n {\n label: 'Central Australia Time - Adelaide',\n name: 'Australia/Adelaide',\n offset: '+10:30',\n },\n {\n label: 'Central Australia Time - Broken Hill',\n name: 'Australia/Broken_Hill',\n offset: '+10:30',\n },\n {\n label: 'Bougainville Time',\n name: 'Pacific/Bougainville',\n offset: '+11:00',\n },\n {\n label: 'Eastern Australia Time - Currie',\n name: 'Australia/Currie',\n offset: '+11:00',\n },\n {\n label: 'Eastern Australia Time - Hobart',\n name: 'Australia/Hobart',\n offset: '+11:00',\n },\n {\n label: 'Eastern Australia Time - Melbourne',\n name: 'Australia/Melbourne',\n offset: '+11:00',\n },\n {\n label: 'Eastern Australia Time - Sydney',\n name: 'Australia/Sydney',\n offset: '+11:00',\n },\n {\n label: 'Kosrae Time',\n name: 'Pacific/Kosrae',\n offset: '+11:00',\n },\n {\n label: 'Lord Howe Time',\n name: 'Australia/Lord_Howe',\n offset: '+11:00',\n },\n {\n label: 'Macquarie Island Time',\n name: 'Antarctica/Macquarie',\n offset: '+11:00',\n },\n {\n label: 'Magadan Standard Time',\n name: 'Asia/Magadan',\n offset: '+11:00',\n },\n {\n label: 'New Caledonia Standard Time',\n name: 'Pacific/Noumea',\n offset: '+11:00',\n },\n {\n label: 'Norfolk Island Time',\n name: 'Pacific/Norfolk',\n offset: '+11:00',\n },\n {\n label: 'Ponape Time',\n name: 'Pacific/Pohnpei',\n offset: '+11:00',\n },\n {\n label: 'Sakhalin Standard Time',\n name: 'Asia/Sakhalin',\n offset: '+11:00',\n },\n {\n label: 'Solomon Islands Time',\n name: 'Pacific/Guadalcanal',\n offset: '+11:00',\n },\n {\n label: 'Srednekolymsk Time',\n name: 'Asia/Srednekolymsk',\n offset: '+11:00',\n },\n {\n label: 'Vanuatu Standard Time',\n name: 'Pacific/Efate',\n offset: '+11:00',\n },\n {\n label: 'Anadyr Standard Time',\n name: 'Asia/Anadyr',\n offset: '+12:00',\n },\n {\n label: 'Fiji Time',\n name: 'Pacific/Fiji',\n offset: '+12:00',\n },\n {\n label: 'Gilbert Islands Time',\n name: 'Pacific/Tarawa',\n offset: '+12:00',\n },\n {\n label: 'Marshall Islands Time - Kwajalein',\n name: 'Pacific/Kwajalein',\n offset: '+12:00',\n },\n {\n label: 'Marshall Islands Time - Majuro',\n name: 'Pacific/Majuro',\n offset: '+12:00',\n },\n {\n label: 'Nauru Time',\n name: 'Pacific/Nauru',\n offset: '+12:00',\n },\n {\n label: 'Petropavlovsk-Kamchatski Standard Time',\n name: 'Asia/Kamchatka',\n offset: '+12:00',\n },\n {\n label: 'Tuvalu Time',\n name: 'Pacific/Funafuti',\n offset: '+12:00',\n },\n {\n label: 'Wake Island Time',\n name: 'Pacific/Wake',\n offset: '+12:00',\n },\n {\n label: 'Wallis & Futuna Time',\n name: 'Pacific/Wallis',\n offset: '+12:00',\n },\n {\n label: 'New Zealand Time',\n name: 'Pacific/Auckland',\n offset: '+13:00',\n },\n {\n label: 'Phoenix Islands Time',\n name: 'Pacific/Enderbury',\n offset: '+13:00',\n },\n {\n label: 'Tokelau Time',\n name: 'Pacific/Fakaofo',\n offset: '+13:00',\n },\n {\n label: 'Tonga Standard Time',\n name: 'Pacific/Tongatapu',\n offset: '+13:00',\n },\n {\n label: 'Chatham Time',\n name: 'Pacific/Chatham',\n offset: '+13:45',\n },\n {\n label: 'Apia Time',\n name: 'Pacific/Apia',\n offset: '+14:00',\n },\n {\n label: 'Line Islands Time',\n name: 'Pacific/Kiritimati',\n offset: '+14:00',\n },\n];\n","import timezones from '../../../../../modules/timezones'\n\nexport const timeZoneOptions = timezones.map((tz) => {\n const newTz = tz\n newTz.label = `(GMT${tz.offset}) ${tz.label}`\n return newTz\n}).concat({ label: 'None selected', value: null, name: null, })\n","import React, { Component } from 'react';\n\nimport { Input, } from '../../../../Shared/index';\nimport PasswordWrapper from '../shared/password_wrapper';\n\nexport default class UpdatePassword extends Component {\n state = {\n currentPassword: '',\n newPassword: '',\n showButtonSection: false\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { active, } = this.props\n if (active && !nextProps.active) {\n this.reset();\n }\n }\n\n onCurrentPasswordChange = (e) => this.handleChange('currentPassword', e)\n\n onNewPasswordChange = (e) => this.handleChange('newPassword', e)\n\n handleChange = (field, e) => {\n this.setState({ [field]: e.target.value, });\n }\n\n handleClickCancel = () => {\n const { deactivateSection, } = this.props\n this.reset();\n deactivateSection();\n }\n\n handleClickChangePassword = (e) => {\n const { showButtonSection, } = this.state\n const { active, activateSection, isBeingPreviewed, } = this.props;\n if (isBeingPreviewed || active || showButtonSection ) { return }\n\n this.setState({ showButtonSection: true, });\n activateSection();\n }\n\n handleSubmit = (e) => {\n const { currentPassword, newPassword, } = this.state;\n const { updateUser, role } = this.props;\n const url = role === 'teacher' ? '/teachers/update_my_password' : '/students/update_password';\n e.preventDefault()\n const data = {\n current_password: currentPassword,\n new_password: newPassword\n };\n updateUser(data, url, 'Settings saved');\n }\n\n reset = () => {\n this.setState({\n currentPassword: '',\n newPassword: ''\n });\n }\n\n submitClass = () => {\n const { currentPassword, newPassword, } = this.state\n let buttonClass = 'quill-button-archived contained primary medium focus-on-light';\n if (!(currentPassword.length && newPassword.length)) {\n buttonClass += ' disabled';\n }\n return buttonClass;\n }\n\n renderButtonSection = () => {\n const { showButtonSection, } = this.state\n if (showButtonSection) {\n return (\n
\n \n \n
\n )\n }\n }\n\n renderContent = () => {\n const { currentPassword, newPassword, } = this.state\n const { errors, active, timesSubmitted, googleId, cleverId, role,} = this.props;\n const accountType = googleId ? 'Google' : 'Clever';\n const teacherScript = `Before you can create a password, you will need to unlink your ${accountType} account below.`;\n const studentScript = `Your Quill account is linked to ${accountType}. Go to your ${accountType} account settings to change your password.`;\n if (active) {\n return (\n
\n
\n \n \n
\n {this.renderButtonSection()}\n
\n )\n } else if (googleId || cleverId) {\n return (\n

{role === 'teacher' ? teacherScript : studentScript}

\n )\n } else {\n return (\n
\n \n \n
\n )\n }\n }\n\n render() {\n return (\n
\n

Password

\n {this.renderContent()}\n
\n )\n }\n}\n","import * as React from 'react';\n\nimport { requestPost } from '../../../modules/request/index';\nimport { TextArea } from '../../Shared/index';\n\nconst StudentFeedbackModal = ({ question, gradeLevels, }) => {\n const [response, setResponse] = React.useState('')\n const [submitting, setSubmitting] = React.useState(false)\n\n function updateResponse(e) {\n setResponse(e.target.value)\n }\n\n function cancel(e) {\n e.preventDefault()\n document.getElementById('student-feedback-modal-component').style.display = 'none'\n setResponse('')\n }\n\n function handleClickSave(e) {\n e.preventDefault()\n if (submitting) { return }\n\n setSubmitting(true)\n requestPost('/student_feedback_responses', { student_feedback_response: { question, response, grade_levels: gradeLevels } }, () => {\n document.getElementById('student-feedback-modal-component').style.display = 'none'\n document.cookie = `student_feedback_banner_1_closed=1; path=/`;\n document.getElementById('student-feedback-banner').style.display = 'none';\n setResponse('')\n })\n }\n\n let saveButtonClass = 'quill-button-archived contained primary medium focus-on-light';\n if (!response.length || submitting) {\n saveButtonClass += ' disabled';\n }\n\n return (\n
\n
\n
\n

{question}

\n

Please help us to improve Quill by typing your response below. Your response won't be made public.

\n
\n \n
\n \n \n
\n \n
\n
\n )\n}\n\nexport default StudentFeedbackModal\n","import * as React from 'react';\n\nconst avatarSrc = `${window.postbuildEnv.CDN_URL}/images/icons/avatar.svg`\nconst menuSrc = `${window.postbuildEnv.CDN_URL}/images/icons/menu.svg`\nconst closeSrc = `${window.postbuildEnv.CDN_URL}/images/icons/close-white.svg`\n\ninterface StudentNavbarItemsProps {\n name: string;\n}\n\ninterface StudentNavbarItemsState {\n isOpen: boolean;\n cursor: null|number;\n}\n\nconst MAX_VIEW_WIDTH_FOR_MOBILE = 895\nconst MAXIMUM_NAME_LENGTH = 27\nconst TAB = 'Tab'\nconst ARROWDOWN = 'ArrowDown'\nconst ARROWUP = 'ArrowUp'\nconst MOUSEDOWN = 'mousedown'\nconst KEYDOWN = 'keydown'\n\nexport default class StudentNavbarItems extends React.Component {\n private dropdownContainer: any // eslint-disable-line react/sort-comp\n\n constructor(props) {\n super(props)\n\n this.state = {\n isOpen: false,\n cursor: null\n }\n }\n\n componentDidMount() {\n document.addEventListener(MOUSEDOWN, this.handleClickOutsideDropdown, false)\n document.addEventListener(KEYDOWN, this.handleKeyDown, false)\n }\n\n componentWillUnmount() {\n document.removeEventListener(MOUSEDOWN, this.handleClickOutsideDropdown, false)\n document.removeEventListener(KEYDOWN, this.handleKeyDown, false)\n }\n\n onMobile = () => window.innerWidth <= MAX_VIEW_WIDTH_FOR_MOBILE\n\n links = () => {\n const desktopLinks = [\n Settings,\n Logout\n ]\n const mobileLinks = [\n Classes,\n Resources\n ]\n\n if (this.onMobile()) {\n return mobileLinks.concat(desktopLinks)\n }\n\n return desktopLinks\n }\n\n updateFocusedLink = () => {\n const { cursor, } = this.state\n const focusedLink = this.links()[cursor]\n\n const element = document.getElementById(focusedLink.key)\n element.focus()\n }\n\n dropdownContainerRef = (node) => this.dropdownContainer = node\n\n handleClickOutsideDropdown = (e) => {\n if (!this.onMobile() && this.dropdownContainer && !this.dropdownContainer.contains(e.target)) {\n this.setState({ isOpen: false, })\n }\n }\n\n handleKeyDown = (e) => {\n const { cursor, } = this.state\n\n const inactiveNode = !(this.dropdownContainer && this.dropdownContainer.contains(e.target))\n const keyWasNotTab = e.key !== TAB\n\n if (inactiveNode && keyWasNotTab) { return }\n\n switch (e.key) {\n case ARROWDOWN:\n e.preventDefault()\n if (cursor < this.links().length - 1) {\n this.setState(prevState => {\n if (prevState.cursor !== null) {\n return { cursor: prevState.cursor + 1 }\n }\n return { cursor: 0 }\n }, this.updateFocusedLink)\n } else if (cursor === null && this.links().length === 1) {\n this.setState({ cursor: 0 }, this.updateFocusedLink)\n } else {\n this.updateFocusedLink()\n }\n break\n case ARROWUP:\n e.preventDefault()\n this.setState(prevState => ({ cursor: Math.max(prevState.cursor - 1, 0) }), this.updateFocusedLink)\n break\n case TAB:\n this.setState({ isOpen: false, })\n break\n default:\n break\n }\n }\n\n handleOpenToggle = () => {\n this.setState(prevState => ({ isOpen: !prevState.isOpen }))\n }\n\n renderDropdown() {\n const { isOpen, } = this.state\n\n if (!isOpen) { return }\n\n return (\n
\n {this.links()}\n
\n )\n }\n\n renderMobileMenu() {\n const { isOpen, } = this.state\n\n if (!isOpen) { return }\n\n return (\n
\n {this.links()}\n
\n )\n }\n\n renderDesktopNavbar = () => {\n const { isOpen, } = this.state\n const { name, } = this.props\n const displayedName = name.length > MAXIMUM_NAME_LENGTH ? `${name.substring(0, MAXIMUM_NAME_LENGTH)}...`: name\n const dropdownIndicatorClass = isOpen ? \"dropdown-indicator rotated\" : \"dropdown-indicator\"\n return (\n
\n Classes\n Resources\n
\n \n {this.renderDropdown()}\n
\n
\n )\n }\n\n renderMobileNavbar = () => {\n const { isOpen, } = this.state\n const img = isOpen ? \"Close : \"Menu\n const text = isOpen ? 'Close' : 'Menu'\n return (\n
\n \n {this.renderMobileMenu()}\n
\n )\n }\n\n\n render() {\n return (\n
\n {this.renderDesktopNavbar()}\n {this.renderMobileNavbar()}\n
\n )\n }\n}\n","import * as React from 'react'\n\nimport StudentNavbarItems from '../components/studentNavbarItems.tsx'\n\nconst StudentNavbarItemsAppClient = ({ name }) => \n\nexport default StudentNavbarItemsAppClient\n"],"names":["DataTableChip","color","icon","label","link","onClick","React.createElement","findFeedbackForReport","attemptNum","conceptsByAttempt","currentAttempt","nextAttempt","findFeedbackInAttempt","_a","attempt","conceptResultWithLastFeedbackOrDirections","cr","formatAnswerStringForReport","answer","previousAnswer","showDiff","answerString","diffWords","word","key","copyImage","copyIcon","DUE_DATE_DEFAULT_TEXT","PUBLISH_DATE_DEFAULT_TEXT","INVALID_DATES_SNACKBAR_COPY","formatDateTimeForDisplay","datetime","CopyToAllButton","handleClickCopyToAll","DatetimeInput","props","defaultText","DatePickerContainer","initialValue","closeFunction","today","todayAtNineInUTC","Datetime","getTimeSpent","seconds","hours","minutes","hoursText","minuteText","renderTooltipRow","id","headerWidth","style","dataTableChip","Tooltip","proficiencyCutoffsAsPercentage","proficiency_cutoffs","ActivityDetailsSection","customClass","header","description","descriptionElement","containerClassName","ActivityDetails","data","getClassName","sessions","detailOrNot","activity_description","dueDate","publishDate","scheduled","unitActivityCreatedAt","publishDateForDisplay","objectiveSection","publishDateSection","moment","dueDateSection","NOT_APPLICABLE","KeyTargetSkillConcept","name","correct","incorrect","shouldShowCounts","counts","KeyTargetSkillConcepts","groupedKeyTargetSkillConcepts","statsRow","PercentageDisplayer","value","ORDINAL_NUMBERS","QUILL_DIAGNOSTIC_SCORING_EXPLANATION","percentageDisplayer","ScorebookTooltip","inStudentView","showExactScores","tooltipRef","React.useRef","tooltipStyle","setTooltipStyle","React.useState","caretStyle","setCaretStyle","size","useWindowSize","React.useEffect","tooltipRect","viewportWidth","right","left","marked_complete","completed_attempts","locked","started","activity","activity_classification_key","activityOverview","totalScoreOrNot","scoringExplanation","keyTargetSkillConceptsOrExplanation","Spinner","displayScores","attemptInProgress","session","i","percentage","number_of_correct_questions","number_of_questions","completed_at","timespent","is_final_score","ordinalNumber","numberSuffixBuilder","formattedPercentage","scoreText","sessionLength","attemptText","nextNumber","activity_classification_id","actClassId","colorExplanation","cutOff","scoreForComparison","isEvidenceActivity","EVIDENCE","descriptionElements","React.Fragment","tooltipMessage","text","title","timezones","timeZoneOptions","tz","newTz","UpdatePassword","Component","e","field","deactivateSection","showButtonSection","active","activateSection","isBeingPreviewed","currentPassword","newPassword","updateUser","role","url","buttonClass","React","errors","timesSubmitted","googleId","cleverId","accountType","teacherScript","studentScript","PasswordWrapper","Input","nextProps","StudentFeedbackModal","question","gradeLevels","response","setResponse","submitting","setSubmitting","updateResponse","cancel","handleClickSave","requestPost","saveButtonClass","TextArea","menuSrc","closeSrc","MAX_VIEW_WIDTH_FOR_MOBILE","MAXIMUM_NAME_LENGTH","TAB","ARROWDOWN","ARROWUP","MOUSEDOWN","KEYDOWN","StudentNavbarItems","React.Component","desktopLinks","mobileLinks","cursor","focusedLink","node","inactiveNode","keyWasNotTab","prevState","isOpen","displayedName","dropdownIndicatorClass","img","StudentNavbarItemsAppClient"],"mappings":"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CV,EACA,CACE,MAAO,iBACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,gBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,wCACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,uCACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,wBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,wCACP,KAAM,wBACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,yBACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,8BACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,8BACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,iCACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,iBACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,YACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,+BACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,8BACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,0BACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,8BACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,6BACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,yBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,wBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,0BACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,wCACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,wBACN,OAAQ,QACV,EACA,CACE,MAAO,uCACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,wBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,iBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,oBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,iCACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,8BACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,0BACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,6BACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,iCACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,0BACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,6BACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,gBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,oBACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,gBACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,6BACN,OAAQ,QACV,EACA,CACE,MAAO,gBACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,yBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,MACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,UACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,2CACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,uCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,+CACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,2CACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,YACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,iBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,YACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,iBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,YACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,kBACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,iBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,mBACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,gBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,kBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,6BACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,uCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,sCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,YACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,oBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,kBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,YACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,YACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,0CACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,2CACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,4BACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,2CACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,2CACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,0BACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,2BACP,KAAM,cACN,OAAQ,OACV,EACA,CACE,MAAO,0BACP,KAAM,iBACN,OAAQ,OACV,EACA,CACE,MAAO,uBACP,KAAM,cACN,OAAQ,OACV,EACA,CACE,MAAO,4BACP,KAAM,mBACN,OAAQ,OACV,EACA,CACE,MAAO,2CACP,KAAM,kBACN,OAAQ,OACV,EACA,CACE,MAAO,kBACP,KAAM,YACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,+BACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,gCACP,KAAM,aACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,mCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,8CACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,8CACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,4BACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,uCACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,0CACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,uCACP,KAAM,wBACN,OAAQ,QACV,EACA,CACE,MAAO,oBACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,qCACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,kCACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,iBACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,uBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,8BACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,yBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,sBACN,OAAQ,QACV,EACA,CACE,MAAO,qBACP,KAAM,qBACN,OAAQ,QACV,EACA,CACE,MAAO,wBACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,cACN,OAAQ,QACV,EACA,CACE,MAAO,YACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,oCACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,iCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,aACP,KAAM,gBACN,OAAQ,QACV,EACA,CACE,MAAO,yCACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,cACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,mBACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,iBACN,OAAQ,QACV,EACA,CACE,MAAO,mBACP,KAAM,mBACN,OAAQ,QACV,EACA,CACE,MAAO,uBACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,sBACP,KAAM,oBACN,OAAQ,QACV,EACA,CACE,MAAO,eACP,KAAM,kBACN,OAAQ,QACV,EACA,CACE,MAAO,YACP,KAAM,eACN,OAAQ,QACV,EACA,CACE,MAAO,oBACP,KAAM,qBACN,OAAQ,QACV,CACF,EC1tDaC,GAAkBD,GAAU,IAAKE,GAAO,CACnD,MAAMC,EAAQD,EACd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"}