@onereach/ui-components 4.11.0-beta.2941.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundled/v2/{OrDateTimePickerMonthSelect-2c1b5116.js → OrDateTimePickerMonthSelect-88a629fe.js} +8 -24
- package/dist/bundled/v2/{OrDateTimePickerTimeSelect-c52ee823.js → OrDateTimePickerTimeSelect-8851268e.js} +5 -15
- package/dist/bundled/v2/components/OrBottomSheetV3/OrBottomSheet.js +2 -2
- package/dist/bundled/v2/components/OrBottomSheetV3/index.js +1 -1
- package/dist/bundled/v2/components/OrButtonV3/OrButton.js +1 -1
- package/dist/bundled/v2/components/OrButtonV3/index.js +1 -1
- package/dist/bundled/v2/components/OrCardCollectionV3/OrCardCollection.js +2 -1
- package/dist/bundled/v2/components/OrCardCollectionV3/index.js +2 -1
- package/dist/bundled/v2/components/OrCheckboxGroupV3/OrCheckboxGroup.js +7 -9
- package/dist/bundled/v2/components/OrCheckboxGroupV3/OrCheckboxGroup.vue.d.ts +3 -3
- package/dist/bundled/v2/components/OrCheckboxGroupV3/index.js +4 -3
- package/dist/bundled/v2/components/OrCheckboxTreeV3/OrCheckboxTree.js +6 -8
- package/dist/bundled/v2/components/OrCheckboxTreeV3/OrCheckboxTree.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrCheckboxTreeV3/index.js +4 -3
- package/dist/bundled/v2/components/OrCheckboxV3/OrCheckbox.js +6 -10
- package/dist/bundled/v2/components/OrCheckboxV3/index.js +1 -2
- package/dist/bundled/v2/components/OrCode/OrCode.js +5 -3793
- package/dist/bundled/v2/components/OrCode/index.js +5 -3
- package/dist/bundled/v2/components/OrCode/lang.js +24 -3
- package/dist/bundled/v2/components/OrCode/theme.js +1 -1
- package/dist/bundled/v2/components/OrCodeV3/OrCode.js +356 -0
- package/dist/bundled/v2/components/OrCodeV3/OrCode.vue.d.ts +169 -0
- package/dist/bundled/v2/components/OrCodeV3/index.d.ts +2 -0
- package/dist/bundled/v2/components/OrCodeV3/index.js +54 -0
- package/dist/bundled/v2/components/OrCodeV3/props.d.ts +8 -0
- package/dist/bundled/v2/components/OrCodeV3/props.js +11 -0
- package/dist/bundled/v2/components/OrCodeV3/styles.d.ts +2 -0
- package/dist/bundled/v2/components/OrCodeV3/styles.js +16 -0
- package/dist/bundled/v2/components/OrColorPicker/OrColorPicker.js +1 -1
- package/dist/bundled/v2/components/OrColorPicker/index.js +1 -1
- package/dist/bundled/v2/components/OrConfirm/OrConfirm.js +1 -1
- package/dist/bundled/v2/components/OrConfirm/index.js +1 -1
- package/dist/bundled/v2/components/OrConfirmV3/OrConfirm.js +4 -3
- package/dist/bundled/v2/components/OrConfirmV3/index.js +2 -1
- package/dist/bundled/v2/components/OrDatePickerV3/OrDatePicker.js +8 -14
- package/dist/bundled/v2/components/OrDatePickerV3/OrDatePicker.vue.d.ts +4 -4
- package/dist/bundled/v2/components/OrDatePickerV3/index.js +4 -3
- package/dist/bundled/v2/components/OrDateTimePicker/OrDateTimePicker.js +1 -1
- package/dist/bundled/v2/components/OrDateTimePicker/index.js +1 -1
- package/dist/bundled/v2/components/OrDateTimePickerV3/OrDateTimePicker.js +9 -15
- package/dist/bundled/v2/components/OrDateTimePickerV3/OrDateTimePicker.vue.d.ts +4 -4
- package/dist/bundled/v2/components/OrDateTimePickerV3/index.js +5 -4
- package/dist/bundled/v2/components/OrExpansionPanelV3/OrExpansionPanel.js +1 -1
- package/dist/bundled/v2/components/OrIconButtonV3/OrIconButton.js +1 -1
- package/dist/bundled/v2/components/OrIconButtonV3/index.js +1 -1
- package/dist/bundled/v2/components/OrInlineInputV3/OrInlineInput.js +10 -18
- package/dist/bundled/v2/components/OrInlineInputV3/OrInlineInput.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrInlineInputV3/index.js +2 -1
- package/dist/bundled/v2/components/OrInlineTextEdit/OrInlineTextEdit.js +1 -1
- package/dist/bundled/v2/components/OrInlineTextEdit/index.js +1 -1
- package/dist/bundled/v2/components/OrInlineTextareaV3/OrInlineTextarea.js +9 -16
- package/dist/bundled/v2/components/OrInlineTextareaV3/OrInlineTextarea.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrInlineTextareaV3/index.js +2 -1
- package/dist/bundled/v2/components/OrInputV3/OrInput.js +6 -10
- package/dist/bundled/v2/components/OrInputV3/OrInput.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrInputV3/index.js +2 -1
- package/dist/bundled/v2/components/OrLoaderV3/OrLoader.js +1 -1
- package/dist/bundled/v2/components/OrLoaderV3/index.js +1 -1
- package/dist/bundled/v2/components/OrMenuV3/OrMenu.js +3 -3
- package/dist/bundled/v2/components/OrMenuV3/index.js +1 -1
- package/dist/bundled/v2/components/OrModal/OrModal.js +2 -2
- package/dist/bundled/v2/components/OrModal/index.js +1 -1
- package/dist/bundled/v2/components/OrModalV3/OrModal.js +4 -4
- package/dist/bundled/v2/components/OrModalV3/index.js +1 -1
- package/dist/bundled/v2/components/OrNotificationV3/OrNotification.js +1 -1
- package/dist/bundled/v2/components/OrNotificationV3/index.js +1 -1
- package/dist/bundled/v2/components/OrOverflowMenu/OrOverflowMenu.js +1 -1
- package/dist/bundled/v2/components/OrOverflowMenu/index.js +1 -1
- package/dist/bundled/v2/components/OrOverlayV3/OrOverlay.js +1 -1
- package/dist/bundled/v2/components/OrOverlayV3/index.js +1 -1
- package/dist/bundled/v2/components/OrPaginationV3/OrPagination.js +4 -8
- package/dist/bundled/v2/components/OrPaginationV3/OrPagination.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrPaginationV3/index.js +2 -1
- package/dist/bundled/v2/components/OrPassword/OrPassword.js +1 -1
- package/dist/bundled/v2/components/OrPassword/index.js +1 -1
- package/dist/bundled/v2/components/OrPopoverV3/OrPopover.js +2 -2
- package/dist/bundled/v2/components/OrPopoverV3/index.js +1 -1
- package/dist/bundled/v2/components/OrProgressV3/OrProgress.js +1 -1
- package/dist/bundled/v2/components/OrProgressV3/index.js +1 -1
- package/dist/bundled/v2/components/OrRadioGroupV3/OrRadioGroup.js +4 -8
- package/dist/bundled/v2/components/OrRadioGroupV3/OrRadioGroup.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrRadioGroupV3/index.js +1 -2
- package/dist/bundled/v2/components/OrRadioV3/OrRadio.js +6 -10
- package/dist/bundled/v2/components/OrRadioV3/OrRadio.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrRadioV3/index.js +1 -0
- package/dist/bundled/v2/components/OrSearchV3/OrSearch.js +2 -1
- package/dist/bundled/v2/components/OrSearchV3/index.js +2 -1
- package/dist/bundled/v2/components/OrSegmentedControlV3/OrSegmentedControl.js +3 -7
- package/dist/bundled/v2/components/OrSegmentedControlV3/OrSegmentedControl.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrSegmentedControlV3/index.js +1 -0
- package/dist/bundled/v2/components/OrSelect/OrSelect.js +1 -1
- package/dist/bundled/v2/components/OrSelect/index.js +1 -1
- package/dist/bundled/v2/components/OrSelectV3/OrSelect.js +5 -9
- package/dist/bundled/v2/components/OrSelectV3/OrSelect.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrSelectV3/index.js +3 -2
- package/dist/bundled/v2/components/OrSidebar/OrSidebar.js +1 -1
- package/dist/bundled/v2/components/OrSidebar/index.js +1 -1
- package/dist/bundled/v2/components/OrSidebarV3/OrSidebar.js +1 -1
- package/dist/bundled/v2/components/OrSidebarV3/index.js +1 -1
- package/dist/bundled/v2/components/OrSlider/OrSlider.js +1 -1
- package/dist/bundled/v2/components/OrSlider/index.js +1 -1
- package/dist/bundled/v2/components/OrSortHeaderV3/OrSortHeader.js +3 -7
- package/dist/bundled/v2/components/OrSortHeaderV3/OrSortHeader.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrSortHeaderV3/index.js +1 -0
- package/dist/bundled/v2/components/OrSwitchV3/OrSwitch.js +7 -11
- package/dist/bundled/v2/components/OrSwitchV3/OrSwitch.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrSwitchV3/index.js +2 -1
- package/dist/bundled/v2/components/OrTabsV3/OrTabs.js +4 -8
- package/dist/bundled/v2/components/OrTabsV3/OrTabs.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrTabsV3/index.js +2 -1
- package/dist/bundled/v2/components/OrTagInputV3/OrTagInput.js +7 -11
- package/dist/bundled/v2/components/OrTagInputV3/OrTagInput.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrTagInputV3/index.js +2 -1
- package/dist/bundled/v2/components/OrTagV3/OrTag.js +1 -1
- package/dist/bundled/v2/components/OrTagV3/index.js +1 -1
- package/dist/bundled/v2/components/OrTagsV3/OrTags.js +1 -1
- package/dist/bundled/v2/components/OrTagsV3/index.js +1 -1
- package/dist/bundled/v2/components/OrTextareaV3/OrTextarea.js +6 -10
- package/dist/bundled/v2/components/OrTextareaV3/OrTextarea.vue.d.ts +2 -2
- package/dist/bundled/v2/components/OrTextareaV3/index.js +1 -0
- package/dist/bundled/v2/components/OrTimePickerV3/OrTimePicker.js +7 -13
- package/dist/bundled/v2/components/OrTimePickerV3/OrTimePicker.vue.d.ts +4 -4
- package/dist/bundled/v2/components/OrTimePickerV3/index.js +4 -3
- package/dist/bundled/v2/components/OrToast/composable/index.js +1 -1
- package/dist/bundled/v2/components/OrToast/composable/useToast.js +1 -1
- package/dist/bundled/v2/components/OrToast/composable/useToastEventBus.js +1 -1
- package/dist/bundled/v2/components/OrToast/index.js +1 -1
- package/dist/bundled/v2/components/OrToastContainer/OrToastContainer.js +1 -1
- package/dist/bundled/v2/components/OrToastContainer/index.js +1 -1
- package/dist/bundled/v2/components/OrToastContainerV3/OrToastContainer.js +2 -2
- package/dist/bundled/v2/components/OrToastContainerV3/index.js +1 -1
- package/dist/bundled/v2/components/OrToastV3/OrToast.js +1 -1
- package/dist/bundled/v2/components/OrToastV3/composable/index.js +1 -1
- package/dist/bundled/v2/components/OrToastV3/composable/useToast.js +1 -1
- package/dist/bundled/v2/components/OrToastV3/composable/useToastEventBus.js +1 -1
- package/dist/bundled/v2/components/OrToastV3/index.js +1 -1
- package/dist/bundled/v2/components/OrTooltipV3/OrTooltip.js +2 -2
- package/dist/bundled/v2/components/OrTooltipV3/index.js +1 -1
- package/dist/bundled/v2/components/index.d.ts +1 -1
- package/dist/bundled/v2/components/index.js +17 -11
- package/dist/bundled/v2/hooks/index.d.ts +9 -8
- package/dist/bundled/v2/hooks/index.js +2 -1
- package/dist/bundled/v2/hooks/useOverflow.js +1 -1
- package/dist/bundled/v2/hooks/usePopoverState.d.ts +8 -7
- package/dist/bundled/v2/hooks/usePopoverState.js +6 -6
- package/dist/bundled/v2/hooks/useProxyModelValue.d.ts +8 -0
- package/dist/bundled/v2/hooks/useProxyModelValue.js +29 -0
- package/dist/bundled/v2/hooks/useResponsive/index.js +1 -1
- package/dist/bundled/v2/hooks/useResponsive/useResponsive.js +1 -1
- package/dist/bundled/v2/hooks/useTheme.d.ts +2 -1
- package/dist/bundled/v2/hooks/useTheme.js +173 -175
- package/dist/bundled/v2/{lang-0fb8f78b.js → index-11e9d6f2.js} +797 -575
- package/dist/bundled/v2/{index-cf2c3c27.js → index-451f3d87.js} +393 -253
- package/dist/bundled/v2/{index-c92e2839.js → index-760079e7.js} +1 -1
- package/dist/bundled/{v3/OrCode.vue_vue_type_script_lang-46846a36.js → v2/index-9c1d2908.js} +30 -316
- package/dist/bundled/v2/index.js +17 -14
- package/dist/bundled/v3/{OrBottomSheet.vue_vue_type_script_lang-214a0eea.js → OrBottomSheet.vue_vue_type_script_lang-ec375126.js} +3 -3
- package/dist/bundled/v3/{OrButton.vue_vue_type_script_lang-e8969bd3.js → OrButton.vue_vue_type_script_lang-7370e903.js} +1 -1
- package/dist/bundled/v3/{OrCardCollection.vue_vue_type_script_lang-3e7aa91a.js → OrCardCollection.vue_vue_type_script_lang-c7d9f452.js} +4 -4
- package/dist/bundled/v3/{OrCheckbox.vue_vue_type_script_lang-616a0cce.js → OrCheckbox.vue_vue_type_script_lang-a27167e0.js} +5 -8
- package/dist/bundled/v3/{OrCheckboxGroup.vue_vue_type_script_lang-6946b630.js → OrCheckboxGroup.vue_vue_type_script_lang-386971f8.js} +5 -8
- package/dist/bundled/v3/{OrCheckboxTree.vue_vue_type_script_lang-e2647349.js → OrCheckboxTree.vue_vue_type_script_lang-1d754ac1.js} +7 -10
- package/dist/bundled/v3/OrCode.vue_vue_type_script_lang-22c66c0d.js +220 -0
- package/dist/bundled/v3/OrCode.vue_vue_type_script_lang-ce5a4f02.js +237 -0
- package/dist/bundled/v3/{OrColorPicker.vue_vue_type_script_lang-2e1845d8.js → OrColorPicker.vue_vue_type_script_lang-7c9b353d.js} +1 -1
- package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-51f9e144.js → OrConfirm.vue_vue_type_script_lang-836e2a0f.js} +2 -2
- package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-93458f1f.js → OrConfirm.vue_vue_type_script_lang-88d3aeda.js} +6 -6
- package/dist/bundled/v3/{OrDatePicker.vue_vue_type_script_lang-0e648149.js → OrDatePicker.vue_vue_type_script_lang-80de9d3a.js} +8 -14
- package/dist/bundled/v3/{OrDateTimePicker.vue_vue_type_script_lang-69d65518.js → OrDateTimePicker.vue_vue_type_script_lang-300f009d.js} +9 -15
- package/dist/bundled/v3/{OrDateTimePicker.vue_vue_type_script_lang-882ae7ce.js → OrDateTimePicker.vue_vue_type_script_lang-b7857a99.js} +1 -1
- package/dist/bundled/v3/{OrDateTimePickerMonthSelect-8857f024.js → OrDateTimePickerMonthSelect-44038b6b.js} +11 -27
- package/dist/bundled/v3/{OrDateTimePickerPopoverHeader-ec90761f.js → OrDateTimePickerPopoverHeader-4959231c.js} +1 -1
- package/dist/bundled/v3/{OrDateTimePickerTimeSelect-683ab20d.js → OrDateTimePickerTimeSelect-b8cc72af.js} +6 -16
- package/dist/bundled/v3/{OrExpansionPanel.vue_vue_type_script_lang-ca9d5307.js → OrExpansionPanel.vue_vue_type_script_lang-6ea94b95.js} +2 -2
- package/dist/bundled/v3/{OrIconButton.vue_vue_type_script_lang-c3a78c23.js → OrIconButton.vue_vue_type_script_lang-41792494.js} +1 -1
- package/dist/bundled/v3/{OrInlineInput.vue_vue_type_script_lang-820cc7e9.js → OrInlineInput.vue_vue_type_script_lang-fec60585.js} +10 -18
- package/dist/bundled/v3/{OrInlineTextEdit.vue_vue_type_script_lang-588178e5.js → OrInlineTextEdit.vue_vue_type_script_lang-58bc1a00.js} +1 -1
- package/dist/bundled/v3/{OrInlineTextarea.vue_vue_type_script_lang-8e639991.js → OrInlineTextarea.vue_vue_type_script_lang-4265a2a2.js} +10 -17
- package/dist/bundled/v3/{OrInput.vue_vue_type_script_lang-66363c62.js → OrInput.vue_vue_type_script_lang-0b8a2b69.js} +6 -10
- package/dist/bundled/v3/{OrLoader.vue_vue_type_script_lang-f076f6b3.js → OrLoader.vue_vue_type_script_lang-a21dc976.js} +1 -1
- package/dist/bundled/v3/{OrMenu.vue_vue_type_script_lang-8fa5ef6c.js → OrMenu.vue_vue_type_script_lang-f8611f9d.js} +3 -3
- package/dist/bundled/v3/{OrModal.vue_vue_type_script_lang-153819d3.js → OrModal.vue_vue_type_script_lang-32c395a3.js} +2 -2
- package/dist/bundled/v3/{OrModal.vue_vue_type_script_lang-83469d51.js → OrModal.vue_vue_type_script_lang-e00165f1.js} +3 -3
- package/dist/bundled/v3/{OrNotification.vue_vue_type_script_lang-242a7186.js → OrNotification.vue_vue_type_script_lang-9d3dd0d9.js} +1 -1
- package/dist/bundled/v3/{OrOverflowMenu.vue_vue_type_script_lang-ba3b94e2.js → OrOverflowMenu.vue_vue_type_script_lang-e077c7fd.js} +1 -1
- package/dist/bundled/v3/{OrOverlay.vue_vue_type_script_lang-0fdf19ba.js → OrOverlay.vue_vue_type_script_lang-9036d75d.js} +1 -1
- package/dist/bundled/v3/{OrPagination.vue_vue_type_script_lang-193cf67a.js → OrPagination.vue_vue_type_script_lang-cf545aab.js} +6 -10
- package/dist/bundled/v3/{OrPassword.vue_vue_type_script_lang-fc9e7dc8.js → OrPassword.vue_vue_type_script_lang-0a87f331.js} +1 -1
- package/dist/bundled/v3/{OrPopover.vue_vue_type_script_lang-506ae7bb.js → OrPopover.vue_vue_type_script_lang-d15ec5cb.js} +4 -4
- package/dist/bundled/v3/{OrProgress.vue_vue_type_script_lang-6a2fef77.js → OrProgress.vue_vue_type_script_lang-2d5ead47.js} +1 -1
- package/dist/bundled/v3/{OrRadio.vue_vue_type_script_lang-e9ac87e8.js → OrRadio.vue_vue_type_script_lang-48c2bc6b.js} +5 -9
- package/dist/bundled/v3/{OrRadioGroup.vue_vue_type_script_lang-a82cb83b.js → OrRadioGroup.vue_vue_type_script_lang-d7f6f8ca.js} +5 -8
- package/dist/bundled/v3/{OrSearch.vue_vue_type_script_lang-18dc2df8.js → OrSearch.vue_vue_type_script_lang-3fa2209d.js} +1 -1
- package/dist/bundled/v3/{OrSegmentedControl.vue_vue_type_script_lang-ed0d9fe7.js → OrSegmentedControl.vue_vue_type_script_lang-3a7df112.js} +3 -7
- package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-72c1db17.js → OrSelect.vue_vue_type_script_lang-b11ea2e9.js} +8 -12
- package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-45cf8f8c.js → OrSelect.vue_vue_type_script_lang-b8b014f6.js} +1 -1
- package/dist/bundled/v3/{OrSidebar.vue_vue_type_script_lang-3d9676ea.js → OrSidebar.vue_vue_type_script_lang-55f0db3b.js} +2 -2
- package/dist/bundled/v3/{OrSidebar.vue_vue_type_script_lang-56608f4a.js → OrSidebar.vue_vue_type_script_lang-cac8e5b7.js} +1 -1
- package/dist/bundled/v3/{OrSlider.vue_vue_type_script_lang-2a698707.js → OrSlider.vue_vue_type_script_lang-9ae4141f.js} +1 -1
- package/dist/bundled/v3/{OrSortHeader.vue_vue_type_script_lang-424696e5.js → OrSortHeader.vue_vue_type_script_lang-a444d88b.js} +3 -7
- package/dist/bundled/v3/{OrSwitch.vue_vue_type_script_lang-5a6d0202.js → OrSwitch.vue_vue_type_script_lang-2014e70b.js} +6 -10
- package/dist/bundled/v3/{OrTabs.vue_vue_type_script_lang-2d08458d.js → OrTabs.vue_vue_type_script_lang-9072248f.js} +5 -9
- package/dist/bundled/v3/{OrTag.vue_vue_type_script_lang-c7065625.js → OrTag.vue_vue_type_script_lang-640a19c4.js} +1 -1
- package/dist/bundled/v3/{OrTagInput.vue_vue_type_script_lang-60f6d6de.js → OrTagInput.vue_vue_type_script_lang-67c8d12f.js} +8 -12
- package/dist/bundled/v3/{OrTags.vue_vue_type_script_lang-45bbc68e.js → OrTags.vue_vue_type_script_lang-18b7221b.js} +3 -3
- package/dist/bundled/v3/{OrTextarea.vue_vue_type_script_lang-0d1a7a48.js → OrTextarea.vue_vue_type_script_lang-44484741.js} +6 -10
- package/dist/bundled/v3/{OrTimePicker.vue_vue_type_script_lang-a300ab1b.js → OrTimePicker.vue_vue_type_script_lang-5c88aee4.js} +8 -14
- package/dist/bundled/v3/{OrTooltip.vue_vue_type_script_lang-227592d8.js → OrTooltip.vue_vue_type_script_lang-7f5d792c.js} +2 -2
- package/dist/bundled/v3/components/OrBottomSheetV3/OrBottomSheet.js +4 -4
- package/dist/bundled/v3/components/OrBottomSheetV3/index.js +3 -3
- package/dist/bundled/v3/components/OrButtonV3/OrButton.js +4 -4
- package/dist/bundled/v3/components/OrButtonV3/index.js +3 -3
- package/dist/bundled/v3/components/OrCardCollectionV3/OrCardCollection.js +14 -13
- package/dist/bundled/v3/components/OrCardCollectionV3/index.js +13 -12
- package/dist/bundled/v3/components/OrCheckboxGroupV3/OrCheckboxGroup.js +10 -9
- package/dist/bundled/v3/components/OrCheckboxGroupV3/OrCheckboxGroup.vue.d.ts +2 -2
- package/dist/bundled/v3/components/OrCheckboxGroupV3/index.js +9 -8
- package/dist/bundled/v3/components/OrCheckboxTreeV3/OrCheckboxTree.js +9 -8
- package/dist/bundled/v3/components/OrCheckboxTreeV3/OrCheckboxTree.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrCheckboxTreeV3/index.js +8 -7
- package/dist/bundled/v3/components/OrCheckboxV3/OrCheckbox.js +3 -4
- package/dist/bundled/v3/components/OrCheckboxV3/index.js +2 -3
- package/dist/bundled/v3/components/OrCode/OrCode.js +9 -7
- package/dist/bundled/v3/components/OrCode/index.js +7 -5
- package/dist/bundled/v3/components/OrCode/lang.js +24 -3
- package/dist/bundled/v3/components/OrCode/theme.js +1 -1
- package/dist/bundled/v3/components/OrCodeV3/OrCode.js +147 -0
- package/dist/bundled/v3/components/OrCodeV3/OrCode.vue.d.ts +119 -0
- package/dist/bundled/v3/components/OrCodeV3/index.d.ts +2 -0
- package/dist/bundled/v3/components/OrCodeV3/index.js +65 -0
- package/dist/bundled/v3/components/OrCodeV3/props.d.ts +8 -0
- package/dist/bundled/v3/components/OrCodeV3/props.js +11 -0
- package/dist/bundled/v3/components/OrCodeV3/styles.d.ts +2 -0
- package/dist/bundled/v3/components/OrCodeV3/styles.js +16 -0
- package/dist/bundled/v3/components/OrColorPicker/OrColorPicker.js +3 -3
- package/dist/bundled/v3/components/OrColorPicker/index.js +2 -2
- package/dist/bundled/v3/components/OrConfirm/OrConfirm.js +4 -4
- package/dist/bundled/v3/components/OrConfirm/index.js +3 -3
- package/dist/bundled/v3/components/OrConfirmV3/OrConfirm.js +12 -11
- package/dist/bundled/v3/components/OrConfirmV3/index.js +11 -10
- package/dist/bundled/v3/components/OrDatePickerV3/OrDatePicker.js +14 -13
- package/dist/bundled/v3/components/OrDatePickerV3/OrDatePicker.vue.d.ts +64 -2
- package/dist/bundled/v3/components/OrDatePickerV3/index.js +13 -12
- package/dist/bundled/v3/components/OrDateTimePicker/OrDateTimePicker.js +3 -3
- package/dist/bundled/v3/components/OrDateTimePicker/index.js +2 -2
- package/dist/bundled/v3/components/OrDateTimePickerV3/OrDateTimePicker.js +15 -14
- package/dist/bundled/v3/components/OrDateTimePickerV3/OrDateTimePicker.vue.d.ts +64 -2
- package/dist/bundled/v3/components/OrDateTimePickerV3/index.js +14 -13
- package/dist/bundled/v3/components/OrExpansionPanelV3/OrExpansionPanel.js +2 -2
- package/dist/bundled/v3/components/OrExpansionPanelV3/index.js +1 -1
- package/dist/bundled/v3/components/OrIconButtonV3/OrIconButton.js +7 -7
- package/dist/bundled/v3/components/OrIconButtonV3/index.js +6 -6
- package/dist/bundled/v3/components/OrInlineInputV3/OrInlineInput.js +9 -8
- package/dist/bundled/v3/components/OrInlineInputV3/OrInlineInput.vue.d.ts +2 -2
- package/dist/bundled/v3/components/OrInlineInputV3/index.js +8 -7
- package/dist/bundled/v3/components/OrInlineTextEdit/OrInlineTextEdit.js +3 -3
- package/dist/bundled/v3/components/OrInlineTextEdit/index.js +2 -2
- package/dist/bundled/v3/components/OrInlineTextareaV3/OrInlineTextarea.js +9 -8
- package/dist/bundled/v3/components/OrInlineTextareaV3/OrInlineTextarea.vue.d.ts +2 -2
- package/dist/bundled/v3/components/OrInlineTextareaV3/index.js +8 -7
- package/dist/bundled/v3/components/OrInputV3/OrInput.js +10 -9
- package/dist/bundled/v3/components/OrInputV3/OrInput.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrInputV3/index.js +9 -8
- package/dist/bundled/v3/components/OrLoaderV3/OrLoader.js +3 -3
- package/dist/bundled/v3/components/OrLoaderV3/index.js +2 -2
- package/dist/bundled/v3/components/OrMenuV3/OrMenu.js +6 -6
- package/dist/bundled/v3/components/OrMenuV3/index.js +5 -5
- package/dist/bundled/v3/components/OrModal/OrModal.js +3 -3
- package/dist/bundled/v3/components/OrModal/index.js +2 -2
- package/dist/bundled/v3/components/OrModalV3/OrModal.js +8 -8
- package/dist/bundled/v3/components/OrModalV3/index.js +7 -7
- package/dist/bundled/v3/components/OrNotificationV3/OrNotification.js +8 -8
- package/dist/bundled/v3/components/OrNotificationV3/index.js +7 -7
- package/dist/bundled/v3/components/OrOverflowMenu/OrOverflowMenu.js +3 -3
- package/dist/bundled/v3/components/OrOverflowMenu/index.js +2 -2
- package/dist/bundled/v3/components/OrOverlayV3/OrOverlay.js +3 -3
- package/dist/bundled/v3/components/OrOverlayV3/index.js +2 -2
- package/dist/bundled/v3/components/OrPaginationV3/OrPagination.js +10 -9
- package/dist/bundled/v3/components/OrPaginationV3/OrPagination.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrPaginationV3/index.js +9 -8
- package/dist/bundled/v3/components/OrPassword/OrPassword.js +3 -3
- package/dist/bundled/v3/components/OrPassword/index.js +2 -2
- package/dist/bundled/v3/components/OrPopoverV3/OrPopover.js +5 -5
- package/dist/bundled/v3/components/OrPopoverV3/index.js +4 -4
- package/dist/bundled/v3/components/OrProgressV3/OrProgress.js +3 -3
- package/dist/bundled/v3/components/OrProgressV3/index.js +2 -2
- package/dist/bundled/v3/components/OrRadioGroupV3/OrRadioGroup.js +4 -5
- package/dist/bundled/v3/components/OrRadioGroupV3/OrRadioGroup.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrRadioGroupV3/index.js +3 -4
- package/dist/bundled/v3/components/OrRadioV3/OrRadio.js +3 -2
- package/dist/bundled/v3/components/OrRadioV3/OrRadio.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrRadioV3/index.js +2 -1
- package/dist/bundled/v3/components/OrSearchV3/OrSearch.js +11 -10
- package/dist/bundled/v3/components/OrSearchV3/index.js +10 -9
- package/dist/bundled/v3/components/OrSegmentedControlV3/OrSegmentedControl.js +3 -2
- package/dist/bundled/v3/components/OrSegmentedControlV3/OrSegmentedControl.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrSegmentedControlV3/index.js +2 -1
- package/dist/bundled/v3/components/OrSelect/OrSelect.js +3 -3
- package/dist/bundled/v3/components/OrSelect/index.js +2 -2
- package/dist/bundled/v3/components/OrSelectV3/OrSelect.js +15 -14
- package/dist/bundled/v3/components/OrSelectV3/OrSelect.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrSelectV3/index.js +14 -13
- package/dist/bundled/v3/components/OrSidebar/OrSidebar.js +3 -3
- package/dist/bundled/v3/components/OrSidebar/index.js +2 -2
- package/dist/bundled/v3/components/OrSidebarV3/OrSidebar.js +8 -8
- package/dist/bundled/v3/components/OrSidebarV3/index.js +7 -7
- package/dist/bundled/v3/components/OrSlider/OrSlider.js +3 -3
- package/dist/bundled/v3/components/OrSlider/index.js +2 -2
- package/dist/bundled/v3/components/OrSortHeaderV3/OrSortHeader.js +3 -2
- package/dist/bundled/v3/components/OrSortHeaderV3/OrSortHeader.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrSortHeaderV3/index.js +2 -1
- package/dist/bundled/v3/components/OrSwitchV3/OrSwitch.js +5 -4
- package/dist/bundled/v3/components/OrSwitchV3/OrSwitch.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrSwitchV3/index.js +4 -3
- package/dist/bundled/v3/components/OrTabsV3/OrTabs.js +8 -7
- package/dist/bundled/v3/components/OrTabsV3/OrTabs.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrTabsV3/index.js +7 -6
- package/dist/bundled/v3/components/OrTagInputV3/OrTagInput.js +13 -12
- package/dist/bundled/v3/components/OrTagInputV3/OrTagInput.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrTagInputV3/index.js +12 -11
- package/dist/bundled/v3/components/OrTagV3/OrTag.js +8 -8
- package/dist/bundled/v3/components/OrTagV3/index.js +7 -7
- package/dist/bundled/v3/components/OrTagsV3/OrTags.js +11 -11
- package/dist/bundled/v3/components/OrTagsV3/index.js +10 -10
- package/dist/bundled/v3/components/OrTextareaV3/OrTextarea.js +3 -2
- package/dist/bundled/v3/components/OrTextareaV3/OrTextarea.vue.d.ts +1 -1
- package/dist/bundled/v3/components/OrTextareaV3/index.js +2 -1
- package/dist/bundled/v3/components/OrTimePickerV3/OrTimePicker.js +13 -12
- package/dist/bundled/v3/components/OrTimePickerV3/OrTimePicker.vue.d.ts +64 -2
- package/dist/bundled/v3/components/OrTimePickerV3/index.js +12 -11
- package/dist/bundled/v3/components/OrToast/composable/index.js +1 -1
- package/dist/bundled/v3/components/OrToast/composable/useToast.js +1 -1
- package/dist/bundled/v3/components/OrToast/composable/useToastEventBus.js +1 -1
- package/dist/bundled/v3/components/OrToast/index.js +2 -2
- package/dist/bundled/v3/components/OrToastContainer/OrToastContainer.js +3 -3
- package/dist/bundled/v3/components/OrToastContainer/index.js +2 -2
- package/dist/bundled/v3/components/OrToastContainerV3/OrToastContainer.js +9 -9
- package/dist/bundled/v3/components/OrToastContainerV3/index.js +8 -8
- package/dist/bundled/v3/components/OrToastV3/OrToast.js +7 -7
- package/dist/bundled/v3/components/OrToastV3/composable/index.js +1 -1
- package/dist/bundled/v3/components/OrToastV3/composable/useToast.js +1 -1
- package/dist/bundled/v3/components/OrToastV3/composable/useToastEventBus.js +1 -1
- package/dist/bundled/v3/components/OrToastV3/index.js +8 -8
- package/dist/bundled/v3/components/OrTooltipV3/OrTooltip.js +6 -6
- package/dist/bundled/v3/components/OrTooltipV3/index.js +5 -5
- package/dist/bundled/v3/components/index.d.ts +1 -1
- package/dist/bundled/v3/components/index.js +68 -61
- package/dist/bundled/v3/hooks/index.d.ts +9 -8
- package/dist/bundled/v3/hooks/index.js +2 -1
- package/dist/bundled/v3/hooks/useOverflow.js +1 -1
- package/dist/bundled/v3/hooks/usePopoverState.d.ts +8 -7
- package/dist/bundled/v3/hooks/usePopoverState.js +6 -6
- package/dist/bundled/v3/hooks/useProxyModelValue.d.ts +8 -0
- package/dist/bundled/v3/hooks/useProxyModelValue.js +29 -0
- package/dist/bundled/v3/hooks/useResponsive/index.js +1 -1
- package/dist/bundled/v3/hooks/useResponsive/useResponsive.js +1 -1
- package/dist/bundled/v3/hooks/useTheme.d.ts +2 -1
- package/dist/bundled/v3/hooks/useTheme.js +173 -175
- package/dist/bundled/v3/{lang-0fb8f78b.js → index-11e9d6f2.js} +797 -575
- package/dist/bundled/v3/{index-cf2c3c27.js → index-451f3d87.js} +393 -253
- package/dist/bundled/v3/index-9c1d2908.js +3740 -0
- package/dist/bundled/v3/{index-09d1cb24.js → index-e11e05e2.js} +1 -1
- package/dist/bundled/v3/index.js +72 -70
- package/dist/esm/v2/{OrBottomSheet-af25c131.js → OrBottomSheet-6bc632c4.js} +2 -2
- package/dist/esm/v2/{OrCardCollection-79b90811.js → OrCardCollection-779ba7ca.js} +4 -4
- package/dist/esm/v2/{OrCheckbox-41f2822d.js → OrCheckbox-43615f70.js} +7 -9
- package/dist/esm/v2/{OrCheckboxGroup-97cfcbda.js → OrCheckboxGroup-4e6dbdd3.js} +8 -8
- package/dist/esm/v2/{OrCheckboxTree-a7dc126c.js → OrCheckboxTree-ba023624.js} +14 -14
- package/dist/esm/v2/OrCode-26295220.js +351 -0
- package/dist/esm/v2/{OrConfirm-0b56c11f.js → OrConfirm-cda74328.js} +3 -3
- package/dist/esm/v2/{OrDatePicker-328189a2.js → OrDatePicker-a4f95898.js} +10 -13
- package/dist/esm/v2/{OrDateTimePicker-8bcc71c3.js → OrDateTimePicker-99d3445b.js} +1 -1
- package/dist/esm/v2/{OrDateTimePicker.vue_rollup-plugin-vue_script-399a44b5.js → OrDateTimePicker.vue_rollup-plugin-vue_script-729b254d.js} +13 -27
- package/dist/esm/v2/{OrDateTimePickerPopoverHeader-fa88e970.js → OrDateTimePickerPopoverHeader-5fa89936.js} +14 -27
- package/dist/esm/v2/{OrExpansionPanel-b8411db6.js → OrExpansionPanel-acfffe82.js} +2 -2
- package/dist/esm/v2/{OrIconButton-ab726d49.js → OrIconButton-2ab8fa02.js} +2 -2
- package/dist/esm/v2/{OrInlineInput-84a8398c.js → OrInlineInput-0c62b3a6.js} +10 -18
- package/dist/esm/v2/{OrInlineTextarea-f2ecbd39.js → OrInlineTextarea-c24708a7.js} +9 -16
- package/dist/esm/v2/{OrInput-2eeff16a.js → OrInput-dcb61699.js} +6 -10
- package/dist/esm/v2/{OrMenu-d03831b0.js → OrMenu-6b3de1c1.js} +3 -3
- package/dist/esm/v2/{OrModal-7b7c35e1.js → OrModal-abc3b1d9.js} +3 -3
- package/dist/esm/v2/{OrNotification-f44ef921.js → OrNotification-5b7028d7.js} +1 -1
- package/dist/esm/v2/{OrPagination-3756c1d1.js → OrPagination-4ece4568.js} +5 -9
- package/dist/esm/v2/{OrPopover-ef16a904.js → OrPopover-71380b24.js} +3 -3
- package/dist/esm/v2/{OrRadio-23810acd.js → OrRadio-b32dfbfe.js} +5 -9
- package/dist/esm/v2/{OrRadioGroup-0e1bf22c.js → OrRadioGroup-d1c2e460.js} +8 -8
- package/dist/esm/v2/{OrSearch-33e3b0e4.js → OrSearch-879c7656.js} +1 -1
- package/dist/esm/v2/{OrSegmentedControl-a1ea5b72.js → OrSegmentedControl-d4e32f80.js} +6 -7
- package/dist/esm/v2/{OrSelect-1ee299d9.js → OrSelect-01d61a9a.js} +8 -12
- package/dist/esm/v2/{OrSidebar-865f307e.js → OrSidebar-bd385865.js} +1 -1
- package/dist/esm/v2/{OrSidebarCollapseButton-b3a41f02.js → OrSidebarCollapseButton-49da331a.js} +1 -1
- package/dist/esm/v2/{OrSortHeader-8596b958.js → OrSortHeader-46a92f09.js} +6 -7
- package/dist/esm/v2/{OrSwitch-cb97f4d3.js → OrSwitch-e49ce2d8.js} +5 -9
- package/dist/esm/v2/{OrTabs-930e1c26.js → OrTabs-f9c88893.js} +7 -9
- package/dist/esm/v2/{OrTag-d16c9d12.js → OrTag-2b9e664b.js} +1 -1
- package/dist/esm/v2/{OrTagInput-63697869.js → OrTagInput-1548f007.js} +7 -11
- package/dist/esm/v2/{OrTags-9048733c.js → OrTags-25a70212.js} +2 -2
- package/dist/esm/v2/{OrTextarea-978fb518.js → OrTextarea-9221a04a.js} +5 -9
- package/dist/esm/v2/{OrTimePicker-a9c5547b.js → OrTimePicker-9c9a44bc.js} +11 -14
- package/dist/esm/v2/{OrTooltip-bf4c725c.js → OrTooltip-a32c182a.js} +3 -3
- package/dist/esm/v2/components/index.d.ts +1 -1
- package/dist/esm/v2/components/index.js +42 -43
- package/dist/esm/v2/components/or-bottom-sheet-v3/index.js +2 -2
- package/dist/esm/v2/components/or-card-collection-v3/index.js +10 -9
- package/dist/esm/v2/components/or-checkbox-group-v3/OrCheckboxGroup.vue.d.ts +3 -3
- package/dist/esm/v2/components/or-checkbox-group-v3/index.js +12 -11
- package/dist/esm/v2/components/or-checkbox-tree-v3/OrCheckboxTree.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-checkbox-tree-v3/index.js +8 -7
- package/dist/esm/v2/components/or-checkbox-v3/index.js +3 -2
- package/dist/esm/v2/components/or-code-v3/OrCode.vue.d.ts +169 -0
- package/dist/esm/v2/components/or-code-v3/index.d.ts +2 -0
- package/dist/esm/v2/components/or-code-v3/index.js +37 -0
- package/dist/esm/v2/components/or-code-v3/props.d.ts +8 -0
- package/dist/esm/v2/components/or-code-v3/styles.d.ts +2 -0
- package/dist/esm/v2/components/or-confirm-v3/index.js +8 -7
- package/dist/esm/v2/components/or-date-picker-v3/OrDatePicker.vue.d.ts +4 -4
- package/dist/esm/v2/components/or-date-picker-v3/index.js +12 -11
- package/dist/esm/v2/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +4 -4
- package/dist/esm/v2/components/or-date-time-picker-v3/index.js +13 -12
- package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-expansion-panel-v3/index.js +2 -2
- package/dist/esm/v2/components/or-icon-button-v3/index.js +5 -5
- package/dist/esm/v2/components/or-inline-input-v3/OrInlineInput.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-inline-input-v3/index.js +7 -6
- package/dist/esm/v2/components/or-inline-textarea-v3/OrInlineTextarea.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-inline-textarea-v3/index.js +7 -6
- package/dist/esm/v2/components/or-input-v3/OrInput.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-input-v3/index.js +7 -6
- package/dist/esm/v2/components/or-menu-v3/index.js +4 -4
- package/dist/esm/v2/components/or-modal-v3/index.js +6 -6
- package/dist/esm/v2/components/or-notification-v3/index.js +6 -6
- package/dist/esm/v2/components/or-pagination-v3/OrPagination.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-pagination-v3/index.js +6 -5
- package/dist/esm/v2/components/or-popover-v3/index.js +3 -3
- package/dist/esm/v2/components/or-radio-group-v3/OrRadioGroup.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-radio-group-v3/index.js +5 -4
- package/dist/esm/v2/components/or-radio-v3/OrRadio.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-radio-v3/index.js +2 -1
- package/dist/esm/v2/components/or-search-v3/index.js +8 -7
- package/dist/esm/v2/components/or-segmented-control-v3/OrSegmentedControl.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-segmented-control-v3/index.js +5 -1
- package/dist/esm/v2/components/or-select-v3/OrSelect.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-select-v3/index.js +11 -10
- package/dist/esm/v2/components/or-sidebar-v3/index.js +7 -7
- package/dist/esm/v2/components/or-sidebar-v3/partials/index.js +6 -6
- package/dist/esm/v2/components/or-sidebar-v3/partials/or-sidebar-collapse-button/index.js +6 -6
- package/dist/esm/v2/components/or-sort-header-v3/OrSortHeader.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-sort-header-v3/index.js +5 -1
- package/dist/esm/v2/components/or-switch-v3/OrSwitch.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-switch-v3/index.js +2 -1
- package/dist/esm/v2/components/or-tabs-v3/OrTabs.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-tabs-v3/index.js +8 -7
- package/dist/esm/v2/components/or-tag-input-v3/OrTagInput.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-tag-input-v3/index.js +9 -8
- package/dist/esm/v2/components/or-tag-v3/index.js +6 -6
- package/dist/esm/v2/components/or-tags-v3/index.js +7 -7
- package/dist/esm/v2/components/or-textarea-v3/OrTextarea.vue.d.ts +2 -2
- package/dist/esm/v2/components/or-textarea-v3/index.js +2 -1
- package/dist/esm/v2/components/or-time-picker-v3/OrTimePicker.vue.d.ts +4 -4
- package/dist/esm/v2/components/or-time-picker-v3/index.js +13 -12
- package/dist/esm/v2/components/or-toast-v3/index.js +6 -6
- package/dist/esm/v2/components/or-toast-v3/or-toast-container-v3/index.js +6 -6
- package/dist/esm/v2/components/or-tooltip-v3/index.js +4 -4
- package/dist/esm/v2/hooks/index.d.ts +9 -8
- package/dist/esm/v2/hooks/index.js +2 -1
- package/dist/esm/v2/hooks/usePopoverState.d.ts +8 -7
- package/dist/esm/v2/hooks/useProxyModelValue.d.ts +8 -0
- package/dist/esm/v2/hooks/useTheme.d.ts +2 -1
- package/dist/esm/v2/index.js +40 -42
- package/dist/esm/v2/{types-6b40ad64.js → types-a74e1e20.js} +1 -1
- package/dist/esm/v2/{usePopoverState-8a95a300.js → usePopoverState-b92c698b.js} +6 -6
- package/dist/esm/v2/useProxyModelValue-940010d2.js +29 -0
- package/dist/esm/v3/{OrBottomSheet-f2f3aef9.js → OrBottomSheet-79db2626.js} +2 -2
- package/dist/esm/v3/{OrCardCollection-76f937d5.js → OrCardCollection-4516594a.js} +4 -4
- package/dist/esm/v3/{OrCheckbox-2194e473.js → OrCheckbox-bb06af0f.js} +5 -7
- package/dist/esm/v3/{OrCheckboxGroup-6c36527f.js → OrCheckboxGroup-9a8ab902.js} +8 -8
- package/dist/esm/v3/{OrCheckboxTree-1873a941.js → OrCheckboxTree-969bc928.js} +14 -14
- package/dist/esm/v3/OrCode-0c2310e5.js +325 -0
- package/dist/esm/v3/{OrConfirm-5509c440.js → OrConfirm-240cfe0a.js} +3 -3
- package/dist/esm/v3/{OrDatePicker-4c4fd5dc.js → OrDatePicker-f4470d79.js} +10 -13
- package/dist/esm/v3/{OrDateTimePicker-0a4d194e.js → OrDateTimePicker-546c15ec.js} +13 -27
- package/dist/esm/v3/{OrDateTimePickerPopoverHeader-bc8e0bcf.js → OrDateTimePickerPopoverHeader-96a38b4b.js} +14 -27
- package/dist/esm/v3/{OrExpansionPanel-df527763.js → OrExpansionPanel-af3a0d63.js} +2 -2
- package/dist/esm/v3/{OrIconButton-0aaadc68.js → OrIconButton-00f8f0c7.js} +2 -2
- package/dist/esm/v3/{OrInlineInput-a6c33dc0.js → OrInlineInput-4d47d731.js} +8 -16
- package/dist/esm/v3/{OrInlineTextarea-f060dab5.js → OrInlineTextarea-1415bed9.js} +7 -14
- package/dist/esm/v3/{OrInput-c653aedb.js → OrInput-f0e12c81.js} +4 -8
- package/dist/esm/v3/{OrMenu-9659b8eb.js → OrMenu-dbe1db1e.js} +3 -3
- package/dist/esm/v3/{OrModal-cabce172.js → OrModal-6a90ea79.js} +3 -3
- package/dist/esm/v3/{OrNotification-cbcb0b4a.js → OrNotification-117f2dcb.js} +1 -1
- package/dist/esm/v3/{OrPagination-38067570.js → OrPagination-858337d1.js} +5 -9
- package/dist/esm/v3/{OrPopover-337df396.js → OrPopover-94dc1203.js} +3 -3
- package/dist/esm/v3/{OrRadio-4f0026c9.js → OrRadio-7b722b16.js} +3 -7
- package/dist/esm/v3/{OrRadioGroup-d215409c.js → OrRadioGroup-58c0214c.js} +8 -8
- package/dist/esm/v3/{OrSearch-b945651d.js → OrSearch-051adc07.js} +1 -1
- package/dist/esm/v3/{OrSegmentedControl-359fbf3a.js → OrSegmentedControl-c8eb217d.js} +6 -7
- package/dist/esm/v3/{OrSelect-5a2c078d.js → OrSelect-b3885148.js} +8 -12
- package/dist/esm/v3/{OrSidebar-7f5795da.js → OrSidebar-47f9d02a.js} +1 -1
- package/dist/esm/v3/{OrSidebarCollapseButton-5fb7a6a1.js → OrSidebarCollapseButton-86dafbbc.js} +1 -1
- package/dist/esm/v3/{OrSortHeader-54d85a25.js → OrSortHeader-21a443f9.js} +6 -7
- package/dist/esm/v3/{OrSwitch-ed9868db.js → OrSwitch-a6efd081.js} +3 -7
- package/dist/esm/v3/{OrTabs-9e741419.js → OrTabs-52e49d84.js} +7 -9
- package/dist/esm/v3/{OrTag-fbeca419.js → OrTag-9adef1cd.js} +1 -1
- package/dist/esm/v3/{OrTagInput-6a6d1365.js → OrTagInput-63d0f5fb.js} +5 -9
- package/dist/esm/v3/{OrTags-1621cbb9.js → OrTags-d7a90658.js} +2 -2
- package/dist/esm/v3/{OrTextarea-1e19417a.js → OrTextarea-6202e867.js} +3 -7
- package/dist/esm/v3/{OrTimePicker-67f75e85.js → OrTimePicker-98c00a9b.js} +11 -14
- package/dist/esm/v3/{OrTooltip-3025564a.js → OrTooltip-d7d40e38.js} +3 -3
- package/dist/esm/v3/components/index.d.ts +1 -1
- package/dist/esm/v3/components/index.js +41 -42
- package/dist/esm/v3/components/or-bottom-sheet-v3/index.js +2 -2
- package/dist/esm/v3/components/or-card-collection-v3/index.js +10 -9
- package/dist/esm/v3/components/or-checkbox-group-v3/OrCheckboxGroup.vue.d.ts +2 -2
- package/dist/esm/v3/components/or-checkbox-group-v3/index.js +12 -11
- package/dist/esm/v3/components/or-checkbox-tree-v3/OrCheckboxTree.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-checkbox-tree-v3/index.js +8 -7
- package/dist/esm/v3/components/or-checkbox-v3/index.js +3 -2
- package/dist/esm/v3/components/or-code-v3/OrCode.vue.d.ts +119 -0
- package/dist/esm/v3/components/or-code-v3/index.d.ts +2 -0
- package/dist/esm/v3/components/or-code-v3/index.js +35 -0
- package/dist/esm/v3/components/or-code-v3/props.d.ts +8 -0
- package/dist/esm/v3/components/or-code-v3/styles.d.ts +2 -0
- package/dist/esm/v3/components/or-confirm-v3/index.js +8 -7
- package/dist/esm/v3/components/or-date-picker-v3/OrDatePicker.vue.d.ts +64 -2
- package/dist/esm/v3/components/or-date-picker-v3/index.js +12 -11
- package/dist/esm/v3/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +64 -2
- package/dist/esm/v3/components/or-date-time-picker-v3/index.js +12 -11
- package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-expansion-panel-v3/index.js +2 -2
- package/dist/esm/v3/components/or-icon-button-v3/index.js +5 -5
- package/dist/esm/v3/components/or-inline-input-v3/OrInlineInput.vue.d.ts +2 -2
- package/dist/esm/v3/components/or-inline-input-v3/index.js +7 -6
- package/dist/esm/v3/components/or-inline-textarea-v3/OrInlineTextarea.vue.d.ts +2 -2
- package/dist/esm/v3/components/or-inline-textarea-v3/index.js +7 -6
- package/dist/esm/v3/components/or-input-v3/OrInput.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-input-v3/index.js +7 -6
- package/dist/esm/v3/components/or-menu-v3/index.js +4 -4
- package/dist/esm/v3/components/or-modal-v3/index.js +6 -6
- package/dist/esm/v3/components/or-notification-v3/index.js +6 -6
- package/dist/esm/v3/components/or-pagination-v3/OrPagination.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-pagination-v3/index.js +6 -5
- package/dist/esm/v3/components/or-popover-v3/index.js +3 -3
- package/dist/esm/v3/components/or-radio-group-v3/OrRadioGroup.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-radio-group-v3/index.js +5 -4
- package/dist/esm/v3/components/or-radio-v3/OrRadio.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-radio-v3/index.js +2 -1
- package/dist/esm/v3/components/or-search-v3/index.js +8 -7
- package/dist/esm/v3/components/or-segmented-control-v3/OrSegmentedControl.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-segmented-control-v3/index.js +5 -1
- package/dist/esm/v3/components/or-select-v3/OrSelect.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-select-v3/index.js +11 -10
- package/dist/esm/v3/components/or-sidebar-v3/index.js +7 -7
- package/dist/esm/v3/components/or-sidebar-v3/partials/index.js +6 -6
- package/dist/esm/v3/components/or-sidebar-v3/partials/or-sidebar-collapse-button/index.js +6 -6
- package/dist/esm/v3/components/or-sort-header-v3/OrSortHeader.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-sort-header-v3/index.js +5 -1
- package/dist/esm/v3/components/or-switch-v3/OrSwitch.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-switch-v3/index.js +2 -1
- package/dist/esm/v3/components/or-tabs-v3/OrTabs.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-tabs-v3/index.js +8 -7
- package/dist/esm/v3/components/or-tag-input-v3/OrTagInput.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-tag-input-v3/index.js +9 -8
- package/dist/esm/v3/components/or-tag-v3/index.js +6 -6
- package/dist/esm/v3/components/or-tags-v3/index.js +7 -7
- package/dist/esm/v3/components/or-textarea-v3/OrTextarea.vue.d.ts +1 -1
- package/dist/esm/v3/components/or-textarea-v3/index.js +2 -1
- package/dist/esm/v3/components/or-time-picker-v3/OrTimePicker.vue.d.ts +64 -2
- package/dist/esm/v3/components/or-time-picker-v3/index.js +13 -12
- package/dist/esm/v3/components/or-toast-v3/index.js +6 -6
- package/dist/esm/v3/components/or-toast-v3/or-toast-container-v3/index.js +6 -6
- package/dist/esm/v3/components/or-tooltip-v3/index.js +4 -4
- package/dist/esm/v3/hooks/index.d.ts +9 -8
- package/dist/esm/v3/hooks/index.js +2 -1
- package/dist/esm/v3/hooks/usePopoverState.d.ts +8 -7
- package/dist/esm/v3/hooks/useProxyModelValue.d.ts +8 -0
- package/dist/esm/v3/hooks/useTheme.d.ts +2 -1
- package/dist/esm/v3/index.js +39 -41
- package/dist/esm/v3/{types-53cb1e6c.js → types-c78924f3.js} +1 -1
- package/dist/esm/v3/{usePopoverState-8a95a300.js → usePopoverState-b92c698b.js} +6 -6
- package/dist/esm/v3/useProxyModelValue-940010d2.js +29 -0
- package/package.json +11 -15
- package/src/components/index.ts +1 -1
- package/src/components/or-bottom-sheet-v3/OrBottomSheet.vue +1 -1
- package/src/components/or-checkbox-group-v3/OrCheckboxGroup.vue +8 -7
- package/src/components/or-checkbox-tree-v3/OrCheckboxTree.vue +8 -7
- package/src/components/or-checkbox-v3/OrCheckbox.vue +4 -5
- package/src/components/or-code-v3/OrCode.vue +365 -0
- package/src/components/or-code-v3/index.ts +2 -0
- package/src/components/or-code-v3/props.ts +8 -0
- package/src/components/or-code-v3/styles.ts +23 -0
- package/src/components/or-confirm-v3/OrConfirm.vue +1 -1
- package/src/components/or-date-picker-v3/OrDatePicker.vue +5 -11
- package/src/components/or-date-time-picker-v3/OrDateTimePicker.vue +5 -11
- package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue +3 -8
- package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue +4 -7
- package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.ts +1 -1
- package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue +4 -7
- package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue +3 -8
- package/src/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue +4 -7
- package/src/components/or-expansion-panel-v3/OrExpansionPanel.vue +1 -1
- package/src/components/or-inline-input-v3/OrInlineInput.vue +7 -15
- package/src/components/or-inline-textarea-v3/OrInlineTextarea.vue +6 -14
- package/src/components/or-input-v3/OrInput.vue +3 -9
- package/src/components/or-menu-v3/OrMenu.vue +1 -1
- package/src/components/or-modal-v3/OrModal.vue +1 -1
- package/src/components/or-pagination-v3/OrPagination.vue +3 -9
- package/src/components/or-popover-v3/OrPopover.vue +1 -1
- package/src/components/or-radio-group-v3/OrRadioGroup.vue +5 -6
- package/src/components/or-radio-v3/OrRadio.vue +3 -9
- package/src/components/or-segmented-control-v3/OrSegmentedControl.vue +3 -8
- package/src/components/or-select-v3/OrSelect.vue +3 -9
- package/src/components/or-sort-header-v3/OrSortHeader.vue +3 -8
- package/src/components/or-switch-v3/OrSwitch.vue +3 -9
- package/src/components/or-tabs-v3/OrTabs.vue +3 -8
- package/src/components/or-tag-input-v3/OrTagInput.vue +3 -10
- package/src/components/or-textarea-v3/OrTextarea.vue +3 -9
- package/src/components/or-time-picker-v3/OrTimePicker.vue +5 -11
- package/src/components/or-tooltip-v3/OrTooltip.vue +1 -1
- package/src/hooks/index.ts +9 -8
- package/src/hooks/usePopoverState.ts +17 -16
- package/src/hooks/useProxyModelValue.ts +50 -0
- package/src/hooks/useTheme.ts +4 -2
- package/src/shims.d.ts +0 -1
- package/dist/bundled/v2/components/OrCarousel/OrCarousel.js +0 -2886
- package/dist/bundled/v2/components/OrCarousel/OrCarousel.vue.d.ts +0 -1132
- package/dist/bundled/v2/components/OrCarousel/constants.d.ts +0 -15
- package/dist/bundled/v2/components/OrCarousel/constants.js +0 -21
- package/dist/bundled/v2/components/OrCarousel/index.d.ts +0 -2
- package/dist/bundled/v2/components/OrCarousel/index.js +0 -22
- package/dist/bundled/v2/components/OrCarouselItem/OrCarouselItem.js +0 -41
- package/dist/bundled/v2/components/OrCarouselItem/OrCarouselItem.vue.d.ts +0 -2
- package/dist/bundled/v2/components/OrCarouselItem/index.d.ts +0 -1
- package/dist/bundled/v2/components/OrCarouselItem/index.js +0 -3
- package/dist/bundled/v2/components/OrHint/OrHint.stories.bundled.d.ts +0 -8
- package/dist/bundled/v3/OrCarousel.vue_vue_type_script_lang-75c50882.js +0 -2809
- package/dist/bundled/v3/OrCarouselItem.vue_vue_type_script_lang-42da2f4a.js +0 -7
- package/dist/bundled/v3/components/OrCarousel/OrCarousel.js +0 -66
- package/dist/bundled/v3/components/OrCarousel/OrCarousel.vue.d.ts +0 -582
- package/dist/bundled/v3/components/OrCarousel/constants.d.ts +0 -15
- package/dist/bundled/v3/components/OrCarousel/constants.js +0 -21
- package/dist/bundled/v3/components/OrCarousel/index.d.ts +0 -2
- package/dist/bundled/v3/components/OrCarousel/index.js +0 -24
- package/dist/bundled/v3/components/OrCarouselItem/OrCarouselItem.js +0 -14
- package/dist/bundled/v3/components/OrCarouselItem/OrCarouselItem.vue.d.ts +0 -2
- package/dist/bundled/v3/components/OrCarouselItem/index.d.ts +0 -1
- package/dist/bundled/v3/components/OrCarouselItem/index.js +0 -2
- package/dist/bundled/v3/components/OrHint/OrHint.stories.bundled.d.ts +0 -8
- package/dist/esm/v2/OrCarousel-b220cf82.js +0 -251
- package/dist/esm/v2/OrCarouselItem-c614bab9.js +0 -41
- package/dist/esm/v2/components/or-carousel/OrCarousel.vue.d.ts +0 -1132
- package/dist/esm/v2/components/or-carousel/constants.d.ts +0 -15
- package/dist/esm/v2/components/or-carousel/index.d.ts +0 -2
- package/dist/esm/v2/components/or-carousel/index.js +0 -19
- package/dist/esm/v2/components/or-carousel/or-carousel-item/OrCarouselItem.vue.d.ts +0 -2
- package/dist/esm/v2/components/or-carousel/or-carousel-item/index.d.ts +0 -1
- package/dist/esm/v2/components/or-carousel/or-carousel-item/index.js +0 -3
- package/dist/esm/v2/components/or-hint/OrHint.stories.bundled.d.ts +0 -8
- package/dist/esm/v3/OrCarousel-5cc74f26.js +0 -231
- package/dist/esm/v3/OrCarouselItem-8c7ccd0f.js +0 -18
- package/dist/esm/v3/components/or-carousel/OrCarousel.vue.d.ts +0 -582
- package/dist/esm/v3/components/or-carousel/constants.d.ts +0 -15
- package/dist/esm/v3/components/or-carousel/index.d.ts +0 -2
- package/dist/esm/v3/components/or-carousel/index.js +0 -18
- package/dist/esm/v3/components/or-carousel/or-carousel-item/OrCarouselItem.vue.d.ts +0 -2
- package/dist/esm/v3/components/or-carousel/or-carousel-item/index.d.ts +0 -1
- package/dist/esm/v3/components/or-carousel/or-carousel-item/index.js +0 -3
- package/dist/esm/v3/components/or-hint/OrHint.stories.bundled.d.ts +0 -8
- package/src/components/or-carousel/OrCarousel.stories.mdx +0 -34
- package/src/components/or-carousel/OrCarousel.stories.ts +0 -103
- package/src/components/or-carousel/OrCarousel.vue +0 -204
- package/src/components/or-carousel/constants.ts +0 -49
- package/src/components/or-carousel/index.ts +0 -2
- package/src/components/or-carousel/or-carousel-item/OrCarouselItem.vue +0 -12
- package/src/components/or-carousel/or-carousel-item/index.ts +0 -1
- package/src/components/or-hint/OrHint.stories.bundled.ts +0 -28
- package/dist/bundled/v2/{OrDateTimePickerPopoverHeader-28995b95.js → OrDateTimePickerPopoverHeader-52a99e6a.js} +0 -0
- package/dist/bundled/v3/{OrToastContainer.vue_vue_type_script_lang-d1a074fe.js → OrToastContainer.vue_vue_type_script_lang-7d44207e.js} +1 -1
- /package/dist/bundled/v3/{OrToastContainer.vue_vue_type_script_lang-c47d63be.js → OrToastContainer.vue_vue_type_script_lang-f9813bc6.js} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { s as syntaxTree, E as EditorView,
|
|
2
|
-
import { OrCodeLanguages } from './components/OrCode/constants.js';
|
|
1
|
+
import { s as syntaxTree, E as EditorView, q as codePointSize, p as codePointAt, b as EditorSelection, t as CharCategory, P as Prec, k as keymap, F as Facet, c as combineConfig, $ as getTooltip, V as ViewPlugin, a0 as logException, l as StateEffect, S as StateField, a1 as showTooltip, a2 as MapMode, a3 as RangeValue, a4 as RangeSet, u as fromCodePoint, A as Annotation, D as Direction, e as Text, f as indentUnit, o as Decoration, W as WidgetType, a5 as Parser, a6 as NodeSet, a7 as NodeType, a8 as DefaultBufferLength, N as NodeProp, a9 as Tree, aa as IterMode, ab as styleTags, _ as tags$1, ac as parseMixed, ad as LanguageSupport, ae as LRLanguage, af as indentNodeProp, ag as continuedIndent, ah as foldNodeProp, ai as foldInside, aj as NodeWeakMap, ak as flatIndent, al as delimitedIndent, am as sublanguageProp, an as defineLanguageFacet, ao as bracketMatchingHandle, ap as Tag, aq as Language, ar as languageDataProp, as as foldService, at as LanguageDescription, au as ParseContext } from './index-451f3d87.js';
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
An instance of this is passed to completion source functions.
|
|
@@ -129,14 +128,15 @@ function ifNotIn(nodes, source) {
|
|
|
129
128
|
};
|
|
130
129
|
}
|
|
131
130
|
class Option {
|
|
132
|
-
constructor(completion, source, match) {
|
|
131
|
+
constructor(completion, source, match, score) {
|
|
133
132
|
this.completion = completion;
|
|
134
133
|
this.source = source;
|
|
135
134
|
this.match = match;
|
|
135
|
+
this.score = score;
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
function cur(state) {
|
|
139
|
-
return state.selection.main.
|
|
139
|
+
return state.selection.main.from;
|
|
140
140
|
}
|
|
141
141
|
// Make sure the given regexp has a $ at its end and, if `start` is
|
|
142
142
|
// true, a ^ at its start.
|
|
@@ -161,38 +161,27 @@ completion's text in the main selection range, and any other
|
|
|
161
161
|
selection range that has the same text in front of it.
|
|
162
162
|
*/
|
|
163
163
|
function insertCompletionText(state, text, from, to) {
|
|
164
|
+
let {
|
|
165
|
+
main
|
|
166
|
+
} = state.selection,
|
|
167
|
+
fromOff = from - main.from,
|
|
168
|
+
toOff = to - main.from;
|
|
164
169
|
return Object.assign(Object.assign({}, state.changeByRange(range => {
|
|
165
|
-
if (range
|
|
166
|
-
changes: {
|
|
167
|
-
from: from,
|
|
168
|
-
to: to,
|
|
169
|
-
insert: text
|
|
170
|
-
},
|
|
171
|
-
range: EditorSelection.cursor(from + text.length)
|
|
172
|
-
};
|
|
173
|
-
let len = to - from;
|
|
174
|
-
if (!range.empty || len && state.sliceDoc(range.from - len, range.from) != state.sliceDoc(from, to)) return {
|
|
170
|
+
if (range != main && from != to && state.sliceDoc(range.from + fromOff, range.from + toOff) != state.sliceDoc(from, to)) return {
|
|
175
171
|
range
|
|
176
172
|
};
|
|
177
173
|
return {
|
|
178
174
|
changes: {
|
|
179
|
-
from: range.from
|
|
180
|
-
to: range.from,
|
|
175
|
+
from: range.from + fromOff,
|
|
176
|
+
to: to == main.from ? range.to : range.from + toOff,
|
|
181
177
|
insert: text
|
|
182
178
|
},
|
|
183
|
-
range: EditorSelection.cursor(range.from
|
|
179
|
+
range: EditorSelection.cursor(range.from + fromOff + text.length)
|
|
184
180
|
};
|
|
185
181
|
})), {
|
|
186
182
|
userEvent: "input.complete"
|
|
187
183
|
});
|
|
188
184
|
}
|
|
189
|
-
function applyCompletion(view, option) {
|
|
190
|
-
const apply = option.completion.apply || option.completion.label;
|
|
191
|
-
let result = option.source;
|
|
192
|
-
if (typeof apply == "string") view.dispatch(Object.assign(Object.assign({}, insertCompletionText(view.state, apply, result.from, result.to)), {
|
|
193
|
-
annotations: pickedCompletion.of(option.completion)
|
|
194
|
-
}));else apply(view, option.completion, result.from, result.to);
|
|
195
|
-
}
|
|
196
185
|
const SourceCache = /*@__PURE__*/new WeakMap();
|
|
197
186
|
function asSource(source) {
|
|
198
187
|
if (!Array.isArray(source)) return source;
|
|
@@ -200,6 +189,8 @@ function asSource(source) {
|
|
|
200
189
|
if (!known) SourceCache.set(source, known = completeFromList(source));
|
|
201
190
|
return known;
|
|
202
191
|
}
|
|
192
|
+
const startCompletionEffect = /*@__PURE__*/StateEffect.define();
|
|
193
|
+
const closeCompletionEffect = /*@__PURE__*/StateEffect.define();
|
|
203
194
|
|
|
204
195
|
// A pattern matcher for fuzzy completion matching. Create an instance
|
|
205
196
|
// once for a pattern, and then use that to match any number of
|
|
@@ -233,7 +224,7 @@ class FuzzyMatcher {
|
|
|
233
224
|
// The score is a number that is more negative the worse the match
|
|
234
225
|
// is. See `Penalty` above.
|
|
235
226
|
match(word) {
|
|
236
|
-
if (this.pattern.length == 0) return [
|
|
227
|
+
if (this.pattern.length == 0) return [-100 /* Penalty.NotFull */];
|
|
237
228
|
if (word.length < this.pattern.length) return null;
|
|
238
229
|
let {
|
|
239
230
|
chars,
|
|
@@ -335,6 +326,7 @@ const completionConfig = /*@__PURE__*/Facet.define({
|
|
|
335
326
|
aboveCursor: false,
|
|
336
327
|
icons: true,
|
|
337
328
|
addToOptions: [],
|
|
329
|
+
positionInfo: defaultPositionInfo,
|
|
338
330
|
compareCompletions: (a, b) => a.label.localeCompare(b.label),
|
|
339
331
|
interactionDelay: 75
|
|
340
332
|
}, {
|
|
@@ -350,6 +342,256 @@ const completionConfig = /*@__PURE__*/Facet.define({
|
|
|
350
342
|
function joinClass(a, b) {
|
|
351
343
|
return a ? b ? a + " " + b : a : b;
|
|
352
344
|
}
|
|
345
|
+
function defaultPositionInfo(view, list, option, info, space) {
|
|
346
|
+
let rtl = view.textDirection == Direction.RTL,
|
|
347
|
+
left = rtl,
|
|
348
|
+
narrow = false;
|
|
349
|
+
let side = "top",
|
|
350
|
+
offset,
|
|
351
|
+
maxWidth;
|
|
352
|
+
let spaceLeft = list.left - space.left,
|
|
353
|
+
spaceRight = space.right - list.right;
|
|
354
|
+
let infoWidth = info.right - info.left,
|
|
355
|
+
infoHeight = info.bottom - info.top;
|
|
356
|
+
if (left && spaceLeft < Math.min(infoWidth, spaceRight)) left = false;else if (!left && spaceRight < Math.min(infoWidth, spaceLeft)) left = true;
|
|
357
|
+
if (infoWidth <= (left ? spaceLeft : spaceRight)) {
|
|
358
|
+
offset = Math.max(space.top, Math.min(option.top, space.bottom - infoHeight)) - list.top;
|
|
359
|
+
maxWidth = Math.min(400 /* Info.Width */, left ? spaceLeft : spaceRight);
|
|
360
|
+
} else {
|
|
361
|
+
narrow = true;
|
|
362
|
+
maxWidth = Math.min(400 /* Info.Width */, (rtl ? list.right : space.right - list.left) - 30 /* Info.Margin */);
|
|
363
|
+
let spaceBelow = space.bottom - list.bottom;
|
|
364
|
+
if (spaceBelow >= infoHeight || spaceBelow > list.top) {
|
|
365
|
+
// Below the completion
|
|
366
|
+
offset = option.bottom - list.top;
|
|
367
|
+
} else {
|
|
368
|
+
// Above it
|
|
369
|
+
side = "bottom";
|
|
370
|
+
offset = list.bottom - option.top;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
return {
|
|
374
|
+
style: `${side}: ${offset}px; max-width: ${maxWidth}px`,
|
|
375
|
+
class: "cm-completionInfo-" + (narrow ? rtl ? "left-narrow" : "right-narrow" : left ? "left" : "right")
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
Returns a command that moves the completion selection forward or
|
|
381
|
+
backward by the given amount.
|
|
382
|
+
*/
|
|
383
|
+
function moveCompletionSelection(forward) {
|
|
384
|
+
let by = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "option";
|
|
385
|
+
return view => {
|
|
386
|
+
let cState = view.state.field(completionState, false);
|
|
387
|
+
if (!cState || !cState.open || cState.open.disabled || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay) return false;
|
|
388
|
+
let step = 1,
|
|
389
|
+
tooltip;
|
|
390
|
+
if (by == "page" && (tooltip = getTooltip(view, cState.open.tooltip))) step = Math.max(2, Math.floor(tooltip.dom.offsetHeight / tooltip.dom.querySelector("li").offsetHeight) - 1);
|
|
391
|
+
let {
|
|
392
|
+
length
|
|
393
|
+
} = cState.open.options;
|
|
394
|
+
let selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;
|
|
395
|
+
if (selected < 0) selected = by == "page" ? 0 : length - 1;else if (selected >= length) selected = by == "page" ? length - 1 : 0;
|
|
396
|
+
view.dispatch({
|
|
397
|
+
effects: setSelectedEffect.of(selected)
|
|
398
|
+
});
|
|
399
|
+
return true;
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
Accept the current completion.
|
|
404
|
+
*/
|
|
405
|
+
const acceptCompletion = view => {
|
|
406
|
+
let cState = view.state.field(completionState, false);
|
|
407
|
+
if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay) return false;
|
|
408
|
+
if (!cState.open.disabled) return applyCompletion(view, cState.open.options[cState.open.selected]);
|
|
409
|
+
return true;
|
|
410
|
+
};
|
|
411
|
+
/**
|
|
412
|
+
Explicitly start autocompletion.
|
|
413
|
+
*/
|
|
414
|
+
const startCompletion = view => {
|
|
415
|
+
let cState = view.state.field(completionState, false);
|
|
416
|
+
if (!cState) return false;
|
|
417
|
+
view.dispatch({
|
|
418
|
+
effects: startCompletionEffect.of(true)
|
|
419
|
+
});
|
|
420
|
+
return true;
|
|
421
|
+
};
|
|
422
|
+
/**
|
|
423
|
+
Close the currently active completion.
|
|
424
|
+
*/
|
|
425
|
+
const closeCompletion = view => {
|
|
426
|
+
let cState = view.state.field(completionState, false);
|
|
427
|
+
if (!cState || !cState.active.some(a => a.state != 0 /* State.Inactive */)) return false;
|
|
428
|
+
view.dispatch({
|
|
429
|
+
effects: closeCompletionEffect.of(null)
|
|
430
|
+
});
|
|
431
|
+
return true;
|
|
432
|
+
};
|
|
433
|
+
class RunningQuery {
|
|
434
|
+
constructor(active, context) {
|
|
435
|
+
this.active = active;
|
|
436
|
+
this.context = context;
|
|
437
|
+
this.time = Date.now();
|
|
438
|
+
this.updates = [];
|
|
439
|
+
// Note that 'undefined' means 'not done yet', whereas 'null' means
|
|
440
|
+
// 'query returned null'.
|
|
441
|
+
this.done = undefined;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
const DebounceTime = 50,
|
|
445
|
+
MaxUpdateCount = 50,
|
|
446
|
+
MinAbortTime = 1000;
|
|
447
|
+
const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
|
|
448
|
+
constructor(view) {
|
|
449
|
+
this.view = view;
|
|
450
|
+
this.debounceUpdate = -1;
|
|
451
|
+
this.running = [];
|
|
452
|
+
this.debounceAccept = -1;
|
|
453
|
+
this.composing = 0 /* CompositionState.None */;
|
|
454
|
+
for (let active of view.state.field(completionState).active) if (active.state == 1 /* State.Pending */) this.startQuery(active);
|
|
455
|
+
}
|
|
456
|
+
update(update) {
|
|
457
|
+
let cState = update.state.field(completionState);
|
|
458
|
+
if (!update.selectionSet && !update.docChanged && update.startState.field(completionState) == cState) return;
|
|
459
|
+
let doesReset = update.transactions.some(tr => {
|
|
460
|
+
return (tr.selection || tr.docChanged) && !getUserEvent(tr);
|
|
461
|
+
});
|
|
462
|
+
for (let i = 0; i < this.running.length; i++) {
|
|
463
|
+
let query = this.running[i];
|
|
464
|
+
if (doesReset || query.updates.length + update.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) {
|
|
465
|
+
for (let handler of query.context.abortListeners) {
|
|
466
|
+
try {
|
|
467
|
+
handler();
|
|
468
|
+
} catch (e) {
|
|
469
|
+
logException(this.view.state, e);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
query.context.abortListeners = null;
|
|
473
|
+
this.running.splice(i--, 1);
|
|
474
|
+
} else {
|
|
475
|
+
query.updates.push(...update.transactions);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (this.debounceUpdate > -1) clearTimeout(this.debounceUpdate);
|
|
479
|
+
this.debounceUpdate = cState.active.some(a => a.state == 1 /* State.Pending */ && !this.running.some(q => q.active.source == a.source)) ? setTimeout(() => this.startUpdate(), DebounceTime) : -1;
|
|
480
|
+
if (this.composing != 0 /* CompositionState.None */) for (let tr of update.transactions) {
|
|
481
|
+
if (getUserEvent(tr) == "input") this.composing = 2 /* CompositionState.Changed */;else if (this.composing == 2 /* CompositionState.Changed */ && tr.selection) this.composing = 3 /* CompositionState.ChangedAndMoved */;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
startUpdate() {
|
|
486
|
+
this.debounceUpdate = -1;
|
|
487
|
+
let {
|
|
488
|
+
state
|
|
489
|
+
} = this.view,
|
|
490
|
+
cState = state.field(completionState);
|
|
491
|
+
for (let active of cState.active) {
|
|
492
|
+
if (active.state == 1 /* State.Pending */ && !this.running.some(r => r.active.source == active.source)) this.startQuery(active);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
startQuery(active) {
|
|
496
|
+
let {
|
|
497
|
+
state
|
|
498
|
+
} = this.view,
|
|
499
|
+
pos = cur(state);
|
|
500
|
+
let context = new CompletionContext(state, pos, active.explicitPos == pos);
|
|
501
|
+
let pending = new RunningQuery(active, context);
|
|
502
|
+
this.running.push(pending);
|
|
503
|
+
Promise.resolve(active.source(context)).then(result => {
|
|
504
|
+
if (!pending.context.aborted) {
|
|
505
|
+
pending.done = result || null;
|
|
506
|
+
this.scheduleAccept();
|
|
507
|
+
}
|
|
508
|
+
}, err => {
|
|
509
|
+
this.view.dispatch({
|
|
510
|
+
effects: closeCompletionEffect.of(null)
|
|
511
|
+
});
|
|
512
|
+
logException(this.view.state, err);
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
scheduleAccept() {
|
|
516
|
+
if (this.running.every(q => q.done !== undefined)) this.accept();else if (this.debounceAccept < 0) this.debounceAccept = setTimeout(() => this.accept(), DebounceTime);
|
|
517
|
+
}
|
|
518
|
+
// For each finished query in this.running, try to create a result
|
|
519
|
+
// or, if appropriate, restart the query.
|
|
520
|
+
accept() {
|
|
521
|
+
var _a;
|
|
522
|
+
if (this.debounceAccept > -1) clearTimeout(this.debounceAccept);
|
|
523
|
+
this.debounceAccept = -1;
|
|
524
|
+
let updated = [];
|
|
525
|
+
let conf = this.view.state.facet(completionConfig);
|
|
526
|
+
for (let i = 0; i < this.running.length; i++) {
|
|
527
|
+
let query = this.running[i];
|
|
528
|
+
if (query.done === undefined) continue;
|
|
529
|
+
this.running.splice(i--, 1);
|
|
530
|
+
if (query.done) {
|
|
531
|
+
let active = new ActiveResult(query.active.source, query.active.explicitPos, query.done, query.done.from, (_a = query.done.to) !== null && _a !== void 0 ? _a : cur(query.updates.length ? query.updates[0].startState : this.view.state));
|
|
532
|
+
// Replay the transactions that happened since the start of
|
|
533
|
+
// the request and see if that preserves the result
|
|
534
|
+
for (let tr of query.updates) active = active.update(tr, conf);
|
|
535
|
+
if (active.hasResult()) {
|
|
536
|
+
updated.push(active);
|
|
537
|
+
continue;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
let current = this.view.state.field(completionState).active.find(a => a.source == query.active.source);
|
|
541
|
+
if (current && current.state == 1 /* State.Pending */) {
|
|
542
|
+
if (query.done == null) {
|
|
543
|
+
// Explicitly failed. Should clear the pending status if it
|
|
544
|
+
// hasn't been re-set in the meantime.
|
|
545
|
+
let active = new ActiveSource(query.active.source, 0 /* State.Inactive */);
|
|
546
|
+
for (let tr of query.updates) active = active.update(tr, conf);
|
|
547
|
+
if (active.state != 1 /* State.Pending */) updated.push(active);
|
|
548
|
+
} else {
|
|
549
|
+
// Cleared by subsequent transactions. Restart.
|
|
550
|
+
this.startQuery(current);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
if (updated.length) this.view.dispatch({
|
|
555
|
+
effects: setActiveEffect.of(updated)
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
}, {
|
|
559
|
+
eventHandlers: {
|
|
560
|
+
blur(event) {
|
|
561
|
+
let state = this.view.state.field(completionState, false);
|
|
562
|
+
if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) {
|
|
563
|
+
let dialog = state.open && getTooltip(this.view, state.open.tooltip);
|
|
564
|
+
if (!dialog || !dialog.dom.contains(event.relatedTarget)) this.view.dispatch({
|
|
565
|
+
effects: closeCompletionEffect.of(null)
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
},
|
|
569
|
+
compositionstart() {
|
|
570
|
+
this.composing = 1 /* CompositionState.Started */;
|
|
571
|
+
},
|
|
572
|
+
|
|
573
|
+
compositionend() {
|
|
574
|
+
if (this.composing == 3 /* CompositionState.ChangedAndMoved */) {
|
|
575
|
+
// Safari fires compositionend events synchronously, possibly
|
|
576
|
+
// from inside an update, so dispatch asynchronously to avoid reentrancy
|
|
577
|
+
setTimeout(() => this.view.dispatch({
|
|
578
|
+
effects: startCompletionEffect.of(false)
|
|
579
|
+
}), 20);
|
|
580
|
+
}
|
|
581
|
+
this.composing = 0 /* CompositionState.None */;
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
});
|
|
585
|
+
|
|
586
|
+
function applyCompletion(view, option) {
|
|
587
|
+
const apply = option.completion.apply || option.completion.label;
|
|
588
|
+
let result = view.state.field(completionState).active.find(a => a.source == option.source);
|
|
589
|
+
if (!(result instanceof ActiveResult)) return false;
|
|
590
|
+
if (typeof apply == "string") view.dispatch(Object.assign(Object.assign({}, insertCompletionText(view.state, apply, result.from, result.to)), {
|
|
591
|
+
annotations: pickedCompletion.of(option.completion)
|
|
592
|
+
}));else apply(view, option.completion, result.from, result.to);
|
|
593
|
+
return true;
|
|
594
|
+
}
|
|
353
595
|
function optionContent(config) {
|
|
354
596
|
let content = config.addToOptions.slice();
|
|
355
597
|
if (config.icons) content.push({
|
|
@@ -419,9 +661,9 @@ class CompletionTooltip {
|
|
|
419
661
|
this.view = view;
|
|
420
662
|
this.stateField = stateField;
|
|
421
663
|
this.info = null;
|
|
422
|
-
this.
|
|
664
|
+
this.placeInfoReq = {
|
|
423
665
|
read: () => this.measureInfo(),
|
|
424
|
-
write: pos => this.
|
|
666
|
+
write: pos => this.placeInfo(pos),
|
|
425
667
|
key: this
|
|
426
668
|
};
|
|
427
669
|
this.space = null;
|
|
@@ -448,9 +690,15 @@ class CompletionTooltip {
|
|
|
448
690
|
}
|
|
449
691
|
}
|
|
450
692
|
});
|
|
693
|
+
this.dom.addEventListener("focusout", e => {
|
|
694
|
+
let state = view.state.field(this.stateField, false);
|
|
695
|
+
if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur && e.relatedTarget != view.contentDOM) view.dispatch({
|
|
696
|
+
effects: closeCompletionEffect.of(null)
|
|
697
|
+
});
|
|
698
|
+
});
|
|
451
699
|
this.list = this.dom.appendChild(this.createListBox(options, cState.id, this.range));
|
|
452
700
|
this.list.addEventListener("scroll", () => {
|
|
453
|
-
if (this.info) this.view.requestMeasure(this.
|
|
701
|
+
if (this.info) this.view.requestMeasure(this.placeInfoReq);
|
|
454
702
|
});
|
|
455
703
|
}
|
|
456
704
|
mount() {
|
|
@@ -476,7 +724,7 @@ class CompletionTooltip {
|
|
|
476
724
|
}
|
|
477
725
|
positioned(space) {
|
|
478
726
|
this.space = space;
|
|
479
|
-
if (this.info) this.view.requestMeasure(this.
|
|
727
|
+
if (this.info) this.view.requestMeasure(this.placeInfoReq);
|
|
480
728
|
}
|
|
481
729
|
updateSel() {
|
|
482
730
|
let cState = this.view.state.field(this.stateField),
|
|
@@ -486,7 +734,7 @@ class CompletionTooltip {
|
|
|
486
734
|
this.list.remove();
|
|
487
735
|
this.list = this.dom.appendChild(this.createListBox(open.options, cState.id, this.range));
|
|
488
736
|
this.list.addEventListener("scroll", () => {
|
|
489
|
-
if (this.info) this.view.requestMeasure(this.
|
|
737
|
+
if (this.info) this.view.requestMeasure(this.placeInfoReq);
|
|
490
738
|
});
|
|
491
739
|
}
|
|
492
740
|
if (this.updateSelectedOption(open.selected)) {
|
|
@@ -517,12 +765,14 @@ class CompletionTooltip {
|
|
|
517
765
|
dom.className = "cm-tooltip cm-completionInfo";
|
|
518
766
|
dom.appendChild(content);
|
|
519
767
|
this.dom.appendChild(dom);
|
|
520
|
-
this.view.requestMeasure(this.
|
|
768
|
+
this.view.requestMeasure(this.placeInfoReq);
|
|
521
769
|
}
|
|
522
770
|
updateSelectedOption(selected) {
|
|
523
771
|
let set = null;
|
|
524
772
|
for (let opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) {
|
|
525
|
-
if (
|
|
773
|
+
if (opt.nodeName != "LI" || !opt.id) {
|
|
774
|
+
i--; // A section header
|
|
775
|
+
} else if (i == selected) {
|
|
526
776
|
if (!opt.hasAttribute("aria-selected")) {
|
|
527
777
|
opt.setAttribute("aria-selected", "true");
|
|
528
778
|
set = opt;
|
|
@@ -551,44 +801,15 @@ class CompletionTooltip {
|
|
|
551
801
|
};
|
|
552
802
|
}
|
|
553
803
|
if (selRect.top > Math.min(space.bottom, listRect.bottom) - 10 || selRect.bottom < Math.max(space.top, listRect.top) + 10) return null;
|
|
554
|
-
|
|
555
|
-
left = rtl,
|
|
556
|
-
narrow = false,
|
|
557
|
-
maxWidth;
|
|
558
|
-
let top = "",
|
|
559
|
-
bottom = "";
|
|
560
|
-
let spaceLeft = listRect.left - space.left,
|
|
561
|
-
spaceRight = space.right - listRect.right;
|
|
562
|
-
if (left && spaceLeft < Math.min(infoRect.width, spaceRight)) left = false;else if (!left && spaceRight < Math.min(infoRect.width, spaceLeft)) left = true;
|
|
563
|
-
if (infoRect.width <= (left ? spaceLeft : spaceRight)) {
|
|
564
|
-
top = Math.max(space.top, Math.min(selRect.top, space.bottom - infoRect.height)) - listRect.top + "px";
|
|
565
|
-
maxWidth = Math.min(400 /* Info.Width */, left ? spaceLeft : spaceRight) + "px";
|
|
566
|
-
} else {
|
|
567
|
-
narrow = true;
|
|
568
|
-
maxWidth = Math.min(400 /* Info.Width */, (rtl ? listRect.right : space.right - listRect.left) - 30 /* Info.Margin */) + "px";
|
|
569
|
-
let spaceBelow = space.bottom - listRect.bottom;
|
|
570
|
-
if (spaceBelow >= infoRect.height || spaceBelow > listRect.top)
|
|
571
|
-
// Below the completion
|
|
572
|
-
top = selRect.bottom - listRect.top + "px";else
|
|
573
|
-
// Above it
|
|
574
|
-
bottom = listRect.bottom - selRect.top + "px";
|
|
575
|
-
}
|
|
576
|
-
return {
|
|
577
|
-
top,
|
|
578
|
-
bottom,
|
|
579
|
-
maxWidth,
|
|
580
|
-
class: narrow ? rtl ? "left-narrow" : "right-narrow" : left ? "left" : "right"
|
|
581
|
-
};
|
|
804
|
+
return this.view.state.facet(completionConfig).positionInfo(this.view, listRect, selRect, infoRect, space);
|
|
582
805
|
}
|
|
583
|
-
|
|
806
|
+
placeInfo(pos) {
|
|
584
807
|
if (this.info) {
|
|
585
808
|
if (pos) {
|
|
586
|
-
this.info.style.
|
|
587
|
-
this.info.
|
|
588
|
-
this.info.style.maxWidth = pos.maxWidth;
|
|
589
|
-
this.info.className = "cm-tooltip cm-completionInfo cm-completionInfo-" + pos.class;
|
|
809
|
+
if (pos.style) this.info.style.cssText = pos.style;
|
|
810
|
+
this.info.className = "cm-tooltip cm-completionInfo " + (pos.class || "");
|
|
590
811
|
} else {
|
|
591
|
-
this.info.style.
|
|
812
|
+
this.info.style.cssText = "top: -1e6px";
|
|
592
813
|
}
|
|
593
814
|
}
|
|
594
815
|
}
|
|
@@ -598,11 +819,27 @@ class CompletionTooltip {
|
|
|
598
819
|
ul.setAttribute("role", "listbox");
|
|
599
820
|
ul.setAttribute("aria-expanded", "true");
|
|
600
821
|
ul.setAttribute("aria-label", this.view.state.phrase("Completions"));
|
|
822
|
+
let curSection = null;
|
|
601
823
|
for (let i = range.from; i < range.to; i++) {
|
|
602
824
|
let {
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
825
|
+
completion,
|
|
826
|
+
match
|
|
827
|
+
} = options[i],
|
|
828
|
+
{
|
|
829
|
+
section
|
|
830
|
+
} = completion;
|
|
831
|
+
if (section) {
|
|
832
|
+
let name = typeof section == "string" ? section : section.name;
|
|
833
|
+
if (name != curSection && (i > range.from || range.from == 0)) {
|
|
834
|
+
curSection = name;
|
|
835
|
+
if (typeof section != "string" && section.header) {
|
|
836
|
+
ul.appendChild(section.header(section));
|
|
837
|
+
} else {
|
|
838
|
+
let header = ul.appendChild(document.createElement("completion-section"));
|
|
839
|
+
header.textContent = name;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
}
|
|
606
843
|
const li = ul.appendChild(document.createElement("li"));
|
|
607
844
|
li.id = id + "-" + i;
|
|
608
845
|
li.setAttribute("role", "option");
|
|
@@ -635,29 +872,59 @@ function score(option) {
|
|
|
635
872
|
return (option.boost || 0) * 100 + (option.apply ? 10 : 0) + (option.info ? 5 : 0) + (option.type ? 1 : 0);
|
|
636
873
|
}
|
|
637
874
|
function sortOptions(active, state) {
|
|
638
|
-
let options = []
|
|
639
|
-
|
|
875
|
+
let options = [];
|
|
876
|
+
let sections = null;
|
|
877
|
+
let addOption = option => {
|
|
878
|
+
options.push(option);
|
|
879
|
+
let {
|
|
880
|
+
section
|
|
881
|
+
} = option.completion;
|
|
882
|
+
if (section) {
|
|
883
|
+
if (!sections) sections = [];
|
|
884
|
+
let name = typeof section == "string" ? section : section.name;
|
|
885
|
+
if (!sections.some(s => s.name == name)) sections.push(typeof section == "string" ? {
|
|
886
|
+
name
|
|
887
|
+
} : section);
|
|
888
|
+
}
|
|
889
|
+
};
|
|
640
890
|
for (let a of active) if (a.hasResult()) {
|
|
641
891
|
if (a.result.filter === false) {
|
|
642
892
|
let getMatch = a.result.getMatch;
|
|
643
893
|
for (let option of a.result.options) {
|
|
644
|
-
let match = [1e9 -
|
|
894
|
+
let match = [1e9 - options.length];
|
|
645
895
|
if (getMatch) for (let n of getMatch(option)) match.push(n);
|
|
646
|
-
|
|
896
|
+
addOption(new Option(option, a.source, match, match[0]));
|
|
647
897
|
}
|
|
648
898
|
} else {
|
|
649
899
|
let matcher = new FuzzyMatcher(state.sliceDoc(a.from, a.to)),
|
|
650
900
|
match;
|
|
651
901
|
for (let option of a.result.options) if (match = matcher.match(option.label)) {
|
|
652
|
-
|
|
653
|
-
options.push(new Option(option, a, match));
|
|
902
|
+
addOption(new Option(option, a.source, match, match[0] + (option.boost || 0)));
|
|
654
903
|
}
|
|
655
904
|
}
|
|
656
905
|
}
|
|
906
|
+
if (sections) {
|
|
907
|
+
let sectionOrder = Object.create(null),
|
|
908
|
+
pos = 0;
|
|
909
|
+
let cmp = (a, b) => {
|
|
910
|
+
var _a, _b;
|
|
911
|
+
return ((_a = a.rank) !== null && _a !== void 0 ? _a : 1e9) - ((_b = b.rank) !== null && _b !== void 0 ? _b : 1e9) || (a.name < b.name ? -1 : 1);
|
|
912
|
+
};
|
|
913
|
+
for (let s of sections.sort(cmp)) {
|
|
914
|
+
pos -= 1e5;
|
|
915
|
+
sectionOrder[s.name] = pos;
|
|
916
|
+
}
|
|
917
|
+
for (let option of options) {
|
|
918
|
+
let {
|
|
919
|
+
section
|
|
920
|
+
} = option.completion;
|
|
921
|
+
if (section) option.score += sectionOrder[typeof section == "string" ? section : section.name];
|
|
922
|
+
}
|
|
923
|
+
}
|
|
657
924
|
let result = [],
|
|
658
925
|
prev = null;
|
|
659
926
|
let compare = state.facet(completionConfig).compareCompletions;
|
|
660
|
-
for (let opt of options.sort((a, b) => b.
|
|
927
|
+
for (let opt of options.sort((a, b) => b.score - a.score || compare(a.completion, b.completion))) {
|
|
661
928
|
if (!prev || prev.label != opt.completion.label || prev.detail != opt.completion.detail || prev.type != null && opt.completion.type != null && prev.type != opt.completion.type || prev.apply != opt.completion.apply) result.push(opt);else if (score(opt.completion) > score(prev)) result[result.length - 1] = opt;
|
|
662
929
|
prev = opt.completion;
|
|
663
930
|
}
|
|
@@ -762,291 +1029,84 @@ function getUserEvent(tr) {
|
|
|
762
1029
|
return tr.isUserEvent("input.type") ? "input" : tr.isUserEvent("delete.backward") ? "delete" : null;
|
|
763
1030
|
}
|
|
764
1031
|
class ActiveSource {
|
|
765
|
-
constructor(source, state) {
|
|
766
|
-
let explicitPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
|
|
767
|
-
this.source = source;
|
|
768
|
-
this.state = state;
|
|
769
|
-
this.explicitPos = explicitPos;
|
|
770
|
-
}
|
|
771
|
-
hasResult() {
|
|
772
|
-
return false;
|
|
773
|
-
}
|
|
774
|
-
update(tr, conf) {
|
|
775
|
-
let event = getUserEvent(tr),
|
|
776
|
-
value = this;
|
|
777
|
-
if (event) value = value.handleUserEvent(tr, event, conf);else if (tr.docChanged) value = value.handleChange(tr);else if (tr.selection && value.state != 0 /* State.Inactive */) value = new ActiveSource(value.source, 0 /* State.Inactive */);
|
|
778
|
-
for (let effect of tr.effects) {
|
|
779
|
-
if (effect.is(startCompletionEffect)) value = new ActiveSource(value.source, 1 /* State.Pending */, effect.value ? cur(tr.state) : -1);else if (effect.is(closeCompletionEffect)) value = new ActiveSource(value.source, 0 /* State.Inactive */);else if (effect.is(setActiveEffect)) for (let active of effect.value) if (active.source == value.source) value = active;
|
|
780
|
-
}
|
|
781
|
-
return value;
|
|
782
|
-
}
|
|
783
|
-
handleUserEvent(tr, type, conf) {
|
|
784
|
-
return type == "delete" || !conf.activateOnTyping ? this.map(tr.changes) : new ActiveSource(this.source, 1 /* State.Pending */);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
handleChange(tr) {
|
|
788
|
-
return tr.changes.touchesRange(cur(tr.startState)) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
|
|
789
|
-
}
|
|
790
|
-
map(changes) {
|
|
791
|
-
return changes.empty || this.explicitPos < 0 ? this : new ActiveSource(this.source, this.state, changes.mapPos(this.explicitPos));
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
class ActiveResult extends ActiveSource {
|
|
795
|
-
constructor(source, explicitPos, result, from, to) {
|
|
796
|
-
super(source, 2 /* State.Result */, explicitPos);
|
|
797
|
-
this.result = result;
|
|
798
|
-
this.from = from;
|
|
799
|
-
this.to = to;
|
|
800
|
-
}
|
|
801
|
-
hasResult() {
|
|
802
|
-
return true;
|
|
803
|
-
}
|
|
804
|
-
handleUserEvent(tr, type, conf) {
|
|
805
|
-
var _a;
|
|
806
|
-
let from = tr.changes.mapPos(this.from),
|
|
807
|
-
to = tr.changes.mapPos(this.to, 1);
|
|
808
|
-
let pos = cur(tr.state);
|
|
809
|
-
if ((this.explicitPos < 0 ? pos <= from : pos < this.from) || pos > to || type == "delete" && cur(tr.startState) == this.from) return new ActiveSource(this.source, type == "input" && conf.activateOnTyping ? 1 /* State.Pending */ : 0 /* State.Inactive */);
|
|
810
|
-
let explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos),
|
|
811
|
-
updated;
|
|
812
|
-
if (checkValid(this.result.validFor, tr.state, from, to)) return new ActiveResult(this.source, explicitPos, this.result, from, to);
|
|
813
|
-
if (this.result.update && (updated = this.result.update(this.result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0)))) return new ActiveResult(this.source, explicitPos, updated, updated.from, (_a = updated.to) !== null && _a !== void 0 ? _a : cur(tr.state));
|
|
814
|
-
return new ActiveSource(this.source, 1 /* State.Pending */, explicitPos);
|
|
815
|
-
}
|
|
816
|
-
handleChange(tr) {
|
|
817
|
-
return tr.changes.touchesRange(this.from, this.to) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
|
|
818
|
-
}
|
|
819
|
-
map(mapping) {
|
|
820
|
-
return mapping.empty ? this : new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));
|
|
821
|
-
}
|
|
822
|
-
}
|
|
823
|
-
function checkValid(validFor, state, from, to) {
|
|
824
|
-
if (!validFor) return false;
|
|
825
|
-
let text = state.sliceDoc(from, to);
|
|
826
|
-
return typeof validFor == "function" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);
|
|
827
|
-
}
|
|
828
|
-
const startCompletionEffect = /*@__PURE__*/StateEffect.define();
|
|
829
|
-
const closeCompletionEffect = /*@__PURE__*/StateEffect.define();
|
|
830
|
-
const setActiveEffect = /*@__PURE__*/StateEffect.define({
|
|
831
|
-
map(sources, mapping) {
|
|
832
|
-
return sources.map(s => s.map(mapping));
|
|
833
|
-
}
|
|
834
|
-
});
|
|
835
|
-
const setSelectedEffect = /*@__PURE__*/StateEffect.define();
|
|
836
|
-
const completionState = /*@__PURE__*/StateField.define({
|
|
837
|
-
create() {
|
|
838
|
-
return CompletionState.start();
|
|
839
|
-
},
|
|
840
|
-
update(value, tr) {
|
|
841
|
-
return value.update(tr);
|
|
842
|
-
},
|
|
843
|
-
provide: f => [showTooltip.from(f, val => val.tooltip), EditorView.contentAttributes.from(f, state => state.attrs)]
|
|
844
|
-
});
|
|
845
|
-
|
|
846
|
-
/**
|
|
847
|
-
Returns a command that moves the completion selection forward or
|
|
848
|
-
backward by the given amount.
|
|
849
|
-
*/
|
|
850
|
-
function moveCompletionSelection(forward) {
|
|
851
|
-
let by = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "option";
|
|
852
|
-
return view => {
|
|
853
|
-
let cState = view.state.field(completionState, false);
|
|
854
|
-
if (!cState || !cState.open || cState.open.disabled || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay) return false;
|
|
855
|
-
let step = 1,
|
|
856
|
-
tooltip;
|
|
857
|
-
if (by == "page" && (tooltip = getTooltip(view, cState.open.tooltip))) step = Math.max(2, Math.floor(tooltip.dom.offsetHeight / tooltip.dom.querySelector("li").offsetHeight) - 1);
|
|
858
|
-
let {
|
|
859
|
-
length
|
|
860
|
-
} = cState.open.options;
|
|
861
|
-
let selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;
|
|
862
|
-
if (selected < 0) selected = by == "page" ? 0 : length - 1;else if (selected >= length) selected = by == "page" ? length - 1 : 0;
|
|
863
|
-
view.dispatch({
|
|
864
|
-
effects: setSelectedEffect.of(selected)
|
|
865
|
-
});
|
|
866
|
-
return true;
|
|
867
|
-
};
|
|
868
|
-
}
|
|
869
|
-
/**
|
|
870
|
-
Accept the current completion.
|
|
871
|
-
*/
|
|
872
|
-
const acceptCompletion = view => {
|
|
873
|
-
let cState = view.state.field(completionState, false);
|
|
874
|
-
if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay) return false;
|
|
875
|
-
if (!cState.open.disabled) applyCompletion(view, cState.open.options[cState.open.selected]);
|
|
876
|
-
return true;
|
|
877
|
-
};
|
|
878
|
-
/**
|
|
879
|
-
Explicitly start autocompletion.
|
|
880
|
-
*/
|
|
881
|
-
const startCompletion = view => {
|
|
882
|
-
let cState = view.state.field(completionState, false);
|
|
883
|
-
if (!cState) return false;
|
|
884
|
-
view.dispatch({
|
|
885
|
-
effects: startCompletionEffect.of(true)
|
|
886
|
-
});
|
|
887
|
-
return true;
|
|
888
|
-
};
|
|
889
|
-
/**
|
|
890
|
-
Close the currently active completion.
|
|
891
|
-
*/
|
|
892
|
-
const closeCompletion = view => {
|
|
893
|
-
let cState = view.state.field(completionState, false);
|
|
894
|
-
if (!cState || !cState.active.some(a => a.state != 0 /* State.Inactive */)) return false;
|
|
895
|
-
view.dispatch({
|
|
896
|
-
effects: closeCompletionEffect.of(null)
|
|
897
|
-
});
|
|
898
|
-
return true;
|
|
899
|
-
};
|
|
900
|
-
class RunningQuery {
|
|
901
|
-
constructor(active, context) {
|
|
902
|
-
this.active = active;
|
|
903
|
-
this.context = context;
|
|
904
|
-
this.time = Date.now();
|
|
905
|
-
this.updates = [];
|
|
906
|
-
// Note that 'undefined' means 'not done yet', whereas 'null' means
|
|
907
|
-
// 'query returned null'.
|
|
908
|
-
this.done = undefined;
|
|
909
|
-
}
|
|
910
|
-
}
|
|
911
|
-
const DebounceTime = 50,
|
|
912
|
-
MaxUpdateCount = 50,
|
|
913
|
-
MinAbortTime = 1000;
|
|
914
|
-
const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
|
|
915
|
-
constructor(view) {
|
|
916
|
-
this.view = view;
|
|
917
|
-
this.debounceUpdate = -1;
|
|
918
|
-
this.running = [];
|
|
919
|
-
this.debounceAccept = -1;
|
|
920
|
-
this.composing = 0 /* CompositionState.None */;
|
|
921
|
-
for (let active of view.state.field(completionState).active) if (active.state == 1 /* State.Pending */) this.startQuery(active);
|
|
922
|
-
}
|
|
923
|
-
update(update) {
|
|
924
|
-
let cState = update.state.field(completionState);
|
|
925
|
-
if (!update.selectionSet && !update.docChanged && update.startState.field(completionState) == cState) return;
|
|
926
|
-
let doesReset = update.transactions.some(tr => {
|
|
927
|
-
return (tr.selection || tr.docChanged) && !getUserEvent(tr);
|
|
928
|
-
});
|
|
929
|
-
for (let i = 0; i < this.running.length; i++) {
|
|
930
|
-
let query = this.running[i];
|
|
931
|
-
if (doesReset || query.updates.length + update.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) {
|
|
932
|
-
for (let handler of query.context.abortListeners) {
|
|
933
|
-
try {
|
|
934
|
-
handler();
|
|
935
|
-
} catch (e) {
|
|
936
|
-
logException(this.view.state, e);
|
|
937
|
-
}
|
|
938
|
-
}
|
|
939
|
-
query.context.abortListeners = null;
|
|
940
|
-
this.running.splice(i--, 1);
|
|
941
|
-
} else {
|
|
942
|
-
query.updates.push(...update.transactions);
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
|
-
if (this.debounceUpdate > -1) clearTimeout(this.debounceUpdate);
|
|
946
|
-
this.debounceUpdate = cState.active.some(a => a.state == 1 /* State.Pending */ && !this.running.some(q => q.active.source == a.source)) ? setTimeout(() => this.startUpdate(), DebounceTime) : -1;
|
|
947
|
-
if (this.composing != 0 /* CompositionState.None */) for (let tr of update.transactions) {
|
|
948
|
-
if (getUserEvent(tr) == "input") this.composing = 2 /* CompositionState.Changed */;else if (this.composing == 2 /* CompositionState.Changed */ && tr.selection) this.composing = 3 /* CompositionState.ChangedAndMoved */;
|
|
949
|
-
}
|
|
950
|
-
}
|
|
951
|
-
|
|
952
|
-
startUpdate() {
|
|
953
|
-
this.debounceUpdate = -1;
|
|
954
|
-
let {
|
|
955
|
-
state
|
|
956
|
-
} = this.view,
|
|
957
|
-
cState = state.field(completionState);
|
|
958
|
-
for (let active of cState.active) {
|
|
959
|
-
if (active.state == 1 /* State.Pending */ && !this.running.some(r => r.active.source == active.source)) this.startQuery(active);
|
|
960
|
-
}
|
|
961
|
-
}
|
|
962
|
-
startQuery(active) {
|
|
963
|
-
let {
|
|
964
|
-
state
|
|
965
|
-
} = this.view,
|
|
966
|
-
pos = cur(state);
|
|
967
|
-
let context = new CompletionContext(state, pos, active.explicitPos == pos);
|
|
968
|
-
let pending = new RunningQuery(active, context);
|
|
969
|
-
this.running.push(pending);
|
|
970
|
-
Promise.resolve(active.source(context)).then(result => {
|
|
971
|
-
if (!pending.context.aborted) {
|
|
972
|
-
pending.done = result || null;
|
|
973
|
-
this.scheduleAccept();
|
|
974
|
-
}
|
|
975
|
-
}, err => {
|
|
976
|
-
this.view.dispatch({
|
|
977
|
-
effects: closeCompletionEffect.of(null)
|
|
978
|
-
});
|
|
979
|
-
logException(this.view.state, err);
|
|
980
|
-
});
|
|
1032
|
+
constructor(source, state) {
|
|
1033
|
+
let explicitPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
|
|
1034
|
+
this.source = source;
|
|
1035
|
+
this.state = state;
|
|
1036
|
+
this.explicitPos = explicitPos;
|
|
981
1037
|
}
|
|
982
|
-
|
|
983
|
-
|
|
1038
|
+
hasResult() {
|
|
1039
|
+
return false;
|
|
984
1040
|
}
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
let updated = [];
|
|
992
|
-
let conf = this.view.state.facet(completionConfig);
|
|
993
|
-
for (let i = 0; i < this.running.length; i++) {
|
|
994
|
-
let query = this.running[i];
|
|
995
|
-
if (query.done === undefined) continue;
|
|
996
|
-
this.running.splice(i--, 1);
|
|
997
|
-
if (query.done) {
|
|
998
|
-
let active = new ActiveResult(query.active.source, query.active.explicitPos, query.done, query.done.from, (_a = query.done.to) !== null && _a !== void 0 ? _a : cur(query.updates.length ? query.updates[0].startState : this.view.state));
|
|
999
|
-
// Replay the transactions that happened since the start of
|
|
1000
|
-
// the request and see if that preserves the result
|
|
1001
|
-
for (let tr of query.updates) active = active.update(tr, conf);
|
|
1002
|
-
if (active.hasResult()) {
|
|
1003
|
-
updated.push(active);
|
|
1004
|
-
continue;
|
|
1005
|
-
}
|
|
1006
|
-
}
|
|
1007
|
-
let current = this.view.state.field(completionState).active.find(a => a.source == query.active.source);
|
|
1008
|
-
if (current && current.state == 1 /* State.Pending */) {
|
|
1009
|
-
if (query.done == null) {
|
|
1010
|
-
// Explicitly failed. Should clear the pending status if it
|
|
1011
|
-
// hasn't been re-set in the meantime.
|
|
1012
|
-
let active = new ActiveSource(query.active.source, 0 /* State.Inactive */);
|
|
1013
|
-
for (let tr of query.updates) active = active.update(tr, conf);
|
|
1014
|
-
if (active.state != 1 /* State.Pending */) updated.push(active);
|
|
1015
|
-
} else {
|
|
1016
|
-
// Cleared by subsequent transactions. Restart.
|
|
1017
|
-
this.startQuery(current);
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1041
|
+
update(tr, conf) {
|
|
1042
|
+
let event = getUserEvent(tr),
|
|
1043
|
+
value = this;
|
|
1044
|
+
if (event) value = value.handleUserEvent(tr, event, conf);else if (tr.docChanged) value = value.handleChange(tr);else if (tr.selection && value.state != 0 /* State.Inactive */) value = new ActiveSource(value.source, 0 /* State.Inactive */);
|
|
1045
|
+
for (let effect of tr.effects) {
|
|
1046
|
+
if (effect.is(startCompletionEffect)) value = new ActiveSource(value.source, 1 /* State.Pending */, effect.value ? cur(tr.state) : -1);else if (effect.is(closeCompletionEffect)) value = new ActiveSource(value.source, 0 /* State.Inactive */);else if (effect.is(setActiveEffect)) for (let active of effect.value) if (active.source == value.source) value = active;
|
|
1020
1047
|
}
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1048
|
+
return value;
|
|
1049
|
+
}
|
|
1050
|
+
handleUserEvent(tr, type, conf) {
|
|
1051
|
+
return type == "delete" || !conf.activateOnTyping ? this.map(tr.changes) : new ActiveSource(this.source, 1 /* State.Pending */);
|
|
1024
1052
|
}
|
|
1025
|
-
}, {
|
|
1026
|
-
eventHandlers: {
|
|
1027
|
-
blur() {
|
|
1028
|
-
let state = this.view.state.field(completionState, false);
|
|
1029
|
-
if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) this.view.dispatch({
|
|
1030
|
-
effects: closeCompletionEffect.of(null)
|
|
1031
|
-
});
|
|
1032
|
-
},
|
|
1033
|
-
compositionstart() {
|
|
1034
|
-
this.composing = 1 /* CompositionState.Started */;
|
|
1035
|
-
},
|
|
1036
1053
|
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1054
|
+
handleChange(tr) {
|
|
1055
|
+
return tr.changes.touchesRange(cur(tr.startState)) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
|
|
1056
|
+
}
|
|
1057
|
+
map(changes) {
|
|
1058
|
+
return changes.empty || this.explicitPos < 0 ? this : new ActiveSource(this.source, this.state, changes.mapPos(this.explicitPos));
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
class ActiveResult extends ActiveSource {
|
|
1062
|
+
constructor(source, explicitPos, result, from, to) {
|
|
1063
|
+
super(source, 2 /* State.Result */, explicitPos);
|
|
1064
|
+
this.result = result;
|
|
1065
|
+
this.from = from;
|
|
1066
|
+
this.to = to;
|
|
1067
|
+
}
|
|
1068
|
+
hasResult() {
|
|
1069
|
+
return true;
|
|
1070
|
+
}
|
|
1071
|
+
handleUserEvent(tr, type, conf) {
|
|
1072
|
+
var _a;
|
|
1073
|
+
let from = tr.changes.mapPos(this.from),
|
|
1074
|
+
to = tr.changes.mapPos(this.to, 1);
|
|
1075
|
+
let pos = cur(tr.state);
|
|
1076
|
+
if ((this.explicitPos < 0 ? pos <= from : pos < this.from) || pos > to || type == "delete" && cur(tr.startState) == this.from) return new ActiveSource(this.source, type == "input" && conf.activateOnTyping ? 1 /* State.Pending */ : 0 /* State.Inactive */);
|
|
1077
|
+
let explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos),
|
|
1078
|
+
updated;
|
|
1079
|
+
if (checkValid(this.result.validFor, tr.state, from, to)) return new ActiveResult(this.source, explicitPos, this.result, from, to);
|
|
1080
|
+
if (this.result.update && (updated = this.result.update(this.result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0)))) return new ActiveResult(this.source, explicitPos, updated, updated.from, (_a = updated.to) !== null && _a !== void 0 ? _a : cur(tr.state));
|
|
1081
|
+
return new ActiveSource(this.source, 1 /* State.Pending */, explicitPos);
|
|
1082
|
+
}
|
|
1083
|
+
handleChange(tr) {
|
|
1084
|
+
return tr.changes.touchesRange(this.from, this.to) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
|
|
1085
|
+
}
|
|
1086
|
+
map(mapping) {
|
|
1087
|
+
return mapping.empty ? this : new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
function checkValid(validFor, state, from, to) {
|
|
1091
|
+
if (!validFor) return false;
|
|
1092
|
+
let text = state.sliceDoc(from, to);
|
|
1093
|
+
return typeof validFor == "function" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);
|
|
1094
|
+
}
|
|
1095
|
+
const setActiveEffect = /*@__PURE__*/StateEffect.define({
|
|
1096
|
+
map(sources, mapping) {
|
|
1097
|
+
return sources.map(s => s.map(mapping));
|
|
1047
1098
|
}
|
|
1048
1099
|
});
|
|
1049
|
-
|
|
1100
|
+
const setSelectedEffect = /*@__PURE__*/StateEffect.define();
|
|
1101
|
+
const completionState = /*@__PURE__*/StateField.define({
|
|
1102
|
+
create() {
|
|
1103
|
+
return CompletionState.start();
|
|
1104
|
+
},
|
|
1105
|
+
update(value, tr) {
|
|
1106
|
+
return value.update(tr);
|
|
1107
|
+
},
|
|
1108
|
+
provide: f => [showTooltip.from(f, val => val.tooltip), EditorView.contentAttributes.from(f, state => state.attrs)]
|
|
1109
|
+
});
|
|
1050
1110
|
const baseTheme = /*@__PURE__*/EditorView.baseTheme({
|
|
1051
1111
|
".cm-tooltip.cm-tooltip-autocomplete": {
|
|
1052
1112
|
"& > ul": {
|
|
@@ -1061,12 +1121,20 @@ const baseTheme = /*@__PURE__*/EditorView.baseTheme({
|
|
|
1061
1121
|
listStyle: "none",
|
|
1062
1122
|
margin: 0,
|
|
1063
1123
|
padding: 0,
|
|
1124
|
+
"& > li, & > completion-section": {
|
|
1125
|
+
padding: "1px 3px",
|
|
1126
|
+
lineHeight: 1.2
|
|
1127
|
+
},
|
|
1064
1128
|
"& > li": {
|
|
1065
1129
|
overflowX: "hidden",
|
|
1066
1130
|
textOverflow: "ellipsis",
|
|
1067
|
-
cursor: "pointer"
|
|
1068
|
-
|
|
1069
|
-
|
|
1131
|
+
cursor: "pointer"
|
|
1132
|
+
},
|
|
1133
|
+
"& > completion-section": {
|
|
1134
|
+
display: "list-item",
|
|
1135
|
+
borderBottom: "1px solid silver",
|
|
1136
|
+
paddingLeft: "0.5em",
|
|
1137
|
+
opacity: 0.7
|
|
1070
1138
|
}
|
|
1071
1139
|
}
|
|
1072
1140
|
},
|
|
@@ -1385,7 +1453,7 @@ function snippet(template) {
|
|
|
1385
1453
|
insert: Text.of(text)
|
|
1386
1454
|
},
|
|
1387
1455
|
scrollIntoView: true,
|
|
1388
|
-
annotations: pickedCompletion.of(completion)
|
|
1456
|
+
annotations: completion ? pickedCompletion.of(completion) : undefined
|
|
1389
1457
|
};
|
|
1390
1458
|
if (ranges.length) spec.selection = fieldSelection(ranges, 0);
|
|
1391
1459
|
if (ranges.length > 1) {
|
|
@@ -1495,11 +1563,6 @@ const closeBracketEffect = /*@__PURE__*/StateEffect.define({
|
|
|
1495
1563
|
return mapped == null ? undefined : mapped;
|
|
1496
1564
|
}
|
|
1497
1565
|
});
|
|
1498
|
-
const skipBracketEffect = /*@__PURE__*/StateEffect.define({
|
|
1499
|
-
map(value, mapping) {
|
|
1500
|
-
return mapping.mapPos(value);
|
|
1501
|
-
}
|
|
1502
|
-
});
|
|
1503
1566
|
const closedBracket = /*@__PURE__*/new class extends RangeValue {}();
|
|
1504
1567
|
closedBracket.startSide = 1;
|
|
1505
1568
|
closedBracket.endSide = -1;
|
|
@@ -1514,13 +1577,9 @@ const bracketState = /*@__PURE__*/StateField.define({
|
|
|
1514
1577
|
if (lineStart != tr.changes.mapPos(prevLineStart, -1)) value = RangeSet.empty;
|
|
1515
1578
|
}
|
|
1516
1579
|
value = value.map(tr.changes);
|
|
1517
|
-
for (let effect of tr.effects) {
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
});else if (effect.is(skipBracketEffect)) value = value.update({
|
|
1521
|
-
filter: from => from != effect.value
|
|
1522
|
-
});
|
|
1523
|
-
}
|
|
1580
|
+
for (let effect of tr.effects) if (effect.is(closeBracketEffect)) value = value.update({
|
|
1581
|
+
add: [closedBracket.range(effect.value, effect.value + 1)]
|
|
1582
|
+
});
|
|
1524
1583
|
return value;
|
|
1525
1584
|
}
|
|
1526
1585
|
});
|
|
@@ -1666,19 +1725,22 @@ function handleOpen(state, open, close, closeBefore) {
|
|
|
1666
1725
|
}
|
|
1667
1726
|
function handleClose(state, _open, close) {
|
|
1668
1727
|
let dont = null,
|
|
1669
|
-
|
|
1670
|
-
if (range.empty && nextChar(state.doc, range.head) == close) return
|
|
1671
|
-
|
|
1728
|
+
changes = state.changeByRange(range => {
|
|
1729
|
+
if (range.empty && nextChar(state.doc, range.head) == close) return {
|
|
1730
|
+
changes: {
|
|
1731
|
+
from: range.head,
|
|
1732
|
+
to: range.head + close.length,
|
|
1733
|
+
insert: close
|
|
1734
|
+
},
|
|
1735
|
+
range: EditorSelection.cursor(range.head + close.length)
|
|
1736
|
+
};
|
|
1737
|
+
return dont = {
|
|
1738
|
+
range
|
|
1739
|
+
};
|
|
1672
1740
|
});
|
|
1673
|
-
return dont ? null : state.update({
|
|
1674
|
-
selection: EditorSelection.create(moved, state.selection.mainIndex),
|
|
1741
|
+
return dont ? null : state.update(changes, {
|
|
1675
1742
|
scrollIntoView: true,
|
|
1676
|
-
|
|
1677
|
-
let {
|
|
1678
|
-
from
|
|
1679
|
-
} = _ref4;
|
|
1680
|
-
return skipBracketEffect.of(from);
|
|
1681
|
-
})
|
|
1743
|
+
userEvent: "input.type"
|
|
1682
1744
|
});
|
|
1683
1745
|
}
|
|
1684
1746
|
// Handles cases where the open and close token are the same, and
|
|
@@ -1702,7 +1764,7 @@ function handleSame(state, token, allowTriple, config) {
|
|
|
1702
1764
|
next = nextChar(state.doc, pos),
|
|
1703
1765
|
start;
|
|
1704
1766
|
if (next == token) {
|
|
1705
|
-
if (nodeStart
|
|
1767
|
+
if (nodeStart(state, pos)) {
|
|
1706
1768
|
return {
|
|
1707
1769
|
changes: {
|
|
1708
1770
|
insert: token + token,
|
|
@@ -1713,12 +1775,17 @@ function handleSame(state, token, allowTriple, config) {
|
|
|
1713
1775
|
};
|
|
1714
1776
|
} else if (closedBracketAt(state, pos)) {
|
|
1715
1777
|
let isTriple = allowTriple && state.sliceDoc(pos, pos + token.length * 3) == token + token + token;
|
|
1778
|
+
let content = isTriple ? token + token + token : token;
|
|
1716
1779
|
return {
|
|
1717
|
-
|
|
1718
|
-
|
|
1780
|
+
changes: {
|
|
1781
|
+
from: pos,
|
|
1782
|
+
to: pos + content.length,
|
|
1783
|
+
insert: content
|
|
1784
|
+
},
|
|
1785
|
+
range: EditorSelection.cursor(pos + content.length)
|
|
1719
1786
|
};
|
|
1720
1787
|
}
|
|
1721
|
-
} else if (allowTriple && state.sliceDoc(pos - 2 * token.length, pos) == token + token && (start = canStartStringAt(state, pos - 2 * token.length, stringPrefixes)) > -1 && nodeStart
|
|
1788
|
+
} else if (allowTriple && state.sliceDoc(pos - 2 * token.length, pos) == token + token && (start = canStartStringAt(state, pos - 2 * token.length, stringPrefixes)) > -1 && nodeStart(state, start)) {
|
|
1722
1789
|
return {
|
|
1723
1790
|
changes: {
|
|
1724
1791
|
insert: token + token + token + token,
|
|
@@ -1746,7 +1813,7 @@ function handleSame(state, token, allowTriple, config) {
|
|
|
1746
1813
|
userEvent: "input.type"
|
|
1747
1814
|
});
|
|
1748
1815
|
}
|
|
1749
|
-
function nodeStart
|
|
1816
|
+
function nodeStart(state, pos) {
|
|
1750
1817
|
let tree = syntaxTree(state).resolveInner(pos + 1);
|
|
1751
1818
|
return tree.parent && tree.from == pos;
|
|
1752
1819
|
}
|
|
@@ -2559,19 +2626,19 @@ class LocalTokenGroup {
|
|
|
2559
2626
|
}
|
|
2560
2627
|
token(input, stack) {
|
|
2561
2628
|
let start = input.pos,
|
|
2562
|
-
|
|
2629
|
+
skipped = 0;
|
|
2563
2630
|
for (;;) {
|
|
2564
|
-
cur = input.pos;
|
|
2565
2631
|
readToken(this.data, input, stack, 0, this.data, this.precTable);
|
|
2566
2632
|
if (input.token.value > -1) break;
|
|
2567
2633
|
if (this.elseToken == null) return;
|
|
2568
2634
|
if (input.next < 0) break;
|
|
2569
2635
|
input.advance();
|
|
2570
|
-
input.reset(
|
|
2636
|
+
input.reset(input.pos, input.token);
|
|
2637
|
+
skipped++;
|
|
2571
2638
|
}
|
|
2572
|
-
if (
|
|
2639
|
+
if (skipped) {
|
|
2573
2640
|
input.reset(start, input.token);
|
|
2574
|
-
input.acceptToken(this.elseToken,
|
|
2641
|
+
input.acceptToken(this.elseToken, skipped);
|
|
2575
2642
|
}
|
|
2576
2643
|
}
|
|
2577
2644
|
}
|
|
@@ -3453,7 +3520,7 @@ const scriptText = 54,
|
|
|
3453
3520
|
|
|
3454
3521
|
/* Hand-written tokenizers for HTML. */
|
|
3455
3522
|
|
|
3456
|
-
const selfClosers = {
|
|
3523
|
+
const selfClosers$1 = {
|
|
3457
3524
|
area: true,
|
|
3458
3525
|
base: true,
|
|
3459
3526
|
br: true,
|
|
@@ -3644,7 +3711,7 @@ const tagStart = new ExternalTokenizer((input, stack) => {
|
|
|
3644
3711
|
if (name == "script") return input.acceptToken(StartScriptTag);
|
|
3645
3712
|
if (name == "style") return input.acceptToken(StartStyleTag);
|
|
3646
3713
|
if (name == "textarea") return input.acceptToken(StartTextareaTag);
|
|
3647
|
-
if (selfClosers.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag);
|
|
3714
|
+
if (selfClosers$1.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag);
|
|
3648
3715
|
if (parent && closeOnOpen[parent] && closeOnOpen[parent][name]) input.acceptToken(missingCloseTag, -1);else input.acceptToken(StartTag);
|
|
3649
3716
|
}
|
|
3650
3717
|
}, {
|
|
@@ -3858,10 +3925,10 @@ function configureNesting() {
|
|
|
3858
3925
|
}
|
|
3859
3926
|
|
|
3860
3927
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
3861
|
-
const descendantOp =
|
|
3928
|
+
const descendantOp = 95,
|
|
3862
3929
|
Unit = 1,
|
|
3863
|
-
callee =
|
|
3864
|
-
identifier$2 =
|
|
3930
|
+
callee = 96,
|
|
3931
|
+
identifier$2 = 97,
|
|
3865
3932
|
VariableName = 2;
|
|
3866
3933
|
|
|
3867
3934
|
/* Hand-written tokenizers for CSS tokens that can't be
|
|
@@ -3927,6 +3994,7 @@ const cssHighlighting = styleTags({
|
|
|
3927
3994
|
"from to selector": tags$1.keyword,
|
|
3928
3995
|
NamespaceName: tags$1.namespace,
|
|
3929
3996
|
KeyframeName: tags$1.labelName,
|
|
3997
|
+
KeyframeRangeName: tags$1.operatorKeyword,
|
|
3930
3998
|
TagName: tags$1.tagName,
|
|
3931
3999
|
ClassName: tags$1.className,
|
|
3932
4000
|
PseudoClassName: tags$1.constant(tags$1.className),
|
|
@@ -3946,9 +4014,8 @@ const cssHighlighting = styleTags({
|
|
|
3946
4014
|
BinOp: tags$1.arithmeticOperator,
|
|
3947
4015
|
Important: tags$1.modifier,
|
|
3948
4016
|
Comment: tags$1.blockComment,
|
|
3949
|
-
ParenthesizedContent: tags$1.special(tags$1.name),
|
|
3950
4017
|
ColorLiteral: tags$1.color,
|
|
3951
|
-
StringLiteral: tags$1.string,
|
|
4018
|
+
"ParenthesizedContent StringLiteral": tags$1.string,
|
|
3952
4019
|
":": tags$1.punctuation,
|
|
3953
4020
|
"PseudoOp #": tags$1.derefOperator,
|
|
3954
4021
|
"; ,": tags$1.separator,
|
|
@@ -3985,46 +4052,54 @@ const spec_AtKeyword = {
|
|
|
3985
4052
|
const spec_identifier$1 = {
|
|
3986
4053
|
__proto__: null,
|
|
3987
4054
|
not: 128,
|
|
3988
|
-
only: 128
|
|
3989
|
-
from: 158,
|
|
3990
|
-
to: 160
|
|
4055
|
+
only: 128
|
|
3991
4056
|
};
|
|
3992
4057
|
const parser$3 = LRParser.deserialize({
|
|
3993
4058
|
version: 14,
|
|
3994
|
-
states: "
|
|
3995
|
-
stateData: "
|
|
3996
|
-
goto: "
|
|
3997
|
-
nodeNames: "⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList
|
|
3998
|
-
maxTerm:
|
|
4059
|
+
states: "8`QYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ee'#EeO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&WQ[O'#EPO&fQ[O'#EROOQS'#Ed'#EdOOQS'#ET'#ETQYQ[OOO&mQXO'#CdO'bQWO'#DaO'gQWO'#EkO'rQ[O'#EkQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'|Q[O'#EWO(hQWO,58{O(pQ[O,59SO$lQ[O,59kO$qQ[O,59oO'|Q[O,59sO'|Q[O,59uO'|Q[O,59vO({Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)SQWO,59SO)XQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)^Q`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)fQvO'#CsO*sQtO,5:POOQO'#Cx'#CxO)XQWO'#CwO+XQWO'#CyOOQS'#Eh'#EhOOQO'#Dh'#DhO+^Q[O'#DoO+lQWO'#ElO&WQ[O'#DmO+zQWO'#DpOOQO'#Em'#EmO(kQWO,5:^O,PQpO,5:`OOQS'#Dx'#DxO,XQWO,5:bO,^Q[O,5:bOOQO'#D{'#D{O,fQWO,5:eO,kQWO,5:kO,sQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,{Q[O'#EYO-YQWO,5;VO-YQWO,5;VOOQP1G.l1G.lO.PQXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)SQWO1G.nO)XQWO1G.nOOQP1G/V1G/VO.^Q`O1G/ZO.wQXO1G/_O/_QXO1G/aO/uQXO1G/bO0]QWO,59zO0bQ[O'#DOO0iQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0pQpO,59]OOQS,59_,59_O$vQdO,59aO0xQWO1G/kOOQS,59c,59cO0}Q!bO,59eO1VQWO'#DhO1bQWO,5:TO1gQWO,5:ZO&WQ[O,5:VO&WQ[O'#EZO1oQWO,5;WO1zQWO,5:XO'|Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2]QWO1G/|O2bQdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0qOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EjO3tQWO,59jO3yQtO'#EUO4nQdO'#EgO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsOOQO'#EO'#EOO5|Q`O'#D}OOQO'#D}'#D}O6XQWO'#E[O6aQdO,5:hOOQS,5:h,5:hO6lQtO'#EXO$vQdO'#EXO7jQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7}QpO<<HaO8VQWO,5;UOOQP1G/U1G/UOOQS-E8S-E8SO$vQdO'#EVO8_QWO,5;ROOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO8gQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO2eQdO'#E]O6XQWO,5:vOOQS,5:v,5:vOOQS-E8Y-E8YOOQS1G0S1G0SO8nQtO,5:sOOQS-E8V-E8VOOQO<<Hm<<HmOOQPAN={AN={O9lQdO,5:qOOQO-E8T-E8TOOQO<<Hu<<HuOOQO,5:w,5:wOOQO-E8Z-E8ZOOQS1G0b1G0b",
|
|
4060
|
+
stateData: ":O~O#VOSROS~OUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#TQO#YSO~OQeOUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#TdO#YSO~O#Q#_P~P!ZO#TiO~O]nO^nOplOtoOxpO|qO!PsO#RrO#YkO~O!RtO~P#kO`zO#SwO#TvO~O#T{O~O#T}O~OQ!WOb!QOf!WOh!WOn!VO#S!TO#T!PO#]!RO~Ob!YO!b![O!e!]O#T!XO!R#`P~Oh!bOn!VO#T!aO~Oh!dO#T!dO~Ob!YO!b![O!e!]O#T!XO~O!W#`P~P%bO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#RWX#YWX~O]!iO~O!W!jO#Q#_X!Q#_X~O#Q#_X!Q#_X~P!ZOUXOXXO]UO^UOtVOxWO#TQO#YSO~OplO!RtO~O`!sO#SwO#TvO~O!Q#_P~P!ZOb!zO~Ob!{O~Ov!|Oz!}O~OP#PObgXjgX!WgX!bgX!egX#TgXagXQgXfgXhgXngXpgX!VgX#QgX#SgX#]gXvgX!QgX~Ob!YOj#QO!b![O!e!]O#T!XO!W#`P~Ob#TO~Ob!YO!b![O!e!]O#T#UO~Op#YO!`#XO!R#`X!W#`X~Ob#]O~Oj#QO!W#_O~O!W#`O~Oh#aOn!VO~O!R#bO~O!RtO!`#XO~O!RtO!W#eO~O!W!|X#Q!|X!Q!|X~P!ZO!W!jO#Q#_a!Q#_a~O]nO^nOtoOxpO|qO!PsO#RrO#YkO~Op!za!R!zaa!za~P-eOv#lOz#mO~O]nO^nOtoOxpO#YkO~Op{i|{i!P{i!R{i#R{ia{i~P.fOp}i|}i!P}i!R}i#R}ia}i~P.fOp!Oi|!Oi!P!Oi!R!Oi#R!Oia!Oi~P.fO!Q#nO~Oa#^P~P'|Oa#ZP~P$vOa#uOj#QO~O!W#wO~Oh#xOo#xO~O]!^Xa![X!`![X~O]#yO~Oa#zO!`#XO~Op#YO!R#`a!W#`a~O!`#XOp!aa!R!aa!W!aaa!aa~O!W$PO~O!Q$WO#T$RO#]$QO~Oj#QOp$YO!V$[O!W!Ti#Q!Ti!Q!Ti~P$vO!W!|a#Q!|a!Q!|a~P!ZO!W!jO#Q#_i!Q#_i~Oa#^X~P#kOa$`O~Oj#QOQ!xXa!xXb!xXf!xXh!xXn!xXp!xX#S!xX#T!xX#]!xX~Op$bOa#ZX~P$vOa$dO~Oj#QOv$eO~Oa$fO~O!`#XOp!}a!R!}a!W!}a~Oa$hO~P-eOP#POpgX!RgX~O#]$QOp!qX!R!qX~Op$jO!RtO~O!Q$nO#T$RO#]$QO~Oj#QOQ!{Xb!{Xf!{Xh!{Xn!{Xp!{X!V!{X!W!{X#Q!{X#S!{X#T!{X#]!{X!Q!{X~Op$YO!V$qO!W!Tq#Q!Tq!Q!Tq~P$vOj#QOv$rO~OplOa#^a~Op$bOa#Za~Oa$uO~P$vOj#QOQ!{ab!{af!{ah!{an!{ap!{a!V!{a!W!{a#Q!{a#S!{a#T!{a#]!{a!Q!{a~Oa!yap!ya~P$vO#VoR#]j!Pj~",
|
|
4061
|
+
goto: ",z#bPPPPP#cP#l#{P#l$[#lPP$bPPP$h$q$qP%TP$qP$q%o&RPPP&k&q#lP&wP#lP&}P#lP#l#lPPP'T'j'wPP#cPP(O(O(Y(OP(OP(O(OP#cP#cP#cP(]#cP(`(c(f(m#cP#cP(r)R)a)g)q)w*R*X*_PPPPPP*e*nP+Z+^P,S,V,],f_aOPcgt!j#hkXOPcglqrst!j!z#]#hkROPcglqrst!j!z#]#hQjSR!mkQxUR!qnQ!qzQ#S!UR#k!sq!WY[!Q!i!{!}#Q#f#m#r#y$Y$Z$b$g$sp!WY[!Q!i!{!}#Q#f#m#r#y$Y$Z$b$g$sU$T#b$V$jR$i$Sq!UY[!Q!i!{!}#Q#f#m#r#y$Y$Z$b$g$sp!WY[!Q!i!{!}#Q#f#m#r#y$Y$Z$b$g$sQ!b]R#a!cQyUR!rnQ!qyR#k!rQ|VR!toQ!OWR!upQuTQ!pmQ#^!_Q#d!fQ#e!gQ$l$UR$x$kSfPtQ!lgQ#g!jR$]#hZePgt!j#ha!^Z_`!S!Y![#X#YR#V!YR!c]R!e^R#c!eS$U#b$VR$v$jV$S#b$V$jQcOSgPtU!hcg#hR#h!jQ#r!{U$a#r$g$sQ$g#yR$s$bQ$c#rR$t$cQmTS!om$_R$_#oQ$Z#fR$p$ZQ!kfS#i!k#jR#j!lQ#Z!ZR#}#ZQ$V#bR$m$VQ$k$UR$w$k_bOPcgt!j#h^TOPcgt!j#hQ!nlQ!vqQ!wrQ!xsQ#o!zR$O#]R#s!{Q!SYQ!`[Q#O!QQ#f!i[#q!{#r#y$b$g$sQ#t!}Q#v#QS$X#f$ZQ$^#mR$o$YR#p!zQhPR!ytQ!_ZQ!g`R#R!SU!ZZ`!SQ!f_Q#W!YQ#[![Q#{#XR#|#Y",
|
|
4062
|
+
nodeNames: "⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",
|
|
4063
|
+
maxTerm: 109,
|
|
3999
4064
|
nodeProps: [["openedBy", 17, "(", 48, "{"], ["closedBy", 18, ")", 49, "}"]],
|
|
4000
4065
|
propSources: [cssHighlighting],
|
|
4001
4066
|
skippedNodes: [0, 3],
|
|
4002
|
-
repeatNodeCount:
|
|
4003
|
-
tokenData: "Lq~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Cu![!]Dp!]!^El!^!_$}!_!`E}!`!aF`!a!b$}!b!cG[!c!}$}!}#OHt#O#P$}#P#QIV#Q#R6d#R#T$}#T#UIh#U#c$}#c#dJy#d#o$}#o#pK`#p#q6d#q#rKq#r#sLS#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`Lk<%lO$}W%QSOy%^z;'S%^;'S;=`%o<%lO%^W%cSoWOy%^z;'S%^;'S;=`%o<%lO%^W%rP;=`<%l%^~%zh#
|
|
4067
|
+
repeatNodeCount: 9,
|
|
4068
|
+
tokenData: "Lq~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Cu![!]Dp!]!^El!^!_$}!_!`E}!`!aF`!a!b$}!b!cG[!c!}$}!}#OHt#O#P$}#P#QIV#Q#R6d#R#T$}#T#UIh#U#c$}#c#dJy#d#o$}#o#pK`#p#q6d#q#rKq#r#sLS#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`Lk<%lO$}W%QSOy%^z;'S%^;'S;=`%o<%lO%^W%cSoWOy%^z;'S%^;'S;=`%o<%lO%^W%rP;=`<%l%^~%zh#V~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#V~oWOX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^^)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^^)sUoWOy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^^*[UoWOy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^^*sUoWOy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^^+[UoWOy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^^+sUoWOy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^^,[UoWOy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^^,sUoWOy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^^-[UoWOy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^^-uS!VUoWOy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.R_/zYtPOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^^0oYoWOy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^^1dYoWOy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^^2ZYfUoWOy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^^3QYfUoWOy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^^3uYoWOy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^^4lYfUoWOy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^^5aYoWOy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^^6WSfUoWOy%^z;'S%^;'S;=`%o<%lO%^Y6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^Y7QSzQoWOy%^z;'S%^;'S;=`%o<%lO%^X7cSXPOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7o_9cSbVOy%^z;'S%^;'S;=`%o<%lO%^~9tOa~_9{UUPjSOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^_:fWjS!PPOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#]UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^<cYoWOy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=WUoWOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=qUoW#]UOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^>[[oW#]UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#YPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#]UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^ZKeS!RROy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",
|
|
4004
4069
|
tokenizers: [descendant, unitToken, identifiers, 0, 1, 2, 3],
|
|
4005
4070
|
topRules: {
|
|
4006
4071
|
"StyleSheet": [0, 4],
|
|
4007
4072
|
"Styles": [1, 84]
|
|
4008
4073
|
},
|
|
4009
4074
|
specialized: [{
|
|
4010
|
-
term:
|
|
4075
|
+
term: 96,
|
|
4011
4076
|
get: value => spec_callee[value] || -1
|
|
4012
4077
|
}, {
|
|
4013
4078
|
term: 56,
|
|
4014
4079
|
get: value => spec_AtKeyword[value] || -1
|
|
4015
4080
|
}, {
|
|
4016
|
-
term:
|
|
4081
|
+
term: 97,
|
|
4017
4082
|
get: value => spec_identifier$1[value] || -1
|
|
4018
4083
|
}],
|
|
4019
|
-
tokenPrec:
|
|
4084
|
+
tokenPrec: 1142
|
|
4020
4085
|
});
|
|
4021
4086
|
|
|
4022
4087
|
let _properties = null;
|
|
4023
4088
|
function properties() {
|
|
4024
4089
|
if (!_properties && typeof document == "object" && document.body) {
|
|
4025
|
-
let
|
|
4026
|
-
|
|
4027
|
-
|
|
4090
|
+
let {
|
|
4091
|
+
style
|
|
4092
|
+
} = document.body,
|
|
4093
|
+
names = [],
|
|
4094
|
+
seen = new Set();
|
|
4095
|
+
for (let prop in style) if (prop != "cssText" && prop != "cssFloat") {
|
|
4096
|
+
if (typeof style[prop] == "string") {
|
|
4097
|
+
if (/[A-Z]/.test(prop)) prop = prop.replace(/[A-Z]/g, ch => "-" + ch.toLowerCase());
|
|
4098
|
+
if (!seen.has(prop)) {
|
|
4099
|
+
names.push(prop);
|
|
4100
|
+
seen.add(prop);
|
|
4101
|
+
}
|
|
4102
|
+
}
|
|
4028
4103
|
}
|
|
4029
4104
|
_properties = names.sort().map(name => ({
|
|
4030
4105
|
type: "property",
|
|
@@ -4033,7 +4108,7 @@ function properties() {
|
|
|
4033
4108
|
}
|
|
4034
4109
|
return _properties || [];
|
|
4035
4110
|
}
|
|
4036
|
-
const pseudoClasses = /*@__PURE__*/["active", "after", "before", "checked", "default", "disabled", "empty", "enabled", "first-child", "first-letter", "first-line", "first-of-type", "focus", "hover", "in-range", "indeterminate", "invalid", "lang", "last-child", "last-of-type", "link", "not", "nth-child", "nth-last-child", "nth-last-of-type", "nth-of-type", "only-
|
|
4111
|
+
const pseudoClasses = /*@__PURE__*/["active", "after", "any-link", "autofill", "backdrop", "before", "checked", "cue", "default", "defined", "disabled", "empty", "enabled", "file-selector-button", "first", "first-child", "first-letter", "first-line", "first-of-type", "focus", "focus-visible", "focus-within", "fullscreen", "has", "host", "host-context", "hover", "in-range", "indeterminate", "invalid", "is", "lang", "last-child", "last-of-type", "left", "link", "marker", "modal", "not", "nth-child", "nth-last-child", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "part", "placeholder", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "selection", "slotted", "target", "target-text", "valid", "visited", "where"].map(name => ({
|
|
4037
4112
|
type: "class",
|
|
4038
4113
|
label: name
|
|
4039
4114
|
}));
|
|
@@ -4048,17 +4123,72 @@ const tags = /*@__PURE__*/["a", "abbr", "address", "article", "aside", "b", "bdi
|
|
|
4048
4123
|
type: "type",
|
|
4049
4124
|
label: name
|
|
4050
4125
|
}));
|
|
4051
|
-
const identifier$1 = /^[\w-]
|
|
4126
|
+
const identifier$1 = /^(\w[\w-]*|-\w[\w-]*|)$/,
|
|
4127
|
+
variable = /^-(-[\w-]*)?$/;
|
|
4128
|
+
function isVarArg(node, doc) {
|
|
4129
|
+
var _a;
|
|
4130
|
+
if (node.name == "(" || node.type.isError) node = node.parent || node;
|
|
4131
|
+
if (node.name != "ArgList") return false;
|
|
4132
|
+
let callee = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.firstChild;
|
|
4133
|
+
if ((callee === null || callee === void 0 ? void 0 : callee.name) != "Callee") return false;
|
|
4134
|
+
return doc.sliceString(callee.from, callee.to) == "var";
|
|
4135
|
+
}
|
|
4136
|
+
const VariablesByNode = /*@__PURE__*/new NodeWeakMap();
|
|
4137
|
+
const declSelector = ["Declaration"];
|
|
4138
|
+
function astTop(node) {
|
|
4139
|
+
for (let cur = node;;) {
|
|
4140
|
+
if (cur.type.isTop) return cur;
|
|
4141
|
+
if (!(cur = cur.parent)) return node;
|
|
4142
|
+
}
|
|
4143
|
+
}
|
|
4144
|
+
function variableNames(doc, node, isVariable) {
|
|
4145
|
+
if (node.to - node.from > 4096) {
|
|
4146
|
+
let known = VariablesByNode.get(node);
|
|
4147
|
+
if (known) return known;
|
|
4148
|
+
let result = [],
|
|
4149
|
+
seen = new Set(),
|
|
4150
|
+
cursor = node.cursor(IterMode.IncludeAnonymous);
|
|
4151
|
+
if (cursor.firstChild()) do {
|
|
4152
|
+
for (let option of variableNames(doc, cursor.node, isVariable)) if (!seen.has(option.label)) {
|
|
4153
|
+
seen.add(option.label);
|
|
4154
|
+
result.push(option);
|
|
4155
|
+
}
|
|
4156
|
+
} while (cursor.nextSibling());
|
|
4157
|
+
VariablesByNode.set(node, result);
|
|
4158
|
+
return result;
|
|
4159
|
+
} else {
|
|
4160
|
+
let result = [],
|
|
4161
|
+
seen = new Set();
|
|
4162
|
+
node.cursor().iterate(node => {
|
|
4163
|
+
var _a;
|
|
4164
|
+
if (isVariable(node) && node.matchContext(declSelector) && ((_a = node.node.nextSibling) === null || _a === void 0 ? void 0 : _a.name) == ":") {
|
|
4165
|
+
let name = doc.sliceString(node.from, node.to);
|
|
4166
|
+
if (!seen.has(name)) {
|
|
4167
|
+
seen.add(name);
|
|
4168
|
+
result.push({
|
|
4169
|
+
label: name,
|
|
4170
|
+
type: "variable"
|
|
4171
|
+
});
|
|
4172
|
+
}
|
|
4173
|
+
}
|
|
4174
|
+
});
|
|
4175
|
+
return result;
|
|
4176
|
+
}
|
|
4177
|
+
}
|
|
4052
4178
|
/**
|
|
4053
|
-
|
|
4179
|
+
Create a completion source for a CSS dialect, providing a
|
|
4180
|
+
predicate for determining what kind of syntax node can act as a
|
|
4181
|
+
completable variable. This is used by language modes like Sass and
|
|
4182
|
+
Less to reuse this package's completion logic.
|
|
4054
4183
|
*/
|
|
4055
|
-
const
|
|
4184
|
+
const defineCSSCompletionSource = isVariable => context => {
|
|
4056
4185
|
let {
|
|
4057
4186
|
state,
|
|
4058
4187
|
pos
|
|
4059
4188
|
} = context,
|
|
4060
4189
|
node = syntaxTree(state).resolveInner(pos, -1);
|
|
4061
|
-
|
|
4190
|
+
let isDash = node.type.isError && node.from == node.to - 1 && state.doc.sliceString(node.from, node.to) == "-";
|
|
4191
|
+
if (node.name == "PropertyName" || (isDash || node.name == "TagName") && /^(Block|Styles)$/.test(node.resolve(node.to).name)) return {
|
|
4062
4192
|
from: node.from,
|
|
4063
4193
|
options: properties(),
|
|
4064
4194
|
validFor: identifier$1
|
|
@@ -4073,6 +4203,11 @@ const cssCompletionSource = context => {
|
|
|
4073
4203
|
options: pseudoClasses,
|
|
4074
4204
|
validFor: identifier$1
|
|
4075
4205
|
};
|
|
4206
|
+
if (isVariable(node) || (context.explicit || isDash) && isVarArg(node, state.doc)) return {
|
|
4207
|
+
from: isVariable(node) || isDash ? node.from : pos,
|
|
4208
|
+
options: variableNames(state.doc, astTop(node), isVariable),
|
|
4209
|
+
validFor: variable
|
|
4210
|
+
};
|
|
4076
4211
|
if (node.name == "TagName") {
|
|
4077
4212
|
for (let {
|
|
4078
4213
|
parent
|
|
@@ -4100,13 +4235,17 @@ const cssCompletionSource = context => {
|
|
|
4100
4235
|
options: values,
|
|
4101
4236
|
validFor: identifier$1
|
|
4102
4237
|
};
|
|
4103
|
-
if (above.name == "Block") return {
|
|
4238
|
+
if (above.name == "Block" || above.name == "Styles") return {
|
|
4104
4239
|
from: pos,
|
|
4105
4240
|
options: properties(),
|
|
4106
4241
|
validFor: identifier$1
|
|
4107
4242
|
};
|
|
4108
4243
|
return null;
|
|
4109
4244
|
};
|
|
4245
|
+
/**
|
|
4246
|
+
CSS property, variable, and value keyword completion source.
|
|
4247
|
+
*/
|
|
4248
|
+
const cssCompletionSource = /*@__PURE__*/defineCSSCompletionSource(n => n.name == "VariableName");
|
|
4110
4249
|
|
|
4111
4250
|
/**
|
|
4112
4251
|
A language provider based on the [Lezer CSS
|
|
@@ -4114,6 +4253,7 @@ parser](https://github.com/lezer-parser/css), extended with
|
|
|
4114
4253
|
highlighting and indentation information.
|
|
4115
4254
|
*/
|
|
4116
4255
|
const cssLanguage = /*@__PURE__*/LRLanguage.define({
|
|
4256
|
+
name: "css",
|
|
4117
4257
|
parser: /*@__PURE__*/parser$3.configure({
|
|
4118
4258
|
props: [/*@__PURE__*/indentNodeProp.add({
|
|
4119
4259
|
Declaration: /*@__PURE__*/continuedIndent()
|
|
@@ -4307,23 +4447,23 @@ const spec_identifier = {
|
|
|
4307
4447
|
module: 429,
|
|
4308
4448
|
declare: 433,
|
|
4309
4449
|
global: 437,
|
|
4310
|
-
for:
|
|
4311
|
-
of:
|
|
4312
|
-
while:
|
|
4313
|
-
with:
|
|
4314
|
-
do:
|
|
4315
|
-
if:
|
|
4316
|
-
else:
|
|
4317
|
-
switch:
|
|
4318
|
-
case:
|
|
4319
|
-
try:
|
|
4320
|
-
catch:
|
|
4321
|
-
finally:
|
|
4322
|
-
return:
|
|
4323
|
-
throw:
|
|
4324
|
-
break:
|
|
4325
|
-
continue:
|
|
4326
|
-
debugger:
|
|
4450
|
+
for: 456,
|
|
4451
|
+
of: 465,
|
|
4452
|
+
while: 468,
|
|
4453
|
+
with: 472,
|
|
4454
|
+
do: 476,
|
|
4455
|
+
if: 480,
|
|
4456
|
+
else: 482,
|
|
4457
|
+
switch: 486,
|
|
4458
|
+
case: 492,
|
|
4459
|
+
try: 498,
|
|
4460
|
+
catch: 502,
|
|
4461
|
+
finally: 506,
|
|
4462
|
+
return: 510,
|
|
4463
|
+
throw: 514,
|
|
4464
|
+
break: 518,
|
|
4465
|
+
continue: 522,
|
|
4466
|
+
debugger: 526
|
|
4327
4467
|
};
|
|
4328
4468
|
const spec_word = {
|
|
4329
4469
|
__proto__: null,
|
|
@@ -4347,26 +4487,26 @@ const spec_LessThan = {
|
|
|
4347
4487
|
};
|
|
4348
4488
|
const parser$2 = LRParser.deserialize({
|
|
4349
4489
|
version: 14,
|
|
4350
|
-
states: "$EnO`QUOOO%QQUOOO'TQWOOP(bOSOOO*pQ(CjO'#CfO*wOpO'#CgO+VO!bO'#CgO+eO07`O'#DZO-vQUO'#DaO.WQUO'#DlO%QQUO'#DvO0_QUO'#EOOOQ(CY'#EW'#EWO0uQSO'#ETOOQO'#I`'#I`O0}QSO'#GkOOQO'#Ei'#EiO1YQSO'#EhO1_QSO'#EhO3aQ(CjO'#JcO6QQ(CjO'#JdO6nQSO'#FWO6sQ#tO'#FoOOQ(CY'#F`'#F`O7OO&jO'#F`O7^Q,UO'#FvO8tQSO'#FuOOQ(CY'#Jd'#JdOOQ(CW'#Jc'#JcOOQQ'#J}'#J}O8yQSO'#IPO9OQ(C[O'#IQOOQQ'#JP'#JPOOQQ'#IU'#IUQ`QUOOO%QQUO'#DnO9WQUO'#DzO%QQUO'#D|O9_QSO'#GkO9dQ,UO'#ClO9rQSO'#EgO9}QSO'#ErO:SQ,UO'#F_O:qQSO'#GkO:vQSO'#GoO;RQSO'#GoO;aQSO'#GrO;aQSO'#GsO;aQSO'#GuO9_QSO'#GxO<QQSO'#G{O=cQSO'#CbO=sQSO'#HYO={QSO'#H`O={QSO'#HbO`QUO'#HdO={QSO'#HfO={QSO'#HiO>QQSO'#HoO>VQ(C]O'#HuO%QQUO'#HwO>bQ(C]O'#HyO>mQ(C]O'#H{O9OQ(C[O'#H}O>xQ(CjO'#CfO?zQWO'#DfQOQSOOO@bQSO'#EPO9dQ,UO'#EgO@mQSO'#EgO@xQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jg'#JgO%QQUO'#JgOBUQWO'#E`OOQ(CW'#E_'#E_OB`Q(C`O'#E`OBzQWO'#ESOOQO'#Jj'#JjOC`QWO'#ESOCmQWO'#E`ODTQWO'#EfODWQWO'#E`ODqQWO'#E`OAQQWO'#E`OBzQWO'#E`PEbO?MpO'#C`POOO)CDn)CDnOOOO'#IV'#IVOEmOpO,59ROOQ(CY,59R,59ROOOO'#IW'#IWOE{O!bO,59RO%QQUO'#D]OOOO'#IY'#IYOFZO07`O,59uOOQ(CY,59u,59uOFiQUO'#IZOF|QSO'#JeOIOQbO'#JeO+sQUO'#JeOIVQSO,59{OImQSO'#EiOIzQSO'#JrOJVQSO'#JqOJVQSO'#JqOJ_QSO,5;VOJdQSO'#JpOOQ(CY,5:W,5:WOJkQUO,5:WOLlQ(CjO,5:bOM]QSO,5:jOMbQSO'#JnON[Q(C[O'#JoO:vQSO'#JnONcQSO'#JnONkQSO,5;UONpQSO'#JnOOQ(CY'#Cf'#CfO%QQUO'#EOO! dQ`O,5:oOOQO'#Jk'#JkOOQO-E<^-E<^O9_QSO,5=VO! zQSO,5=VO!!PQUO,5;SO!$SQ,UO'#EdO!%gQSO,5;SO!'PQ,UO'#DpO!'WQUO'#DuO!'bQWO,5;]O!'jQWO,5;]O%QQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^OOQQ'#FU'#FUO!'xQUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!){QSO,5;uOOQ(CY,5;v,5;vO%QQUO'#IfO!*TQ(C[O,5<cO!$SQ,UO,5;^O!*rQ,UO,5;^O%QQUO,5;rO!*yQ#tO'#FeO!+vQ#tO'#JvO!+bQ#tO'#JvO!+}Q#tO'#JvOOQO'#Jv'#JvO!,cQ#tO,5;}OOOO,5<Z,5<ZO!,tQUO'#FqOOOO'#Ie'#IeO7OO&jO,5;zO!,{Q#tO'#FsOOQ(CY,5;z,5;zO!-lQ7[O'#CrOOQ(CY'#Cv'#CvO!.PQSO'#CvO!.UO07`O'#CzO!.rQ,UO,5<`O!.yQSO,5<bO!0`QMhO'#GQO!0mQSO'#GRO!0rQSO'#GRO!0wQMhO'#GVO!1vQWO'#GZO!2iQ7[O'#J^OOQ(CY'#J^'#J^O!2sQSO'#J]O!3RQSO'#J[O!3ZQSO'#CqOOQ(CY'#Ct'#CtOOQ(CY'#DO'#DOOOQ(CY'#DQ'#DQO0xQSO'#DSO!%lQ,UO'#FxO!%lQ,UO'#FzO!3cQSO'#F|O!3hQSO'#F}O!0rQSO'#GTO!%lQ,UO'#GYO!3mQSO'#EjO!4XQSO,5<aO`QUO,5>kOOQQ'#JX'#JXOOQQ,5>l,5>lOOQQ-E<S-E<SO!6WQ(CjO,5:YO!8tQ(CjO,5:fO%QQUO,5:fO!;_Q(CjO,5:hOOQ(CW'#Co'#CoO!<OQ,UO,5=VO!<^Q(C[O'#JYO8tQSO'#JYO!<oQ(C[O,59WO!<zQWO,59WO!=SQ,UO,59WO9dQ,UO,59WO!=_QSO,5;SO!=gQSO'#HXO!=xQSO'#KRO%QQUO,5;wO!>QQWO,5;yO!>VQSO,5=rO!>[QSO,5=rO!>aQSO,5=rO9OQ(C[O,5=rO!>oQSO'#EkO!?iQWO'#ElOOQ(CW'#Jp'#JpO!?pQ(C[O'#KOO9OQ(C[O,5=ZO;aQSO,5=aOOQO'#Cr'#CrO!?{QWO,5=^O!@TQ,UO,5=_O!@`QSO,5=aO!@eQ`O,5=dO>QQSO'#G}O9_QSO'#HPO!@mQSO'#HPO9dQ,UO'#HSO!@rQSO'#HSOOQQ,5=g,5=gO!@wQSO'#HTO!APQSO'#ClO!AUQSO,58|O!A`QSO,58|O!ChQUO,58|OOQQ,58|,58|O!CuQ(C[O,58|O%QQUO,58|O!DQQUO'#H[OOQQ'#H]'#H]OOQQ'#H^'#H^O`QUO,5=tO!DbQSO,5=tO`QUO,5=zO`QUO,5=|O!DgQSO,5>OO`QUO,5>QO!DlQSO,5>TO!DqQUO,5>ZOOQQ,5>a,5>aO%QQUO,5>aO9OQ(C[O,5>cOOQQ,5>e,5>eO!HxQSO,5>eOOQQ,5>g,5>gO!HxQSO,5>gOOQQ,5>i,5>iO!H}QWO'#DXO%QQUO'#JgO!IlQWO'#JgO!JZQWO'#DgO!JlQWO'#DgO!L}QUO'#DgO!MUQSO'#JfO!M^QSO,5:QO!McQSO'#EmO!MqQSO'#JsO!MyQSO,5;WO!NOQWO'#DgO!N]QWO'#EROOQ(CY,5:k,5:kO%QQUO,5:kO!NdQSO,5:kO>QQSO,5;RO!<zQWO,5;RO!=SQ,UO,5;RO9dQ,UO,5;RO!NlQSO,5@RO!NqQ!LQO,5:oO# wQ(C`O,5:zOBzQWO,5:nO#!cQWO,5:nO#!pQWO,5:zO##WQWO,5:zO##qQWO,5:zO#$bQWO,5:zOBzQWO,5:zO!<oQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%QQUO,5:zO#%UQ(C[O,5:zO#%aQ(C[O,5:zO!<zQWO,5:nOOQO,5;Q,5;QO#%oQ(C[O,5:zPOOO'#IT'#ITP#&TO?MpO,58zPOOO,58z,58zOOOO-E<T-E<TOOQ(CY1G.m1G.mOOOO-E<U-E<UO#&`Q`O,59wOOOO-E<W-E<WOOQ(CY1G/a1G/aO#&eQbO,5>uO+sQUO,5>uOOQO,5>{,5>{O#&oQUO'#IZOOQO-E<X-E<XO#&|QSO,5@PO#'UQbO,5@PO#']QSO,5@]OOQ(CY1G/g1G/gO%QQUO,5@^O#'eQSO'#IaOOQO-E<_-E<_O#']QSO,5@]OOQ(CW1G0q1G0qOOQ(CY1G/r1G/rOOQ(CY1G0U1G0UO#'yQSO,5@YO:vQSO,5@YO#(RQSO,5@YO%QQUO,5@ZO#(aQ(C[O,5@ZO#(rQ(C[O,5@ZO#(yQSO'#IcO#'yQSO,5@YOOQ(CW1G0p1G0pO!'bQWO,5:qO!'mQWO,5:qOOQO,5:s,5:sO#)hQSO,5:sO#)pQ,UO1G2qO9_QSO1G2qOOQ(CY1G0n1G0nO#*OQ(CjO1G0nO#+TQ(ChO,5;OOOQ(CY'#GP'#GPO#+qQ(CjO'#J^O!!PQUO1G0nO#-yQ,UO'#JhO#.TQSO,5:[O#.YQbO'#JiO%QQUO'#JiO#.dQSO,5:aOOQ(CY'#DX'#DXOOQ(CY1G0w1G0wO%QQUO1G0wOOQ(CY1G1a1G1aO#.iQSO1G0wO#1QQ(CjO1G0xO#1XQ(CjO1G0xO#3rQ(CjO1G0xO#3yQ(CjO1G0xO#6TQ(CjO1G0xO#6kQ(CjO1G0xO#9eQ(CjO1G0xO#9lQ(CjO1G0xO#<VQ(CjO1G0xO#<^Q(CjO1G0xO#>UQ(CjO1G0xO#AUQ$IUO'#CfO#CSQ$IUO1G1ZO#EQQ$IUO'#JdO!*OQSO1G1aO#EeQ(CjO,5?QOOQ(CW-E<d-E<dO#FXQ(CjO1G0xOOQ(CY1G0x1G0xO#HdQ(CjO1G1^O#IWQ#tO,5<RO#I`Q#tO,5<SO#IhQ#tO'#FjO#JPQSO'#FiOOQO'#Jw'#JwOOQO'#Id'#IdO#JUQ#tO1G1iOOQ(CY1G1i1G1iOOOO1G1t1G1tO#JgQ$IUO'#JcO#JqQSO,5<]O!'xQUO,5<]OOOO-E<c-E<cOOQ(CY1G1f1G1fO#JvQWO'#JvOOQ(CY,5<_,5<_O#KOQWO,5<_OOQ(CY,59b,59bO!$SQ,UO'#C|OOOO'#IX'#IXO#KTO07`O,59fOOQ(CY,59f,59fO%QQUO1G1zO!3hQSO'#IhO#K`QSO,5<sOOQ(CY,5<p,5<pOOQO'#Gf'#GfO!%lQ,UO,5=POOQO'#Gh'#GhO!%lQ,UO,5=RO!$SQ,UO,5=TOOQO1G1|1G1|O#KnQ`O'#CoO#LRQ`O,5<lO#LYQSO'#JzO9_QSO'#JzO#LhQSO,5<nO!%lQ,UO,5<mO#LmQSO'#GSO#LxQSO,5<mO#L}Q`O'#GPO#M[Q`O'#J{O#MfQSO'#J{O!$SQ,UO'#J{O#MkQSO,5<qO#MpQWO'#G[O!1qQWO'#G[O#NRQSO'#G^O#NWQSO'#G`O!0rQSO'#GcO#N]Q(C[O'#IjO#NhQWO,5<uOOQ(CY,5<u,5<uO#NoQWO'#G[O#N}QWO'#G]O$ VQWO'#G]OOQ(CY,5=U,5=UO!%lQ,UO,5?wO!%lQ,UO,5?wO$ [QSO'#IkO$ gQSO,5?vO$ oQSO,59]O$!`Q,UO,59nOOQ(CY,59n,59nO$#RQ,UO,5<dO$#tQ,UO,5<fO?rQSO,5<hOOQ(CY,5<i,5<iO$$OQSO,5<oO$$TQ,UO,5<tO!!PQUO1G1{O$$eQSO1G1{OOQQ1G4V1G4VOOQ(CY1G/t1G/tO!){QSO1G/tO$&dQ(CjO1G0QOOQQ1G2q1G2qO!$SQ,UO1G2qO%QQUO1G2qO$'TQSO1G2qO$'`Q,UO'#EdOOQ(CW,5?t,5?tO$'jQ(C[O,5?tOOQQ1G.r1G.rO!<oQ(C[O1G.rO!<zQWO1G.rO!=SQ,UO1G.rO$'{QSO1G0nO$(QQSO'#CfO$(]QSO'#KSO$(eQSO,5=sO$(jQSO'#KSO$(oQSO'#KSO$(zQSO'#IsO$)YQSO,5@mO$)bQbO1G1cOOQ(CY1G1e1G1eO9_QSO1G3^O?rQSO1G3^O$)iQSO1G3^O$)nQSO1G3^OOQQ1G3^1G3^O:vQSO'#JqO:vQSO'#EmO%QQUO'#EmO:vQSO'#ImO$)sQ(C[O,5@jOOQQ1G2u1G2uO!@`QSO1G2{O!$SQ,UO1G2xO$*OQSO1G2xOOQQ1G2y1G2yO!$SQ,UO1G2yO$*TQSO1G2yO$*]QWO'#GwOOQQ1G2{1G2{O!1qQWO'#IoO!@eQ`O1G3OOOQQ1G3O1G3OOOQQ,5=i,5=iO$*eQ,UO,5=kO9_QSO,5=kO#NWQSO,5=nO8tQSO,5=nO!<zQWO,5=nO!=SQ,UO,5=nO9dQ,UO,5=nO$*sQSO'#KQO$+OQSO,5=oOOQQ1G.h1G.hO$+TQ(C[O1G.hO?rQSO1G.hO$+`QSO1G.hO9OQ(C[O1G.hO$+kQbO,5@oO$,OQSO,5@oO$,ZQUO,5=vO$,bQSO,5=vO:vQSO,5@oOOQQ1G3`1G3`O`QUO1G3`OOQQ1G3f1G3fOOQQ1G3h1G3hO={QSO1G3jO$,gQUO1G3lO$0hQUO'#HkOOQQ1G3o1G3oO$0uQSO'#HqO>QQSO'#HsOOQQ1G3u1G3uO$0}QUO1G3uO9OQ(C[O1G3{OOQQ1G3}1G3}OOQ(CW'#GW'#GWO9OQ(C[O1G4PO9OQ(C[O1G4RO$5RQSO,5@RO!'xQUO,5;XO:vQSO,5;XO>QQSO,5:RO!'xQUO,5:RO!<zQWO,5:RO$5WQ$IUO,5:ROOQO,5;X,5;XO$5bQWO'#I[O$5xQSO,5@QOOQ(CY1G/l1G/lO$6QQWO'#IbO$6[QSO,5@_OOQ(CW1G0r1G0rO!JlQWO,5:ROOQO'#I_'#I_O$6dQWO,5:mOOQ(CY,5:m,5:mO!NgQSO1G0VOOQ(CY1G0V1G0VO%QQUO1G0VOOQ(CY1G0m1G0mO>QQSO1G0mO!<zQWO1G0mO!=SQ,UO1G0mOOQ(CW1G5m1G5mO!<oQ(C[O1G0YOOQO1G0f1G0fO%QQUO1G0fO$6kQ(C[O1G0fO$6vQ(C[O1G0fO!<zQWO1G0YOBzQWO1G0YO$7UQ(C`O1G0fO$7pQWO1G0YOBzQWO1G0fO$7}QWO1G0fO$8eQWO1G0fO$9OQWO1G0fO$9oQ(C[O1G0fOOQO1G0Y1G0YO$:TQ(CjO1G0fPOOO-E<R-E<RPOOO1G.f1G.fOOOO1G/c1G/cO$:_Q`O,5<cO$:gQbO1G4aOOQO1G4g1G4gO%QQUO,5>uO$:qQSO1G5kO$:yQSO1G5wO$;RQbO1G5xO:vQSO,5>{O$;]QSO1G5tO$;]QSO1G5tO:vQSO1G5tO$;eQ(CjO1G5uO%QQUO1G5uO$;uQ(C[O1G5uO$<WQSO,5>}O:vQSO,5>}OOQO,5>},5>}O$<lQSO,5>}OOQO-E<a-E<aOOQO1G0]1G0]OOQO1G0_1G0_O!*OQSO1G0_OOQQ7+(]7+(]O!$SQ,UO7+(]O%QQUO7+(]O$<zQSO7+(]O$=VQ,UO7+(]O$=eQ(CjO,59nO$?mQ(CjO,5<dO$AxQ(CjO,5<fO$DTQ(CjO,5<tOOQ(CY7+&Y7+&YO$FfQ(CjO7+&YO$GYQ,UO'#I]O$GdQSO,5@SOOQ(CY1G/v1G/vO$GlQUO'#I^O$GyQSO,5@TO$HRQbO,5@TOOQ(CY1G/{1G/{O$H]QSO7+&cOOQ(CY7+&c7+&cO$HbQ$IUO,5:bO%QQUO7+&uO$HlQ$IUO,5:YO$HyQ$IUO,5:fO$ITQ$IUO,5:hOOQ(CY7+&{7+&{OOQO1G1m1G1mOOQO1G1n1G1nO$I_Q#tO,5<UO!'xQUO,5<TOOQO-E<b-E<bOOQ(CY7+'T7+'TOOOO7+'`7+'`OOOO1G1w1G1wO$IjQSO1G1wOOQ(CY1G1y1G1yO$IoQ`O,59hOOOO-E<V-E<VOOQ(CY1G/Q1G/QO$IvQ(CjO7+'fOOQ(CY,5?S,5?SO$JjQSO,5?SOOQ(CY1G2_1G2_P$JoQSO'#IhPOQ(CY-E<f-E<fO$KcQ,UO1G2kO$LUQ,UO1G2mO$L`Q`O1G2oOOQ(CY1G2W1G2WO$LgQSO'#IgO$LuQSO,5@fO$LuQSO,5@fO$L}QSO,5@fO$MYQSO,5@fOOQO1G2Y1G2YO$MhQ,UO1G2XO!%lQ,UO1G2XO$MxQMhO'#IiO$NYQSO,5@gO!$SQ,UO,5@gO$NbQ`O,5@gOOQ(CY1G2]1G2]OOQ(CW,5<v,5<vOOQ(CW,5<w,5<wO$NlQSO,5<wOBuQSO,5<wO!<zQWO,5<vOOQO'#G_'#G_O$NqQSO,5<xOOQ(CW,5<z,5<zO$NlQSO,5<}OOQO,5?U,5?UOOQO-E<h-E<hOOQ(CY1G2a1G2aO!1qQWO,5<vO$NyQSO,5<wO#NRQSO,5<xO!1qQWO,5<wO% UQ,UO1G5cO% `Q,UO1G5cOOQO,5?V,5?VOOQO-E<i-E<iOOQO1G.w1G.wO!>QQWO,59pO%QQUO,59pO% mQSO1G2SO!%lQ,UO1G2ZO% rQ(CjO7+'gOOQ(CY7+'g7+'gO!!PQUO7+'gOOQ(CY7+%`7+%`O%!fQ`O'#J|O!NgQSO7+(]O%!pQbO7+(]O$<}QSO7+(]O%!wQ(ChO'#CfO%#[Q(ChO,5<{O%#|QSO,5<{OOQ(CW1G5`1G5`OOQQ7+$^7+$^O!<oQ(C[O7+$^O!<zQWO7+$^O!!PQUO7+&YO%$RQSO'#IrO%$gQSO,5@nOOQO1G3_1G3_O9_QSO,5@nO%$gQSO,5@nO%$oQSO,5@nOOQO,5?_,5?_OOQO-E<q-E<qOOQ(CY7+&}7+&}O%$tQSO7+(xO9OQ(C[O7+(xO9_QSO7+(xO?rQSO7+(xO%$yQSO,5;XOOQ(CW,5?X,5?XOOQ(CW-E<k-E<kOOQQ7+(g7+(gO%%OQ(ChO7+(dO!$SQ,UO7+(dO%%YQ`O7+(eOOQQ7+(e7+(eO!$SQ,UO7+(eO%%aQSO'#KPO%%lQSO,5=cOOQO,5?Z,5?ZOOQO-E<m-E<mOOQQ7+(j7+(jO%&{QWO'#HQOOQQ1G3V1G3VO!$SQ,UO1G3VO%QQUO1G3VO%'SQSO1G3VO%'_Q,UO1G3VO9OQ(C[O1G3YO#NWQSO1G3YO8tQSO1G3YO!<zQWO1G3YO!=SQ,UO1G3YO%'mQSO'#IqO%'xQSO,5@lO%(QQWO,5@lOOQ(CW1G3Z1G3ZOOQQ7+$S7+$SO?rQSO7+$SO9OQ(C[O7+$SO%(]QSO7+$SO%QQUO1G6ZO%QQUO1G6[O%(bQUO1G3bO%(iQSO1G3bO%(nQUO1G3bO%(uQ(C[O1G6ZOOQQ7+(z7+(zO9OQ(C[O7+)UO`QUO7+)WOOQQ'#KV'#KVOOQQ'#It'#ItO%)PQUO,5>VOOQQ,5>V,5>VO%QQUO'#HlO%)^QSO'#HnOOQQ,5>],5>]O:vQSO,5>]OOQQ,5>_,5>_OOQQ7+)a7+)aOOQQ7+)g7+)gOOQQ7+)k7+)kOOQQ7+)m7+)mO%)cQWO1G5mO%)wQ$IUO1G0sO%*RQSO1G0sOOQO1G/m1G/mO%*^Q$IUO1G/mO>QQSO1G/mO!'xQUO'#DgOOQO,5>v,5>vOOQO-E<Y-E<YOOQO,5>|,5>|OOQO-E<`-E<`O!<zQWO1G/mOOQO-E<]-E<]OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO!NgQSO7+%qOOQ(CY7+&X7+&XO>QQSO7+&XO!<zQWO7+&XOOQO7+%t7+%tO$:TQ(CjO7+&QOOQO7+&Q7+&QO%QQUO7+&QO%*hQ(C[O7+&QO!<oQ(C[O7+%tO!<zQWO7+%tO%*sQ(C[O7+&QOBzQWO7+%tO%+RQ(C[O7+&QO%+gQ(C`O7+&QO%+qQWO7+%tOBzQWO7+&QO%,OQWO7+&QO%,fQWO7+&QO%-PQSO7++`O%-PQSO7++`O%-XQ(CjO7++aO%QQUO7++aOOQO1G4i1G4iO:vQSO1G4iO%-iQSO1G4iOOQO7+%y7+%yO!NgQSO<<KwO%!pQbO<<KwO%-wQSO<<KwOOQQ<<Kw<<KwO!$SQ,UO<<KwO%QQUO<<KwO%.PQSO<<KwO%.[Q(CjO1G2kO%0gQ(CjO1G2mO%2rQ(CjO1G2XO%5TQ,UO,5>wOOQO-E<Z-E<ZO%5_QbO,5>xO%QQUO,5>xOOQO-E<[-E<[O%5iQSO1G5oOOQ(CY<<I}<<I}O%5qQ$IUO1G0nO%7{Q$IUO1G0xO%8SQ$IUO1G0xO%:WQ$IUO1G0xO%:_Q$IUO1G0xO%<SQ$IUO1G0xO%<jQ$IUO1G0xO%>}Q$IUO1G0xO%?UQ$IUO1G0xO%AYQ$IUO1G0xO%AaQ$IUO1G0xO%CXQ$IUO1G0xO%ClQ(CjO<<JaO%DqQ$IUO1G0xO%FgQ$IUO'#J^O%HjQ$IUO1G1^O%HwQ$IUO1G0QO!'xQUO'#FlOOQO'#Jx'#JxOOQO1G1p1G1pO%IRQSO1G1oO%IWQ$IUO,5?QOOOO7+'c7+'cOOOO1G/S1G/SOOQ(CY1G4n1G4nO!%lQ,UO7+(ZO%IbQSO,5?RO9_QSO,5?ROOQO-E<e-E<eO%IpQSO1G6QO%IpQSO1G6QO%IxQSO1G6QO%JTQ,UO7+'sO%JeQ`O,5?TO%JoQSO,5?TO!$SQ,UO,5?TOOQO-E<g-E<gO%JtQ`O1G6RO%KOQSO1G6ROOQ(CW1G2c1G2cO$NlQSO1G2cOOQ(CW1G2b1G2bO%KWQSO1G2dO!$SQ,UO1G2dOOQ(CW1G2i1G2iO!<zQWO1G2bOBuQSO1G2cO%K]QSO1G2dO%KeQSO1G2cO!%lQ,UO7+*}OOQ(CY1G/[1G/[O%KpQSO1G/[OOQ(CY7+'n7+'nO%KuQ,UO7+'uO%LVQ(CjO<<KROOQ(CY<<KR<<KRO!$SQ,UO'#IlO%LyQSO,5@hO!$SQ,UO1G2gOOQQ<<Gx<<GxO!<oQ(C[O<<GxO%MRQ(CjO<<ItOOQ(CY<<It<<ItOOQO,5?^,5?^O%MuQSO,5?^O$(oQSO,5?^OOQO-E<p-E<pO%MzQSO1G6YO%MzQSO1G6YO9_QSO1G6YO?rQSO<<LdOOQQ<<Ld<<LdO%NSQSO<<LdO9OQ(C[O<<LdO%NXQSO1G0sOOQQ<<LO<<LOO%%OQ(ChO<<LOOOQQ<<LP<<LPO%%YQ`O<<LPO%N^QWO'#InO%NiQSO,5@kO!'xQUO,5@kOOQQ1G2}1G2}O%NqQ(C`O'#JgO& ]QUO'#JgO& dQWO'#E`O&!QQ(C[O'#E`OB`Q(C`O'#E`O(YQWO'#HROOQO'#Ip'#IpO9OQ(C[O'#IpO&!fQWO,5=lOOQQ,5=l,5=lO&#OQWO'#E`O& vQWO'#E`O&#VQWO'#E`O&#pQWO'#E`O& jQWO'#E`O&$aQWO'#HRO&$rQSO7+(qO&$wQSO7+(qOOQQ7+(q7+(qO!$SQ,UO7+(qO%QQUO7+(qO&%PQSO7+(qOOQQ7+(t7+(tO9OQ(C[O7+(tO#NWQSO7+(tO8tQSO7+(tO!<zQWO7+(tO&%[QSO,5?]OOQO-E<o-E<oOOQO'#HU'#HUO&%gQSO1G6WO9OQ(C[O<<GnOOQQ<<Gn<<GnO?rQSO<<GnO&%oQSO7++uO&%tQSO7++vOOQQ7+(|7+(|O&%yQSO7+(|O&&OQUO7+(|O&&VQSO7+(|O%QQUO7++uO%QQUO7++vOOQQ<<Lp<<LpOOQQ<<Lr<<LrOOQQ-E<r-E<rOOQQ1G3q1G3qO&&[QSO,5>WOOQQ,5>Y,5>YO&&aQSO1G3wO:vQSO7+&_O!'xQUO7+&_OOQO7+%X7+%XO&&fQ$IUO1G5xO>QQSO7+%XOOQ(CY<<I]<<I]OOQ(CY<<Is<<IsO>QQSO<<IsOOQO<<Il<<IlO$:TQ(CjO<<IlO%QQUO<<IlOOQO<<I`<<I`O!<oQ(C[O<<I`O&&pQ(C[O<<IlO!<zQWO<<I`O&&{Q(C[O<<IlOBzQWO<<I`O&'ZQ(C[O<<IlO&'oQ(C`O<<IlO&'yQWO<<I`OBzQWO<<IlO&(WQWO<<IlO&(nQSO<<NzO&(vQ(CjO<<N{OOQO7+*T7+*TO:vQSO7+*TOOQQANAcANAcO&)WQSOANAcO!$SQ,UOANAcO!NgQSOANAcO%!pQbOANAcO%QQUOANAcO&)`Q(CjO7+'sO&+qQ(CjO7+'uO&.SQbO1G4dO&.^Q$IUO7+&YO&.kQ$IUO,59nO&0nQ$IUO,5<dO&2qQ$IUO,5<fO&4tQ$IUO,5<tO&6jQ$IUO7+'fO&6wQ$IUO7+'gO&7UQSO,5<WOOQO7+'Z7+'ZO&7ZQ,UO<<KuOOQO1G4m1G4mO&7bQSO1G4mO&7mQSO1G4mO&7{QSO7++lO&7{QSO7++lO!$SQ,UO1G4oO&8TQ`O1G4oO&8_QSO7++mOOQ(CW7+'}7+'}O$NlQSO7+(OO&8gQ`O7+(OOOQ(CW7+'|7+'|O$NlQSO7+'}O&8nQSO7+(OO!$SQ,UO7+(OOBuQSO7+'}O&8sQ,UO<<NiOOQ(CY7+$v7+$vO&8}Q`O,5?WOOQO-E<j-E<jO&9XQ(ChO7+(ROOQQAN=dAN=dO9_QSO1G4xOOQO1G4x1G4xO&9iQSO1G4xO&9nQSO7++tO&9nQSO7++tO9OQ(C[OANBOO?rQSOANBOOOQQANBOANBOOOQQANAjANAjOOQQANAkANAkO&9vQSO,5?YOOQO-E<l-E<lO&:RQ$IUO1G6VO&:]Q(C[O,5=mO8tQSO,5=mO&<nQbO'#CfO&<xQWO,5:zO&=SQWO,5:zO&=aQWO,5:zO&=tQWO,5:zO!<zQWO,5=mOOQO,5?[,5?[OOQO-E<n-E<nOOQQ1G3W1G3WO& ]QUO,5<xO%NqQ(C`O,5=mO# wQ(C`O,5:zO(YQWO,5=mO&>[QWO,5=mO&>mQWO,5:zOOQQ<<L]<<L]O!$SQ,UO<<L]O&$rQSO<<L]O&?WQSO<<L]O%QQUO<<L]OOQQ<<L`<<L`O9OQ(C[O<<L`O#NWQSO<<L`O8tQSO<<L`O&?`QWO1G4wO&?kQSO7++rOOQQAN=YAN=YO9OQ(C[OAN=YOOQQ<= a<= aOOQQ<= b<= bOOQQ<<Lh<<LhO&?sQSO<<LhO&?xQUO<<LhO&@PQSO<= aO&@UQSO<= bOOQQ1G3r1G3rO>QQSO7+)cO&@ZQSO<<IyO&@fQ$IUO<<IyOOQO<<Hs<<HsOOQ(CYAN?_AN?_OOQOAN?WAN?WO$:TQ(CjOAN?WOOQOAN>zAN>zO%QQUOAN?WO!<oQ(C[OAN>zO&@pQ(C[OAN?WO!<zQWOAN>zO&@{Q(C[OAN?WOBzQWOAN>zO&AZQ(C[OAN?WO&AoQ(C`OAN?WO&AyQWOAN>zOBzQWOAN?WOOQO<<Mo<<MoOOQQG26}G26}O!$SQ,UOG26}O!NgQSOG26}O&BWQSOG26}O%!pQbOG26}O&B`Q$IUO<<JaO&BmQ$IUO1G2XO&DcQ$IUO1G2kO&FfQ$IUO1G2mO&HiQ$IUO<<KRO&HvQ$IUO<<ItOOQO1G1r1G1rO!%lQ,UOANAaOOQO7+*X7+*XO&ITQSO7+*XO&I`QSO<= WO&IhQ`O7+*ZOOQ(CW<<Kj<<KjO$NlQSO<<KjOOQ(CW<<Ki<<KiO&IrQ`O<<KjO$NlQSO<<KiOOQO7+*d7+*dO9_QSO7+*dO&IyQSO<= `OOQQG27jG27jO9OQ(C[OG27jO!'xQUO1G4tO&JRQSO7++qOOQO1G3X1G3XO9OQ(C[O1G3XO&:]Q(C[O1G3XO&JZQWO1G0fO&JeQWO1G0fO&JrQWO1G0fO8tQSO1G3XO!<zQWO1G3XO(YQWO1G3XO%NqQ(C`O1G3XO$7UQ(C`O1G0fO&KVQWO1G3XO&$rQSOANAwOOQQANAwANAwO!$SQ,UOANAwO&KhQSOANAwOOQQANAzANAzO9OQ(C[OANAzO#NWQSOANAzOOQO'#HV'#HVOOQO7+*c7+*cOOQQG22tG22tOOQQANBSANBSO&KpQSOANBSOOQQAND{AND{OOQQAND|AND|OOQQ<<L}<<L}O!'xQUOAN?eOOQOG24rG24rO$:TQ(CjOG24rOOQOG24fG24fO%QQUOG24rO!<oQ(C[OG24fO&KuQ(C[OG24rO!<zQWOG24fO&LQQ(C[OG24rOBzQWOG24fO&L`Q(C[OG24rO!NgQSOLD,iOOQQLD,iLD,iO!$SQ,UOLD,iO&LtQSOLD,iO&L|Q$IUO7+'sO&NrQ$IUO7+'uO'!hQ,UOG26{OOQO<<Ms<<MsOOQ(CWANAUANAUO$NlQSOANAUOOQ(CWANATANATOOQO<<NO<<NOOOQQLD-ULD-UO'!xQ$IUO7+*`OOQO7+(s7+(sO9OQ(C[O7+(sO'#SQWO7+&QO'#^QWO7+&QO&:]Q(C[O7+(sO8tQSO7+(sO!<zQWO7+(sO(YQWO7+(sOOQQG27cG27cO&$rQSOG27cO!$SQ,UOG27cOOQQG27fG27fO9OQ(C[OG27fOOQQG27nG27nO'#kQ$IUOG25POOQOLD*^LD*^O$:TQ(CjOLD*^OOQOLD*QLD*QO%QQUOLD*^O!<oQ(C[OLD*QO'#uQ(C[OLD*^O!<zQWOLD*QO'$QQ(C[OLD*^OOQQ!$(!T!$(!TO!NgQSO!$(!TO!$SQ,UO!$(!TO'$`Q(CjOG26{OOQ(CWG26pG26pOOQO<<L_<<L_O'&qQWO<<IlO9OQ(C[O<<L_O&:]Q(C[O<<L_O8tQSO<<L_O!<zQWO<<L_OOQQLD,}LD,}O&$rQSOLD,}OOQQLD-QLD-QOOQO!$'Mx!$'MxO$:TQ(CjO!$'MxOOQO!$'Ml!$'MlO%QQUO!$'MxO!<oQ(C[O!$'MlO'&{Q(C[O!$'MxOOQQ!)9Eo!)9EoO!NgQSO!)9EoOOQOANAyANAyO9OQ(C[OANAyO&:]Q(C[OANAyO8tQSOANAyOOQQ!$(!i!$(!iOOQO!)9Cd!)9CdO$:TQ(CjO!)9CdOOQO!)9CW!)9CWO%QQUO!)9CdOOQQ!.K;Z!.K;ZO''WQ$IUOG26{OOQOG27eG27eO9OQ(C[OG27eO&:]Q(C[OG27eOOQO!.K9O!.K9OO$:TQ(CjO!.K9OOOQOLD-PLD-PO9OQ(C[OLD-POOQO!4/.j!4/.jOOQO!$(!k!$(!kO!'xQUO'#DvO0uQSO'#ETO'(|QbO'#JcO!'xQUO'#DnO')TQUO'#DzO!'xQUO'#D|O')[QbO'#CfO'+rQbO'#CfO',SQUO,5;SO!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO,5;^O!'xQUO'#IfO'.VQSO,5<cO'._Q,UO,5;^O'/rQ,UO,5;^O!'xQUO,5;rO0xQSO'#DSO0xQSO'#DSO!$SQ,UO'#FxO'._Q,UO'#FxO!$SQ,UO'#FzO'._Q,UO'#FzO!$SQ,UO'#GYO'._Q,UO'#GYO!'xQUO,5:fO!'xQUO,5@^O',SQUO1G0nO'/yQ$IUO'#CfO!'xQUO1G1zO!$SQ,UO,5=PO'._Q,UO,5=PO!$SQ,UO,5=RO'._Q,UO,5=RO!$SQ,UO,5<mO'._Q,UO,5<mO',SQUO1G1{O!'xQUO7+&uO!$SQ,UO1G2XO'._Q,UO1G2XO!$SQ,UO1G2ZO'._Q,UO1G2ZO',SQUO7+'gO',SQUO7+&YO!$SQ,UOANAaO'._Q,UOANAaO'0TQSO'#EhO'0YQSO'#EhO'0bQSO'#FWO'0gQSO'#ErO'0lQSO'#JrO'0wQSO'#JpO'1SQSO,5;SO'1XQ,UO,5<`O'1`QSO'#GRO'1eQSO'#GRO'1jQSO,5<aO'1rQSO,5;SO'1zQ$IUO1G1ZO'2RQSO,5<mO'2WQSO,5<mO'2]QSO,5<oO'2bQSO,5<oO'2gQSO1G1{O'2lQSO1G0nO'2qQ,UO<<KuO'2xQ,UO<<KuO7^Q,UO'#FvO8tQSO'#FuO@mQSO'#EgO!'xQUO,5;oO!0rQSO'#GRO!0rQSO'#GRO!0rQSO'#GTO!0rQSO'#GTO!%lQ,UO7+(ZO!%lQ,UO7+(ZO$L`Q`O1G2oO$L`Q`O1G2oO!$SQ,UO,5=TO!$SQ,UO,5=T",
|
|
4351
|
-
stateData: "'4R~O'mOS'nOSROS'oRQ~OPYOQYOV!TO^pOaxObwOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!csO!hZO!kYO!lYO!mYO!otO!quO!tvO!x]O#p}O$QzO$UfO%`{O%b!OO%d|O%e|O%h!PO%j!QO%m!RO%n!RO%p!SO%}!UO&T!VO&V!WO&X!XO&Z!YO&^!ZO&d![O&j!]O&l!^O&n!_O&p!`O&r!aO'tSO'vTO'yUO(RVO(`[O(miO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO't!bO'vTO'yUO(RVO(`[O(miO~O^!qOl!kO|!lO![!rO!]!pO!^!pO!x<XO!|!wO!}!vO#O!tO#P!uO#Q!sO#T!xO#U!xO'u!iO'vTO'yUO(U!jO(`!nO~O'o!yO~OPYXXYX^YXkYXyYXzYX|YX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX'kYX(RYX(aYX(hYX(iYX~O!a$zX~P(gO[!{O'v!}O'w!{O'x!}O~O[#OO'x!}O'y!}O'z#OO~Oq#QO!O#RO(S#RO(T#TO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO't<^O'vTO'yUO(RVO(`[O(miO~O!U#XO!V#UO!S(XP!S(eP~P+sO!W#aO~P`OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO'vTO'yUO(RVO(`[O(miO~O!U#gO!x]O#b#jO#c#gO't<_O!g(bP~P._O!h#lO't#kO~O!t#pO!x]O%`#qO~O#d#rO~O!a#sO#d#rO~OP$ZOX$bOk$OOy#wOz#xO|#yO!V$_O!e$QO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO#l$QO#m$QO#n$aO#o$QO#q$RO#s$TO#u$VO#v$WO(RVO(a$XO(h#zO(i#{O~O^(VX'k(VX'i(VX!g(VX!S(VX!X(VX%a(VX!a(VX~P1gO#X$cO#{$cOP(WXX(WXk(WXy(WXz(WX|(WX!V(WX!e(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#q(WX#s(WX#u(WX#v(WX(R(WX(a(WX(h(WX(i(WX!X(WX%a(WX~O^(WX!f(WX'k(WX'i(WX!S(WX!g(WXo(WX!a(WX~P3}O#X$cO~O$W$eO$Y$dO$a$jO~O!X$kO$UfO$d$lO$f$nO~Oi%QOk$rOl$qOm$qOs%ROu%SOw%TO|$yO!X$zO!c%YO!h$vO#c%ZO$Q%WO$m%UO$o%VO$r%XO't$pO'vTO'yUO'}%PO(R$sOd(OP~O!h%[O~O!a%^O~O^%_O'k%_O~O'u!iO~P%QO't%fO~O!h%[O't%fO'u!iO'}%PO~Ob%mO!h%[O't%fO~O#o$QO~Oy%rO!X%oO!h%qO%b%uO't%fO'u!iO'vTO'yUO](uP~O!t#pO~O|%wO!X%xO't%fO~O|%wO!X%xO%j%|O't%fO~O't%}O~O#p}O%b!OO%d|O%e|O%h!PO%j!QO%m!RO%n!RO~Oa&WOb&VO!t&TO%`&UO%r&SO~P;fOa&ZObwO!X&YO!tvO!x]O#p}O%`{O%d|O%e|O%h!PO%j!QO%m!RO%n!RO%p!SO~O_&^O#X&aO%b&[O'u!iO~P<eO!h&bO!q&fO~O!h#lO~O!XXO~O^%_O'j&nO'k%_O~O^%_O'j&qO'k%_O~O^%_O'j&sO'k%_O~O'iYX!SYXoYX!gYX&RYX!XYX%aYX!aYX~P(gO!['QO!]&yO!^&yO'u!iO'vTO'yUO~Ol&wO|&vO!U&zO(U&uO!W(YP!W(gP~P?fOg'TO!X'RO't%fO~Ob'YO!h%[O't%fO~Oy%rO!h%qO~Ol!kO|!lO!['_O!]'^O!^'^O!}'bO#O'aO#P'aO#Q'`O#T'dO#U'dO'u!iO'vTO'yUO(U!jO(`!nO~O!x<XO!|'cO~PAQO^%_O!a#sO!h%[O!l'jO#X'hO'k%_O'}%PO(a'fO~Ol!kO|!lO'vTO'yUO(U!jO(`!nO~O!]'^O!^'^O'u!iO~PBzO!['_O!]'^O!^'^O#T'dO#U'dO'u!iO~PBzO!XXO!['_O!]'^O!^'^O#Q'`O#T'dO#U'dO'u!iO~PBzO!['_O!]'^O!^'^O#O'aO#P'aO#Q'`O#T'dO#U'dO'u!iO~PBzO'p'nO'q'nO'r'pO~O[!{O'v'rO'w!{O'x'rO~O[#OO'x'rO'y'rO'z#OO~Oq#QO!O#RO(S#RO(T'vO~O!U'xO!S&}X!S'TX!V&}X!V'TX~P+sO!V'zO!S(XX~OP$ZOX$bOk$OOy#wOz#xO|#yO!V'zO!e$QO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO#l$QO#m$QO#n$aO#o$QO#q$RO#s$TO#u$VO#v$WO(RVO(a$XO(h#zO(i#{O~O!S(XX~PGUO!S(PO~O!S(dX!V(dX!a(dX!g(dX(a(dX~O#X(dX#d#]X!W(dX~PI[O#X(QO!S(fX!V(fX~O!V(RO!S(eX~O!S(UO~O#X$cO~PI[O!W(VO~P`Oy#wOz#xO|#yO!f#uO!h#vO(RVOP!jaX!jak!ja!V!ja!e!ja!l!ja#g!ja#h!ja#i!ja#j!ja#k!ja#l!ja#m!ja#n!ja#o!ja#q!ja#s!ja#u!ja#v!ja(a!ja(h!ja(i!ja~O^!ja'k!ja'i!ja!S!ja!g!jao!ja!X!ja%a!ja!a!ja~PJrO!g(WO~O|%wO!X%xO!x]O#b(ZO#c(YO't%fO~O!a#sO#X([O(a'fO!V(cX^(cX'k(cX~O!g(cX~PMvO!V(_O!g(bX~O!g(aO~O|%wO!X%xO#c(YO't%fO~Oy(bOz(cO!f#uO!h#vO!x!wa|!wa~O!t!wa%`!wa!X!wa#b!wa#c!wa't!wa~P! OO!t(gO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO't!bO'vTO'yUO(RVO(`[O(miO~Oi%QOk$rOl$qOm$qOs%ROu%SOw<qO|$yO!X$zO!c={O!h$vO#c<wO$Q%WO$m<sO$o<uO$r%XO't(kO'vTO'yUO'}%PO(R$sO~O#d(mO~Oi%QOk$rOl$qOm$qOs%ROu%SOw%TO|$yO!X$zO!c%YO!h$vO#c%ZO$Q%WO$m%UO$o%VO$r%XO't(kO'vTO'yUO'}%PO(R$sO~Od([P~P!%lO!U(qO!g(]P~P%QO(U(sO(`[O~O|(uO!h#vO(U(sO(`[O~OP<WOQ<WOa=wOb!fOikOk<WOlkOmkOskOu<WOw<WO|WO!QkO!RkO!X!cO!c<ZO!hZO!k<WO!l<WO!m<WO!o<[O!q<]O!t!eO$Q!hO$UfO't)TO'vTO'yUO(RVO(`[O(m=uO~Oz)WO!h#vO~O!V$_O^$ka'k$ka'i$ka!g$ka!S$ka!X$ka%a$ka!a$ka~O#p)[O~P!$SOy)_O!a)^O!X$XX$T$XX$W$XX$Y$XX$a$XX~O!a)^O!X(jX$T(jX$W(jX$Y(jX$a(jX~Oy)_O~P!+bOy)_O!X(jX$T(jX$W(jX$Y(jX$a(jX~O!X)aO$T)eO$W)`O$Y)`O$a)fO~O!U)iO~P!'xO$W$eO$Y$dO$a)mO~Og$sXy$sX|$sX!f$sX(h$sX(i$sX~OdfXd$sXgfX!VfX#XfX~P!-WOl)oO~Oq)pO(S)qO(T)sO~Og)|Oy)uO|)vO(h)xO(i)zO~Od)tO~P!.aOd)}O~Oi%QOk$rOl$qOm$qOs%ROu%SOw<qO|$yO!X$zO!c={O!h$vO#c<wO$Q%WO$m<sO$o<uO$r%XO'vTO'yUO'}%PO(R$sO~O!U*RO't*OO!g(nP~P!/OO#d*TO~O!h*UO~O!U*ZO't*WO!S(oP~P!/OOk*gO|*_O![*eO!]*^O!^*^O!h*UO#T*fO%W*aO'u!iO(U!jO~O!W*dO~P!1UO!f#uOg(QXy(QX|(QX(h(QX(i(QX!V(QX#X(QX~Od(QX#y(QX~P!1}Og*jO#X*iOd(PX!V(PX~O!V*kOd(OX~O't%}Od(OP~O!h*rO~O't(kO~O|%wO!U#gO!X%xO!x]O#b#jO#c#gO't%fO!g(bP~O!a#sO#d*vO~OP$ZOX$bOk$OOy#wOz#xO|#yO!e$QO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO#l$QO#m$QO#n$aO#o$QO#q$RO#s$TO#u$VO#v$WO(RVO(a$XO(h#zO(i#{O~O^!ba!V!ba'k!ba'i!ba!S!ba!g!bao!ba!X!ba%a!ba!a!ba~P!4aOy#wOz#xO|#yO!f#uO!h#vO(RVOP!naX!nak!na!V!na!e!na!l!na#g!na#h!na#i!na#j!na#k!na#l!na#m!na#n!na#o!na#q!na#s!na#u!na#v!na(a!na(h!na(i!na~O^!na'k!na'i!na!S!na!g!nao!na!X!na%a!na!a!na~P!6zOy#wOz#xO|#yO!f#uO!h#vO(RVOP!paX!pak!pa!V!pa!e!pa!l!pa#g!pa#h!pa#i!pa#j!pa#k!pa#l!pa#m!pa#n!pa#o!pa#q!pa#s!pa#u!pa#v!pa(a!pa(h!pa(i!pa~O^!pa'k!pa'i!pa!S!pa!g!pao!pa!X!pa%a!pa!a!pa~P!9eOg+OO!X'RO%a*}O'}%PO~O!a+QO^'|X!X'|X'k'|X!V'|X~O^%_O!XXO'k%_O~O!h%[O'}%PO~O!h%[O't%fO'}%PO~O!a#sO#d(mO~O%b+^O't+YO'vTO'yUO!W(vP~O!V+_O](uX~O(U(sO~OX+cO~O]+dO~O!X%oO't%fO'u!iO](uP~O|%wO!U+hO!V(RO!X%xO't%fO!S(eP~Ol&}O|+jO!U+iO'vTO'yUO(U(sO~O!W(gP~P!?TO!V+kO^(rX'k(rX~O#X+oO'}%PO~Og+rO!X$zO'}%PO~O!X+tO~Oy+vO!XXO~O!t+{O~Ob,QO~O't#kO!W(tP~Ob%mO~O%b!OO't%}O~P<eOX,WO],VO~OPYOQYOaxObwOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!csO!hZO!kYO!lYO!mYO!otO!quO!tvO!x]O$UfO%`{O'vTO'yUO(RVO(`[O(miO~O!X!cO$Q!hO't!bO~P!AhO],VO^%_O'k%_O~O^,[O#p,^O%d,^O%e,^O~P%QO!h&bO~O&T,cO~O!X,eO~O&f,gO&h,hOP&caQ&caV&ca^&caa&cab&cai&cak&cal&cam&cas&cau&caw&ca|&ca!Q&ca!R&ca!X&ca!c&ca!h&ca!k&ca!l&ca!m&ca!o&ca!q&ca!t&ca!x&ca#p&ca$Q&ca$U&ca%`&ca%b&ca%d&ca%e&ca%h&ca%j&ca%m&ca%n&ca%p&ca%}&ca&T&ca&V&ca&X&ca&Z&ca&^&ca&d&ca&j&ca&l&ca&n&ca&p&ca&r&ca'i&ca't&ca'v&ca'y&ca(R&ca(`&ca(m&ca!W&ca&[&ca_&ca&a&ca~O't,mO~O!V{X!V!_X!W{X!W!_X!a{X!a!_X!h!_X#X{X'}!_X~O!a,rO#X,qO!V#aX!V(ZX!W#aX!W(ZX!a(ZX!h(ZX'}(ZX~O!a,tO!h%[O'}%PO!V!ZX!W!ZX~Ol!kO|!lO'vTO'yUO(U!jO~OP<WOQ<WOa=wOb!fOikOk<WOlkOmkOskOu<WOw<WO|WO!QkO!RkO!X!cO!c<ZO!hZO!k<WO!l<WO!m<WO!o<[O!q<]O!t!eO$Q!hO$UfO'vTO'yUO(RVO(`[O(m=uO~O't<|O~P!J}O!V,xO!W(YX~O!W,zO~O!a,rO#X,qO!V#aX!W#aX~O!V,{O!W(gX~O!W,}O~O!]-OO!^-OO'u!iO~P!JlO!W-RO~P'TOg-UO!X'RO~O!S-ZO~Ol!wa![!wa!]!wa!^!wa!|!wa!}!wa#O!wa#P!wa#Q!wa#T!wa#U!wa'u!wa'v!wa'y!wa(U!wa(`!wa~P! OO^%_O!a#sO!h%[O!l-`O#X-^O'k%_O'}%PO(a'fO~O!]-bO!^-bO'u!iO~PBzO![-dO!]-bO!^-bO#T-eO#U-eO'u!iO~PBzO![-dO!]-bO!^-bO#Q-fO#T-eO#U-eO'u!iO~PBzO![-dO!]-bO!^-bO#O-gO#P-gO#Q-fO#T-eO#U-eO'u!iO~PBzO![-dO!]-bO!^-bO!}-hO#O-gO#P-gO#Q-fO#T-eO#U-eO'u!iO~PBzO^%_O#X-^O'k%_O~O^%_O!a#sO#X-^O'k%_O~O^%_O!a#sO!l-`O#X-^O'k%_O(a'fO~O'p'nO'q'nO'r-mO~Oo-nO~O!S&}a!V&}a~P!4aO!U-rO!S&}X!V&}X~P%QO!V'zO!S(Xa~O!S(Xa~PGUO!V(RO!S(ea~O|%wO!U-vO!X%xO't%fO!S'TX!V'TX~O!V(_O!g(ba~O|%wO!X%xO#c-yO't%fO~O#X-{O!V(ca!g(ca^(ca'k(ca~O!a#sO~P#(aO|%wO!U.OO!X%xO!x]O#b.QO#c.OO't%fO!V'VX!g'VX~Oz.UO!h#vO~Og.XO!X'RO%a.WO'}%PO~O^#[i!V#[i'k#[i'i#[i!S#[i!g#[io#[i!X#[i%a#[i!a#[i~P!4aOg>ROy)uO|)vO(h)xO(i)zO~O#d#Wa^#Wa#X#Wa'k#Wa!V#Wa!g#Wa!X#Wa!S#Wa~P#*rO#d(QXP(QXX(QX^(QXk(QXz(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX'k(QX(R(QX(a(QX!g(QX!S(QX'i(QXo(QX!X(QX%a(QX!a(QX~P!1}O!V.bOd([X~P!.aOd.dO~O!V.eO!g(]X~P!4aO!g.hO~O!S.jO~OP$ZOy#wOz#xO|#yO!f#uO!h#vO!l$ZO(RVOX#fi^#fik#fi!V#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(a#fi(h#fi(i#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O#g#fi~P#.nO#g#|O~P#.nOP$ZOy#wOz#xO|#yO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O(RVOX#fi^#fi!V#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(a#fi(h#fi(i#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~Ok#fi~P#1`Ok$OO~P#1`OP$ZOk$OOy#wOz#xO|#yO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO(RVO^#fi!V#fi#q#fi#s#fi#u#fi#v#fi'k#fi(a#fi(h#fi(i#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P#4QOX$bO!e$QO#l$QO#m$QO#n$aO#o$QO~P#4QOP$ZOX$bOk$OOy#wOz#xO|#yO!e$QO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO#l$QO#m$QO#n$aO#o$QO#q$RO(RVO^#fi!V#fi#s#fi#u#fi#v#fi'k#fi(a#fi(i#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(h#fi~P#7RO(h#zO~P#7ROP$ZOX$bOk$OOy#wOz#xO|#yO!e$QO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO#l$QO#m$QO#n$aO#o$QO#q$RO#s$TO(RVO(h#zO^#fi!V#fi#u#fi#v#fi'k#fi(a#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(i#fi~P#9sO(i#{O~P#9sOP$ZOX$bOk$OOy#wOz#xO|#yO!e$QO!f#uO!h#vO!l$ZO#g#|O#h#}O#i#}O#j#}O#k$PO#l$QO#m$QO#n$aO#o$QO#q$RO#s$TO#u$VO(RVO(h#zO(i#{O~O^#fi!V#fi#v#fi'k#fi(a#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#<eOPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(aYX(hYX(iYX!VYX!WYX~O#yYX~P#?OOP$ZOX<oOk<cOy#wOz#xO|#yO!e<eO!f#uO!h#vO!l$ZO#g<aO#h<bO#i<bO#j<bO#k<dO#l<eO#m<eO#n<nO#o<eO#q<fO#s<hO#u<jO#v<kO(RVO(a$XO(h#zO(i#{O~O#y.lO~P#A]OP(WXX(WXk(WXy(WXz(WX|(WX!e(WX!f(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#q(WX#s(WX#u(WX#v(WX(R(WX(a(WX(h(WX(i(WX!V(WX~O#X<pO#{<pO#o(WX#y(WX!W(WX~P#CZO^'Ya!V'Ya'k'Ya'i'Ya!g'Ya!S'Yao'Ya!X'Ya%a'Ya!a'Ya~P!4aOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(R#fi(a#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#*rO^#zi!V#zi'k#zi'i#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!4aO$W.qO$Y.qO~O$W.rO$Y.rO~O!a)^O#X.sO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.tO~O!X)aO$T.vO$W)`O$Y)`O$a.wO~O!V<lO!W(VX~P#A]O!W.xO~O!a)^O$a(jX~O$a.zO~Oq)pO(S)qO(T.}O~Ol/QO!S/RO'vTO'yUO~O!VcX!acX!gcX!g$sX(acX~P!-WO!g/XO~P#*rO!V/YO!a#sO(a'fO!g(nX~O!g/_O~O!U*RO't%fO!g(nP~O#d/aO~O!S$sX!V$sX!a$zX~P!-WO!V/bO!S(oX~P#*rO!a/dO~O!S/fO~Ok/jO!a#sO!h%[O'}%PO(a'fO~O't/lO~O!a+QO~O^%_O!V/pO'k%_O~O!W/rO~P!1UO!]/sO!^/sO'u!iO(U!jO~O|/uO(U!jO~O#T/vO~O't%}Od'_X!V'_X~O!V*kOd(Oa~Od/{O~Oy/|Oz/|O|/}Ogva(hva(iva!Vva#Xva~Odva#yva~P$ tOy)uO|)vOg$la(h$la(i$la!V$la#X$la~Od$la#y$la~P$!jOy)uO|)vOg$na(h$na(i$na!V$na#X$na~Od$na#y$na~P$#]O#d0PO~Od$|a!V$|a#X$|a#y$|a~P!.aO#d0SO~Oy#wOz#xO|#yO!f#uO!h#vO(RVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(a!ni(h!ni(i!ni~O^!ni'k!ni'i!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$$jOg.XO!X'RO%a.WO~Oi0ZO't0YO~P!/RO!a+QO^'|a!X'|a'k'|a!V'|a~O#d0aO~OXYX!VcX!WcX~O!V0bO!W(vX~O!W0dO~OX0eO~O't+YO'vTO'yUO~O!X%oO't%fO]'gX!V'gX~O!V+_O](ua~O!g0jO~P!4aOX0mO~O]0nO~O!V+kO^(ra'k(ra~O#X0tO~Og0wO!X$zO~O(U(sO!W(sP~Og1QO!X0}O%a1PO'}%PO~OX1[O!V1YO!W(tX~O!W1]O~O]1_O^%_O'k%_O~O't#kO'vTO'yUO~O#X$cO#o1bO#{$cO&R1cO^(WX~P#CZO#X$cO#o1bO&R1cO~O^1dO~P%QO^1fO~O&[1jOP&YiQ&YiV&Yi^&Yia&Yib&Yii&Yik&Yil&Yim&Yis&Yiu&Yiw&Yi|&Yi!Q&Yi!R&Yi!X&Yi!c&Yi!h&Yi!k&Yi!l&Yi!m&Yi!o&Yi!q&Yi!t&Yi!x&Yi#p&Yi$Q&Yi$U&Yi%`&Yi%b&Yi%d&Yi%e&Yi%h&Yi%j&Yi%m&Yi%n&Yi%p&Yi%}&Yi&T&Yi&V&Yi&X&Yi&Z&Yi&^&Yi&d&Yi&j&Yi&l&Yi&n&Yi&p&Yi&r&Yi'i&Yi't&Yi'v&Yi'y&Yi(R&Yi(`&Yi(m&Yi!W&Yi_&Yi&a&Yi~O_1pO!W1nO&a1oO~P`O!XXO!h1rO~O&h,hOP&ciQ&ciV&ci^&cia&cib&cii&cik&cil&cim&cis&ciu&ciw&ci|&ci!Q&ci!R&ci!X&ci!c&ci!h&ci!k&ci!l&ci!m&ci!o&ci!q&ci!t&ci!x&ci#p&ci$Q&ci$U&ci%`&ci%b&ci%d&ci%e&ci%h&ci%j&ci%m&ci%n&ci%p&ci%}&ci&T&ci&V&ci&X&ci&Z&ci&^&ci&d&ci&j&ci&l&ci&n&ci&p&ci&r&ci'i&ci't&ci'v&ci'y&ci(R&ci(`&ci(m&ci!W&ci&[&ci_&ci&a&ci~O!S1xO~O!V!Za!W!Za~P#A]Ol!kO|!lO!U2OO(U!jO!V'OX!W'OX~P?fO!V,xO!W(Ya~O!V'UX!W'UX~P!?TO!V,{O!W(ga~O!W2VO~P'TO^%_O#X2`O'k%_O~O^%_O!a#sO#X2`O'k%_O~O^%_O!a#sO!h%[O!l2dO#X2`O'k%_O'}%PO(a'fO~O!]2eO!^2eO'u!iO~PBzO![2hO!]2eO!^2eO#T2iO#U2iO'u!iO~PBzO![2hO!]2eO!^2eO#Q2jO#T2iO#U2iO'u!iO~PBzO![2hO!]2eO!^2eO#O2kO#P2kO#Q2jO#T2iO#U2iO'u!iO~PBzO^%_O!a#sO!l2dO#X2`O'k%_O(a'fO~O^%_O'k%_O~P!4aO!V$_Oo$ka~O!S&}i!V&}i~P!4aO!V'zO!S(Xi~O!V(RO!S(ei~O!S(fi!V(fi~P!4aO!V(_O!g(bi~O!V(ci!g(ci^(ci'k(ci~P!4aO#X2oO!V(ci!g(ci^(ci'k(ci~O|%wO!X%xO!x]O#b2rO#c2qO't%fO~O|%wO!X%xO#c2qO't%fO~Og2yO!X'RO%a2xO~Og2yO!X'RO%a2xO'}%PO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'kva(Rva(ava!gva!Sva'ivaova!Xva%ava!ava~P$ tO#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'k$la(R$la(a$la!g$la!S$la'i$lao$la!X$la%a$la!a$la~P$!jO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'k$na(R$na(a$na!g$na!S$na'i$nao$na!X$na%a$na!a$na~P$#]O#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'k$|a(R$|a(a$|a!g$|a!S$|a'i$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#*rO^#[q!V#[q'k#[q'i#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!4aOd'PX!V'PX~P!%lO!V.bOd([a~O!U3RO!V'QX!g'QX~P%QO!V.eO!g(]a~O!V.eO!g(]a~P!4aO!S3UO~O#y!ja!W!ja~PJrO#y!ba!V!ba!W!ba~P#A]O#y!na!W!na~P!6zO#y!pa!W!pa~P!9eO!X3hO$UfO$_3iO~O!W3mO~Oo3nO~P#*rO^$hq!V$hq'k$hq'i$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!4aO!S3oO~Ol/QO'vTO'yUO~Oy)uO|)vO(i)zOg%Xi(h%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$JzOy)uO|)vOg%Zi(h%Zi(i%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$KmO(a$XO~P#*rO!U3rO't%fO!V'ZX!g'ZX~O!V/YO!g(na~O!V/YO!a#sO!g(na~O!V/YO!a#sO(a'fO!g(na~Od$ui!V$ui#X$ui#y$ui~P!.aO!U3zO't*WO!S']X!V']X~P!/OO!V/bO!S(oa~O!V/bO!S(oa~P#*rO!a#sO~O!a#sO#o4SO~Ok4VO!a#sO(a'fO~Od(Pi!V(Pi~P!.aO#X4YOd(Pi!V(Pi~P!.aO!g4]O~O^$iq!V$iq'k$iq'i$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!4aO!V4aO!X(pX~P#*rO!f#uO~P3}O^$sX!X$sX%UYX'k$sX!V$sX~P!-WO%U4cO^hXghXyhX|hX!XhX'khX(hhX(ihX!VhX~O%U4cO~O%b4jO't+YO'vTO'yUO!V'fX!W'fX~O!V0bO!W(va~OX4nO~O]4oO~O!S4sO~O^%_O'k%_O~P#*rO!X$zO~P#*rO!V4xO#X4zO!W(sX~O!W4{O~Ol!kO|4}O![5]O!]5RO!^5RO!x<XO!|5[O!}5ZO#O5YO#P5YO#Q5XO#T5WO#U!xO'u!iO'vTO'yUO(U!jO(`!nO~O!W5VO~P%%qOg5bO!X0}O%a5aO~Og5bO!X0}O%a5aO'}%PO~O't#kO!V'eX!W'eX~O!V1YO!W(ta~O'vTO'yUO(U5kO~O]5oO~O!g5rO~P%QO^5tO~O^5tO~P%QO#o5vO&R5wO~PMvO_1pO!W5{O&a1oO~P`O!a5}O~O!a6PO!V(Zi!W(Zi!a(Zi!h(Zi'}(Zi~O!V#ai!W#ai~P#A]O#X6QO!V#ai!W#ai~O!V!Zi!W!Zi~P#A]O^%_O#X6ZO'k%_O~O^%_O!a#sO#X6ZO'k%_O~O^%_O!a#sO!l6`O#X6ZO'k%_O(a'fO~O!h%[O'}%PO~P%+RO!]6aO!^6aO'u!iO~PBzO![6dO!]6aO!^6aO#T6eO#U6eO'u!iO~PBzO![6dO!]6aO!^6aO#Q6fO#T6eO#U6eO'u!iO~PBzO!V(_O!g(bq~O!V(cq!g(cq^(cq'k(cq~P!4aO|%wO!X%xO#c6jO't%fO~O!X'RO%a6mO~Og6pO!X'RO%a6mO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'k%Xi(R%Xi(a%Xi!g%Xi!S%Xi'i%Xio%Xi!X%Xi%a%Xi!a%Xi~P$JzO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'k%Zi(R%Zi(a%Zi!g%Zi!S%Zi'i%Zio%Zi!X%Zi%a%Zi!a%Zi~P$KmO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'k$ui(R$ui(a$ui!g$ui!S$ui'i$ui#X$uio$ui!X$ui%a$ui!a$ui~P#*rOd'Pa!V'Pa~P!.aO!V'Qa!g'Qa~P!4aO!V.eO!g(]i~O#y#[i!V#[i!W#[i~P#A]OP$ZOy#wOz#xO|#yO!f#uO!h#vO!l$ZO(RVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(a#fi(h#fi(i#fi!V#fi!W#fi~O#g#fi~P%6OO#g<aO~P%6OOP$ZOy#wOz#xO|#yO!f#uO!h#vO!l$ZO#g<aO#h<bO#i<bO#j<bO(RVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(a#fi(h#fi(i#fi!V#fi!W#fi~Ok#fi~P%8ZOk<cO~P%8ZOP$ZOk<cOy#wOz#xO|#yO!f#uO!h#vO!l$ZO#g<aO#h<bO#i<bO#j<bO#k<dO(RVO#q#fi#s#fi#u#fi#v#fi#y#fi(a#fi(h#fi(i#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%:fOX<oO!e<eO#l<eO#m<eO#n<nO#o<eO~P%:fOP$ZOX<oOk<cOy#wOz#xO|#yO!e<eO!f#uO!h#vO!l$ZO#g<aO#h<bO#i<bO#j<bO#k<dO#l<eO#m<eO#n<nO#o<eO#q<fO(RVO#s#fi#u#fi#v#fi#y#fi(a#fi(i#fi!V#fi!W#fi~O(h#fi~P%=QO(h#zO~P%=QOP$ZOX<oOk<cOy#wOz#xO|#yO!e<eO!f#uO!h#vO!l$ZO#g<aO#h<bO#i<bO#j<bO#k<dO#l<eO#m<eO#n<nO#o<eO#q<fO#s<hO(RVO(h#zO#u#fi#v#fi#y#fi(a#fi!V#fi!W#fi~O(i#fi~P%?]O(i#{O~P%?]OP$ZOX<oOk<cOy#wOz#xO|#yO!e<eO!f#uO!h#vO!l$ZO#g<aO#h<bO#i<bO#j<bO#k<dO#l<eO#m<eO#n<nO#o<eO#q<fO#s<hO#u<jO(RVO(h#zO(i#{O~O#v#fi#y#fi(a#fi!V#fi!W#fi~P%AhO^#wy!V#wy'k#wy'i#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!4aOg>SOy)uO|)vO(h)xO(i)zO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(R#fi(a#fi!V#fi!W#fi~P%D`O!f#uOP(QXX(QXg(QXk(QXy(QXz(QX|(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX#y(QX(R(QX(a(QX(h(QX(i(QX!V(QX!W(QX~O#y#zi!V#zi!W#zi~P#A]O#y!ni!W!ni~P$$jO!W6|O~O!V'Ya!W'Ya~P#A]O!a#sO(a'fO!V'Za!g'Za~O!V/YO!g(ni~O!V/YO!a#sO!g(ni~Od$uq!V$uq#X$uq#y$uq~P!.aO!S']a!V']a~P#*rO!a7TO~O!V/bO!S(oi~P#*rO!V/bO!S(oi~O!S7XO~O!a#sO#o7^O~Ok7_O!a#sO(a'fO~O!S7aO~Od$wq!V$wq#X$wq#y$wq~P!.aO^$iy!V$iy'k$iy'i$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!4aO!V4aO!X(pa~O^#[y!V#[y'k#[y'i#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!4aOX7fO~O!V0bO!W(vi~O]7lO~O!a6PO~O(U(sO!V'bX!W'bX~O!V4xO!W(sa~O!h%[O'}%PO^(ZX!a(ZX!l(ZX#X(ZX'k(ZX(a(ZX~O't7uO~P._O!x<XO!|7yO!}7xO#O7wO#P7wO#Q7vO#T'dO#U'dO~PBzO^%_O!a#sO!l'jO#X'hO'k%_O(a'fO~O!W7}O~P%%qOl!kO'vTO'yUO(U!jO(`!nO~O|8OO~P&!mO![8SO!]8RO!^8RO#Q7vO#T'dO#U'dO'u!iO~PBzO![8SO!]8RO!^8RO#O8TO#P8TO#Q7vO#T'dO#U'dO'u!iO~PBzO!]8RO!^8RO'u!iO(U!jO(`!nO~O!X0}O~O!X0}O%a8VO~Og8YO!X0}O%a8VO~OX8_O!V'ea!W'ea~O!V1YO!W(ti~O!g8cO~O!g8dO~O!g8eO~O!g8eO~P%QO^8gO~O!a8jO~O!g8kO~O!V(fi!W(fi~P#A]O^%_O#X8sO'k%_O~O^%_O!a#sO#X8sO'k%_O~O^%_O!a#sO!l8wO#X8sO'k%_O(a'fO~O!h%[O'}%PO~P&'ZO!]8xO!^8xO'u!iO~PBzO![8{O!]8xO!^8xO#T8|O#U8|O'u!iO~PBzO!V(_O!g(by~O!V(cy!g(cy^(cy'k(cy~P!4aO!X'RO%a9PO~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'k$uq(R$uq(a$uq!g$uq!S$uq'i$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#*rO#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'k$wq(R$wq(a$wq!g$wq!S$wq'i$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#*rO!V'Qi!g'Qi~P!4aO#y#[q!V#[q!W#[q~P#A]Oy/|Oz/|O|/}OPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Rva(ava(hva(iva!Vva!Wva~Oy)uO|)vOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(R$la(a$la(h$la(i$la!V$la!W$la~Oy)uO|)vOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(R$na(a$na(h$na(i$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(R$|a(a$|a!V$|a!W$|a~P%D`O#y$hq!V$hq!W$hq~P#A]O#y$iq!V$iq!W$iq~P#A]O!W9ZO~O#y9[O~P!.aO!a#sO!V'Zi!g'Zi~O!a#sO(a'fO!V'Zi!g'Zi~O!V/YO!g(nq~O!S']i!V']i~P#*rO!V/bO!S(oq~O!S9bO~P#*rO!S9bO~Od(Py!V(Py~P!.aO!V'`a!X'`a~P#*rO^%Tq!X%Tq'k%Tq!V%Tq~P#*rOX9gO~O!V0bO!W(vq~O#X9kO!V'ba!W'ba~O!V4xO!W(si~P#A]O^%_O!a+QO'k%_O~OPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(aYX(hYX(iYX~O!a%RX#o%RX~P&:hO#T-eO#U-eO~PBzO#Q9pO#T-eO#U-eO~PBzO#O9qO#P9qO#Q9pO#T-eO#U-eO~PBzO!}9rO#O9qO#P9qO#Q9pO#T-eO#U-eO~PBzO!]9uO!^9uO'u!iO(U!jO(`!nO~O![9xO!]9uO!^9uO#Q9pO#T-eO#U-eO'u!iO~PBzO!X0}O%a9{O~O'vTO'yUO(U:QO~O!V1YO!W(tq~O!g:TO~O!g:TO~P%QO!g:VO~O!g:WO~O#X:YO!V#ay!W#ay~O!V#ay!W#ay~P#A]O^%_O#X:^O'k%_O~O^%_O!a#sO#X:^O'k%_O~O^%_O!a#sO!l:bO#X:^O'k%_O(a'fO~O!h%[O'}%PO~P&AZO!]:cO!^:cO'u!iO~PBzO!X'RO%a:gO~O#y#wy!V#wy!W#wy~P#A]OP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(R$ui(a$ui!V$ui!W$ui~P%D`Oy)uO|)vO(i)zOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(R%Xi(a%Xi(h%Xi!V%Xi!W%Xi~Oy)uO|)vOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(R%Zi(a%Zi(h%Zi(i%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#A]O#y#[y!V#[y!W#[y~P#A]O!a#sO!V'Zq!g'Zq~O!V/YO!g(ny~O!S']q!V']q~P#*rO!S:nO~P#*rO!V0bO!W(vy~O!V4xO!W(sq~O#T2iO#U2iO~PBzO#Q:uO#T2iO#U2iO~PBzO#O:vO#P:vO#Q:uO#T2iO#U2iO~PBzO!]:zO!^:zO'u!iO(U!jO(`!nO~O!X0}O%a:}O~O!g;QO~O^%_O#X;VO'k%_O~O^%_O!a#sO#X;VO'k%_O~O^%_O!a#sO!l;ZO#X;VO'k%_O(a'fO~O!X'RO%a;^O~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(R$uq(a$uq!V$uq!W$uq~P%D`OP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(R$wq(a$wq!V$wq!W$wq~P%D`Od%]!Z!V%]!Z#X%]!Z#y%]!Z~P!.aO!V'bq!W'bq~P#A]O#T6eO#U6eO~PBzO#Q;bO#T6eO#U6eO~PBzO!V#a!Z!W#a!Z~P#A]O^%_O#X;mO'k%_O~O^%_O!a#sO#X;mO'k%_O~O#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'k%]!Z(R%]!Z(a%]!Z!g%]!Z!S%]!Z'i%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#*rO#T8|O#U8|O~PBzO^%_O#X;zO'k%_O~OP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(R%]!Z(a%]!Z!V%]!Z!W%]!Z~P%D`Oo(VX~P1gO'u!iO~P!'xO!ScX!VcX#XcX~P&:hOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(aYX(hYX(iYX~O!acX!gYX!gcX(acX~P')iOP<WOQ<WOa=wOb!fOikOk<WOlkOmkOskOu<WOw<WO|WO!QkO!RkO!XXO!c<ZO!hZO!k<WO!l<WO!m<WO!o<[O!q<]O!t!eO$Q!hO$UfO't)TO'vTO'yUO(RVO(`[O(m=uO~O!V<lO!W$ka~Oi%QOk$rOl$qOm$qOs%ROu%SOw<rO|$yO!X$zO!c=|O!h$vO#c<xO$Q%WO$m<tO$o<vO$r%XO't(kO'vTO'yUO'}%PO(R$sO~O#p)[O~P'._O!WYX!WcX~P')iO#d<`O~O!a#sO#d<`O~O#X<pO~O#o<eO~O#X<zO!V(fX!W(fX~O#X<pO!V(dX!W(dX~O#d<{O~Od<}O~P!.aO#d=SO~O#d=TO~O!a#sO#d=UO~O!a#sO#d<{O~O#y=VO~P#A]O#d=WO~O#d=XO~O#d=YO~O#d=ZO~O#d=[O~O#d=]O~O#y=^O~P!.aO#y=_O~P!.aO$U~!f!|!}#P#Q#T#b#c#n(m$m$o$r%U%`%a%b%h%j%m%n%p%r~'oR$U(m#h!R'm'u#il#g#jky'n(U'n't$W$Y$W~",
|
|
4352
|
-
goto: "$2w(zPPPP({P)OP)`P+j/pPPPP7RPP7hP=gAYPAmPAmPPPAmPC]PAmPAmPAmPCaPPCfPDPPH}PPPIRPPPPIRLUPPPL[NiPIRP!#SPPPP!%fIRPPPIRPIRP!'xIRP!+`!,b!,gP!-X!-]!-XPPPPP!0j!3SPP!3]!4kP!,bIRIR!8S!;`!@l!@l!DePPP!DlIRPPPPPPPPPPP!G{P!IbPPIR!JsPIRPIRIRIRIRPIR!LZPP# eP#$kP#$o#$y#$}#$}P# bP#%R#%RP#(XP#(]IRIR#(c#+hAmPAmPAmAmP#,rAmAm#.lAm#0yAm#2mAmAm#3Z#5V#5V#5Z#5c#5V#5kP#5VPAm#6gAm#7oAmAm7RPPP#8zPP#9d#9dP#9dP#9y#9dPP#:PP#9vP#9v#:c!3X#9v#:}#;T7O)O#;W)OP#;_#;_#;_P)OP)OP)OP)OPP)OP#;e#;hP#;h)OP#;lP#;oP)OP)OP)OP)OP)OP)O)OPP#;u#;{#<V#<]#<c#<i#<o#<}#=T#=Z#=e#=k#>g#>v#>|#?`#?f#?l#?z#@a#Aq#BP#BV#B]#Bc#Bi#Bs#By#CP#CZ#Cm#CsPPPPPPPPPP#CyPPPPPPP#Dm#I^P#J}#KU#K^PPPP$ h$$^$+P$+S$+V$-g$-j$-m$-tPP$-z$.O$.w$/w$/{$0aPP$0e$0k$0oP$0r$0v$0y$1o$2V$2[$2_$2b$2h$2k$2o$2sR!zRmpOXr!X#b%^&e&g&h&j,`,e1j1mU!pQ'R-QQ%dtQ%lwQ%szQ&]!TS&y!c,xQ'X!f^'^!m!r!s!t!u!v!wS*^$z*cQ+W%mQ+e%uQ,P&VQ-O'QQ-Y'YY-b'_'`'a'b'cQ/s*eQ1X,QW2e-d-f-g-hS5R0}5UU6a2h2j2kU8R5Y5Z5]S8x6d6fS9u8S8TQ:c8{Q:z9xR<y<[%SdOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&e&g&h&j&n&v'T'h'x'z(Q([(m(q(u)t*v+j,[,`,e-U-^-r-{.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o3R4}5b5t5v5w6Z8O8Y8g8s:^;V;m;zS#n]<X!r)V$Y$k&z)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xQ*n%TQ+]%oQ,R&YQ,Y&bQ.[<qQ0W+OQ0[+QQ0g+^Q1a,WQ2u.XQ4i0bQ5i1YQ6o2yQ6u<rQ7h4jR9S6p'QkOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=x#n!kQ!m!p!r!s!t!u!v!w!x&y'Q'R'^'_'`'a'b'c'd,x-O-Q-b-d-e-f-g-h0}2e2h2i2j2k5O5U5W5X5Y5Z5[6a6d6e6f7v7w7x7y8T8x8{8|9p9q9r:c:u:v;b$Y$qi#s#u$a$b$v$y%U%V%Z)p)y){)|*T*Z*i*j*}+Q+o+r.W.b/a/b/d0P0t0w1P2x3p3z4S4Y4a4c5a6m7T7^8V9P9[9{:g:};^<n<o<s<t<u<v<w<x=O=P=Q=R=S=T=W=X=Y=Z=^=_=u=}>O>R>SQ%vzQ&w!cS&}%x,{Q+]%oS/Q)v/SQ0O*rQ0g+^Q0l+dQ1`,VQ1a,WQ4i0bQ4r0nQ5l1[Q5m1_Q7h4jQ7k4oQ8b5oQ9j7lR:R8_pmOXr!T!X#b%^&[&e&g&h&j,`,e1j1mR,T&^&z`OPXYrstux!X!^!g!l#Q#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k%^%d%q&^&a&b&e&g&h&j&n&v'T'h'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=w=x[#ZWZ#U#X&z'xQ%gvQ%kwS%pz%u!U%y|}#e#g#j%[%w(R(Y(Z(_+h+i+k,^,r-v-y-}.O.Q1r2q2r6P6jQ&R!RQ'U!eQ'W!fQ(f#pS*Q$v*US+V%l%mQ+Z%oQ+z&TQ,O&VS-X'X'YQ.Z(gQ/^*RQ0`+WQ0f+^Q0h+_Q0k+cQ1S+{S1W,P,QQ2[-YQ3q/YQ4h0bQ4l0eQ4q0mQ5h1XQ7Q3rQ7g4jQ7j4nQ9f7fR:p9gv$xi#u%U%V%Z)y){*T*i*j.b/a0P3p4Y9[=u=}>O!d%iw!f!o%k%l%m&x'W'X'Y']'k*]+V+W,u-X-Y-a-c/k0`2T2[2c2g4U6_6c8v8z:a;YQ+P%gQ+p&OQ+s&PQ+}&VQ.Y(fQ1R+zU1V,O,P,QQ2z.ZQ5c1SS5g1W1XS7t4|5QQ8^5hU9s7z8P8QU:x9t9v9wQ;e:yQ;u;f!z=y#s$a$b$v$y)p)|*Z*}+Q+o+r.W/b/d0t0w1P2x3z4S4a4c5a6m7T7^8V9P9{:g:};^<s<u<w=O=Q=S=W=Y=^>R>Sg=z<n<o<t<v<x=P=R=T=X=Z=_W$}i%P*k=uS&O!O&[Q&P!PQ&Q!QR+n%|$Z$|i#s#u$a$b$v$y%U%V%Z)p)y){)|*T*Z*i*j*}+Q+o+r.W.b/a/b/d0P0t0w1P2x3p3z4S4Y4a4c5a6m7T7^8V9P9[9{:g:};^<n<o<s<t<u<v<w<x=O=P=Q=R=S=T=W=X=Y=Z=^=_=u=}>O>R>ST)q$s)rV*o%T<q<rU&}!c%x,{S(t#w#xQ+b%rS.S(b(cQ0x+tQ4Z/|R7p4x'QkOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=x$q$^c#W#c%b%c%e'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g*{+a,v-k-p-u-z.a.g.k.m.n.o/O0Q1y1|2^2n3Q3V3W3X3Y3Z3[3]3^3_3`3a3b3c3f3g3l4_4f6S6Y6h6s6t6y6z7r8m8q9T9X9Y:[:r;R;T;k;x<R<Y=lT#RV#S'RkOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xQ&{!cR2P,x#f!kQ!c!m!p!r!s!t!u!v!w!x&y'Q'R'^'_'`'a'b'c'd,x-O-Q-b-d-e-f-g-h2e2h2i2j2k5O5W5X5[6a6d6e6f7v7w7x7y8x8{8|9p9q9r:c:u:v;bS*]$z*cS/k*^*eQ/t*fQ0z+vQ4U/sQ4X/vS4|0}5US7z5R5]S8P5Y5ZS9t8R8SQ9v8TS:y9u9xR;f:zlpOXr!X#b%^&e&g&h&j,`,e1j1mQ&l![Q'l!tS(h#r<`Q+T%jQ+x&RQ+y&SQ-V'VQ-j'eS.`(m<{S0R*v=UQ0^+UQ0|+wQ1q,gQ1s,hQ1{,sQ2Y-WQ2]-[S4`0S=[Q4d0_S4g0a=]Q6R1}Q6V2ZQ6[2bQ7e4eQ8n6TQ8o6WQ8r6]Q:X8kQ:]8tQ;U:_Q;l;WR;y;n$l$]c#W#c%c%e'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g*{+a,v-k-p-u-z.a.g.k.n.o/O0Q1y1|2^2n3Q3V3W3X3Y3Z3[3]3^3_3`3a3b3c3f3g3l4_4f6S6Y6h6s6t6y6z7r8m8q9T9X9Y:[:r;R;T;k;x<R<Y=lS(e#m'[U*h${(l3eS*z%b.mQ2v0WQ6l2uQ9R6oR:h9S$l$[c#W#c%c%e'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g*{+a,v-k-p-u-z.a.g.k.n.o/O0Q1y1|2^2n3Q3V3W3X3Y3Z3[3]3^3_3`3a3b3c3f3g3l4_4f6S6Y6h6s6t6y6z7r8m8q9T9X9Y:[:r;R;T;k;x<R<Y=lS(d#m'[S(v#x$]S*y%b.mS.T(c(eQ.p)WQ0T*zR2s.U'QkOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xS#n]<XQ&g!VQ&h!WQ&j!YQ&k!ZR1i,cQ'S!eQ*|%gQ-T'US.V(f+PQ2W-SW2w.Y.Z0V0XQ6U2XU6k2t2v2zS9O6l6nS:f9Q9RS;[:e:hQ;p;]R;{;qV!qQ'R-Q!_^OQXZ_r!T!X!m#b#e%[%^&[&^&e&g&h&j'R(_,`,e-Q-}0}1j1m5O5UT#n]<X%^yOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&b&e&g&h&j&n&v'T'h'x'z(Q([(m(q(u)t*v+O+j,[,`,e-U-^-r-{.X.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o2y3R4}5b5t5v5w6Z6p8O8Y8g8s:^;V;m;zS(t#w#xS.S(b(c!s=c$Y$k&z)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xU!oQ'R-Q[']!m!s!t!u!v!wS'k!p!rY'm!x5O5W5X5[S-a'^'_W-c'`'a'b'cY-i'd7v7w7x7yS2c-b-dW2f-e9p9q9rU2g-f-g-hS5Q0}5US6_2e2hU6b2i:u:vS6c2j2kS7z5R5]S8Q5Y5ZS8v6a6dS8y6e;bQ8z6fS9t8R8SQ9w8TS:a8x8{Q:d8|S:y9u9xQ;Y:cR;f:zU!qQ'R-QT5S0}5UU'j!o5P5QS(^#f1gU-`']'m8QQ/]*QQ/i*]U2d-c-i9wQ3v/^S4P/j/tS6`2f2gQ7P3qS7[4V4XS8w6b6cQ9^7QQ9e7_S:b8y8zR;Z:dQ#tbU'i!o5P5QS(]#f1gQ*w%]Q+R%hQ+X%nW-_']'j'm8QQ-|(^Q/[*QQ/h*]Q/n*`Q0]+SQ1T+|W2a-`-c-i9wS3u/]/^S4O/i/tQ4R/mQ4T/oQ5e1UU6^2d2f2gQ7O3qQ7S3vS7W4P4XQ7]4WQ8[5fU8u6`6b6cS9]7P7QQ9a7XQ9c7[Q9n7sQ:O8]U:`8w8y8zQ:l9^Q:m9bQ:o9eQ:t9oQ;P:PS;X:b:dQ;`:nQ;c:wQ;o;ZQ;s;dQ<O;tQ<T<PQ=f=aQ=q=jR=r=k%^aOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&b&e&g&h&j&n&v'T'h'x'z(Q([(m(q(u)t*v+O+j,[,`,e-U-^-r-{.X.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o2y3R4}5b5t5v5w6Z6p8O8Y8g8s:^;V;m;zS#tx!g!r=`$Y$k&z)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xR=f=w%^bOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&b&e&g&h&j&n&v'T'h'x'z(Q([(m(q(u)t*v+O+j,[,`,e-U-^-r-{.X.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o2y3R4}5b5t5v5w6Z6p8O8Y8g8s:^;V;m;zQ%]j!d%hw!f!o%k%l%m&x'W'X'Y']'k*]+V+W,u-X-Y-a-c/k0`2T2[2c2g4U6_6c8v8z:a;YS%nx!gQ+S%iQ+|&VW1U+},O,P,QU5f1V1W1XS7s4|5QS8]5g5hW9o7t7z8P8QQ:P8^W:w9s9t9v9wS;d:x:yS;t;e;fQ<P;u!r=a$Y$k&z)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xQ=j=vR=k=w%QeOPXYrstu!X!^!l#Q#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&e&g&h&j&n&v'T'h'z(Q([(m(q(u)t*v+O+j,[,`,e-U-^-r-{.X.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o2y3R4}5b5t5v5w6Z6p8O8Y8g8s:^;V;m;zY#`WZ#U#X'x!U%y|}#e#g#j%[%w(R(Y(Z(_+h+i+k,^,r-v-y-}.O.Q1r2q2r6P6jQ,Z&b!p=b$Y$k)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xR=e&zS'O!c%xR2R,{%SdOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&e&g&h&j&n&v'T'h'x'z(Q([(m(q(u)t*v+j,[,`,e-U-^-r-{.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o3R4}5b5t5v5w6Z8O8Y8g8s:^;V;m;z!r)V$Y$k&z)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xQ,Y&bQ0W+OQ2u.XQ6o2yR9S6p!n$Sc#W%b'w'}(i(p)P)Q)R)S)X)]+a-k-p-u-z.a.g/O0Q2^2n3Q3c4_4f6Y6h6s8q:[;T;k;x<R<Y!T<g)U)g,v.m1y1|3V3_3`3a3b3f3l6S6t6y6z7r8m9T9X9Y:r;R=l!j$Uc#W%b'w'}(i(p)R)S)X)]+a-k-p-u-z.a.g/O0Q2^2n3Q3c4_4f6Y6h6s8q:[;T;k;x<R<Y!P<i)U)g,v.m1y1|3V3a3b3f3l6S6t6y6z7r8m9T9X9Y:r;R=l!f$Yc#W%b'w'}(i(p)X)]+a-k-p-u-z.a.g/O0Q2^2n3Q3c4_4f6Y6h6s8q:[;T;k;x<R<YQ3p/Wz=x)U)g,v.m1y1|3V3f3l6S6t6y6z7r8m9T9X9Y:r;R=lQ=}>PR>O>Q'QkOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xS$lh$mR3i.s'XgOPWXYZhrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k$m%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.s.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xT$hf$nQ$ffS)`$i)dR)l$nT$gf$nT)b$i)d'XhOPWXYZhrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$Y$_$c$k$m%^%d%q&^&a&b&e&g&h&j&n&v&z'T'h'x'z(Q([(m(q(u)i)t*v+O+j,[,`,e,q,t-U-^-r-{.X.e.l.s.t/}0S0a1Q1b1c1d1f1j1m1o2O2`2o2y3R3h4z4}5b5t5v5w6Q6Z6p8O8Y8g8s9k:Y:^;V;m;z<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=xT$lh$mQ$ohR)k$m%^jOPWXYZrstu!X!^!l#Q#U#X#b#l#r#v#y#|#}$O$P$Q$R$S$T$U$V$W$_$c%^%d%q&^&a&b&e&g&h&j&n&v'T'h'x'z(Q([(m(q(u)t*v+O+j,[,`,e-U-^-r-{.X.e.l/}0S0a1Q1b1c1d1f1j1m1o2`2o2y3R4}5b5t5v5w6Z6p8O8Y8g8s:^;V;m;z!s=v$Y$k&z)i,q,t.t2O3h4z6Q9k:Y<W<Z<[<]<`<a<b<c<d<e<f<g<h<i<j<k<l<p<y<z<{<}=U=V=[=]=x#alOPXZr!X!^!l#Q#b#l#y$k%^&^&a&b&e&g&h&j&n&v'T(u)i+O+j,[,`,e-U.X.t/}1Q1b1c1d1f1j1m1o2y3h4}5b5t5v5w6p8O8Y8gv${i#u%U%V%Z)y){*T*i*j.b/a0P3p4Y9[=u=}>O!z(l#s$a$b$v$y)p)|*Z*}+Q+o+r.W/b/d0t0w1P2x3z4S4a4c5a6m7T7^8V9P9{:g:};^<s<u<w=O=Q=S=W=Y=^>R>SQ*s%XQ/P)ug3e<n<o<t<v<x=P=R=T=X=Z=_v$wi#u%U%V%Z)y){*T*i*j.b/a0P3p4Y9[=u=}>OQ*V$xS*`$z*cQ*t%YQ/o*a!z=h#s$a$b$v$y)p)|*Z*}+Q+o+r.W/b/d0t0w1P2x3z4S4a4c5a6m7T7^8V9P9{:g:};^<s<u<w=O=Q=S=W=Y=^>R>Sf=i<n<o<t<v<x=P=R=T=X=Z=_Q=m=yQ=n=zQ=o={R=p=|v${i#u%U%V%Z)y){*T*i*j.b/a0P3p4Y9[=u=}>O!z(l#s$a$b$v$y)p)|*Z*}+Q+o+r.W/b/d0t0w1P2x3z4S4a4c5a6m7T7^8V9P9{:g:};^<s<u<w=O=Q=S=W=Y=^>R>Sg3e<n<o<t<v<x=P=R=T=X=Z=_lnOXr!X#b%^&e&g&h&j,`,e1j1mQ*Y$yQ,n&qQ,o&sR3y/b$Y$|i#s#u$a$b$v$y%U%V%Z)p)y){)|*T*Z*i*j*}+Q+o+r.W.b/a/b/d0P0t0w1P2x3p3z4S4Y4a4c5a6m7T7^8V9P9[9{:g:};^<n<o<s<t<u<v<w<x=O=P=Q=R=S=T=W=X=Y=Z=^=_=u=}>O>R>SQ+q&PQ0v+sQ4v0uR7o4wT*b$z*cS*b$z*cT5T0}5US/m*_4}T4W/u8OQ+R%hQ/n*`Q0]+SQ1T+|Q5e1UQ8[5fQ9n7sQ:O8]Q:t9oQ;P:PQ;c:wQ;s;dQ<O;tR<T<Pn)y$t(n*u/`/w/x3O3w4^6}7`:k=g=s=t!W=O(j)Z*P*X._.{/W/e0U0s0u2}3x3|4u4w6q6r7U7Y7b7d9`9d;_>P>Q]=P3d6x9U:i:j;|p){$t(n*u/U/`/w/x3O3w4^6}7`:k=g=s=t!Y=Q(j)Z*P*X._.{/W/e0U0s0u2{2}3x3|4u4w6q6r7U7Y7b7d9`9d;_>P>Q_=R3d6x9U9V:i:j;|pmOXr!T!X#b%^&[&e&g&h&j,`,e1j1mQ&X!SR,[&bpmOXr!T!X#b%^&[&e&g&h&j,`,e1j1mR&X!SQ+u&QR0r+nqmOXr!T!X#b%^&[&e&g&h&j,`,e1j1mQ1O+zS5`1R1SU8U5^5_5cS9z8W8XS:{9y9|Q;g:|R;v;hQ&`!TR,U&[R5l1[S%pz%uR0h+_Q&e!UR,`&fR,f&kT1k,e1mR,j&lQ,i&lR1t,jQ'o!yR-l'oQrOQ#bXT%ar#bQ!|TR'q!|Q#PUR's#PQ)r$sR.|)rQ#SVR'u#SQ#VWU'{#V'|-sQ'|#WR-s'}Q,y&{R2Q,yQ.c(nR3P.cQ.f(pS3S.f3TR3T.gQ-Q'RR2U-Qr_OXr!T!X#b%^&[&^&e&g&h&j,`,e1j1mU!mQ'R-QS#eZ%[Y#o_!m#e-}5OQ-}(_T5O0}5US#]W%wU(S#](T-tQ(T#^R-t(OQ,|'OR2S,|Q(`#hQ-w(XW.R(`-w2l6gQ2l-xR6g2mQ)d$iR.u)dQ$mhR)j$mQ$`cU)Y$`-o<mQ-o<YR<m)gQ/Z*QW3s/Z3t7R9_U3t/[/]/^S7R3u3vR9_7S#m)w$t(j(n)Z*P*X*p*q*u.].^._.{/U/V/W/`/e/w/x0U0s0u2{2|2}3O3d3w3x3|4^4u4w6q6r6v6w6x6}7U7Y7`7b7d9U9V9W9`9d:i:j:k;_;|=g=s=t>P>QQ/c*XU3{/c3}7VQ3}/eR7V3|Q*c$zR/q*cQ*l%OR/z*lQ4b0UR7c4bQ+l%zR0q+lQ4y0xS7q4y9lR9l7rQ+w&RR0{+wQ5U0}R7|5UQ1Z,RS5j1Z8`R8`5lQ0c+ZW4k0c4m7i9hQ4m0fQ7i4lR9h7jQ+`%pR0i+`Q1m,eR5z1mWqOXr#bQ&i!XQ*x%^Q,_&eQ,a&gQ,b&hQ,d&jQ1h,`S1k,e1mR5y1jQ%`oQ&m!]Q&p!_Q&r!`Q&t!aU'g!o5P5QQ+T%jQ+g%vQ+m%{Q,T&`Q,l&oY-]']'i'j'm8QQ-j'eQ/p*bQ0^+US1^,U,XQ1u,kQ1v,nQ1w,oQ2]-[[2_-_-`-c-i-k9wQ4d0_Q4p0lQ4t0sQ5d1TQ5n1`Q5x1iY6X2^2a2d2f2gQ6[2bQ7e4eQ7m4rQ7n4uQ7{5TQ8Z5eQ8a5mY8p6Y6^6`6b6cQ8r6]Q9i7kQ9m7sQ9}8[Q:S8bY:Z8q8u8w8y8zQ:]8tQ:q9jS:s9n9oQ;O:OW;S:[:`:b:dQ;U:_S;a:t:wQ;i;PU;j;T;X;ZQ;l;WS;r;c;dS;w;k;oQ;y;nS;};s;tQ<Q;xS<S<O<PQ<U<RR<V<TQ%jwQ'V!fQ'e!oU+U%k%l%mQ,s&xU-W'W'X'YS-[']'kQ/g*]S0_+V+WQ1},uS2Z-X-YS2b-a-cQ4Q/kQ4e0`Q6T2TQ6W2[S6]2c2gQ7Z4US8t6_6cS:_8v8zQ;W:aR;n;YS$ui=uR*m%PU%Oi%P=uR/y*kQ$tiS(j#s+QQ(n#uS)Z$a$bQ*P$vQ*X$yQ*p%UQ*q%VQ*u%ZQ.]<sQ.^<uQ._<wQ.{)pQ/U)yQ/V){Q/W)|Q/`*TQ/e*ZQ/w*iQ/x*jh0U*}.W1P2x5a6m8V9P9{:g:};^Q0s+oQ0u+rQ2{=OQ2|=QQ2}=SQ3O.bS3d<n<oQ3w/aQ3x/bQ3|/dQ4^0PQ4u0tQ4w0wQ6q=WQ6r=YQ6v<tQ6w<vQ6x<xQ6}3pQ7U3zQ7Y4SQ7`4YQ7b4aQ7d4cQ9U=TQ9V=PQ9W=RQ9`7TQ9d7^Q:i=XQ:j=ZQ:k9[Q;_=^Q;|=_Q=g=uQ=s=}Q=t>OQ>P>RR>Q>SloOXr!X#b%^&e&g&h&j,`,e1j1mQ!dPS#dZ#lQ&o!^U'Z!l4}8OQ't#QQ(w#yQ)h$kS,X&^&aQ,]&bQ,k&nQ,p&vQ-S'TQ.i(uQ.y)iQ0X+OQ0o+jQ1e,[Q2X-UQ2v.XQ3k.tQ4[/}Q5_1QQ5p1bQ5q1cQ5s1dQ5u1fQ5|1oQ6l2yQ6{3hQ8X5bQ8f5tQ8h5vQ8i5wQ9R6pQ9|8YR:U8g#UcOPXZr!X!^!l#b#l#y%^&^&a&b&e&g&h&j&n&v'T(u+O+j,[,`,e-U.X/}1Q1b1c1d1f1j1m1o2y4}5b5t5v5w6p8O8Y8gQ#WWQ#cYQ%bsQ%ctQ%euS'w#U'zQ'}#XQ(i#rQ(p#vQ(x#|Q(y#}Q(z$OQ({$PQ(|$QQ(}$RQ)O$SQ)P$TQ)Q$UQ)R$VQ)S$WQ)U$YQ)X$_Q)]$cW)g$k)i.t3hQ*{%dQ+a%qS,v&z2OQ-k'hS-p'x-rQ-u(QQ-z([Q.a(mQ.g(qQ.k<WQ.m<ZQ.n<[Q.o<]Q/O)tQ0Q*vQ1y,qQ1|,tQ2^-^Q2n-{Q3Q.eQ3V<`Q3W<aQ3X<bQ3Y<cQ3Z<dQ3[<eQ3]<fQ3^<gQ3_<hQ3`<iQ3a<jQ3b<kQ3c.lQ3f<pQ3g<yQ3l<lQ4_0SQ4f0aQ6S<zQ6Y2`Q6h2oQ6s3RQ6t<{Q6y<}Q6z=UQ7r4zQ8m6QQ8q6ZQ9T=VQ9X=[Q9Y=]Q:[8sQ:r9kQ;R:YQ;T:^Q;k;VQ;x;mQ<R;zQ<Y#QR=l=xR#YWR&|!cU!oQ'R-QS&x!c,x[']!m!s!t!u!v!wS'k!p!r^'m!x5O5W5X5Y5Z5[S,u&y'QS-a'^'_W-c'`'a'b'c[-i'd7v7w7x7y8TQ2T-OS2c-b-dW2f-e9p9q9rU2g-f-g-hS5P0}5US6_2e2hU6b2i:u:vS6c2j2kS8v6a6dS8y6e;bQ8z6fS:a8x8{Q:d8|R;Y:cR(o#uR(r#vQ!dQT-P'R-QQ#m]R'[<XT#iZ%[S#hZ%[U%z|},^U(X#e#g#jS-x(Y(ZQ.P(_Q0p+kQ2m-yU2p-}.O.QS6i2q2rR8}6j`#[W#U#X%w'x(R+h-vt#fZ|}#e#g#j%[(Y(Z(_+k-y-}.O.Q2q2r6jQ1g,^Q1z,rQ6O1rQ8l6PT=d&z+iT#_W%wS#^W%wS'y#U(RS(O#X+hS,w&z+iT-q'x-vT'P!c%xQ$ifR)n$nT)c$i)dR3j.sT*S$v*UR*[$yQ0V*}Q2t.WQ5^1PQ6n2xQ8W5aQ9Q6mQ9y8VQ:e9PQ:|9{Q;]:gQ;h:}R;q;^lpOXr!X#b%^&e&g&h&j,`,e1j1mQ&_!TR,T&[V%{|},^R0y+tR,S&YQ%tzR+f%uR+[%oT&c!U&fT&d!U&fT1l,e1m",
|
|
4353
|
-
nodeNames: "⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody
|
|
4354
|
-
maxTerm:
|
|
4490
|
+
states: "$6[O`QUOOO%QQUOOO'TQWOOP(bOSOOO*pQ(CjO'#CfO*wOpO'#CgO+VO!bO'#CgO+eO07`O'#DZO-vQUO'#DaO.WQUO'#DlO%QQUO'#DvO0[QUO'#EOOOQ(CY'#EW'#EWO0uQSO'#ETOOQO'#Ei'#EiOOQO'#Ib'#IbO0}QSO'#GkO1YQSO'#EhO1_QSO'#EhO3aQ(CjO'#JcO6QQ(CjO'#JdO6nQSO'#FWO6sQ#tO'#FoOOQ(CY'#F`'#F`O7OO&jO'#F`O7^Q,UO'#FvO8tQSO'#FuOOQ(CY'#Jd'#JdOOQ(CW'#Jc'#JcOOQQ'#KO'#KOO8yQSO'#IOO9OQ(C[O'#IPOOQQ'#JP'#JPOOQQ'#IT'#ITQ`QUOOO%QQUO'#DnO9WQUO'#DzO%QQUO'#D|O9_QSO'#GkO9dQ,UO'#ClO9rQSO'#EgO9}QSO'#ErO:SQ,UO'#F_O:qQSO'#GkO:vQSO'#GoO;RQSO'#GoO;aQSO'#GrO;aQSO'#GsO;aQSO'#GuO9_QSO'#GxO<QQSO'#G{O=cQSO'#CbO=sQSO'#HXO={QSO'#H_O={QSO'#HaO`QUO'#HcO={QSO'#HeO={QSO'#HhO>QQSO'#HnO>VQ(C]O'#HtO%QQUO'#HvO>bQ(C]O'#HxO>mQ(C]O'#HzO9OQ(C[O'#H|O>xQ(CjO'#CfO?zQWO'#DfQOQSOOO@bQSO'#EPO9dQ,UO'#EgO@mQSO'#EgO@xQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jg'#JgO%QQUO'#JgOOQO'#Jk'#JkOOQO'#I_'#I_OAxQWO'#E`OOQ(CW'#E_'#E_OBtQ(C`O'#E`OCOQWO'#ESOOQO'#Jj'#JjOCdQWO'#JkODqQWO'#ESOCOQWO'#E`PEOO?MpO'#C`POOO)CDn)CDnOOOO'#IU'#IUOEZOpO,59ROOQ(CY,59R,59ROOOO'#IV'#IVOEiO!bO,59RO%QQUO'#D]OOOO'#IX'#IXOEwO07`O,59uOOQ(CY,59u,59uOFVQUO'#IYOFjQSO'#JeOHlQbO'#JeO+sQUO'#JeOHsQSO,59{OIZQSO'#EiOIhQSO'#JsOIsQSO'#JrOIsQSO'#JrOI{QSO,5;VOJQQSO'#JqOOQ(CY,5:W,5:WOJXQUO,5:WOLYQ(CjO,5:bOLyQSO,5:jOMdQ(C[O'#JpOMkQSO'#JoO:vQSO'#JoONPQSO'#JoONXQSO,5;UON^QSO'#JoO!!fQbO'#JdOOQ(CY'#Cf'#CfO%QQUO'#EOO!#UQ`O,5:oOOQO'#Jl'#JlOOQO-E<`-E<`O9_QSO,5=VO!#lQSO,5=VO!#qQUO,5;SO!%tQ,UO'#EdO!'XQSO,5;SO!(qQ,UO'#DpO!(xQUO'#DuO!)SQWO,5;]O!)[QWO,5;]O%QQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^O%QQUO,5;^OOQQ'#FU'#FUO!)jQUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!+mQSO,5;uOOQ(CY,5;v,5;vO%QQUO'#IfO!+uQ(C[O,5<cO!%tQ,UO,5;^O!,dQ,UO,5;^O%QQUO,5;rO!,kQ#tO'#FeO!-hQ#tO'#JwO!-SQ#tO'#JwO!-oQ#tO'#JwOOQO'#Jw'#JwO!.TQ#tO,5;}OOOO,5<Z,5<ZO!.fQUO'#FqOOOO'#Ie'#IeO7OO&jO,5;zO!.mQ#tO'#FsOOQ(CY,5;z,5;zO!/^Q7[O'#CrOOQ(CY'#Cv'#CvO!/qQSO'#CvO!/vO07`O'#CzO!0dQ,UO,5<`O!0kQSO,5<bO!2QQMhO'#GQO!2_QSO'#GRO!2dQSO'#GRO!2iQMhO'#GVO!3hQWO'#GZO!4ZQ7[O'#J^OOQ(CY'#J^'#J^O!4eQSO'#J]O!4sQSO'#J[O!4{QSO'#CqOOQ(CY'#Ct'#CtOOQ(CY'#DO'#DOOOQ(CY'#DQ'#DQO0xQSO'#DSO!'^Q,UO'#FxO!'^Q,UO'#FzO!5TQSO'#F|O!5YQSO'#F}O!2dQSO'#GTO!'^Q,UO'#GYO!5_QSO'#EjO!5|QSO,5<aO`QUO,5>jOOQQ'#JX'#JXOOQQ,5>k,5>kOOQQ-E<R-E<RO!7{Q(CjO,5:YO!:iQ(CjO,5:fO%QQUO,5:fO!=SQ(CjO,5:hOOQ(CW'#Co'#CoO!=sQ,UO,5=VO!>RQ(C[O'#JYO8tQSO'#JYO!>dQ(C[O,59WO!>oQWO,59WO!>wQ,UO,59WO9dQ,UO,59WO!?SQSO,5;SO!?[QSO'#HWO!?mQSO'#KSO%QQUO,5;wO!?uQWO,5;yO!?zQSO,5=qO!@PQSO,5=qO!@UQSO,5=qO9OQ(C[O,5=qO!@dQSO'#EkO!A^QWO'#ElOOQ(CW'#Jq'#JqO!AeQ(C[O'#KPO9OQ(C[O,5=ZO;aQSO,5=aOOQO'#Cr'#CrO!ApQWO,5=^O!AxQ,UO,5=_O!BTQSO,5=aO!BYQ`O,5=dO>QQSO'#G}O9_QSO'#HPO!BbQSO'#HPO9dQ,UO'#HRO!BgQSO'#HROOQQ,5=g,5=gO!BlQSO'#HSO!BtQSO'#ClO!ByQSO,58|O!CTQSO,58|O!E]QUO,58|OOQQ,58|,58|O!EjQ(C[O,58|O%QQUO,58|O!EuQUO'#HZOOQQ'#H['#H[OOQQ'#H]'#H]O`QUO,5=sO!FVQSO,5=sO`QUO,5=yO`QUO,5={O!F[QSO,5=}O`QUO,5>PO!FaQSO,5>SO!FfQUO,5>YOOQQ,5>`,5>`O%QQUO,5>`O9OQ(C[O,5>bOOQQ,5>d,5>dO!JmQSO,5>dOOQQ,5>f,5>fO!JmQSO,5>fOOQQ,5>h,5>hO!JrQWO'#DXO%QQUO'#JgO!KaQWO'#JgO!LOQWO'#DgO!LaQWO'#DgO!NrQUO'#DgO!NyQSO'#JfO# RQSO,5:QO# WQSO'#EmO# fQSO'#JtO# nQSO,5;WO# sQWO'#DgO#!QQWO'#EROOQ(CY,5:k,5:kO%QQUO,5:kO#!XQSO,5:kO>QQSO,5;RO!>oQWO,5;RO!>wQ,UO,5;RO9dQ,UO,5;RO#!aQSO,5@RO#!fQ!LQO,5:oOOQO-E<]-E<]O##lQ(C`O,5:zOCOQWO,5:nO##vQWO,5:nOCOQWO,5:zO!>dQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%QQUO,5:zO#$TQ(C[O,5:zO#$`Q(C[O,5:zO!>oQWO,5:nOOQO,5;Q,5;QO#$nQ(C[O,5:zPOOO'#IS'#ISP#%SO?MpO,58zPOOO,58z,58zOOOO-E<S-E<SOOQ(CY1G.m1G.mOOOO-E<T-E<TO#%_Q`O,59wOOOO-E<V-E<VOOQ(CY1G/a1G/aO#%dQbO,5>tO+sQUO,5>tOOQO,5>z,5>zO#%nQUO'#IYOOQO-E<W-E<WO#%{QSO,5@PO#&TQbO,5@PO#&[QSO,5@^OOQ(CY1G/g1G/gO%QQUO,5@_O#&dQSO'#I`OOQO-E<^-E<^O#&[QSO,5@^OOQ(CW1G0q1G0qOOQ(CY1G/r1G/rOOQ(CY1G0U1G0UO%QQUO,5@[O#&xQ(C[O,5@[O#'ZQ(C[O,5@[O#'bQSO,5@ZO:vQSO,5@ZO#'jQSO,5@ZO#'xQSO'#IcO#'bQSO,5@ZOOQ(CW1G0p1G0pO!)SQWO,5:qO!)_QWO,5:qOOQO,5:s,5:sO#(jQSO,5:sO#(rQ,UO1G2qO9_QSO1G2qOOQ(CY1G0n1G0nO#)QQ(CjO1G0nO#*VQ(ChO,5;OOOQ(CY'#GP'#GPO#*sQ(CjO'#J^O!#qQUO1G0nO#,{Q,UO'#JhO#-VQSO,5:[O#-[QbO'#JiO%QQUO'#JiO#-fQSO,5:aOOQ(CY'#DX'#DXOOQ(CY1G0w1G0wO%QQUO1G0wOOQ(CY1G1a1G1aO#-kQSO1G0wO#0SQ(CjO1G0xO#0ZQ(CjO1G0xO#2tQ(CjO1G0xO#2{Q(CjO1G0xO#5VQ(CjO1G0xO#5mQ(CjO1G0xO#8gQ(CjO1G0xO#8nQ(CjO1G0xO#;XQ(CjO1G0xO#;`Q(CjO1G0xO#=WQ(CjO1G0xO#@WQ$IUO'#CfO#BUQ$IUO1G1ZO#B]Q$IUO'#JdO!+pQSO1G1aO#BmQ(CjO,5?QOOQ(CW-E<d-E<dO#CaQ(CjO1G0xOOQ(CY1G0x1G0xO#ElQ(CjO1G1^O#F`Q#tO,5<RO#FhQ#tO,5<SO#FpQ#tO'#FjO#GXQSO'#FiOOQO'#Jx'#JxOOQO'#Id'#IdO#G^Q#tO1G1iOOQ(CY1G1i1G1iOOOO1G1t1G1tO#GoQ$IUO'#JcO#GyQSO,5<]O!)jQUO,5<]OOOO-E<c-E<cOOQ(CY1G1f1G1fO#HOQWO'#JwOOQ(CY,5<_,5<_O#HWQWO,5<_OOQ(CY,59b,59bO!%tQ,UO'#C|OOOO'#IW'#IWO#H]O07`O,59fOOQ(CY,59f,59fO%QQUO1G1zO!5YQSO'#IhO#HhQSO,5<sOOQ(CY,5<p,5<pOOQO'#Gf'#GfO!'^Q,UO,5=POOQO'#Gh'#GhO!'^Q,UO,5=RO!%tQ,UO,5=TOOQO1G1|1G1|O#HvQ`O'#CoO#IZQ`O,5<lO#IbQSO'#J{O9_QSO'#J{O#IpQSO,5<nO!'^Q,UO,5<mO#IuQSO'#GSO#JQQSO,5<mO#JVQ`O'#GPO#JdQ`O'#J|O#JnQSO'#J|O!%tQ,UO'#J|O#JsQSO,5<qO#JxQWO'#G[O!3cQWO'#G[O#KZQSO'#G^O#K`QSO'#G`O!2dQSO'#GcO#KeQ(C[O'#IjO#KpQWO,5<uOOQ(CY,5<u,5<uO#KwQWO'#G[O#LVQWO'#G]O#L_QWO'#G]OOQ(CY,5=U,5=UO!'^Q,UO,5?wO!'^Q,UO,5?wO#LdQSO'#IkO#LoQSO,5?vO#LwQSO,59]O#MhQ,UO,59nOOQ(CY,59n,59nO#NZQ,UO,5<dO#N|Q,UO,5<fO?rQSO,5<hOOQ(CY,5<i,5<iO$ WQSO,5<oO$ ]Q,UO,5<tO$ mQSO'#JoO!#qQUO1G1{O$ rQSO1G1{OOQQ1G4U1G4UOOQ(CY1G/t1G/tO!+mQSO1G/tO$#qQ(CjO1G0QOOQQ1G2q1G2qO!%tQ,UO1G2qO%QQUO1G2qO$$bQSO1G2qO$$mQ,UO'#EdOOQ(CW,5?t,5?tO$$wQ(C[O,5?tOOQQ1G.r1G.rO!>dQ(C[O1G.rO!>oQWO1G.rO!>wQ,UO1G.rO$%YQSO1G0nO$%_QSO'#CfO$%jQSO'#KTO$%rQSO,5=rO$%wQSO'#KTO$%|QSO'#KTO$&XQSO'#IsO$&gQSO,5@nO$&oQbO1G1cOOQ(CY1G1e1G1eO9_QSO1G3]O?rQSO1G3]O$&vQSO1G3]O$&{QSO1G3]OOQQ1G3]1G3]O:vQSO'#JrO:vQSO'#EmO%QQUO'#EmO:vQSO'#ImO$'QQ(C[O,5@kOOQQ1G2u1G2uO!BTQSO1G2{O!%tQ,UO1G2xO$']QSO1G2xOOQQ1G2y1G2yO!%tQ,UO1G2yO$'bQSO1G2yO$'jQWO'#GwOOQQ1G2{1G2{O!3cQWO'#IoO!BYQ`O1G3OOOQQ1G3O1G3OOOQQ,5=i,5=iO$'rQ,UO,5=kO9_QSO,5=kO#K`QSO,5=mO8tQSO,5=mO!>oQWO,5=mO!>wQ,UO,5=mO9dQ,UO,5=mO$(QQSO'#KRO$(]QSO,5=nOOQQ1G.h1G.hO$(bQ(C[O1G.hO?rQSO1G.hO$(mQSO1G.hO9OQ(C[O1G.hO$*rQbO,5@pO$+SQSO,5@pO$+_QUO,5=uO$+fQSO,5=uO:vQSO,5@pOOQQ1G3_1G3_O`QUO1G3_OOQQ1G3e1G3eOOQQ1G3g1G3gO={QSO1G3iO$+kQUO1G3kO$/lQUO'#HjOOQQ1G3n1G3nO$/yQSO'#HpO>QQSO'#HrOOQQ1G3t1G3tO$0RQUO1G3tO9OQ(C[O1G3zOOQQ1G3|1G3|OOQ(CW'#GW'#GWO9OQ(C[O1G4OO9OQ(C[O1G4QO$4VQSO,5@RO!)jQUO,5;XO:vQSO,5;XO>QQSO,5:RO!)jQUO,5:RO!>oQWO,5:RO$4[Q$IUO,5:ROOQO,5;X,5;XO$4fQWO'#IZO$4|QSO,5@QOOQ(CY1G/l1G/lO$5UQWO'#IaO$5`QSO,5@`OOQ(CW1G0r1G0rO!LaQWO,5:ROOQO'#I^'#I^O$5hQWO,5:mOOQ(CY,5:m,5:mO#![QSO1G0VOOQ(CY1G0V1G0VO%QQUO1G0VOOQ(CY1G0m1G0mO>QQSO1G0mO!>oQWO1G0mO!>wQ,UO1G0mOOQ(CW1G5m1G5mO!>dQ(C[O1G0YOOQO1G0f1G0fO%QQUO1G0fO$5oQ(C[O1G0fO$5zQ(C[O1G0fO!>oQWO1G0YOCOQWO1G0YO$6YQ(C[O1G0fOOQO1G0Y1G0YO$6nQ(CjO1G0fPOOO-E<Q-E<QPOOO1G.f1G.fOOOO1G/c1G/cO$6xQ`O,5<cO$7QQbO1G4`OOQO1G4f1G4fO%QQUO,5>tO$7[QSO1G5kO$7dQSO1G5xO$7lQbO1G5yO:vQSO,5>zO$7vQ(CjO1G5vO%QQUO1G5vO$8WQ(C[O1G5vO$8iQSO1G5uO$8iQSO1G5uO:vQSO1G5uO$8qQSO,5>}O:vQSO,5>}OOQO,5>},5>}O$9VQSO,5>}O$ mQSO,5>}OOQO-E<a-E<aOOQO1G0]1G0]OOQO1G0_1G0_O!+pQSO1G0_OOQQ7+(]7+(]O!%tQ,UO7+(]O%QQUO7+(]O$9eQSO7+(]O$9pQ,UO7+(]O$:OQ(CjO,59nO$<WQ(CjO,5<dO$>cQ(CjO,5<fO$@nQ(CjO,5<tOOQ(CY7+&Y7+&YO$CPQ(CjO7+&YO$CsQ,UO'#I[O$C}QSO,5@SOOQ(CY1G/v1G/vO$DVQUO'#I]O$DdQSO,5@TO$DlQbO,5@TOOQ(CY1G/{1G/{O$DvQSO7+&cOOQ(CY7+&c7+&cO$D{Q$IUO,5:bO%QQUO7+&uO$EVQ$IUO,5:YO$EdQ$IUO,5:fO$EnQ$IUO,5:hOOQ(CY7+&{7+&{OOQO1G1m1G1mOOQO1G1n1G1nO$ExQ#tO,5<UO!)jQUO,5<TOOQO-E<b-E<bOOQ(CY7+'T7+'TOOOO7+'`7+'`OOOO1G1w1G1wO$FTQSO1G1wOOQ(CY1G1y1G1yO$FYQ`O,59hOOOO-E<U-E<UOOQ(CY1G/Q1G/QO$FaQ(CjO7+'fOOQ(CY,5?S,5?SO$GTQSO,5?SOOQ(CY1G2_1G2_P$GYQSO'#IhPOQ(CY-E<f-E<fO$G|Q,UO1G2kO$HoQ,UO1G2mO$HyQ`O1G2oOOQ(CY1G2W1G2WO$IQQSO'#IgO$I`QSO,5@gO$I`QSO,5@gO$IhQSO,5@gO$IsQSO,5@gOOQO1G2Y1G2YO$JRQ,UO1G2XO!'^Q,UO1G2XO$JcQMhO'#IiO$JsQSO,5@hO!%tQ,UO,5@hO$J{Q`O,5@hOOQ(CY1G2]1G2]OOQ(CW,5<v,5<vOOQ(CW,5<w,5<wO$ mQSO,5<wOBoQSO,5<wO!>oQWO,5<vOOQO'#G_'#G_O$KVQSO,5<xOOQ(CW,5<z,5<zO$ mQSO,5<}OOQO,5?U,5?UOOQO-E<h-E<hOOQ(CY1G2a1G2aO!3cQWO,5<vO$K_QSO,5<wO#KZQSO,5<xO!3cQWO,5<wO$KjQ,UO1G5cO$KtQ,UO1G5cOOQO,5?V,5?VOOQO-E<i-E<iOOQO1G.w1G.wO!?uQWO,59pO%QQUO,59pO$LRQSO1G2SO!'^Q,UO1G2ZO$LWQ(CjO7+'gOOQ(CY7+'g7+'gO!#qQUO7+'gOOQ(CY7+%`7+%`O$LzQ`O'#J}O#![QSO7+(]O$MUQbO7+(]O$9hQSO7+(]O$M]Q(ChO'#CfO$MpQ(ChO,5<{O$NbQSO,5<{OOQ(CW1G5`1G5`OOQQ7+$^7+$^O!>dQ(C[O7+$^O!>oQWO7+$^O!#qQUO7+&YO$NgQSO'#IrO$N{QSO,5@oOOQO1G3^1G3^O9_QSO,5@oO$N{QSO,5@oO% TQSO,5@oOOQO,5?_,5?_OOQO-E<q-E<qOOQ(CY7+&}7+&}O% YQSO7+(wO9OQ(C[O7+(wO9_QSO7+(wO?rQSO7+(wO% _QSO,5;XOOQ(CW,5?X,5?XOOQ(CW-E<k-E<kOOQQ7+(g7+(gO% dQ(ChO7+(dO!%tQ,UO7+(dO% nQ`O7+(eOOQQ7+(e7+(eO!%tQ,UO7+(eO% uQSO'#KQO%!QQSO,5=cOOQO,5?Z,5?ZOOQO-E<m-E<mOOQQ7+(j7+(jO%#aQWO'#HQOOQQ1G3V1G3VO!%tQ,UO1G3VO%QQUO1G3VO%#hQSO1G3VO%#sQ,UO1G3VO9OQ(C[O1G3XO#K`QSO1G3XO8tQSO1G3XO!>oQWO1G3XO!>wQ,UO1G3XO%$RQSO'#IqO%$^QSO,5@mO%$fQWO,5@mOOQ(CW1G3Y1G3YOOQQ7+$S7+$SO?rQSO7+$SO9OQ(C[O7+$SO%$qQSO7+$SO%QQUO1G6[O%QQUO1G6]O%$vQUO1G3aO%$}QSO1G3aO%%SQUO1G3aO%%ZQ(C[O1G6[OOQQ7+(y7+(yO9OQ(C[O7+)TO`QUO7+)VOOQQ'#KW'#KWOOQQ'#It'#ItO%%eQUO,5>UOOQQ,5>U,5>UO%QQUO'#HkO%%rQSO'#HmOOQQ,5>[,5>[O:vQSO,5>[OOQQ,5>^,5>^OOQQ7+)`7+)`OOQQ7+)f7+)fOOQQ7+)j7+)jOOQQ7+)l7+)lO%%wQWO1G5mO%&]Q$IUO1G0sO%&gQSO1G0sOOQO1G/m1G/mO%&rQ$IUO1G/mO>QQSO1G/mO!)jQUO'#DgOOQO,5>u,5>uOOQO-E<X-E<XOOQO,5>{,5>{OOQO-E<_-E<_O!>oQWO1G/mOOQO-E<[-E<[OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#![QSO7+%qOOQ(CY7+&X7+&XO>QQSO7+&XO!>oQWO7+&XOOQO7+%t7+%tO$6nQ(CjO7+&QOOQO7+&Q7+&QO%QQUO7+&QO%&|Q(C[O7+&QO!>dQ(C[O7+%tO!>oQWO7+%tO%'XQ(C[O7+&QO%'gQ(CjO7++bO%QQUO7++bO%'wQSO7++aO%'wQSO7++aOOQO1G4i1G4iO:vQSO1G4iO%(PQSO1G4iOOQO7+%y7+%yO#![QSO<<KwO$MUQbO<<KwO%(_QSO<<KwOOQQ<<Kw<<KwO!%tQ,UO<<KwO%QQUO<<KwO%(gQSO<<KwO%(rQ(CjO1G2kO%*}Q(CjO1G2mO%-YQ(CjO1G2XO%/kQ,UO,5>vOOQO-E<Y-E<YO%/uQbO,5>wO%QQUO,5>wOOQO-E<Z-E<ZO%0PQSO1G5oOOQ(CY<<I}<<I}O%0XQ$IUO1G0nO%2cQ$IUO1G0xO%2jQ$IUO1G0xO%4nQ$IUO1G0xO%4uQ$IUO1G0xO%6jQ$IUO1G0xO%7QQ$IUO1G0xO%9eQ$IUO1G0xO%9lQ$IUO1G0xO%;pQ$IUO1G0xO%;wQ$IUO1G0xO%=oQ$IUO1G0xO%>SQ(CjO<<JaO%?XQ$IUO1G0xO%@}Q$IUO'#J^O%CQQ$IUO1G1^O%C_Q$IUO1G0QO!)jQUO'#FlOOQO'#Jy'#JyOOQO1G1p1G1pO%CiQSO1G1oO%CnQ$IUO,5?QOOOO7+'c7+'cOOOO1G/S1G/SOOQ(CY1G4n1G4nO!'^Q,UO7+(ZO%CxQSO,5?RO9_QSO,5?ROOQO-E<e-E<eO%DWQSO1G6RO%DWQSO1G6RO%D`QSO1G6RO%DkQ,UO7+'sO%D{Q`O,5?TO%EVQSO,5?TO!%tQ,UO,5?TOOQO-E<g-E<gO%E[Q`O1G6SO%EfQSO1G6SOOQ(CW1G2c1G2cO$ mQSO1G2cOOQ(CW1G2b1G2bO%EnQSO1G2dO!%tQ,UO1G2dOOQ(CW1G2i1G2iO!>oQWO1G2bOBoQSO1G2cO%EsQSO1G2dO%E{QSO1G2cO!'^Q,UO7+*}OOQ(CY1G/[1G/[O%FWQSO1G/[OOQ(CY7+'n7+'nO%F]Q,UO7+'uO%FmQ(CjO<<KROOQ(CY<<KR<<KRO!%tQ,UO'#IlO%GaQSO,5@iO!%tQ,UO1G2gOOQQ<<Gx<<GxO!>dQ(C[O<<GxO%GiQ(CjO<<ItOOQ(CY<<It<<ItOOQO,5?^,5?^O%H]QSO,5?^O$%|QSO,5?^OOQO-E<p-E<pO%HbQSO1G6ZO%HbQSO1G6ZO9_QSO1G6ZO?rQSO<<LcOOQQ<<Lc<<LcO%HjQSO<<LcO9OQ(C[O<<LcO%HoQSO1G0sOOQQ<<LO<<LOO% dQ(ChO<<LOOOQQ<<LP<<LPO% nQ`O<<LPO%HtQWO'#InO%IPQSO,5@lO!)jQUO,5@lOOQQ1G2}1G2}O%IXQUO'#JgOOQO'#Ip'#IpO9OQ(C[O'#IpO%IcQWO,5=lOOQQ,5=l,5=lO%IjQWO'#E`O%JOQSO7+(qO%JTQSO7+(qOOQQ7+(q7+(qO!%tQ,UO7+(qO%QQUO7+(qO%J]QSO7+(qOOQQ7+(s7+(sO9OQ(C[O7+(sO#K`QSO7+(sO8tQSO7+(sO!>oQWO7+(sO%JhQSO,5?]OOQO-E<o-E<oOOQO'#HT'#HTO%JsQSO1G6XO9OQ(C[O<<GnOOQQ<<Gn<<GnO?rQSO<<GnO%J{QSO7++vO%KQQSO7++wOOQQ7+({7+({O%KVQSO7+({O%K[QUO7+({O%KcQSO7+({O%QQUO7++vO%QQUO7++wOOQQ<<Lo<<LoOOQQ<<Lq<<LqOOQQ-E<r-E<rOOQQ1G3p1G3pO%KhQSO,5>VOOQQ,5>X,5>XO%KmQSO1G3vO:vQSO7+&_O!)jQUO7+&_OOQO7+%X7+%XO%KrQ$IUO1G5yO>QQSO7+%XOOQ(CY<<I]<<I]OOQ(CY<<Is<<IsO>QQSO<<IsOOQO<<Il<<IlO$6nQ(CjO<<IlO%QQUO<<IlOOQO<<I`<<I`O!>dQ(C[O<<I`O%K|Q(C[O<<IlO%LXQ(CjO<<N|O%LiQSO<<N{OOQO7+*T7+*TO:vQSO7+*TOOQQANAcANAcO%LqQSOANAcO!%tQ,UOANAcO#![QSOANAcO$MUQbOANAcO%QQUOANAcO%LyQ(CjO7+'sO& [Q(CjO7+'uO&#mQbO1G4cO&#wQ$IUO7+&YO&$UQ$IUO,59nO&&XQ$IUO,5<dO&([Q$IUO,5<fO&*_Q$IUO,5<tO&,TQ$IUO7+'fO&,bQ$IUO7+'gO&,oQSO,5<WOOQO7+'Z7+'ZO&,tQ,UO<<KuOOQO1G4m1G4mO&,{QSO1G4mO&-WQSO1G4mO&-fQSO7++mO&-fQSO7++mO!%tQ,UO1G4oO&-nQ`O1G4oO&-xQSO7++nOOQ(CW7+'}7+'}O$ mQSO7+(OO&.QQ`O7+(OOOQ(CW7+'|7+'|O$ mQSO7+'}O&.XQSO7+(OO!%tQ,UO7+(OOBoQSO7+'}O&.^Q,UO<<NiOOQ(CY7+$v7+$vO&.hQ`O,5?WOOQO-E<j-E<jO&.rQ(ChO7+(ROOQQAN=dAN=dO9_QSO1G4xOOQO1G4x1G4xO&/SQSO1G4xO&/XQSO7++uO&/XQSO7++uO9OQ(C[OANA}O?rQSOANA}OOQQANA}ANA}OOQQANAjANAjOOQQANAkANAkO&/aQSO,5?YOOQO-E<l-E<lO&/lQ$IUO1G6WO&1|QbO'#CfOOQO,5?[,5?[OOQO-E<n-E<nOOQQ1G3W1G3WO%IXQUO,5<xOOQQ<<L]<<L]O!%tQ,UO<<L]O%JOQSO<<L]O&2WQSO<<L]O%QQUO<<L]OOQQ<<L_<<L_O9OQ(C[O<<L_O#K`QSO<<L_O8tQSO<<L_O&2`QWO1G4wO&2kQSO7++sOOQQAN=YAN=YO9OQ(C[OAN=YOOQQ<= b<= bOOQQ<= c<= cOOQQ<<Lg<<LgO&2sQSO<<LgO&2xQUO<<LgO&3PQSO<= bO&3UQSO<= cOOQQ1G3q1G3qO>QQSO7+)bO&3ZQSO<<IyO&3fQ$IUO<<IyOOQO<<Hs<<HsOOQ(CYAN?_AN?_OOQOAN?WAN?WO$6nQ(CjOAN?WOOQOAN>zAN>zO%QQUOAN?WOOQO<<Mo<<MoOOQQG26}G26}O!%tQ,UOG26}O#![QSOG26}O&3pQSOG26}O$MUQbOG26}O&3xQ$IUO<<JaO&4VQ$IUO1G2XO&5{Q$IUO1G2kO&8OQ$IUO1G2mO&:RQ$IUO<<KRO&:`Q$IUO<<ItOOQO1G1r1G1rO!'^Q,UOANAaOOQO7+*X7+*XO&:mQSO7+*XO&:xQSO<= XO&;QQ`O7+*ZOOQ(CW<<Kj<<KjO$ mQSO<<KjOOQ(CW<<Ki<<KiO&;[Q`O<<KjO$ mQSO<<KiOOQO7+*d7+*dO9_QSO7+*dO&;cQSO<= aOOQQG27iG27iO9OQ(C[OG27iO!)jQUO1G4tO&;kQSO7++rO%JOQSOANAwOOQQANAwANAwO!%tQ,UOANAwO&;sQSOANAwOOQQANAyANAyO9OQ(C[OANAyO#K`QSOANAyOOQO'#HU'#HUOOQO7+*c7+*cOOQQG22tG22tOOQQANBRANBRO&;{QSOANBROOQQAND|AND|OOQQAND}AND}OOQQ<<L|<<L|O!)jQUOAN?eOOQOG24rG24rO$6nQ(CjOG24rO#![QSOLD,iOOQQLD,iLD,iO!%tQ,UOLD,iO&<QQSOLD,iO&<YQ$IUO7+'sO&>OQ$IUO7+'uO&?tQ,UOG26{OOQO<<Ms<<MsOOQ(CWANAUANAUO$ mQSOANAUOOQ(CWANATANATOOQO<<NO<<NOOOQQLD-TLD-TO&@UQ$IUO7+*`OOQQG27cG27cO%JOQSOG27cO!%tQ,UOG27cOOQQG27eG27eO9OQ(C[OG27eOOQQG27mG27mO&@`Q$IUOG25POOQOLD*^LD*^OOQQ!$(!T!$(!TO#![QSO!$(!TO!%tQ,UO!$(!TO&@jQ(CjOG26{OOQ(CWG26pG26pOOQQLD,}LD,}O%JOQSOLD,}OOQQLD-PLD-POOQQ!)9Eo!)9EoO#![QSO!)9EoOOQQ!$(!i!$(!iOOQQ!.K;Z!.K;ZO&B{Q$IUOG26{O!)jQUO'#DvO0uQSO'#ETO&DqQbO'#JcO!)jQUO'#DnO&DxQUO'#DzO!)jQUO'#D|O&EPQbO'#CfO&GgQbO'#CfO&GwQUO,5;SO!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO,5;^O!)jQUO'#IfO&IzQSO,5<cO&JSQ,UO,5;^O&KgQ,UO,5;^O!)jQUO,5;rO0xQSO'#DSO0xQSO'#DSO!%tQ,UO'#FxO&JSQ,UO'#FxO!%tQ,UO'#FzO&JSQ,UO'#FzO!%tQ,UO'#GYO&JSQ,UO'#GYO!)jQUO,5:fO!)jQUO,5@_O&GwQUO1G0nO&KnQ$IUO'#CfO!)jQUO1G1zO!%tQ,UO,5=PO&JSQ,UO,5=PO!%tQ,UO,5=RO&JSQ,UO,5=RO!%tQ,UO,5<mO&JSQ,UO,5<mO&GwQUO1G1{O!)jQUO7+&uO!%tQ,UO1G2XO&JSQ,UO1G2XO!%tQ,UO1G2ZO&JSQ,UO1G2ZO&GwQUO7+'gO&GwQUO7+&YO!%tQ,UOANAaO&JSQ,UOANAaO&KxQSO'#EhO&K}QSO'#EhO&LVQSO'#FWO&L[QSO'#ErO&LaQSO'#JsO&LlQSO'#JqO&LwQSO,5;SO&L|Q,UO,5<`O&MTQSO'#GRO&MYQSO'#GRO&M_QSO,5<aO&MgQSO,5;SO&MoQ$IUO1G1ZO&MvQSO,5<mO&M{QSO,5<mO&NQQSO,5<oO&NVQSO,5<oO&N[QSO1G1{O&NaQSO1G0nO&NfQ,UO<<KuO&NmQ,UO<<KuO7^Q,UO'#FvO8tQSO'#FuO@mQSO'#EgO!)jQUO,5;oO!2dQSO'#GRO!2dQSO'#GRO!2dQSO'#GTO!2dQSO'#GTO!'^Q,UO7+(ZO!'^Q,UO7+(ZO$HyQ`O1G2oO$HyQ`O1G2oO!%tQ,UO,5=TO!%tQ,UO,5=T",
|
|
4491
|
+
stateData: "' v~O'mOS'nOSROS'oRQ~OPYOQYOV!TO^pOaxObwOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!csO!hZO!kYO!lYO!mYO!otO!quO!tvO!x]O#p}O$QzO$UfO%`{O%b!OO%d|O%e|O%h!PO%j!QO%m!RO%n!RO%p!SO%|!UO&S!VO&U!WO&W!XO&Y!YO&]!ZO&c![O&i!]O&k!^O&m!_O&o!`O&q!aO'tSO'vTO'yUO(RVO(a[O(niO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO't!bO'vTO'yUO(RVO(a[O(niO~O^!sOl!kO|!lO![!uO!]!rO!^!rO!x9mO!|!mO!}!mO#O!tO#P!mO#Q!mO#T!vO#U!vO'u!iO'vTO'yUO(U!jO(a!pO~O'o!wO~OPYXXYX^YXkYXyYXzYX|YX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX'kYX(RYX(bYX(iYX(jYX~O!a$zX~P(gO[!yO'v!{O'w!yO'x!{O~O[!|O'x!{O'y!{O'z!|O~Oq#OO!O#PO(S#PO(T#RO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO't9rO'vTO'yUO(RVO(a[O(niO~O!U#VO!V#SO!S(XP!S(fP~P+sO!W#_O~P`OPYOQYOa!gOb!fOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$Q!hO$UfO'vTO'yUO(RVO(a[O(niO~Oi#iO!U#eO!x]O#b#hO#c#eO't9sO!g(cP~P._O!h#kO't#jO~O!t#oO!x]O%`#pO~O#d#qO~O!a#rO#d#qO~OP$YOX$aOk#}Oy#vOz#wO|#xO!V$^O!e$PO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O#k$OO#l$PO#m$PO#n$`O#o$PO#q$QO#s$SO#u$UO#v$VO(RVO(b$WO(i#yO(j#zO~O^(VX'k(VX'i(VX!g(VX!S(VX!X(VX%a(VX!a(VX~P1gO#X$bO#{$bOP(WXX(WXk(WXy(WXz(WX|(WX!V(WX!e(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#q(WX#s(WX#u(WX#v(WX(R(WX(b(WX(i(WX(j(WX!X(WX%a(WX~O^(WX!f(WX'k(WX'i(WX!S(WX!g(WXo(WX!a(WX~P3}O#X$bO~O$W$dO$Y$cO$a$iO~O!X$jO$UfO$d$kO$f$mO~Oi%POk$qOl$pOm$pOs%QOu%ROw%SO|$xO!X$yO!c%XO!h$uO#c%YO$Q%VO$m%TO$o%UO$r%WO't$oO'vTO'yUO'}%OO(R$rOd(OP~O!h%ZO~O!a%]O~O^%^O'k%^O~O'u!iO~P%QO't%eO~O!h%ZO't%eO'u!iO'}%OO~Ob%lO!h%ZO't%eO~O#o$PO~Oy%qO!X%nO!h%pO%b%tO't%eO'u!iO'vTO'yUO](vP~O!t#oO~O|%vO!X%wO't%eO~O|%vO!X%wO%j%{O't%eO~O't%|O~O#p}O%b!OO%d|O%e|O%h!PO%j!QO%m!RO%n!RO~Oa&VOb&UO!t&SO%`&TO%r&RO~P;fOa&YObwO!X&XO!tvO!x]O#p}O%`{O%d|O%e|O%h!PO%j!QO%m!RO%n!RO%p!SO~O_&]O#X&`O%b&ZO'u!iO~P<eO!h&aO!q&eO~O!h#kO~O!XXO~O^%^O'j&mO'k%^O~O^%^O'j&pO'k%^O~O^%^O'j&rO'k%^O~O'iYX!SYXoYX!gYX&QYX!XYX%aYX!aYX~P(gO!['PO!]&xO!^&xO'u!iO'vTO'yUO~Ol&vO|&uO!U&yO(U&tO!W(YP!W(hP~P?fOg'SO!X'QO't%eO~Ob'XO!h%ZO't%eO~Oy%qO!h%pO~Ol!kO|!lO!x9mO!|!mO!}!mO#P!mO#Q!mO'u!iO'vTO'yUO(U!jO(a!pO~O!['_O!]'^O!^'^O#O!mO#T'`O#U'`O~PAQO^%^O!a#rO!h%ZO'k%^O'}%OO(b'bO~O!l'fO#X'dO~PB`Ol!kO|!lO'vTO'yUO(U!jO(a!pO~O!XXOl(_X|(_XPO'vTO'yUO(RVO(a[O(n;ZO~Oz)SO!h#uO~O!V$^O^$ka'k$ka'i$ka!g$ka!S$ka!X$ka%a$ka!a$ka~O#p)WO~P!%tOy)ZO!a)YO!X$XX$T$XX$W$XX$Y$XX$a$XX~O!a)YO!X(kX$T(kX$W(kX$Y(kX$a(kX~Oy)ZO~P!-SOy)ZO!X(kX$T(kX$W(kX$Y(kX$a(kX~O!X)]O$T)aO$W)[O$Y)[O$a)bO~O!U)eO~P!)jO$W$dO$Y$cO$a)iO~Og$sXy$sX|$sX!f$sX(i$sX(j$sX~OdfXd$sXgfX!VfX#XfX~P!.xOl)kO~Oq)lO(S)mO(T)oO~Og)xOy)qO|)rO(i)tO(j)vO~Od)pO~P!0ROd)yO~Oi%POk$qOl$pOm$pOs%QOu%ROw:VO|$xO!X$yO!c;aO!h$uO#c:]O$Q%VO$m:XO$o:ZO$r%WO'vTO'yUO'}%OO(R$rO~O!U)}O't)zO!g(oP~P!0pO#d*PO~O!h*QO~O!U*VO't*SO!S(pP~P!0pOk*cO|*ZO![*aO!]*YO!^*YO!h*QO#T*bO%W*]O'u!iO(U!jO~O!W*`O~P!2vO!f#tOg(QXy(QX|(QX(i(QX(j(QX!V(QX#X(QX~Od(QX#y(QX~P!3oOg*fO#X*eOd(PX!V(PX~O!V*gOd(OX~O't%|Od(OP~O!h*nO~O't(gO~Oi*rO|%vO!U#eO!X%wO!x]O#b#hO#c#eO't%eO!g(cP~O!a#rO#d*sO~OP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O#k$OO#l$PO#m$PO#n$`O#o$PO#q$QO#s$SO#u$UO#v$VO(RVO(b$WO(i#yO(j#zO~O^!ba!V!ba'k!ba'i!ba!S!ba!g!bao!ba!X!ba%a!ba!a!ba~P!6UOy#vOz#wO|#xO!f#tO!h#uO(RVOP!naX!nak!na!V!na!e!na!l!na#g!na#h!na#i!na#j!na#k!na#l!na#m!na#n!na#o!na#q!na#s!na#u!na#v!na(b!na(i!na(j!na~O^!na'k!na'i!na!S!na!g!nao!na!X!na%a!na!a!na~P!8oOy#vOz#wO|#xO!f#tO!h#uO(RVOP!paX!pak!pa!V!pa!e!pa!l!pa#g!pa#h!pa#i!pa#j!pa#k!pa#l!pa#m!pa#n!pa#o!pa#q!pa#s!pa#u!pa#v!pa(b!pa(i!pa(j!pa~O^!pa'k!pa'i!pa!S!pa!g!pao!pa!X!pa%a!pa!a!pa~P!;YOg*{O!X'QO%a*zO'}%OO~O!a*}O^'|X!X'|X'k'|X!V'|X~O^%^O!XXO'k%^O~O!h%ZO'}%OO~O!h%ZO't%eO'}%OO~O!a#rO#d(iO~O%b+ZO't+VO'vTO'yUO!W(wP~O!V+[O](vX~O(U(oO~OX+`O~O]+aO~O!X%nO't%eO'u!iO](vP~O|%vO!U+eO!V'}O!X%wO't%eO!S(fP~Ol&|O|+gO!U+fO'vTO'yUO(U(oO~O!W(hP~P!@xO!V+hO^(sX'k(sX~O#X+lO'}%OO~Og+oO!X$yO'}%OO~O!X+qO~Oy+sO!XXO~O!t+xO~Ob+}O~O't#jO!W(uP~Ob%lO~O%b!OO't%|O~P<eOX,TO],SO~OPYOQYOaxObwOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!csO!hZO!kYO!lYO!mYO!otO!quO!tvO!x]O$UfO%`{O'vTO'yUO(RVO(a[O(niO~O!X!cO$Q!hO't!bO~P!C]O],SO^%^O'k%^O~O^,XO#p,ZO%d,ZO%e,ZO~P%QO!h&aO~O&S,`O~O!X,bO~O&e,dO&g,eOP&baQ&baV&ba^&baa&bab&bai&bak&bal&bam&bas&bau&baw&ba|&ba!Q&ba!R&ba!X&ba!c&ba!h&ba!k&ba!l&ba!m&ba!o&ba!q&ba!t&ba!x&ba#p&ba$Q&ba$U&ba%`&ba%b&ba%d&ba%e&ba%h&ba%j&ba%m&ba%n&ba%p&ba%|&ba&S&ba&U&ba&W&ba&Y&ba&]&ba&c&ba&i&ba&k&ba&m&ba&o&ba&q&ba'i&ba't&ba'v&ba'y&ba(R&ba(a&ba(n&ba!W&ba&Z&ba_&ba&`&ba~O't,jO~O!V{X!V!_X!W{X!W!_X!a{X!a!_X!h!_X#X{X'}!_X~O!a,oO#X,nO!V#aX!V(ZX!W#aX!W(ZX!a(ZX!h(ZX'}(ZX~O!a,qO!h%ZO'}%OO!V!ZX!W!ZX~Ol!kO|!lO'vTO'yUO(U!jO~OP9lOQ9lOa;]Ob!fOikOk9lOlkOmkOskOu9lOw9lO|WO!QkO!RkO!X!cO!c9oO!hZO!k9lO!l9lO!m9lO!o9pO!q9qO!t!eO$Q!hO$UfO'vTO'yUO(RVO(a[O(n;ZO~O't:bO~P!LrO!V,uO!W(YX~O!W,wO~O!a,oO#X,nO!V#aX!W#aX~O!V,xO!W(hX~O!W,zO~O!],{O!^,{O'u!iO~P!LaO!W-OO~P'TOg-RO!X'QO~O!S-WO~Ol!wa![!wa!]!wa!^!wa!|!wa!}!wa#O!wa#P!wa#Q!wa#T!wa#U!wa'u!wa'v!wa'y!wa(U!wa(a!wa~P!!pO!l-]O#X-ZO~PB`O!]-_O!^-_O'u!iO~PCOO^%^O#X-ZO'k%^O~O^%^O!a#rO#X-ZO'k%^O~O^%^O!a#rO!l-]O#X-ZO'k%^O(b'bO~O'p'jO'q'jO'r-dO~Oo-eO~O!S&|a!V&|a~P!6UO!U-iO!S&|X!V&|X~P%QO!V'vO!S(Xa~O!S(Xa~PFrO!V'}O!S(fa~O|%vO!U-mO!X%wO't%eO!S'SX!V'SX~O#X-oO!V(da!g(da^(da'k(da~O!a#rO~P#&xO!V(ZO!g(ca~O|%vO!X%wO#c-sO't%eO~Oi-xO|%vO!U-uO!X%wO!x]O#b-wO#c-uO't%eO!V'VX!g'VX~Oz-|O!h#uO~Og.PO!X'QO%a.OO'}%OO~O^#[i!V#[i'k#[i'i#[i!S#[i!g#[io#[i!X#[i%a#[i!a#[i~P!6UOg;gOy)qO|)rO(i)tO(j)vO~O#d#Wa^#Wa#X#Wa'k#Wa!V#Wa!g#Wa!X#Wa!S#Wa~P#)tO#d(QXP(QXX(QX^(QXk(QXz(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX'k(QX(R(QX(b(QX!g(QX!S(QX'i(QXo(QX!X(QX%a(QX!a(QX~P!3oO!V.YOd([X~P!0ROd.[O~O!V.]O!g(]X~P!6UO!g.`O~O!S.bO~OP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(RVOX#fi^#fik#fi!V#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(b#fi(i#fi(j#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O#g#fi~P#-pO#g#{O~P#-pOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O(RVOX#fi^#fi!V#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(b#fi(i#fi(j#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~Ok#fi~P#0bOk#}O~P#0bOP$YOk#}Oy#vOz#wO|#xO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O#k$OO(RVO^#fi!V#fi#q#fi#s#fi#u#fi#v#fi'k#fi(b#fi(i#fi(j#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P#3SOX$aO!e$PO#l$PO#m$PO#n$`O#o$PO~P#3SOP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O#k$OO#l$PO#m$PO#n$`O#o$PO#q$QO(RVO^#fi!V#fi#s#fi#u#fi#v#fi'k#fi(b#fi(j#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(i#fi~P#6TO(i#yO~P#6TOP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O#k$OO#l$PO#m$PO#n$`O#o$PO#q$QO#s$SO(RVO(i#yO^#fi!V#fi#u#fi#v#fi'k#fi(b#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(j#fi~P#8uO(j#zO~P#8uOP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#g#{O#h#|O#i#|O#j#|O#k$OO#l$PO#m$PO#n$`O#o$PO#q$QO#s$SO#u$UO(RVO(i#yO(j#zO~O^#fi!V#fi#v#fi'k#fi(b#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#;gOPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX!VYX!WYX~O#yYX~P#>QOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO#v:PO(RVO(b$WO(i#yO(j#zO~O#y.dO~P#@_O#X:UO#{:UO#y(WX!W(WX~PNlO^'Ya!V'Ya'k'Ya'i'Ya!g'Ya!S'Yao'Ya!X'Ya%a'Ya!a'Ya~P!6UOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'k#fi(R#fi(b#fi'i#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#)tO^#zi!V#zi'k#zi'i#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!6UO$W.iO$Y.iO~O$W.jO$Y.jO~O!a)YO#X.kO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.lO~O!X)]O$T.nO$W)[O$Y)[O$a.oO~O!V:QO!W(VX~P#@_O!W.pO~O!a)YO$a(kX~O$a.rO~Oq)lO(S)mO(T.uO~Ol.xO!S.yO'vTO'yUO~O!VcX!acX!gcX!g$sX(bcX~P!.xO!g/PO~P#)tO!V/QO!a#rO(b'bO!g(oX~O!g/VO~O!U)}O't%eO!g(oP~O#d/XO~O!S$sX!V$sX!a$zX~P!.xO!V/YO!S(pX~P#)tO!a/[O~O!S/^O~Ok/bO!a#rO!h%ZO'}%OO(b'bO~O't/dO~O!a*}O~O^%^O!V/hO'k%^O~O!W/jO~P!2vO!]/kO!^/kO'u!iO(U!jO~O|/mO(U!jO~O#T/nO~O't%|Od'_X!V'_X~O!V*gOd(Oa~Od/sO~Oy/tOz/tO|/uOgva(iva(jva!Vva#Xva~Odva#yva~P#L|Oy)qO|)rOg$la(i$la(j$la!V$la#X$la~Od$la#y$la~P#MrOy)qO|)rOg$na(i$na(j$na!V$na#X$na~Od$na#y$na~P#NeO#d/wO~Od$|a!V$|a#X$|a#y$|a~P!0RO!a#rO~O#d/zO~Oy#vOz#wO|#xO!f#tO!h#uO(RVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(b!ni(i!ni(j!ni~O^!ni'k!ni'i!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$ wOg.PO!X'QO%a.OO~Oi0RO't0QO~P!0sO!a*}O^'|a!X'|a'k'|a!V'|a~O#d0XO~OXYX!VcX!WcX~O!V0YO!W(wX~O!W0[O~OX0]O~O't+VO'vTO'yUO~O!X%nO't%eO]'gX!V'gX~O!V+[O](va~O!g0bO~P!6UOX0eO~O]0fO~O!V+hO^(sa'k(sa~O#X0lO~Og0oO!X$yO~O(U(oO!W(tP~Og0xO!X0uO%a0wO'}%OO~OX1SO!V1QO!W(uX~O!W1TO~O]1VO^%^O'k%^O~O't#jO'vTO'yUO~O#X$bO#{$bOP(WXX(WXk(WXy(WXz(WX|(WX!V(WX!e(WX!h(WX!l(WX#g(WX#h(WX#i(WX#j(WX#k(WX#l(WX#m(WX#n(WX#q(WX#s(WX#u(WX#v(WX(R(WX(b(WX(i(WX(j(WX~O#o1YO&Q1ZO^(WX!f(WX~P$(xO#X$bO#o1YO&Q1ZO~O^1[O~P%QO^1^O~O&Z1bOP&XiQ&XiV&Xi^&Xia&Xib&Xii&Xik&Xil&Xim&Xis&Xiu&Xiw&Xi|&Xi!Q&Xi!R&Xi!X&Xi!c&Xi!h&Xi!k&Xi!l&Xi!m&Xi!o&Xi!q&Xi!t&Xi!x&Xi#p&Xi$Q&Xi$U&Xi%`&Xi%b&Xi%d&Xi%e&Xi%h&Xi%j&Xi%m&Xi%n&Xi%p&Xi%|&Xi&S&Xi&U&Xi&W&Xi&Y&Xi&]&Xi&c&Xi&i&Xi&k&Xi&m&Xi&o&Xi&q&Xi'i&Xi't&Xi'v&Xi'y&Xi(R&Xi(a&Xi(n&Xi!W&Xi_&Xi&`&Xi~O_1hO!W1fO&`1gO~P`O!XXO!h1jO~O&g,eOP&biQ&biV&bi^&bia&bib&bii&bik&bil&bim&bis&biu&biw&bi|&bi!Q&bi!R&bi!X&bi!c&bi!h&bi!k&bi!l&bi!m&bi!o&bi!q&bi!t&bi!x&bi#p&bi$Q&bi$U&bi%`&bi%b&bi%d&bi%e&bi%h&bi%j&bi%m&bi%n&bi%p&bi%|&bi&S&bi&U&bi&W&bi&Y&bi&]&bi&c&bi&i&bi&k&bi&m&bi&o&bi&q&bi'i&bi't&bi'v&bi'y&bi(R&bi(a&bi(n&bi!W&bi&Z&bi_&bi&`&bi~O!S1pO~O!V!Za!W!Za~P#@_Ol!kO|!lO!U1vO(U!jO!V&}X!W&}X~P?fO!V,uO!W(Ya~O!V'TX!W'TX~P!@xO!V,xO!W(ha~O!W1}O~P'TO^%^O#X2WO'k%^O~O^%^O!a#rO#X2WO'k%^O~O^%^O!a#rO!l2[O#X2WO'k%^O(b'bO~O^%^O'k%^O~P!6UO!V$^Oo$ka~O!S&|i!V&|i~P!6UO!V'vO!S(Xi~O!V'}O!S(fi~O!S(gi!V(gi~P!6UO!V(di!g(di^(di'k(di~P!6UO#X2^O!V(di!g(di^(di'k(di~O!V(ZO!g(ci~O|%vO!X%wO!x]O#b2cO#c2bO't%eO~O|%vO!X%wO#c2bO't%eO~Og2jO!X'QO%a2iO~Og2jO!X'QO%a2iO'}%OO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'kva(Rva(bva!gva!Sva'ivaova!Xva%ava!ava~P#L|O#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'k$la(R$la(b$la!g$la!S$la'i$lao$la!X$la%a$la!a$la~P#MrO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'k$na(R$na(b$na!g$na!S$na'i$nao$na!X$na%a$na!a$na~P#NeO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'k$|a(R$|a(b$|a!g$|a!S$|a'i$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#)tO^#[q!V#[q'k#[q'i#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!6UOd'OX!V'OX~P!'^O!V.YOd([a~O!U2rO!V'PX!g'PX~P%QO!V.]O!g(]a~O!V.]O!g(]a~P!6UO!S2uO~O#y!ja!W!ja~PJ`O#y!ba!V!ba!W!ba~P#@_O#y!na!W!na~P!8oO#y!pa!W!pa~P!;YO!X3XO$UfO$_3YO~O!W3^O~Oo3_O~P#)tO^$hq!V$hq'k$hq'i$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!6UO!S3`O~Ol.xO'vTO'yUO~Oy)qO|)rO(j)vOg%Xi(i%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$GeOy)qO|)rOg%Zi(i%Zi(j%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$HWO(b$WO~P#)tO!U3cO't%eO!V'ZX!g'ZX~O!V/QO!g(oa~O!V/QO!a#rO!g(oa~O!V/QO!a#rO(b'bO!g(oa~Od$ui!V$ui#X$ui#y$ui~P!0RO!U3kO't*SO!S']X!V']X~P!0pO!V/YO!S(pa~O!V/YO!S(pa~P#)tO!a#rO#o3sO~Ok3vO!a#rO(b'bO~Od(Pi!V(Pi~P!0RO#X3yOd(Pi!V(Pi~P!0RO!g3|O~O^$iq!V$iq'k$iq'i$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!6UO!V4QO!X(qX~P#)tO!f#tO~P3}O^$sX!X$sX%UYX'k$sX!V$sX~P!.xO%U4SO^hXghXyhX|hX!XhX'khX(ihX(jhX!VhX~O%U4SO~O%b4ZO't+VO'vTO'yUO!V'fX!W'fX~O!V0YO!W(wa~OX4_O~O]4`O~O!S4dO~O^%^O'k%^O~P#)tO!X$yO~P#)tO!V4iO#X4kO!W(tX~O!W4lO~Ol!kO|4mO![!uO!]!rO!^!rO!x9mO!|!mO!}!mO#O!mO#P!mO#Q!mO#T4rO#U!vO'u!iO'vTO'yUO(U!jO(a!pO~O!W4qO~P%!VOg4wO!X0uO%a4vO~Og4wO!X0uO%a4vO'}%OO~O't#jO!V'eX!W'eX~O!V1QO!W(ua~O'vTO'yUO(U5QO~O]5UO~O!g5XO~P%QO^5ZO~O^5ZO~P%QO#o5]O&Q5^O~PMOO_1hO!W5bO&`1gO~P`O!a5dO~O!a5fO!V(Zi!W(Zi!a(Zi!h(Zi'}(Zi~O!V#ai!W#ai~P#@_O#X5gO!V#ai!W#ai~O!V!Zi!W!Zi~P#@_O^%^O#X5pO'k%^O~O^%^O!a#rO#X5pO'k%^O~O!V(dq!g(dq^(dq'k(dq~P!6UO!V(ZO!g(cq~O|%vO!X%wO#c5wO't%eO~O!X'QO%a5zO~Og5}O!X'QO%a5zO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'k%Xi(R%Xi(b%Xi!g%Xi!S%Xi'i%Xio%Xi!X%Xi%a%Xi!a%Xi~P$GeO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'k%Zi(R%Zi(b%Zi!g%Zi!S%Zi'i%Zio%Zi!X%Zi%a%Zi!a%Zi~P$HWO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'k$ui(R$ui(b$ui!g$ui!S$ui'i$ui#X$uio$ui!X$ui%a$ui!a$ui~P#)tOd'Oa!V'Oa~P!0RO!V'Pa!g'Pa~P!6UO!V.]O!g(]i~O#y#[i!V#[i!W#[i~P#@_OP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(RVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~O#g#fi~P%0fO#g9uO~P%0fOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO(RVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~Ok#fi~P%2qOk9wO~P%2qOP$YOk9wOy#vOz#wO|#xO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO(RVO#q#fi#s#fi#u#fi#v#fi#y#fi(b#fi(i#fi(j#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%4|OX:TO!e9yO#l9yO#m9yO#n:SO#o9yO~P%4|OP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO(RVO#s#fi#u#fi#v#fi#y#fi(b#fi(j#fi!V#fi!W#fi~O(i#fi~P%7hO(i#yO~P%7hOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O(RVO(i#yO#u#fi#v#fi#y#fi(b#fi!V#fi!W#fi~O(j#fi~P%9sO(j#zO~P%9sOP$YOX:TOk9wOy#vOz#wO|#xO!e9yO!f#tO!h#uO!l$YO#g9uO#h9vO#i9vO#j9vO#k9xO#l9yO#m9yO#n:SO#o9yO#q9zO#s9|O#u:OO(RVO(i#yO(j#zO~O#v#fi#y#fi(b#fi!V#fi!W#fi~P%<OO^#wy!V#wy'k#wy'i#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!6UOg;hOy)qO|)rO(i)tO(j)vO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(R#fi(b#fi!V#fi!W#fi~P%>vO!f#tOP(QXX(QXg(QXk(QXy(QXz(QX|(QX!e(QX!h(QX!l(QX#g(QX#h(QX#i(QX#j(QX#k(QX#l(QX#m(QX#n(QX#o(QX#q(QX#s(QX#u(QX#v(QX#y(QX(R(QX(b(QX(i(QX(j(QX!V(QX!W(QX~O#y#zi!V#zi!W#zi~P#@_O#y!ni!W!ni~P$ wO!W6ZO~O!V'Ya!W'Ya~P#@_O!a#rO(b'bO!V'Za!g'Za~O!V/QO!g(oi~O!V/QO!a#rO!g(oi~Od$uq!V$uq#X$uq#y$uq~P!0RO!S']a!V']a~P#)tO!a6bO~O!V/YO!S(pi~P#)tO!V/YO!S(pi~O!S6fO~O!a#rO#o6kO~Ok6lO!a#rO(b'bO~O!S6nO~Od$wq!V$wq#X$wq#y$wq~P!0RO^$iy!V$iy'k$iy'i$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!6UO!V4QO!X(qa~O^#[y!V#[y'k#[y'i#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!6UOX6sO~O!V0YO!W(wi~O]6yO~O!a5fO~O(U(oO!V'bX!W'bX~O!V4iO!W(ta~OikO't7QO~P._O!W7TO~P%!VOl!kO|7UO'vTO'yUO(U!jO(a!pO~O!X0uO~O!X0uO%a7WO~Og7ZO!X0uO%a7WO~OX7`O!V'ea!W'ea~O!V1QO!W(ui~O!g7dO~O!g7eO~O!g7fO~O!g7fO~P%QO^7hO~O!a7kO~O!g7lO~O!V(gi!W(gi~P#@_O^%^O#X7tO'k%^O~O!V(dy!g(dy^(dy'k(dy~P!6UO!V(ZO!g(cy~O!X'QO%a7wO~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'k$uq(R$uq(b$uq!g$uq!S$uq'i$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#)tO#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'k$wq(R$wq(b$wq!g$wq!S$wq'i$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#)tO!V'Pi!g'Pi~P!6UO#y#[q!V#[q!W#[q~P#@_Oy/tOz/tO|/uOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Rva(bva(iva(jva!Vva!Wva~Oy)qO|)rOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(R$la(b$la(i$la(j$la!V$la!W$la~Oy)qO|)rOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(R$na(b$na(i$na(j$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(R$|a(b$|a!V$|a!W$|a~P%>vO#y$hq!V$hq!W$hq~P#@_O#y$iq!V$iq!W$iq~P#@_O!W8RO~O#y8SO~P!0RO!a#rO!V'Zi!g'Zi~O!a#rO(b'bO!V'Zi!g'Zi~O!V/QO!g(oq~O!S']i!V']i~P#)tO!V/YO!S(pq~O!S8YO~P#)tO!S8YO~Od(Py!V(Py~P!0RO!V'`a!X'`a~P#)tO^%Tq!X%Tq'k%Tq!V%Tq~P#)tOX8_O~O!V0YO!W(wq~O#X8cO!V'ba!W'ba~O!V4iO!W(ti~P#@_OPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!a%RX#o%RX~P&/vO!X0uO%a8gO~O'vTO'yUO(U8lO~O!V1QO!W(uq~O!g8oO~O!g8oO~P%QO!g8qO~O!g8rO~O#X8tO!V#ay!W#ay~O!V#ay!W#ay~P#@_O!X'QO%a8yO~O#y#wy!V#wy!W#wy~P#@_OP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(R$ui(b$ui!V$ui!W$ui~P%>vOy)qO|)rO(j)vOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(R%Xi(b%Xi(i%Xi!V%Xi!W%Xi~Oy)qO|)rOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(R%Zi(b%Zi(i%Zi(j%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#@_O#y#[y!V#[y!W#[y~P#@_O!a#rO!V'Zq!g'Zq~O!V/QO!g(oy~O!S']q!V']q~P#)tO!S9QO~P#)tO!V0YO!W(wy~O!V4iO!W(tq~O!X0uO%a9XO~O!g9[O~O!X'QO%a9aO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(R$uq(b$uq!V$uq!W$uq~P%>vOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(R$wq(b$wq!V$wq!W$wq~P%>vOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0RO!V'bq!W'bq~P#@_O!V#a!Z!W#a!Z~P#@_O#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'k%]!Z(R%]!Z(b%]!Z!g%]!Z!S%]!Z'i%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#)tOP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(R%]!Z(b%]!Z!V%]!Z!W%]!Z~P%>vOo(VX~P1gO'u!iO~P!)jO!ScX!VcX#XcX~P&/vOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(RYX(bYX(iYX(jYX~O!acX!gYX!gcX(bcX~P&E^OP9lOQ9lOa;]Ob!fOikOk9lOlkOmkOskOu9lOw9lO|WO!QkO!RkO!XXO!c9oO!hZO!k9lO!l9lO!m9lO!o9pO!q9qO!t!eO$Q!hO$UfO't)PO'vTO'yUO(RVO(a[O(n;ZO~O!V:QO!W$ka~Oi%POk$qOl$pOm$pOs%QOu%ROw:WO|$xO!X$yO!c;bO!h$uO#c:^O$Q%VO$m:YO$o:[O$r%WO't(gO'vTO'yUO'}%OO(R$rO~O#p)WO~P&JSO!WYX!WcX~P&E^O#d9tO~O!a#rO#d9tO~O#X:UO~O#o9yO~O#X:`O!V(gX!W(gX~O#X:UO!V(eX!W(eX~O#d:aO~Od:cO~P!0RO#d:hO~O#d:iO~O!a#rO#d:jO~O!a#rO#d:aO~O#y:kO~P#@_O#d:lO~O#d:mO~O#d:nO~O#d:oO~O#d:pO~O#d:qO~O#y:rO~P!0RO#y:sO~P!0RO$U~!f!|!}#P#Q#T#b#c#n(n$m$o$r%U%`%a%b%h%j%m%n%p%r~'oR$U(n#h!R'm'u#il#g#jky'n(U'n't$W$Y$W~",
|
|
4492
|
+
goto: "$%Z({PPPP(|P)PP)aP*p.rPPPP5SPP5iP;d>iP>|P>|PPP>|P@lP>|P>|P>|P@pPP@uPA`PFUPPPFYPPPPFYIXPPPI_JYPFYPLgPPPPNuFYPPPFYPFYP!#TFYP!&g!'i!'rP!(e!(i!(ePPPPP!+r!'iPP!,`!-YP!/|FYFY!0R!3Z!7n!7n!;cPPP!;jFYPPPPPPPPPPP!>uP!@WPPFY!AePFYPFYFYFYFYPFY!BwPP!E}P!IPP!IT!I_!Ic!IcP!EzP!Ig!IgP!LiP!LmFYFY!Ls# t>|P>|P>|>|P##O>|>|#$x>|#'V>|#(y>|>|#)g#+c#+c#+g#+o#+c#+wP#+cP>|#,a>|#-i>|>|5SPPP#.tPP#/^#/^P#/^P#/s#/^PP#/yP#/pP#/p#0]#/p#0w#0}5P)P#1Q)PP#1X#1X#1XP)PP)PP)PP)PPP)PP#1_#1bP#1b)PP#1fP#1iP)PP)PP)PP)PP)PP)P)PPP#1o#1u#2P#2V#2]#2c#2i#2w#2}#3T#3_#3e#3o#4O#4U#4u#5X#5_#5e#5s#6Y#7j#7x#8O#8U#8[#8b#8l#8r#8x#9S#9f#9lPPPPPPPPPP#9rPPPPPPP#:f#=mP#>|#?T#?]PPPP#Cg#F]#Lr#Lu#Lx#Mq#Mt#Mw#NO#NWPP#N^#Nb$ Z$!Z$!_$!sPP$!w$!}$#RP$#U$#Y$#]$$R$$i$$n$$q$$t$$z$$}$%R$%VR!xRmpOXr!X#`%]&d&f&g&i,],b1b1eY!rQ'Q,}0u4pQ%ctQ%kwQ%rzQ&[!TS&x!c,uQ'W!fS'^!o!uS*Y$y*_Q+T%lQ+b%tQ+|&UQ,{'PQ-V'XQ-_'_Q/k*aQ1P+}R:_9p$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7tS#m]9m!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q*j%SQ+Y%nQ,O&XQ,V&aQ.S:VQ0O*{Q0S*}Q0_+ZQ1X,TQ2f.PQ4Y0YQ5O1QQ5|2jQ6S:WQ6u4ZR7z5}&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^t!kQ!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4r$Y$pi#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ%uzQ&v!cS&|%w,xQ+Y%nS.x)r.zQ/v*nQ0_+ZQ0d+aQ1W,SQ1X,TQ4Y0YQ4c0fQ5R1SQ5S1VQ6u4ZQ6x4`Q7c5UQ8b6yR8m7`pmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR,Q&]&r^OPXYrstux!X!^!g!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u'S'd'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;];^[#XWZ#S#V&y'tQ%fvQ%jwS%oz%t!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ&Q!RQ'T!eQ'V!fQ(b#oS)|$u*QS+S%k%lQ+W%nQ+w&SQ+{&US-U'W'XQ.R(cQ/U)}Q0W+TQ0^+ZQ0`+[Q0c+`Q0z+xS1O+|+}Q2S-VQ3b/QQ4X0YQ4]0]Q4b0eQ4}1PQ6_3cQ6t4ZQ6w4_Q8^6sR9S8_v$wi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!S%hw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uQ*|%fQ+m%}Q+p&OQ+z&UQ.Q(bQ0y+wU0}+{+|+}Q2k.RQ4x0zS4|1O1PQ7_4}!z;_#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg;`:S:T:Y:[:^:e:g:i:m:o:sW$|i%O*g;ZS%}!O&ZQ&O!PQ&P!QR+k%{$Z${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hT)m$r)nV*k%S:V:WU&|!c%w,xS(p#v#wQ+_%qS-z(^(_Q0p+qQ3z/tR6}4i&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^$i$]c#U#a%a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.e.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QT#PV#Q&ykOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q&z!cR1w,uv!kQ!c!o!r!u!v&x'P'Q'^'_'`,u,{,}-_0u4p4rS*X$y*_S/c*Y*aQ/l*bQ0r+sQ3u/kR3x/nlpOXr!X#`%]&d&f&g&i,],b1b1eQ&k![Q'h!tS(d#q9tQ+Q%iQ+u&QQ+v&RQ-S'UQ-a'aS.W(i:aS/y*s:jQ0U+RQ0t+tQ1i,dQ1k,eQ1s,pQ2Q-TQ2T-XS4P/z:pQ4T0VS4W0X:qQ5h1uQ5l2RQ5q2YQ6r4UQ7o5jQ7p5mQ7s5rR8s7l$d$[c#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(a#l'ZU*d$z(h3US*w%a.eQ2g0OQ5y2fQ7y5|R8z7z$d$Zc#U#a%b%d's'y(e(l(t(u(v(w(x(y(z({(|(})O)Q)T)X)c*x+^,s-b-g-l-n.X._.c.f.g.v/x1q1t2U2]2q2v2w2x2y2z2{2|2}3O3P3Q3R3S3V3W3]4O4V5i5o5t6Q6R6W6X7P7n7r7{8P8Q8v9U9]9n;QS(`#l'ZS(r#w$[S*v%a.eS-{(_(aQ.h)SQ/{*wR2d-|&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S#m]9mQ&f!VQ&g!WQ&i!YQ&j!ZR1a,`Q'R!eQ*y%fQ-Q'TS-}(b*|Q2O-PW2h.Q.R/}0PQ5k2PU5x2e2g2kS7v5y5{S8x7x7yS9_8w8zQ9g9`R9j9hU!sQ'Q,}T4n0u4p!O_OXZ`r!T!X#`#d%Z%]&Z&]&d&f&g&i(Z,],b-t1b1e]!mQ!o'Q,}0u4pT#m]9m%UyOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS(p#v#wS-z(^(_!s:w$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Y!qQ'Q,}0u4pQ']!oS'g!r!uS'i!v4rS-^'^'_Q-`'`R2Z-_Q'f!qS(V#c1_S-]']'iQ/T)|Q/a*XQ2[-`Q3g/US3p/b/lQ6^3bS6i3v3xQ8U6_R8]6lQ#sbQ'e!qS(U#c1_S(W#i*rQ*t%[Q+O%gQ+U%mU-[']'f'iQ-p(VQ/S)|Q/`*XQ/f*[Q0T+PQ0{+yS2X-]-`Q2a-xS3f/T/US3o/a/lQ3r/eQ3t/gQ4z0|Q5s2[Q6]3bQ6a3gS6e3p3xQ6j3wQ7]4{S8T6^6_Q8X6fQ8Z6iQ8j7^Q9O8UQ9P8YQ9R8]Q9Z8kQ9c9QQ:z:uQ;V;OR;W;PV!sQ'Q,}%UaOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tS#sx!g!r:t$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:z;]%UbOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tQ%[j!S%gw!f!q%j%k%l&w'V'W'X']'g*X+S+T,r-U-V-^/c0W1{2S2Z3uS%mx!gQ+P%hQ+y&UW0|+z+{+|+}U4{0}1O1PS7^4|4}Q8k7_!r:u$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q;O;[R;P;]$xeOPXYrstu!X!^!l#O#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7tY#^WZ#S#V't!U%x|}#d#e#h%Z%v'}(X(Y(Z+e+f+h,Z,o-m-s-t-u-w1j2b2c5f5wQ,W&a!p:v$X$j)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^R:y&yS&}!c%wR1y,x$zdOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s+g,X,],b-R-Z-i-o.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2r4m4w5Z5]5^5p7U7Z7h7t!r)R$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^Q,V&aQ0O*{Q2f.PQ5|2jR7z5}!f$Rc#U%a's'y(e(l({(|(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!T9{)Q)c,s.e1q1t2v3O3P3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!b$Tc#U%a's'y(e(l(})O)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9n!P9})Q)c,s.e1q1t2v3Q3R3V3]5i6R6W6X7P7n7{8P8Q9U9];Q!^$Xc#U%a's'y(e(l)T)X+^-b-g-l-n.X._.v/x2U2]2q3S4O4V5o5t6Q7r8v9nQ3a/Oz;^)Q)c,s.e1q1t2v3V3]5i6R6W6X7P7n7{8P8Q9U9];QQ;c;eR;d;f&xkOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^S$kh$lR3Y.k'PgOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$gf$mQ$efS)[$h)`R)h$mT$ff$mT)^$h)`'PhOPWXYZhrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'd't'v'|(T(i(m(q)e)p*s*{+g,X,],b,n,q-R-Z-i-o.P.].d.k.l/u/z0X0x1Y1Z1[1^1b1e1g1v2W2^2j2r3X4k4m4w5Z5]5^5g5p5}7U7Z7h7t8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^T$kh$lQ$nhR)g$l%UjOPWXYZrstu!X!^!l#O#S#V#`#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'd't'v'|(T(i(m(q)p*s*{+g,X,],b-R-Z-i-o.P.].d/u/z0X0x1Y1Z1[1^1b1e1g2W2^2j2r4m4w5Z5]5^5p5}7U7Z7h7t!s;[$X$j&y)e,n,q.l1v3X4k5g8c8t9l9o9p9q9t9u9v9w9x9y9z9{9|9}:O:P:Q:U:_:`:a:c:j:k:p:q;^#alOPXZr!X!^!l#O#`#k#x$j%]&]&`&a&d&f&g&i&m&u'S(q)e*{+g,X,],b-R.P.l/u0x1Y1Z1[1^1b1e1g2j3X4m4w5Z5]5^5}7U7Z7hv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hQ*o%WQ.w)qg3U:S:T:Y:[:^:e:g:i:m:o:sv$vi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;dQ*R$wS*[$y*_Q*p%XQ/g*]!z:|#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hf:}:S:T:Y:[:^:e:g:i:m:o:sQ;R;_Q;S;`Q;T;aR;U;bv$zi#t%T%U%Y)u)w*P*e*f.Y/X/w3a3y8S;Z;c;d!z(h#r$`$a$u$x)l)x*V*z*}+l+o.O/Y/[0l0o0w2i3k3s4Q4S4v5z6b6k7W7w8g8y9X9a:X:Z:]:d:f:h:l:n:r;g;hg3U:S:T:Y:[:^:e:g:i:m:o:slnOXr!X#`%]&d&f&g&i,],b1b1eQ*U$xQ,k&pQ,l&rR3j/Y$Y${i#r#t$`$a$u$x%T%U%Y)l)u)w)x*P*V*e*f*z*}+l+o.O.Y/X/Y/[/w0l0o0w2i3a3k3s3y4Q4S4v5z6b6k7W7w8S8g8y9X9a:S:T:X:Y:Z:[:]:^:d:e:f:g:h:i:l:m:n:o:r:s;Z;c;d;g;hQ+n&OQ0n+pQ4g0mR6|4hT*^$y*_S*^$y*_T4o0u4pS/e*Z4mT3w/m7UQ+O%gQ/f*[Q0T+PQ0{+yQ4z0|Q7]4{Q8j7^R9Z8kn)u$s(j*q/W/o/p2o3h3}6[6m8}:{;X;Y!W:d(f)V){*T.V.s/O/]/|0k0m2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f]:e3T6V7|8{8|9kp)w$s(j*q.|/W/o/p2o3h3}6[6m8}:{;X;Y!Y:f(f)V){*T.V.s/O/]/|0k0m2l2n3i3m4f4h6O6P6c6g6o6q8W8[9b;e;f_:g3T6V7|7}8{8|9kpmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ&W!SR,X&apmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eR&W!SQ+r&PR0j+kqmOXr!T!X#`%]&Z&d&f&g&i,],b1b1eQ0v+wS4u0y0zU7V4s4t4xS8f7X7YS9V8e8hQ9d9WR9i9eQ&_!TR,R&ZR5R1SS%oz%tR0`+[Q&d!UR,]&eR,c&jT1c,b1eR,g&kQ,f&kR1l,gQ'k!wR-c'kQrOQ#`XT%`r#`Q!zTR'm!zQ!}UR'o!}Q)n$rR.t)nQ#QVR'q#QQ#TWU'w#T'x-jQ'x#UR-j'yQ,v&zR1x,vQ.Z(jR2p.ZQ.^(lS2s.^2tR2t._Q,}'QR1|,}Y!oQ'Q,}0u4pR'[!oS#ZW%vU(O#Z(P-kQ(P#[R-k'zQ,y&}R1z,yr`OXr!T!X#`%]&Z&]&d&f&g&i,],b1b1eS#dZ%ZU#n`#d-tR-t(ZQ([#fQ-q(WW-y([-q2_5uQ2_-rR5u2`Q)`$hR.m)`Q$lhR)f$lQ$_cU)U$_-f:RQ-f9nR:R)cQ/R)|W3d/R3e6`8VU3e/S/T/US6`3f3gR8V6a#m)s$s(f(j)V){*T*l*m*q.T.U.V.s.|.}/O/W/]/o/p/|0k0m2l2m2n2o3T3h3i3m3}4f4h6O6P6T6U6V6[6c6g6m6o6q7|7}8O8W8[8{8|8}9b9k:{;X;Y;e;fQ/Z*TU3l/Z3n6dQ3n/]R6d3mQ*_$yR/i*_Q*h$}R/r*hQ4R/|R6p4RQ+i%yR0i+iQ4j0pS7O4j8dR8d7PQ+t&QR0s+tQ4p0uR7S4pQ1R,OS5P1R7aR7a5RQ0Z+WW4[0Z4^6v8`Q4^0^Q6v4]R8`6wQ+]%oR0a+]Q1e,bR5a1eWqOXr#`Q&h!XQ*u%]Q,[&dQ,^&fQ,_&gQ,a&iQ1`,]S1c,b1eR5`1bQ%_oQ&l!]Q&o!_Q&q!`Q&s!aQ'c!qQ+Q%iQ+d%uQ+j%zQ,Q&_Q,i&nW-Y']'e'f'iQ-a'aQ/h*^Q0U+RS1U,R,UQ1m,hQ1n,kQ1o,lQ2T-XW2V-[-]-`-bQ4T0VQ4a0dQ4e0kQ4y0{Q5T1WQ5_1aU5n2U2X2[Q5q2YQ6r4UQ6z4cQ6{4fQ7R4oQ7[4zQ7b5SS7q5o5sQ7s5rQ8a6xQ8i7]Q8n7cQ8u7rQ9T8bQ9Y8jQ9^8vR9f9ZQ%iwQ'U!fQ'a!qU+R%j%k%lQ,p&wU-T'V'W'XS-X']'gQ/_*XS0V+S+TQ1u,rS2R-U-VQ2Y-^Q3q/cQ4U0WQ5j1{Q5m2SQ5r2ZR6h3uS$ti;ZR*i%OU$}i%O;ZR/q*gQ$siS(f#r*}Q(j#tS)V$`$aQ){$uQ*T$xQ*l%TQ*m%UQ*q%YQ.T:XQ.U:ZQ.V:]Q.s)lQ.|)uQ.})wQ/O)xQ/W*PQ/]*VQ/o*eQ/p*fh/|*z.O0w2i4v5z7W7w8g8y9X9aQ0k+lQ0m+oQ2l:dQ2m:fQ2n:hQ2o.YS3T:S:TQ3h/XQ3i/YQ3m/[Q3}/wQ4f0lQ4h0oQ6O:lQ6P:nQ6T:YQ6U:[Q6V:^Q6[3aQ6c3kQ6g3sQ6m3yQ6o4QQ6q4SQ7|:iQ7}:eQ8O:gQ8W6bQ8[6kQ8{:mQ8|:oQ8}8SQ9b:rQ9k:sQ:{;ZQ;X;cQ;Y;dQ;e;gR;f;hloOXr!X#`%]&d&f&g&i,],b1b1eQ!dPS#bZ#kQ&n!^U'Y!l4m7UQ'p#OQ(s#xQ)d$jS,U&]&`Q,Y&aQ,h&mQ,m&uQ-P'SQ.a(qQ.q)eQ0P*{Q0g+gQ1],XQ2P-RQ2g.PQ3[.lQ3{/uQ4t0xQ5V1YQ5W1ZQ5Y1[Q5[1^Q5c1gQ5y2jQ6Y3XQ7Y4wQ7g5ZQ7i5]Q7j5^Q7y5}Q8h7ZR8p7h#UcOPXZr!X!^!l#`#k#x%]&]&`&a&d&f&g&i&m&u'S(q*{+g,X,],b-R.P/u0x1Y1Z1[1^1b1e1g2j4m4w5Z5]5^5}7U7Z7hQ#UWQ#aYQ%asQ%btQ%duS's#S'vQ'y#VQ(e#qQ(l#uQ(t#{Q(u#|Q(v#}Q(w$OQ(x$PQ(y$QQ(z$RQ({$SQ(|$TQ(}$UQ)O$VQ)Q$XQ)T$^Q)X$bW)c$j)e.l3XQ*x%cQ+^%pS,s&y1vQ-b'dS-g't-iQ-l'|Q-n(TQ.X(iQ._(mQ.c9lQ.e9oQ.f9pQ.g9qQ.v)pQ/x*sQ1q,nQ1t,qQ2U-ZQ2]-oQ2q.]Q2v9tQ2w9uQ2x9vQ2y9wQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S.dQ3V:UQ3W:_Q3]:QQ4O/zQ4V0XQ5i:`Q5o2WQ5t2^Q6Q2rQ6R:aQ6W:cQ6X:jQ7P4kQ7n5gQ7r5pQ7{:kQ8P:pQ8Q:qQ8v7tQ9U8cQ9]8tQ9n#OR;Q;^R#WWR&{!cY!qQ'Q,}0u4pS&w!c,uQ']!oS'g!r!uS'i!v4rS,r&x'PS-^'^'_Q-`'`Q1{,{R2Z-_R(k#tR(n#uQ!dQT,|'Q,}]!nQ!o'Q,}0u4pQ#l]R'Z9mT#gZ%ZS#fZ%ZU%y|},ZU(W#d#e#hS-r(X(YQ-v(ZQ0h+hQ2`-sU2a-t-u-wS5v2b2cR7u5w`#YW#S#V%v't'}+e-mt#cZ|}#d#e#h%Z(X(Y(Z+h-s-t-u-w2b2c5wQ1_,ZQ1r,oQ5e1jQ7m5fT:x&y+fT#]W%vS#[W%vS'u#S'}S'z#V+eS,t&y+fT-h't-mT'O!c%wQ$hfR)j$mT)_$h)`R3Z.kT*O$u*QR*W$xQ/}*zQ2e.OQ4s0wQ5{2iQ7X4vQ7x5zQ8e7WQ8w7wQ9W8gQ9`8yQ9e9XR9h9alpOXr!X#`%]&d&f&g&i,],b1b1eQ&^!TR,Q&ZV%z|},ZR0q+qR,P&XQ%szR+c%tR+X%nT&b!U&eT&c!U&eT1d,b1e",
|
|
4493
|
+
nodeNames: "⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",
|
|
4494
|
+
maxTerm: 364,
|
|
4355
4495
|
context: trackNewline,
|
|
4356
|
-
nodeProps: [["group", -26, 6, 14, 16, 62, 199, 203, 206, 207, 209, 212, 215,
|
|
4496
|
+
nodeProps: [["group", -26, 6, 14, 16, 62, 199, 203, 206, 207, 209, 212, 215, 225, 227, 233, 235, 237, 239, 242, 248, 254, 256, 258, 260, 262, 264, 265, "Statement", -32, 10, 11, 25, 28, 29, 35, 45, 48, 49, 51, 56, 64, 72, 76, 78, 80, 81, 103, 104, 113, 114, 131, 134, 136, 137, 138, 139, 141, 142, 162, 163, 165, "Expression", -23, 24, 26, 30, 34, 36, 38, 166, 168, 170, 171, 173, 174, 175, 177, 178, 179, 181, 182, 183, 193, 195, 197, 198, "Type", -3, 84, 96, 102, "ClassItem"], ["openedBy", 31, "InterpolationStart", 50, "[", 54, "{", 69, "(", 143, "JSXStartTag", 155, "JSXStartTag JSXStartCloseTag"], ["closedBy", 33, "InterpolationEnd", 44, "]", 55, "}", 70, ")", 144, "JSXSelfCloseEndTag JSXEndTag", 160, "JSXEndTag"]],
|
|
4357
4497
|
propSources: [jsHighlight],
|
|
4358
|
-
skippedNodes: [0, 3, 4,
|
|
4359
|
-
repeatNodeCount:
|
|
4360
|
-
tokenData: "$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$<s$I}$JO$<s$JO$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'wpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'wpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'wp'z!b'm(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'x#S$d&j'n(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'wp'z!b'n(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'v$(n$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|<[i$d&j(`!L^'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!Q%Z!Q![<P![!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|=|P;=`<%l<P(CS>`k$d&j'wp'z!b(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'wp'z!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'wp'z!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(i%<v$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sv%ZvwFYwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SFe`$d&j#u$Id'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2bGp_'y$)`$d&j'wpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo*QHv_$d&j'wpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo)`IzX$d&jOwIuwx6cx!^Iu!^!_Jg!_#oIu#o#pJg#p;'SIu;'S;=`KP<%lOIu#tJjTOwJgwx7]x;'SJg;'S;=`Jy<%lOJg#tJ|P;=`<%lJg)`KSP;=`<%lIu*QK`]$_#t$d&j'wpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$fL^Z'wpOYLXYZJgZrLXrsJgswLXwxMPx#OLX#O#PJg#P;'SLX;'S;=`Mj<%lOLX$fMWU$_#t'wpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$fMmP;=`<%lLX*QMsP;=`<%lHo(*QNR_!h(!b$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l! ]_!gM|$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!!ib$d&j'wp'z!b'u#)d#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!#q{!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!#|`$d&j'wp'z!b#g$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!%Z`$d&j'wp'z!bk&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!&h_!V&;l$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!'rc$d&j'wp'z!by'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!(}!P!Q%Z!Q![!+g![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!)Wa$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!*]!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!*h_!UMt$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!+rg$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!+g![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S!+g#S#X%Z#X#Y!-Z#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!-dg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!.{|}%Z}!O!.{!O!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!/Uc$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!0lc$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!2Sf$d&j'wp'z!b#h$IdOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}xz!3hz{#$s{!P!3h!P!Q#&Y!Q!^!3h!^!_!Mh!_!`#-x!`!a#/_!a!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(r!3sb$d&j'wp'z!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(Q!5U`$d&j'z!b!RSOY!4{YZ&cZw!4{wx!6Wx!P!4{!P!Q!=o!Q!^!4{!^!_!?g!_!}!4{!}#O!Bn#O#P!<w#P#o!4{#o#p!?g#p;'S!4{;'S;=`!Cw<%lO!4{&n!6_^$d&j!RSOY!6WYZ&cZ!P!6W!P!Q!7Z!Q!^!6W!^!_!8g!_!}!6W!}#O!;U#O#P!<w#P#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!7ba$d&j!RSO!^&c!_#Z&c#Z#[!7Z#[#]&c#]#^!7Z#^#a&c#a#b!7Z#b#g&c#g#h!7Z#h#i&c#i#j!7Z#j#m&c#m#n!7Z#n#o&c#p;'S&c;'S;=`&w<%lO&cS!8lX!RSOY!8gZ!P!8g!P!Q!9X!Q!}!8g!}#O!9p#O#P!:o#P;'S!8g;'S;=`!;O<%lO!8gS!9^U!RS#Z#[!9X#]#^!9X#a#b!9X#g#h!9X#i#j!9X#m#n!9XS!9sVOY!9pZ#O!9p#O#P!:Y#P#Q!8g#Q;'S!9p;'S;=`!:i<%lO!9pS!:]SOY!9pZ;'S!9p;'S;=`!:i<%lO!9pS!:lP;=`<%l!9pS!:rSOY!8gZ;'S!8g;'S;=`!;O<%lO!8gS!;RP;=`<%l!8g&n!;Z[$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#O!;U#O#P!<P#P#Q!6W#Q#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<UX$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<tP;=`<%l!;U&n!<|X$d&jOY!6WYZ&cZ!^!6W!^!_!8g!_#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!=lP;=`<%l!6W(Q!=xi$d&j'z!b!RSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!=o#[#]&}#]#^!=o#^#a&}#a#b!=o#b#g&}#g#h!=o#h#i&}#i#j!=o#j#m&}#m#n!=o#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!?nZ'z!b!RSOY!?gZw!?gwx!8gx!P!?g!P!Q!@a!Q!}!?g!}#O!Ap#O#P!:o#P;'S!?g;'S;=`!Bh<%lO!?g!f!@hb'z!b!RSOY'}Zw'}x#O'}#P#Z'}#Z#[!@a#[#]'}#]#^!@a#^#a'}#a#b!@a#b#g'}#g#h!@a#h#i'}#i#j!@a#j#m'}#m#n!@a#n;'S'};'S;=`(f<%lO'}!f!AuX'z!bOY!ApZw!Apwx!9px#O!Ap#O#P!:Y#P#Q!?g#Q;'S!Ap;'S;=`!Bb<%lO!Ap!f!BeP;=`<%l!Ap!f!BkP;=`<%l!?g(Q!Bu^$d&j'z!bOY!BnYZ&cZw!Bnwx!;Ux!^!Bn!^!_!Ap!_#O!Bn#O#P!<P#P#Q!4{#Q#o!Bn#o#p!Ap#p;'S!Bn;'S;=`!Cq<%lO!Bn(Q!CtP;=`<%l!Bn(Q!CzP;=`<%l!4{'`!DW`$d&j'wp!RSOY!C}YZ&cZr!C}rs!6Ws!P!C}!P!Q!EY!Q!^!C}!^!_!GQ!_!}!C}!}#O!JX#O#P!<w#P#o!C}#o#p!GQ#p;'S!C};'S;=`!Kb<%lO!C}'`!Eci$d&j'wp!RSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!EY#[#](r#]#^!EY#^#a(r#a#b!EY#b#g(r#g#h!EY#h#i(r#i#j!EY#j#m(r#m#n!EY#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!GXZ'wp!RSOY!GQZr!GQrs!8gs!P!GQ!P!Q!Gz!Q!}!GQ!}#O!IZ#O#P!:o#P;'S!GQ;'S;=`!JR<%lO!GQt!HRb'wp!RSOY)rZr)rs#O)r#P#Z)r#Z#[!Gz#[#])r#]#^!Gz#^#a)r#a#b!Gz#b#g)r#g#h!Gz#h#i)r#i#j!Gz#j#m)r#m#n!Gz#n;'S)r;'S;=`*Z<%lO)rt!I`X'wpOY!IZZr!IZrs!9ps#O!IZ#O#P!:Y#P#Q!GQ#Q;'S!IZ;'S;=`!I{<%lO!IZt!JOP;=`<%l!IZt!JUP;=`<%l!GQ'`!J`^$d&j'wpOY!JXYZ&cZr!JXrs!;Us!^!JX!^!_!IZ!_#O!JX#O#P!<P#P#Q!C}#Q#o!JX#o#p!IZ#p;'S!JX;'S;=`!K[<%lO!JX'`!K_P;=`<%l!JX'`!KeP;=`<%l!C}(r!Ksk$d&j'wp'z!b!RSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[!Kh#[#]%Z#]#^!Kh#^#a%Z#a#b!Kh#b#g%Z#g#h!Kh#h#i%Z#i#j!Kh#j#m%Z#m#n!Kh#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W!Mq]'wp'z!b!RSOY!MhZr!Mhrs!?gsw!Mhwx!GQx!P!Mh!P!Q!Nj!Q!}!Mh!}#O#!U#O#P!:o#P;'S!Mh;'S;=`##U<%lO!Mh#W!Nse'wp'z!b!RSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[!Nj#[#]*g#]#^!Nj#^#a*g#a#b!Nj#b#g*g#g#h!Nj#h#i*g#i#j!Nj#j#m*g#m#n!Nj#n;'S*g;'S;=`+Z<%lO*g#W#!]Z'wp'z!bOY#!UZr#!Urs!Apsw#!Uwx!IZx#O#!U#O#P!:Y#P#Q!Mh#Q;'S#!U;'S;=`##O<%lO#!U#W##RP;=`<%l#!U#W##XP;=`<%l!Mh(r##e`$d&j'wp'z!bOY##[YZ&cZr##[rs!Bnsw##[wx!JXx!^##[!^!_#!U!_#O##[#O#P!<P#P#Q!3h#Q#o##[#o#p#!U#p;'S##[;'S;=`#$g<%lO##[(r#$jP;=`<%l##[(r#$pP;=`<%l!3h(CS#%Qb$d&j'wp'z!b'o(;d!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(CS#&e_$d&j'wp'z!bR(;dOY#&YYZ&cZr#&Yrs#'dsw#&Ywx#*tx!^#&Y!^!_#,s!_#O#&Y#O#P#(f#P#o#&Y#o#p#,s#p;'S#&Y;'S;=`#-r<%lO#&Y(Bb#'m]$d&j'z!bR(;dOY#'dYZ&cZw#'dwx#(fx!^#'d!^!_#)w!_#O#'d#O#P#(f#P#o#'d#o#p#)w#p;'S#'d;'S;=`#*n<%lO#'d(AO#(mX$d&jR(;dOY#(fYZ&cZ!^#(f!^!_#)Y!_#o#(f#o#p#)Y#p;'S#(f;'S;=`#)q<%lO#(f(;d#)_SR(;dOY#)YZ;'S#)Y;'S;=`#)k<%lO#)Y(;d#)nP;=`<%l#)Y(AO#)tP;=`<%l#(f(<v#*OW'z!bR(;dOY#)wZw#)wwx#)Yx#O#)w#O#P#)Y#P;'S#)w;'S;=`#*h<%lO#)w(<v#*kP;=`<%l#)w(Bb#*qP;=`<%l#'d(Ap#*}]$d&j'wpR(;dOY#*tYZ&cZr#*trs#(fs!^#*t!^!_#+v!_#O#*t#O#P#(f#P#o#*t#o#p#+v#p;'S#*t;'S;=`#,m<%lO#*t(<U#+}W'wpR(;dOY#+vZr#+vrs#)Ys#O#+v#O#P#)Y#P;'S#+v;'S;=`#,g<%lO#+v(<U#,jP;=`<%l#+v(Ap#,pP;=`<%l#*t(=h#,|Y'wp'z!bR(;dOY#,sZr#,srs#)wsw#,swx#+vx#O#,s#O#P#)Y#P;'S#,s;'S;=`#-l<%lO#,s(=h#-oP;=`<%l#,s(CS#-uP;=`<%l#&Y%#W#.Vb$d&j#{$Id'wp'z!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h+h#/lb$T#t$d&j'wp'z!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h$/l#1Pp$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#U%Z#U#V#6_#V#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#d#9g#d#l%Z#l#m#<i#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#3`k$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#5`_$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#6hd$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#8Rf$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#9pc$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;We$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#<rg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%<f'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Al_^l$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Bz^'}!*v!e'.r'wp'z!b$U)d(mSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Cv!Q!^*g!^!_#Dl!_!`#F^!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#DPX$f&j'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#DuZ#k$Id'wp'z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Eh!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#EqX#{$Id'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#FgX#l$Id'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh#G_a#X%?x$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a#Hd!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W#Ho_#d$Ih$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#I}adBf#l$Id$a#|$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`#KS!`!a#L^!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#K__#l$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#Lia#k$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`!a#Mn!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#My`#k$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$ Wc(a$Ip$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$!c!P!^%Z!^!_*g!_!a%Z!a!b$#m!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$!n_z'#p$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$#x`$d&j#v$Id'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$%V_!x!Ln$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$&a_|(8n$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$'eZ$d&jO!^$(W!^!_$(n!_#i$(W#i#j$(s#j#l$(W#l#m$*f#m#o$(W#o#p$(n#p;'S$(W;'S;=`$,q<%lO$(W(n$(_T[#S$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$(sO[#S(n$(x[$d&jO!Q&c!Q![$)n![!^&c!_!c&c!c!i$)n!i#T&c#T#Z$)n#Z#o&c#o#p$,U#p;'S&c;'S;=`&w<%lO&c(n$)sZ$d&jO!Q&c!Q![$*f![!^&c!_!c&c!c!i$*f!i#T&c#T#Z$*f#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$*kZ$d&jO!Q&c!Q![$+^![!^&c!_!c&c!c!i$+^!i#T&c#T#Z$+^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$+cZ$d&jO!Q&c!Q![$(W![!^&c!_!c&c!c!i$(W!i#T&c#T#Z$(W#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$,XR!Q![$,b!c!i$,b#T#Z$,b#S$,eS!Q![$,b!c!i$,b#T#Z$,b#q#r$(n(n$,tP;=`<%l$(W!'l$-S_!SM|$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$.^`#s$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$/k_$d&j'wp'z!b(R&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$0yk$d&j'wp'z!b(U!LY't&;d$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$0juw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$0j![!^%Z!^!_*g!_!c%Z!c!}$0j!}#O%Z#O#P&c#P#R%Z#R#S$0j#S#T%Z#T#o$0j#o#p*g#p$g%Z$g;'S$0j;'S;=`$4t<%lO$0j+d$2yk$d&j'wp'z!b$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$2nuw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$2n![!^%Z!^!_*g!_!c%Z!c!}$2n!}#O%Z#O#P&c#P#R%Z#R#S$2n#S#T%Z#T#o$2n#o#p*g#p$g%Z$g;'S$2n;'S;=`$4n<%lO$2n+d$4qP;=`<%l$2n(CS$4wP;=`<%l$0j!5p$5TX!X!3l'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Df$5{a(h%<v$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$#m#q;'S%Z;'S;=`+a<%lO%Z%#`$7__!W$I`o`$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$8i_!mS$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$9y|$d&j'wp'z!b'm(;d(U!LY't&;d$W#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'wp'z!b'n(;d(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",
|
|
4498
|
+
skippedNodes: [0, 3, 4, 268],
|
|
4499
|
+
repeatNodeCount: 33,
|
|
4500
|
+
tokenData: "$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$<s$I}$JO$<s$JO$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'wpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'wpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'wp'z!b'm(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'x#S$d&j'n(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'wp'z!b'n(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'v$(n$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|<[i$d&j(a!L^'wp'z!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!Q%Z!Q![<P![!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|=|P;=`<%l<P(CS>`k$d&j'wp'z!b(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'wp'z!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'wp'z!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(j%<v$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sv%ZvwFYwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SFe`$d&j#u$Id'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2bGp_'y$)`$d&j'wpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo*QHv_$d&j'wpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo)`IzX$d&jOwIuwx6cx!^Iu!^!_Jg!_#oIu#o#pJg#p;'SIu;'S;=`KP<%lOIu#tJjTOwJgwx7]x;'SJg;'S;=`Jy<%lOJg#tJ|P;=`<%lJg)`KSP;=`<%lIu*QK`]$_#t$d&j'wpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$fL^Z'wpOYLXYZJgZrLXrsJgswLXwxMPx#OLX#O#PJg#P;'SLX;'S;=`Mj<%lOLX$fMWU$_#t'wpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$fMmP;=`<%lLX*QMsP;=`<%lHo(*QNR_!h(!b$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l! ]_!gM|$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!!ib$d&j'wp'z!b'u#)d#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!#q{!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!#|`$d&j'wp'z!b#g$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!%Z`$d&j'wp'z!bk&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!&h_!V&;l$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!'rc$d&j'wp'z!by'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!(}!P!Q%Z!Q![!+g![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!)Wa$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!*]!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!*h_!UMt$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!+rg$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!+g![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S!+g#S#X%Z#X#Y!-Z#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!-dg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!.{|}%Z}!O!.{!O!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!/Uc$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!0lc$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!2Sf$d&j'wp'z!b#h$IdOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}xz!3hz{#$s{!P!3h!P!Q#&Y!Q!^!3h!^!_!Mh!_!`#-x!`!a#/_!a!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(r!3sb$d&j'wp'z!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(Q!5U`$d&j'z!b!RSOY!4{YZ&cZw!4{wx!6Wx!P!4{!P!Q!=o!Q!^!4{!^!_!?g!_!}!4{!}#O!Bn#O#P!<w#P#o!4{#o#p!?g#p;'S!4{;'S;=`!Cw<%lO!4{&n!6_^$d&j!RSOY!6WYZ&cZ!P!6W!P!Q!7Z!Q!^!6W!^!_!8g!_!}!6W!}#O!;U#O#P!<w#P#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!7ba$d&j!RSO!^&c!_#Z&c#Z#[!7Z#[#]&c#]#^!7Z#^#a&c#a#b!7Z#b#g&c#g#h!7Z#h#i&c#i#j!7Z#j#m&c#m#n!7Z#n#o&c#p;'S&c;'S;=`&w<%lO&cS!8lX!RSOY!8gZ!P!8g!P!Q!9X!Q!}!8g!}#O!9p#O#P!:o#P;'S!8g;'S;=`!;O<%lO!8gS!9^U!RS#Z#[!9X#]#^!9X#a#b!9X#g#h!9X#i#j!9X#m#n!9XS!9sVOY!9pZ#O!9p#O#P!:Y#P#Q!8g#Q;'S!9p;'S;=`!:i<%lO!9pS!:]SOY!9pZ;'S!9p;'S;=`!:i<%lO!9pS!:lP;=`<%l!9pS!:rSOY!8gZ;'S!8g;'S;=`!;O<%lO!8gS!;RP;=`<%l!8g&n!;Z[$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#O!;U#O#P!<P#P#Q!6W#Q#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<UX$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<tP;=`<%l!;U&n!<|X$d&jOY!6WYZ&cZ!^!6W!^!_!8g!_#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!=lP;=`<%l!6W(Q!=xi$d&j'z!b!RSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!=o#[#]&}#]#^!=o#^#a&}#a#b!=o#b#g&}#g#h!=o#h#i&}#i#j!=o#j#m&}#m#n!=o#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!?nZ'z!b!RSOY!?gZw!?gwx!8gx!P!?g!P!Q!@a!Q!}!?g!}#O!Ap#O#P!:o#P;'S!?g;'S;=`!Bh<%lO!?g!f!@hb'z!b!RSOY'}Zw'}x#O'}#P#Z'}#Z#[!@a#[#]'}#]#^!@a#^#a'}#a#b!@a#b#g'}#g#h!@a#h#i'}#i#j!@a#j#m'}#m#n!@a#n;'S'};'S;=`(f<%lO'}!f!AuX'z!bOY!ApZw!Apwx!9px#O!Ap#O#P!:Y#P#Q!?g#Q;'S!Ap;'S;=`!Bb<%lO!Ap!f!BeP;=`<%l!Ap!f!BkP;=`<%l!?g(Q!Bu^$d&j'z!bOY!BnYZ&cZw!Bnwx!;Ux!^!Bn!^!_!Ap!_#O!Bn#O#P!<P#P#Q!4{#Q#o!Bn#o#p!Ap#p;'S!Bn;'S;=`!Cq<%lO!Bn(Q!CtP;=`<%l!Bn(Q!CzP;=`<%l!4{'`!DW`$d&j'wp!RSOY!C}YZ&cZr!C}rs!6Ws!P!C}!P!Q!EY!Q!^!C}!^!_!GQ!_!}!C}!}#O!JX#O#P!<w#P#o!C}#o#p!GQ#p;'S!C};'S;=`!Kb<%lO!C}'`!Eci$d&j'wp!RSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!EY#[#](r#]#^!EY#^#a(r#a#b!EY#b#g(r#g#h!EY#h#i(r#i#j!EY#j#m(r#m#n!EY#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!GXZ'wp!RSOY!GQZr!GQrs!8gs!P!GQ!P!Q!Gz!Q!}!GQ!}#O!IZ#O#P!:o#P;'S!GQ;'S;=`!JR<%lO!GQt!HRb'wp!RSOY)rZr)rs#O)r#P#Z)r#Z#[!Gz#[#])r#]#^!Gz#^#a)r#a#b!Gz#b#g)r#g#h!Gz#h#i)r#i#j!Gz#j#m)r#m#n!Gz#n;'S)r;'S;=`*Z<%lO)rt!I`X'wpOY!IZZr!IZrs!9ps#O!IZ#O#P!:Y#P#Q!GQ#Q;'S!IZ;'S;=`!I{<%lO!IZt!JOP;=`<%l!IZt!JUP;=`<%l!GQ'`!J`^$d&j'wpOY!JXYZ&cZr!JXrs!;Us!^!JX!^!_!IZ!_#O!JX#O#P!<P#P#Q!C}#Q#o!JX#o#p!IZ#p;'S!JX;'S;=`!K[<%lO!JX'`!K_P;=`<%l!JX'`!KeP;=`<%l!C}(r!Ksk$d&j'wp'z!b!RSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[!Kh#[#]%Z#]#^!Kh#^#a%Z#a#b!Kh#b#g%Z#g#h!Kh#h#i%Z#i#j!Kh#j#m%Z#m#n!Kh#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W!Mq]'wp'z!b!RSOY!MhZr!Mhrs!?gsw!Mhwx!GQx!P!Mh!P!Q!Nj!Q!}!Mh!}#O#!U#O#P!:o#P;'S!Mh;'S;=`##U<%lO!Mh#W!Nse'wp'z!b!RSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[!Nj#[#]*g#]#^!Nj#^#a*g#a#b!Nj#b#g*g#g#h!Nj#h#i*g#i#j!Nj#j#m*g#m#n!Nj#n;'S*g;'S;=`+Z<%lO*g#W#!]Z'wp'z!bOY#!UZr#!Urs!Apsw#!Uwx!IZx#O#!U#O#P!:Y#P#Q!Mh#Q;'S#!U;'S;=`##O<%lO#!U#W##RP;=`<%l#!U#W##XP;=`<%l!Mh(r##e`$d&j'wp'z!bOY##[YZ&cZr##[rs!Bnsw##[wx!JXx!^##[!^!_#!U!_#O##[#O#P!<P#P#Q!3h#Q#o##[#o#p#!U#p;'S##[;'S;=`#$g<%lO##[(r#$jP;=`<%l##[(r#$pP;=`<%l!3h(CS#%Qb$d&j'wp'z!b'o(;d!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(CS#&e_$d&j'wp'z!bR(;dOY#&YYZ&cZr#&Yrs#'dsw#&Ywx#*tx!^#&Y!^!_#,s!_#O#&Y#O#P#(f#P#o#&Y#o#p#,s#p;'S#&Y;'S;=`#-r<%lO#&Y(Bb#'m]$d&j'z!bR(;dOY#'dYZ&cZw#'dwx#(fx!^#'d!^!_#)w!_#O#'d#O#P#(f#P#o#'d#o#p#)w#p;'S#'d;'S;=`#*n<%lO#'d(AO#(mX$d&jR(;dOY#(fYZ&cZ!^#(f!^!_#)Y!_#o#(f#o#p#)Y#p;'S#(f;'S;=`#)q<%lO#(f(;d#)_SR(;dOY#)YZ;'S#)Y;'S;=`#)k<%lO#)Y(;d#)nP;=`<%l#)Y(AO#)tP;=`<%l#(f(<v#*OW'z!bR(;dOY#)wZw#)wwx#)Yx#O#)w#O#P#)Y#P;'S#)w;'S;=`#*h<%lO#)w(<v#*kP;=`<%l#)w(Bb#*qP;=`<%l#'d(Ap#*}]$d&j'wpR(;dOY#*tYZ&cZr#*trs#(fs!^#*t!^!_#+v!_#O#*t#O#P#(f#P#o#*t#o#p#+v#p;'S#*t;'S;=`#,m<%lO#*t(<U#+}W'wpR(;dOY#+vZr#+vrs#)Ys#O#+v#O#P#)Y#P;'S#+v;'S;=`#,g<%lO#+v(<U#,jP;=`<%l#+v(Ap#,pP;=`<%l#*t(=h#,|Y'wp'z!bR(;dOY#,sZr#,srs#)wsw#,swx#+vx#O#,s#O#P#)Y#P;'S#,s;'S;=`#-l<%lO#,s(=h#-oP;=`<%l#,s(CS#-uP;=`<%l#&Y%#W#.Vb$d&j#{$Id'wp'z!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h+h#/lb$T#t$d&j'wp'z!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h$/l#1Pp$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#U%Z#U#V#6_#V#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#d#9g#d#l%Z#l#m#<i#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#3`k$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#5`_$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#6hd$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#8Rf$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#9pc$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;We$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#<rg$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'wp'z!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%<f'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Al_^l$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Bz^'}!*v!e'.r'wp'z!b$U)d(nSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Cv!Q!^*g!^!_#Dl!_!`#F^!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#DPX$f&j'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#DuZ#k$Id'wp'z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Eh!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#EqX#{$Id'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#FgX#l$Id'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh#G_a#X%?x$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a#Hd!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W#Ho_#d$Ih$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#I}adBf#l$Id$a#|$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`#KS!`!a#L^!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#K__#l$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#Lia#k$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`!a#Mn!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#My`#k$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$ Wc(b$Ip$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$!c!P!^%Z!^!_*g!_!a%Z!a!b$#m!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$!n_z'#p$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$#x`$d&j#v$Id'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$%V_!x!Ln$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$&a_|(8n$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$'eZ$d&jO!^$(W!^!_$(n!_#i$(W#i#j$(s#j#l$(W#l#m$*f#m#o$(W#o#p$(n#p;'S$(W;'S;=`$,q<%lO$(W(n$(_T[#S$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$(sO[#S(n$(x[$d&jO!Q&c!Q![$)n![!^&c!_!c&c!c!i$)n!i#T&c#T#Z$)n#Z#o&c#o#p$,U#p;'S&c;'S;=`&w<%lO&c(n$)sZ$d&jO!Q&c!Q![$*f![!^&c!_!c&c!c!i$*f!i#T&c#T#Z$*f#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$*kZ$d&jO!Q&c!Q![$+^![!^&c!_!c&c!c!i$+^!i#T&c#T#Z$+^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$+cZ$d&jO!Q&c!Q![$(W![!^&c!_!c&c!c!i$(W!i#T&c#T#Z$(W#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$,XR!Q![$,b!c!i$,b#T#Z$,b#S$,eS!Q![$,b!c!i$,b#T#Z$,b#q#r$(n(n$,tP;=`<%l$(W!'l$-S_!SM|$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$.^`#s$Id$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$/k_$d&j'wp'z!b(R&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$0yk$d&j'wp'z!b(U!LY't&;d$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$0juw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$0j![!^%Z!^!_*g!_!c%Z!c!}$0j!}#O%Z#O#P&c#P#R%Z#R#S$0j#S#T%Z#T#o$0j#o#p*g#p$g%Z$g;'S$0j;'S;=`$4t<%lO$0j+d$2yk$d&j'wp'z!b$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$2nuw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$2n![!^%Z!^!_*g!_!c%Z!c!}$2n!}#O%Z#O#P&c#P#R%Z#R#S$2n#S#T%Z#T#o$2n#o#p*g#p$g%Z$g;'S$2n;'S;=`$4n<%lO$2n+d$4qP;=`<%l$2n(CS$4wP;=`<%l$0j!5p$5TX!X!3l'wp'z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Df$5{a(i%<v$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$#m#q;'S%Z;'S;=`+a<%lO%Z%#`$7__!W$I`o`$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$8i_!mS$d&j'wp'z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$9y|$d&j'wp'z!b'm(;d(U!LY't&;d$W#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'wp'z!b'n(;d(U!LY't&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",
|
|
4361
4501
|
tokenizers: [noSemicolon, incdecToken, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, insertSemicolon, new LocalTokenGroup("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(T~~", 141, 326), new LocalTokenGroup("j~RQYZXz{^~^O'q~~aP!P!Qd~iO'r~~", 25, 308)],
|
|
4362
4502
|
topRules: {
|
|
4363
4503
|
"Script": [0, 5],
|
|
4364
|
-
"SingleExpression": [1,
|
|
4365
|
-
"SingleClassItem": [2,
|
|
4504
|
+
"SingleExpression": [1, 266],
|
|
4505
|
+
"SingleClassItem": [2, 267]
|
|
4366
4506
|
},
|
|
4367
4507
|
dialects: {
|
|
4368
|
-
jsx:
|
|
4369
|
-
ts:
|
|
4508
|
+
jsx: 12686,
|
|
4509
|
+
ts: 12688
|
|
4370
4510
|
},
|
|
4371
4511
|
dynamicPrecedences: {
|
|
4372
4512
|
"76": 1,
|
|
@@ -4384,7 +4524,7 @@ const parser$2 = LRParser.deserialize({
|
|
|
4384
4524
|
term: 67,
|
|
4385
4525
|
get: value => spec_LessThan[value] || -1
|
|
4386
4526
|
}],
|
|
4387
|
-
tokenPrec:
|
|
4527
|
+
tokenPrec: 12712
|
|
4388
4528
|
});
|
|
4389
4529
|
|
|
4390
4530
|
/**
|
|
@@ -4489,7 +4629,7 @@ function getScope(doc, node) {
|
|
|
4489
4629
|
return completions;
|
|
4490
4630
|
}
|
|
4491
4631
|
const Identifier = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/;
|
|
4492
|
-
const dontComplete = ["TemplateString", "String", "RegExp", "LineComment", "BlockComment", "VariableDefinition", "TypeDefinition", "Label", "PropertyDefinition", "PropertyName", "PrivatePropertyDefinition", "PrivatePropertyName"];
|
|
4632
|
+
const dontComplete = ["TemplateString", "String", "RegExp", "LineComment", "BlockComment", "VariableDefinition", "TypeDefinition", "Label", "PropertyDefinition", "PropertyName", "PrivatePropertyDefinition", "PrivatePropertyName", ".", "?."];
|
|
4493
4633
|
/**
|
|
4494
4634
|
Completion source that looks up locally defined names in
|
|
4495
4635
|
JavaScript code.
|
|
@@ -4497,7 +4637,7 @@ JavaScript code.
|
|
|
4497
4637
|
function localCompletionSource(context) {
|
|
4498
4638
|
let inner = syntaxTree(context.state).resolveInner(context.pos, -1);
|
|
4499
4639
|
if (dontComplete.indexOf(inner.name) > -1) return null;
|
|
4500
|
-
let isWord = inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));
|
|
4640
|
+
let isWord = inner.name == "VariableName" || inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));
|
|
4501
4641
|
if (!isWord && !context.explicit) return null;
|
|
4502
4642
|
let options = [];
|
|
4503
4643
|
for (let pos = inner; pos; pos = pos.parent) {
|
|
@@ -4516,6 +4656,7 @@ parser](https://github.com/lezer-parser/javascript), extended with
|
|
|
4516
4656
|
highlighting and indentation information.
|
|
4517
4657
|
*/
|
|
4518
4658
|
const javascriptLanguage = /*@__PURE__*/LRLanguage.define({
|
|
4659
|
+
name: "javascript",
|
|
4519
4660
|
parser: /*@__PURE__*/parser$2.configure({
|
|
4520
4661
|
props: [/*@__PURE__*/indentNodeProp.add({
|
|
4521
4662
|
IfStatement: /*@__PURE__*/continuedIndent({
|
|
@@ -4551,7 +4692,7 @@ const javascriptLanguage = /*@__PURE__*/LRLanguage.define({
|
|
|
4551
4692
|
return context.column(context.node.from) + context.unit;
|
|
4552
4693
|
}
|
|
4553
4694
|
}), /*@__PURE__*/foldNodeProp.add({
|
|
4554
|
-
"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression": foldInside,
|
|
4695
|
+
"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": foldInside,
|
|
4555
4696
|
BlockComment(tree) {
|
|
4556
4697
|
return {
|
|
4557
4698
|
from: tree.from + 2,
|
|
@@ -4575,24 +4716,37 @@ const javascriptLanguage = /*@__PURE__*/LRLanguage.define({
|
|
|
4575
4716
|
wordChars: "$"
|
|
4576
4717
|
}
|
|
4577
4718
|
});
|
|
4719
|
+
const jsxSublanguage = {
|
|
4720
|
+
test: node => /^JSX/.test(node.name),
|
|
4721
|
+
facet: /*@__PURE__*/defineLanguageFacet({
|
|
4722
|
+
commentTokens: {
|
|
4723
|
+
block: {
|
|
4724
|
+
open: "{/*",
|
|
4725
|
+
close: "*/}"
|
|
4726
|
+
}
|
|
4727
|
+
}
|
|
4728
|
+
})
|
|
4729
|
+
};
|
|
4578
4730
|
/**
|
|
4579
4731
|
A language provider for TypeScript.
|
|
4580
4732
|
*/
|
|
4581
4733
|
const typescriptLanguage = /*@__PURE__*/javascriptLanguage.configure({
|
|
4582
4734
|
dialect: "ts"
|
|
4583
|
-
});
|
|
4735
|
+
}, "typescript");
|
|
4584
4736
|
/**
|
|
4585
4737
|
Language provider for JSX.
|
|
4586
4738
|
*/
|
|
4587
4739
|
const jsxLanguage = /*@__PURE__*/javascriptLanguage.configure({
|
|
4588
|
-
dialect: "jsx"
|
|
4740
|
+
dialect: "jsx",
|
|
4741
|
+
props: [/*@__PURE__*/sublanguageProp.add(n => n.isTop ? [jsxSublanguage] : undefined)]
|
|
4589
4742
|
});
|
|
4590
4743
|
/**
|
|
4591
4744
|
Language provider for JSX + TypeScript.
|
|
4592
4745
|
*/
|
|
4593
4746
|
const tsxLanguage = /*@__PURE__*/javascriptLanguage.configure({
|
|
4594
|
-
dialect: "jsx ts"
|
|
4595
|
-
|
|
4747
|
+
dialect: "jsx ts",
|
|
4748
|
+
props: [/*@__PURE__*/sublanguageProp.add(n => n.isTop ? [jsxSublanguage] : undefined)]
|
|
4749
|
+
}, "typescript");
|
|
4596
4750
|
const keywords = /*@__PURE__*/"break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kw => ({
|
|
4597
4751
|
label: kw,
|
|
4598
4752
|
type: "keyword"
|
|
@@ -4610,11 +4764,22 @@ function javascript() {
|
|
|
4610
4764
|
autocomplete: localCompletionSource
|
|
4611
4765
|
}), config.jsx ? autoCloseTags$1 : []]);
|
|
4612
4766
|
}
|
|
4767
|
+
function findOpenTag(node) {
|
|
4768
|
+
for (;;) {
|
|
4769
|
+
if (node.name == "JSXOpenTag" || node.name == "JSXSelfClosingTag" || node.name == "JSXFragmentTag") return node;
|
|
4770
|
+
if (node.name == "JSXEscape" || !node.parent) return null;
|
|
4771
|
+
node = node.parent;
|
|
4772
|
+
}
|
|
4773
|
+
}
|
|
4613
4774
|
function elementName$1(doc, tree) {
|
|
4614
4775
|
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : doc.length;
|
|
4615
|
-
|
|
4616
|
-
|
|
4617
|
-
|
|
4776
|
+
for (let ch = tree === null || tree === void 0 ? void 0 : tree.firstChild; ch; ch = ch.nextSibling) {
|
|
4777
|
+
if (ch.name == "JSXIdentifier" || ch.name == "JSXBuiltin" || ch.name == "JSXNamespacedName" || ch.name == "JSXMemberExpression") return doc.sliceString(ch.from, Math.min(ch.to, max));
|
|
4778
|
+
}
|
|
4779
|
+
return "";
|
|
4780
|
+
}
|
|
4781
|
+
function isEndTag(node) {
|
|
4782
|
+
return node && (node.name == "JSXEndTag" || node.name == "JSXSelfCloseEndTag");
|
|
4618
4783
|
}
|
|
4619
4784
|
const android = typeof navigator == "object" && /*@__PURE__*/ /Android\b/.test(navigator.userAgent);
|
|
4620
4785
|
/**
|
|
@@ -4627,33 +4792,25 @@ const autoCloseTags$1 = /*@__PURE__*/EditorView.inputHandler.of((view, from, to,
|
|
|
4627
4792
|
state
|
|
4628
4793
|
} = view;
|
|
4629
4794
|
let changes = state.changeByRange(range => {
|
|
4630
|
-
var _a
|
|
4795
|
+
var _a;
|
|
4631
4796
|
let {
|
|
4632
4797
|
head
|
|
4633
4798
|
} = range,
|
|
4634
4799
|
around = syntaxTree(state).resolveInner(head, -1),
|
|
4635
4800
|
name;
|
|
4636
4801
|
if (around.name == "JSXStartTag") around = around.parent;
|
|
4637
|
-
if (text == ">" && around.name == "JSXFragmentTag") {
|
|
4802
|
+
if (around.name == "JSXAttributeValue" && around.to > head) ;else if (text == ">" && around.name == "JSXFragmentTag") {
|
|
4638
4803
|
return {
|
|
4639
4804
|
range: EditorSelection.cursor(head + 1),
|
|
4640
4805
|
changes: {
|
|
4641
4806
|
from: head,
|
|
4642
|
-
insert:
|
|
4643
|
-
}
|
|
4644
|
-
};
|
|
4645
|
-
} else if (text == ">" && around.name == "JSXIdentifier") {
|
|
4646
|
-
if (((_b = (_a = around.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "JSXEndTag" && (name = elementName$1(state.doc, around.parent, head))) return {
|
|
4647
|
-
range: EditorSelection.cursor(head + 1),
|
|
4648
|
-
changes: {
|
|
4649
|
-
from: head,
|
|
4650
|
-
insert: `></${name}>`
|
|
4807
|
+
insert: `></>`
|
|
4651
4808
|
}
|
|
4652
4809
|
};
|
|
4653
4810
|
} else if (text == "/" && around.name == "JSXFragmentTag") {
|
|
4654
4811
|
let empty = around.parent,
|
|
4655
4812
|
base = empty === null || empty === void 0 ? void 0 : empty.parent;
|
|
4656
|
-
if (empty.from == head - 1 && ((
|
|
4813
|
+
if (empty.from == head - 1 && ((_a = base.lastChild) === null || _a === void 0 ? void 0 : _a.name) != "JSXEndTag" && (name = elementName$1(state.doc, base === null || base === void 0 ? void 0 : base.firstChild, head))) {
|
|
4657
4814
|
let insert = `/${name}>`;
|
|
4658
4815
|
return {
|
|
4659
4816
|
range: EditorSelection.cursor(head + insert.length),
|
|
@@ -4663,6 +4820,15 @@ const autoCloseTags$1 = /*@__PURE__*/EditorView.inputHandler.of((view, from, to,
|
|
|
4663
4820
|
}
|
|
4664
4821
|
};
|
|
4665
4822
|
}
|
|
4823
|
+
} else if (text == ">") {
|
|
4824
|
+
let openTag = findOpenTag(around);
|
|
4825
|
+
if (openTag && !isEndTag(openTag.lastChild) && state.sliceDoc(head, head + 2) != "</" && (name = elementName$1(state.doc, openTag, head))) return {
|
|
4826
|
+
range: EditorSelection.cursor(head + 1),
|
|
4827
|
+
changes: {
|
|
4828
|
+
from: head,
|
|
4829
|
+
insert: `></${name}>`
|
|
4830
|
+
}
|
|
4831
|
+
};
|
|
4666
4832
|
}
|
|
4667
4833
|
return {
|
|
4668
4834
|
range
|
|
@@ -4694,9 +4860,7 @@ const Tags = {
|
|
|
4694
4860
|
}
|
|
4695
4861
|
},
|
|
4696
4862
|
abbr: S,
|
|
4697
|
-
acronym: S,
|
|
4698
4863
|
address: S,
|
|
4699
|
-
applet: S,
|
|
4700
4864
|
area: {
|
|
4701
4865
|
attrs: {
|
|
4702
4866
|
alt: null,
|
|
@@ -4730,10 +4894,8 @@ const Tags = {
|
|
|
4730
4894
|
target: Targets
|
|
4731
4895
|
}
|
|
4732
4896
|
},
|
|
4733
|
-
basefont: S,
|
|
4734
4897
|
bdi: S,
|
|
4735
4898
|
bdo: S,
|
|
4736
|
-
big: S,
|
|
4737
4899
|
blockquote: {
|
|
4738
4900
|
attrs: {
|
|
4739
4901
|
cite: null
|
|
@@ -4817,7 +4979,6 @@ const Tags = {
|
|
|
4817
4979
|
}
|
|
4818
4980
|
},
|
|
4819
4981
|
dfn: S,
|
|
4820
|
-
dir: S,
|
|
4821
4982
|
div: S,
|
|
4822
4983
|
dl: S,
|
|
4823
4984
|
dt: S,
|
|
@@ -4844,7 +5005,6 @@ const Tags = {
|
|
|
4844
5005
|
},
|
|
4845
5006
|
figcaption: S,
|
|
4846
5007
|
figure: S,
|
|
4847
|
-
font: S,
|
|
4848
5008
|
footer: S,
|
|
4849
5009
|
form: {
|
|
4850
5010
|
attrs: {
|
|
@@ -4858,8 +5018,6 @@ const Tags = {
|
|
|
4858
5018
|
target: Targets
|
|
4859
5019
|
}
|
|
4860
5020
|
},
|
|
4861
|
-
frame: S,
|
|
4862
|
-
frameset: S,
|
|
4863
5021
|
h1: S,
|
|
4864
5022
|
h2: S,
|
|
4865
5023
|
h3: S,
|
|
@@ -5003,7 +5161,6 @@ const Tags = {
|
|
|
5003
5161
|
}
|
|
5004
5162
|
},
|
|
5005
5163
|
nav: S,
|
|
5006
|
-
noframes: S,
|
|
5007
5164
|
noscript: S,
|
|
5008
5165
|
object: {
|
|
5009
5166
|
attrs: {
|
|
@@ -5068,7 +5225,6 @@ const Tags = {
|
|
|
5068
5225
|
rp: S,
|
|
5069
5226
|
rt: S,
|
|
5070
5227
|
ruby: S,
|
|
5071
|
-
s: S,
|
|
5072
5228
|
samp: S,
|
|
5073
5229
|
script: {
|
|
5074
5230
|
attrs: {
|
|
@@ -5104,7 +5260,6 @@ const Tags = {
|
|
|
5104
5260
|
}
|
|
5105
5261
|
},
|
|
5106
5262
|
span: S,
|
|
5107
|
-
strike: S,
|
|
5108
5263
|
strong: S,
|
|
5109
5264
|
style: {
|
|
5110
5265
|
attrs: {
|
|
@@ -5168,8 +5323,6 @@ const Tags = {
|
|
|
5168
5323
|
srclang: null
|
|
5169
5324
|
}
|
|
5170
5325
|
},
|
|
5171
|
-
tt: S,
|
|
5172
|
-
u: S,
|
|
5173
5326
|
ul: {
|
|
5174
5327
|
children: ["li", "script", "template", "ul", "ol"]
|
|
5175
5328
|
},
|
|
@@ -5214,7 +5367,6 @@ const GlobalAttrs = {
|
|
|
5214
5367
|
tabindex: null,
|
|
5215
5368
|
title: null,
|
|
5216
5369
|
translate: ["yes", "no"],
|
|
5217
|
-
onclick: null,
|
|
5218
5370
|
rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
|
|
5219
5371
|
role: /*@__PURE__*/"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
|
|
5220
5372
|
"aria-activedescendant": null,
|
|
@@ -5252,6 +5404,8 @@ const GlobalAttrs = {
|
|
|
5252
5404
|
"aria-valuenow": null,
|
|
5253
5405
|
"aria-valuetext": null
|
|
5254
5406
|
};
|
|
5407
|
+
const eventAttributes = /*@__PURE__*/("beforeunload copy cut dragstart dragover dragleave dragenter dragend " + "drag paste focus blur change click load mousedown mouseenter mouseleave " + "mouseup keydown keyup resize scroll unload").split(" ").map(n => "on" + n);
|
|
5408
|
+
for (let a of eventAttributes) GlobalAttrs[a] = null;
|
|
5255
5409
|
class Schema {
|
|
5256
5410
|
constructor(extraTags, extraAttrs) {
|
|
5257
5411
|
this.tags = Object.assign(Object.assign({}, Tags), extraTags);
|
|
@@ -5342,7 +5496,8 @@ function completeStartTag(state, schema, tree, pos) {
|
|
|
5342
5496
|
function completeAttrName(state, schema, tree, from, to) {
|
|
5343
5497
|
let elt = findParentElement(tree),
|
|
5344
5498
|
info = elt ? schema.tags[elementName(state.doc, elt)] : null;
|
|
5345
|
-
let
|
|
5499
|
+
let localAttrs = info && info.attrs ? Object.keys(info.attrs) : [];
|
|
5500
|
+
let names = info && info.globalAttrs === false ? localAttrs : localAttrs.length ? localAttrs.concat(schema.globalAttrNames) : schema.globalAttrNames;
|
|
5346
5501
|
return {
|
|
5347
5502
|
from,
|
|
5348
5503
|
to,
|
|
@@ -5434,14 +5589,48 @@ function htmlCompletionSourceWith(config) {
|
|
|
5434
5589
|
let schema = extraAttrs || extraTags ? new Schema(extraTags, extraAttrs) : Schema.default;
|
|
5435
5590
|
return context => htmlCompletionFor(schema, context);
|
|
5436
5591
|
}
|
|
5437
|
-
|
|
5592
|
+
const defaultNesting = [{
|
|
5593
|
+
tag: "script",
|
|
5594
|
+
attrs: attrs => attrs.type == "text/typescript" || attrs.lang == "ts",
|
|
5595
|
+
parser: typescriptLanguage.parser
|
|
5596
|
+
}, {
|
|
5597
|
+
tag: "script",
|
|
5598
|
+
attrs: attrs => attrs.type == "text/babel" || attrs.type == "text/jsx",
|
|
5599
|
+
parser: jsxLanguage.parser
|
|
5600
|
+
}, {
|
|
5601
|
+
tag: "script",
|
|
5602
|
+
attrs: attrs => attrs.type == "text/typescript-jsx",
|
|
5603
|
+
parser: tsxLanguage.parser
|
|
5604
|
+
}, {
|
|
5605
|
+
tag: "script",
|
|
5606
|
+
attrs(attrs) {
|
|
5607
|
+
return !attrs.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);
|
|
5608
|
+
},
|
|
5609
|
+
parser: javascriptLanguage.parser
|
|
5610
|
+
}, {
|
|
5611
|
+
tag: "style",
|
|
5612
|
+
attrs(attrs) {
|
|
5613
|
+
return (!attrs.lang || attrs.lang == "css") && (!attrs.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));
|
|
5614
|
+
},
|
|
5615
|
+
parser: cssLanguage.parser
|
|
5616
|
+
}];
|
|
5617
|
+
const defaultAttrs = /*@__PURE__*/[{
|
|
5618
|
+
name: "style",
|
|
5619
|
+
parser: /*@__PURE__*/cssLanguage.parser.configure({
|
|
5620
|
+
top: "Styles"
|
|
5621
|
+
})
|
|
5622
|
+
}].concat( /*@__PURE__*/eventAttributes.map(name => ({
|
|
5623
|
+
name,
|
|
5624
|
+
parser: javascriptLanguage.parser
|
|
5625
|
+
})));
|
|
5438
5626
|
/**
|
|
5439
5627
|
A language provider based on the [Lezer HTML
|
|
5440
5628
|
parser](https://github.com/lezer-parser/html), extended with the
|
|
5441
5629
|
JavaScript and CSS parsers to parse the content of `<script>` and
|
|
5442
5630
|
`<style>` tags.
|
|
5443
5631
|
*/
|
|
5444
|
-
const
|
|
5632
|
+
const htmlPlain = /*@__PURE__*/LRLanguage.define({
|
|
5633
|
+
name: "html",
|
|
5445
5634
|
parser: /*@__PURE__*/parser$4.configure({
|
|
5446
5635
|
props: [/*@__PURE__*/indentNodeProp.add({
|
|
5447
5636
|
Element(context) {
|
|
@@ -5474,20 +5663,9 @@ const htmlLanguage = /*@__PURE__*/LRLanguage.define({
|
|
|
5474
5663
|
to: last.name == "CloseTag" ? last.from : node.to
|
|
5475
5664
|
};
|
|
5476
5665
|
}
|
|
5477
|
-
})
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
attrs(attrs) {
|
|
5481
|
-
return !attrs.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);
|
|
5482
|
-
},
|
|
5483
|
-
parser: javascriptLanguage.parser
|
|
5484
|
-
}, {
|
|
5485
|
-
tag: "style",
|
|
5486
|
-
attrs(attrs) {
|
|
5487
|
-
return (!attrs.lang || attrs.lang == "css") && (!attrs.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));
|
|
5488
|
-
},
|
|
5489
|
-
parser: cssLanguage.parser
|
|
5490
|
-
}])
|
|
5666
|
+
}), /*@__PURE__*/bracketMatchingHandle.add({
|
|
5667
|
+
"OpenTag CloseTag": node => node.getChild("TagName")
|
|
5668
|
+
})]
|
|
5491
5669
|
}),
|
|
5492
5670
|
languageData: {
|
|
5493
5671
|
commentTokens: {
|
|
@@ -5501,20 +5679,37 @@ const htmlLanguage = /*@__PURE__*/LRLanguage.define({
|
|
|
5501
5679
|
}
|
|
5502
5680
|
});
|
|
5503
5681
|
/**
|
|
5682
|
+
A language provider based on the [Lezer HTML
|
|
5683
|
+
parser](https://github.com/lezer-parser/html), extended with the
|
|
5684
|
+
JavaScript and CSS parsers to parse the content of `<script>` and
|
|
5685
|
+
`<style>` tags.
|
|
5686
|
+
*/
|
|
5687
|
+
const htmlLanguage = /*@__PURE__*/htmlPlain.configure({
|
|
5688
|
+
wrap: /*@__PURE__*/configureNesting(defaultNesting, defaultAttrs)
|
|
5689
|
+
});
|
|
5690
|
+
/**
|
|
5504
5691
|
Language support for HTML, including
|
|
5505
5692
|
[`htmlCompletion`](https://codemirror.net/6/docs/ref/#lang-html.htmlCompletion) and JavaScript and
|
|
5506
5693
|
CSS support extensions.
|
|
5507
5694
|
*/
|
|
5508
5695
|
function html() {
|
|
5509
5696
|
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5510
|
-
let
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5697
|
+
let dialect = "",
|
|
5698
|
+
wrap;
|
|
5699
|
+
if (config.matchClosingTags === false) dialect = "noMatch";
|
|
5700
|
+
if (config.selfClosingTags === true) dialect = (dialect ? dialect + " " : "") + "selfClosing";
|
|
5701
|
+
if (config.nestedLanguages && config.nestedLanguages.length || config.nestedAttributes && config.nestedAttributes.length) wrap = configureNesting((config.nestedLanguages || []).concat(defaultNesting), (config.nestedAttributes || []).concat(defaultAttrs));
|
|
5702
|
+
let lang = wrap ? htmlPlain.configure({
|
|
5703
|
+
wrap,
|
|
5704
|
+
dialect
|
|
5705
|
+
}) : dialect ? htmlLanguage.configure({
|
|
5706
|
+
dialect
|
|
5707
|
+
}) : htmlLanguage;
|
|
5514
5708
|
return new LanguageSupport(lang, [htmlLanguage.data.of({
|
|
5515
5709
|
autocomplete: htmlCompletionSourceWith(config)
|
|
5516
5710
|
}), config.autoCloseTags !== false ? autoCloseTags : [], javascript().support, css().support]);
|
|
5517
5711
|
}
|
|
5712
|
+
const selfClosers = /*@__PURE__*/new Set( /*@__PURE__*/"area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" "));
|
|
5518
5713
|
/**
|
|
5519
5714
|
Extension that will automatically insert close tags when a `>` or
|
|
5520
5715
|
`/` is typed.
|
|
@@ -5533,20 +5728,26 @@ const autoCloseTags = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, t
|
|
|
5533
5728
|
name;
|
|
5534
5729
|
if (around.name == "TagName" || around.name == "StartTag") around = around.parent;
|
|
5535
5730
|
if (text == ">" && around.name == "OpenTag") {
|
|
5536
|
-
if (((_b = (_a = around.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "CloseTag" && (name = elementName(state.doc, around.parent, head)))
|
|
5537
|
-
|
|
5538
|
-
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5731
|
+
if (((_b = (_a = around.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "CloseTag" && (name = elementName(state.doc, around.parent, head)) && !selfClosers.has(name)) {
|
|
5732
|
+
let hasRightBracket = view.state.doc.sliceString(head, head + 1) === ">";
|
|
5733
|
+
let insert = `${hasRightBracket ? "" : ">"}</${name}>`;
|
|
5734
|
+
return {
|
|
5735
|
+
range: EditorSelection.cursor(head + 1),
|
|
5736
|
+
changes: {
|
|
5737
|
+
from: head + (hasRightBracket ? 1 : 0),
|
|
5738
|
+
insert
|
|
5739
|
+
}
|
|
5740
|
+
};
|
|
5741
|
+
}
|
|
5543
5742
|
} else if (text == "/" && around.name == "OpenTag") {
|
|
5544
5743
|
let empty = around.parent,
|
|
5545
5744
|
base = empty === null || empty === void 0 ? void 0 : empty.parent;
|
|
5546
|
-
if (empty.from == head - 1 && ((_c = base.lastChild) === null || _c === void 0 ? void 0 : _c.name) != "CloseTag" && (name = elementName(state.doc, base, head))) {
|
|
5547
|
-
let
|
|
5745
|
+
if (empty.from == head - 1 && ((_c = base.lastChild) === null || _c === void 0 ? void 0 : _c.name) != "CloseTag" && (name = elementName(state.doc, base, head)) && !selfClosers.has(name)) {
|
|
5746
|
+
let hasRightBracket = view.state.doc.sliceString(head, head + 1) === ">";
|
|
5747
|
+
let insert = `/${name}${hasRightBracket ? "" : ">"}`;
|
|
5748
|
+
let pos = head + insert.length + (hasRightBracket ? 1 : 0);
|
|
5548
5749
|
return {
|
|
5549
|
-
range: EditorSelection.cursor(
|
|
5750
|
+
range: EditorSelection.cursor(pos),
|
|
5550
5751
|
changes: {
|
|
5551
5752
|
from: head,
|
|
5552
5753
|
insert
|
|
@@ -5601,6 +5802,7 @@ const parser$1 = LRParser.deserialize({
|
|
|
5601
5802
|
A language provider that provides JSON parsing.
|
|
5602
5803
|
*/
|
|
5603
5804
|
const jsonLanguage = /*@__PURE__*/LRLanguage.define({
|
|
5805
|
+
name: "json",
|
|
5604
5806
|
parser: /*@__PURE__*/parser$1.configure({
|
|
5605
5807
|
props: [/*@__PURE__*/indentNodeProp.add({
|
|
5606
5808
|
Object: /*@__PURE__*/continuedIndent({
|
|
@@ -7477,26 +7679,55 @@ const Emoji = {
|
|
|
7477
7679
|
};
|
|
7478
7680
|
|
|
7479
7681
|
const data = /*@__PURE__*/defineLanguageFacet({
|
|
7480
|
-
|
|
7481
|
-
|
|
7482
|
-
|
|
7682
|
+
commentTokens: {
|
|
7683
|
+
block: {
|
|
7684
|
+
open: "<!--",
|
|
7685
|
+
close: "-->"
|
|
7686
|
+
}
|
|
7483
7687
|
}
|
|
7484
7688
|
});
|
|
7689
|
+
const headingProp = /*@__PURE__*/new NodeProp();
|
|
7485
7690
|
const commonmark = /*@__PURE__*/parser.configure({
|
|
7486
7691
|
props: [/*@__PURE__*/foldNodeProp.add(type => {
|
|
7487
|
-
|
|
7488
|
-
return (tree, state) => ({
|
|
7692
|
+
return !type.is("Block") || type.is("Document") || isHeading(type) != null ? undefined : (tree, state) => ({
|
|
7489
7693
|
from: state.doc.lineAt(tree.from).to,
|
|
7490
7694
|
to: tree.to
|
|
7491
7695
|
});
|
|
7492
|
-
}), /*@__PURE__*/indentNodeProp.add({
|
|
7696
|
+
}), /*@__PURE__*/headingProp.add(isHeading), /*@__PURE__*/indentNodeProp.add({
|
|
7493
7697
|
Document: () => null
|
|
7494
7698
|
}), /*@__PURE__*/languageDataProp.add({
|
|
7495
7699
|
Document: data
|
|
7496
7700
|
})]
|
|
7497
7701
|
});
|
|
7702
|
+
function isHeading(type) {
|
|
7703
|
+
let match = /^(?:ATX|Setext)Heading(\d)$/.exec(type.name);
|
|
7704
|
+
return match ? +match[1] : undefined;
|
|
7705
|
+
}
|
|
7706
|
+
function findSectionEnd(headerNode, level) {
|
|
7707
|
+
let last = headerNode;
|
|
7708
|
+
for (;;) {
|
|
7709
|
+
let next = last.nextSibling,
|
|
7710
|
+
heading;
|
|
7711
|
+
if (!next || (heading = isHeading(next.type)) != null && heading <= level) break;
|
|
7712
|
+
last = next;
|
|
7713
|
+
}
|
|
7714
|
+
return last.to;
|
|
7715
|
+
}
|
|
7716
|
+
const headerIndent = /*@__PURE__*/foldService.of((state, start, end) => {
|
|
7717
|
+
for (let node = syntaxTree(state).resolveInner(end, -1); node; node = node.parent) {
|
|
7718
|
+
if (node.from < start) break;
|
|
7719
|
+
let heading = node.type.prop(headingProp);
|
|
7720
|
+
if (heading == null) continue;
|
|
7721
|
+
let upto = findSectionEnd(node, heading);
|
|
7722
|
+
if (upto > end) return {
|
|
7723
|
+
from: end,
|
|
7724
|
+
to: upto
|
|
7725
|
+
};
|
|
7726
|
+
}
|
|
7727
|
+
return null;
|
|
7728
|
+
});
|
|
7498
7729
|
function mkLang(parser) {
|
|
7499
|
-
return new Language(data, parser);
|
|
7730
|
+
return new Language(data, parser, [headerIndent], "markdown");
|
|
7500
7731
|
}
|
|
7501
7732
|
/**
|
|
7502
7733
|
Language support for strict CommonMark.
|
|
@@ -7520,9 +7751,6 @@ function getCodeParser(languages, defaultLanguage) {
|
|
|
7520
7751
|
return defaultLanguage ? defaultLanguage.parser : null;
|
|
7521
7752
|
};
|
|
7522
7753
|
}
|
|
7523
|
-
function nodeStart(node, doc) {
|
|
7524
|
-
return doc.sliceString(node.from, node.from + 50);
|
|
7525
|
-
}
|
|
7526
7754
|
class Context {
|
|
7527
7755
|
constructor(node, from, to, spaceBefore, spaceAfter, type, item) {
|
|
7528
7756
|
this.node = node;
|
|
@@ -7533,41 +7761,46 @@ class Context {
|
|
|
7533
7761
|
this.type = type;
|
|
7534
7762
|
this.item = item;
|
|
7535
7763
|
}
|
|
7536
|
-
blank() {
|
|
7537
|
-
let trailing = arguments.length >
|
|
7538
|
-
let result = this.spaceBefore;
|
|
7539
|
-
if (
|
|
7540
|
-
|
|
7764
|
+
blank(maxWidth) {
|
|
7765
|
+
let trailing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
7766
|
+
let result = this.spaceBefore + (this.node.name == "Blockquote" ? ">" : "");
|
|
7767
|
+
if (maxWidth != null) {
|
|
7768
|
+
while (result.length < maxWidth) result += " ";
|
|
7769
|
+
return result;
|
|
7770
|
+
} else {
|
|
7771
|
+
for (let i = this.to - this.from - result.length - this.spaceAfter.length; i > 0; i--) result += " ";
|
|
7772
|
+
return result + (trailing ? this.spaceAfter : "");
|
|
7773
|
+
}
|
|
7541
7774
|
}
|
|
7542
7775
|
marker(doc, add) {
|
|
7543
7776
|
let number = this.node.name == "OrderedList" ? String(+itemNumber(this.item, doc)[2] + add) : "";
|
|
7544
7777
|
return this.spaceBefore + number + this.type + this.spaceAfter;
|
|
7545
7778
|
}
|
|
7546
7779
|
}
|
|
7547
|
-
function getContext(node,
|
|
7780
|
+
function getContext(node, doc) {
|
|
7548
7781
|
let nodes = [];
|
|
7549
7782
|
for (let cur = node; cur && cur.name != "Document"; cur = cur.parent) {
|
|
7550
|
-
if (cur.name == "ListItem" || cur.name == "Blockquote") nodes.push(cur);
|
|
7783
|
+
if (cur.name == "ListItem" || cur.name == "Blockquote" || cur.name == "FencedCode") nodes.push(cur);
|
|
7551
7784
|
}
|
|
7552
|
-
let context = []
|
|
7553
|
-
pos = 0;
|
|
7785
|
+
let context = [];
|
|
7554
7786
|
for (let i = nodes.length - 1; i >= 0; i--) {
|
|
7555
7787
|
let node = nodes[i],
|
|
7556
|
-
match
|
|
7557
|
-
|
|
7558
|
-
|
|
7559
|
-
|
|
7560
|
-
context.push(new Context(node,
|
|
7561
|
-
} else if (node.name == "
|
|
7788
|
+
match;
|
|
7789
|
+
let line = doc.lineAt(node.from),
|
|
7790
|
+
startPos = node.from - line.from;
|
|
7791
|
+
if (node.name == "FencedCode") {
|
|
7792
|
+
context.push(new Context(node, startPos, startPos, "", "", "", null));
|
|
7793
|
+
} else if (node.name == "Blockquote" && (match = /^[ \t]*>( ?)/.exec(line.text.slice(startPos)))) {
|
|
7794
|
+
context.push(new Context(node, startPos, startPos + match[0].length, "", match[1], ">", null));
|
|
7795
|
+
} else if (node.name == "ListItem" && node.parent.name == "OrderedList" && (match = /^([ \t]*)\d+([.)])([ \t]*)/.exec(line.text.slice(startPos)))) {
|
|
7562
7796
|
let after = match[3],
|
|
7563
7797
|
len = match[0].length;
|
|
7564
7798
|
if (after.length >= 4) {
|
|
7565
7799
|
after = after.slice(0, after.length - 4);
|
|
7566
7800
|
len -= 4;
|
|
7567
7801
|
}
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
} else if (node.name == "ListItem" && node.parent.name == "BulletList" && (match = /^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(nodeStart(node, doc)))) {
|
|
7802
|
+
context.push(new Context(node.parent, startPos, startPos + len, match[1], after, match[2], node));
|
|
7803
|
+
} else if (node.name == "ListItem" && node.parent.name == "BulletList" && (match = /^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(line.text.slice(startPos)))) {
|
|
7571
7804
|
let after = match[4],
|
|
7572
7805
|
len = match[0].length;
|
|
7573
7806
|
if (after.length > 4) {
|
|
@@ -7576,8 +7809,7 @@ function getContext(node, line, doc) {
|
|
|
7576
7809
|
}
|
|
7577
7810
|
let type = match[2];
|
|
7578
7811
|
if (match[3]) type += match[3].replace(/[xX]/, ' ');
|
|
7579
|
-
|
|
7580
|
-
context.push(new Context(node.parent, start, pos, match[1], after, type, node));
|
|
7812
|
+
context.push(new Context(node.parent, startPos, startPos + len, match[1], after, type, node));
|
|
7581
7813
|
}
|
|
7582
7814
|
}
|
|
7583
7815
|
return context;
|
|
@@ -7633,7 +7865,7 @@ const insertNewlineContinueMarkup = _ref => {
|
|
|
7633
7865
|
};
|
|
7634
7866
|
let pos = range.from,
|
|
7635
7867
|
line = doc.lineAt(pos);
|
|
7636
|
-
let context = getContext(tree.resolveInner(pos, -1),
|
|
7868
|
+
let context = getContext(tree.resolveInner(pos, -1), doc);
|
|
7637
7869
|
while (context.length && context[context.length - 1].from > pos - line.from) context.pop();
|
|
7638
7870
|
if (!context.length) return dont = {
|
|
7639
7871
|
range
|
|
@@ -7671,7 +7903,9 @@ const insertNewlineContinueMarkup = _ref => {
|
|
|
7671
7903
|
} else {
|
|
7672
7904
|
// Move this line down
|
|
7673
7905
|
let insert = "";
|
|
7674
|
-
for (let i = 0, e = context.length - 2; i <= e; i++)
|
|
7906
|
+
for (let i = 0, e = context.length - 2; i <= e; i++) {
|
|
7907
|
+
insert += context[i].blank(i < e ? context[i + 1].from - insert.length : null, i < e);
|
|
7908
|
+
}
|
|
7675
7909
|
insert += state.lineBreak;
|
|
7676
7910
|
return {
|
|
7677
7911
|
range: EditorSelection.cursor(pos + insert.length),
|
|
@@ -7702,14 +7936,17 @@ const insertNewlineContinueMarkup = _ref => {
|
|
|
7702
7936
|
}
|
|
7703
7937
|
let changes = [];
|
|
7704
7938
|
if (inner.node.name == "OrderedList") renumberList(inner.item, doc, changes);
|
|
7705
|
-
let insert = state.lineBreak;
|
|
7706
7939
|
let continued = inner.item && inner.item.from < line.from;
|
|
7940
|
+
let insert = "";
|
|
7707
7941
|
// If not dedented
|
|
7708
7942
|
if (!continued || /^[\s\d.)\-+*>]*/.exec(line.text)[0].length >= inner.to) {
|
|
7709
|
-
for (let i = 0, e = context.length - 1; i <= e; i++)
|
|
7943
|
+
for (let i = 0, e = context.length - 1; i <= e; i++) {
|
|
7944
|
+
insert += i == e && !continued ? context[i].marker(doc, 1) : context[i].blank(i < e ? context[i + 1].from - insert.length : null);
|
|
7945
|
+
}
|
|
7710
7946
|
}
|
|
7711
7947
|
let from = pos;
|
|
7712
7948
|
while (from > line.from && /\s/.test(line.text.charAt(from - line.from - 1))) from--;
|
|
7949
|
+
insert = state.lineBreak + insert;
|
|
7713
7950
|
changes.push({
|
|
7714
7951
|
from,
|
|
7715
7952
|
to: pos,
|
|
@@ -7774,7 +8011,7 @@ const deleteMarkupBackward = _ref2 => {
|
|
|
7774
8011
|
} = state;
|
|
7775
8012
|
if (range.empty && markdownLanguage.isActiveAt(state, range.from)) {
|
|
7776
8013
|
let line = doc.lineAt(pos);
|
|
7777
|
-
let context = getContext(contextNodeForDelete(tree, pos),
|
|
8014
|
+
let context = getContext(contextNodeForDelete(tree, pos), doc);
|
|
7778
8015
|
if (context.length) {
|
|
7779
8016
|
let inner = context[context.length - 1];
|
|
7780
8017
|
let spaceEnd = inner.to - inner.spaceAfter.length + (inner.spaceAfter ? 1 : 0);
|
|
@@ -7786,7 +8023,11 @@ const deleteMarkupBackward = _ref2 => {
|
|
|
7786
8023
|
to: pos
|
|
7787
8024
|
}
|
|
7788
8025
|
};
|
|
7789
|
-
if (pos - line.from == spaceEnd
|
|
8026
|
+
if (pos - line.from == spaceEnd && (
|
|
8027
|
+
// Only apply this if we're on the line that has the
|
|
8028
|
+
// construct's syntax, or there's only indentation in the
|
|
8029
|
+
// target range
|
|
8030
|
+
!inner.item || line.from <= inner.item.from || !/\S/.test(line.text.slice(0, inner.to)))) {
|
|
7790
8031
|
let start = line.from + inner.from;
|
|
7791
8032
|
// Replace a list item marker with blank space
|
|
7792
8033
|
if (inner.item && inner.node.from < inner.item.from && /\S/.test(line.text.slice(inner.from, inner.to))) return {
|
|
@@ -7794,7 +8035,7 @@ const deleteMarkupBackward = _ref2 => {
|
|
|
7794
8035
|
changes: {
|
|
7795
8036
|
from: start,
|
|
7796
8037
|
to: line.from + inner.to,
|
|
7797
|
-
insert: inner.blank()
|
|
8038
|
+
insert: inner.blank(inner.to - inner.from)
|
|
7798
8039
|
}
|
|
7799
8040
|
};
|
|
7800
8041
|
// Delete one level of indentation
|
|
@@ -7868,23 +8109,4 @@ function markdown() {
|
|
|
7868
8109
|
return new LanguageSupport(mkLang(parser.configure(extensions)), support);
|
|
7869
8110
|
}
|
|
7870
8111
|
|
|
7871
|
-
|
|
7872
|
-
typescript: false
|
|
7873
|
-
});
|
|
7874
|
-
const TS = javascript({
|
|
7875
|
-
typescript: true
|
|
7876
|
-
});
|
|
7877
|
-
const CSS = css();
|
|
7878
|
-
const HTML = html();
|
|
7879
|
-
const JSON$1 = json();
|
|
7880
|
-
const MD = markdown();
|
|
7881
|
-
var languages = {
|
|
7882
|
-
[OrCodeLanguages.JS]: JS,
|
|
7883
|
-
[OrCodeLanguages.TS]: TS,
|
|
7884
|
-
[OrCodeLanguages.CSS]: CSS,
|
|
7885
|
-
[OrCodeLanguages.HTML]: HTML,
|
|
7886
|
-
[OrCodeLanguages.JSON]: JSON$1,
|
|
7887
|
-
[OrCodeLanguages.MD]: MD
|
|
7888
|
-
};
|
|
7889
|
-
|
|
7890
|
-
export { CSS as C, HTML as H, JS as J, MD as M, TS as T, autocompletion as a, closeBracketsKeymap as b, closeBrackets as c, completionKeymap as d, JSON$1 as e, languages as l };
|
|
8112
|
+
export { javascript as a, closeBrackets as b, css as c, autocompletion as d, closeBracketsKeymap as e, completionKeymap as f, html as h, json as j, markdown as m };
|