@okta/odyssey-react-mui 1.53.0 → 1.55.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/CHANGELOG.md +59 -0
- package/dist/assets/{Accordion-CLdY3bef.js → Accordion-D8MMTGBC.js} +1 -1
- package/dist/assets/Accordion.stories-BPJnLVeE.js +85 -0
- package/dist/assets/{AccordionSummary-wkTP8_D6.js → AccordionSummary-BpjNF1hZ.js} +1 -1
- package/dist/assets/{AddCircle-zDqHIKbQ.js → AddCircle-DgNpvHvb.js} +1 -1
- package/dist/assets/{AlertTitle-UQV7DT5q.js → AlertTitle-41lhnhsR.js} +1 -1
- package/dist/assets/{AppSwitcher-Dgfa_AoU.js → AppSwitcher-BlMgsq7d.js} +1 -1
- package/dist/assets/AppSwitcher.stories-DK6TzLjN.js +100 -0
- package/dist/assets/AppTile.stories-D9NfZuTR.js +136 -0
- package/dist/assets/{ArrowDropDown-BbLKA4fg.js → ArrowDropDown-CMSB1a5F.js} +1 -1
- package/dist/assets/ArrowLeft-DKc-rln7.js +1 -0
- package/dist/assets/ArrowRight-CQpox1s-.js +1 -0
- package/dist/assets/{Autocomplete-BwSwXNq_.js → Autocomplete-CcFQPuHI.js} +1 -1
- package/dist/assets/{Autocomplete-BajR4gNT.js → Autocomplete-DxRs9Djj.js} +1 -1
- package/dist/assets/{Autocomplete.stories-C7T-kCUQ.js → Autocomplete.stories-DU9xY7GK.js} +3 -3
- package/dist/assets/{Badge-4k4qHpX4.js → Badge-C9-6xV6N.js} +1 -1
- package/dist/assets/{Banner-CfvXqDEI.js → Banner-BtTBJERs.js} +1 -1
- package/dist/assets/{Banner.stories-NnVFdOhp.js → Banner.stories-BZuwmjR1.js} +3 -3
- package/dist/assets/{BaseButton-C9tiChQu.js → BaseButton-BzcWVv73.js} +1 -1
- package/dist/assets/{BaseMenuButton-BXkyi9Y-.js → BaseMenuButton-B2CeKq3v.js} +1 -1
- package/dist/assets/{Box--NDTewyO.js → Box-B-6W36qW.js} +1 -1
- package/dist/assets/{Box-B3rdnavX.js → Box-BvtEwOZC.js} +1 -1
- package/dist/assets/Box-BzR7wZhO.js +11 -0
- package/dist/assets/{Box-CnVllI1S.js → Box-DduJOSF-.js} +1 -1
- package/dist/assets/{Box.stories-0iw_Ut4E.js → Box.stories-vV2di-KJ.js} +1 -1
- package/dist/assets/Breadcrumb.stories-J2cc8t0d.js +19 -0
- package/dist/assets/BreadcrumbList.stories-B6XEafPI.js +81 -0
- package/dist/assets/{Breadcrumbs-DlF1RjAJ.js → Breadcrumbs-CM2RJrtX.js} +1 -1
- package/dist/assets/{Bug-BnGJL5iO.js → Bug-DbpZDqwO.js} +1 -1
- package/dist/assets/{Button-Dug4qNr3.js → Button-AqSkJ6Nd.js} +1 -1
- package/dist/assets/{Button-0PI4ljbj.js → Button-BX9EXxBV.js} +1 -1
- package/dist/assets/{Button-CQAScxdp.js → Button-CZuGHFIJ.js} +1 -1
- package/dist/assets/{Button-BEdrRzeO.js → Button-ZPlYqHUi.js} +1 -1
- package/dist/assets/{Button.stories-CaESBfZW.js → Button.stories-Bl7P9tek.js} +2 -2
- package/dist/assets/{Button.stories-CNPwpgVA.js → Button.stories-vEg3PKz-.js} +3 -3
- package/dist/assets/{ButtonBase-Rz8p08Xo.js → ButtonBase-CYIo9Kvv.js} +1 -1
- package/dist/assets/{Calendar-Do4wfihU.js → Calendar-DV1h6Fc3.js} +1 -1
- package/dist/assets/{Call-CZmd0zlk.js → Call-2_fpBWhr.js} +1 -1
- package/dist/assets/{Callout-WJN7MCgu.js → Callout-BgusP-7-.js} +1 -1
- package/dist/assets/{Callout.stories-EyhGsZIg.js → Callout.stories-CtAYWft1.js} +3 -3
- package/dist/assets/Card-BosIFVQP.js +8 -0
- package/dist/assets/{Card-CYHxgfcj.js → Card-DSV0thOs.js} +1 -1
- package/dist/assets/{Card.stories-CB7itEof.js → Card.stories-ZHXa0-vk.js} +1 -1
- package/dist/assets/{CardActionArea-CjEHgWqq.js → CardActionArea-j218OlRR.js} +1 -1
- package/dist/assets/{CardActions-AjPk7ICQ.js → CardActions-DEkVEZOo.js} +1 -1
- package/dist/assets/Checkbox-CtLz3m2I.js +1 -0
- package/dist/assets/{Checkbox-mRntsWEy.js → Checkbox-RASNl40G.js} +1 -1
- package/dist/assets/{Checkbox-3Yu84dfy.js → Checkbox-_fXckuhm.js} +1 -1
- package/dist/assets/Checkbox.stories-Bvx8GqiS.js +113 -0
- package/dist/assets/Checkbox.stories-qCSW0Q2j.js +43 -0
- package/dist/assets/{CheckboxGroup-Bris2fCF.js → CheckboxGroup-zMSuzeZ6.js} +1 -1
- package/dist/assets/CheckboxGroup.stories-BHKIdZ7U.js +89 -0
- package/dist/assets/CheckboxGroup.stories-BSflT92t.js +64 -0
- package/dist/assets/{ChevronRight-QYu5EQHS.js → ChevronRight--b1mmNks.js} +1 -1
- package/dist/assets/{ChevronUp-D226bAv0.js → ChevronUp-DL24OTkX.js} +1 -1
- package/dist/assets/{Chip-BgPaZbUf.js → Chip-bDORJbkM.js} +1 -1
- package/dist/assets/{CircularProgress-D6L1y9kt.js → CircularProgress-BgZHFbQE.js} +1 -1
- package/dist/assets/{CircularProgress-B7sj16Me.js → CircularProgress-BoAO9U8M.js} +1 -1
- package/dist/assets/{CircularProgress.stories-CvfXEtcf.js → CircularProgress.stories-CbcXfcmH.js} +3 -3
- package/dist/assets/{Clock-CRMbzsTS.js → Clock-BQK6LLyZ.js} +1 -1
- package/dist/assets/Close-cbwEd5Sp.js +1 -0
- package/dist/assets/{Code Styling Guidelines-CstdJT8e.js → Code Styling Guidelines-CRc7Acxy.js } +1 -1
- package/dist/assets/{Collapse-DULszxZp.js → Collapse-1HAz0LZV.js} +1 -1
- package/dist/assets/{Color-ASIRERSW-D1UGGYVZ.js → Color-ASIRERSW-CzhPgsf8.js} +1 -1
- package/dist/assets/{CssBaseline-BxXlsiez.js → CssBaseline-CPKflVp5.js} +2 -2
- package/dist/assets/{CssBaseline.stories-DVe508J0.js → CssBaseline.stories-BVbDhIF6.js} +1 -1
- package/dist/assets/{Custom Theming-ccLDrBQS.js → Custom Theming-Dcj0M7qI.js } +2 -2
- package/dist/assets/Custom Theming.stories-UirQjvOB.js +95 -0
- package/dist/assets/{DataFilters-BkX84ZQL.js → DataFilters-Cf-ESeWE.js} +2 -2
- package/dist/assets/DataFilters-D5ALxX9D.js +1 -0
- package/dist/assets/{DataFilters.stories-DewPnjr_.js → DataFilters.stories-BEQSD0AZ.js} +1 -1
- package/dist/assets/DataTable-BRz_SDL5.js +41 -0
- package/dist/assets/{DataTable-019cW0Jq.js → DataTable-DrMdrIcq.js} +2 -2
- package/dist/assets/{DataTable-B5iX_c6m.js → DataTable-Duk3yrgE.js} +1 -1
- package/dist/assets/{DataTable.stories-Bn546tQH.js → DataTable.stories-BzrVvUtr.js} +1 -1
- package/dist/assets/{DataTable.stories-CZ38vjC1.js → DataTable.stories-CwDiJD8l.js} +2 -2
- package/dist/assets/{DataView-C1SHLIDp.js → DataView-B0q4EyNh.js} +2 -2
- package/dist/assets/{DataView-BS0E464o.js → DataView-CjTfaBGG.js} +1 -1
- package/dist/assets/{DataView.stories-CzFmgLtp.js → DataView.stories-B33BDgre.js} +1 -1
- package/dist/assets/{DataView.stories-E0Zxfc-o.js → DataView.stories-Dj1si9l-.js} +3 -3
- package/dist/assets/{DatePicker-DE3q9EuO.js → DatePicker-B5X7dx9Q.js} +1 -1
- package/dist/assets/{DatePicker-vZfA4IWy.js → DatePicker-BOqWHXdY.js} +1 -1
- package/dist/assets/DatePicker.stories-Dipl4bQY.js +133 -0
- package/dist/assets/{DateTimePicker-ByepBMwy.js → DateTimePicker-CIersydJ.js} +1 -1
- package/dist/assets/{DateTimePicker.stories-Cas4UCrt.js → DateTimePicker.stories-DjzZocUv.js} +3 -3
- package/dist/assets/DebugMenu-By3Vj_Nv.js +1 -0
- package/dist/assets/Design Tokens-C3WLUx-Q.js +4 -0
- package/dist/assets/Dialog-o5O78_b5.js +1 -0
- package/dist/assets/Dialog.stories-Dp36WpKI.js +352 -0
- package/dist/assets/Dialog.stories-MZqfLw6Z.js +207 -0
- package/dist/assets/{DialogContent-C6DlqjnA.js → DialogContent-BOYeFFEd.js} +1 -1
- package/dist/assets/DialogContentText-D0M3e4sQ.js +1 -0
- package/dist/assets/{DialogTitle-B_QxN4PO.js → DialogTitle-CIzT7Vz-.js} +1 -1
- package/dist/assets/{Divider-C7lvc1xB.js → Divider-6S-pAD7Z.js} +1 -1
- package/dist/assets/Divider.stories-CDGskHHm.js +5 -0
- package/dist/assets/{DocsRenderer-GHJI37HO-DFEQwt06.js → DocsRenderer-GHJI37HO-BX00v8ne.js} +2 -2
- package/dist/assets/{Documentation-nAJnZGCK.js → Documentation-C2_DeFFh.js} +1 -1
- package/dist/assets/{Download-CA8gZ8xE.js → Download-YawXz5G6.js} +1 -1
- package/dist/assets/{Drawer-CYAKZaWu.js → Drawer-DG7c2iM4.js} +1 -1
- package/dist/assets/Drawer.stories-C9ckJovc.js +95 -0
- package/dist/assets/{EmptyState-B1EvR4rn.js → EmptyState-Cw97nR9g.js} +1 -1
- package/dist/assets/EmptyState.stories-DXpOC1wF.js +127 -0
- package/dist/assets/EmptyState.stories-DhZwVE6F.js +11 -0
- package/dist/assets/{ExampleButton.stories-C3scpIjS.js → ExampleButton.stories-BfAyzgTg.js} +2 -2
- package/dist/assets/{Extending Translations-3H_cpfNQ.js → Extending Translations-DyrOgVYP.js } +1 -1
- package/dist/assets/{ExternalLink-3_gWbh_U.js → ExternalLink-DTGSbkQ2.js} +1 -1
- package/dist/assets/{Fade-ZBabHGDm.js → Fade-5EaFioT-.js} +1 -1
- package/dist/assets/{Field-CqIOaZfg.js → Field-4cI0KUzC.js} +1 -1
- package/dist/assets/Field-g_717qKv.js +11 -0
- package/dist/assets/{FieldHint-Cs73lQge.js → FieldHint-Bv45kUgg.js} +1 -1
- package/dist/assets/{Fieldset-emRDW8u7.js → Fieldset-Bu9pgqLo.js} +1 -1
- package/dist/assets/Fieldset.stories-DywDyipj.js +15 -0
- package/dist/assets/{FileUploader.stories-82Cob1aQ.js → FileUploader.stories-BGXUMzQV.js} +3 -3
- package/dist/assets/{Filter-XcwxIcdg.js → Filter-ColuOFTn.js} +1 -1
- package/dist/assets/{Folder-CVKRyg4P.js → Folder-DtBjBkxy.js} +1 -1
- package/dist/assets/{Form Field Accessibility-CZo064GW.js → Form Field Accessibility-4Q_qv-b6.js } +1 -1
- package/dist/assets/{Form-jEIBfmsN.js → Form-BxpHmQzB.js} +1 -1
- package/dist/assets/Form.stories-BIv3u1UC.js +69 -0
- package/dist/assets/{FormControlLabel-BG9mNqQc.js → FormControlLabel-CB3xJ6ut.js} +1 -1
- package/dist/assets/{FormGroup-D8ZDwdpx.js → FormGroup-BhjYepGC.js} +1 -1
- package/dist/assets/{FormHelperText-CVc1kPQJ.js → FormHelperText--Cp1ogV3.js} +1 -1
- package/dist/assets/{FormLabel-CWWbs_c2.js → FormLabel-DB_AmiE2.js} +1 -1
- package/dist/assets/{FullScreenOverlay-GJH3R5s4.js → FullScreenOverlay-BtuzG-CQ.js} +1 -1
- package/dist/assets/{Generating Icons-DzaDzJO9.js → Generating Icons-Dr_ZkyrY.js } +1 -1
- package/dist/assets/{Globe-C0SMdL8H.js → Globe-DhuLu1HO.js} +1 -1
- package/dist/assets/{Grid-DnpTJXeB.js → Grid-DT7vGlwm.js} +1 -1
- package/dist/assets/{Group-BJr9nAnt.js → Group-9XOIBtaE.js} +1 -1
- package/dist/assets/GroupPicker.stories-Bke7SA6x.js +33 -0
- package/dist/assets/{Grow-DvH-Xu1P.js → Grow-DG6yJWeA.js} +1 -1
- package/dist/assets/{Hide-C2jA-JOQ.js → Hide-4CfPQa-Q.js} +1 -1
- package/dist/assets/{Hint-BXue9c6p.js → Hint-BaHNFCSW.js} +1 -1
- package/dist/assets/{HintLink.stories-FqiBpDGQ.js → HintLink.stories-BZvK3msS.js} +3 -3
- package/dist/assets/{Home-D8RWt2JU.js → Home-BD0pfCzQ.js} +1 -1
- package/dist/assets/Icon.stories-BSXh7e2h.js +16 -0
- package/dist/assets/{IconButton-BPR_sq0F.js → IconButton-BJHIZjwd.js} +1 -1
- package/dist/assets/IconWithTooltip.stories-D8GpX4_O.js +19 -0
- package/dist/assets/{IgaComponentsOdysseyStorybookThemeDecorator-DdMym0aA.js → IgaComponentsOdysseyStorybookThemeDecorator-CVt9siFq.js} +1 -1
- package/dist/assets/{InformationCircle-DRZkRWne.js → InformationCircle-C_nheCFB.js} +1 -1
- package/dist/assets/{InputAdornment-Clfg5IS6.js → InputAdornment-CeCSVIa-.js} +1 -1
- package/dist/assets/{InputBase-BYnzr12H.js → InputBase-Bm1MB3pl.js} +1 -1
- package/dist/assets/{Installing odyssey-react-mui-C75NTz-Q.js → Installing odyssey-react-mui-ezN4Xob1.js } +1 -1
- package/dist/assets/{Introduction-DqVi6Ihy.js → Introduction-Vd2VsZIT.js} +1 -1
- package/dist/assets/{Layout-XY1MknZE.js → Layout-Bj5b-E-p.js} +1 -1
- package/dist/assets/{Layout.stories-CnOmeQ-W.js → Layout.stories-C7EVraBE.js} +3 -3
- package/dist/assets/{Legacy Migrations-D05TylMb.js → Legacy Migrations-D0Ct1uEl.js } +1 -1
- package/dist/assets/{LinearProgress-Z53mwHnp.js → LinearProgress-BcCo3aqG.js} +1 -1
- package/dist/assets/{Link-thynTosX.js → Link-4r_7nyI-.js} +1 -1
- package/dist/assets/{Link-Cg_KakDo.js → Link-BXZlWRMJ.js} +1 -1
- package/dist/assets/{Link-BKNciOfr.js → Link-C_gwYBxh.js} +1 -1
- package/dist/assets/Link-CqFkrdZX.js +11 -0
- package/dist/assets/{Link.stories-Clh1Bkzm.js → Link.stories-VkTe4JmO.js} +1 -1
- package/dist/assets/{List-D0N4Xybp.js → List-BcXvgzsa.js} +1 -1
- package/dist/assets/{List-CZ2bN2bA.js → List-CEPzEOaM.js} +1 -1
- package/dist/assets/{ListItem-BNz1zv6N.js → ListItem-B5ux02dQ.js} +1 -1
- package/dist/assets/{ListSubheader-Dwx7m0BA.js → ListSubheader-CB8GDLQK.js} +1 -1
- package/dist/assets/ListSubheader.stories-BrcTqTtL.js +5 -0
- package/dist/assets/{Menu-DB2s3Jn0.js → Menu-BCZiiIwc.js} +1 -1
- package/dist/assets/{MenuButton-BffESdH9.js → MenuButton-ChyskluM.js} +1 -1
- package/dist/assets/{MenuButton-BrxZ5EA2.js → MenuButton-CsX9_3Ov.js} +1 -1
- package/dist/assets/MenuButton.stories-BQzhE18z.js +246 -0
- package/dist/assets/{MenuButton.stories-l4pnLJBo.js → MenuButton.stories-ioM9q6o0.js} +1 -1
- package/dist/assets/{MenuContext-UsOwIWpO.js → MenuContext-BkYpsFtp.js} +1 -1
- package/dist/assets/{MenuItem-Cmq8TfUJ.js → MenuItem-C_SjZMbY.js} +1 -1
- package/dist/assets/{MenuItem-nncwAWHS.js → MenuItem-CbPgBBBa.js} +1 -1
- package/dist/assets/{MenuItem-CpMFWgaz.js → MenuItem-Cu1R78Nk.js} +1 -1
- package/dist/assets/{MenuItem.stories-76iDefqo.js → MenuItem.stories-C0Lk9sD8.js} +1 -1
- package/dist/assets/MenuItem.stories-DneQgCON.js +38 -0
- package/dist/assets/{MenuList-D3GSt85L.js → MenuList-BTp-5mcb.js} +1 -1
- package/dist/assets/{Modal-C5P7v6Gt.js → Modal-DHgQg0pV.js} +1 -1
- package/dist/assets/{More-BAN0OFVF.js → More-D0XSbzen.js} +1 -1
- package/dist/assets/{MuiPropsContext-D6i6qZME.js → MuiPropsContext-DICjNBkr.js} +1 -1
- package/dist/assets/{MuiPropsContext-Df02xyKB.js → MuiPropsContext-ppLtceHL.js} +1 -1
- package/dist/assets/NativeSelect.stories-D0uGEhNl.js +114 -0
- package/dist/assets/{Notification-CqbysXIb.js → Notification-Dv2xKTFA.js} +1 -1
- package/dist/assets/{OdysseyProvider-PxeTd-wx.js → OdysseyProvider-Czbz3dwH.js} +1 -1
- package/dist/assets/{OdysseyProvider-rboSNY26.js → OdysseyProvider-n2ocdJ7D.js} +9 -9
- package/dist/assets/{OdysseyStorybookThemeDecorator-CHlNoX17.js → OdysseyStorybookThemeDecorator-Bokwb0ot.js} +1 -1
- package/dist/assets/OdysseyThemeProvider-DOMFnSU0.js +167 -0
- package/dist/assets/PageHeader-W8g920aE.js +6 -0
- package/dist/assets/{PageHeader.stories-DzO4wv8w.js → PageHeader.stories-DawNc8la.js} +2 -2
- package/dist/assets/PageHeader.stories-DbD6NKau.js +17 -0
- package/dist/assets/{PageHeader.stories-xG6qoBox.js → PageHeader.stories-Feg52Fpw.js} +2 -2
- package/dist/assets/PageTemplate-Ca4rHowX.js +8 -0
- package/dist/assets/{PageTemplate-BUVvgcIj.js → PageTemplate-Dwh4Xczm.js} +1 -1
- package/dist/assets/{PageTemplate.stories-M6ewVPJx.js → PageTemplate.stories-4X4rSj0y.js} +3 -3
- package/dist/assets/{PageTemplate.stories-XizDmXOT.js → PageTemplate.stories-DGwPd5VL.js} +3 -3
- package/dist/assets/{PageTemplate.stories-mpYXgZT4.js → PageTemplate.stories-DgqdwkTB.js} +1 -1
- package/dist/assets/{PaginatedTable.stories-BGRIoKo4.js → PaginatedTable.stories-SgfUVlw_.js} +3 -3
- package/dist/assets/{Paper-vUVrw-QB.js → Paper-DIvrMKVz.js} +1 -1
- package/dist/assets/PasswordField.stories-PoPO1_-6.js +121 -0
- package/dist/assets/PasswordlessComponentsOdysseyStorybookThemeDecorator-DfT96M4p.js +13 -0
- package/dist/assets/Picker.stories-DDz4NbBK.js +44 -0
- package/dist/assets/{PickerWithOptionAdornment.stories-DC1J_qH3.js → PickerWithOptionAdornment.stories-B7mFcKou.js} +3 -3
- package/dist/assets/{PlaceholderLogo-SOqcoUNb.js → PlaceholderLogo-KL8h77Of.js} +1 -1
- package/dist/assets/{Popper-CISS1LuJ.js → Popper-B9cGJ5Ql.js} +1 -1
- package/dist/assets/{Portal-DeJFqeW-.js → Portal-CznYNzyC.js} +1 -1
- package/dist/assets/ProgressBar.stories-Zs6E95x7.js +20 -0
- package/dist/assets/Radio-B6p2YsBk.js +1 -0
- package/dist/assets/{Radio-C5-GzJtb.js → Radio-BI2zWqqk.js} +1 -1
- package/dist/assets/{Radio-BlxlCYZY.js → Radio-DRPDZwez.js} +1 -1
- package/dist/assets/{Radio.stories-BrGqWocJ.js → Radio.stories-CjKWmmfC.js} +3 -3
- package/dist/assets/Radio.stories-DR-V8UW2.js +38 -0
- package/dist/assets/{RadioGroup-BcwUBGJo.js → RadioGroup-BxX8JmFv.js} +1 -1
- package/dist/assets/{RadioGroup-sL620ofZ.js → RadioGroup-DDMlZ9Ib.js} +1 -1
- package/dist/assets/RadioGroup-DpcTcdEf.js +10 -0
- package/dist/assets/RadioGroup.stories-B-gDjvcs.js +88 -0
- package/dist/assets/{RadioGroup.stories-CBlRX0KY.js → RadioGroup.stories-CWqmr1JP.js} +1 -1
- package/dist/assets/{Refresh-ZZ_nNcXg.js → Refresh-4GRZURAB.js} +1 -1
- package/dist/assets/{ResourceAccessPolicyComponentsStorybookThemeDecorator-C-AyLafs.js → ResourceAccessPolicyComponentsStorybookThemeDecorator-Bp-cqzBg.js} +1 -1
- package/dist/assets/{Right-to-Left (RTL)-DMJ1RF_H.js → Right-to-Left (RTL)-BOiEzeMb.js } +1 -1
- package/dist/assets/{ScopedCssBaseline-BOa6kM98.js → ScopedCssBaseline-CbMqVD26.js} +1 -1
- package/dist/assets/{ScreenReaderText-toqV93JE.js → ScreenReaderText-B0JAp-xP.js} +1 -1
- package/dist/assets/{ScreenReaderText-BfpueyoK.js → ScreenReaderText-CEUjhx3k.js} +2 -2
- package/dist/assets/ScreenReaderText.stories-BozDnS6f.js +8 -0
- package/dist/assets/{Search-0744_rm_.js → Search-C3XUnqCP.js} +1 -1
- package/dist/assets/{SearchDropdown.stories-lpj_p0pn.js → SearchDropdown.stories-DhfVkXGL.js} +3 -3
- package/dist/assets/{SearchField-DmDpB-Sd.js → SearchField-CyY1AHVm.js} +1 -1
- package/dist/assets/SearchField.stories-BdFBCS4f.js +37 -0
- package/dist/assets/SecureSettingsIndicator.stories-DsTRCtQb.js +19 -0
- package/dist/assets/{Select-DE0mojaE.js → Select-DHIWx9ln.js} +1 -1
- package/dist/assets/Select-FP2lhUA8.js +15 -0
- package/dist/assets/Select.stories-jKzGOaKi.js +233 -0
- package/dist/assets/{Server-1eTAy_EZ.js → Server-CirxxKai.js} +1 -1
- package/dist/assets/{Settings-CnuBvsmb.js → Settings-DoysZs_u.js} +1 -1
- package/dist/assets/{Setup-CG2Lh3Ff.js → Setup-SFMR9PGx.js} +1 -1
- package/dist/assets/{Shadow DOM-D2Xm68lR.js → Shadow DOM-CNgotzSG.js } +1 -1
- package/dist/assets/{Show-C6ORd-wr.js → Show-8RSN9YQN.js} +1 -1
- package/dist/assets/{SideNav-WgViafRP.js → SideNav-DhFZrYzU.js} +1 -1
- package/dist/assets/SideNav-JzVY3dUV.js +85 -0
- package/dist/assets/{SideNav.stories-Crrw-ySP.js → SideNav.stories-BD_yZ_n7.js} +1 -1
- package/dist/assets/{Skeleton-DxFSebyW.js → Skeleton-CxK3bCNC.js} +1 -1
- package/dist/assets/{Snackbar-C2LtiN82.js → Snackbar-BecQgiI0.js} +1 -1
- package/dist/assets/{Stack-jxMWaEAU.js → Stack-B9cZmjdi.js} +1 -1
- package/dist/assets/{Stack-Duw-TXBf.js → Stack-Bgh4xems.js} +1 -1
- package/dist/assets/Stack.stories-C5_9i8Bj.js +1 -0
- package/dist/assets/{StaticTable.stories-D0R7o_xf.js → StaticTable.stories-GkTKmzDs.js} +3 -3
- package/dist/assets/{Status-DyDCzqET.js → Status-BDUUaZsQ.js} +1 -1
- package/dist/assets/{Status.stories-CT9I5C3E.js → Status.stories-C_QZmEqw.js} +2 -2
- package/dist/assets/{Stepper.stories-BGyCeC7L.js → Stepper.stories-x-eW3EPk.js} +3 -3
- package/dist/assets/{Surface-s9E2mDWU.js → Surface-DIfiwHrw.js} +1 -1
- package/dist/assets/{Switch.stories-CiNsUF_b.js → Switch.stories-DtS0A4PX.js} +3 -3
- package/dist/assets/{SwitchBase-C_6ALR3v.js → SwitchBase-fGL3z_gG.js} +1 -1
- package/dist/assets/{Sync-Bo0k4rYZ.js → Sync-DbBKVuQB.js} +1 -1
- package/dist/assets/{Tabs-BPWnyCAU.js → Tabs-By4ALAid.js} +1 -1
- package/dist/assets/{Tabs-BnDKqj9p.js → Tabs-C_TNnT1n.js} +3 -3
- package/dist/assets/{Tabs.stories-xaGU0YrM.js → Tabs.stories-Dpxwprx8.js} +1 -1
- package/dist/assets/{Tag-CYK8pNzu.js → Tag-Cam_AAJc.js} +1 -1
- package/dist/assets/Tag.stories-DHsdO_Ew.js +96 -0
- package/dist/assets/{TagList-CunLkaIS.js → TagList-BgRJrZj8.js} +1 -1
- package/dist/assets/{TextField-DF5R_omM.js → TextField-eTiyghxK.js} +1 -1
- package/dist/assets/TextField.stories-asnjmcPk.js +177 -0
- package/dist/assets/Toast.stories-Cwx6XwLn.js +164 -0
- package/dist/assets/{ToastManager.stories-C6VVt3In.js → ToastManager.stories-UZvhSatu.js} +3 -3
- package/dist/assets/{Tooltip-B-PXZNTK.js → Tooltip-BMTVRAEn.js} +1 -1
- package/dist/assets/{Tooltip-yxN-KFjL.js → Tooltip-DVPGLNQs.js} +1 -1
- package/dist/assets/Tooltip.stories-272_RBTH.js +68 -0
- package/dist/assets/{TopNav-CCO_Sukh.js → TopNav-DXz-GdZX.js} +1 -1
- package/dist/assets/TopNav.stories-BbNTTN-h.js +13 -0
- package/dist/assets/{TransitionGroupContext-yBqGXZYI.js → TransitionGroupContext-CTI9LvjA.js} +1 -1
- package/dist/assets/{Typography-CjpHjc10.js → Typography-B8ZKtxRi.js} +1 -1
- package/dist/assets/Typography-BcNOcPdV.js +1 -0
- package/dist/assets/{Typography-Jr4Brrb5.js → Typography-D4Laguzq.js} +1 -1
- package/dist/assets/{Typography-CP569bC2.js → Typography-DlDlPYOB.js} +1 -1
- package/dist/assets/Typography-DnTFPtdP.js +9 -0
- package/dist/assets/{Typography.stories-DjnTqZOD.js → Typography.stories-BLBo_W9U.js} +1 -1
- package/dist/assets/Typography.stories-BknEcNqq.js +73 -0
- package/dist/assets/Typography.stories-Cl9dtqr_.js +73 -0
- package/dist/assets/{OdysseyThemeProvider-BA0_xP7N.js → UDComponentsStorybookThemeDecorator-BXzQsObU.js} +82 -17
- package/dist/assets/{UiShell.stories-Cz9ZqBh6.js → UiShell.stories-eL8NYtFG.js} +19 -19
- package/dist/assets/{UiShellProvider-oDzwqt6Y.js → UiShellProvider-Cd_5esNt.js} +1 -1
- package/dist/assets/{Upload-nb-hV6Ym.js → Upload-Cy-cphyA.js} +1 -1
- package/dist/assets/{User-BEFwQRGi.js → User-DRi5hhiP.js} +1 -1
- package/dist/assets/{UserProfile-BM4I2P2Q.js → UserProfile-CwV_oL5l.js} +1 -1
- package/dist/assets/UserProfile.stories-DgRCwF_j.js +14 -0
- package/dist/assets/{UserProfileMenuButton.stories-PNsdwClg.js → UserProfileMenuButton.stories-B5zb3hp4.js} +3 -3
- package/dist/assets/{Video-DHeibuka.js → Video-DAMdjIe3.js} +1 -1
- package/dist/assets/{WarningFilled-DOHs-JmZ.js → WarningFilled-DJX60tUO.js} +1 -1
- package/dist/assets/{WithTooltip-IO6J4KBT-DQaUt46F.js → WithTooltip-IO6J4KBT-Ccs9TgLm.js} +2 -2
- package/dist/assets/WorkflowsComponentsStorybookThemeDecorator-BQlPPRvP.js +1 -0
- package/dist/assets/{WpComponentsStorybookThemeDecorator-Db3wSJC0.js → WpComponentsStorybookThemeDecorator-CJ_rgsix.js} +1 -1
- package/dist/assets/{axe-9-4xvXvL.js → axe-B0QS9Vy6.js} +1 -1
- package/dist/assets/{axeRun-w5CBCc9V.js → axeRun-C-zlWaxU.js} +1 -1
- package/dist/assets/{blocks-D521Uej3.js → blocks-BI5YpTSd.js} +6 -6
- package/dist/assets/{colorManipulator-BYcVMQmD.js → colorManipulator-BprDRxgx.js} +1 -1
- package/dist/assets/{createStyled-BKWdp2xc.js → createStyled-CNzidwe1.js} +1 -1
- package/dist/assets/{createSvgIcon-CaWcxZng.js → createSvgIcon-CoE7vjSC.js} +1 -1
- package/dist/assets/{dialogActionsClasses-J0iu7jYO.js → dialogActionsClasses-DejbXXRS.js} +1 -1
- package/dist/assets/formatter-QJ4M4OGQ-D0ewJSfL.js +1 -0
- package/dist/assets/{iconUtils-DmnxHGuV.js → iconUtils-CeRi1WMA.js} +1 -1
- package/dist/assets/{iframe-CQjT1fxh.js → iframe-Cav9rlxr.js} +132 -132
- package/dist/assets/{index-D5BUEpVX.js → index-BQ9nbbSk.js} +1 -1
- package/dist/assets/index-C5VVYn_U.js +1 -0
- package/dist/assets/{index-C77ZwfYm.js → index-CLFx8Kta.js} +1 -1
- package/dist/assets/index-Dui69PFe.js +1 -0
- package/dist/assets/index.es-0rJMfM0E.js +8 -0
- package/dist/assets/{index.esm-Bohtd3OQ.js → index.esm-C_XHPSqo.js} +1 -1
- package/dist/assets/{index.esm-Dvk_qjX0.js → index.esm-CsYcjPN9.js} +1 -1
- package/dist/assets/{index.modern-DX91rx7y.js → index.modern-DBSGWaP4.js} +1 -1
- package/dist/assets/{inputUtils-BBH9ADKa.js → inputUtils-BOLvDTmI.js} +1 -1
- package/dist/assets/{personData-CV-uVWcJ.js → personData-BPEVF-Qf.js} +1 -1
- package/dist/assets/{personData-Bi-Gg5yH.js → personData-BoHZtVJF.js} +1 -1
- package/dist/assets/{pickerComponentPropsMetaData-aBuTm1AZ.js → pickerComponentPropsMetaData-DZI7kYjo.js} +1 -1
- package/dist/assets/{react-18-DkaAwiRb.js → react-18-DjPF3SW_.js} +1 -1
- package/dist/assets/{renderUiShell.stories-R-ckgOdr.js → renderUiShell.stories-wVSloQJP.js} +23 -23
- package/dist/assets/{resolveComponentProps-DGxe9oED.js → resolveComponentProps-m1IywaLB.js} +1 -1
- package/dist/assets/{syntaxhighlighter-IQDEPFLK-CL1ROTuv.js → syntaxhighlighter-IQDEPFLK-Pv8RB4wM.js} +1 -1
- package/dist/assets/{tableRowClasses-Bk1uFtwh.js → tableRowClasses-DYosAqvx.js} +1 -1
- package/dist/assets/{tableSortLabelClasses-i_d6KGQQ.js → tableSortLabelClasses-BkDwo_43.js} +1 -1
- package/dist/assets/{useAutocomplete-DG_kuhWb.js → useAutocomplete-f6aTM-6O.js} +1 -1
- package/dist/assets/{useControlled-BUhC7uWK.js → useControlled-4m9Fbl4Y.js} +1 -1
- package/dist/assets/{useIsFocusVisible-D1xCTBdT.js → useIsFocusVisible-Cu721A7w.js} +1 -1
- package/dist/assets/{useMobilePicker-DJQJ3D8W.js → useMobilePicker-0Zj6ZxWR.js} +1 -1
- package/dist/assets/{useMountLifecycleEffect-BNByHT_g.js → useMountLifecycleEffect-C7Ycb3_3.js} +1 -1
- package/dist/assets/{useOdysseyDateFields-BVmmVg1G.js → useOdysseyDateFields-BbpeJekS.js} +3 -3
- package/dist/assets/{useScrollIndication-BGw7dgC5.js → useScrollIndication-4J4XfL4q.js} +4 -4
- package/dist/assets/{useSlot-BMAKysxJ.js → useSlot-CvipdriX.js} +1 -1
- package/dist/assets/{useThemeProps-BCUqwy59.js → useThemeProps-C9dAJTwo.js} +1 -1
- package/dist/assets/useThemeProps-CITViJJe.js +1 -0
- package/dist/assets/useTranslation-DjB2Li3Q.js +1 -0
- package/dist/assets/{useUniqueId-DG6rB8dI.js → useUniqueId-CXfTvpAs.js} +1 -1
- package/dist/assets/useUniqueId-MZzCNWze.js +11 -0
- package/dist/assets/{utilities.esm-D9akhJLQ.js → utilities.esm-CFtdCfoJ.js} +1 -1
- package/dist/assets/{utils-D-QCjykO.js → utils-fJIW_l91.js} +1 -1
- package/dist/cjs/FullScreenOverlayContext.cjs +8 -2
- package/dist/cjs/FullScreenOverlayContext.cjs.map +1 -1
- package/dist/cjs/OdysseyProvider.cjs +2 -0
- package/dist/cjs/OdysseyProvider.cjs.map +1 -1
- package/dist/cjs/Select.cjs +13 -15
- package/dist/cjs/Select.cjs.map +1 -1
- package/dist/cjs/__internal.cjs +22 -0
- package/dist/cjs/__internal.cjs.map +1 -1
- package/dist/cjs/i18n.generated/i18n.cjs +1 -1
- package/dist/cjs/i18n.generated/i18n.cjs.map +1 -1
- package/dist/cjs/i18n.generated/i18n.resources.cjs +1 -1
- package/dist/cjs/i18n.generated/i18n.resources.cjs.map +1 -1
- package/dist/cjs/i18n.generated/i18n.types.cjs +1 -1
- package/dist/cjs/i18n.generated/i18n.types.cjs.map +1 -1
- package/dist/cjs/labs/DataFilters.cjs +14 -11
- package/dist/cjs/labs/DataFilters.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs +2 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +17 -0
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +1 -0
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
- package/dist/esm/FullScreenOverlayContext.js +8 -2
- package/dist/esm/FullScreenOverlayContext.js.map +1 -1
- package/dist/esm/OdysseyProvider.js +2 -0
- package/dist/esm/OdysseyProvider.js.map +1 -1
- package/dist/esm/Select.js +13 -15
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/__internal.js +2 -0
- package/dist/esm/__internal.js.map +1 -1
- package/dist/esm/i18n.generated/i18n.js +1 -1
- package/dist/esm/i18n.generated/i18n.js.map +1 -1
- package/dist/esm/i18n.generated/i18n.resources.js +1 -1
- package/dist/esm/i18n.generated/i18n.resources.js.map +1 -1
- package/dist/esm/i18n.generated/i18n.types.js +1 -1
- package/dist/esm/i18n.generated/i18n.types.js.map +1 -1
- package/dist/esm/labs/DataFilters.js +14 -11
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js +2 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +17 -0
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +1 -0
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
- package/dist/iframe.html +1 -1
- package/dist/index.es.js +3173 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.iife.js +9 -0
- package/dist/index.iife.js.map +1 -0
- package/dist/index.json +1 -1
- package/dist/index.umd.cjs +9 -0
- package/dist/index.umd.cjs.map +1 -0
- package/dist/project.json +1 -1
- package/dist/sb-addons/storybook-6/manager-bundle.js +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/types/FullScreenOverlayContext.d.ts +5 -1
- package/dist/types/FullScreenOverlayContext.d.ts.map +1 -1
- package/dist/types/OdysseyProvider.d.ts +1 -1
- package/dist/types/OdysseyProvider.d.ts.map +1 -1
- package/dist/types/Select.d.ts.map +1 -1
- package/dist/types/__internal.d.ts +2 -0
- package/dist/types/__internal.d.ts.map +1 -1
- package/dist/types/getTranslationServices.browser.test.d.ts +1 -0
- package/dist/types/getTranslationServices.browser.test.js +88 -0
- package/dist/types/getTranslationServices.browser.test.js.map +1 -0
- package/dist/types/getTranslationServices.d.ts +89 -0
- package/dist/types/getTranslationServices.js +77 -0
- package/dist/types/getTranslationServices.js.map +1 -0
- package/dist/types/getTypedObjectEntries.d.ts +1 -0
- package/dist/types/getTypedObjectEntries.js +2 -0
- package/dist/types/getTypedObjectEntries.js.map +1 -0
- package/dist/types/i18n.generated/i18n.d.ts +5 -1
- package/dist/types/i18n.generated/i18n.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.resources.d.ts +7 -1
- package/dist/types/i18n.generated/i18n.resources.d.ts.map +1 -1
- package/dist/types/i18n.generated/i18n.types.d.ts +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/labs/DataFilters.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts +2 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
- package/dist/types/translationServices.types.d.ts +2 -0
- package/dist/types/translationServices.types.js +34 -0
- package/dist/types/translationServices.types.js.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/ok.yaml +1 -0
- package/package.json +7 -7
- package/src/getTranslationServices.browser.test.tsx +173 -0
- package/src/getTranslationServices.tsx +288 -0
- package/src/getTypedObjectEntries.ts +3 -0
- package/src/index.ts +2 -0
- package/src/translationServices.types.ts +36 -0
- package/src/tsconfig.json +7 -0
- package/tsconfig.json +41 -0
- package/vite.config.project.ts +61 -0
- package/vite.config.ts +21 -0
- package/vite.config.ts.bak +33 -0
- package/vitest-browser-setup.ts +14 -0
- package/vitest-jsdom-setup.ts +13 -0
- package/vitest-node-setup.ts +13 -0
- package/vitest.config.project.ts +16 -0
- package/vitest.config.ts +27 -0
- package/vitest.config.ts.bak +27 -0
- package/dist/assets/Accordion.stories-X3jwsTUf.js +0 -85
- package/dist/assets/AppSwitcher.stories-CwjWKK9x.js +0 -100
- package/dist/assets/AppTile.stories-BfdQQaCS.js +0 -136
- package/dist/assets/ArrowRight-C5USrGY5.js +0 -1
- package/dist/assets/Box-Dieb6jd6.js +0 -11
- package/dist/assets/Breadcrumb.stories-BOG-nvIn.js +0 -19
- package/dist/assets/BreadcrumbList.stories-BjYldubq.js +0 -81
- package/dist/assets/Card-BejcE3ak.js +0 -8
- package/dist/assets/Checkbox.stories-CnAqBzmf.js +0 -113
- package/dist/assets/CheckboxGroup.stories-CIRolYTR.js +0 -89
- package/dist/assets/Close-CELHOmN_.js +0 -1
- package/dist/assets/Custom Theming.stories-CWCReKRB.js +0 -95
- package/dist/assets/DataFilters-4og6bOFS.js +0 -1
- package/dist/assets/DataTable-DV-P1c62.js +0 -41
- package/dist/assets/DatePicker.stories-DWhZFsWV.js +0 -133
- package/dist/assets/DebugMenu-3nsw5Xt7.js +0 -1
- package/dist/assets/Design Tokens-OxRvZCcK.js +0 -4
- package/dist/assets/Dialog-DiU8nQnH.js +0 -1
- package/dist/assets/Dialog.stories-Cl9r8_yI.js +0 -207
- package/dist/assets/Divider.stories-BEuF_CK6.js +0 -5
- package/dist/assets/Drawer.stories-we3mu0fd.js +0 -95
- package/dist/assets/EmptyState.stories-BoZoxyTs.js +0 -11
- package/dist/assets/Fieldset.stories-B_r0XFjE.js +0 -15
- package/dist/assets/Form.stories-Bge8Frr0.js +0 -69
- package/dist/assets/GroupPicker.stories-Oc5zKcw1.js +0 -33
- package/dist/assets/Icon.stories-CB1sFVG5.js +0 -16
- package/dist/assets/IconWithTooltip.stories-qhJ3BM2A.js +0 -19
- package/dist/assets/Link-Djl4opNm.js +0 -11
- package/dist/assets/ListSubheader.stories-nA_TcAiG.js +0 -5
- package/dist/assets/MenuButton.stories-CtQrmY2o.js +0 -246
- package/dist/assets/MenuItem.stories-CQ-735qG.js +0 -38
- package/dist/assets/NativeSelect.stories-D2Ob7KE5.js +0 -114
- package/dist/assets/PageHeader-DHtVYyb-.js +0 -6
- package/dist/assets/PageHeader.stories-CCvS30-w.js +0 -17
- package/dist/assets/PageTemplate-Dfm2PU1P.js +0 -8
- package/dist/assets/PasswordField.stories-T70RtAAe.js +0 -121
- package/dist/assets/Picker.stories-DHQ88s15.js +0 -44
- package/dist/assets/ProgressBar.stories-Cyam9OIf.js +0 -258
- package/dist/assets/RadioGroup-D8i98nDO.js +0 -10
- package/dist/assets/ScreenReaderText.stories-C1dE1n7A.js +0 -8
- package/dist/assets/SearchField.stories-LT1ewC26.js +0 -37
- package/dist/assets/Select-CQoJvuLM.js +0 -15
- package/dist/assets/Select.stories-B8cWbr6v.js +0 -233
- package/dist/assets/SideNav-tldrZCp2.js +0 -85
- package/dist/assets/Stack.stories-B9W1XlQs.js +0 -1
- package/dist/assets/Tag.stories-CFd40qf5.js +0 -96
- package/dist/assets/TextField.stories-julPXfI1.js +0 -177
- package/dist/assets/Toast.stories-BuX-cdk6.js +0 -164
- package/dist/assets/Tooltip.stories-BXjrRGGM.js +0 -68
- package/dist/assets/TopNav.stories-C3X2SUf9.js +0 -13
- package/dist/assets/Typography-Dy2bDiU6.js +0 -9
- package/dist/assets/Typography.stories-CBkQTJR8.js +0 -73
- package/dist/assets/Typography.stories-dzvvlIBm.js +0 -73
- package/dist/assets/UserProfile.stories-BOMOuxsL.js +0 -14
- package/dist/assets/WorkflowsComponentsStorybookThemeDecorator-DrWk22II.js +0 -1
- package/dist/assets/formatter-QJ4M4OGQ-BVt8pa2h.js +0 -1
- package/dist/assets/index-5Qx3hCfP.js +0 -1
- package/dist/assets/index-Vzl5wUDu.js +0 -1
- package/dist/assets/useThemeProps-Bc2iWdri.js +0 -1
- package/dist/index.d.ts +0 -22
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -25
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../../../node_modules/stylis/src/Enum.js","../../../../node_modules/stylis/src/Utility.js","../../../../node_modules/stylis/src/Tokenizer.js","../../../../node_modules/stylis/src/Parser.js","../../../../node_modules/stylis/src/Serializer.js","../../../../node_modules/stylis/src/Middleware.js","../../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../../../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../../../../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","../../../../node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js","../../../../node_modules/i18next/dist/esm/i18next.js","../../../../node_modules/void-elements/index.js","../../../../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../../../../node_modules/react-i18next/dist/es/utils.js","../../../../node_modules/react-i18next/dist/es/unescape.js","../../../../node_modules/react-i18next/dist/es/defaults.js","../../../../node_modules/react-i18next/dist/es/i18nInstance.js","../../../../node_modules/react-i18next/dist/es/TransWithoutContext.js","../../../../node_modules/react-i18next/dist/es/initReactI18next.js","../../../../node_modules/react-i18next/dist/es/context.js","../../../../node_modules/react-i18next/dist/es/Trans.js","../../../../node_modules/react-i18next/dist/es/useTranslation.js","../../../../node_modules/react-i18next/dist/es/I18nextProvider.js","../src/getTypedObjectEntries.ts","../src/getTranslationServices.tsx","../src/translationServices.types.ts"],"sourcesContent":["var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import * as ReactJSXRuntime from 'react/jsx-runtime';\nimport { h as hasOwn, E as Emotion, c as createEmotionProps } from '../../dist/emotion-element-f0de968e.browser.esm.js';\nimport 'react';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar Fragment = ReactJSXRuntime.Fragment;\nvar jsx = function jsx(type, props, key) {\n if (!hasOwn.call(props, 'css')) {\n return ReactJSXRuntime.jsx(type, props, key);\n }\n\n return ReactJSXRuntime.jsx(Emotion, createEmotionProps(type, props), key);\n};\nvar jsxs = function jsxs(type, props, key) {\n if (!hasOwn.call(props, 'css')) {\n return ReactJSXRuntime.jsxs(type, props, key);\n }\n\n return ReactJSXRuntime.jsxs(Emotion, createEmotionProps(type, props), key);\n};\n\nexport { Fragment, jsx, jsxs };\n","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last && last.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = function (obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code && code.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(_ref => {\n let [observer, numTimesAdded] = _ref;\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(_ref2 => {\n let [observer, numTimesAdded] = _ref2;\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false,\n skipCopy: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(res))) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(res);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const defaultValue = needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] || options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, options);\n if (needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && !isString(options.replace) ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language || resolved.usedLng, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = this.language || resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (isString(options.context) || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nconst capitalize = string => string.charAt(0).toUpperCase() + string.slice(1);\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n if (typeof Intl !== 'undefined' && typeof Intl.getCanonicalLocales !== 'undefined') {\n try {\n let formattedCode = Intl.getCanonicalLocales(code)[0];\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n } catch (e) {}\n }\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: n => Number(n > 1),\n 2: n => Number(n != 1),\n 3: n => 0,\n 4: n => Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2),\n 5: n => Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5),\n 6: n => Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2),\n 7: n => Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2),\n 8: n => Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3),\n 9: n => Number(n >= 2),\n 10: n => Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4),\n 11: n => Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3),\n 12: n => Number(n % 10 != 1 || n % 100 == 11),\n 13: n => Number(n !== 0),\n 14: n => Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3),\n 15: n => Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2),\n 16: n => Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2),\n 17: n => Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1),\n 18: n => Number(n == 0 ? 0 : n == 1 ? 1 : 2),\n 19: n => Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3),\n 20: n => Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2),\n 21: n => Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0),\n 22: n => Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3)\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst createRules = () => {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n};\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n const rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n } catch (err) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nconst deepFindWithDefaults = function (data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp && existingRegExp.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (val, lng, options) => {\n let optForCache = options;\n if (options && options.interpolationkey && options.formatParams && options.formatParams[options.interpolationkey] && options[options.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [options.interpolationkey]: undefined\n };\n }\n const key = lng + JSON.stringify(optForCache);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n};\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = isString(lngs) ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n if (options.keyPrefix !== '') options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n?.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { Fragment, isValidElement, cloneElement, createElement, Children } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { isObject, isString, warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nconst hasChildren = (node, checkLength) => {\n if (!node) return false;\n const base = node.props?.children ?? node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n};\nconst getChildren = node => {\n if (!node) return [];\n const children = node.props?.children ?? node.children;\n return node.props?.i18nIsDynamicList ? getAsArray(children) : children;\n};\nconst hasValidReactChildren = children => Array.isArray(children) && children.every(isValidElement);\nconst getAsArray = data => Array.isArray(data) ? data : [data];\nconst mergeProps = (source, target) => {\n const newTarget = {\n ...target\n };\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n};\nexport const nodesToString = (children, i18nOptions, i18n, i18nKey) => {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions?.transSupportBasicHtmlNodes ? i18nOptions.transKeepBasicHtmlNodesFor ?? [] : [];\n childrenArray.forEach((child, childIndex) => {\n if (isString(child)) {\n stringNode += `${child}`;\n return;\n }\n if (isValidElement(child)) {\n const {\n props,\n type\n } = child;\n const childPropsCount = Object.keys(props).length;\n const shouldKeepChild = keepArray.indexOf(type) > -1;\n const childChildren = props.children;\n if (!childChildren && shouldKeepChild && !childPropsCount) {\n stringNode += `<${type}/>`;\n return;\n }\n if (!childChildren && (!shouldKeepChild || childPropsCount) || props.i18nIsDynamicList) {\n stringNode += `<${childIndex}></${childIndex}>`;\n return;\n }\n if (shouldKeepChild && childPropsCount === 1 && isString(childChildren)) {\n stringNode += `<${type}>${childChildren}</${type}>`;\n return;\n }\n const content = nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${childIndex}>${content}</${childIndex}>`;\n return;\n }\n if (child === null) {\n warn(i18n, 'TRANS_NULL_VALUE', `Passed in a null value as child`, {\n i18nKey\n });\n return;\n }\n if (isObject(child)) {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n return;\n }\n warn(i18n, 'TRANS_INVALID_OBJ', `Invalid child - Object should only have keys {{ value, format }} (format is optional).`, {\n i18nKey,\n child\n });\n return;\n }\n warn(i18n, 'TRANS_INVALID_VAR', `Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`, {\n i18nKey,\n child\n });\n });\n return stringNode;\n};\nconst renderNodes = (children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) => {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = {};\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(data, child);\n });\n };\n getData(children);\n const ast = HTML.parse(`<0>${targetString}</0>`);\n const opts = {\n ...data,\n ...combinedTOpts\n };\n const renderInner = (child, node, rootReactNode) => {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props?.i18nIsDynamicList ? childs : mappedChildren;\n };\n const pushTranslatedJSX = (child, inner, mem, i, isVoid) => {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n const props = {\n ...c.props\n };\n delete props.i18nIsDynamicList;\n return createElement(c.type, {\n ...props,\n key: i,\n ref: c.ref\n }, isVoid ? null : inner);\n }));\n }\n };\n const mapAST = (reactNode, astNode, rootReactNode) => {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children?.[0]?.content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && isObject(child) && child.dummy && !isElement;\n const isKnownComponent = isObject(children) && Object.hasOwnProperty.call(children, node.name);\n if (isString(child)) {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}</${node.name}>`);\n }\n } else if (isObject(child) && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n };\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n};\nconst fixComponentProps = (component, index, translation) => {\n const componentKey = component.key || index;\n const comp = cloneElement(component, {\n key: componentKey\n });\n if (!comp.props || !comp.props.children || translation.indexOf(`${index}/>`) < 0 && translation.indexOf(`${index} />`) < 0) {\n return comp;\n }\n function Componentized() {\n return createElement(Fragment, null, comp);\n }\n return createElement(Componentized, {\n key: componentKey\n });\n};\nconst generateArrayComponents = (components, translation) => components.map((c, index) => fixComponentProps(c, index, translation));\nconst generateObjectComponents = (components, translation) => {\n const componentMap = {};\n Object.keys(components).forEach(c => {\n Object.assign(componentMap, {\n [c]: fixComponentProps(components[c], c, translation)\n });\n });\n return componentMap;\n};\nconst generateComponents = (components, translation, i18n, i18nKey) => {\n if (!components) return null;\n if (Array.isArray(components)) {\n return generateArrayComponents(components, translation);\n }\n if (isObject(components)) {\n return generateObjectComponents(components, translation);\n }\n warnOnce(i18n, 'TRANS_INVALID_COMPONENTS', `<Trans /> \"components\" prop expects an object or array`, {\n i18nKey\n });\n return null;\n};\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', `Trans: You need to pass in an i18next instance using i18nextReactModule`, {\n i18nKey\n });\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n const reactI18nextOptions = {\n ...getDefaults(),\n ...i18n.options?.react\n };\n let namespaces = ns || t.ns || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n const nodeAsString = nodesToString(children, reactI18nextOptions, i18n, i18nKey);\n const defaultValue = defaults || nodeAsString || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options?.interpolation?.defaultVariables) {\n values = values && Object.keys(values).length > 0 ? {\n ...values,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n }\n const interpolationOverride = values || count !== undefined && !i18n.options?.interpolation?.alwaysFormat || !children ? tOptions.interpolation : {\n interpolation: {\n ...tOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...tOptions,\n context: context || tOptions.context,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n const translation = key ? t(key, combinedTOpts) : defaultValue;\n const generatedComponents = generateComponents(components, translation, i18n, i18nKey);\n const content = renderNodes(generatedComponents || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n const useAsParent = parent ?? reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n?.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t?.ns || defaultNSFromContext || i18n?.options?.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","export const getTypedObjectEntries = <ObjectType extends object>(\n obj: ObjectType,\n) => Object.entries(obj) as [keyof ObjectType, ObjectType[keyof ObjectType]][];\n","import type { UseTranslationOptions as UseI18NextTranslationOptions } from \"react-i18next\";\n\nimport i18n, { createInstance, TOptions } from \"i18next\";\nimport { memo, ReactElement, ReactNode, useEffect } from \"react\";\nimport {\n I18nextProvider,\n initReactI18next,\n Trans as TransI18nNext,\n TransProps as TransI18nNextProps,\n useTranslation as useI18nNextTranslation,\n} from \"react-i18next\";\n\nimport type { DefaultSupportedLanguages } from \"./translationServices.types.js\";\n\nimport { getTypedObjectEntries } from \"./getTypedObjectEntries.js\";\n\n/** A record of translation keys and their corresponding translated strings. */\nexport type I18nTranslationBundle = Record<string, string>;\n\n/** A record of language codes and their corresponding translation bundles. */\nexport type ResourcesRecord = Record<string, I18nTranslationBundle>;\n\n/**\n * Props for the `getTranslationServices` function.\n * It infers the supported language codes and bundle types from the `resources` object.\n */\nexport type GetTranslationServicesProps<\n TNamespace extends string,\n TResources extends ResourcesRecord,\n TDefaultLanguageCode extends Extract<keyof TResources, string>,\n> = {\n /**\n * Default language code to fall back to.\n * MUST be one of the keys in the `resources` object.\n */\n defaultLanguageCode: TDefaultLanguageCode;\n /** The namespace for the translation resources. */\n namespace: TNamespace;\n /** The resources object, from which all language codes and bundle types are inferred. */\n resources: TResources;\n};\n\nexport type TranslationOverrides<\n SupportedLanguageCodes extends string = DefaultSupportedLanguages,\n> = Record<SupportedLanguageCodes, Partial<I18nTranslationBundle>>;\n\nexport type TranslationProviderProps<\n SupportedLanguageCodes extends string = DefaultSupportedLanguages,\n> = {\n children: ReactNode;\n languageCode?: SupportedLanguageCodes;\n translationOverrides?: TranslationOverrides<SupportedLanguageCodes>;\n};\n\ntype ExtractPlaceholders<TString extends string> =\n TString extends `${string}{{${infer PlaceholderId}}}${infer Rest}`\n ? PlaceholderId | ExtractPlaceholders<Rest>\n : never;\n\nexport type PlaceholderValues =\n | string\n | number\n | TemplateStringsArray\n | (string | TemplateStringsArray)[];\n\nexport type PlaceholderRecord<\n TResourceBundle extends I18nTranslationBundle,\n TKey extends keyof TResourceBundle & string,\n> = Record<ExtractPlaceholders<TResourceBundle[TKey]>, PlaceholderValues>;\n\n/**\n * Custom function signature that enforces strong typing\n * against the keys of a specific resource bundle.\n */\nexport type TypedTFunction<TResourceBundle extends I18nTranslationBundle> = <\n TKey extends keyof TResourceBundle & string,\n>(\n key: TKey | TKey[],\n ...options: TKey extends keyof TResourceBundle\n ? // key exists in the resource bundle, we check for placeholders\n [ExtractPlaceholders<TResourceBundle[TKey]>] extends [never]\n ? [options?: TOptions] // no placeholders, options are optional\n : [options: TOptions<PlaceholderRecord<TResourceBundle, TKey>>] // placeholders exist, placeholder values are required\n : // key does not exist in the resource bundle\n [never]\n) => string;\n\n/**\n * Return type of our strongly-typed `useTranslation` hook.\n *\n * Matches the original `useTranslation` return type, but with\n * our `TypedTFunction` rather than the generic `TFunction`.\n */\nexport type TypedUseTranslationResponse<\n TResourceBundle extends I18nTranslationBundle,\n> = [t: TypedTFunction<TResourceBundle>, i18n: typeof i18n, ready: boolean] & {\n i18n: typeof i18n;\n ready: boolean;\n t: TypedTFunction<TResourceBundle>;\n};\n\nexport interface IGenericTranslationProvider {\n <SupportedLanguageCodes extends string = DefaultSupportedLanguages>(\n props: TranslationProviderProps<SupportedLanguageCodes>,\n ): ReactNode;\n}\n\nexport type UseTranslationOptions<TNamespace extends string> = Omit<\n UseI18NextTranslationOptions<TNamespace>,\n \"i18n\"\n>;\n\n/**\n * A strongly-typed version of the `useTranslation` hook from `react-i18next`,\n * bound to a specific namespace and resource bundle type.\n */\nexport type UseTranslation<\n TNamespace extends string,\n TResourceBundle extends I18nTranslationBundle,\n> = (\n options?: UseTranslationOptions<TNamespace>,\n) => TypedUseTranslationResponse<TResourceBundle>;\n\nexport type TypedTrans<\n TNamespace extends string,\n TResourceBundle extends I18nTranslationBundle,\n> = <TKey extends Extract<keyof TResourceBundle, string>>(\n props: Omit<\n TransI18nNextProps<TKey & string, TNamespace>,\n \"i18n\" | \"values\" | \"i18nKey\"\n > & {\n // explicitly type `i18nKey` to be the specific key\n i18nKey: TKey | TKey[];\n } & ([ExtractPlaceholders<TResourceBundle[TKey]>] extends [never] // add conditional `values` prop\n ? // if no placeholders, `values` is forbidden\n { values?: never }\n : // if placeholders exist, `values` is required and strictly typed\n {\n values: PlaceholderRecord<TResourceBundle, TKey>;\n }),\n) => ReactElement;\n\nexport type TranslationServices<\n TNamespace extends string,\n TResources extends ResourcesRecord,\n TDefaultLanguageCode extends Extract<keyof TResources, string>,\n> = {\n /** The i18next instance created for this package. */\n i18n: typeof i18n;\n Trans: TypedTrans<TNamespace, TResources[TDefaultLanguageCode]>;\n /**\n * A ready-to-use Translation Provider, which is a generic component.\n *\n * The consumer can specify the supported languages when using it.\n * @example <TranslationProvider<\"en\" | \"ja\">>\n */\n TranslationProvider: IGenericTranslationProvider;\n /** A pre-typed `useTranslation` hook bound to the given namespace. */\n useTranslation: UseTranslation<TNamespace, TResources[TDefaultLanguageCode]>;\n};\n\n/**\n * Initializes an `i18next` instance and provides strongly-typed\n * translation utilities: `useTranslation`, `Trans`, and `TranslationProvider`.\n */\nexport function getTranslationServices<\n TNamespace extends string,\n TResources extends ResourcesRecord,\n TDefaultLanguageCode extends Extract<keyof TResources, string>,\n>({\n defaultLanguageCode,\n namespace,\n resources,\n}: GetTranslationServicesProps<\n TNamespace,\n TResources,\n TDefaultLanguageCode\n>): TranslationServices<TNamespace, TResources, TDefaultLanguageCode> {\n const i18nInstance = createInstance();\n\n i18nInstance\n .use(initReactI18next)\n .init({\n defaultNS: namespace,\n ns: [namespace],\n fallbackLng: defaultLanguageCode,\n load: \"currentOnly\",\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n skipOnVariables: false,\n },\n react: {\n bindI18nStore: \"added\",\n useSuspense: false,\n },\n })\n .catch((error) => {\n console.error(\n `[odyssey-contribution-tooling] Error initializing i18nInstance for namespace: ${namespace}`,\n );\n console.error(error);\n });\n\n Object.entries(resources).forEach(([languageCode, bundle]) => {\n i18nInstance.addResourceBundle(languageCode, namespace, bundle);\n });\n\n const TranslationProvider = <\n ProviderSupportedLanguageCodes extends string = DefaultSupportedLanguages,\n >({\n children,\n languageCode,\n translationOverrides,\n }: TranslationProviderProps<ProviderSupportedLanguageCodes>) => {\n useEffect(() => {\n const updatedLanguageCode = languageCode || window.navigator.language;\n i18nInstance.changeLanguage(updatedLanguageCode).catch((error) => {\n console.error(\n `[odyssey-contribution-tooling] Error changing language code in i18nInstance to: ${updatedLanguageCode}`,\n );\n console.error(error);\n });\n }, [languageCode]);\n\n useEffect(() => {\n if (translationOverrides) {\n getTypedObjectEntries(translationOverrides).forEach(\n ([languageCode, overrideBundle]) => {\n i18nInstance.addResourceBundle(\n languageCode,\n namespace,\n overrideBundle,\n true,\n true,\n );\n },\n );\n }\n }, [translationOverrides]);\n\n return <I18nextProvider i18n={i18nInstance}>{children}</I18nextProvider>;\n };\n\n const MemoizedTranslationProvider = memo(TranslationProvider);\n MemoizedTranslationProvider.displayName = \"TranslationProvider\";\n\n const Trans: TypedTrans<TNamespace, TResources[TDefaultLanguageCode]> = (\n props,\n ) => {\n return (\n <TransI18nNext\n {...(props satisfies TransI18nNextProps<string, TNamespace>)}\n i18n={i18nInstance}\n />\n );\n };\n\n const useTranslation: UseTranslation<\n TNamespace,\n TResources[TDefaultLanguageCode]\n > = (options?: UseTranslationOptions<TNamespace>) => {\n const [t, i18n, ready] = useI18nNextTranslation(namespace, {\n ...options,\n i18n: i18nInstance,\n });\n const typedT = t as unknown as TypedTFunction<\n TResources[TDefaultLanguageCode]\n >;\n\n const result = [typedT, i18n, ready] as TypedUseTranslationResponse<\n TResources[TDefaultLanguageCode]\n >;\n\n result.t = typedT;\n result.i18n = i18n;\n result.ready = ready;\n\n return result;\n };\n\n return {\n i18n: i18nInstance,\n TranslationProvider: MemoizedTranslationProvider,\n Trans,\n useTranslation,\n };\n}\n","export const defaultSupportedLanguages = [\n \"cs\", // Czech\n \"da\", // Danish\n \"de\", // German\n \"el\", // Greek\n \"en\", // English\n \"es\", // Spanish\n \"eu\", // Euskara\n \"fi\", // Finnish\n \"fr\", // French\n \"ht\", // Haitian Creole\n \"hu\", // Hungarian\n \"id\", // Indonesian\n \"it\", // Italian\n \"ja\", // Japanese\n \"ko\", // Korean\n \"ms\", // Malaysian\n \"nb\", // Norwegian\n \"nl_NL\", // Dutch\n \"ok_PL\", // (Test Language) Pseudo-loc\n \"ok_SK\", // (Test Language) Show Keys\n \"pl\", // Polish\n \"pt_BR\", // Portuguese (Brazil)\n \"ro\", // Romanian\n \"ru\", // Russian\n \"sv\", // Swedish\n \"th\", // Thai\n \"tr\", // Turkish\n \"uk\", // Ukrainian\n \"vi\", // Vietnamese\n \"zh_CN\", // Chinese (PRC)\n \"zh_TW\", // Chinese\n] as const;\n\nexport type DefaultSupportedLanguages =\n (typeof defaultSupportedLanguages)[number];\n"],"names":["sheetForTag","tag","i","createStyleElement","options","StyleSheet","_this","before","_proto","nodes","rule","sheet","_tag$parentNode","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","from","assign","hash","value","length","charat","trim","match","pattern","replace","replacement","indexof","search","index","substr","begin","end","strlen","sizeof","append","array","combine","callback","line","column","position","character","characters","node","root","parent","type","props","children","copy","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","serialize","output","stringify","element","middleware","collection","rulesheet","memoize","fn","cache","arg","identifierWithPointTracking","toRules","parsed","getRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","prefix","prefixer","defaultStylisPlugins","createCache","key","ssrStyles","dataEmotionAttribute","stylisPlugins","inserted","container","nodesToHydrate","attrib","_insert","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","stylis","styles","selector","serialized","shouldCache","b","c","d","e","f","g","h","l","m","n","p","q","r","t","v","w","a","u","A","reactIs_production_min","reactIsModule","require$$0","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","component","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","hoistNonReactStatics_cjs","isBrowser","getRegisteredStyles","registered","registeredStyles","classNames","rawClassName","className","registerStyles","isStringTag","insertStyles","current","murmur2","str","len","unitlessKeys","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","componentSelector","keyframes","serializedStyles","createStringFromObject","previousCursor","result","asString","obj","string","_i","interpolated","labelPattern","serializeStyles","args","stringMode","strings","asTemplateStringsArr","templateStringsArr","identifierName","name","hashString","syncFallback","create","useInsertionEffect","React","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","withEmotionCache","func","forwardRef","ref","useContext","ThemeContext","hasOwn","typePropName","createEmotionProps","newProps","_key","Insertion","_ref","Emotion","cssProp","WrappedComponent","_key2","Emotion$1","jsx","ReactJSXRuntime","isString","defer","res","rej","promise","resolve","reject","makeString","object","s","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","deepExtend","target","source","overwrite","prop","regexEscape","_entityMap","escape","RegExpCache","capacity","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","tokens","nextPath","getCleanedCode","code","consoleLogger","Logger","concreteLogger","_len","_len2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","_ref2","ResourceStore","ns","lng","ignoreJSONStructure","resources","deep","pack","postProcessor","module","processors","translator","processor","checkedLoadedFor","Translator","services","resolved","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","lastKey","returnDetails","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","handleAsObject","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","language","suffixes","suffix","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","capitalize","LanguageUtil","formattedCode","specialCases","part","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","sets","_rulesPluralsTypes","nonIntlVersions","intlVersions","suffixesOrder","createRules","set","PluralResolver","languageUtils","cleanedCode","cacheKey","pluralCategory1","pluralCategory2","pluralCategory","number","idx","returnSuffix","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","rest","trimmedKey","createCachedFormatter","optForCache","formatter","Formatter","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","Connector","backend","store","languages","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","opts","get","ret","transformOptions","noop","bindMemberFunctions","inst","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","li","lngInLngs","_this2","setLngProps","done","setLng","keyPrefix","_this3","fixedT","resultKey","fallbackLng","lastLng","loadNotPending","loadState","preResult","preloaded","newLngs","rtlLngs","forkResourceStore","mergedOptions","clone","instance","createInstance","voidElements","o","warn","i18n","msg","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","loadLanguages","hasLoadedNamespace","i18nInstance","isObject","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","unescape","text","defaultOptions","setDefaults","getDefaults","setI18n","getI18n","hasChildren","checkLength","base","getChildren","getAsArray","hasValidReactChildren","isValidElement","mergeProps","newTarget","nodesToString","i18nOptions","i18nKey","stringNode","childrenArray","keepArray","child","childIndex","childPropsCount","shouldKeepChild","childChildren","content","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","keep","getData","childs","ast","HTML","renderInner","rootReactNode","mappedChildren","mapAST","pushTranslatedJSX","inner","isVoid","cloneElement","Children","createElement","reactNode","astNode","reactNodes","translationContent","tmp","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","wrapTextNodes","fixComponentProps","translation","componentKey","comp","Componentized","Fragment","generateArrayComponents","components","generateObjectComponents","componentMap","generateComponents","Trans","context","tOptions","values","defaults","i18nFromProps","tFromProps","additionalProps","reactI18nextOptions","nodeAsString","hashTransKey","interpolationOverride","generatedComponents","useAsParent","initReactI18next","I18nContext","createContext","ReportNamespaces","i18nFromContext","defaultNSFromContext","TransWithoutContext","usePrevious","ignore","useRef","useEffect","alwaysNewT","useMemoizedT","useCallback","useTranslation","notReadyT","optsOrDefaultValue","retNotReady","useSuspense","ready","memoGetT","getT","getNewT","setT","useState","joinedNS","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","I18nextProvider","defaultNS","useMemo","getTypedObjectEntries","getTranslationServices","defaultLanguageCode","languageCode","bundle","MemoizedTranslationProvider","memo","translationOverrides","updatedLanguageCode","overrideBundle","TransI18nNext","useI18nNextTranslation","typedT","defaultSupportedLanguages"],"mappings":";;;AAyBA,SAASA,GAAYC,GAAK;AACxB,MAAIA,EAAI;AACN,WAAOA,EAAI;AAMb,WAASC,IAAI,GAAGA,IAAI,SAAS,YAAY,QAAQA;AAC/C,QAAI,SAAS,YAAYA,CAAC,EAAE,cAAcD;AACxC,aAAO,SAAS,YAAYC,CAAC;AAOnC;AAEA,SAASC,GAAmBC,GAAS;AACnC,MAAIH,IAAM,SAAS,cAAc,OAAO;AACxC,SAAAA,EAAI,aAAa,gBAAgBG,EAAQ,GAAG,GAExCA,EAAQ,UAAU,UACpBH,EAAI,aAAa,SAASG,EAAQ,KAAK,GAGzCH,EAAI,YAAY,SAAS,eAAe,EAAE,CAAC,GAC3CA,EAAI,aAAa,UAAU,EAAE,GACtBA;AACT;AAEA,IAAII,KAA0B,2BAAY;AAExC,WAASA,EAAWD,GAAS;AAC3B,QAAIE,IAAQ;AAEZ,SAAK,aAAa,SAAUL,GAAK;AAC/B,UAAIM;AAEJ,MAAID,EAAM,KAAK,WAAW,IACpBA,EAAM,iBACRC,IAASD,EAAM,eAAe,cACrBA,EAAM,UACfC,IAASD,EAAM,UAAU,aAEzBC,IAASD,EAAM,SAGjBC,IAASD,EAAM,KAAKA,EAAM,KAAK,SAAS,CAAC,EAAE,aAG7CA,EAAM,UAAU,aAAaL,GAAKM,CAAM,GAExCD,EAAM,KAAK,KAAKL,CAAG;AAAA,IACrB,GAEA,KAAK,WAAWG,EAAQ,WAAW,SAAY,KAAiBA,EAAQ,QACxE,KAAK,OAAO,CAAA,GACZ,KAAK,MAAM,GACX,KAAK,QAAQA,EAAQ,OAErB,KAAK,MAAMA,EAAQ,KACnB,KAAK,YAAYA,EAAQ,WACzB,KAAK,UAAUA,EAAQ,SACvB,KAAK,iBAAiBA,EAAQ,gBAC9B,KAAK,SAAS;AAAA,EAChB;AAEA,MAAII,IAASH,EAAW;AAExB,SAAAG,EAAO,UAAU,SAAiBC,GAAO;AACvC,IAAAA,EAAM,QAAQ,KAAK,UAAU;AAAA,EAC/B,GAEAD,EAAO,SAAS,SAAgBE,GAAM;AAIpC,IAAI,KAAK,OAAO,KAAK,WAAW,OAAQ,OAAO,KAC7C,KAAK,WAAWP,GAAmB,IAAI,CAAC;AAG1C,QAAIF,IAAM,KAAK,KAAK,KAAK,KAAK,SAAS,CAAC;AAExC,QAAI,KAAK,UAAU;AACjB,UAAIU,IAAQX,GAAYC,CAAG;AAE3B,UAAI;AAGF,QAAAU,EAAM,WAAWD,GAAMC,EAAM,SAAS,MAAM;AAAA,MAC9C,QAAY;AAAA,MACZ;AAAA,IACF;AACE,MAAAV,EAAI,YAAY,SAAS,eAAeS,CAAI,CAAC;AAG/C,SAAK;AAAA,EACP,GAEAF,EAAO,QAAQ,WAAiB;AAC9B,SAAK,KAAK,QAAQ,SAAUP,GAAK;AAC/B,UAAIW;AAEJ,cAAQA,IAAkBX,EAAI,eAAe,OAAO,SAASW,EAAgB,YAAYX,CAAG;AAAA,IAC9F,CAAC,GACD,KAAK,OAAO,CAAA,GACZ,KAAK,MAAM;AAAA,EACb,GAEOI;AACT,EAAC,GCzIUQ,IAAK,QACLC,KAAM,SACNC,IAAS,YAETC,KAAU,QACVC,KAAU,QACVC,KAAc,QAIdC,KAAS,WAMTC,KAAY,cAIZC,KAAQ,UChBRC,KAAM,KAAK,KAMXC,KAAO,OAAO,cAMdC,KAAS,OAAO;AAOpB,SAASC,GAAMC,GAAOC,GAAQ;AACpC,SAAOC,EAAOF,GAAO,CAAC,IAAI,QAAYC,KAAU,IAAKC,EAAOF,GAAO,CAAC,MAAM,IAAKE,EAAOF,GAAO,CAAC,MAAM,IAAKE,EAAOF,GAAO,CAAC,MAAM,IAAKE,EAAOF,GAAO,CAAC,IAAI;AACvJ;AAMO,SAASG,GAAMH,GAAO;AAC5B,SAAOA,EAAM,KAAI;AAClB;AAOO,SAASI,GAAOJ,GAAOK,GAAS;AACtC,UAAQL,IAAQK,EAAQ,KAAKL,CAAK,KAAKA,EAAM,CAAC,IAAIA;AACnD;AAQO,SAASM,EAASN,GAAOK,GAASE,GAAa;AACrD,SAAOP,EAAM,QAAQK,GAASE,CAAW;AAC1C;AAOO,SAASC,GAASR,GAAOS,GAAQ;AACvC,SAAOT,EAAM,QAAQS,CAAM;AAC5B;AAOO,SAASP,EAAQF,GAAOU,GAAO;AACrC,SAAOV,EAAM,WAAWU,CAAK,IAAI;AAClC;AAQO,SAASC,GAAQX,GAAOY,GAAOC,GAAK;AAC1C,SAAOb,EAAM,MAAMY,GAAOC,CAAG;AAC9B;AAMO,SAASC,EAAQd,GAAO;AAC9B,SAAOA,EAAM;AACd;AAMO,SAASe,GAAQf,GAAO;AAC9B,SAAOA,EAAM;AACd;AAOO,SAASgB,GAAQhB,GAAOiB,GAAO;AACrC,SAAOA,EAAM,KAAKjB,CAAK,GAAGA;AAC3B;AAOO,SAASkB,GAASD,GAAOE,GAAU;AACzC,SAAOF,EAAM,IAAIE,CAAQ,EAAE,KAAK,EAAE;AACnC;AChHO,IAAIC,KAAO,GACPC,KAAS,GACTpB,KAAS,GACTqB,IAAW,GACXC,IAAY,GACZC,KAAa;AAWjB,SAASC,GAAMzB,GAAO0B,GAAMC,GAAQC,GAAMC,GAAOC,GAAU7B,GAAQ;AACzE,SAAO,EAAC,OAAOD,GAAO,MAAM0B,GAAM,QAAQC,GAAQ,MAAMC,GAAM,OAAOC,GAAO,UAAUC,GAAU,MAAMV,IAAM,QAAQC,IAAQ,QAAQpB,GAAQ,QAAQ,GAAE;AACvJ;AAOO,SAAS8B,GAAML,GAAMG,GAAO;AAClC,SAAO/B,GAAO2B,GAAK,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,CAAC,GAAGC,GAAM,EAAC,QAAQ,CAACA,EAAK,OAAM,GAAGG,CAAK;AAC3F;AAKO,SAASG,KAAQ;AACvB,SAAOT;AACR;AAKO,SAASU,KAAQ;AACvB,SAAAV,IAAYD,IAAW,IAAIpB,EAAOsB,IAAY,EAAEF,CAAQ,IAAI,GAExDD,MAAUE,MAAc,OAC3BF,KAAS,GAAGD,OAENG;AACR;AAKO,SAASW,IAAQ;AACvB,SAAAX,IAAYD,IAAWrB,KAASC,EAAOsB,IAAYF,GAAU,IAAI,GAE7DD,MAAUE,MAAc,OAC3BF,KAAS,GAAGD,OAENG;AACR;AAKO,SAASY,IAAQ;AACvB,SAAOjC,EAAOsB,IAAYF,CAAQ;AACnC;AAKO,SAASc,KAAS;AACxB,SAAOd;AACR;AAOO,SAASe,GAAOzB,GAAOC,GAAK;AAClC,SAAOF,GAAOa,IAAYZ,GAAOC,CAAG;AACrC;AAMO,SAASyB,GAAOV,GAAM;AAC5B,UAAQA,GAAI;AAAA;AAAA,IAEX,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AACtC,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA;AAAA,IAE3D,KAAK;AAAA,IAAI,KAAK;AAAA,IAAK,KAAK;AACvB,aAAO;AAAA;AAAA,IAER,KAAK;AACJ,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAC/B,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AACb,aAAO;AAAA,EACV;AAEC,SAAO;AACR;AAMO,SAASW,GAAOvC,GAAO;AAC7B,SAAOoB,KAAOC,KAAS,GAAGpB,KAASa,EAAOU,KAAaxB,CAAK,GAAGsB,IAAW,GAAG,CAAA;AAC9E;AAMO,SAASkB,GAASxC,GAAO;AAC/B,SAAOwB,KAAa,IAAIxB;AACzB;AAMO,SAASyC,GAASb,GAAM;AAC9B,SAAOzB,GAAKkC,GAAMf,IAAW,GAAGoB,GAAUd,MAAS,KAAKA,IAAO,IAAIA,MAAS,KAAKA,IAAO,IAAIA,CAAI,CAAC,CAAC;AACnG;AAcO,SAASe,GAAYf,GAAM;AACjC,UAAOL,IAAYY,EAAI,MAClBZ,IAAY;AACf,IAAAW,EAAI;AAIN,SAAOI,GAAMV,CAAI,IAAI,KAAKU,GAAMf,CAAS,IAAI,IAAI,KAAK;AACvD;AAwBO,SAASqB,GAAUlC,GAAOmC,GAAO;AACvC,SAAO,EAAEA,KAASX,EAAI,KAEjB,EAAAX,IAAY,MAAMA,IAAY,OAAQA,IAAY,MAAMA,IAAY,MAAQA,IAAY,MAAMA,IAAY;AAA9G;AAGD,SAAOc,GAAM3B,GAAO0B,GAAK,KAAMS,IAAQ,KAAKV,OAAU,MAAMD,EAAI,KAAM,GAAG;AAC1E;AAMO,SAASQ,GAAWd,GAAM;AAChC,SAAOM,EAAI;AACV,YAAQX,GAAS;AAAA;AAAA,MAEhB,KAAKK;AACJ,eAAON;AAAA;AAAA,MAER,KAAK;AAAA,MAAI,KAAK;AACb,QAAIM,MAAS,MAAMA,MAAS,MAC3Bc,GAAUnB,CAAS;AACpB;AAAA;AAAA,MAED,KAAK;AACJ,QAAIK,MAAS,MACZc,GAAUd,CAAI;AACf;AAAA;AAAA,MAED,KAAK;AACJ,QAAAM,EAAI;AACJ;AAAA,IACJ;AAEC,SAAOZ;AACR;AAOO,SAASwB,GAAWlB,GAAMlB,GAAO;AACvC,SAAOwB,EAAI,KAENN,IAAOL,MAAc;AAGpB,QAAIK,IAAOL,MAAc,MAAWY,EAAI,MAAO;AACnD;AAEF,SAAO,OAAOE,GAAM3B,GAAOY,IAAW,CAAC,IAAI,MAAMzB,GAAK+B,MAAS,KAAKA,IAAOM,EAAI,CAAE;AAClF;AAMO,SAASa,GAAYrC,GAAO;AAClC,SAAO,CAAC4B,GAAMH,GAAM;AACnB,IAAAD,EAAI;AAEL,SAAOG,GAAM3B,GAAOY,CAAQ;AAC7B;AC7OO,SAAS0B,GAAShD,GAAO;AAC/B,SAAOwC,GAAQS,GAAM,IAAI,MAAM,MAAM,MAAM,CAAC,EAAE,GAAGjD,IAAQuC,GAAMvC,CAAK,GAAG,GAAG,CAAC,CAAC,GAAGA,CAAK,CAAC;AACtF;AAcO,SAASiD,GAAOjD,GAAO0B,GAAMC,GAAQ3C,GAAMkE,GAAOC,GAAUC,GAAQC,GAAQC,GAAc;AAiBhG,WAhBI5C,IAAQ,GACR6C,IAAS,GACTtD,IAASmD,GACTI,IAAS,GACTC,IAAW,GACXC,IAAW,GACXC,IAAW,GACXC,IAAW,GACXC,IAAY,GACZtC,IAAY,GACZK,IAAO,IACPC,IAAQqB,GACRpB,IAAWqB,GACXW,IAAY9E,GACZwC,IAAaI,GAEVgC;AACN,YAAQF,IAAWnC,GAAWA,IAAYW,EAAI,GAAE;AAAA;AAAA,MAE/C,KAAK;AACJ,YAAIwB,KAAY,OAAOxD,EAAOsB,GAAYvB,IAAS,CAAC,KAAK,IAAI;AAC5D,UAAIO,GAAQgB,KAAclB,EAAQmC,GAAQlB,CAAS,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK,OAC5EsC,IAAY;AACb;AAAA,QACD;AAAA;AAAA,MAED,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AACtB,QAAArC,KAAciB,GAAQlB,CAAS;AAC/B;AAAA;AAAA,MAED,KAAK;AAAA,MAAG,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AAC9B,QAAAC,KAAcmB,GAAWe,CAAQ;AACjC;AAAA;AAAA,MAED,KAAK;AACJ,QAAAlC,KAAcoB,GAASR,GAAK,IAAK,GAAG,CAAC;AACrC;AAAA;AAAA,MAED,KAAK;AACJ,gBAAQD,EAAI,GAAE;AAAA,UACb,KAAK;AAAA,UAAI,KAAK;AACb,YAAAnB,GAAO+C,GAAQjB,GAAUZ,EAAI,GAAIE,GAAK,CAAE,GAAGV,GAAMC,CAAM,GAAG2B,CAAY;AACtE;AAAA,UACD;AACC,YAAA9B,KAAc;AAAA,QACpB;AACI;AAAA;AAAA,MAED,KAAK,MAAMmC;AACV,QAAAN,EAAO3C,GAAO,IAAII,EAAOU,CAAU,IAAIqC;AAAA;AAAA,MAExC,KAAK,MAAMF;AAAA,MAAU,KAAK;AAAA,MAAI,KAAK;AAClC,gBAAQpC,GAAS;AAAA;AAAA,UAEhB,KAAK;AAAA,UAAG,KAAK;AAAK,YAAAqC,IAAW;AAAA;AAAA,UAE7B,KAAK,KAAKL;AAAQ,YAAIM,KAAa,OAAIrC,IAAalB,EAAQkB,GAAY,OAAO,EAAE,IAC5EiC,IAAW,KAAM3C,EAAOU,CAAU,IAAIvB,KACzCe,GAAOyC,IAAW,KAAKO,GAAYxC,IAAa,KAAKxC,GAAM2C,GAAQ1B,IAAS,CAAC,IAAI+D,GAAY1D,EAAQkB,GAAY,KAAK,EAAE,IAAI,KAAKxC,GAAM2C,GAAQ1B,IAAS,CAAC,GAAGqD,CAAY;AACzK;AAAA;AAAA,UAED,KAAK;AAAI,YAAA9B,KAAc;AAAA;AAAA,UAEvB;AAGC,gBAFAR,GAAO8C,IAAYG,GAAQzC,GAAYE,GAAMC,GAAQjB,GAAO6C,GAAQL,GAAOG,GAAQzB,GAAMC,IAAQ,CAAA,GAAIC,IAAW,CAAA,GAAI7B,CAAM,GAAGkD,CAAQ,GAEjI5B,MAAc;AACjB,kBAAIgC,MAAW;AACd,gBAAAN,GAAMzB,GAAYE,GAAMoC,GAAWA,GAAWjC,GAAOsB,GAAUlD,GAAQoD,GAAQvB,CAAQ;AAAA;AAEvF,wBAAQ0B,MAAW,MAAMtD,EAAOsB,GAAY,CAAC,MAAM,MAAM,MAAMgC,GAAM;AAAA;AAAA,kBAEpE,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AAClC,oBAAAP,GAAMjD,GAAO8D,GAAWA,GAAW9E,KAAQgC,GAAOiD,GAAQjE,GAAO8D,GAAWA,GAAW,GAAG,GAAGZ,GAAOG,GAAQzB,GAAMsB,GAAOrB,IAAQ,IAAI5B,CAAM,GAAG6B,CAAQ,GAAGoB,GAAOpB,GAAU7B,GAAQoD,GAAQrE,IAAO6C,IAAQC,CAAQ;AACjN;AAAA,kBACD;AACC,oBAAAmB,GAAMzB,GAAYsC,GAAWA,GAAWA,GAAW,CAAC,EAAE,GAAGhC,GAAU,GAAGuB,GAAQvB,CAAQ;AAAA,gBAChG;AAAA,QACA;AAEI,QAAApB,IAAQ6C,IAASE,IAAW,GAAGE,IAAWE,IAAY,GAAGjC,IAAOJ,IAAa,IAAIvB,IAASmD;AAC1F;AAAA;AAAA,MAED,KAAK;AACJ,QAAAnD,IAAS,IAAIa,EAAOU,CAAU,GAAGiC,IAAWC;AAAA,MAC7C;AACC,YAAIC,IAAW;AACd,cAAIpC,KAAa;AAChB,cAAEoC;AAAA,mBACMpC,KAAa,OAAOoC,OAAc,KAAK1B,GAAI,KAAM;AACzD;AAAA;AAEF,gBAAQT,KAAc3B,GAAK0B,CAAS,GAAGA,IAAYoC,GAAQ;AAAA;AAAA,UAE1D,KAAK;AACJ,YAAAE,IAAYN,IAAS,IAAI,KAAK/B,KAAc,MAAM;AAClD;AAAA;AAAA,UAED,KAAK;AACJ,YAAA6B,EAAO3C,GAAO,KAAKI,EAAOU,CAAU,IAAI,KAAKqC,GAAWA,IAAY;AACpE;AAAA;AAAA,UAED,KAAK;AAEJ,YAAI1B,EAAI,MAAO,OACdX,KAAciB,GAAQP,EAAI,CAAE,IAE7BsB,IAASrB,EAAI,GAAIoB,IAAStD,IAASa,EAAOc,IAAOJ,KAAcuB,GAAWX,GAAK,CAAE,CAAC,GAAGb;AACrF;AAAA;AAAA,UAED,KAAK;AACJ,YAAImC,MAAa,MAAM5C,EAAOU,CAAU,KAAK,MAC5CmC,IAAW;AAAA,QAClB;AAAA,IACA;AAEC,SAAOR;AACR;AAgBO,SAASc,GAASjE,GAAO0B,GAAMC,GAAQjB,GAAO6C,GAAQL,GAAOG,GAAQzB,GAAMC,GAAOC,GAAU7B,GAAQ;AAK1G,WAJIiE,IAAOX,IAAS,GAChBvE,IAAOuE,MAAW,IAAIL,IAAQ,CAAC,EAAE,GACjCiB,IAAOpD,GAAO/B,CAAI,GAEbR,IAAI,GAAG4F,IAAI,GAAGC,IAAI,GAAG7F,IAAIkC,GAAO,EAAElC;AAC1C,aAAS8F,IAAI,GAAGC,IAAI5D,GAAOX,GAAOkE,IAAO,GAAGA,IAAOtE,GAAIwE,IAAIf,EAAO7E,CAAC,CAAC,CAAC,GAAGgG,IAAIxE,GAAOsE,IAAIH,GAAM,EAAEG;AAC9F,OAAIE,IAAIrE,GAAKiE,IAAI,IAAIpF,EAAKsF,CAAC,IAAI,MAAMC,IAAIjE,EAAQiE,GAAG,QAAQvF,EAAKsF,CAAC,CAAC,CAAC,OACnEzC,EAAMwC,GAAG,IAAIG;AAEhB,SAAO/C,GAAKzB,GAAO0B,GAAMC,GAAQ4B,MAAW,IAAIhE,KAAUqC,GAAMC,GAAOC,GAAU7B,CAAM;AACxF;AAQO,SAAS8D,GAAS/D,GAAO0B,GAAMC,GAAQ;AAC7C,SAAOF,GAAKzB,GAAO0B,GAAMC,GAAQrC,IAASO,GAAKmC,GAAI,CAAE,GAAGrB,GAAOX,GAAO,GAAG,EAAE,GAAG,CAAC;AAChF;AASO,SAASgE,GAAahE,GAAO0B,GAAMC,GAAQ1B,GAAQ;AACzD,SAAOwB,GAAKzB,GAAO0B,GAAMC,GAAQnC,IAAamB,GAAOX,GAAO,GAAGC,CAAM,GAAGU,GAAOX,GAAOC,IAAS,GAAG,EAAE,GAAGA,CAAM;AAC9G;ACtLO,SAASwE,EAAW3C,GAAUX,GAAU;AAI9C,WAHIuD,IAAS,IACTzE,IAASc,GAAOe,CAAQ,GAEnBtD,IAAI,GAAGA,IAAIyB,GAAQzB;AAC3B,IAAAkG,KAAUvD,EAASW,EAAStD,CAAC,GAAGA,GAAGsD,GAAUX,CAAQ,KAAK;AAE3D,SAAOuD;AACR;AASO,SAASC,GAAWC,GAASlE,GAAOoB,GAAUX,GAAU;AAC9D,UAAQyD,EAAQ,MAAI;AAAA,IACnB,KAAKjF;AAAO,UAAIiF,EAAQ,SAAS,OAAQ;AAAA,IACzC,KAAKnF;AAAA,IAAQ,KAAKD;AAAa,aAAOoF,EAAQ,SAASA,EAAQ,UAAUA,EAAQ;AAAA,IACjF,KAAKtF;AAAS,aAAO;AAAA,IACrB,KAAKI;AAAW,aAAOkF,EAAQ,SAASA,EAAQ,QAAQ,MAAMH,EAAUG,EAAQ,UAAUzD,CAAQ,IAAI;AAAA,IACtG,KAAK5B;AAAS,MAAAqF,EAAQ,QAAQA,EAAQ,MAAM,KAAK,GAAG;AAAA,EACtD;AAEC,SAAO9D,EAAOgB,IAAW2C,EAAUG,EAAQ,UAAUzD,CAAQ,CAAC,IAAIyD,EAAQ,SAASA,EAAQ,QAAQ,MAAM9C,IAAW,MAAM;AAC3H;ACzBO,SAAS+C,GAAYC,GAAY;AACvC,MAAI7E,IAASc,GAAO+D,CAAU;AAE9B,SAAO,SAAUF,GAASlE,GAAOoB,GAAUX,GAAU;AAGpD,aAFIuD,IAAS,IAEJlG,IAAI,GAAGA,IAAIyB,GAAQzB;AAC3B,MAAAkG,KAAUI,EAAWtG,CAAC,EAAEoG,GAASlE,GAAOoB,GAAUX,CAAQ,KAAK;AAEhE,WAAOuD;AAAA,EACR;AACD;AAMO,SAASK,GAAW5D,GAAU;AACpC,SAAO,SAAUyD,GAAS;AACzB,IAAKA,EAAQ,SACRA,IAAUA,EAAQ,WACrBzD,EAASyD,CAAO;AAAA,EACnB;AACD;ACjCA,SAASI,GAAQC,GAAI;AACnB,MAAIC,IAAQ,uBAAO,OAAO,IAAI;AAC9B,SAAO,SAAUC,GAAK;AACpB,WAAID,EAAMC,CAAG,MAAM,WAAWD,EAAMC,CAAG,IAAIF,EAAGE,CAAG,IAC1CD,EAAMC,CAAG;AAAA,EAClB;AACF;ACDA,IAAIC,KAA8B,SAAqCxE,GAAOyC,GAAQ3C,GAAO;AAI3F,WAHIgD,IAAW,GACXnC,IAAY,GAGdmC,IAAWnC,GACXA,IAAYY,EAAI,GAEZuB,MAAa,MAAMnC,MAAc,OACnC8B,EAAO3C,CAAK,IAAI,IAGd,CAAA4B,GAAMf,CAAS;AAInB,IAAAW,EAAI;AAGN,SAAOG,GAAMzB,GAAOU,CAAQ;AAC9B,GAEI+D,KAAU,SAAiBC,GAAQjC,GAAQ;AAE7C,MAAI3C,IAAQ,IACRa,IAAY;AAEhB;AACE,YAAQe,GAAMf,CAAS,GAAC;AAAA,MACtB,KAAK;AAEH,QAAIA,MAAc,MAAMY,EAAI,MAAO,OAKjCkB,EAAO3C,CAAK,IAAI,IAGlB4E,EAAO5E,CAAK,KAAK0E,GAA4B9D,IAAW,GAAG+B,GAAQ3C,CAAK;AACxE;AAAA,MAEF,KAAK;AACH,QAAA4E,EAAO5E,CAAK,KAAK+B,GAAQlB,CAAS;AAClC;AAAA,MAEF,KAAK;AAEH,YAAIA,MAAc,IAAI;AAEpB,UAAA+D,EAAO,EAAE5E,CAAK,IAAIyB,EAAI,MAAO,KAAK,QAAQ,IAC1CkB,EAAO3C,CAAK,IAAI4E,EAAO5E,CAAK,EAAE;AAC9B;AAAA,QACF;AAAA;AAAA,MAIF;AACE,QAAA4E,EAAO5E,CAAK,KAAKb,GAAK0B,CAAS;AAAA,IACvC;AAAA,SACWA,IAAYW,EAAI;AAEzB,SAAOoD;AACT,GAEIC,KAAW,SAAkBvF,GAAOqD,GAAQ;AAC9C,SAAOb,GAAQ6C,GAAQ9C,GAAMvC,CAAK,GAAGqD,CAAM,CAAC;AAC9C,GAGImC,KAA+B,oBAAI,QAAO,GAC1CC,KAAS,SAAgBb,GAAS;AACpC,MAAI,EAAAA,EAAQ,SAAS,UAAU,CAACA,EAAQ;AAAA;AAAA,EAExCA,EAAQ,SAAS,IAQjB;AAAA,aAJI5E,IAAQ4E,EAAQ,OAChBjD,IAASiD,EAAQ,QACjBc,IAAiBd,EAAQ,WAAWjD,EAAO,UAAUiD,EAAQ,SAASjD,EAAO,MAE1EA,EAAO,SAAS;AAErB,UADAA,IAASA,EAAO,QACZ,CAACA,EAAQ;AAIf,QAAI,EAAAiD,EAAQ,MAAM,WAAW,KAAK5E,EAAM,WAAW,CAAC,MAAM,MAEvD,CAACwF,GAAc,IAAI7D,CAAM,MAMxB,CAAA+D,GAIJ;AAAA,MAAAF,GAAc,IAAIZ,GAAS,EAAI;AAK/B,eAJIvB,IAAS,CAAA,GACTH,IAAQqC,GAASvF,GAAOqD,CAAM,GAC9BsC,IAAchE,EAAO,OAEhBnD,IAAI,GAAG6F,IAAI,GAAG7F,IAAI0E,EAAM,QAAQ1E;AACvC,iBAAS4F,IAAI,GAAGA,IAAIuB,EAAY,QAAQvB,KAAKC;AAC3C,UAAAO,EAAQ,MAAMP,CAAC,IAAIhB,EAAO7E,CAAC,IAAI0E,EAAM1E,CAAC,EAAE,QAAQ,QAAQmH,EAAYvB,CAAC,CAAC,IAAIuB,EAAYvB,CAAC,IAAI,MAAMlB,EAAM1E,CAAC;AAAA;AAAA;AAG9G,GACIoH,KAAc,SAAqBhB,GAAS;AAC9C,MAAIA,EAAQ,SAAS,QAAQ;AAC3B,QAAI5E,IAAQ4E,EAAQ;AAEpB;AAAA,IACA5E,EAAM,WAAW,CAAC,MAAM;AAAA,IACxBA,EAAM,WAAW,CAAC,MAAM,OAEtB4E,EAAQ,SAAY,IACpBA,EAAQ,QAAQ;AAAA,EAEpB;AACF;AAIA,SAASiB,GAAO7F,GAAOC,GAAQ;AAC7B,UAAQF,GAAKC,GAAOC,CAAM,GAAC;AAAA;AAAA,IAEzB,KAAK;AACH,aAAOZ,IAAS,WAAWW,IAAQA;AAAA;AAAA,IAGrC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOX,IAASW,IAAQA;AAAA;AAAA,IAG1B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOX,IAASW,IAAQZ,KAAMY,IAAQb,IAAKa,IAAQA;AAAA;AAAA,IAGrD,KAAK;AAAA,IACL,KAAK;AACH,aAAOX,IAASW,IAAQb,IAAKa,IAAQA;AAAA;AAAA,IAGvC,KAAK;AACH,aAAOX,IAASW,IAAQb,IAAK,UAAUa,IAAQA;AAAA;AAAA,IAGjD,KAAK;AACH,aAAOX,IAASW,IAAQM,EAAQN,GAAO,kBAAkBX,IAAS,aAAaF,IAAK,WAAW,IAAIa;AAAA;AAAA,IAGrG,KAAK;AACH,aAAOX,IAASW,IAAQb,IAAK,eAAemB,EAAQN,GAAO,eAAe,EAAE,IAAIA;AAAA;AAAA,IAGlF,KAAK;AACH,aAAOX,IAASW,IAAQb,IAAK,mBAAmBmB,EAAQN,GAAO,6BAA6B,EAAE,IAAIA;AAAA;AAAA,IAGpG,KAAK;AACH,aAAOX,IAASW,IAAQb,IAAKmB,EAAQN,GAAO,UAAU,UAAU,IAAIA;AAAA;AAAA,IAGtE,KAAK;AACH,aAAOX,IAASW,IAAQb,IAAKmB,EAAQN,GAAO,SAAS,gBAAgB,IAAIA;AAAA;AAAA,IAG3E,KAAK;AACH,aAAOX,IAAS,SAASiB,EAAQN,GAAO,SAAS,EAAE,IAAIX,IAASW,IAAQb,IAAKmB,EAAQN,GAAO,QAAQ,UAAU,IAAIA;AAAA;AAAA,IAGpH,KAAK;AACH,aAAOX,IAASiB,EAAQN,GAAO,sBAAsB,OAAOX,IAAS,IAAI,IAAIW;AAAA;AAAA,IAG/E,KAAK;AACH,aAAOM,EAAQA,EAAQA,EAAQN,GAAO,gBAAgBX,IAAS,IAAI,GAAG,eAAeA,IAAS,IAAI,GAAGW,GAAO,EAAE,IAAIA;AAAA;AAAA,IAGpH,KAAK;AAAA,IACL,KAAK;AACH,aAAOM,EAAQN,GAAO,qBAAqBX,IAAS,QAAa;AAAA;AAAA,IAGnE,KAAK;AACH,aAAOiB,EAAQA,EAAQN,GAAO,qBAAqBX,IAAS,gBAAgBF,IAAK,cAAc,GAAG,cAAc,SAAS,IAAIE,IAASW,IAAQA;AAAA;AAAA,IAGhJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOM,EAAQN,GAAO,mBAAmBX,IAAS,MAAM,IAAIW;AAAA;AAAA,IAG9D,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAEH,UAAIc,EAAOd,CAAK,IAAI,IAAIC,IAAS,EAAG,SAAQC,EAAOF,GAAOC,IAAS,CAAC,GAAC;AAAA;AAAA,QAEnE,KAAK;AAEH,cAAIC,EAAOF,GAAOC,IAAS,CAAC,MAAM,GAAI;AAAA;AAAA,QAGxC,KAAK;AACH,iBAAOK,EAAQN,GAAO,oBAAoB,OAAOX,IAAS,YAAiBD,MAAOc,EAAOF,GAAOC,IAAS,CAAC,KAAK,MAAM,OAAO,QAAQ,IAAID;AAAA;AAAA,QAG1I,KAAK;AACH,iBAAO,CAACQ,GAAQR,GAAO,SAAS,IAAI6F,GAAOvF,EAAQN,GAAO,WAAW,gBAAgB,GAAGC,CAAM,IAAID,IAAQA;AAAA,MACpH;AACM;AAAA;AAAA,IAGF,KAAK;AAEH,UAAIE,EAAOF,GAAOC,IAAS,CAAC,MAAM,IAAK;AAAA;AAAA,IAGzC,KAAK;AACH,cAAQC,EAAOF,GAAOc,EAAOd,CAAK,IAAI,KAAK,CAACQ,GAAQR,GAAO,YAAY,KAAK,GAAG,GAAC;AAAA;AAAA,QAE9E,KAAK;AACH,iBAAOM,EAAQN,GAAO,KAAK,MAAMX,CAAM,IAAIW;AAAA;AAAA,QAG7C,KAAK;AACH,iBAAOM,EAAQN,GAAO,yBAAyB,OAAOX,KAAUa,EAAOF,GAAO,EAAE,MAAM,KAAK,YAAY,MAAM,YAAiBX,IAAS,WAAgBF,IAAK,SAAS,IAAIa;AAAA,MACnL;AAEM;AAAA;AAAA,IAGF,KAAK;AACH,cAAQE,EAAOF,GAAOC,IAAS,EAAE,GAAC;AAAA;AAAA,QAEhC,KAAK;AACH,iBAAOZ,IAASW,IAAQb,IAAKmB,EAAQN,GAAO,sBAAsB,IAAI,IAAIA;AAAA;AAAA,QAG5E,KAAK;AACH,iBAAOX,IAASW,IAAQb,IAAKmB,EAAQN,GAAO,sBAAsB,OAAO,IAAIA;AAAA;AAAA,QAG/E,KAAK;AACH,iBAAOX,IAASW,IAAQb,IAAKmB,EAAQN,GAAO,sBAAsB,IAAI,IAAIA;AAAA,MACpF;AAEM,aAAOX,IAASW,IAAQb,IAAKa,IAAQA;AAAA,EAC3C;AAEE,SAAOA;AACT;AAEA,IAAI8F,KAAW,SAAkBlB,GAASlE,GAAOoB,GAAUX,GAAU;AACnE,MAAIyD,EAAQ,SAAS,MAAQ,CAACA,EAAQ,OAAW,SAAQA,EAAQ,MAAI;AAAA,IACnE,KAAKpF;AACH,MAAAoF,EAAQ,SAAYiB,GAAOjB,EAAQ,OAAOA,EAAQ,MAAM;AACxD;AAAA,IAEF,KAAKlF;AACH,aAAO+E,EAAU,CAAC1C,GAAK6C,GAAS;AAAA,QAC9B,OAAOtE,EAAQsE,EAAQ,OAAO,KAAK,MAAMvF,CAAM;AAAA,MACvD,CAAO,CAAC,GAAG8B,CAAQ;AAAA,IAEf,KAAK5B;AACH,UAAIqF,EAAQ,OAAQ,QAAO1D,GAAQ0D,EAAQ,OAAO,SAAU5E,GAAO;AACjE,gBAAQI,GAAMJ,GAAO,uBAAuB,GAAC;AAAA;AAAA,UAE3C,KAAK;AAAA,UACL,KAAK;AACH,mBAAOyE,EAAU,CAAC1C,GAAK6C,GAAS;AAAA,cAC9B,OAAO,CAACtE,EAAQN,GAAO,eAAe,MAAMZ,KAAM,IAAI,CAAC;AAAA,YACrE,CAAa,CAAC,GAAG+B,CAAQ;AAAA;AAAA,UAGf,KAAK;AACH,mBAAOsD,EAAU,CAAC1C,GAAK6C,GAAS;AAAA,cAC9B,OAAO,CAACtE,EAAQN,GAAO,cAAc,MAAMX,IAAS,UAAU,CAAC;AAAA,YAC7E,CAAa,GAAG0C,GAAK6C,GAAS;AAAA,cAChB,OAAO,CAACtE,EAAQN,GAAO,cAAc,MAAMZ,KAAM,IAAI,CAAC;AAAA,YACpE,CAAa,GAAG2C,GAAK6C,GAAS;AAAA,cAChB,OAAO,CAACtE,EAAQN,GAAO,cAAcb,IAAK,UAAU,CAAC;AAAA,YACnE,CAAa,CAAC,GAAGgC,CAAQ;AAAA,QACzB;AAEQ,eAAO;AAAA,MACT,CAAC;AAAA,EACP;AACA,GAEI4E,KAAuB,CAACD,EAAQ,GAEhCE,KAAc,SAAqBtH,GAAS;AAC9C,MAAIuH,IAAMvH,EAAQ;AAElB,MAAIuH,MAAQ,OAAO;AACjB,QAAIC,IAAY,SAAS,iBAAiB,mCAAmC;AAK7E,UAAM,UAAU,QAAQ,KAAKA,GAAW,SAAUzE,GAAM;AAOtD,UAAI0E,IAAuB1E,EAAK,aAAa,cAAc;AAE3D,MAAI0E,EAAqB,QAAQ,GAAG,MAAM,OAI1C,SAAS,KAAK,YAAY1E,CAAI,GAC9BA,EAAK,aAAa,UAAU,EAAE;AAAA,IAChC,CAAC;AAAA,EACH;AAEA,MAAI2E,IAAgB1H,EAAQ,iBAAiBqH,IAEzCM,IAAW,CAAA,GACXC,GACAC,IAAiB,CAAA;AAGnB,EAAAD,IAAY5H,EAAQ,aAAa,SAAS,MAC1C,MAAM,UAAU,QAAQ;AAAA;AAAA;AAAA,IAExB,SAAS,iBAAiB,0BAA2BuH,IAAM,KAAM;AAAA,IAAG,SAAUxE,GAAM;AAGlF,eAFI+E,IAAS/E,EAAK,aAAa,cAAc,EAAE,MAAM,GAAG,GAE/CjD,IAAI,GAAGA,IAAIgI,EAAO,QAAQhI;AACjC,QAAA6H,EAASG,EAAOhI,CAAC,CAAC,IAAI;AAGxB,MAAA+H,EAAe,KAAK9E,CAAI;AAAA,IAC1B;AAAA,EAAC;AAGH,MAAIgF,GAEAC,IAAqB,CAACjB,IAAQG,EAAW;AAE7C;AACE,QAAIe,GACAC,IAAoB,CAACjC,IAAWI,GAAU,SAAU/F,GAAM;AAC5D,MAAA2H,EAAa,OAAO3H,CAAI;AAAA,IAC1B,CAAC,CAAC,GACE6H,IAAahC,GAAW6B,EAAmB,OAAON,GAAeQ,CAAiB,CAAC,GAEnFE,IAAS,SAAgBC,GAAQ;AACnC,aAAOtC,EAAUzB,GAAQ+D,CAAM,GAAGF,CAAU;AAAA,IAC9C;AAEA,IAAAJ,IAAU,SAAgBO,GAAUC,GAAYhI,GAAOiI,GAAa;AAClE,MAAAP,IAAe1H,GAEf6H,EAAOE,IAAWA,IAAW,MAAMC,EAAW,SAAS,MAAMA,EAAW,MAAM,GAE1EC,MACFhC,EAAM,SAAS+B,EAAW,IAAI,IAAI;AAAA,IAEtC;AAAA,EACF;AAEA,MAAI/B,IAAQ;AAAA,IACV,KAAKe;AAAA,IACL,OAAO,IAAItH,GAAW;AAAA,MACpB,KAAKsH;AAAA,MACL,WAAWK;AAAA,MACX,OAAO5H,EAAQ;AAAA,MACf,QAAQA,EAAQ;AAAA,MAChB,SAASA,EAAQ;AAAA,MACjB,gBAAgBA,EAAQ;AAAA,IAC9B,CAAK;AAAA,IACD,OAAOA,EAAQ;AAAA,IACf,UAAU2H;AAAA,IACV,YAAY,CAAA;AAAA,IACZ,QAAQI;AAAA,EACZ;AACE,SAAAvB,EAAM,MAAM,QAAQqB,CAAc,GAC3BrB;AACT;;;;;;;;;;;;;;;;;AC1aa,MAAIiC,IAAe,OAAO,UAApB,cAA4B,OAAO,KAAIC,IAAED,IAAE,OAAO,IAAI,eAAe,IAAE,OAAME,IAAEF,IAAE,OAAO,IAAI,cAAc,IAAE,OAAMG,IAAEH,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMI,IAAEJ,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAMK,IAAEL,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMM,IAAEN,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAM9C,IAAE8C,IAAE,OAAO,IAAI,eAAe,IAAE,OAAMO,IAAEP,IAAE,OAAO,IAAI,kBAAkB,IAAE,OAAMQ,IAAER,IAAE,OAAO,IAAI,uBAAuB,IAAE,OAAMS,IAAET,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAMU,IAAEV,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMW,IAAEX,IACpf,OAAO,IAAI,qBAAqB,IAAE,OAAMY,IAAEZ,IAAE,OAAO,IAAI,YAAY,IAAE,OAAMa,IAAEb,IAAE,OAAO,IAAI,YAAY,IAAE,OAAMc,IAAEd,IAAE,OAAO,IAAI,aAAa,IAAE,OAAMe,IAAEf,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAM7C,IAAE6C,IAAE,OAAO,IAAI,iBAAiB,IAAE,OAAM5C,IAAE4C,IAAE,OAAO,IAAI,aAAa,IAAE;AAClQ,WAAS3C,EAAE2D,GAAE;AAAC,QAAc,OAAOA,KAAlB,YAA4BA,MAAP,MAAS;AAAC,UAAIC,IAAED,EAAE;AAAS,cAAOC,GAAC;AAAA,QAAE,KAAKhB;AAAE,kBAAOe,IAAEA,EAAE,MAAKA,GAAC;AAAA,YAAE,KAAKT;AAAA,YAAE,KAAKC;AAAA,YAAE,KAAKL;AAAA,YAAE,KAAKE;AAAA,YAAE,KAAKD;AAAA,YAAE,KAAKM;AAAE,qBAAOM;AAAA,YAAE;AAAQ,sBAAOA,IAAEA,KAAGA,EAAE,UAASA,GAAC;AAAA,gBAAE,KAAK9D;AAAA,gBAAE,KAAKuD;AAAA,gBAAE,KAAKI;AAAA,gBAAE,KAAKD;AAAA,gBAAE,KAAKN;AAAE,yBAAOU;AAAA,gBAAE;AAAQ,yBAAOC;AAAA,cAAC;AAAA,UAAC;AAAA,QAAC,KAAKf;AAAE,iBAAOe;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,WAASC,EAAEF,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIR;AAAA,EAAC;AAAC,SAAAW,EAAA,YAAkBZ,GAAEY,EAAA,iBAAuBX,GAAEW,EAAA,kBAAwBjE,GAAEiE,oBAAwBb,GAAEa,EAAA,UAAgBlB,GAAEkB,EAAA,aAAmBV,GAAEU,EAAA,WAAiBhB,GAAEgB,EAAA,OAAaN,GAAEM,SAAaP,GAAEO,EAAA,SAAejB,GAChfiB,EAAA,WAAiBd,GAAEc,EAAA,aAAmBf,GAAEe,EAAA,WAAiBT,GAAES,EAAA,cAAoB,SAASH,GAAE;AAAC,WAAOE,EAAEF,CAAC,KAAG3D,EAAE2D,CAAC,MAAIT;AAAA,EAAC,GAAEY,EAAA,mBAAyBD,GAAEC,EAAA,oBAA0B,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAI9D;AAAA,EAAC,GAAEiE,EAAA,oBAA0B,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIV;AAAA,EAAC,GAAEa,EAAA,YAAkB,SAASH,GAAE;AAAC,WAAiB,OAAOA,KAAlB,YAA4BA,MAAP,QAAUA,EAAE,aAAWf;AAAA,EAAC,GAAEkB,EAAA,eAAqB,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIP;AAAA,EAAC,GAAEU,EAAA,aAAmB,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIb;AAAA,EAAC,GAAEgB,EAAA,SAAe,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIH;AAAA,EAAC,GAC1dM,EAAA,SAAe,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIJ;AAAA,EAAC,GAAEO,aAAiB,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAId;AAAA,EAAC,GAAEiB,EAAA,aAAmB,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIX;AAAA,EAAC,GAAEc,EAAA,eAAqB,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIZ;AAAA,EAAC,GAAEe,EAAA,aAAmB,SAASH,GAAE;AAAC,WAAO3D,EAAE2D,CAAC,MAAIN;AAAA,EAAC,GAC1OS,EAAA,qBAA2B,SAASH,GAAE;AAAC,WAAiB,OAAOA,KAAlB,YAAkC,OAAOA,KAApB,cAAuBA,MAAIb,KAAGa,MAAIR,KAAGQ,MAAIX,KAAGW,MAAIZ,KAAGY,MAAIN,KAAGM,MAAIL,KAAc,OAAOK,KAAlB,YAA4BA,MAAP,SAAWA,EAAE,aAAWH,KAAGG,EAAE,aAAWJ,KAAGI,EAAE,aAAWV,KAAGU,EAAE,aAAW9D,KAAG8D,EAAE,aAAWP,KAAGO,EAAE,aAAWD,KAAGC,EAAE,aAAW7D,KAAG6D,EAAE,aAAW5D,KAAG4D,EAAE,aAAWF;AAAA,EAAE,GAAEK,EAAA,SAAe9D;;;;wBCXjU+D,GAAA,UAAiBC,GAAA;;;;;;ACDnB,MAAIC,IAAUD,GAAA,GAMVE,IAAgB;AAAA,IAClB,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,0BAA0B;AAAA,IAC1B,0BAA0B;AAAA,IAC1B,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,MAAM;AAAA,KAEJC,IAAgB;AAAA,IAClB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,KAELC,IAAsB;AAAA,IACxB,UAAY;AAAA,IACZ,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,aAAa;AAAA,IACb,WAAW;AAAA,KAETC,IAAe;AAAA,IACjB,UAAY;AAAA,IACZ,SAAS;AAAA,IACT,cAAc;AAAA,IACd,aAAa;AAAA,IACb,WAAW;AAAA,IACX,MAAM;AAAA,KAEJC,IAAe,CAAA;AACnB,EAAAA,EAAaL,EAAQ,UAAU,IAAIG,GACnCE,EAAaL,EAAQ,IAAI,IAAII;AAE7B,WAASE,EAAWC,GAAW;AAE7B,WAAIP,EAAQ,OAAOO,CAAS,IACnBH,IAIFC,EAAaE,EAAU,QAAW,KAAKN;AAAA,EAChD;AAEA,MAAIO,IAAiB,OAAO,gBACxBC,IAAsB,OAAO,qBAC7BC,IAAwB,OAAO,uBAC/BC,IAA2B,OAAO,0BAClCC,IAAiB,OAAO,gBACxBC,IAAkB,OAAO;AAC7B,WAASC,EAAqBC,GAAiBC,GAAiBC,GAAW;AACzE,QAAI,OAAOD,KAAoB,UAAU;AAEvC,UAAIH,GAAiB;AACnB,YAAIK,IAAqBN,EAAeI,CAAe;AAEvD,QAAIE,KAAsBA,MAAuBL,KAC/CC,EAAqBC,GAAiBG,GAAoBD,CAAS;AAAA,MAE3E;AAEI,UAAIE,IAAOV,EAAoBO,CAAe;AAE9C,MAAIN,MACFS,IAAOA,EAAK,OAAOT,EAAsBM,CAAe,CAAC;AAM3D,eAHII,IAAgBd,EAAWS,CAAe,GAC1CM,IAAgBf,EAAWU,CAAe,GAErCjL,IAAI,GAAGA,IAAIoL,EAAK,QAAQ,EAAEpL,GAAG;AACpC,YAAIyH,IAAM2D,EAAKpL,CAAC;AAEhB,YAAI,CAACmK,EAAc1C,CAAG,KAAK,EAAEyD,KAAaA,EAAUzD,CAAG,MAAM,EAAE6D,KAAiBA,EAAc7D,CAAG,MAAM,EAAE4D,KAAiBA,EAAc5D,CAAG,IAAI;AAC7I,cAAI8D,IAAaX,EAAyBK,GAAiBxD,CAAG;AAE9D,cAAI;AAEF,YAAAgD,EAAeO,GAAiBvD,GAAK8D,CAAU;AAAA,UACzD,QAAoB;AAAA,UAAA;AAAA,QACpB;AAAA,MACA;AAAA,IACA;AAEE,WAAOP;AAAA,EACT;AAEA,SAAAQ,KAAiBT;;;ACtGjB,IAAIU,KAAY;AAEhB,SAASC,GAAoBC,GAAYC,GAAkBC,GAAY;AACrE,MAAIC,IAAe;AACnB,SAAAD,EAAW,MAAM,GAAG,EAAE,QAAQ,SAAUE,GAAW;AACjD,IAAIJ,EAAWI,CAAS,MAAM,SAC5BH,EAAiB,KAAKD,EAAWI,CAAS,IAAI,GAAG,IACxCA,MACTD,KAAgBC,IAAY;AAAA,EAEhC,CAAC,GACMD;AACT;AACA,IAAIE,KAAiB,SAAwBtF,GAAO+B,GAAYwD,GAAa;AAC3E,MAAIF,IAAYrF,EAAM,MAAM,MAAM+B,EAAW;AAE7C;AAAA;AAAA;AAAA;AAAA;AAAA,GAKCwD,MAAgB;AAAA;AAAA;AAAA;AAAA,EAIjBR,OAAc,OAAW/E,EAAM,WAAWqF,CAAS,MAAM,WACvDrF,EAAM,WAAWqF,CAAS,IAAItD,EAAW;AAE7C,GACIyD,KAAe,SAAsBxF,GAAO+B,GAAYwD,GAAa;AACvE,EAAAD,GAAetF,GAAO+B,GAAYwD,CAAW;AAC7C,MAAIF,IAAYrF,EAAM,MAAM,MAAM+B,EAAW;AAE7C,MAAI/B,EAAM,SAAS+B,EAAW,IAAI,MAAM,QAAW;AACjD,QAAI0D,IAAU1D;AAEd;AACE,MAAA/B,EAAM,OAAO+B,MAAe0D,IAAU,MAAMJ,IAAY,IAAII,GAASzF,EAAM,OAAO,EAAI,GAEtFyF,IAAUA,EAAQ;AAAA,WACXA,MAAY;AAAA,EACvB;AACF;ACvCA,SAASC,GAAQC,GAAK;AAYpB,WANIpD,IAAI,GAEJpD,GACA7F,IAAI,GACJsM,IAAMD,EAAI,QAEPC,KAAO,GAAG,EAAEtM,GAAGsM,KAAO;AAC3B,IAAAzG,IAAIwG,EAAI,WAAWrM,CAAC,IAAI,OAAQqM,EAAI,WAAW,EAAErM,CAAC,IAAI,QAAS,KAAKqM,EAAI,WAAW,EAAErM,CAAC,IAAI,QAAS,MAAMqM,EAAI,WAAW,EAAErM,CAAC,IAAI,QAAS,IACxI6F;AAAA,KAECA,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU,KACpDA;AAAA,IAEAA,MAAM,IACNoD;AAAA,KAECpD,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU;AAAA,KAEnDoD,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU;AAItD,UAAQqD,GAAG;AAAA,IACT,KAAK;AACH,MAAArD,MAAMoD,EAAI,WAAWrM,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,MAAAiJ,MAAMoD,EAAI,WAAWrM,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,MAAAiJ,KAAKoD,EAAI,WAAWrM,CAAC,IAAI,KACzBiJ;AAAA,OAECA,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU;AAAA,EAC1D;AAIE,SAAAA,KAAKA,MAAM,IACXA;AAAA,GAECA,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU,OAC3CA,IAAIA,MAAM,QAAQ,GAAG,SAAS,EAAE;AAC3C;ACpDA,IAAIsD,KAAe;AAAA,EACjB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA;AAAA,EAEjB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,aAAa;AACf,GC3CIC,KAAiB,cACjBC,KAAiB,+BAEjBC,KAAmB,SAA0BzH,GAAU;AACzD,SAAOA,EAAS,WAAW,CAAC,MAAM;AACpC,GAEI0H,KAAqB,SAA4BnL,GAAO;AAC1D,SAAOA,KAAS,QAAQ,OAAOA,KAAU;AAC3C,GAEIoL,KAAkC,gBAAApG,GAAQ,SAAUqG,GAAW;AACjE,SAAOH,GAAiBG,CAAS,IAAIA,IAAYA,EAAU,QAAQL,IAAgB,KAAK,EAAE,YAAW;AACvG,CAAC,GAEGM,KAAoB,SAA2BrF,GAAKjG,GAAO;AAC7D,UAAQiG,GAAG;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAED,UAAI,OAAOjG,KAAU;AACnB,eAAOA,EAAM,QAAQiL,IAAgB,SAAU7K,GAAOmL,GAAIC,GAAI;AAC5D,iBAAAC,IAAS;AAAA,YACP,MAAMF;AAAA,YACN,QAAQC;AAAA,YACR,MAAMC;AAAA,UACpB,GACmBF;AAAA,QACT,CAAC;AAAA,EAGX;AAEE,SAAIG,GAASzF,CAAG,MAAM,KAAK,CAACiF,GAAiBjF,CAAG,KAAK,OAAOjG,KAAU,YAAYA,MAAU,IACnFA,IAAQ,OAGVA;AACT;AAIA,SAAS2L,GAAoBC,GAAazB,GAAY0B,GAAe;AACnE,MAAIA,KAAiB;AACnB,WAAO;AAGT,MAAIC,IAAoBD;AAExB,MAAIC,EAAkB,qBAAqB;AAEzC,WAAOA;AAGT,UAAQ,OAAOD,GAAa;AAAA,IAC1B,KAAK;AAED,aAAO;AAAA,IAGX,KAAK,UACH;AACE,UAAIE,IAAYF;AAEhB,UAAIE,EAAU,SAAS;AACrB,eAAAN,IAAS;AAAA,UACP,MAAMM,EAAU;AAAA,UAChB,QAAQA,EAAU;AAAA,UAClB,MAAMN;AAAA,QAClB,GACiBM,EAAU;AAGnB,UAAIC,IAAmBH;AAEvB,UAAIG,EAAiB,WAAW,QAAW;AACzC,YAAI9J,IAAO8J,EAAiB;AAE5B,YAAI9J,MAAS;AAGX,iBAAOA,MAAS;AACd,YAAAuJ,IAAS;AAAA,cACP,MAAMvJ,EAAK;AAAA,cACX,QAAQA,EAAK;AAAA,cACb,MAAMuJ;AAAA,YACtB,GACcvJ,IAAOA,EAAK;AAIhB,YAAI6E,IAASiF,EAAiB,SAAS;AACvC,eAAOjF;AAAA,MACT;AAEA,aAAOkF,GAAuBL,GAAazB,GAAY0B,CAAa;AAAA,IACtE;AAAA,IAEF,KAAK,YACH;AACE,UAAID,MAAgB,QAAW;AAC7B,YAAIM,IAAiBT,GACjBU,IAASN,EAAcD,CAAW;AACtC,eAAAH,IAASS,GACFP,GAAoBC,GAAazB,GAAYgC,CAAM;AAAA,MAC5D;AAEA;AAAA,IACF;AAAA,EACN;AAGE,MAAIC,IAAWP;AAGb,SAAOO;AAKX;AAEA,SAASH,GAAuBL,GAAazB,GAAYkC,GAAK;AAC5D,MAAIC,IAAS;AAEb,MAAI,MAAM,QAAQD,CAAG;AACnB,aAAS7N,IAAI,GAAGA,IAAI6N,EAAI,QAAQ7N;AAC9B,MAAA8N,KAAUX,GAAoBC,GAAazB,GAAYkC,EAAI7N,CAAC,CAAC,IAAI;AAAA;AAGnE,aAASyH,KAAOoG,GAAK;AACnB,UAAIrM,IAAQqM,EAAIpG,CAAG;AAEnB,UAAI,OAAOjG,KAAU,UAAU;AAC7B,YAAIoM,IAAWpM;AAIR,QAAImL,GAAmBiB,CAAQ,MACpCE,KAAUlB,GAAiBnF,CAAG,IAAI,MAAMqF,GAAkBrF,GAAKmG,CAAQ,IAAI;AAAA,MAE/E,WAKM,MAAM,QAAQpM,CAAK,KAAK,OAAOA,EAAM,CAAC,KAAM,YAAamK,KAAc;AACzE,iBAASoC,IAAK,GAAGA,IAAKvM,EAAM,QAAQuM;AAClC,UAAIpB,GAAmBnL,EAAMuM,CAAE,CAAC,MAC9BD,KAAUlB,GAAiBnF,CAAG,IAAI,MAAMqF,GAAkBrF,GAAKjG,EAAMuM,CAAE,CAAC,IAAI;AAAA,WAG3E;AACL,YAAIC,IAAeb,GAAoBC,GAAazB,GAAYnK,CAAK;AAErE,gBAAQiG,GAAG;AAAA,UACT,KAAK;AAAA,UACL,KAAK,iBACH;AACE,YAAAqG,KAAUlB,GAAiBnF,CAAG,IAAI,MAAMuG,IAAe;AACvD;AAAA,UACF;AAAA,UAEF;AAGI,YAAAF,KAAUrG,IAAM,MAAMuG,IAAe;AAAA,QAErD;AAAA,MACQ;AAAA,IAEJ;AAGF,SAAOF;AACT;AAEA,IAAIG,KAAe,gCAGfhB;AACJ,SAASiB,GAAgBC,GAAMxC,GAAYyB,GAAa;AACtD,MAAIe,EAAK,WAAW,KAAK,OAAOA,EAAK,CAAC,KAAM,YAAYA,EAAK,CAAC,MAAM,QAAQA,EAAK,CAAC,EAAE,WAAW;AAC7F,WAAOA,EAAK,CAAC;AAGf,MAAIC,IAAa,IACb7F,IAAS;AACb,EAAA0E,IAAS;AACT,MAAIoB,IAAUF,EAAK,CAAC;AAEpB,MAAIE,KAAW,QAAQA,EAAQ,QAAQ;AACrC,IAAAD,IAAa,IACb7F,KAAU4E,GAAoBC,GAAazB,GAAY0C,CAAO;AAAA,OACzD;AACL,QAAIC,IAAuBD;AAE3B,IAAA9F,KAAU+F,EAAqB,CAAC;AAAA,EAClC;AAGA,WAAStO,IAAI,GAAGA,IAAImO,EAAK,QAAQnO;AAG/B,QAFAuI,KAAU4E,GAAoBC,GAAazB,GAAYwC,EAAKnO,CAAC,CAAC,GAE1DoO,GAAY;AACd,UAAIG,IAAqBF;AAEzB,MAAA9F,KAAUgG,EAAmBvO,CAAC;AAAA,IAChC;AAIF,EAAAiO,GAAa,YAAY;AAIzB,WAHIO,IAAiB,IACjB5M,IAEIA,IAAQqM,GAAa,KAAK1F,CAAM,OAAO;AAC7C,IAAAiG,KAAkB,MAAM5M,EAAM,CAAC;AAGjC,MAAI6M,IAAOC,GAAWnG,CAAM,IAAIiG;AAEhC,SAAO;AAAA,IACL,MAAMC;AAAA,IACN,QAAQlG;AAAA,IACR,MAAM0E;AAAA,EACV;AACA;ACvOA,IAAI0B,KAAe,SAAsBC,GAAQ;AAC/C,SAAOA,EAAM;AACf,GAEIC,KAAqBC,EAAM,qBAA6BA,EAAM,qBAA6B,IAC3FC,KAA2CF,MAAsBF,ICKjEK,KAAqC,gBAAAF,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/C,OAAO,cAAgB,MAA6B,gBAAAtH,GAAY;AAAA,IAC9D,KAAK;AAAA,EACP,CAAC,IAAI;AAAI;AAEWwH,GAAoB;AAKxC,IAAIC,KAAmB,SAA0BC,GAAM;AACrD,SAAoB,gBAAAC,GAAW,SAAU9L,GAAO+L,GAAK;AAEnD,QAAI1I,IAAQ2I,GAAWL,EAAmB;AAC1C,WAAOE,EAAK7L,GAAOqD,GAAO0I,CAAG;AAAA,EAC/B,CAAC;AACH,GAEIE,KAA8B,gBAAAR,EAAM,cAAc,EAAE,GA6CpDS,KAAS,CAAA,EAAG,gBAEZC,KAAe,sCACfC,KAAqB,SAA4BrM,GAAMC,GAAO;AAEhE,MAAIqM,IAAW,CAAA;AAEf,WAASC,KAAQtM;AACf,IAAIkM,GAAO,KAAKlM,GAAOsM,CAAI,MACzBD,EAASC,CAAI,IAAItM,EAAMsM,CAAI;AAI/B,SAAAD,EAASF,EAAY,IAAIpM,GAElBsM;AACT,GAEIE,KAAY,SAAmBC,GAAM;AACvC,MAAInJ,IAAQmJ,EAAK,OACbpH,IAAaoH,EAAK,YAClB5D,IAAc4D,EAAK;AACvB,SAAA7D,GAAetF,GAAO+B,GAAYwD,CAAW,GAC7C8C,GAAyC,WAAY;AACnD,WAAO7C,GAAaxF,GAAO+B,GAAYwD,CAAW;AAAA,EACpD,CAAC,GAEM;AACT,GAEI6D,KAAyB,gBAAAb,GAAiB,SAAU5L,GAAOqD,GAAO0I,GAAK;AACzE,MAAIW,IAAU1M,EAAM;AAIpB,EAAI,OAAO0M,KAAY,YAAYrJ,EAAM,WAAWqJ,CAAO,MAAM,WAC/DA,IAAUrJ,EAAM,WAAWqJ,CAAO;AAGpC,MAAIC,IAAmB3M,EAAMmM,EAAY,GACrC5D,IAAmB,CAACmE,CAAO,GAC3BhE,IAAY;AAEhB,EAAI,OAAO1I,EAAM,aAAc,WAC7B0I,IAAYL,GAAoBhF,EAAM,YAAYkF,GAAkBvI,EAAM,SAAS,IAC1EA,EAAM,aAAa,SAC5B0I,IAAY1I,EAAM,YAAY;AAGhC,MAAIoF,IAAayF,GAAgBtC,GAAkB,QAAWkD,EAAM,WAAWQ,EAAY,CAAC;AAE5F,EAAAvD,KAAarF,EAAM,MAAM,MAAM+B,EAAW;AAC1C,MAAIiH,IAAW,CAAA;AAEf,WAASO,KAAS5M;AAChB,IAAIkM,GAAO,KAAKlM,GAAO4M,CAAK,KAAKA,MAAU,SAASA,MAAUT,OAC5DE,EAASO,CAAK,IAAI5M,EAAM4M,CAAK;AAIjC,SAAAP,EAAS,YAAY3D,GAEjBqD,MACFM,EAAS,MAAMN,IAGG,gBAAAN,EAAM,cAAcA,EAAM,UAAU,MAAmB,gBAAAA,EAAM,cAAcc,IAAW;AAAA,IACxG,OAAOlJ;AAAA,IACP,YAAY+B;AAAA,IACZ,aAAa,OAAOuH,KAAqB;AAAA,EAC7C,CAAG,GAAgB,gBAAAlB,EAAM,cAAckB,GAAkBN,CAAQ,CAAC;AAClE,CAAC,GAEGQ,KAAYJ,IC5IZK,KAAM,SAAa/M,GAAMC,GAAOoE,GAAK;AACvC,SAAK8H,GAAO,KAAKlM,GAAO,KAAK,IAItB+M,GAAgB,IAAIN,IAASL,GAAmBrM,GAAMC,CAAK,GAAGoE,CAAG,IAH/D2I,GAAgB,IAAIhN,GAAMC,GAAOoE,CAAG;AAI/C;ACnBA,MAAM4I,IAAW,CAAAxC,MAAO,OAAOA,KAAQ,UACjCyC,KAAQ,MAAM;AAClB,MAAIC,GACAC;AACJ,QAAMC,IAAU,IAAI,QAAQ,CAACC,GAASC,MAAW;AAC/C,IAAAJ,IAAMG,GACNF,IAAMG;AAAA,EACR,CAAC;AACD,SAAAF,EAAQ,UAAUF,GAClBE,EAAQ,SAASD,GACVC;AACT,GACMG,KAAa,CAAAC,MACbA,KAAU,OAAa,KACpB,KAAKA,GAERtN,KAAO,CAACoG,GAAGmH,GAAGtH,MAAM;AACxB,EAAAG,EAAE,QAAQ,CAAAR,MAAK;AACb,IAAI2H,EAAE3H,CAAC,MAAGK,EAAEL,CAAC,IAAI2H,EAAE3H,CAAC;AAAA,EACtB,CAAC;AACH,GACM4H,KAA4B,QAC5BC,KAAW,CAAAvJ,MAAOA,KAAOA,EAAI,QAAQ,KAAK,IAAI,KAAKA,EAAI,QAAQsJ,IAA2B,GAAG,IAAItJ,GACjGwJ,KAAuB,CAAAJ,MAAU,CAACA,KAAUR,EAASQ,CAAM,GAC3DK,KAAgB,CAACL,GAAQM,GAAMC,MAAU;AAC7C,QAAMC,IAAShB,EAASc,CAAI,IAAWA,EAAK,MAAM,GAAG,IAArBA;AAChC,MAAIG,IAAa;AACjB,SAAOA,IAAaD,EAAM,SAAS,KAAG;AACpC,QAAIJ,GAAqBJ,CAAM,EAAG,QAAO,CAAA;AACzC,UAAMpJ,IAAMuJ,GAASK,EAAMC,CAAU,CAAC;AACtC,IAAI,CAACT,EAAOpJ,CAAG,KAAK2J,MAAOP,EAAOpJ,CAAG,IAAI,IAAI2J,EAAK,IAC9C,OAAO,UAAU,eAAe,KAAKP,GAAQpJ,CAAG,IAClDoJ,IAASA,EAAOpJ,CAAG,IAEnBoJ,IAAS,CAAA,GAEX,EAAES;AAAA,EACJ;AACA,SAAIL,GAAqBJ,CAAM,IAAU,CAAA,IAClC;AAAA,IACL,KAAKA;AAAA,IACL,GAAGG,GAASK,EAAMC,CAAU,CAAC;AAAA,EACjC;AACA,GACMC,KAAU,CAACV,GAAQM,GAAMK,MAAa;AAC1C,QAAM;AAAA,IACJ,KAAA3D;AAAA,IACA,GAAAhI;AAAA,EACJ,IAAMqL,GAAcL,GAAQM,GAAM,MAAM;AACtC,MAAItD,MAAQ,UAAasD,EAAK,WAAW,GAAG;AAC1C,IAAAtD,EAAIhI,CAAC,IAAI2L;AACT;AAAA,EACF;AACA,MAAI1I,IAAIqI,EAAKA,EAAK,SAAS,CAAC,GACxB9H,IAAI8H,EAAK,MAAM,GAAGA,EAAK,SAAS,CAAC,GACjCM,IAAOP,GAAcL,GAAQxH,GAAG,MAAM;AAC1C,SAAOoI,EAAK,QAAQ,UAAapI,EAAE;AACjC,IAAAP,IAAI,GAAGO,EAAEA,EAAE,SAAS,CAAC,CAAC,IAAIP,CAAC,IAC3BO,IAAIA,EAAE,MAAM,GAAGA,EAAE,SAAS,CAAC,GAC3BoI,IAAOP,GAAcL,GAAQxH,GAAG,MAAM,GAClCoI,KAAQA,EAAK,OAAO,OAAOA,EAAK,IAAI,GAAGA,EAAK,CAAC,IAAI3I,CAAC,EAAE,IAAM,QAC5D2I,EAAK,MAAM;AAGf,EAAAA,EAAK,IAAI,GAAGA,EAAK,CAAC,IAAI3I,CAAC,EAAE,IAAI0I;AAC/B,GACME,KAAW,CAACb,GAAQM,GAAMK,GAAUG,MAAW;AACnD,QAAM;AAAA,IACJ,KAAA9D;AAAA,IACA,GAAAhI;AAAA,EACJ,IAAMqL,GAAcL,GAAQM,GAAM,MAAM;AACtC,EAAAtD,EAAIhI,CAAC,IAAIgI,EAAIhI,CAAC,KAAK,CAAA,GACnBgI,EAAIhI,CAAC,EAAE,KAAK2L,CAAQ;AACtB,GACMI,KAAU,CAACf,GAAQM,MAAS;AAChC,QAAM;AAAA,IACJ,KAAAtD;AAAA,IACA,GAAAhI;AAAA,EACJ,IAAMqL,GAAcL,GAAQM,CAAI;AAC9B,MAAKtD;AACL,WAAOA,EAAIhI,CAAC;AACd,GACMgM,KAAsB,CAACC,GAAMC,GAAatK,MAAQ;AACtD,QAAMjG,IAAQoQ,GAAQE,GAAMrK,CAAG;AAC/B,SAAIjG,MAAU,SACLA,IAEFoQ,GAAQG,GAAatK,CAAG;AACjC,GACMuK,KAAa,CAACC,GAAQC,GAAQC,MAAc;AAChD,aAAWC,KAAQF;AACjB,IAAIE,MAAS,eAAeA,MAAS,kBAC/BA,KAAQH,IACN5B,EAAS4B,EAAOG,CAAI,CAAC,KAAKH,EAAOG,CAAI,aAAa,UAAU/B,EAAS6B,EAAOE,CAAI,CAAC,KAAKF,EAAOE,CAAI,aAAa,SAC5GD,MAAWF,EAAOG,CAAI,IAAIF,EAAOE,CAAI,KAEzCJ,GAAWC,EAAOG,CAAI,GAAGF,EAAOE,CAAI,GAAGD,CAAS,IAGlDF,EAAOG,CAAI,IAAIF,EAAOE,CAAI;AAIhC,SAAOH;AACT,GACMI,IAAc,CAAAhG,MAAOA,EAAI,QAAQ,uCAAuC,MAAM;AACpF,IAAIiG,KAAa;AAAA,EACf,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AACA,MAAMC,KAAS,CAAAT,MACTzB,EAASyB,CAAI,IACRA,EAAK,QAAQ,cAAc,CAAAhB,MAAKwB,GAAWxB,CAAC,CAAC,IAE/CgB;AAET,MAAMU,GAAY;AAAA,EAChB,YAAYC,GAAU;AACpB,SAAK,WAAWA,GAChB,KAAK,YAAY,oBAAI,IAAG,GACxB,KAAK,cAAc,CAAA;AAAA,EACrB;AAAA,EACA,UAAU5Q,GAAS;AACjB,UAAM6Q,IAAkB,KAAK,UAAU,IAAI7Q,CAAO;AAClD,QAAI6Q,MAAoB;AACtB,aAAOA;AAET,UAAMC,IAAY,IAAI,OAAO9Q,CAAO;AACpC,WAAI,KAAK,YAAY,WAAW,KAAK,YACnC,KAAK,UAAU,OAAO,KAAK,YAAY,MAAK,CAAE,GAEhD,KAAK,UAAU,IAAIA,GAAS8Q,CAAS,GACrC,KAAK,YAAY,KAAK9Q,CAAO,GACtB8Q;AAAA,EACT;AACF;AACA,MAAMC,KAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG,GAChCC,KAAiC,IAAIL,GAAY,EAAE,GACnDM,KAAsB,CAACrL,GAAKsL,GAAaC,MAAiB;AAC9D,EAAAD,IAAcA,KAAe,IAC7BC,IAAeA,KAAgB;AAC/B,QAAMC,IAAgBL,GAAM,OAAO,CAAAhK,MAAKmK,EAAY,QAAQnK,CAAC,IAAI,KAAKoK,EAAa,QAAQpK,CAAC,IAAI,CAAC;AACjG,MAAIqK,EAAc,WAAW,EAAG,QAAO;AACvC,QAAM1J,IAAIsJ,GAA+B,UAAU,IAAII,EAAc,IAAI,CAAArK,MAAKA,MAAM,MAAM,QAAQA,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG;AACjH,MAAIsK,IAAU,CAAC3J,EAAE,KAAK9B,CAAG;AACzB,MAAI,CAACyL,GAAS;AACZ,UAAMC,IAAK1L,EAAI,QAAQuL,CAAY;AACnC,IAAIG,IAAK,KAAK,CAAC5J,EAAE,KAAK9B,EAAI,UAAU,GAAG0L,CAAE,CAAC,MACxCD,IAAU;AAAA,EAEd;AACA,SAAOA;AACT,GACME,KAAW,SAAUvF,GAAKsD,GAAM;AACpC,MAAI6B,IAAe,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACvF,MAAI,CAACnF,EAAK;AACV,MAAIA,EAAIsD,CAAI,EAAG,QAAOtD,EAAIsD,CAAI;AAC9B,QAAMkC,IAASlC,EAAK,MAAM6B,CAAY;AACtC,MAAI7G,IAAU0B;AACd,WAAS,IAAI,GAAG,IAAIwF,EAAO,UAAS;AAClC,QAAI,CAAClH,KAAW,OAAOA,KAAY;AACjC;AAEF,QAAIzI,GACA4P,IAAW;AACf,aAAS1N,IAAI,GAAGA,IAAIyN,EAAO,QAAQ,EAAEzN;AAMnC,UALIA,MAAM,MACR0N,KAAYN,IAEdM,KAAYD,EAAOzN,CAAC,GACpBlC,IAAOyI,EAAQmH,CAAQ,GACnB5P,MAAS,QAAW;AACtB,YAAI,CAAC,UAAU,UAAU,SAAS,EAAE,QAAQ,OAAOA,CAAI,IAAI,MAAMkC,IAAIyN,EAAO,SAAS;AACnF;AAEF,aAAKzN,IAAI,IAAI;AACb;AAAA,MACF;AAEF,IAAAuG,IAAUzI;AAAA,EACZ;AACA,SAAOyI;AACT,GACMoH,KAAiB,CAAAC,MAAQA,KAAQA,EAAK,QAAQ,KAAK,GAAG,GAEtDC,KAAgB;AAAA,EACpB,MAAM;AAAA,EACN,IAAItF,GAAM;AACR,SAAK,OAAO,OAAOA,CAAI;AAAA,EACzB;AAAA,EACA,KAAKA,GAAM;AACT,SAAK,OAAO,QAAQA,CAAI;AAAA,EAC1B;AAAA,EACA,MAAMA,GAAM;AACV,SAAK,OAAO,SAASA,CAAI;AAAA,EAC3B;AAAA,EACA,OAAO/K,GAAM+K,GAAM;AACjB,IAAI,WAAW,QAAQ/K,CAAI,KAAG,QAAQA,CAAI,EAAE,MAAM,SAAS+K,CAAI;AAAA,EACjE;AACF;AACA,MAAMuF,GAAO;AAAA,EACX,YAAYC,GAAgB;AAC1B,QAAIzT,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,SAAK,KAAKyT,GAAgBzT,CAAO;AAAA,EACnC;AAAA,EACA,KAAKyT,GAAgB;AACnB,QAAIzT,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,SAAK,SAASA,EAAQ,UAAU,YAChC,KAAK,SAASyT,KAAkBF,IAChC,KAAK,UAAUvT,GACf,KAAK,QAAQA,EAAQ;AAAA,EACvB;AAAA,EACA,MAAM;AACJ,aAAS0T,IAAO,UAAU,QAAQzF,IAAO,IAAI,MAAMyF,CAAI,GAAGjE,IAAO,GAAGA,IAAOiE,GAAMjE;AAC/E,MAAAxB,EAAKwB,CAAI,IAAI,UAAUA,CAAI;AAE7B,WAAO,KAAK,QAAQxB,GAAM,OAAO,IAAI,EAAI;AAAA,EAC3C;AAAA,EACA,OAAO;AACL,aAAS0F,IAAQ,UAAU,QAAQ1F,IAAO,IAAI,MAAM0F,CAAK,GAAG5D,IAAQ,GAAGA,IAAQ4D,GAAO5D;AACpF,MAAA9B,EAAK8B,CAAK,IAAI,UAAUA,CAAK;AAE/B,WAAO,KAAK,QAAQ9B,GAAM,QAAQ,IAAI,EAAI;AAAA,EAC5C;AAAA,EACA,QAAQ;AACN,aAAS2F,IAAQ,UAAU,QAAQ3F,IAAO,IAAI,MAAM2F,CAAK,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACpF,MAAA5F,EAAK4F,CAAK,IAAI,UAAUA,CAAK;AAE/B,WAAO,KAAK,QAAQ5F,GAAM,SAAS,EAAE;AAAA,EACvC;AAAA,EACA,YAAY;AACV,aAAS6F,IAAQ,UAAU,QAAQ7F,IAAO,IAAI,MAAM6F,CAAK,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACpF,MAAA9F,EAAK8F,CAAK,IAAI,UAAUA,CAAK;AAE/B,WAAO,KAAK,QAAQ9F,GAAM,QAAQ,wBAAwB,EAAI;AAAA,EAChE;AAAA,EACA,QAAQA,GAAM+F,GAAK7M,GAAQ8M,GAAW;AACpC,WAAIA,KAAa,CAAC,KAAK,QAAc,QACjC9D,EAASlC,EAAK,CAAC,CAAC,MAAGA,EAAK,CAAC,IAAI,GAAG9G,CAAM,GAAG,KAAK,MAAM,IAAI8G,EAAK,CAAC,CAAC,KAC5D,KAAK,OAAO+F,CAAG,EAAE/F,CAAI;AAAA,EAC9B;AAAA,EACA,OAAOiG,GAAY;AACjB,WAAO,IAAIV,GAAO,KAAK,QAAQ;AAAA,MAE3B,QAAQ,GAAG,KAAK,MAAM,IAAIU,CAAU;AAAA,MAEtC,GAAG,KAAK;AAAA,IACd,CAAK;AAAA,EACH;AAAA,EACA,MAAMlU,GAAS;AACb,WAAAA,IAAUA,KAAW,KAAK,SAC1BA,EAAQ,SAASA,EAAQ,UAAU,KAAK,QACjC,IAAIwT,GAAO,KAAK,QAAQxT,CAAO;AAAA,EACxC;AACF;AACA,IAAImU,IAAa,IAAIX,GAAM;AAE3B,MAAMY,GAAa;AAAA,EACjB,cAAc;AACZ,SAAK,YAAY,CAAA;AAAA,EACnB;AAAA,EACA,GAAGC,GAAQC,GAAU;AACnB,WAAAD,EAAO,MAAM,GAAG,EAAE,QAAQ,CAAAE,MAAS;AACjC,MAAK,KAAK,UAAUA,CAAK,MAAG,KAAK,UAAUA,CAAK,IAAI,oBAAI,IAAG;AAC3D,YAAMC,IAAe,KAAK,UAAUD,CAAK,EAAE,IAAID,CAAQ,KAAK;AAC5D,WAAK,UAAUC,CAAK,EAAE,IAAID,GAAUE,IAAe,CAAC;AAAA,IACtD,CAAC,GACM;AAAA,EACT;AAAA,EACA,IAAID,GAAOD,GAAU;AACnB,QAAK,KAAK,UAAUC,CAAK,GACzB;AAAA,UAAI,CAACD,GAAU;AACb,eAAO,KAAK,UAAUC,CAAK;AAC3B;AAAA,MACF;AACA,WAAK,UAAUA,CAAK,EAAE,OAAOD,CAAQ;AAAA;AAAA,EACvC;AAAA,EACA,KAAKC,GAAO;AACV,aAASb,IAAO,UAAU,QAAQzF,IAAO,IAAI,MAAMyF,IAAO,IAAIA,IAAO,IAAI,CAAC,GAAGjE,IAAO,GAAGA,IAAOiE,GAAMjE;AAClG,MAAAxB,EAAKwB,IAAO,CAAC,IAAI,UAAUA,CAAI;AAEjC,IAAI,KAAK,UAAU8E,CAAK,KACP,MAAM,KAAK,KAAK,UAAUA,CAAK,EAAE,SAAS,EAClD,QAAQ,CAAA5E,MAAQ;AACrB,UAAI,CAAC8E,GAAUC,CAAa,IAAI/E;AAChC,eAAS7P,IAAI,GAAGA,IAAI4U,GAAe5U;AACjC,QAAA2U,EAAS,GAAGxG,CAAI;AAAA,IAEpB,CAAC,GAEC,KAAK,UAAU,GAAG,KACL,MAAM,KAAK,KAAK,UAAU,GAAG,EAAE,SAAS,EAChD,QAAQ,CAAA0G,MAAS;AACtB,UAAI,CAACF,GAAUC,CAAa,IAAIC;AAChC,eAAS7U,IAAI,GAAGA,IAAI4U,GAAe5U;AACjC,QAAA2U,EAAS,MAAMA,GAAU,CAACF,GAAO,GAAGtG,CAAI,CAAC;AAAA,IAE7C,CAAC;AAAA,EAEL;AACF;AAEA,MAAM2G,WAAsBR,GAAa;AAAA,EACvC,YAAYxC,GAAM;AAChB,QAAI5R,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAAA,MAChF,IAAI,CAAC,aAAa;AAAA,MAClB,WAAW;AAAA,IACjB;AACI,UAAK,GACL,KAAK,OAAO4R,KAAQ,CAAA,GACpB,KAAK,UAAU5R,GACX,KAAK,QAAQ,iBAAiB,WAChC,KAAK,QAAQ,eAAe,MAE1B,KAAK,QAAQ,wBAAwB,WACvC,KAAK,QAAQ,sBAAsB;AAAA,EAEvC;AAAA,EACA,cAAc6U,GAAI;AAChB,IAAI,KAAK,QAAQ,GAAG,QAAQA,CAAE,IAAI,KAChC,KAAK,QAAQ,GAAG,KAAKA,CAAE;AAAA,EAE3B;AAAA,EACA,iBAAiBA,GAAI;AACnB,UAAM7S,IAAQ,KAAK,QAAQ,GAAG,QAAQ6S,CAAE;AACxC,IAAI7S,IAAQ,MACV,KAAK,QAAQ,GAAG,OAAOA,GAAO,CAAC;AAAA,EAEnC;AAAA,EACA,YAAY8S,GAAKD,GAAItN,GAAK;AACxB,QAAIvH,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAM8S,IAAe9S,EAAQ,iBAAiB,SAAYA,EAAQ,eAAe,KAAK,QAAQ,cACxF+U,IAAsB/U,EAAQ,wBAAwB,SAAYA,EAAQ,sBAAsB,KAAK,QAAQ;AACnH,QAAIiR;AACJ,IAAI6D,EAAI,QAAQ,GAAG,IAAI,KACrB7D,IAAO6D,EAAI,MAAM,GAAG,KAEpB7D,IAAO,CAAC6D,GAAKD,CAAE,GACXtN,MACE,MAAM,QAAQA,CAAG,IACnB0J,EAAK,KAAK,GAAG1J,CAAG,IACP4I,EAAS5I,CAAG,KAAKuL,IAC1B7B,EAAK,KAAK,GAAG1J,EAAI,MAAMuL,CAAY,CAAC,IAEpC7B,EAAK,KAAK1J,CAAG;AAInB,UAAMkG,IAASiE,GAAQ,KAAK,MAAMT,CAAI;AAMtC,WALI,CAACxD,KAAU,CAACoH,KAAM,CAACtN,KAAOuN,EAAI,QAAQ,GAAG,IAAI,OAC/CA,IAAM7D,EAAK,CAAC,GACZ4D,IAAK5D,EAAK,CAAC,GACX1J,IAAM0J,EAAK,MAAM,CAAC,EAAE,KAAK,GAAG,IAE1BxD,KAAU,CAACsH,KAAuB,CAAC5E,EAAS5I,CAAG,IAAUkG,IACtDyF,GAAS,KAAK,QAAQ,KAAK,KAAK4B,CAAG,KAAK,KAAK,KAAKA,CAAG,EAAED,CAAE,GAAGtN,GAAKuL,CAAY;AAAA,EACtF;AAAA,EACA,YAAYgC,GAAKD,GAAItN,GAAKjG,GAAO;AAC/B,QAAItB,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAAA,MAChF,QAAQ;AAAA,IACd;AACI,UAAM8S,IAAe9S,EAAQ,iBAAiB,SAAYA,EAAQ,eAAe,KAAK,QAAQ;AAC9F,QAAIiR,IAAO,CAAC6D,GAAKD,CAAE;AACnB,IAAItN,MAAK0J,IAAOA,EAAK,OAAO6B,IAAevL,EAAI,MAAMuL,CAAY,IAAIvL,CAAG,IACpEuN,EAAI,QAAQ,GAAG,IAAI,OACrB7D,IAAO6D,EAAI,MAAM,GAAG,GACpBxT,IAAQuT,GACRA,IAAK5D,EAAK,CAAC,IAEb,KAAK,cAAc4D,CAAE,GACrBxD,GAAQ,KAAK,MAAMJ,GAAM3P,CAAK,GACzBtB,EAAQ,UAAQ,KAAK,KAAK,SAAS8U,GAAKD,GAAItN,GAAKjG,CAAK;AAAA,EAC7D;AAAA,EACA,aAAawT,GAAKD,GAAIG,GAAW;AAC/B,QAAIhV,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAAA,MAChF,QAAQ;AAAA,IACd;AACI,eAAWiJ,KAAK+L;AACd,OAAI7E,EAAS6E,EAAU/L,CAAC,CAAC,KAAK,MAAM,QAAQ+L,EAAU/L,CAAC,CAAC,MAAG,KAAK,YAAY6L,GAAKD,GAAI5L,GAAG+L,EAAU/L,CAAC,GAAG;AAAA,QACpG,QAAQ;AAAA,MAChB,CAAO;AAEH,IAAKjJ,EAAQ,UAAQ,KAAK,KAAK,SAAS8U,GAAKD,GAAIG,CAAS;AAAA,EAC5D;AAAA,EACA,kBAAkBF,GAAKD,GAAIG,GAAWC,GAAMhD,GAAW;AACrD,QAAIjS,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAAA,MAChF,QAAQ;AAAA,MACR,UAAU;AAAA,IAChB,GACQiR,IAAO,CAAC6D,GAAKD,CAAE;AACnB,IAAIC,EAAI,QAAQ,GAAG,IAAI,OACrB7D,IAAO6D,EAAI,MAAM,GAAG,GACpBG,IAAOD,GACPA,IAAYH,GACZA,IAAK5D,EAAK,CAAC,IAEb,KAAK,cAAc4D,CAAE;AACrB,QAAIK,IAAOxD,GAAQ,KAAK,MAAMT,CAAI,KAAK,CAAA;AACvC,IAAKjR,EAAQ,aAAUgV,IAAY,KAAK,MAAM,KAAK,UAAUA,CAAS,CAAC,IACnEC,IACFnD,GAAWoD,GAAMF,GAAW/C,CAAS,IAErCiD,IAAO;AAAA,MACL,GAAGA;AAAA,MACH,GAAGF;AAAA,IACX,GAEI3D,GAAQ,KAAK,MAAMJ,GAAMiE,CAAI,GACxBlV,EAAQ,UAAQ,KAAK,KAAK,SAAS8U,GAAKD,GAAIG,CAAS;AAAA,EAC5D;AAAA,EACA,qBAAqBF,GAAKD,GAAI;AAC5B,IAAI,KAAK,kBAAkBC,GAAKD,CAAE,KAChC,OAAO,KAAK,KAAKC,CAAG,EAAED,CAAE,GAE1B,KAAK,iBAAiBA,CAAE,GACxB,KAAK,KAAK,WAAWC,GAAKD,CAAE;AAAA,EAC9B;AAAA,EACA,kBAAkBC,GAAKD,GAAI;AACzB,WAAO,KAAK,YAAYC,GAAKD,CAAE,MAAM;AAAA,EACvC;AAAA,EACA,kBAAkBC,GAAKD,GAAI;AAEzB,WADKA,MAAIA,IAAK,KAAK,QAAQ,YACvB,KAAK,QAAQ,qBAAqB,OAAa;AAAA,MAEjD,GAAG,KAAK,YAAYC,GAAKD,CAAE;AAAA,IACjC,IACW,KAAK,YAAYC,GAAKD,CAAE;AAAA,EACjC;AAAA,EACA,kBAAkBC,GAAK;AACrB,WAAO,KAAK,KAAKA,CAAG;AAAA,EACtB;AAAA,EACA,4BAA4BA,GAAK;AAC/B,UAAMlD,IAAO,KAAK,kBAAkBkD,CAAG;AAEvC,WAAO,CAAC,EADElD,KAAQ,OAAO,KAAKA,CAAI,KAAK,CAAA,GAC5B,KAAK,CAAArI,MAAKqI,EAAKrI,CAAC,KAAK,OAAO,KAAKqI,EAAKrI,CAAC,CAAC,EAAE,SAAS,CAAC;AAAA,EACjE;AAAA,EACA,SAAS;AACP,WAAO,KAAK;AAAA,EACd;AACF;AAEA,IAAI4L,KAAgB;AAAA,EAClB,YAAY,CAAA;AAAA,EACZ,iBAAiBC,GAAQ;AACvB,SAAK,WAAWA,EAAO,IAAI,IAAIA;AAAA,EACjC;AAAA,EACA,OAAOC,GAAY/T,GAAOiG,GAAKvH,GAASsV,GAAY;AAClD,WAAAD,EAAW,QAAQ,CAAAE,MAAa;AAC9B,MAAI,KAAK,WAAWA,CAAS,MAAGjU,IAAQ,KAAK,WAAWiU,CAAS,EAAE,QAAQjU,GAAOiG,GAAKvH,GAASsV,CAAU;AAAA,IAC5G,CAAC,GACMhU;AAAA,EACT;AACF;AAEA,MAAMkU,KAAmB,CAAA;AACzB,MAAMC,WAAmBrB,GAAa;AAAA,EACpC,YAAYsB,GAAU;AACpB,QAAI1V,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAK,GACLqD,GAAK,CAAC,iBAAiB,iBAAiB,kBAAkB,gBAAgB,oBAAoB,cAAc,OAAO,GAAGqS,GAAU,IAAI,GACpI,KAAK,UAAU1V,GACX,KAAK,QAAQ,iBAAiB,WAChC,KAAK,QAAQ,eAAe,MAE9B,KAAK,SAASmU,EAAW,OAAO,YAAY;AAAA,EAC9C;AAAA,EACA,eAAeW,GAAK;AAClB,IAAIA,MAAK,KAAK,WAAWA;AAAA,EAC3B;AAAA,EACA,OAAOvN,GAAK;AACV,QAAIvH,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAAA,MAChF,eAAe,CAAA;AAAA,IACrB;AACI,QAAyBuH,KAAQ;AAC/B,aAAO;AAET,UAAMoO,IAAW,KAAK,QAAQpO,GAAKvH,CAAO;AAC1C,WAAO2V,KAAYA,EAAS,QAAQ;AAAA,EACtC;AAAA,EACA,eAAepO,GAAKvH,GAAS;AAC3B,QAAI6S,IAAc7S,EAAQ,gBAAgB,SAAYA,EAAQ,cAAc,KAAK,QAAQ;AACzF,IAAI6S,MAAgB,WAAWA,IAAc;AAC7C,UAAMC,IAAe9S,EAAQ,iBAAiB,SAAYA,EAAQ,eAAe,KAAK,QAAQ;AAC9F,QAAI4V,IAAa5V,EAAQ,MAAM,KAAK,QAAQ,aAAa,CAAA;AACzD,UAAM6V,IAAuBhD,KAAetL,EAAI,QAAQsL,CAAW,IAAI,IACjEiD,IAAuB,CAAC,KAAK,QAAQ,2BAA2B,CAAC9V,EAAQ,gBAAgB,CAAC,KAAK,QAAQ,0BAA0B,CAACA,EAAQ,eAAe,CAAC4S,GAAoBrL,GAAKsL,GAAaC,CAAY;AAClN,QAAI+C,KAAwB,CAACC,GAAsB;AACjD,YAAM7M,IAAI1B,EAAI,MAAM,KAAK,aAAa,aAAa;AACnD,UAAI0B,KAAKA,EAAE,SAAS;AAClB,eAAO;AAAA,UACL,KAAA1B;AAAA,UACA,YAAY4I,EAASyF,CAAU,IAAI,CAACA,CAAU,IAAIA;AAAA,QAC5D;AAEM,YAAMG,IAAQxO,EAAI,MAAMsL,CAAW;AACnC,OAAIA,MAAgBC,KAAgBD,MAAgBC,KAAgB,KAAK,QAAQ,GAAG,QAAQiD,EAAM,CAAC,CAAC,IAAI,QAAIH,IAAaG,EAAM,MAAK,IACpIxO,IAAMwO,EAAM,KAAKjD,CAAY;AAAA,IAC/B;AACA,WAAO;AAAA,MACL,KAAAvL;AAAA,MACA,YAAY4I,EAASyF,CAAU,IAAI,CAACA,CAAU,IAAIA;AAAA,IACxD;AAAA,EACE;AAAA,EACA,UAAU1K,GAAMlL,GAASgW,GAAS;AAQhC,QAPI,OAAOhW,KAAY,YAAY,KAAK,QAAQ,qCAC9CA,IAAU,KAAK,QAAQ,iCAAiC,SAAS,IAE/D,OAAOA,KAAY,aAAUA,IAAU;AAAA,MACzC,GAAGA;AAAA,IACT,IACSA,MAASA,IAAU,CAAA,IACEkL,KAAS,KAAM,QAAO;AAChD,IAAK,MAAM,QAAQA,CAAI,MAAGA,IAAO,CAAC,OAAOA,CAAI,CAAC;AAC9C,UAAM+K,IAAgBjW,EAAQ,kBAAkB,SAAYA,EAAQ,gBAAgB,KAAK,QAAQ,eAC3F8S,IAAe9S,EAAQ,iBAAiB,SAAYA,EAAQ,eAAe,KAAK,QAAQ,cACxF;AAAA,MACJ,KAAAuH;AAAA,MACA,YAAAqO;AAAA,IACN,IAAQ,KAAK,eAAe1K,EAAKA,EAAK,SAAS,CAAC,GAAGlL,CAAO,GAChDkW,IAAYN,EAAWA,EAAW,SAAS,CAAC,GAC5Cd,IAAM9U,EAAQ,OAAO,KAAK,UAC1BmW,IAA0BnW,EAAQ,2BAA2B,KAAK,QAAQ;AAChF,QAAI8U,KAAOA,EAAI,YAAW,MAAO,UAAU;AACzC,UAAIqB,GAAyB;AAC3B,cAAMtD,IAAc7S,EAAQ,eAAe,KAAK,QAAQ;AACxD,eAAIiW,IACK;AAAA,UACL,KAAK,GAAGC,CAAS,GAAGrD,CAAW,GAAGtL,CAAG;AAAA,UACrC,SAASA;AAAA,UACT,cAAcA;AAAA,UACd,SAASuN;AAAA,UACT,QAAQoB;AAAA,UACR,YAAY,KAAK,qBAAqBlW,CAAO;AAAA,QACzD,IAEe,GAAGkW,CAAS,GAAGrD,CAAW,GAAGtL,CAAG;AAAA,MACzC;AACA,aAAI0O,IACK;AAAA,QACL,KAAK1O;AAAA,QACL,SAASA;AAAA,QACT,cAAcA;AAAA,QACd,SAASuN;AAAA,QACT,QAAQoB;AAAA,QACR,YAAY,KAAK,qBAAqBlW,CAAO;AAAA,MACvD,IAEauH;AAAA,IACT;AACA,UAAMoO,IAAW,KAAK,QAAQzK,GAAMlL,CAAO;AAC3C,QAAIqQ,IAAMsF,KAAYA,EAAS;AAC/B,UAAMS,IAAaT,KAAYA,EAAS,WAAWpO,GAC7C8O,IAAkBV,KAAYA,EAAS,gBAAgBpO,GACvD+O,IAAU,OAAO,UAAU,SAAS,MAAMjG,CAAG,GAC7CkG,IAAW,CAAC,mBAAmB,qBAAqB,iBAAiB,GACrEC,IAAaxW,EAAQ,eAAe,SAAYA,EAAQ,aAAa,KAAK,QAAQ,YAClFyW,IAA6B,CAAC,KAAK,cAAc,KAAK,WAAW,gBACjEC,IAAiB,CAACvG,EAASE,CAAG,KAAK,OAAOA,KAAQ,aAAa,OAAOA,KAAQ;AACpF,QAAIoG,KAA8BpG,KAAOqG,KAAkBH,EAAS,QAAQD,CAAO,IAAI,KAAK,EAAEnG,EAASqG,CAAU,KAAK,MAAM,QAAQnG,CAAG,IAAI;AACzI,UAAI,CAACrQ,EAAQ,iBAAiB,CAAC,KAAK,QAAQ,eAAe;AACzD,QAAK,KAAK,QAAQ,yBAChB,KAAK,OAAO,KAAK,iEAAiE;AAEpF,cAAMqJ,IAAI,KAAK,QAAQ,wBAAwB,KAAK,QAAQ,sBAAsB+M,GAAY/F,GAAK;AAAA,UACjG,GAAGrQ;AAAA,UACH,IAAI4V;AAAA,QACd,CAAS,IAAI,QAAQrO,CAAG,KAAK,KAAK,QAAQ;AAClC,eAAI0O,KACFN,EAAS,MAAMtM,GACfsM,EAAS,aAAa,KAAK,qBAAqB3V,CAAO,GAChD2V,KAEFtM;AAAA,MACT;AACA,UAAIyJ,GAAc;AAChB,cAAM6D,IAAiB,MAAM,QAAQtG,CAAG,GAClChN,IAAOsT,IAAiB,CAAA,IAAK,CAAA,GAC7BC,IAAcD,IAAiBN,IAAkBD;AACvD,mBAAWnN,KAAKoH;AACd,cAAI,OAAO,UAAU,eAAe,KAAKA,GAAKpH,CAAC,GAAG;AAChD,kBAAM4N,IAAU,GAAGD,CAAW,GAAG9D,CAAY,GAAG7J,CAAC;AACjD,YAAA5F,EAAK4F,CAAC,IAAI,KAAK,UAAU4N,GAAS;AAAA,cAChC,GAAG7W;AAAA,cAED,YAAY;AAAA,cACZ,IAAI4V;AAAA,YAEpB,CAAa,GACGvS,EAAK4F,CAAC,MAAM4N,MAASxT,EAAK4F,CAAC,IAAIoH,EAAIpH,CAAC;AAAA,UAC1C;AAEF,QAAAoH,IAAMhN;AAAA,MACR;AAAA,IACF,WAAWoT,KAA8BtG,EAASqG,CAAU,KAAK,MAAM,QAAQnG,CAAG;AAChF,MAAAA,IAAMA,EAAI,KAAKmG,CAAU,GACrBnG,MAAKA,IAAM,KAAK,kBAAkBA,GAAKnF,GAAMlL,GAASgW,CAAO;AAAA,SAC5D;AACL,UAAIc,IAAc,IACdC,IAAU;AACd,YAAMC,IAAsBhX,EAAQ,UAAU,UAAa,CAACmQ,EAASnQ,EAAQ,KAAK,GAC5EiX,IAAkBxB,GAAW,gBAAgBzV,CAAO,GACpDkX,IAAqBF,IAAsB,KAAK,eAAe,UAAUlC,GAAK9U,EAAQ,OAAOA,CAAO,IAAI,IACxGmX,IAAoCnX,EAAQ,WAAWgX,IAAsB,KAAK,eAAe,UAAUlC,GAAK9U,EAAQ,OAAO;AAAA,QACnI,SAAS;AAAA,MACjB,CAAO,IAAI,IACCoX,IAAwBJ,KAAuB,CAAChX,EAAQ,WAAWA,EAAQ,UAAU,KAAK,KAAK,eAAe,iBAAgB,GAC9HqX,IAAeD,KAAyBpX,EAAQ,eAAe,KAAK,QAAQ,eAAe,MAAM,KAAKA,EAAQ,eAAekX,CAAkB,EAAE,KAAKlX,EAAQ,eAAemX,CAAiC,EAAE,KAAKnX,EAAQ;AACnO,MAAI,CAAC,KAAK,cAAcqQ,CAAG,KAAK4G,MAC9BH,IAAc,IACdzG,IAAMgH,IAEH,KAAK,cAAchH,CAAG,MACzB0G,IAAU,IACV1G,IAAM9I;AAGR,YAAM+P,MADiCtX,EAAQ,kCAAkC,KAAK,QAAQ,mCACtC+W,IAAU,SAAY1G,GACxEkH,IAAgBN,KAAmBI,MAAiBhH,KAAO,KAAK,QAAQ;AAC9E,UAAI0G,KAAWD,KAAeS,GAAe;AAE3C,YADA,KAAK,OAAO,IAAIA,IAAgB,cAAc,cAAczC,GAAKoB,GAAW3O,GAAKgQ,IAAgBF,IAAehH,CAAG,GAC/GyC,GAAc;AAChB,gBAAM0E,IAAK,KAAK,QAAQjQ,GAAK;AAAA,YAC3B,GAAGvH;AAAA,YACH,cAAc;AAAA,UAC1B,CAAW;AACD,UAAIwX,KAAMA,EAAG,OAAK,KAAK,OAAO,KAAK,iLAAiL;AAAA,QACtN;AACA,YAAIC,IAAO,CAAA;AACX,cAAMC,KAAe,KAAK,cAAc,iBAAiB,KAAK,QAAQ,aAAa1X,EAAQ,OAAO,KAAK,QAAQ;AAC/G,YAAI,KAAK,QAAQ,kBAAkB,cAAc0X,MAAgBA,GAAa,CAAC;AAC7E,mBAAS5X,IAAI,GAAGA,IAAI4X,GAAa,QAAQ5X;AACvC,YAAA2X,EAAK,KAAKC,GAAa5X,CAAC,CAAC;AAAA,YAEtB,CAAI,KAAK,QAAQ,kBAAkB,QACxC2X,IAAO,KAAK,cAAc,mBAAmBzX,EAAQ,OAAO,KAAK,QAAQ,IAEzEyX,EAAK,KAAKzX,EAAQ,OAAO,KAAK,QAAQ;AAExC,cAAM2X,KAAO,CAAC3O,GAAGrD,GAAGiS,OAAyB;AAC3C,gBAAMC,KAAoBZ,KAAmBW,OAAyBvH,IAAMuH,KAAuBN;AACnG,UAAI,KAAK,QAAQ,oBACf,KAAK,QAAQ,kBAAkBtO,GAAGkN,GAAWvQ,GAAGkS,IAAmBN,GAAevX,CAAO,IAChF,KAAK,oBAAoB,KAAK,iBAAiB,eACxD,KAAK,iBAAiB,YAAYgJ,GAAGkN,GAAWvQ,GAAGkS,IAAmBN,GAAevX,CAAO,GAE9F,KAAK,KAAK,cAAcgJ,GAAGkN,GAAWvQ,GAAG0K,CAAG;AAAA,QAC9C;AACA,QAAI,KAAK,QAAQ,gBACX,KAAK,QAAQ,sBAAsB2G,IACrCS,EAAK,QAAQ,CAAAK,MAAY;AACvB,gBAAMC,IAAW,KAAK,eAAe,YAAYD,GAAU9X,CAAO;AAClE,UAAIoX,KAAyBpX,EAAQ,eAAe,KAAK,QAAQ,eAAe,MAAM,KAAK+X,EAAS,QAAQ,GAAG,KAAK,QAAQ,eAAe,MAAM,IAAI,KACnJA,EAAS,KAAK,GAAG,KAAK,QAAQ,eAAe,MAAM,GAErDA,EAAS,QAAQ,CAAAC,OAAU;AACzB,YAAAL,GAAK,CAACG,CAAQ,GAAGvQ,IAAMyQ,IAAQhY,EAAQ,eAAegY,EAAM,EAAE,KAAKX,CAAY;AAAA,UACjF,CAAC;AAAA,QACH,CAAC,IAEDM,GAAKF,GAAMlQ,GAAK8P,CAAY;AAAA,MAGlC;AACA,MAAAhH,IAAM,KAAK,kBAAkBA,GAAKnF,GAAMlL,GAAS2V,GAAUK,CAAO,GAC9De,KAAW1G,MAAQ9I,KAAO,KAAK,QAAQ,gCAA6B8I,IAAM,GAAG6F,CAAS,IAAI3O,CAAG,MAC5FwP,KAAWD,MAAgB,KAAK,QAAQ,2BACvC,KAAK,QAAQ,qBAAqB,OACpCzG,IAAM,KAAK,QAAQ,uBAAuB,KAAK,QAAQ,8BAA8B,GAAG6F,CAAS,IAAI3O,CAAG,KAAKA,GAAKuP,IAAczG,IAAM,MAAS,IAE/IA,IAAM,KAAK,QAAQ,uBAAuBA,CAAG;AAAA,IAGnD;AACA,WAAI4F,KACFN,EAAS,MAAMtF,GACfsF,EAAS,aAAa,KAAK,qBAAqB3V,CAAO,GAChD2V,KAEFtF;AAAA,EACT;AAAA,EACA,kBAAkBA,GAAK9I,GAAKvH,GAAS2V,GAAUK,GAAS;AACtD,QAAI9V,IAAQ;AACZ,QAAI,KAAK,cAAc,KAAK,WAAW;AACrC,MAAAmQ,IAAM,KAAK,WAAW,MAAMA,GAAK;AAAA,QAC/B,GAAG,KAAK,QAAQ,cAAc;AAAA,QAC9B,GAAGrQ;AAAA,MACX,GAASA,EAAQ,OAAO,KAAK,YAAY2V,EAAS,SAASA,EAAS,QAAQA,EAAS,SAAS;AAAA,QACtF,UAAAA;AAAA,MACR,CAAO;AAAA,aACQ,CAAC3V,EAAQ,mBAAmB;AACrC,MAAIA,EAAQ,iBAAe,KAAK,aAAa,KAAK;AAAA,QAChD,GAAGA;AAAA,QAED,eAAe;AAAA,UACb,GAAG,KAAK,QAAQ;AAAA,UAChB,GAAGA,EAAQ;AAAA,QACvB;AAAA,MAEA,CAAO;AACD,YAAMiY,IAAkB9H,EAASE,CAAG,MAAMrQ,KAAWA,EAAQ,iBAAiBA,EAAQ,cAAc,oBAAoB,SAAYA,EAAQ,cAAc,kBAAkB,KAAK,QAAQ,cAAc;AACvM,UAAIkY;AACJ,UAAID,GAAiB;AACnB,cAAME,IAAK9H,EAAI,MAAM,KAAK,aAAa,aAAa;AACpD,QAAA6H,IAAUC,KAAMA,EAAG;AAAA,MACrB;AACA,UAAIvG,IAAO5R,EAAQ,WAAW,CAACmQ,EAASnQ,EAAQ,OAAO,IAAIA,EAAQ,UAAUA;AAM7E,UALI,KAAK,QAAQ,cAAc,qBAAkB4R,IAAO;AAAA,QACtD,GAAG,KAAK,QAAQ,cAAc;AAAA,QAC9B,GAAGA;AAAA,MACX,IACMvB,IAAM,KAAK,aAAa,YAAYA,GAAKuB,GAAM5R,EAAQ,OAAO,KAAK,YAAY2V,EAAS,SAAS3V,CAAO,GACpGiY,GAAiB;AACnB,cAAMG,IAAK/H,EAAI,MAAM,KAAK,aAAa,aAAa,GAC9CgI,IAAUD,KAAMA,EAAG;AACzB,QAAIF,IAAUG,MAASrY,EAAQ,OAAO;AAAA,MACxC;AACA,MAAI,CAACA,EAAQ,OAAO,KAAK,QAAQ,qBAAqB,QAAQ2V,KAAYA,EAAS,QAAK3V,EAAQ,MAAM,KAAK,YAAY2V,EAAS,UAC5H3V,EAAQ,SAAS,OAAOqQ,IAAM,KAAK,aAAa,KAAKA,GAAK,WAAY;AACxE,iBAASqD,IAAO,UAAU,QAAQzF,IAAO,IAAI,MAAMyF,CAAI,GAAGjE,IAAO,GAAGA,IAAOiE,GAAMjE;AAC/E,UAAAxB,EAAKwB,CAAI,IAAI,UAAUA,CAAI;AAE7B,eAAIuG,KAAWA,EAAQ,CAAC,MAAM/H,EAAK,CAAC,KAAK,CAACjO,EAAQ,WAChDE,EAAM,OAAO,KAAK,6CAA6C+N,EAAK,CAAC,CAAC,YAAY1G,EAAI,CAAC,CAAC,EAAE,GACnF,QAEFrH,EAAM,UAAU,GAAG+N,GAAM1G,CAAG;AAAA,MACrC,GAAGvH,CAAO,IACNA,EAAQ,iBAAe,KAAK,aAAa,MAAK;AAAA,IACpD;AACA,UAAMsY,IAActY,EAAQ,eAAe,KAAK,QAAQ,aAClDuY,IAAqBpI,EAASmI,CAAW,IAAI,CAACA,CAAW,IAAIA;AACnE,WAAyBjI,KAAQ,QAAQkI,KAAsBA,EAAmB,UAAUvY,EAAQ,uBAAuB,OACzHqQ,IAAM8E,GAAc,OAAOoD,GAAoBlI,GAAK9I,GAAK,KAAK,WAAW,KAAK,QAAQ,0BAA0B;AAAA,MAC9G,cAAc;AAAA,QACZ,GAAGoO;AAAA,QACH,YAAY,KAAK,qBAAqB3V,CAAO;AAAA,MACvD;AAAA,MACQ,GAAGA;AAAA,IACX,IAAUA,GAAS,IAAI,IAEZqQ;AAAA,EACT;AAAA,EACA,QAAQnF,GAAM;AACZ,QAAIlL,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EwY,GACAzB,GACA0B,GACAC,GACAC;AACJ,WAAIxI,EAASjF,CAAI,MAAGA,IAAO,CAACA,CAAI,IAChCA,EAAK,QAAQ,CAAAvF,MAAK;AAChB,UAAI,KAAK,cAAc6S,CAAK,EAAG;AAC/B,YAAMI,IAAY,KAAK,eAAejT,GAAG3F,CAAO,GAC1CuH,IAAMqR,EAAU;AACtB,MAAA7B,IAAUxP;AACV,UAAIqO,IAAagD,EAAU;AAC3B,MAAI,KAAK,QAAQ,eAAYhD,IAAaA,EAAW,OAAO,KAAK,QAAQ,UAAU;AACnF,YAAMoB,IAAsBhX,EAAQ,UAAU,UAAa,CAACmQ,EAASnQ,EAAQ,KAAK,GAC5EoX,IAAwBJ,KAAuB,CAAChX,EAAQ,WAAWA,EAAQ,UAAU,KAAK,KAAK,eAAe,iBAAgB,GAC9H6Y,IAAuB7Y,EAAQ,YAAY,WAAcmQ,EAASnQ,EAAQ,OAAO,KAAK,OAAOA,EAAQ,WAAY,aAAaA,EAAQ,YAAY,IAClJ8Y,IAAQ9Y,EAAQ,OAAOA,EAAQ,OAAO,KAAK,cAAc,mBAAmBA,EAAQ,OAAO,KAAK,UAAUA,EAAQ,WAAW;AACnI,MAAA4V,EAAW,QAAQ,CAAAf,MAAM;AACvB,QAAI,KAAK,cAAc2D,CAAK,MAC5BG,IAAS9D,GACL,CAACW,GAAiB,GAAGsD,EAAM,CAAC,CAAC,IAAIjE,CAAE,EAAE,KAAK,KAAK,SAAS,KAAK,MAAM,sBAAsB,CAAC,KAAK,MAAM,mBAAmB8D,CAAM,MAChInD,GAAiB,GAAGsD,EAAM,CAAC,CAAC,IAAIjE,CAAE,EAAE,IAAI,IACxC,KAAK,OAAO,KAAK,QAAQkC,CAAO,oBAAoB+B,EAAM,KAAK,IAAI,CAAC,sCAAsCH,CAAM,wBAAwB,0NAA0N,IAEpWG,EAAM,QAAQ,CAAAxF,MAAQ;AACpB,cAAI,KAAK,cAAckF,CAAK,EAAG;AAC/B,UAAAE,IAAUpF;AACV,gBAAMyF,IAAY,CAACxR,CAAG;AACtB,cAAI,KAAK,cAAc,KAAK,WAAW;AACrC,iBAAK,WAAW,cAAcwR,GAAWxR,GAAK+L,GAAMuB,GAAI7U,CAAO;AAAA,eAC1D;AACL,gBAAIgZ;AACJ,YAAIhC,MAAqBgC,IAAe,KAAK,eAAe,UAAU1F,GAAMtT,EAAQ,OAAOA,CAAO;AAClG,kBAAMiZ,IAAa,GAAG,KAAK,QAAQ,eAAe,QAC5CC,IAAgB,GAAG,KAAK,QAAQ,eAAe,UAAU,KAAK,QAAQ,eAAe;AAU3F,gBATIlC,MACF+B,EAAU,KAAKxR,IAAMyR,CAAY,GAC7BhZ,EAAQ,WAAWgZ,EAAa,QAAQE,CAAa,MAAM,KAC7DH,EAAU,KAAKxR,IAAMyR,EAAa,QAAQE,GAAe,KAAK,QAAQ,eAAe,CAAC,GAEpF9B,KACF2B,EAAU,KAAKxR,IAAM0R,CAAU,IAG/BJ,GAAsB;AACxB,oBAAMM,IAAa,GAAG5R,CAAG,GAAG,KAAK,QAAQ,gBAAgB,GAAGvH,EAAQ,OAAO;AAC3E,cAAA+Y,EAAU,KAAKI,CAAU,GACrBnC,MACF+B,EAAU,KAAKI,IAAaH,CAAY,GACpChZ,EAAQ,WAAWgZ,EAAa,QAAQE,CAAa,MAAM,KAC7DH,EAAU,KAAKI,IAAaH,EAAa,QAAQE,GAAe,KAAK,QAAQ,eAAe,CAAC,GAE3F9B,KACF2B,EAAU,KAAKI,IAAaF,CAAU;AAAA,YAG5C;AAAA,UACF;AACA,cAAIG;AACJ,iBAAOA,IAAcL,EAAU;AAC7B,YAAK,KAAK,cAAcP,CAAK,MAC3BC,IAAeW,GACfZ,IAAQ,KAAK,YAAYlF,GAAMuB,GAAIuE,GAAapZ,CAAO;AAAA,QAG7D,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC,GACM;AAAA,MACL,KAAKwY;AAAA,MACL,SAAAzB;AAAA,MACA,cAAA0B;AAAA,MACA,SAAAC;AAAA,MACA,QAAAC;AAAA,IACN;AAAA,EACE;AAAA,EACA,cAActI,GAAK;AACjB,WAAOA,MAAQ,UAAa,EAAE,CAAC,KAAK,QAAQ,cAAcA,MAAQ,SAAS,EAAE,CAAC,KAAK,QAAQ,qBAAqBA,MAAQ;AAAA,EAC1H;AAAA,EACA,YAAYiD,GAAMuB,GAAItN,GAAK;AACzB,QAAIvH,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,WAAI,KAAK,cAAc,KAAK,WAAW,cAAoB,KAAK,WAAW,YAAYsT,GAAMuB,GAAItN,GAAKvH,CAAO,IACtG,KAAK,cAAc,YAAYsT,GAAMuB,GAAItN,GAAKvH,CAAO;AAAA,EAC9D;AAAA,EACA,uBAAuB;AACrB,QAAIA,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAMqZ,IAAc,CAAC,gBAAgB,WAAW,WAAW,WAAW,OAAO,QAAQ,eAAe,MAAM,gBAAgB,eAAe,iBAAiB,iBAAiB,cAAc,eAAe,eAAe,GACjNC,IAA2BtZ,EAAQ,WAAW,CAACmQ,EAASnQ,EAAQ,OAAO;AAC7E,QAAI4R,IAAO0H,IAA2BtZ,EAAQ,UAAUA;AAUxD,QATIsZ,KAA4B,OAAOtZ,EAAQ,QAAU,QACvD4R,EAAK,QAAQ5R,EAAQ,QAEnB,KAAK,QAAQ,cAAc,qBAC7B4R,IAAO;AAAA,MACL,GAAG,KAAK,QAAQ,cAAc;AAAA,MAC9B,GAAGA;AAAA,IACX,IAEQ,CAAC0H,GAA0B;AAC7B,MAAA1H,IAAO;AAAA,QACL,GAAGA;AAAA,MACX;AACM,iBAAWrK,KAAO8R;AAChB,eAAOzH,EAAKrK,CAAG;AAAA,IAEnB;AACA,WAAOqK;AAAA,EACT;AAAA,EACA,OAAO,gBAAgB5R,GAAS;AAC9B,UAAMmH,IAAS;AACf,eAAWoS,KAAUvZ;AACnB,UAAI,OAAO,UAAU,eAAe,KAAKA,GAASuZ,CAAM,KAAKpS,MAAWoS,EAAO,UAAU,GAAGpS,EAAO,MAAM,KAAmBnH,EAAQuZ,CAAM,MAA5B;AAC5G,eAAO;AAGX,WAAO;AAAA,EACT;AACF;AAEA,MAAMC,KAAa,CAAA5L,MAAUA,EAAO,OAAO,CAAC,EAAE,gBAAgBA,EAAO,MAAM,CAAC;AAC5E,MAAM6L,GAAa;AAAA,EACjB,YAAYzZ,GAAS;AACnB,SAAK,UAAUA,GACf,KAAK,gBAAgB,KAAK,QAAQ,iBAAiB,IACnD,KAAK,SAASmU,EAAW,OAAO,eAAe;AAAA,EACjD;AAAA,EACA,sBAAsBb,GAAM;AAE1B,QADAA,IAAOD,GAAeC,CAAI,GACtB,CAACA,KAAQA,EAAK,QAAQ,GAAG,IAAI,EAAG,QAAO;AAC3C,UAAMnK,IAAImK,EAAK,MAAM,GAAG;AAGxB,WAFInK,EAAE,WAAW,MACjBA,EAAE,IAAG,GACDA,EAAEA,EAAE,SAAS,CAAC,EAAE,YAAW,MAAO,OAAY,OAC3C,KAAK,mBAAmBA,EAAE,KAAK,GAAG,CAAC;AAAA,EAC5C;AAAA,EACA,wBAAwBmK,GAAM;AAE5B,QADAA,IAAOD,GAAeC,CAAI,GACtB,CAACA,KAAQA,EAAK,QAAQ,GAAG,IAAI,EAAG,QAAOA;AAC3C,UAAMnK,IAAImK,EAAK,MAAM,GAAG;AACxB,WAAO,KAAK,mBAAmBnK,EAAE,CAAC,CAAC;AAAA,EACrC;AAAA,EACA,mBAAmBmK,GAAM;AACvB,QAAInD,EAASmD,CAAI,KAAKA,EAAK,QAAQ,GAAG,IAAI,IAAI;AAC5C,UAAI,OAAO,OAAS,OAAe,OAAO,KAAK,sBAAwB;AACrE,YAAI;AACF,cAAIoG,IAAgB,KAAK,oBAAoBpG,CAAI,EAAE,CAAC;AAIpD,cAHIoG,KAAiB,KAAK,QAAQ,iBAChCA,IAAgBA,EAAc,YAAW,IAEvCA,EAAe,QAAOA;AAAA,QAC5B,QAAY;AAAA,QAAC;AAEf,YAAMC,IAAe,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM;AAC5E,UAAIxQ,IAAImK,EAAK,MAAM,GAAG;AACtB,aAAI,KAAK,QAAQ,eACfnK,IAAIA,EAAE,IAAI,CAAAyQ,MAAQA,EAAK,YAAW,CAAE,IAC3BzQ,EAAE,WAAW,KACtBA,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,YAAW,GACvBA,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,YAAW,GACnBwQ,EAAa,QAAQxQ,EAAE,CAAC,EAAE,YAAW,CAAE,IAAI,OAAIA,EAAE,CAAC,IAAIqQ,GAAWrQ,EAAE,CAAC,EAAE,aAAa,MAC9EA,EAAE,WAAW,MACtBA,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,YAAW,GACnBA,EAAE,CAAC,EAAE,WAAW,MAAGA,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,YAAW,IAC1CA,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,EAAE,WAAW,MAAGA,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,YAAW,IAC5DwQ,EAAa,QAAQxQ,EAAE,CAAC,EAAE,YAAW,CAAE,IAAI,OAAIA,EAAE,CAAC,IAAIqQ,GAAWrQ,EAAE,CAAC,EAAE,aAAa,IACnFwQ,EAAa,QAAQxQ,EAAE,CAAC,EAAE,YAAW,CAAE,IAAI,OAAIA,EAAE,CAAC,IAAIqQ,GAAWrQ,EAAE,CAAC,EAAE,aAAa,KAElFA,EAAE,KAAK,GAAG;AAAA,IACnB;AACA,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,eAAemK,EAAK,YAAW,IAAKA;AAAA,EACpF;AAAA,EACA,gBAAgBA,GAAM;AACpB,YAAI,KAAK,QAAQ,SAAS,kBAAkB,KAAK,QAAQ,8BACvDA,IAAO,KAAK,wBAAwBA,CAAI,IAEnC,CAAC,KAAK,iBAAiB,CAAC,KAAK,cAAc,UAAU,KAAK,cAAc,QAAQA,CAAI,IAAI;AAAA,EACjG;AAAA,EACA,sBAAsBwF,GAAO;AAC3B,QAAI,CAACA,EAAO,QAAO;AACnB,QAAIN;AACJ,WAAAM,EAAM,QAAQ,CAAAxF,MAAQ;AACpB,UAAIkF,EAAO;AACX,YAAMqB,IAAa,KAAK,mBAAmBvG,CAAI;AAC/C,OAAI,CAAC,KAAK,QAAQ,iBAAiB,KAAK,gBAAgBuG,CAAU,OAAGrB,IAAQqB;AAAA,IAC/E,CAAC,GACG,CAACrB,KAAS,KAAK,QAAQ,iBACzBM,EAAM,QAAQ,CAAAxF,MAAQ;AACpB,UAAIkF,EAAO;AACX,YAAMsB,IAAU,KAAK,wBAAwBxG,CAAI;AACjD,UAAI,KAAK,gBAAgBwG,CAAO,EAAG,QAAOtB,IAAQsB;AAClD,MAAAtB,IAAQ,KAAK,QAAQ,cAAc,KAAK,CAAAuB,MAAgB;AACtD,YAAIA,MAAiBD,EAAS,QAAOC;AACrC,YAAI,EAAAA,EAAa,QAAQ,GAAG,IAAI,KAAKD,EAAQ,QAAQ,GAAG,IAAI,OACxDC,EAAa,QAAQ,GAAG,IAAI,KAAKD,EAAQ,QAAQ,GAAG,IAAI,KAAKC,EAAa,UAAU,GAAGA,EAAa,QAAQ,GAAG,CAAC,MAAMD,KACtHC,EAAa,QAAQD,CAAO,MAAM,KAAKA,EAAQ,SAAS;AAAG,iBAAOC;AAAA,MACxE,CAAC;AAAA,IACH,CAAC,GAEEvB,MAAOA,IAAQ,KAAK,iBAAiB,KAAK,QAAQ,WAAW,EAAE,CAAC,IAC9DA;AAAA,EACT;AAAA,EACA,iBAAiBwB,GAAW1G,GAAM;AAChC,QAAI,CAAC0G,EAAW,QAAO,CAAA;AAGvB,QAFI,OAAOA,KAAc,eAAYA,IAAYA,EAAU1G,CAAI,IAC3DnD,EAAS6J,CAAS,MAAGA,IAAY,CAACA,CAAS,IAC3C,MAAM,QAAQA,CAAS,EAAG,QAAOA;AACrC,QAAI,CAAC1G,EAAM,QAAO0G,EAAU,WAAW,CAAA;AACvC,QAAIxB,IAAQwB,EAAU1G,CAAI;AAC1B,WAAKkF,MAAOA,IAAQwB,EAAU,KAAK,sBAAsB1G,CAAI,CAAC,IACzDkF,MAAOA,IAAQwB,EAAU,KAAK,mBAAmB1G,CAAI,CAAC,IACtDkF,MAAOA,IAAQwB,EAAU,KAAK,wBAAwB1G,CAAI,CAAC,IAC3DkF,MAAOA,IAAQwB,EAAU,UACvBxB,KAAS,CAAA;AAAA,EAClB;AAAA,EACA,mBAAmBlF,GAAM2G,GAAc;AACrC,UAAMC,IAAgB,KAAK,iBAAiBD,KAAgB,KAAK,QAAQ,eAAe,CAAA,GAAI3G,CAAI,GAC1FwF,IAAQ,CAAA,GACRqB,IAAU,CAAAzR,MAAK;AACnB,MAAKA,MACD,KAAK,gBAAgBA,CAAC,IACxBoQ,EAAM,KAAKpQ,CAAC,IAEZ,KAAK,OAAO,KAAK,uDAAuDA,CAAC,EAAE;AAAA,IAE/E;AACA,WAAIyH,EAASmD,CAAI,MAAMA,EAAK,QAAQ,GAAG,IAAI,MAAMA,EAAK,QAAQ,GAAG,IAAI,OAC/D,KAAK,QAAQ,SAAS,kBAAgB6G,EAAQ,KAAK,mBAAmB7G,CAAI,CAAC,GAC3E,KAAK,QAAQ,SAAS,kBAAkB,KAAK,QAAQ,SAAS,iBAAe6G,EAAQ,KAAK,sBAAsB7G,CAAI,CAAC,GACrH,KAAK,QAAQ,SAAS,iBAAe6G,EAAQ,KAAK,wBAAwB7G,CAAI,CAAC,KAC1EnD,EAASmD,CAAI,KACtB6G,EAAQ,KAAK,mBAAmB7G,CAAI,CAAC,GAEvC4G,EAAc,QAAQ,CAAAE,MAAM;AAC1B,MAAItB,EAAM,QAAQsB,CAAE,IAAI,KAAGD,EAAQ,KAAK,mBAAmBC,CAAE,CAAC;AAAA,IAChE,CAAC,GACMtB;AAAA,EACT;AACF;AAEA,IAAIuB,KAAO,CAAC;AAAA,EACV,MAAM,CAAC,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,SAAS,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,EACrI,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,SAAS,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,EAC7Y,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,EAC5I,IAAI,CAAC,CAAC;AAAA,EACN,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,EACtD,IAAI,CAAC,GAAG,GAAG,CAAC;AAAA,EACZ,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG;AAAA,EACxB,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,MAAM,IAAI;AAAA,EACjB,IAAI,CAAC,GAAG,GAAG,CAAC;AAAA,EACZ,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,OAAO,IAAI;AAAA,EAClB,IAAI,CAAC,GAAG,GAAG,CAAC;AAAA,EACZ,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AAAA,EACf,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,EACnB,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE;AAAA,EAChB,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AAAA,EACf,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,EAAE;AAAA,EACb,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,CAAC;AAAA,EACZ,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,KAAK;AAAA,EACZ,IAAI,CAAC,GAAG,GAAG,CAAC;AAAA,EACZ,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE;AAAA,EACjB,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,CAAC;AAAA,EACT,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,EAAE;AAAA,EACb,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,IAAI;AAAA,EACX,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AAAA,EACf,IAAI;AACN,GAAG;AAAA,EACD,MAAM,CAAC,MAAM,IAAI;AAAA,EACjB,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE;AAAA,EACjB,IAAI;AACN,CAAC,GACGC,KAAqB;AAAA,EACvB,GAAG,CAAApR,MAAK,EAAOA,IAAI;AAAA,EACnB,GAAG,CAAAA,MAAK,EAAOA,KAAK;AAAA,EACpB,GAAG,CAAAA,MAAK;AAAA,EACR,GAAG,CAAAA,MAAYA,IAAI,MAAM,KAAKA,IAAI,OAAO,KAAK,IAAIA,IAAI,MAAM,KAAKA,IAAI,MAAM,MAAMA,IAAI,MAAM,MAAMA,IAAI,OAAO,MAAM,IAAI;AAAA,EACtH,GAAG,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAIA,IAAI,OAAO,KAAKA,IAAI,OAAO,KAAK,IAAIA,IAAI,OAAO,KAAK,IAAI;AAAA,EAC9G,GAAG,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,KAAKA,KAAK,IAAI,IAAI;AAAA,EACnD,GAAG,CAAAA,MAAYA,KAAK,IAAI,IAAIA,IAAI,MAAM,KAAKA,IAAI,MAAM,MAAMA,IAAI,MAAM,MAAMA,IAAI,OAAO,MAAM,IAAI;AAAA,EAChG,GAAG,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAIA,KAAK,KAAKA,KAAK,KAAK,IAAI;AAAA,EACjE,GAAG,CAAAA,MAAK,EAAOA,KAAK;AAAA,EACpB,IAAI,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAIA,IAAI,IAAI,IAAIA,IAAI,KAAK,IAAI;AAAA,EACnE,IAAI,CAAAA,MAAYA,KAAK,KAAKA,KAAK,KAAK,IAAIA,KAAK,KAAKA,KAAK,KAAK,IAAIA,IAAI,KAAKA,IAAI,KAAK,IAAI;AAAA,EACtF,IAAI,CAAAA,MAAK,EAAOA,IAAI,MAAM,KAAKA,IAAI,OAAO;AAAA,EAC1C,IAAI,CAAAA,MAAK,EAAOA,MAAM;AAAA,EACtB,IAAI,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAI;AAAA,EACvD,IAAI,CAAAA,MAAYA,IAAI,MAAM,KAAKA,IAAI,OAAO,KAAK,IAAIA,IAAI,MAAM,MAAMA,IAAI,MAAM,MAAMA,IAAI,OAAO,MAAM,IAAI;AAAA,EACxG,IAAI,CAAAA,MAAYA,IAAI,MAAM,KAAKA,IAAI,OAAO,KAAK,IAAIA,MAAM,IAAI,IAAI;AAAA,EACjE,IAAI,CAAAA,MAAYA,KAAK,KAAKA,IAAI,MAAM,KAAKA,IAAI,OAAO,KAAK,IAAI;AAAA,EAC7D,IAAI,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,IAAI,IAAI;AAAA,EAC1C,IAAI,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,KAAKA,IAAI,MAAM,KAAKA,IAAI,MAAM,KAAK,IAAIA,IAAI,MAAM,MAAMA,IAAI,MAAM,KAAK,IAAI;AAAA,EAC5G,IAAI,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,KAAKA,IAAI,MAAM,KAAKA,IAAI,MAAM,KAAK,IAAI;AAAA,EACzE,IAAI,CAAAA,MAAYA,IAAI,OAAO,IAAI,IAAIA,IAAI,OAAO,IAAI,IAAIA,IAAI,OAAO,KAAKA,IAAI,OAAO,IAAI,IAAI;AAAA,EACzF,IAAI,CAAAA,MAAYA,KAAK,IAAI,IAAIA,KAAK,IAAI,KAAKA,IAAI,KAAKA,IAAI,OAAOA,IAAI,MAAM,IAAI,IAAI;AACnF;AACA,MAAMqR,KAAkB,CAAC,MAAM,MAAM,IAAI,GACnCC,KAAe,CAAC,IAAI,GACpBC,KAAgB;AAAA,EACpB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AACT,GACMC,KAAc,MAAM;AACxB,QAAMlW,IAAQ,CAAA;AACd,SAAA6V,GAAK,QAAQ,CAAAM,MAAO;AAClB,IAAAA,EAAI,KAAK,QAAQ,CAAA3R,MAAK;AACpB,MAAAxE,EAAMwE,CAAC,IAAI;AAAA,QACT,SAAS2R,EAAI;AAAA,QACb,SAASL,GAAmBK,EAAI,EAAE;AAAA,MAC1C;AAAA,IACI,CAAC;AAAA,EACH,CAAC,GACMnW;AACT;AACA,MAAMoW,GAAe;AAAA,EACnB,YAAYC,GAAe;AACzB,QAAI7a,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,SAAK,gBAAgB6a,GACrB,KAAK,UAAU7a,GACf,KAAK,SAASmU,EAAW,OAAO,gBAAgB,IAC3C,CAAC,KAAK,QAAQ,qBAAqBqG,GAAa,SAAS,KAAK,QAAQ,iBAAiB,OAAO,OAAO,OAAS,OAAe,CAAC,KAAK,iBACtI,KAAK,QAAQ,oBAAoB,MACjC,KAAK,OAAO,MAAM,oJAAoJ,IAExK,KAAK,QAAQE,GAAW,GACxB,KAAK,mBAAmB,CAAA;AAAA,EAC1B;AAAA,EACA,QAAQ5F,GAAKnH,GAAK;AAChB,SAAK,MAAMmH,CAAG,IAAInH;AAAA,EACpB;AAAA,EACA,aAAa;AACX,SAAK,mBAAmB,CAAA;AAAA,EAC1B;AAAA,EACA,QAAQ2F,GAAM;AACZ,QAAItT,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,QAAI,KAAK;AACP,UAAI;AACF,cAAM8a,IAAczH,GAAeC,MAAS,QAAQ,OAAOA,CAAI,GACzDpQ,IAAOlD,EAAQ,UAAU,YAAY,YACrC+a,IAAW,KAAK,UAAU;AAAA,UAC9B,aAAAD;AAAA,UACA,MAAA5X;AAAA,QACV,CAAS;AACD,YAAI6X,KAAY,KAAK;AACnB,iBAAO,KAAK,iBAAiBA,CAAQ;AAEvC,cAAMza,IAAO,IAAI,KAAK,YAAYwa,GAAa;AAAA,UAC7C,MAAA5X;AAAA,QACV,CAAS;AACD,oBAAK,iBAAiB6X,CAAQ,IAAIza,GAC3BA;AAAA,MACT,QAAc;AACZ;AAAA,MACF;AAEF,WAAO,KAAK,MAAMgT,CAAI,KAAK,KAAK,MAAM,KAAK,cAAc,wBAAwBA,CAAI,CAAC;AAAA,EACxF;AAAA,EACA,YAAYA,GAAM;AAChB,QAAItT,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAMM,IAAO,KAAK,QAAQgT,GAAMtT,CAAO;AACvC,WAAI,KAAK,qBACAM,KAAQA,EAAK,gBAAe,EAAG,iBAAiB,SAAS,IAE3DA,KAAQA,EAAK,QAAQ,SAAS;AAAA,EACvC;AAAA,EACA,oBAAoBgT,GAAM/L,GAAK;AAC7B,QAAIvH,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,WAAO,KAAK,YAAYsT,GAAMtT,CAAO,EAAE,IAAI,CAAAgY,MAAU,GAAGzQ,CAAG,GAAGyQ,CAAM,EAAE;AAAA,EACxE;AAAA,EACA,YAAY1E,GAAM;AAChB,QAAItT,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAMM,IAAO,KAAK,QAAQgT,GAAMtT,CAAO;AACvC,WAAKM,IAGD,KAAK,qBACAA,EAAK,gBAAe,EAAG,iBAAiB,KAAK,CAAC0a,GAAiBC,MAAoBR,GAAcO,CAAe,IAAIP,GAAcQ,CAAe,CAAC,EAAE,IAAI,CAAAC,MAAkB,GAAG,KAAK,QAAQ,OAAO,GAAGlb,EAAQ,UAAU,UAAU,KAAK,QAAQ,OAAO,KAAK,EAAE,GAAGkb,CAAc,EAAE,IAEhR5a,EAAK,QAAQ,IAAI,CAAA6a,MAAU,KAAK,UAAU7H,GAAM6H,GAAQnb,CAAO,CAAC,IAL9D,CAAA;AAAA,EAMX;AAAA,EACA,UAAUsT,GAAMnP,GAAO;AACrB,QAAInE,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAMM,IAAO,KAAK,QAAQgT,GAAMtT,CAAO;AACvC,WAAIM,IACE,KAAK,qBACA,GAAG,KAAK,QAAQ,OAAO,GAAGN,EAAQ,UAAU,UAAU,KAAK,QAAQ,OAAO,KAAK,EAAE,GAAGM,EAAK,OAAO6D,CAAK,CAAC,KAExG,KAAK,yBAAyB7D,GAAM6D,CAAK,KAElD,KAAK,OAAO,KAAK,6BAA6BmP,CAAI,EAAE,GAC7C;AAAA,EACT;AAAA,EACA,yBAAyBhT,GAAM6D,GAAO;AACpC,UAAMiX,IAAM9a,EAAK,QAAQA,EAAK,QAAQ6D,CAAK,IAAI7D,EAAK,QAAQ,KAAK,IAAI6D,CAAK,CAAC;AAC3E,QAAI6T,IAAS1X,EAAK,QAAQ8a,CAAG;AAC7B,IAAI,KAAK,QAAQ,wBAAwB9a,EAAK,QAAQ,WAAW,KAAKA,EAAK,QAAQ,CAAC,MAAM,MACpF0X,MAAW,IACbA,IAAS,WACAA,MAAW,MACpBA,IAAS;AAGb,UAAMqD,IAAe,MAAM,KAAK,QAAQ,WAAWrD,EAAO,SAAQ,IAAK,KAAK,QAAQ,UAAUA,EAAO,SAAQ,IAAKA,EAAO,SAAQ;AACjI,WAAI,KAAK,QAAQ,sBAAsB,OACjCA,MAAW,IAAU,KACrB,OAAOA,KAAW,WAAiB,WAAWA,EAAO,SAAQ,CAAE,KAC5DqD,EAAY,IACV,KAAK,QAAQ,sBAAsB,QAEnC,KAAK,QAAQ,wBAAwB/a,EAAK,QAAQ,WAAW,KAAKA,EAAK,QAAQ,CAAC,MAAM,IADxF+a,EAAY,IAId,KAAK,QAAQ,WAAWD,EAAI,SAAQ,IAAK,KAAK,QAAQ,UAAUA,EAAI,SAAQ,IAAKA,EAAI,SAAQ;AAAA,EACtG;AAAA,EACA,mBAAmB;AACjB,WAAO,CAACb,GAAgB,SAAS,KAAK,QAAQ,iBAAiB;AAAA,EACjE;AACF;AAEA,MAAMe,KAAuB,SAAU1J,GAAMC,GAAatK,GAAK;AAC7D,MAAIuL,IAAe,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,KACnFiC,IAAsB,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,IAC1F9D,IAAOU,GAAoBC,GAAMC,GAAatK,CAAG;AACrD,SAAI,CAAC0J,KAAQ8D,KAAuB5E,EAAS5I,CAAG,MAC9C0J,IAAOiC,GAAStB,GAAMrK,GAAKuL,CAAY,GACnC7B,MAAS,WAAWA,IAAOiC,GAASrB,GAAatK,GAAKuL,CAAY,KAEjE7B;AACT,GACMsK,KAAY,CAAAC,MAAOA,EAAI,QAAQ,OAAO,MAAM;AAClD,MAAMC,GAAa;AAAA,EACjB,cAAc;AACZ,QAAIzb,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,SAAK,SAASmU,EAAW,OAAO,cAAc,GAC9C,KAAK,UAAUnU,GACf,KAAK,SAASA,EAAQ,iBAAiBA,EAAQ,cAAc,WAAW,CAAAsB,MAASA,IACjF,KAAK,KAAKtB,CAAO;AAAA,EACnB;AAAA,EACA,OAAO;AACL,QAAIA,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,IAAKA,EAAQ,kBAAeA,EAAQ,gBAAgB;AAAA,MAClD,aAAa;AAAA,IACnB;AACI,UAAM;AAAA,MACJ,QAAQ0b;AAAA,MACR,aAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,QAAAzU;AAAA,MACA,eAAA0U;AAAA,MACA,QAAA7D;AAAA,MACA,eAAA8D;AAAA,MACA,iBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,yBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,IACN,IAAQxc,EAAQ;AACZ,SAAK,SAAS0b,MAAa,SAAYA,IAAWrJ,IAClD,KAAK,cAAcsJ,MAAgB,SAAYA,IAAc,IAC7D,KAAK,sBAAsBC,MAAwB,SAAYA,IAAsB,IACrF,KAAK,SAASzU,IAASgL,EAAYhL,CAAM,IAAI0U,KAAiB,MAC9D,KAAK,SAAS7D,IAAS7F,EAAY6F,CAAM,IAAI8D,KAAiB,MAC9D,KAAK,kBAAkBC,KAAmB,KAC1C,KAAK,iBAAiBC,IAAiB,KAAKC,KAAkB,KAC9D,KAAK,iBAAiB,KAAK,iBAAiB,KAAKD,KAAkB,IACnE,KAAK,gBAAgBE,IAAgB/J,EAAY+J,CAAa,IAAIC,KAAwBhK,EAAY,KAAK,GAC3G,KAAK,gBAAgBiK,IAAgBjK,EAAYiK,CAAa,IAAIC,KAAwBlK,EAAY,GAAG,GACzG,KAAK,0BAA0BmK,KAA2B,KAC1D,KAAK,cAAcC,KAAe,KAClC,KAAK,eAAeC,MAAiB,SAAYA,IAAe,IAChE,KAAK,YAAW;AAAA,EAClB;AAAA,EACA,QAAQ;AACN,IAAI,KAAK,WAAS,KAAK,KAAK,KAAK,OAAO;AAAA,EAC1C;AAAA,EACA,cAAc;AACZ,UAAMC,IAAmB,CAACC,GAAgB/a,MACpC+a,KAAkBA,EAAe,WAAW/a,KAC9C+a,EAAe,YAAY,GACpBA,KAEF,IAAI,OAAO/a,GAAS,GAAG;AAEhC,SAAK,SAAS8a,EAAiB,KAAK,QAAQ,GAAG,KAAK,MAAM,QAAQ,KAAK,MAAM,EAAE,GAC/E,KAAK,iBAAiBA,EAAiB,KAAK,gBAAgB,GAAG,KAAK,MAAM,GAAG,KAAK,cAAc,QAAQ,KAAK,cAAc,GAAG,KAAK,MAAM,EAAE,GAC3I,KAAK,gBAAgBA,EAAiB,KAAK,eAAe,GAAG,KAAK,aAAa,QAAQ,KAAK,aAAa,EAAE;AAAA,EAC7G;AAAA,EACA,YAAYtQ,GAAKyF,GAAMkD,GAAK9U,GAAS;AACnC,QAAI0B,GACAJ,GACAqb;AACJ,UAAM9K,IAAc,KAAK,WAAW,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,cAAc,oBAAoB,CAAA,GAC3G+K,IAAe,CAAArV,MAAO;AAC1B,UAAIA,EAAI,QAAQ,KAAK,eAAe,IAAI,GAAG;AACzC,cAAM0J,IAAOqK,GAAqB1J,GAAMC,GAAatK,GAAK,KAAK,QAAQ,cAAc,KAAK,QAAQ,mBAAmB;AACrH,eAAO,KAAK,eAAe,KAAK,OAAO0J,GAAM,QAAW6D,GAAK;AAAA,UAC3D,GAAG9U;AAAA,UACH,GAAG4R;AAAA,UACH,kBAAkBrK;AAAA,QAC5B,CAAS,IAAI0J;AAAA,MACP;AACA,YAAM9H,IAAI5B,EAAI,MAAM,KAAK,eAAe,GAClC5B,IAAIwD,EAAE,MAAK,EAAG,KAAI,GAClBN,IAAIM,EAAE,KAAK,KAAK,eAAe,EAAE,KAAI;AAC3C,aAAO,KAAK,OAAOmS,GAAqB1J,GAAMC,GAAalM,GAAG,KAAK,QAAQ,cAAc,KAAK,QAAQ,mBAAmB,GAAGkD,GAAGiM,GAAK;AAAA,QAClI,GAAG9U;AAAA,QACH,GAAG4R;AAAA,QACH,kBAAkBjM;AAAA,MAC1B,CAAO;AAAA,IACH;AACA,SAAK,YAAW;AAChB,UAAMkX,IAA8B7c,KAAWA,EAAQ,+BAA+B,KAAK,QAAQ,6BAC7FiY,IAAkBjY,KAAWA,EAAQ,iBAAiBA,EAAQ,cAAc,oBAAoB,SAAYA,EAAQ,cAAc,kBAAkB,KAAK,QAAQ,cAAc;AAQrL,WAPc,CAAC;AAAA,MACb,OAAO,KAAK;AAAA,MACZ,WAAW,CAAAwb,MAAOD,GAAUC,CAAG;AAAA,IACrC,GAAO;AAAA,MACD,OAAO,KAAK;AAAA,MACZ,WAAW,CAAAA,MAAO,KAAK,cAAcD,GAAU,KAAK,OAAOC,CAAG,CAAC,IAAID,GAAUC,CAAG;AAAA,IACtF,CAAK,EACK,QAAQ,CAAAsB,MAAQ;AAEpB,WADAH,IAAW,GACJjb,IAAQob,EAAK,MAAM,KAAK3Q,CAAG,KAAG;AACnC,cAAM4Q,IAAarb,EAAM,CAAC,EAAE,KAAI;AAEhC,YADAJ,IAAQsb,EAAaG,CAAU,GAC3Bzb,MAAU;AACZ,cAAI,OAAOub,KAAgC,YAAY;AACrD,kBAAMG,IAAOH,EAA4B1Q,GAAKzK,GAAO1B,CAAO;AAC5D,YAAAsB,IAAQ6O,EAAS6M,CAAI,IAAIA,IAAO;AAAA,UAClC,WAAWhd,KAAW,OAAO,UAAU,eAAe,KAAKA,GAAS+c,CAAU;AAC5E,YAAAzb,IAAQ;AAAA,mBACC2W,GAAiB;AAC1B,YAAA3W,IAAQI,EAAM,CAAC;AACf;AAAA,UACF;AACE,iBAAK,OAAO,KAAK,8BAA8Bqb,CAAU,sBAAsB5Q,CAAG,EAAE,GACpF7K,IAAQ;AAAA,YAEL,CAAI,CAAC6O,EAAS7O,CAAK,KAAK,CAAC,KAAK,wBACnCA,IAAQoP,GAAWpP,CAAK;AAE1B,cAAM2b,IAAYH,EAAK,UAAUxb,CAAK;AAStC,YARA6K,IAAMA,EAAI,QAAQzK,EAAM,CAAC,GAAGub,CAAS,GACjChF,KACF6E,EAAK,MAAM,aAAaxb,EAAM,QAC9Bwb,EAAK,MAAM,aAAapb,EAAM,CAAC,EAAE,UAEjCob,EAAK,MAAM,YAAY,GAEzBH,KACIA,KAAY,KAAK;AACnB;AAAA,MAEJ;AAAA,IACF,CAAC,GACMxQ;AAAA,EACT;AAAA,EACA,KAAKA,GAAKiO,GAAI;AACZ,QAAIpa,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9E0B,GACAJ,GACA4b;AACJ,UAAMC,IAAmB,CAAC5V,GAAK6V,MAAqB;AAClD,YAAMC,IAAM,KAAK;AACjB,UAAI9V,EAAI,QAAQ8V,CAAG,IAAI,EAAG,QAAO9V;AACjC,YAAMmB,IAAInB,EAAI,MAAM,IAAI,OAAO,GAAG8V,CAAG,OAAO,CAAC;AAC7C,UAAIC,IAAgB,IAAI5U,EAAE,CAAC,CAAC;AAC5B,MAAAnB,IAAMmB,EAAE,CAAC,GACT4U,IAAgB,KAAK,YAAYA,GAAeJ,CAAa;AAC7D,YAAMK,IAAsBD,EAAc,MAAM,IAAI,GAC9CE,IAAsBF,EAAc,MAAM,IAAI;AACpD,OAAIC,KAAuBA,EAAoB,SAAS,MAAM,KAAK,CAACC,KAAuBA,EAAoB,SAAS,MAAM,OAC5HF,IAAgBA,EAAc,QAAQ,MAAM,GAAG;AAEjD,UAAI;AACF,QAAAJ,IAAgB,KAAK,MAAMI,CAAa,GACpCF,MAAkBF,IAAgB;AAAA,UACpC,GAAGE;AAAA,UACH,GAAGF;AAAA,QACb;AAAA,MACM,SAAStU,GAAG;AACV,oBAAK,OAAO,KAAK,oDAAoDrB,CAAG,IAAIqB,CAAC,GACtE,GAAGrB,CAAG,GAAG8V,CAAG,GAAGC,CAAa;AAAA,MACrC;AACA,aAAIJ,EAAc,gBAAgBA,EAAc,aAAa,QAAQ,KAAK,MAAM,IAAI,MAAI,OAAOA,EAAc,cACtG3V;AAAA,IACT;AACA,WAAO7F,IAAQ,KAAK,cAAc,KAAKyK,CAAG,KAAG;AAC3C,UAAIsR,IAAa,CAAA;AACjB,MAAAP,IAAgB;AAAA,QACd,GAAGld;AAAA,MACX,GACMkd,IAAgBA,EAAc,WAAW,CAAC/M,EAAS+M,EAAc,OAAO,IAAIA,EAAc,UAAUA,GACpGA,EAAc,qBAAqB,IACnC,OAAOA,EAAc;AACrB,UAAIQ,IAAW;AACf,UAAIhc,EAAM,CAAC,EAAE,QAAQ,KAAK,eAAe,MAAM,MAAM,CAAC,OAAO,KAAKA,EAAM,CAAC,CAAC,GAAG;AAC3E,cAAM2H,IAAI3H,EAAM,CAAC,EAAE,MAAM,KAAK,eAAe,EAAE,IAAI,CAAAic,MAAQA,EAAK,KAAI,CAAE;AACtE,QAAAjc,EAAM,CAAC,IAAI2H,EAAE,MAAK,GAClBoU,IAAapU,GACbqU,IAAW;AAAA,MACb;AAEA,UADApc,IAAQ8Y,EAAG+C,EAAiB,KAAK,MAAMzb,EAAM,CAAC,EAAE,KAAI,GAAIwb,CAAa,GAAGA,CAAa,GACjF5b,KAASI,EAAM,CAAC,MAAMyK,KAAO,CAACgE,EAAS7O,CAAK,EAAG,QAAOA;AAC1D,MAAK6O,EAAS7O,CAAK,MAAGA,IAAQoP,GAAWpP,CAAK,IACzCA,MACH,KAAK,OAAO,KAAK,qBAAqBI,EAAM,CAAC,CAAC,gBAAgByK,CAAG,EAAE,GACnE7K,IAAQ,KAENoc,MACFpc,IAAQmc,EAAW,OAAO,CAAClU,GAAGV,MAAM,KAAK,OAAOU,GAAGV,GAAG7I,EAAQ,KAAK;AAAA,QACjE,GAAGA;AAAA,QACH,kBAAkB0B,EAAM,CAAC,EAAE,KAAI;AAAA,MACzC,CAAS,GAAGJ,EAAM,MAAM,IAElB6K,IAAMA,EAAI,QAAQzK,EAAM,CAAC,GAAGJ,CAAK,GACjC,KAAK,OAAO,YAAY;AAAA,IAC1B;AACA,WAAO6K;AAAA,EACT;AACF;AAEA,MAAMyR,KAAiB,CAAAC,MAAa;AAClC,MAAIC,IAAaD,EAAU,YAAW,EAAG,KAAI;AAC7C,QAAME,IAAgB,CAAA;AACtB,MAAIF,EAAU,QAAQ,GAAG,IAAI,IAAI;AAC/B,UAAM1U,IAAI0U,EAAU,MAAM,GAAG;AAC7B,IAAAC,IAAa3U,EAAE,CAAC,EAAE,YAAW,EAAG,KAAI;AACpC,UAAM6U,IAAS7U,EAAE,CAAC,EAAE,UAAU,GAAGA,EAAE,CAAC,EAAE,SAAS,CAAC;AAChD,IAAI2U,MAAe,cAAcE,EAAO,QAAQ,GAAG,IAAI,IAChDD,EAAc,aAAUA,EAAc,WAAWC,EAAO,KAAI,KACxDF,MAAe,kBAAkBE,EAAO,QAAQ,GAAG,IAAI,IAC3DD,EAAc,UAAOA,EAAc,QAAQC,EAAO,KAAI,KAE9CA,EAAO,MAAM,GAAG,EACxB,QAAQ,CAAAC,MAAO;AAClB,UAAIA,GAAK;AACP,cAAM,CAAC1W,GAAK,GAAG2W,CAAI,IAAID,EAAI,MAAM,GAAG,GAC9BzC,IAAM0C,EAAK,KAAK,GAAG,EAAE,OAAO,QAAQ,YAAY,EAAE,GAClDC,IAAa5W,EAAI,KAAI;AAC3B,QAAKwW,EAAcI,CAAU,MAAGJ,EAAcI,CAAU,IAAI3C,IACxDA,MAAQ,YAASuC,EAAcI,CAAU,IAAI,KAC7C3C,MAAQ,WAAQuC,EAAcI,CAAU,IAAI,KAC3C,MAAM3C,CAAG,MAAGuC,EAAcI,CAAU,IAAI,SAAS3C,GAAK,EAAE;AAAA,MAC/D;AAAA,IACF,CAAC;AAAA,EAEL;AACA,SAAO;AAAA,IACL,YAAAsC;AAAA,IACA,eAAAC;AAAA,EACJ;AACA,GACMK,IAAwB,CAAA7X,MAAM;AAClC,QAAMC,IAAQ,CAAA;AACd,SAAO,CAACgV,GAAK1G,GAAK9U,MAAY;AAC5B,QAAIqe,IAAcre;AAClB,IAAIA,KAAWA,EAAQ,oBAAoBA,EAAQ,gBAAgBA,EAAQ,aAAaA,EAAQ,gBAAgB,KAAKA,EAAQA,EAAQ,gBAAgB,MACnJqe,IAAc;AAAA,MACZ,GAAGA;AAAA,MACH,CAACre,EAAQ,gBAAgB,GAAG;AAAA,IACpC;AAEI,UAAMuH,IAAMuN,IAAM,KAAK,UAAUuJ,CAAW;AAC5C,QAAIC,IAAY9X,EAAMe,CAAG;AACzB,WAAK+W,MACHA,IAAY/X,EAAG8M,GAAeyB,CAAG,GAAG9U,CAAO,GAC3CwG,EAAMe,CAAG,IAAI+W,IAERA,EAAU9C,CAAG;AAAA,EACtB;AACF;AACA,MAAM+C,GAAU;AAAA,EACd,cAAc;AACZ,QAAIve,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,SAAK,SAASmU,EAAW,OAAO,WAAW,GAC3C,KAAK,UAAUnU,GACf,KAAK,UAAU;AAAA,MACb,QAAQoe,EAAsB,CAACtJ,GAAKmJ,MAAQ;AAC1C,cAAMK,IAAY,IAAI,KAAK,aAAaxJ,GAAK;AAAA,UAC3C,GAAGmJ;AAAA,QACb,CAAS;AACD,eAAO,CAAAzC,MAAO8C,EAAU,OAAO9C,CAAG;AAAA,MACpC,CAAC;AAAA,MACD,UAAU4C,EAAsB,CAACtJ,GAAKmJ,MAAQ;AAC5C,cAAMK,IAAY,IAAI,KAAK,aAAaxJ,GAAK;AAAA,UAC3C,GAAGmJ;AAAA,UACH,OAAO;AAAA,QACjB,CAAS;AACD,eAAO,CAAAzC,MAAO8C,EAAU,OAAO9C,CAAG;AAAA,MACpC,CAAC;AAAA,MACD,UAAU4C,EAAsB,CAACtJ,GAAKmJ,MAAQ;AAC5C,cAAMK,IAAY,IAAI,KAAK,eAAexJ,GAAK;AAAA,UAC7C,GAAGmJ;AAAA,QACb,CAAS;AACD,eAAO,CAAAzC,MAAO8C,EAAU,OAAO9C,CAAG;AAAA,MACpC,CAAC;AAAA,MACD,cAAc4C,EAAsB,CAACtJ,GAAKmJ,MAAQ;AAChD,cAAMK,IAAY,IAAI,KAAK,mBAAmBxJ,GAAK;AAAA,UACjD,GAAGmJ;AAAA,QACb,CAAS;AACD,eAAO,CAAAzC,MAAO8C,EAAU,OAAO9C,GAAKyC,EAAI,SAAS,KAAK;AAAA,MACxD,CAAC;AAAA,MACD,MAAMG,EAAsB,CAACtJ,GAAKmJ,MAAQ;AACxC,cAAMK,IAAY,IAAI,KAAK,WAAWxJ,GAAK;AAAA,UACzC,GAAGmJ;AAAA,QACb,CAAS;AACD,eAAO,CAAAzC,MAAO8C,EAAU,OAAO9C,CAAG;AAAA,MACpC,CAAC;AAAA,IACP,GACI,KAAK,KAAKxb,CAAO;AAAA,EACnB;AAAA,EACA,KAAK0V,GAAU;AACb,QAAI1V,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAAA,MAChF,eAAe,CAAA;AAAA,IACrB;AACI,SAAK,kBAAkBA,EAAQ,cAAc,mBAAmB;AAAA,EAClE;AAAA,EACA,IAAIuO,GAAM6L,GAAI;AACZ,SAAK,QAAQ7L,EAAK,YAAW,EAAG,KAAI,CAAE,IAAI6L;AAAA,EAC5C;AAAA,EACA,UAAU7L,GAAM6L,GAAI;AAClB,SAAK,QAAQ7L,EAAK,YAAW,EAAG,MAAM,IAAI6P,EAAsBhE,CAAE;AAAA,EACpE;AAAA,EACA,OAAO9Y,GAAOkd,GAAQ1J,GAAK;AACzB,QAAI9U,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAMye,IAAUD,EAAO,MAAM,KAAK,eAAe;AACjD,QAAIC,EAAQ,SAAS,KAAKA,EAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,KAAKA,EAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,KAAKA,EAAQ,KAAK,CAAA5V,MAAKA,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG;AAC9H,YAAM6V,IAAYD,EAAQ,UAAU,CAAA5V,MAAKA,EAAE,QAAQ,GAAG,IAAI,EAAE;AAC5D,MAAA4V,EAAQ,CAAC,IAAI,CAACA,EAAQ,CAAC,GAAG,GAAGA,EAAQ,OAAO,GAAGC,CAAS,CAAC,EAAE,KAAK,KAAK,eAAe;AAAA,IACtF;AAyBA,WAxBeD,EAAQ,OAAO,CAACE,GAAK9V,MAAM;AACxC,YAAM;AAAA,QACJ,YAAAiV;AAAA,QACA,eAAAC;AAAA,MACR,IAAUH,GAAe/U,CAAC;AACpB,UAAI,KAAK,QAAQiV,CAAU,GAAG;AAC5B,YAAIc,IAAYD;AAChB,YAAI;AACF,gBAAME,IAAa7e,KAAWA,EAAQ,gBAAgBA,EAAQ,aAAaA,EAAQ,gBAAgB,KAAK,CAAA,GAClGgJ,IAAI6V,EAAW,UAAUA,EAAW,OAAO7e,EAAQ,UAAUA,EAAQ,OAAO8U;AAClF,UAAA8J,IAAY,KAAK,QAAQd,CAAU,EAAEa,GAAK3V,GAAG;AAAA,YAC3C,GAAG+U;AAAA,YACH,GAAG/d;AAAA,YACH,GAAG6e;AAAA,UACf,CAAW;AAAA,QACH,SAASC,GAAO;AACd,eAAK,OAAO,KAAKA,CAAK;AAAA,QACxB;AACA,eAAOF;AAAA,MACT;AACE,aAAK,OAAO,KAAK,oCAAoCd,CAAU,EAAE;AAEnE,aAAOa;AAAA,IACT,GAAGrd,CAAK;AAAA,EAEV;AACF;AAEA,MAAMyd,KAAgB,CAAC3V,GAAGmF,MAAS;AACjC,EAAInF,EAAE,QAAQmF,CAAI,MAAM,WACtB,OAAOnF,EAAE,QAAQmF,CAAI,GACrBnF,EAAE;AAEN;AACA,MAAM4V,WAAkB5K,GAAa;AAAA,EACnC,YAAY6K,GAASC,GAAOxJ,GAAU;AACpC,QAAI1V,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,UAAK,GACL,KAAK,UAAUif,GACf,KAAK,QAAQC,GACb,KAAK,WAAWxJ,GAChB,KAAK,gBAAgBA,EAAS,eAC9B,KAAK,UAAU1V,GACf,KAAK,SAASmU,EAAW,OAAO,kBAAkB,GAClD,KAAK,eAAe,CAAA,GACpB,KAAK,mBAAmBnU,EAAQ,oBAAoB,IACpD,KAAK,eAAe,GACpB,KAAK,aAAaA,EAAQ,cAAc,IAAIA,EAAQ,aAAa,GACjE,KAAK,eAAeA,EAAQ,gBAAgB,IAAIA,EAAQ,eAAe,KACvE,KAAK,QAAQ,CAAA,GACb,KAAK,QAAQ,CAAA,GACT,KAAK,WAAW,KAAK,QAAQ,QAC/B,KAAK,QAAQ,KAAK0V,GAAU1V,EAAQ,SAASA,CAAO;AAAA,EAExD;AAAA,EACA,UAAUmf,GAAWvJ,GAAY5V,GAASyC,GAAU;AAClD,UAAM2c,IAAS,CAAA,GACTC,IAAU,CAAA,GACVC,IAAkB,CAAA,GAClBC,IAAmB,CAAA;AACzB,WAAAJ,EAAU,QAAQ,CAAArK,MAAO;AACvB,UAAI0K,IAAmB;AACvB,MAAA5J,EAAW,QAAQ,CAAAf,MAAM;AACvB,cAAMtG,IAAO,GAAGuG,CAAG,IAAID,CAAE;AACzB,QAAI,CAAC7U,EAAQ,UAAU,KAAK,MAAM,kBAAkB8U,GAAKD,CAAE,IACzD,KAAK,MAAMtG,CAAI,IAAI,IACV,KAAK,MAAMA,CAAI,IAAI,MAAc,KAAK,MAAMA,CAAI,MAAM,IAC3D8Q,EAAQ9Q,CAAI,MAAM,WAAW8Q,EAAQ9Q,CAAI,IAAI,OAEjD,KAAK,MAAMA,CAAI,IAAI,GACnBiR,IAAmB,IACfH,EAAQ9Q,CAAI,MAAM,WAAW8Q,EAAQ9Q,CAAI,IAAI,KAC7C6Q,EAAO7Q,CAAI,MAAM,WAAW6Q,EAAO7Q,CAAI,IAAI,KAC3CgR,EAAiB1K,CAAE,MAAM,WAAW0K,EAAiB1K,CAAE,IAAI;AAAA,MAEnE,CAAC,GACI2K,MAAkBF,EAAgBxK,CAAG,IAAI;AAAA,IAChD,CAAC,IACG,OAAO,KAAKsK,CAAM,EAAE,UAAU,OAAO,KAAKC,CAAO,EAAE,WACrD,KAAK,MAAM,KAAK;AAAA,MACd,SAAAA;AAAA,MACA,cAAc,OAAO,KAAKA,CAAO,EAAE;AAAA,MACnC,QAAQ,CAAA;AAAA,MACR,QAAQ,CAAA;AAAA,MACR,UAAA5c;AAAA,IACR,CAAO,GAEI;AAAA,MACL,QAAQ,OAAO,KAAK2c,CAAM;AAAA,MAC1B,SAAS,OAAO,KAAKC,CAAO;AAAA,MAC5B,iBAAiB,OAAO,KAAKC,CAAe;AAAA,MAC5C,kBAAkB,OAAO,KAAKC,CAAgB;AAAA,IACpD;AAAA,EACE;AAAA,EACA,OAAOhR,GAAMkR,GAAK7N,GAAM;AACtB,UAAM,IAAIrD,EAAK,MAAM,GAAG,GAClBuG,IAAM,EAAE,CAAC,GACTD,IAAK,EAAE,CAAC;AACd,IAAI4K,KAAK,KAAK,KAAK,iBAAiB3K,GAAKD,GAAI4K,CAAG,GAC5C,CAACA,KAAO7N,KACV,KAAK,MAAM,kBAAkBkD,GAAKD,GAAIjD,GAAM,QAAW,QAAW;AAAA,MAChE,UAAU;AAAA,IAClB,CAAO,GAEH,KAAK,MAAMrD,CAAI,IAAIkR,IAAM,KAAK,GAC1BA,KAAO7N,MAAM,KAAK,MAAMrD,CAAI,IAAI;AACpC,UAAMmR,IAAS,CAAA;AACf,SAAK,MAAM,QAAQ,CAAAtW,MAAK;AACtB,MAAAoI,GAASpI,EAAE,QAAQ,CAAC0L,CAAG,GAAGD,CAAE,GAC5BkK,GAAc3V,GAAGmF,CAAI,GACjBkR,KAAKrW,EAAE,OAAO,KAAKqW,CAAG,GACtBrW,EAAE,iBAAiB,KAAK,CAACA,EAAE,SAC7B,OAAO,KAAKA,EAAE,MAAM,EAAE,QAAQ,OAAK;AACjC,QAAKsW,EAAO,CAAC,MAAGA,EAAO,CAAC,IAAI,CAAA;AAC5B,cAAMC,IAAavW,EAAE,OAAO,CAAC;AAC7B,QAAIuW,EAAW,UACbA,EAAW,QAAQ,CAAAzW,MAAK;AACtB,UAAIwW,EAAO,CAAC,EAAExW,CAAC,MAAM,WAAWwW,EAAO,CAAC,EAAExW,CAAC,IAAI;AAAA,QACjD,CAAC;AAAA,MAEL,CAAC,GACDE,EAAE,OAAO,IACLA,EAAE,OAAO,SACXA,EAAE,SAASA,EAAE,MAAM,IAEnBA,EAAE,SAAQ;AAAA,IAGhB,CAAC,GACD,KAAK,KAAK,UAAUsW,CAAM,GAC1B,KAAK,QAAQ,KAAK,MAAM,OAAO,CAAAtW,MAAK,CAACA,EAAE,IAAI;AAAA,EAC7C;AAAA,EACA,KAAK0L,GAAKD,GAAI+K,GAAQ;AACpB,QAAIC,IAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,GAC5EC,IAAO,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,KAAK,cAChFrd,IAAW,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI;AACrD,QAAI,CAACqS,EAAI,OAAQ,QAAOrS,EAAS,MAAM,CAAA,CAAE;AACzC,QAAI,KAAK,gBAAgB,KAAK,kBAAkB;AAC9C,WAAK,aAAa,KAAK;AAAA,QACrB,KAAAqS;AAAA,QACA,IAAAD;AAAA,QACA,QAAA+K;AAAA,QACA,OAAAC;AAAA,QACA,MAAAC;AAAA,QACA,UAAArd;AAAA,MACR,CAAO;AACD;AAAA,IACF;AACA,SAAK;AACL,UAAMsd,IAAW,CAACN,GAAK7N,MAAS;AAE9B,UADA,KAAK,gBACD,KAAK,aAAa,SAAS,GAAG;AAChC,cAAMpO,IAAO,KAAK,aAAa,MAAK;AACpC,aAAK,KAAKA,EAAK,KAAKA,EAAK,IAAIA,EAAK,QAAQA,EAAK,OAAOA,EAAK,MAAMA,EAAK,QAAQ;AAAA,MAChF;AACA,UAAIic,KAAO7N,KAAQiO,IAAQ,KAAK,YAAY;AAC1C,mBAAW,MAAM;AACf,eAAK,KAAK,KAAK,MAAM/K,GAAKD,GAAI+K,GAAQC,IAAQ,GAAGC,IAAO,GAAGrd,CAAQ;AAAA,QACrE,GAAGqd,CAAI;AACP;AAAA,MACF;AACA,MAAArd,EAASgd,GAAK7N,CAAI;AAAA,IACpB,GACMwI,IAAK,KAAK,QAAQwF,CAAM,EAAE,KAAK,KAAK,OAAO;AACjD,QAAIxF,EAAG,WAAW,GAAG;AACnB,UAAI;AACF,cAAM/Q,IAAI+Q,EAAGtF,GAAKD,CAAE;AACpB,QAAIxL,KAAK,OAAOA,EAAE,QAAS,aACzBA,EAAE,KAAK,CAAAuI,MAAQmO,EAAS,MAAMnO,CAAI,CAAC,EAAE,MAAMmO,CAAQ,IAEnDA,EAAS,MAAM1W,CAAC;AAAA,MAEpB,SAASoW,GAAK;AACZ,QAAAM,EAASN,CAAG;AAAA,MACd;AACA;AAAA,IACF;AACA,WAAOrF,EAAGtF,GAAKD,GAAIkL,CAAQ;AAAA,EAC7B;AAAA,EACA,eAAeZ,GAAWvJ,GAAY;AACpC,QAAI5V,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EyC,IAAW,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI;AACrD,QAAI,CAAC,KAAK;AACR,kBAAK,OAAO,KAAK,gEAAgE,GAC1EA,KAAYA,EAAQ;AAE7B,IAAI0N,EAASgP,CAAS,MAAGA,IAAY,KAAK,cAAc,mBAAmBA,CAAS,IAChFhP,EAASyF,CAAU,MAAGA,IAAa,CAACA,CAAU;AAClD,UAAMwJ,IAAS,KAAK,UAAUD,GAAWvJ,GAAY5V,GAASyC,CAAQ;AACtE,QAAI,CAAC2c,EAAO,OAAO;AACjB,aAAKA,EAAO,QAAQ,UAAQ3c,EAAQ,GAC7B;AAET,IAAA2c,EAAO,OAAO,QAAQ,CAAA7Q,MAAQ;AAC5B,WAAK,QAAQA,CAAI;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EACA,KAAK4Q,GAAWvJ,GAAYnT,GAAU;AACpC,SAAK,eAAe0c,GAAWvJ,GAAY,CAAA,GAAInT,CAAQ;AAAA,EACzD;AAAA,EACA,OAAO0c,GAAWvJ,GAAYnT,GAAU;AACtC,SAAK,eAAe0c,GAAWvJ,GAAY;AAAA,MACzC,QAAQ;AAAA,IACd,GAAOnT,CAAQ;AAAA,EACb;AAAA,EACA,QAAQ8L,GAAM;AACZ,QAAIpH,IAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACjF,UAAMyJ,IAAIrC,EAAK,MAAM,GAAG,GAClBuG,IAAMlE,EAAE,CAAC,GACTiE,IAAKjE,EAAE,CAAC;AACd,SAAK,KAAKkE,GAAKD,GAAI,QAAQ,QAAW,QAAW,CAAC4K,GAAK7N,MAAS;AAC9D,MAAI6N,KAAK,KAAK,OAAO,KAAK,GAAGtY,CAAM,qBAAqB0N,CAAE,iBAAiBC,CAAG,WAAW2K,CAAG,GACxF,CAACA,KAAO7N,KAAM,KAAK,OAAO,IAAI,GAAGzK,CAAM,oBAAoB0N,CAAE,iBAAiBC,CAAG,IAAIlD,CAAI,GAC7F,KAAK,OAAOrD,GAAMkR,GAAK7N,CAAI;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,YAAYuN,GAAWjJ,GAAW3O,GAAKyY,GAAeC,GAAU;AAC9D,QAAIjgB,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EkgB,IAAM,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,MAAM;AAAA,IAAC;AACrF,QAAI,KAAK,SAAS,SAAS,KAAK,SAAS,MAAM,sBAAsB,CAAC,KAAK,SAAS,MAAM,mBAAmBhK,CAAS,GAAG;AACvH,WAAK,OAAO,KAAK,qBAAqB3O,CAAG,uBAAuB2O,CAAS,wBAAwB,0NAA0N;AAC3T;AAAA,IACF;AACA,QAAI,EAAqB3O,KAAQ,QAAQA,MAAQ,KACjD;AAAA,UAAI,KAAK,WAAW,KAAK,QAAQ,QAAQ;AACvC,cAAM4Y,IAAO;AAAA,UACX,GAAGngB;AAAA,UACH,UAAAigB;AAAA,QACR,GACY7F,IAAK,KAAK,QAAQ,OAAO,KAAK,KAAK,OAAO;AAChD,YAAIA,EAAG,SAAS;AACd,cAAI;AACF,gBAAI/Q;AACJ,YAAI+Q,EAAG,WAAW,IAChB/Q,IAAI+Q,EAAG+E,GAAWjJ,GAAW3O,GAAKyY,GAAeG,CAAI,IAErD9W,IAAI+Q,EAAG+E,GAAWjJ,GAAW3O,GAAKyY,CAAa,GAE7C3W,KAAK,OAAOA,EAAE,QAAS,aACzBA,EAAE,KAAK,CAAAuI,MAAQsO,EAAI,MAAMtO,CAAI,CAAC,EAAE,MAAMsO,CAAG,IAEzCA,EAAI,MAAM7W,CAAC;AAAA,UAEf,SAASoW,GAAK;AACZ,YAAAS,EAAIT,CAAG;AAAA,UACT;AAAA;AAEA,UAAArF,EAAG+E,GAAWjJ,GAAW3O,GAAKyY,GAAeE,GAAKC,CAAI;AAAA,MAE1D;AACA,MAAI,CAAChB,KAAa,CAACA,EAAU,CAAC,KAC9B,KAAK,MAAM,YAAYA,EAAU,CAAC,GAAGjJ,GAAW3O,GAAKyY,CAAa;AAAA;AAAA,EACpE;AACF;AAEA,MAAMI,KAAM,OAAO;AAAA,EACjB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,IAAI,CAAC,aAAa;AAAA,EAClB,WAAW,CAAC,aAAa;AAAA,EACzB,aAAa,CAAC,KAAK;AAAA,EACnB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,0BAA0B;AAAA,EAC1B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,6BAA6B;AAAA,EAC7B,aAAa;AAAA,EACb,yBAAyB;AAAA,EACzB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,6BAA6B;AAAA,EAC7B,yBAAyB;AAAA,EACzB,kCAAkC,CAAAnS,MAAQ;AACxC,QAAIoS,IAAM,CAAA;AAIV,QAHI,OAAOpS,EAAK,CAAC,KAAM,aAAUoS,IAAMpS,EAAK,CAAC,IACzCkC,EAASlC,EAAK,CAAC,CAAC,MAAGoS,EAAI,eAAepS,EAAK,CAAC,IAC5CkC,EAASlC,EAAK,CAAC,CAAC,MAAGoS,EAAI,eAAepS,EAAK,CAAC,IAC5C,OAAOA,EAAK,CAAC,KAAM,YAAY,OAAOA,EAAK,CAAC,KAAM,UAAU;AAC9D,YAAMjO,IAAUiO,EAAK,CAAC,KAAKA,EAAK,CAAC;AACjC,aAAO,KAAKjO,CAAO,EAAE,QAAQ,CAAAuH,MAAO;AAClC,QAAA8Y,EAAI9Y,CAAG,IAAIvH,EAAQuH,CAAG;AAAA,MACxB,CAAC;AAAA,IACH;AACA,WAAO8Y;AAAA,EACT;AAAA,EACA,eAAe;AAAA,IACb,aAAa;AAAA,IACb,QAAQ,CAAA/e,MAASA;AAAA,IACjB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,eAAe;AAAA,IACf,yBAAyB;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,EACrB;AACA,IACMgf,KAAmB,CAAAtgB,OACnBmQ,EAASnQ,EAAQ,EAAE,MAAGA,EAAQ,KAAK,CAACA,EAAQ,EAAE,IAC9CmQ,EAASnQ,EAAQ,WAAW,MAAGA,EAAQ,cAAc,CAACA,EAAQ,WAAW,IACzEmQ,EAASnQ,EAAQ,UAAU,MAAGA,EAAQ,aAAa,CAACA,EAAQ,UAAU,IACtEA,EAAQ,iBAAiBA,EAAQ,cAAc,QAAQ,QAAQ,IAAI,MACrEA,EAAQ,gBAAgBA,EAAQ,cAAc,OAAO,CAAC,QAAQ,CAAC,IAE1DA,IAGHugB,KAAO,MAAM;AAAC,GACdC,KAAsB,CAAAC,MAAQ;AAElC,EADa,OAAO,oBAAoB,OAAO,eAAeA,CAAI,CAAC,EAC9D,QAAQ,CAAA9B,MAAO;AAClB,IAAI,OAAO8B,EAAK9B,CAAG,KAAM,eACvB8B,EAAK9B,CAAG,IAAI8B,EAAK9B,CAAG,EAAE,KAAK8B,CAAI;AAAA,EAEnC,CAAC;AACH;AACA,MAAMC,WAAatM,GAAa;AAAA,EAC9B,cAAc;AACZ,QAAIpU,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EyC,IAAW,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI;AASrD,QARA,MAAK,GACL,KAAK,UAAU6d,GAAiBtgB,CAAO,GACvC,KAAK,WAAW,CAAA,GAChB,KAAK,SAASmU,GACd,KAAK,UAAU;AAAA,MACb,UAAU,CAAA;AAAA,IAChB,GACIqM,GAAoB,IAAI,GACpB/d,KAAY,CAAC,KAAK,iBAAiB,CAACzC,EAAQ,SAAS;AACvD,UAAI,CAAC,KAAK,QAAQ;AAChB,oBAAK,KAAKA,GAASyC,CAAQ,GACpB;AAET,iBAAW,MAAM;AACf,aAAK,KAAKzC,GAASyC,CAAQ;AAAA,MAC7B,GAAG,CAAC;AAAA,IACN;AAAA,EACF;AAAA,EACA,OAAO;AACL,QAAIvC,IAAQ;AACZ,QAAIF,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EyC,IAAW,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI;AACrD,SAAK,iBAAiB,IAClB,OAAOzC,KAAY,eACrByC,IAAWzC,GACXA,IAAU,CAAA,IAER,CAACA,EAAQ,aAAaA,EAAQ,cAAc,MAASA,EAAQ,OAC3DmQ,EAASnQ,EAAQ,EAAE,IACrBA,EAAQ,YAAYA,EAAQ,KACnBA,EAAQ,GAAG,QAAQ,aAAa,IAAI,MAC7CA,EAAQ,YAAYA,EAAQ,GAAG,CAAC;AAGpC,UAAM2gB,IAAUP,GAAG;AACnB,SAAK,UAAU;AAAA,MACb,GAAGO;AAAA,MACH,GAAG,KAAK;AAAA,MACR,GAAGL,GAAiBtgB,CAAO;AAAA,IACjC,GACQ,KAAK,QAAQ,qBAAqB,SACpC,KAAK,QAAQ,gBAAgB;AAAA,MAC3B,GAAG2gB,EAAQ;AAAA,MACX,GAAG,KAAK,QAAQ;AAAA,IACxB,IAEQ3gB,EAAQ,iBAAiB,WAC3B,KAAK,QAAQ,0BAA0BA,EAAQ,eAE7CA,EAAQ,gBAAgB,WAC1B,KAAK,QAAQ,yBAAyBA,EAAQ;AAEhD,UAAM4gB,IAAsB,CAAAC,MACrBA,IACD,OAAOA,KAAkB,aAAmB,IAAIA,EAAa,IAC1DA,IAFoB;AAI7B,QAAI,CAAC,KAAK,QAAQ,SAAS;AACzB,MAAI,KAAK,QAAQ,SACf1M,EAAW,KAAKyM,EAAoB,KAAK,QAAQ,MAAM,GAAG,KAAK,OAAO,IAEtEzM,EAAW,KAAK,MAAM,KAAK,OAAO;AAEpC,UAAImK;AACJ,MAAI,KAAK,QAAQ,YACfA,IAAY,KAAK,QAAQ,YAChB,OAAO,OAAS,QACzBA,IAAYC;AAEd,YAAMuC,IAAK,IAAIrH,GAAa,KAAK,OAAO;AACxC,WAAK,QAAQ,IAAI7E,GAAc,KAAK,QAAQ,WAAW,KAAK,OAAO;AACnE,YAAMhE,IAAI,KAAK;AACf,MAAAA,EAAE,SAASuD,GACXvD,EAAE,gBAAgB,KAAK,OACvBA,EAAE,gBAAgBkQ,GAClBlQ,EAAE,iBAAiB,IAAIgK,GAAekG,GAAI;AAAA,QACxC,SAAS,KAAK,QAAQ;AAAA,QACtB,mBAAmB,KAAK,QAAQ;AAAA,QAChC,sBAAsB,KAAK,QAAQ;AAAA,MAC3C,CAAO,GACGxC,MAAc,CAAC,KAAK,QAAQ,cAAc,UAAU,KAAK,QAAQ,cAAc,WAAWqC,EAAQ,cAAc,YAClH/P,EAAE,YAAYgQ,EAAoBtC,CAAS,GAC3C1N,EAAE,UAAU,KAAKA,GAAG,KAAK,OAAO,GAChC,KAAK,QAAQ,cAAc,SAASA,EAAE,UAAU,OAAO,KAAKA,EAAE,SAAS,IAEzEA,EAAE,eAAe,IAAI6K,GAAa,KAAK,OAAO,GAC9C7K,EAAE,QAAQ;AAAA,QACR,oBAAoB,KAAK,mBAAmB,KAAK,IAAI;AAAA,MAC7D,GACMA,EAAE,mBAAmB,IAAIoO,GAAU4B,EAAoB,KAAK,QAAQ,OAAO,GAAGhQ,EAAE,eAAeA,GAAG,KAAK,OAAO,GAC9GA,EAAE,iBAAiB,GAAG,KAAK,SAAU2D,GAAO;AAC1C,iBAASb,IAAO,UAAU,QAAQzF,IAAO,IAAI,MAAMyF,IAAO,IAAIA,IAAO,IAAI,CAAC,GAAGjE,IAAO,GAAGA,IAAOiE,GAAMjE;AAClG,UAAAxB,EAAKwB,IAAO,CAAC,IAAI,UAAUA,CAAI;AAEjC,QAAAvP,EAAM,KAAKqU,GAAO,GAAGtG,CAAI;AAAA,MAC3B,CAAC,GACG,KAAK,QAAQ,qBACf2C,EAAE,mBAAmBgQ,EAAoB,KAAK,QAAQ,gBAAgB,GAClEhQ,EAAE,iBAAiB,QAAMA,EAAE,iBAAiB,KAAKA,GAAG,KAAK,QAAQ,WAAW,KAAK,OAAO,IAE1F,KAAK,QAAQ,eACfA,EAAE,aAAagQ,EAAoB,KAAK,QAAQ,UAAU,GACtDhQ,EAAE,WAAW,QAAMA,EAAE,WAAW,KAAK,IAAI,IAE/C,KAAK,aAAa,IAAI6E,GAAW,KAAK,UAAU,KAAK,OAAO,GAC5D,KAAK,WAAW,GAAG,KAAK,SAAUlB,GAAO;AACvC,iBAASZ,IAAQ,UAAU,QAAQ1F,IAAO,IAAI,MAAM0F,IAAQ,IAAIA,IAAQ,IAAI,CAAC,GAAG5D,IAAQ,GAAGA,IAAQ4D,GAAO5D;AACxG,UAAA9B,EAAK8B,IAAQ,CAAC,IAAI,UAAUA,CAAK;AAEnC,QAAA7P,EAAM,KAAKqU,GAAO,GAAGtG,CAAI;AAAA,MAC3B,CAAC,GACD,KAAK,QAAQ,SAAS,QAAQ,CAAAhF,MAAK;AACjC,QAAIA,EAAE,QAAMA,EAAE,KAAK,IAAI;AAAA,MACzB,CAAC;AAAA,IACH;AAGA,QAFA,KAAK,SAAS,KAAK,QAAQ,cAAc,QACpCxG,MAAUA,IAAW8d,KACtB,KAAK,QAAQ,eAAe,CAAC,KAAK,SAAS,oBAAoB,CAAC,KAAK,QAAQ,KAAK;AACpF,YAAMzH,IAAQ,KAAK,SAAS,cAAc,iBAAiB,KAAK,QAAQ,WAAW;AACnF,MAAIA,EAAM,SAAS,KAAKA,EAAM,CAAC,MAAM,UAAO,KAAK,QAAQ,MAAMA,EAAM,CAAC;AAAA,IACxE;AACA,IAAI,CAAC,KAAK,SAAS,oBAAoB,CAAC,KAAK,QAAQ,OACnD,KAAK,OAAO,KAAK,yDAAyD,GAE3D,CAAC,eAAe,qBAAqB,qBAAqB,mBAAmB,EACrF,QAAQ,CAAA8G,MAAU;AACzB,WAAKA,CAAM,IAAI,WAAY;AACzB,eAAO1f,EAAM,MAAM0f,CAAM,EAAE,GAAG,SAAS;AAAA,MACzC;AAAA,IACF,CAAC,GACuB,CAAC,eAAe,gBAAgB,qBAAqB,sBAAsB,EACnF,QAAQ,CAAAA,MAAU;AAChC,WAAKA,CAAM,IAAI,WAAY;AACzB,eAAA1f,EAAM,MAAM0f,CAAM,EAAE,GAAG,SAAS,GACzB1f;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM6gB,IAAW3Q,GAAK,GAChB4Q,IAAO,MAAM;AACjB,YAAMC,IAAS,CAACxB,GAAKnW,MAAM;AACzB,aAAK,iBAAiB,IAClB,KAAK,iBAAiB,CAAC,KAAK,wBAAsB,KAAK,OAAO,KAAK,uEAAuE,GAC9I,KAAK,gBAAgB,IAChB,KAAK,QAAQ,WAAS,KAAK,OAAO,IAAI,eAAe,KAAK,OAAO,GACtE,KAAK,KAAK,eAAe,KAAK,OAAO,GACrCyX,EAAS,QAAQzX,CAAC,GAClB7G,EAASgd,GAAKnW,CAAC;AAAA,MACjB;AACA,UAAI,KAAK,aAAa,KAAK,QAAQ,qBAAqB,QAAQ,CAAC,KAAK,cAAe,QAAO2X,EAAO,MAAM,KAAK,EAAE,KAAK,IAAI,CAAC;AAC1H,WAAK,eAAe,KAAK,QAAQ,KAAKA,CAAM;AAAA,IAC9C;AACA,WAAI,KAAK,QAAQ,aAAa,CAAC,KAAK,QAAQ,gBAC1CD,EAAI,IAEJ,WAAWA,GAAM,CAAC,GAEbD;AAAA,EACT;AAAA,EACA,cAAcjJ,GAAU;AAEtB,QAAIoJ,IADW,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAIX;AAEnF,UAAM7H,IAAUvI,EAAS2H,CAAQ,IAAIA,IAAW,KAAK;AAErD,QADI,OAAOA,KAAa,eAAYoJ,IAAepJ,IAC/C,CAAC,KAAK,QAAQ,aAAa,KAAK,QAAQ,yBAAyB;AACnE,UAAIY,KAAWA,EAAQ,YAAW,MAAO,aAAa,CAAC,KAAK,QAAQ,WAAW,KAAK,QAAQ,QAAQ,WAAW,GAAI,QAAOwI,EAAY;AACtI,YAAM9B,IAAS,CAAA,GACT9c,IAAS,CAAAwS,MAAO;AAEpB,YADI,CAACA,KACDA,MAAQ,SAAU;AAEtB,QADa,KAAK,SAAS,cAAc,mBAAmBA,CAAG,EAC1D,QAAQ,OAAK;AAChB,UAAI,MAAM,YACNsK,EAAO,QAAQ,CAAC,IAAI,KAAGA,EAAO,KAAK,CAAC;AAAA,QAC1C,CAAC;AAAA,MACH;AACA,MAAK1G,IAIHpW,EAAOoW,CAAO,IAHI,KAAK,SAAS,cAAc,iBAAiB,KAAK,QAAQ,WAAW,EAC7E,QAAQ,CAAA1P,MAAK1G,EAAO0G,CAAC,CAAC,GAI9B,KAAK,QAAQ,WACf,KAAK,QAAQ,QAAQ,QAAQ,CAAAA,MAAK1G,EAAO0G,CAAC,CAAC,GAE7C,KAAK,SAAS,iBAAiB,KAAKoW,GAAQ,KAAK,QAAQ,IAAI,CAAAxW,MAAK;AAChE,QAAI,CAACA,KAAK,CAAC,KAAK,oBAAoB,KAAK,YAAU,KAAK,oBAAoB,KAAK,QAAQ,GACzFsY,EAAatY,CAAC;AAAA,MAChB,CAAC;AAAA,IACH;AACE,MAAAsY,EAAa,IAAI;AAAA,EAErB;AAAA,EACA,gBAAgBzJ,GAAM5C,GAAIpS,GAAU;AAClC,UAAMse,IAAW3Q,GAAK;AACtB,WAAI,OAAOqH,KAAS,eAClBhV,IAAWgV,GACXA,IAAO,SAEL,OAAO5C,KAAO,eAChBpS,IAAWoS,GACXA,IAAK,SAEF4C,MAAMA,IAAO,KAAK,YAClB5C,MAAIA,IAAK,KAAK,QAAQ,KACtBpS,MAAUA,IAAW8d,KAC1B,KAAK,SAAS,iBAAiB,OAAO9I,GAAM5C,GAAI,CAAA4K,MAAO;AACrD,MAAAsB,EAAS,QAAO,GAChBte,EAASgd,CAAG;AAAA,IACd,CAAC,GACMsB;AAAA,EACT;AAAA,EACA,IAAI3L,GAAQ;AACV,QAAI,CAACA,EAAQ,OAAM,IAAI,MAAM,+FAA+F;AAC5H,QAAI,CAACA,EAAO,KAAM,OAAM,IAAI,MAAM,0FAA0F;AAC5H,WAAIA,EAAO,SAAS,cAClB,KAAK,QAAQ,UAAUA,KAErBA,EAAO,SAAS,YAAYA,EAAO,OAAOA,EAAO,QAAQA,EAAO,WAClE,KAAK,QAAQ,SAASA,IAEpBA,EAAO,SAAS,uBAClB,KAAK,QAAQ,mBAAmBA,IAE9BA,EAAO,SAAS,iBAClB,KAAK,QAAQ,aAAaA,IAExBA,EAAO,SAAS,mBAClBD,GAAc,iBAAiBC,CAAM,GAEnCA,EAAO,SAAS,gBAClB,KAAK,QAAQ,YAAYA,IAEvBA,EAAO,SAAS,cAClB,KAAK,QAAQ,SAAS,KAAKA,CAAM,GAE5B;AAAA,EACT;AAAA,EACA,oBAAoBpM,GAAG;AACrB,QAAI,GAACA,KAAK,CAAC,KAAK,cACZ,GAAC,UAAU,KAAK,EAAE,QAAQA,CAAC,IAAI;AACnC,eAASmY,IAAK,GAAGA,IAAK,KAAK,UAAU,QAAQA,KAAM;AACjD,cAAMC,IAAY,KAAK,UAAUD,CAAE;AACnC,YAAI,GAAC,UAAU,KAAK,EAAE,QAAQC,CAAS,IAAI,OACvC,KAAK,MAAM,4BAA4BA,CAAS,GAAG;AACrD,eAAK,mBAAmBA;AACxB;AAAA,QACF;AAAA,MACF;AAAA,EACF;AAAA,EACA,eAAetM,GAAKrS,GAAU;AAC5B,QAAI4e,IAAS;AACb,SAAK,uBAAuBvM;AAC5B,UAAMiM,IAAW3Q,GAAK;AACtB,SAAK,KAAK,oBAAoB0E,CAAG;AACjC,UAAMwM,IAAc,CAAAtY,MAAK;AACvB,WAAK,WAAWA,GAChB,KAAK,YAAY,KAAK,SAAS,cAAc,mBAAmBA,CAAC,GACjE,KAAK,mBAAmB,QACxB,KAAK,oBAAoBA,CAAC;AAAA,IAC5B,GACMuY,IAAO,CAAC9B,GAAK,MAAM;AACvB,MAAI,KACF6B,EAAY,CAAC,GACb,KAAK,WAAW,eAAe,CAAC,GAChC,KAAK,uBAAuB,QAC5B,KAAK,KAAK,mBAAmB,CAAC,GAC9B,KAAK,OAAO,IAAI,mBAAmB,CAAC,KAEpC,KAAK,uBAAuB,QAE9BP,EAAS,QAAQ,WAAY;AAC3B,eAAOM,EAAO,EAAE,GAAG,SAAS;AAAA,MAC9B,CAAC,GACG5e,KAAUA,EAASgd,GAAK,WAAY;AACtC,eAAO4B,EAAO,EAAE,GAAG,SAAS;AAAA,MAC9B,CAAC;AAAA,IACH,GACMG,IAAS,CAAA/J,MAAQ;AACrB,MAAI,CAAC3C,KAAO,CAAC2C,KAAQ,KAAK,SAAS,qBAAkBA,IAAO,CAAA;AAC5D,YAAM,IAAItH,EAASsH,CAAI,IAAIA,IAAO,KAAK,SAAS,cAAc,sBAAsBA,CAAI;AACxF,MAAI,MACG,KAAK,YACR6J,EAAY,CAAC,GAEV,KAAK,WAAW,YAAU,KAAK,WAAW,eAAe,CAAC,GAC3D,KAAK,SAAS,oBAAoB,KAAK,SAAS,iBAAiB,qBAAmB,KAAK,SAAS,iBAAiB,kBAAkB,CAAC,IAE5I,KAAK,cAAc,GAAG,CAAA7B,MAAO;AAC3B,QAAA8B,EAAK9B,GAAK,CAAC;AAAA,MACb,CAAC;AAAA,IACH;AACA,WAAI,CAAC3K,KAAO,KAAK,SAAS,oBAAoB,CAAC,KAAK,SAAS,iBAAiB,QAC5E0M,EAAO,KAAK,SAAS,iBAAiB,OAAM,CAAE,IACrC,CAAC1M,KAAO,KAAK,SAAS,oBAAoB,KAAK,SAAS,iBAAiB,QAC9E,KAAK,SAAS,iBAAiB,OAAO,WAAW,IACnD,KAAK,SAAS,iBAAiB,OAAM,EAAG,KAAK0M,CAAM,IAEnD,KAAK,SAAS,iBAAiB,OAAOA,CAAM,IAG9CA,EAAO1M,CAAG,GAELiM;AAAA,EACT;AAAA,EACA,UAAUjM,GAAKD,GAAI4M,GAAW;AAC5B,QAAIC,IAAS;AACb,UAAMC,IAAS,SAAUpa,GAAK4Y,GAAM;AAClC,UAAIngB;AACJ,UAAI,OAAOmgB,KAAS,UAAU;AAC5B,iBAASvM,IAAQ,UAAU,QAAQsK,IAAO,IAAI,MAAMtK,IAAQ,IAAIA,IAAQ,IAAI,CAAC,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACxG,UAAAqK,EAAKrK,IAAQ,CAAC,IAAI,UAAUA,CAAK;AAEnC,QAAA7T,IAAU0hB,EAAO,QAAQ,iCAAiC,CAACna,GAAK4Y,CAAI,EAAE,OAAOjC,CAAI,CAAC;AAAA,MACpF;AACE,QAAAle,IAAU;AAAA,UACR,GAAGmgB;AAAA,QACb;AAEM,MAAAngB,EAAQ,MAAMA,EAAQ,OAAO2hB,EAAO,KACpC3hB,EAAQ,OAAOA,EAAQ,QAAQ2hB,EAAO,MACtC3hB,EAAQ,KAAKA,EAAQ,MAAM2hB,EAAO,IAC9B3hB,EAAQ,cAAc,OAAIA,EAAQ,YAAYA,EAAQ,aAAayhB,KAAaE,EAAO;AAC3F,YAAM7O,IAAe4O,EAAO,QAAQ,gBAAgB;AACpD,UAAIE;AACJ,aAAI5hB,EAAQ,aAAa,MAAM,QAAQuH,CAAG,IACxCqa,IAAYra,EAAI,IAAI,CAAA5B,MAAK,GAAG3F,EAAQ,SAAS,GAAG8S,CAAY,GAAGnN,CAAC,EAAE,IAElEic,IAAY5hB,EAAQ,YAAY,GAAGA,EAAQ,SAAS,GAAG8S,CAAY,GAAGvL,CAAG,KAAKA,GAEzEma,EAAO,EAAEE,GAAW5hB,CAAO;AAAA,IACpC;AACA,WAAImQ,EAAS2E,CAAG,IACd6M,EAAO,MAAM7M,IAEb6M,EAAO,OAAO7M,GAEhB6M,EAAO,KAAK9M,GACZ8M,EAAO,YAAYF,GACZE;AAAA,EACT;AAAA,EACA,IAAI;AACF,WAAO,KAAK,cAAc,KAAK,WAAW,UAAU,GAAG,SAAS;AAAA,EAClE;AAAA,EACA,SAAS;AACP,WAAO,KAAK,cAAc,KAAK,WAAW,OAAO,GAAG,SAAS;AAAA,EAC/D;AAAA,EACA,oBAAoB9M,GAAI;AACtB,SAAK,QAAQ,YAAYA;AAAA,EAC3B;AAAA,EACA,mBAAmBA,GAAI;AACrB,QAAI7U,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AAClF,QAAI,CAAC,KAAK;AACR,kBAAK,OAAO,KAAK,mDAAmD,KAAK,SAAS,GAC3E;AAET,QAAI,CAAC,KAAK,aAAa,CAAC,KAAK,UAAU;AACrC,kBAAK,OAAO,KAAK,8DAA8D,KAAK,SAAS,GACtF;AAET,UAAM8U,IAAM9U,EAAQ,OAAO,KAAK,oBAAoB,KAAK,UAAU,CAAC,GAC9D6hB,IAAc,KAAK,UAAU,KAAK,QAAQ,cAAc,IACxDC,IAAU,KAAK,UAAU,KAAK,UAAU,SAAS,CAAC;AACxD,QAAIhN,EAAI,kBAAkB,SAAU,QAAO;AAC3C,UAAMiN,IAAiB,CAAC/Y,GAAGE,MAAM;AAC/B,YAAM8Y,IAAY,KAAK,SAAS,iBAAiB,MAAM,GAAGhZ,CAAC,IAAIE,CAAC,EAAE;AAClE,aAAO8Y,MAAc,MAAMA,MAAc,KAAKA,MAAc;AAAA,IAC9D;AACA,QAAIhiB,EAAQ,UAAU;AACpB,YAAMiiB,IAAYjiB,EAAQ,SAAS,MAAM+hB,CAAc;AACvD,UAAIE,MAAc,OAAW,QAAOA;AAAA,IACtC;AAGA,WAFI,QAAK,kBAAkBnN,GAAKD,CAAE,KAC9B,CAAC,KAAK,SAAS,iBAAiB,WAAW,KAAK,QAAQ,aAAa,CAAC,KAAK,QAAQ,2BACnFkN,EAAejN,GAAKD,CAAE,MAAM,CAACgN,KAAeE,EAAeD,GAASjN,CAAE;AAAA,EAE5E;AAAA,EACA,eAAeA,GAAIpS,GAAU;AAC3B,UAAMse,IAAW3Q,GAAK;AACtB,WAAK,KAAK,QAAQ,MAIdD,EAAS0E,CAAE,MAAGA,IAAK,CAACA,CAAE,IAC1BA,EAAG,QAAQ,CAAA3L,MAAK;AACd,MAAI,KAAK,QAAQ,GAAG,QAAQA,CAAC,IAAI,KAAG,KAAK,QAAQ,GAAG,KAAKA,CAAC;AAAA,IAC5D,CAAC,GACD,KAAK,cAAc,CAAAuW,MAAO;AACxB,MAAAsB,EAAS,QAAO,GACZte,KAAUA,EAASgd,CAAG;AAAA,IAC5B,CAAC,GACMsB,MAXDte,KAAUA,EAAQ,GACf,QAAQ,QAAO;AAAA,EAW1B;AAAA,EACA,cAAcgV,GAAMhV,GAAU;AAC5B,UAAMse,IAAW3Q,GAAK;AACtB,IAAID,EAASsH,CAAI,MAAGA,IAAO,CAACA,CAAI;AAChC,UAAMyK,IAAY,KAAK,QAAQ,WAAW,CAAA,GACpCC,IAAU1K,EAAK,OAAO,CAAA3C,MAAOoN,EAAU,QAAQpN,CAAG,IAAI,KAAK,KAAK,SAAS,cAAc,gBAAgBA,CAAG,CAAC;AACjH,WAAKqN,EAAQ,UAIb,KAAK,QAAQ,UAAUD,EAAU,OAAOC,CAAO,GAC/C,KAAK,cAAc,CAAA1C,MAAO;AACxB,MAAAsB,EAAS,QAAO,GACZte,KAAUA,EAASgd,CAAG;AAAA,IAC5B,CAAC,GACMsB,MARDte,KAAUA,EAAQ,GACf,QAAQ,QAAO;AAAA,EAQ1B;AAAA,EACA,IAAIqS,GAAK;AAEP,QADKA,MAAKA,IAAM,KAAK,qBAAqB,KAAK,aAAa,KAAK,UAAU,SAAS,IAAI,KAAK,UAAU,CAAC,IAAI,KAAK,YAC7G,CAACA,EAAK,QAAO;AACjB,UAAMsN,IAAU,CAAC,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK,GACjbvH,IAAgB,KAAK,YAAY,KAAK,SAAS,iBAAiB,IAAIpB,GAAa2G,IAAK;AAC5F,WAAOgC,EAAQ,QAAQvH,EAAc,wBAAwB/F,CAAG,CAAC,IAAI,MAAMA,EAAI,YAAW,EAAG,QAAQ,OAAO,IAAI,IAAI,QAAQ;AAAA,EAC9H;AAAA,EACA,OAAO,iBAAiB;AACtB,QAAI9U,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EyC,IAAW,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI;AACrD,WAAO,IAAIie,GAAK1gB,GAASyC,CAAQ;AAAA,EACnC;AAAA,EACA,gBAAgB;AACd,QAAIzC,IAAU,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA,GAC9EyC,IAAW,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI8d;AACnF,UAAM8B,IAAoBriB,EAAQ;AAClC,IAAIqiB,KAAmB,OAAOriB,EAAQ;AACtC,UAAMsiB,IAAgB;AAAA,MACpB,GAAG,KAAK;AAAA,MACR,GAAGtiB;AAAA,MAED,SAAS;AAAA,IAEjB,GACUuiB,IAAQ,IAAI7B,GAAK4B,CAAa;AACpC,YAAItiB,EAAQ,UAAU,UAAaA,EAAQ,WAAW,YACpDuiB,EAAM,SAASA,EAAM,OAAO,MAAMviB,CAAO,IAErB,CAAC,SAAS,YAAY,UAAU,EACxC,QAAQ,CAAAiJ,MAAK;AACzB,MAAAsZ,EAAMtZ,CAAC,IAAI,KAAKA,CAAC;AAAA,IACnB,CAAC,GACDsZ,EAAM,WAAW;AAAA,MACf,GAAG,KAAK;AAAA,IACd,GACIA,EAAM,SAAS,QAAQ;AAAA,MACrB,oBAAoBA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,IAC7D,GACQF,MACFE,EAAM,QAAQ,IAAI3N,GAAc,KAAK,MAAM,MAAM0N,CAAa,GAC9DC,EAAM,SAAS,gBAAgBA,EAAM,QAEvCA,EAAM,aAAa,IAAI9M,GAAW8M,EAAM,UAAUD,CAAa,GAC/DC,EAAM,WAAW,GAAG,KAAK,SAAUhO,GAAO;AACxC,eAAST,IAAQ,UAAU,QAAQ7F,IAAO,IAAI,MAAM6F,IAAQ,IAAIA,IAAQ,IAAI,CAAC,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACxG,QAAA9F,EAAK8F,IAAQ,CAAC,IAAI,UAAUA,CAAK;AAEnC,MAAAwO,EAAM,KAAKhO,GAAO,GAAGtG,CAAI;AAAA,IAC3B,CAAC,GACDsU,EAAM,KAAKD,GAAe7f,CAAQ,GAClC8f,EAAM,WAAW,UAAUD,GAC3BC,EAAM,WAAW,iBAAiB,SAAS,QAAQ;AAAA,MACjD,oBAAoBA,EAAM,mBAAmB,KAAKA,CAAK;AAAA,IAC7D,GACWA;AAAA,EACT;AAAA,EACA,SAAS;AACP,WAAO;AAAA,MACL,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,UAAU,KAAK;AAAA,MACf,WAAW,KAAK;AAAA,MAChB,kBAAkB,KAAK;AAAA,IAC7B;AAAA,EACE;AACF;AACA,MAAMC,IAAW9B,GAAK,eAAc;AACpC8B,EAAS,iBAAiB9B,GAAK;AAE/B,MAAM+B,KAAiBD,EAAS;AACpBA,EAAS;AACRA,EAAS;AACAA,EAAS;AACPA,EAAS;AACrBA,EAAS;AACEA,EAAS;AACdA,EAAS;AACjBA,EAAS;AACJA,EAAS;AACIA,EAAS;AACVA,EAAS;AACbA,EAAS;AACVA,EAAS;;;wBCn0E/BE,KAAiB;AAAA,IACf,MAAQ;AAAA,IACR,MAAQ;AAAA,IACR,IAAM;AAAA,IACN,KAAO;AAAA,IACP,OAAS;AAAA,IACT,IAAM;AAAA,IACN,KAAO;AAAA,IACP,OAAS;AAAA,IACT,MAAQ;AAAA,IACR,MAAQ;AAAA,IACR,OAAS;AAAA,IACT,QAAU;AAAA,IACV,OAAS;AAAA,IACT,KAAO;AAAA;;;;ACnBoB,IAAIpZ,KAAE;AAAqD,SAASJ,GAAEA,GAAE;AAAC,MAAIG,IAAE,EAAC,MAAK,OAAM,MAAK,IAAG,aAAY,IAAG,OAAM,CAAA,GAAG,UAAS,CAAA,EAAE,GAAEvJ,IAAEoJ,EAAE,MAAM,qBAAqB;AAAE,MAAGpJ,MAAIuJ,EAAE,OAAKvJ,EAAE,CAAC,IAAG8I,GAAE9I,EAAE,CAAC,CAAC,KAASoJ,EAAE,OAAOA,EAAE,SAAO,CAAC,MAAzB,SAA8BG,EAAE,cAAY,KAAIA,EAAE,KAAK,WAAW,KAAK,IAAG;AAAC,QAAIuH,IAAE1H,EAAE,QAAQ,KAAQ;AAAE,WAAM,EAAC,MAAK,WAAU,SAAa0H,MAAL,KAAO1H,EAAE,MAAM,GAAE0H,CAAC,IAAE,GAAE;AAAA,EAAC;AAAC,WAAQnH,IAAE,IAAI,OAAOH,EAAC,GAAEZ,IAAE,OAAaA,IAAEe,EAAE,KAAKP,CAAC,OAAlB,OAAsB,KAAGR,EAAE,CAAC,EAAE,KAAI,EAAG,KAAGA,EAAE,CAAC,GAAE;AAAC,QAAIia,IAAEja,EAAE,CAAC,EAAE,KAAI,GAAGM,IAAE,CAAC2Z,GAAE,EAAE;AAAE,IAAAA,EAAE,QAAQ,GAAG,IAAE,OAAK3Z,IAAE2Z,EAAE,MAAM,GAAG,IAAGtZ,EAAE,MAAML,EAAE,CAAC,CAAC,IAAEA,EAAE,CAAC,GAAES,EAAE;AAAA,EAAW,MAAM,CAAAf,EAAE,CAAC,MAAIW,EAAE,MAAMX,EAAE,CAAC,CAAC,IAAEA,EAAE,CAAC,EAAE,OAAO,UAAU,GAAEA,EAAE,CAAC,EAAE,SAAO,CAAC;AAAG,SAAOW;AAAC;AAAC,IAAIA,KAAE,mDAAkDvJ,KAAE,SAAQ8Q,KAAE,uBAAO,OAAO,IAAI;AAAE,SAASnH,GAAEb,GAAEU,GAAE;AAAC,UAAOA,EAAE,MAAI;AAAA,IAAE,KAAI;AAAO,aAAOV,IAAEU,EAAE;AAAA,IAAQ,KAAI;AAAM,aAAOV,KAAG,MAAIU,EAAE,QAAMA,EAAE,QAAM,SAASV,GAAE;AAAC,YAAIU,IAAE,CAAA;AAAG,iBAAQJ,KAAKN,EAAE,CAAAU,EAAE,KAAKJ,IAAE,OAAKN,EAAEM,CAAC,IAAE,GAAG;AAAE,eAAOI,EAAE,SAAO,MAAIA,EAAE,KAAK,GAAG,IAAE;AAAA,MAAE,EAAEA,EAAE,KAAK,IAAE,OAAKA,EAAE,cAAY,OAAK,MAAKA,EAAE,cAAYV,IAAEA,IAAEU,EAAE,SAAS,OAAOG,IAAE,EAAE,IAAE,OAAKH,EAAE,OAAK;AAAA,IAAI,KAAI;AAAU,aAAOV,IAAE,SAAUU,EAAE,UAAQ;AAAA,EAAQ;AAAC;AAAC,IAAIZ,KAAE,EAAC,OAAM,SAASE,GAAEU,GAAE;AAAC,EAAAA,MAAIA,IAAE,CAAA,IAAIA,EAAE,eAAaA,EAAE,aAAWsH;AAAG,MAAInH,GAAEf,IAAE,CAAA,GAAGia,IAAE,CAAA,GAAG3Z,IAAE,IAAGC,IAAE;AAAG,MAAOL,EAAE,QAAQ,GAAG,MAAjB,GAAmB;AAAC,QAAIc,IAAEd,EAAE,QAAQ,GAAG;AAAE,IAAAF,EAAE,KAAK,EAAC,MAAK,QAAO,SAAagB,MAAL,KAAOd,IAAEA,EAAE,UAAU,GAAEc,CAAC,EAAC,CAAC;AAAA,EAAC;AAAC,SAAOd,EAAE,QAAQS,IAAE,SAASA,GAAEuH,GAAE;AAAC,QAAG3H,GAAE;AAAC,UAAGI,MAAI,OAAKI,EAAE,OAAK,IAAI;AAAO,MAAAR,IAAE;AAAA,IAAE;AAAC,QAAIS,GAAEb,IAAQQ,EAAE,OAAO,CAAC,MAAhB,KAAkBN,IAAEM,EAAE,WAAW,MAAS,GAAE,IAAEuH,IAAEvH,EAAE,QAAOV,IAAEC,EAAE,OAAO,CAAC;AAAE,QAAGG,GAAE;AAAC,UAAIQ,IAAEL,GAAEG,CAAC;AAAE,aAAOL,IAAE,KAAGN,EAAE,KAAKa,CAAC,GAAEb,OAAKgB,IAAEiZ,EAAE3Z,CAAC,GAAG,SAAS,KAAKO,CAAC,GAAEb;AAAA,IAAE;AAAC,QAAGG,MAAIG,MAAaS,IAAEP,GAAEG,CAAC,GAAG,SAAjB,SAAuBC,EAAE,WAAWG,EAAE,IAAI,MAAIA,EAAE,OAAK,aAAYR,IAAE,KAAIQ,EAAE,eAAaR,KAAG,CAACN,KAASA,MAAN,OAASc,EAAE,SAAS,KAAK,EAAC,MAAK,QAAO,SAAQb,EAAE,MAAM,GAAEA,EAAE,QAAQ,KAAI,CAAC,CAAC,EAAC,CAAC,GAAMI,MAAJ,KAAON,EAAE,KAAKe,CAAC,IAAGC,IAAEiZ,EAAE3Z,IAAE,CAAC,MAAIU,EAAE,SAAS,KAAKD,CAAC,GAAEkZ,EAAE3Z,CAAC,IAAES,KAAI,CAACZ,KAAGY,EAAE,iBAAeT,IAAE,OAAKS,EAAE,eAAaA,EAAE,SAAOJ,EAAE,MAAM,GAAE,EAAE,OAAKL,KAAIS,IAAOT,MAAL,KAAON,IAAEia,EAAE3Z,CAAC,IAAG,CAACC,KAASN,MAAN,OAASA,IAAG;AAAC,MAAAe,IAAOV,MAAL,KAAON,IAAEia,EAAE3Z,CAAC,EAAE;AAAS,UAAIpD,IAAEgD,EAAE,QAAQ,KAAI,CAAC,GAAEE,IAAEF,EAAE,MAAM,GAAOhD,MAAL,KAAO,SAAOA,CAAC;AAAE,MAAA9F,GAAE,KAAKgJ,CAAC,MAAIA,IAAE,OAAMlD,IAAE,MAAIoD,IAAEU,EAAE,UAAQ,KAASZ,MAAN,QAAUY,EAAE,KAAK,EAAC,MAAK,QAAO,SAAQZ,EAAC,CAAC;AAAA,IAAC;AAAA,EAAC,CAAC,GAAEJ;AAAC,GAAE,WAAU,SAASE,GAAE;AAAC,SAAOA,EAAE,OAAO,SAAS,GAAEU,GAAE;AAAC,WAAO,IAAEG,GAAE,IAAGH,CAAC;AAAA,EAAC,GAAE,EAAE;AAAC,EAAC;ACA5gE,MAAMsZ,KAAO,CAACC,GAAMvP,GAAMwP,GAAK5E,MAAS;AAC7C,QAAMjQ,IAAO,CAAC6U,GAAK;AAAA,IACjB,MAAAxP;AAAA,IACA,GAAI4K,KAAQ,CAAA;AAAA,EAChB,CAAG;AACD,MAAI2E,GAAM,UAAU,QAAQ;AAC1B,WAAOA,EAAK,SAAS,OAAO,QAAQ5U,GAAM,QAAQ,mBAAmB,EAAI;AAE3E,EAAIkC,EAASlC,EAAK,CAAC,CAAC,MAAGA,EAAK,CAAC,IAAI,mBAAmBA,EAAK,CAAC,CAAC,KACvD4U,GAAM,UAAU,QAAQ,OAC1BA,EAAK,SAAS,OAAO,KAAK,GAAG5U,CAAI,IACxB,SAAS,QAClB,QAAQ,KAAK,GAAGA,CAAI;AAExB,GACM8U,KAAgB,CAAA,GACTC,KAAW,CAACH,GAAMvP,GAAMwP,GAAK5E,MAAS;AACjD,EAAI/N,EAAS2S,CAAG,KAAKC,GAAcD,CAAG,MAClC3S,EAAS2S,CAAG,MAAGC,GAAcD,CAAG,IAAI,oBAAI,KAAI,IAChDF,GAAKC,GAAMvP,GAAMwP,GAAK5E,CAAI;AAC5B,GACM+E,KAAY,CAACJ,GAAMK,MAAO,MAAM;AACpC,MAAIL,EAAK;AACP,IAAAK,EAAE;AAAA,OACG;AACL,UAAMC,IAAc,MAAM;AACxB,iBAAW,MAAM;AACf,QAAAN,EAAK,IAAI,eAAeM,CAAW;AAAA,MACrC,GAAG,CAAC,GACJD,EAAE;AAAA,IACJ;AACA,IAAAL,EAAK,GAAG,eAAeM,CAAW;AAAA,EACpC;AACF,GACaC,KAAiB,CAACP,GAAMhO,GAAIqO,MAAO;AAC9C,EAAAL,EAAK,eAAehO,GAAIoO,GAAUJ,GAAMK,CAAE,CAAC;AAC7C,GACaG,KAAgB,CAACR,GAAM/N,GAAKD,GAAIqO,MAAO;AAElD,MADI/S,EAAS0E,CAAE,MAAGA,IAAK,CAACA,CAAE,IACtBgO,EAAK,QAAQ,WAAWA,EAAK,QAAQ,QAAQ,QAAQ/N,CAAG,IAAI,GAAI,QAAOsO,GAAeP,GAAMhO,GAAIqO,CAAE;AACtG,EAAArO,EAAG,QAAQ,CAAA3L,MAAK;AACd,IAAI2Z,EAAK,QAAQ,GAAG,QAAQ3Z,CAAC,IAAI,KAAG2Z,EAAK,QAAQ,GAAG,KAAK3Z,CAAC;AAAA,EAC5D,CAAC,GACD2Z,EAAK,cAAc/N,GAAKmO,GAAUJ,GAAMK,CAAE,CAAC;AAC7C,GACaI,KAAqB,CAACzO,GAAIgO,GAAM7iB,IAAU,CAAA,MACjD,CAAC6iB,EAAK,aAAa,CAACA,EAAK,UAAU,UACrCG,GAASH,GAAM,gBAAgB,0CAA0C;AAAA,EACvE,WAAWA,EAAK;AACtB,CAAK,GACM,MAEFA,EAAK,mBAAmBhO,GAAI;AAAA,EACjC,KAAK7U,EAAQ;AAAA,EACb,UAAU,CAACujB,GAAcxB,MAAmB;AAC1C,QAAI/hB,EAAQ,UAAU,QAAQ,kBAAkB,IAAI,MAAMujB,EAAa,SAAS,iBAAiB,WAAWA,EAAa,wBAAwB,CAACxB,EAAewB,EAAa,sBAAsB1O,CAAE,EAAG,QAAO;AAAA,EAClN;AACJ,CAAG,GAGU1E,IAAW,CAAAxC,MAAO,OAAOA,KAAQ,UACjC6V,IAAW,CAAA7V,MAAO,OAAOA,KAAQ,YAAYA,MAAQ,MC7D5D8V,KAAkB,qGAClBC,KAAe;AAAA,EACnB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS;AACX,GACMC,KAAqB,CAAA1a,MAAKya,GAAaza,CAAC,GACjC2a,KAAW,CAAAC,MAAQA,EAAK,QAAQJ,IAAiBE,EAAkB;ACvBhF,IAAIG,KAAiB;AAAA,EACnB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,4BAA4B;AAAA,EAC5B,oBAAoB;AAAA,EACpB,4BAA4B,CAAC,MAAM,UAAU,KAAK,GAAG;AAAA,EACrD,aAAa;AAAA,EACb,UAAAF;AACF;AACO,MAAMG,KAAc,CAAC/jB,IAAU,OAAO;AAC3C,EAAA8jB,KAAiB;AAAA,IACf,GAAGA;AAAA,IACH,GAAG9jB;AAAA,EACP;AACA,GACagkB,KAAc,MAAMF;ACjBjC,IAAIP;AACG,MAAMU,KAAU,CAAAzB,MAAY;AACjC,EAAAe,KAAef;AACjB,GACa0B,KAAU,MAAMX,ICCvBY,KAAc,CAACphB,GAAMqhB,MAAgB;AACzC,MAAI,CAACrhB,EAAM,QAAO;AAClB,QAAMshB,IAAOthB,EAAK,OAAO,YAAYA,EAAK;AAC1C,SAAIqhB,IAAoBC,EAAK,SAAS,IAC/B,CAAC,CAACA;AACX,GACMC,KAAc,CAAAvhB,MAAQ;AAC1B,MAAI,CAACA,EAAM,QAAO,CAAA;AAClB,QAAMK,IAAWL,EAAK,OAAO,YAAYA,EAAK;AAC9C,SAAOA,EAAK,OAAO,oBAAoBwhB,EAAWnhB,CAAQ,IAAIA;AAChE,GACMohB,KAAwB,CAAAphB,MAAY,MAAM,QAAQA,CAAQ,KAAKA,EAAS,MAAMqhB,EAAc,GAC5FF,IAAa,CAAA3S,MAAQ,MAAM,QAAQA,CAAI,IAAIA,IAAO,CAACA,CAAI,GACvD8S,KAAa,CAAC1S,GAAQD,MAAW;AACrC,QAAM4S,IAAY;AAAA,IAChB,GAAG5S;AAAA,EACP;AACE,SAAA4S,EAAU,QAAQ,OAAO,OAAO3S,EAAO,OAAOD,EAAO,KAAK,GACnD4S;AACT,GACaC,KAAgB,CAACxhB,GAAUyhB,GAAahC,GAAMiC,MAAY;AACrE,MAAI,CAAC1hB,EAAU,QAAO;AACtB,MAAI2hB,IAAa;AACjB,QAAMC,IAAgBT,EAAWnhB,CAAQ,GACnC6hB,IAAYJ,GAAa,6BAA6BA,EAAY,8BAA8B,CAAA,IAAK,CAAA;AAC3G,SAAAG,EAAc,QAAQ,CAACE,GAAOC,MAAe;AAC3C,QAAIhV,EAAS+U,CAAK,GAAG;AACnB,MAAAH,KAAc,GAAGG,CAAK;AACtB;AAAA,IACF;AACA,QAAIT,GAAeS,CAAK,GAAG;AACzB,YAAM;AAAA,QACJ,OAAA/hB;AAAA,QACA,MAAAD;AAAA,MACR,IAAUgiB,GACEE,IAAkB,OAAO,KAAKjiB,CAAK,EAAE,QACrCkiB,IAAkBJ,EAAU,QAAQ/hB,CAAI,IAAI,IAC5CoiB,IAAgBniB,EAAM;AAC5B,UAAI,CAACmiB,KAAiBD,KAAmB,CAACD,GAAiB;AACzD,QAAAL,KAAc,IAAI7hB,CAAI;AACtB;AAAA,MACF;AACA,UAAI,CAACoiB,MAAkB,CAACD,KAAmBD,MAAoBjiB,EAAM,mBAAmB;AACtF,QAAA4hB,KAAc,IAAII,CAAU,MAAMA,CAAU;AAC5C;AAAA,MACF;AACA,UAAIE,KAAmBD,MAAoB,KAAKjV,EAASmV,CAAa,GAAG;AACvE,QAAAP,KAAc,IAAI7hB,CAAI,IAAIoiB,CAAa,KAAKpiB,CAAI;AAChD;AAAA,MACF;AACA,YAAMqiB,IAAUX,GAAcU,GAAeT,GAAahC,GAAMiC,CAAO;AACvE,MAAAC,KAAc,IAAII,CAAU,IAAII,CAAO,KAAKJ,CAAU;AACtD;AAAA,IACF;AACA,QAAID,MAAU,MAAM;AAClB,MAAAtC,GAAKC,GAAM,oBAAoB,mCAAmC;AAAA,QAChE,SAAAiC;AAAA,MACR,CAAO;AACD;AAAA,IACF;AACA,QAAItB,EAAS0B,CAAK,GAAG;AACnB,YAAM;AAAA,QACJ,QAAA1G;AAAA,QACA,GAAG+D;AAAA,MACX,IAAU2C,GACEha,IAAO,OAAO,KAAKqX,CAAK;AAC9B,UAAIrX,EAAK,WAAW,GAAG;AACrB,cAAM5J,IAAQkd,IAAS,GAAGtT,EAAK,CAAC,CAAC,KAAKsT,CAAM,KAAKtT,EAAK,CAAC;AACvD,QAAA6Z,KAAc,KAAKzjB,CAAK;AACxB;AAAA,MACF;AACA,MAAAshB,GAAKC,GAAM,qBAAqB,0FAA0F;AAAA,QACxH,SAAAiC;AAAA,QACA,OAAAI;AAAA,MACR,CAAO;AACD;AAAA,IACF;AACA,IAAAtC,GAAKC,GAAM,qBAAqB,0GAA0G;AAAA,MACxI,SAAAiC;AAAA,MACA,OAAAI;AAAA,IACN,CAAK;AAAA,EACH,CAAC,GACMH;AACT,GACMS,KAAc,CAACpiB,GAAUqiB,GAAc5C,GAAMgC,GAAaa,GAAeC,MAAmB;AAChG,MAAIF,MAAiB,GAAI,QAAO,CAAA;AAChC,QAAMR,IAAYJ,EAAY,8BAA8B,CAAA,GACtDe,IAAgCH,KAAgB,IAAI,OAAOR,EAAU,IAAI,CAAAY,MAAQ,IAAIA,CAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,KAAKJ,CAAY;AAC/H,MAAI,CAACriB,KAAY,CAACwiB,KAAiC,CAACD,EAAgB,QAAO,CAACF,CAAY;AACxF,QAAM7T,IAAO,CAAA,GACPkU,IAAU,CAAAC,MAAU;AAExB,IADsBxB,EAAWwB,CAAM,EACzB,QAAQ,CAAAb,MAAS;AAC7B,MAAI/U,EAAS+U,CAAK,MACdf,GAAYe,CAAK,IAAGY,EAAQxB,GAAYY,CAAK,CAAC,IAAW1B,EAAS0B,CAAK,KAAK,CAACT,GAAeS,CAAK,KAAG,OAAO,OAAOtT,GAAMsT,CAAK;AAAA,IACnI,CAAC;AAAA,EACH;AACA,EAAAY,EAAQ1iB,CAAQ;AAChB,QAAM4iB,IAAMC,GAAK,MAAM,MAAMR,CAAY,MAAM,GACzCtF,IAAO;AAAA,IACX,GAAGvO;AAAA,IACH,GAAG8T;AAAA,EACP,GACQQ,IAAc,CAAChB,GAAOniB,GAAMojB,MAAkB;AAClD,UAAMJ,IAASzB,GAAYY,CAAK,GAC1BkB,IAAiBC,EAAON,GAAQhjB,EAAK,UAAUojB,CAAa;AAClE,WAAO3B,GAAsBuB,CAAM,KAAKK,EAAe,WAAW,KAAKlB,EAAM,OAAO,oBAAoBa,IAASK;AAAA,EACnH,GACME,IAAoB,CAACpB,GAAOqB,GAAO5H,GAAK7e,GAAG0mB,MAAW;AAC1D,IAAItB,EAAM,SACRA,EAAM,WAAWqB,GACjB5H,EAAI,KAAK8H,GAAavB,GAAO;AAAA,MAC3B,KAAKplB;AAAA,IACb,GAAS0mB,IAAS,SAAYD,CAAK,CAAC,KAE9B5H,EAAI,KAAK,GAAG+H,GAAS,IAAI,CAACxB,CAAK,GAAG,CAAAxc,MAAK;AACrC,YAAMvF,IAAQ;AAAA,QACZ,GAAGuF,EAAE;AAAA,MACf;AACQ,oBAAOvF,EAAM,mBACNwjB,EAAcje,EAAE,MAAM;AAAA,QAC3B,GAAGvF;AAAA,QACH,KAAKrD;AAAA,QACL,KAAK4I,EAAE;AAAA,MACjB,GAAW8d,IAAS,OAAOD,CAAK;AAAA,IAC1B,CAAC,CAAC;AAAA,EAEN,GACMF,IAAS,CAACO,GAAWC,GAASV,MAAkB;AACpD,UAAMW,IAAavC,EAAWqC,CAAS;AAEvC,WADiBrC,EAAWsC,CAAO,EACnB,OAAO,CAAClI,GAAK5b,GAAMjD,MAAM;AACvC,YAAMinB,IAAqBhkB,EAAK,WAAW,CAAC,GAAG,WAAW8f,EAAK,SAAS,aAAa,YAAY9f,EAAK,SAAS,CAAC,EAAE,SAASod,GAAM0C,EAAK,QAAQ;AAC9I,UAAI9f,EAAK,SAAS,OAAO;AACvB,YAAIikB,IAAMF,EAAW,SAAS/jB,EAAK,MAAM,EAAE,CAAC;AAC5C,QAAIojB,EAAc,WAAW,KAAK,CAACa,MAAKA,IAAMb,EAAc,CAAC,EAAEpjB,EAAK,IAAI,IACnEikB,MAAKA,IAAM,CAAA;AAChB,cAAM9B,IAAQ,OAAO,KAAKniB,EAAK,KAAK,EAAE,WAAW,IAAI2hB,GAAW;AAAA,UAC9D,OAAO3hB,EAAK;AAAA,QACtB,GAAWikB,CAAG,IAAIA,GACJC,IAAYxC,GAAeS,CAAK,GAChCgC,KAAiCD,KAAa9C,GAAYphB,GAAM,EAAI,KAAK,CAACA,EAAK,aAC/EokB,KAAuBvB,KAAiCpC,EAAS0B,CAAK,KAAKA,EAAM,SAAS,CAAC+B,GAC3FG,IAAmB5D,EAASpgB,CAAQ,KAAK,OAAO,eAAe,KAAKA,GAAUL,EAAK,IAAI;AAC7F,YAAIoN,EAAS+U,CAAK,GAAG;AACnB,gBAAM5jB,IAAQuhB,EAAK,SAAS,aAAa,YAAYqC,GAAO/E,GAAM0C,EAAK,QAAQ;AAC/E,UAAAlE,EAAI,KAAKrd,CAAK;AAAA,QAChB,WAAW6iB,GAAYe,CAAK,KAAKgC,IAAgC;AAC/D,gBAAMX,IAAQL,EAAYhB,GAAOniB,GAAMojB,CAAa;AACpD,UAAAG,EAAkBpB,GAAOqB,GAAO5H,GAAK7e,CAAC;AAAA,QACxC,WAAWqnB,IAAsB;AAC/B,gBAAMZ,IAAQF,EAAOS,GAAY/jB,EAAK,UAAUojB,CAAa;AAC7D,UAAAG,EAAkBpB,GAAOqB,GAAO5H,GAAK7e,CAAC;AAAA,QACxC,WAAW,OAAO,MAAM,WAAWiD,EAAK,IAAI,CAAC;AAC3C,cAAIqkB,GAAkB;AACpB,kBAAMb,IAAQL,EAAYhB,GAAOniB,GAAMojB,CAAa;AACpD,YAAAG,EAAkBpB,GAAOqB,GAAO5H,GAAK7e,GAAGiD,EAAK,WAAW;AAAA,UAC1D,WAAW8hB,EAAY,8BAA8BI,EAAU,QAAQliB,EAAK,IAAI,IAAI;AAClF,gBAAIA,EAAK;AACP,cAAA4b,EAAI,KAAKgI,EAAc5jB,EAAK,MAAM;AAAA,gBAChC,KAAK,GAAGA,EAAK,IAAI,IAAIjD,CAAC;AAAA,cACtC,CAAe,CAAC;AAAA,iBACG;AACL,oBAAMymB,IAAQF,EAAOS,GAAY/jB,EAAK,UAAUojB,CAAa;AAC7D,cAAAxH,EAAI,KAAKgI,EAAc5jB,EAAK,MAAM;AAAA,gBAChC,KAAK,GAAGA,EAAK,IAAI,IAAIjD,CAAC;AAAA,cACtC,GAAiBymB,CAAK,CAAC;AAAA,YACX;AAAA,mBACSxjB,EAAK;AACd,YAAA4b,EAAI,KAAK,IAAI5b,EAAK,IAAI,KAAK;AAAA,eACtB;AACL,kBAAMwjB,IAAQF,EAAOS,GAAY/jB,EAAK,UAAUojB,CAAa;AAC7D,YAAAxH,EAAI,KAAK,IAAI5b,EAAK,IAAI,IAAIwjB,CAAK,KAAKxjB,EAAK,IAAI,GAAG;AAAA,UAClD;AAAA,iBACSygB,EAAS0B,CAAK,KAAK,CAAC+B,GAAW;AACxC,gBAAM1B,IAAUxiB,EAAK,SAAS,CAAC,IAAIgkB,IAAqB;AACxD,UAAIxB,KAAS5G,EAAI,KAAK4G,CAAO;AAAA,QAC/B;AACE,UAAAe,EAAkBpB,GAAO6B,GAAoBpI,GAAK7e,GAAGiD,EAAK,SAAS,WAAW,KAAK,CAACgkB,CAAkB;AAAA,MAE1G,WAAWhkB,EAAK,SAAS,QAAQ;AAC/B,cAAMskB,IAAgBxC,EAAY,oBAC5BU,IAAUI,IAAiBd,EAAY,SAAShC,EAAK,SAAS,aAAa,YAAY9f,EAAK,SAASod,GAAM0C,EAAK,QAAQ,CAAC,IAAIA,EAAK,SAAS,aAAa,YAAY9f,EAAK,SAASod,GAAM0C,EAAK,QAAQ;AAC3M,QAAIwE,IACF1I,EAAI,KAAKgI,EAAcU,GAAe;AAAA,UACpC,KAAK,GAAGtkB,EAAK,IAAI,IAAIjD,CAAC;AAAA,QAClC,GAAaylB,CAAO,CAAC,IAEX5G,EAAI,KAAK4G,CAAO;AAAA,MAEpB;AACA,aAAO5G;AAAA,IACT,GAAG,CAAA,CAAE;AAAA,EACP,GACMlR,IAAS4Y,EAAO,CAAC;AAAA,IACrB,OAAO;AAAA,IACP,UAAUjjB,KAAY,CAAA;AAAA,EAC1B,CAAG,GAAG4iB,GAAKzB,EAAWnhB,KAAY,CAAA,CAAE,CAAC;AACnC,SAAOkhB,GAAY7W,EAAO,CAAC,CAAC;AAC9B,GACM6Z,KAAoB,CAAChd,GAAWtI,GAAOulB,MAAgB;AAC3D,QAAMC,IAAeld,EAAU,OAAOtI,GAChCylB,IAAOhB,GAAanc,GAAW;AAAA,IACnC,KAAKkd;AAAA,EACT,CAAG;AACD,MAAI,CAACC,EAAK,SAAS,CAACA,EAAK,MAAM,YAAYF,EAAY,QAAQ,GAAGvlB,CAAK,IAAI,IAAI,KAAKulB,EAAY,QAAQ,GAAGvlB,CAAK,KAAK,IAAI;AACvH,WAAOylB;AAET,WAASC,IAAgB;AACvB,WAAOf,EAAcgB,IAAU,MAAMF,CAAI;AAAA,EAC3C;AACA,SAAOd,EAAce,GAAe;AAAA,IAClC,KAAKF;AAAA,EACT,CAAG;AACH,GACMI,KAA0B,CAACC,GAAYN,MAAgBM,EAAW,IAAI,CAACnf,GAAG1G,MAAUslB,GAAkB5e,GAAG1G,GAAOulB,CAAW,CAAC,GAC5HO,KAA2B,CAACD,GAAYN,MAAgB;AAC5D,QAAMQ,IAAe,CAAA;AACrB,gBAAO,KAAKF,CAAU,EAAE,QAAQ,CAAAnf,MAAK;AACnC,WAAO,OAAOqf,GAAc;AAAA,MAC1B,CAACrf,CAAC,GAAG4e,GAAkBO,EAAWnf,CAAC,GAAGA,GAAG6e,CAAW;AAAA,IAC1D,CAAK;AAAA,EACH,CAAC,GACMQ;AACT,GACMC,KAAqB,CAACH,GAAYN,GAAa1E,GAAMiC,MACpD+C,IACD,MAAM,QAAQA,CAAU,IACnBD,GAAwBC,GAAYN,CAAW,IAEpD/D,EAASqE,CAAU,IACdC,GAAyBD,GAAYN,CAAW,KAEzDvE,GAASH,GAAM,4BAA4B,0DAA0D;AAAA,EACnG,SAAAiC;AACJ,CAAG,GACM,QAViB;AAYnB,SAASmD,GAAM;AAAA,EACpB,UAAA7kB;AAAA,EACA,OAAAe;AAAA,EACA,QAAAlB;AAAA,EACA,SAAA6hB;AAAA,EACA,SAAAoD;AAAA,EACA,UAAAC,IAAW,CAAA;AAAA,EACX,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAR;AAAA,EACA,IAAAhT;AAAA,EACA,MAAMyT;AAAA,EACN,GAAGC;AAAA,EACH,gBAAA5C;AAAA,EACA,GAAG6C;AACL,GAAG;AACD,QAAM3F,IAAOyF,KAAiBpE,GAAO;AACrC,MAAI,CAACrB;AACH,WAAAG,GAASH,GAAM,uBAAuB,2EAA2E;AAAA,MAC/G,SAAAiC;AAAA,IACN,CAAK,GACM1hB;AAET,QAAMkG,IAAIif,KAAc1F,EAAK,EAAE,KAAKA,CAAI,MAAM,CAAAld,OAAKA,KAC7C8iB,IAAsB;AAAA,IAC1B,GAAGzE,GAAW;AAAA,IACd,GAAGnB,EAAK,SAAS;AAAA,EACrB;AACE,MAAIjN,IAAaf,KAAMvL,EAAE,MAAMuZ,EAAK,SAAS;AAC7C,EAAAjN,IAAazF,EAASyF,CAAU,IAAI,CAACA,CAAU,IAAIA,KAAc,CAAC,aAAa;AAC/E,QAAM8S,IAAe9D,GAAcxhB,GAAUqlB,GAAqB5F,GAAMiC,CAAO,GACzEzN,IAAegR,KAAYK,KAAgBD,EAAoB,uBAAuB3D,GACtF;AAAA,IACJ,cAAA6D;AAAA,EACJ,IAAMF,GACElhB,IAAMud,MAAY6D,IAAeA,EAAaD,KAAgBrR,CAAY,IAAIqR,KAAgBrR;AACpG,EAAIwL,EAAK,SAAS,eAAe,qBAC/BuF,IAASA,KAAU,OAAO,KAAKA,CAAM,EAAE,SAAS,IAAI;AAAA,IAClD,GAAGA;AAAA,IACH,GAAGvF,EAAK,QAAQ,cAAc;AAAA,EACpC,IAAQ;AAAA,IACF,GAAGA,EAAK,QAAQ,cAAc;AAAA,EACpC;AAEE,QAAM+F,IAAwBR,KAAUjkB,MAAU,UAAa,CAAC0e,EAAK,SAAS,eAAe,gBAAgB,CAACzf,IAAW+kB,EAAS,gBAAgB;AAAA,IAChJ,eAAe;AAAA,MACb,GAAGA,EAAS;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,IACd;AAAA,EACA,GACQzC,IAAgB;AAAA,IACpB,GAAGyC;AAAA,IACH,SAASD,KAAWC,EAAS;AAAA,IAC7B,OAAAhkB;AAAA,IACA,GAAGikB;AAAA,IACH,GAAGQ;AAAA,IACH,cAAAvR;AAAA,IACA,IAAIzB;AAAA,EACR,GACQ2R,IAAchgB,IAAM+B,EAAE/B,GAAKme,CAAa,IAAIrO,GAC5CwR,IAAsBb,GAAmBH,GAAYN,GAAa1E,GAAMiC,CAAO,GAC/ES,IAAUC,GAAYqD,KAAuBzlB,GAAUmkB,GAAa1E,GAAM4F,GAAqB/C,GAAeC,CAAc,GAC5HmD,IAAc7lB,KAAUwlB,EAAoB;AAClD,SAAOK,IAAcnC,EAAcmC,GAAaN,GAAiBjD,CAAO,IAAIA;AAC9E;AClTO,MAAMwD,KAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,KAAKvG,GAAU;AACb,IAAAuB,GAAYvB,EAAS,QAAQ,KAAK,GAClCyB,GAAQzB,CAAQ;AAAA,EAClB;AACF,GCHawG,KAAcC,GAAa;AACjC,MAAMC,GAAiB;AAAA,EAC5B,cAAc;AACZ,SAAK,iBAAiB,CAAA;AAAA,EACxB;AAAA,EACA,kBAAkBtT,GAAY;AAC5B,IAAAA,EAAW,QAAQ,CAAAf,MAAM;AACvB,MAAK,KAAK,eAAeA,CAAE,MAAG,KAAK,eAAeA,CAAE,IAAI;AAAA,IAC1D,CAAC;AAAA,EACH;AAAA,EACA,oBAAoB;AAClB,WAAO,OAAO,KAAK,KAAK,cAAc;AAAA,EACxC;AACF;ACdO,SAASoT,GAAM;AAAA,EACpB,UAAA7kB;AAAA,EACA,OAAAe;AAAA,EACA,QAAAlB;AAAA,EACA,SAAA6hB;AAAA,EACA,SAAAoD;AAAA,EACA,UAAAC,IAAW,CAAA;AAAA,EACX,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAR;AAAA,EACA,IAAAhT;AAAA,EACA,MAAMyT;AAAA,EACN,GAAGC;AAAA,EACH,gBAAA5C;AAAA,EACA,GAAG6C;AACL,GAAG;AACD,QAAM;AAAA,IACJ,MAAMW;AAAA,IACN,WAAWC;AAAA,EACf,IAAMja,GAAW6Z,EAAW,KAAK,CAAA,GACzBnG,IAAOyF,KAAiBa,KAAmBjF,GAAO,GAClD5a,IAAIif,KAAc1F,GAAM,EAAE,KAAKA,CAAI;AACzC,SAAOwG,GAAoB;AAAA,IACzB,UAAAjmB;AAAA,IACA,OAAAe;AAAA,IACA,QAAAlB;AAAA,IACA,SAAA6hB;AAAA,IACA,SAAAoD;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAR;AAAA,IACA,IAAIhT,KAAMvL,GAAG,MAAM8f,KAAwBvG,GAAM,SAAS;AAAA,IAC1D,MAAAA;AAAA,IACA,GAAG0F;AAAA,IACH,gBAAA5C;AAAA,IACA,GAAG6C;AAAA,EACP,CAAG;AACH;ACvCA,MAAMc,KAAc,CAAChoB,GAAOioB,MAAW;AACrC,QAAMra,IAAMsa,GAAM;AAClB,SAAAC,GAAU,MAAM;AACd,IAAAva,EAAI,UAAiC5N;AAAA,EACvC,GAAG,CAACA,GAAOioB,CAAM,CAAC,GACXra,EAAI;AACb,GACMwa,KAAa,CAAC7G,GAAM/K,GAAU5B,GAAWuL,MAAcoB,EAAK,UAAU/K,GAAU5B,GAAWuL,CAAS,GACpGkI,KAAe,CAAC9G,GAAM/K,GAAU5B,GAAWuL,MAAcmI,GAAYF,GAAW7G,GAAM/K,GAAU5B,GAAWuL,CAAS,GAAG,CAACoB,GAAM/K,GAAU5B,GAAWuL,CAAS,CAAC,GACtJoI,KAAiB,CAAChV,GAAI1R,IAAQ,OAAO;AAChD,QAAM;AAAA,IACJ,MAAMmlB;AAAA,EACV,IAAMnlB,GACE;AAAA,IACJ,MAAMgmB;AAAA,IACN,WAAWC;AAAA,EACf,IAAMja,GAAW6Z,EAAW,KAAK,CAAA,GACzBnG,IAAOyF,KAAiBa,KAAmBjF,GAAO;AAExD,MADIrB,KAAQ,CAACA,EAAK,qBAAkBA,EAAK,mBAAmB,IAAIqG,GAAgB,IAC5E,CAACrG,GAAM;AACT,IAAAG,GAASH,GAAM,uBAAuB,wFAAwF;AAC9H,UAAMiH,IAAY,CAACnkB,GAAGokB,MAChB5Z,EAAS4Z,CAAkB,IAAUA,IACrCvG,EAASuG,CAAkB,KAAK5Z,EAAS4Z,EAAmB,YAAY,IAAUA,EAAmB,eAClG,MAAM,QAAQpkB,CAAC,IAAIA,EAAEA,EAAE,SAAS,CAAC,IAAIA,GAExCqkB,IAAc,CAACF,GAAW,CAAA,GAAI,EAAK;AACzC,WAAAE,EAAY,IAAIF,GAChBE,EAAY,OAAO,CAAA,GACnBA,EAAY,QAAQ,IACbA;AAAA,EACT;AACA,EAAInH,EAAK,QAAQ,OAAO,QAAMG,GAASH,GAAM,qBAAqB,qHAAqH;AACvL,QAAMgC,IAAc;AAAA,IAClB,GAAGb,GAAW;AAAA,IACd,GAAGnB,EAAK,QAAQ;AAAA,IAChB,GAAG1f;AAAA,EACP,GACQ;AAAA,IACJ,aAAA8mB;AAAA,IACA,WAAAxI;AAAA,EACJ,IAAMoD;AACJ,MAAIjP,IAAaf,KAAMuU,KAAwBvG,EAAK,SAAS;AAC7D,EAAAjN,IAAazF,EAASyF,CAAU,IAAI,CAACA,CAAU,IAAIA,KAAc,CAAC,aAAa,GAC/EiN,EAAK,iBAAiB,oBAAoBjN,CAAU;AACpD,QAAMsU,KAASrH,EAAK,iBAAiBA,EAAK,yBAAyBjN,EAAW,MAAM,CAAA1M,MAAKoa,GAAmBpa,GAAG2Z,GAAMgC,CAAW,CAAC,GAC3HsF,IAAWR,GAAa9G,GAAM1f,EAAM,OAAO,MAAM0hB,EAAY,WAAW,aAAajP,IAAaA,EAAW,CAAC,GAAG6L,CAAS,GAC1H2I,IAAO,MAAMD,GACbE,IAAU,MAAMX,GAAW7G,GAAM1f,EAAM,OAAO,MAAM0hB,EAAY,WAAW,aAAajP,IAAaA,EAAW,CAAC,GAAG6L,CAAS,GAC7H,CAACnY,GAAGghB,CAAI,IAAIC,GAASH,CAAI;AAC/B,MAAII,IAAW5U,EAAW,KAAI;AAC9B,EAAIzS,EAAM,QAAKqnB,IAAW,GAAGrnB,EAAM,GAAG,GAAGqnB,CAAQ;AACjD,QAAMC,IAAmBnB,GAAYkB,CAAQ,GACvCE,IAAYlB,GAAO,EAAI;AAC7B,EAAAC,GAAU,MAAM;AACd,UAAM;AAAA,MACJ,UAAAkB;AAAA,MACA,eAAAC;AAAA,IACN,IAAQ/F;AACJ,IAAA6F,EAAU,UAAU,IAChB,CAACR,KAAS,CAACD,MACT9mB,EAAM,MACRkgB,GAAcR,GAAM1f,EAAM,KAAKyS,GAAY,MAAM;AAC/C,MAAI8U,EAAU,WAASJ,EAAKD,CAAO;AAAA,IACrC,CAAC,IAEDjH,GAAeP,GAAMjN,GAAY,MAAM;AACrC,MAAI8U,EAAU,WAASJ,EAAKD,CAAO;AAAA,IACrC,CAAC,IAGDH,KAASO,KAAoBA,MAAqBD,KAAYE,EAAU,WAC1EJ,EAAKD,CAAO;AAEd,UAAMQ,IAAa,MAAM;AACvB,MAAIH,EAAU,WAASJ,EAAKD,CAAO;AAAA,IACrC;AACA,WAAIM,KAAU9H,GAAM,GAAG8H,GAAUE,CAAU,GACvCD,KAAe/H,GAAM,MAAM,GAAG+H,GAAeC,CAAU,GACpD,MAAM;AACX,MAAAH,EAAU,UAAU,IAChB7H,KAAM8H,GAAU,MAAM,GAAG,EAAE,QAAQ,CAAA/hB,MAAKia,EAAK,IAAIja,GAAGiiB,CAAU,CAAC,GAC/DD,KAAiB/H,KAAM+H,EAAc,MAAM,GAAG,EAAE,QAAQ,CAAAhiB,MAAKia,EAAK,MAAM,IAAIja,GAAGiiB,CAAU,CAAC;AAAA,IAChG;AAAA,EACF,GAAG,CAAChI,GAAM2H,CAAQ,CAAC,GACnBf,GAAU,MAAM;AACd,IAAIiB,EAAU,WAAWR,KACvBI,EAAKF,CAAI;AAAA,EAEb,GAAG,CAACvH,GAAMpB,GAAWyI,CAAK,CAAC;AAC3B,QAAM7J,IAAM,CAAC/W,GAAGuZ,GAAMqH,CAAK;AAK3B,MAJA7J,EAAI,IAAI/W,GACR+W,EAAI,OAAOwC,GACXxC,EAAI,QAAQ6J,GACRA,KACA,CAACA,KAAS,CAACD,EAAa,QAAO5J;AACnC,QAAM,IAAI,QAAQ,CAAA7P,MAAW;AAC3B,IAAIrN,EAAM,MACRkgB,GAAcR,GAAM1f,EAAM,KAAKyS,GAAY,MAAMpF,GAAS,IAE1D4S,GAAeP,GAAMjN,GAAY,MAAMpF,EAAO,CAAE;AAAA,EAEpD,CAAC;AACH;ACxGO,SAASsa,GAAgB;AAAA,EAC9B,MAAAjI;AAAA,EACA,WAAAkI;AAAA,EACA,UAAA3nB;AACF,GAAG;AACD,QAAM9B,IAAQ0pB,GAAQ,OAAO;AAAA,IAC3B,MAAAnI;AAAA,IACA,WAAAkI;AAAA,EACJ,IAAM,CAAClI,GAAMkI,CAAS,CAAC;AACrB,SAAOpE,EAAcqC,GAAY,UAAU;AAAA,IACzC,OAAA1nB;AAAA,EACJ,GAAK8B,CAAQ;AACb;ACdO,MAAM6nB,KAAwB,CACnCtd,MACG,OAAO,QAAQA,CAAG;ACmKhB,SAASud,GAId;AAAA,EACA,qBAAAC;AAAA,EACA,WAAAjV;AAAA,EACA,WAAAlB;AACF,GAIsE;AACpE,QAAMuO,IAAed,GAAA;AAErB,EAAAc,EACG,IAAIwF,EAAgB,EACpB,KAAK;AAAA,IACJ,WAAW7S;AAAA,IACX,IAAI,CAACA,CAAS;AAAA,IACd,aAAaiV;AAAA,IACb,MAAM;AAAA,IACN,cAAc;AAAA,IACd,eAAe;AAAA,MACb,aAAa;AAAA,MACb,iBAAiB;AAAA,IAAA;AAAA,IAEnB,OAAO;AAAA,MACL,eAAe;AAAA,MACf,aAAa;AAAA,IAAA;AAAA,EACf,CACD,EACA,MAAM,CAACrM,MAAU;AAChB,YAAQ;AAAA,MACN,iFAAiF5I,CAAS;AAAA,IAAA,GAE5F,QAAQ,MAAM4I,CAAK;AAAA,EACrB,CAAC,GAEH,OAAO,QAAQ9J,CAAS,EAAE,QAAQ,CAAC,CAACoW,GAAcC,CAAM,MAAM;AAC5D,IAAA9H,EAAa,kBAAkB6H,GAAclV,GAAWmV,CAAM;AAAA,EAChE,CAAC;AAsCD,QAAMC,IAA8BC,GApCR,CAE1B;AAAA,IACA,UAAAnoB;AAAA,IACA,cAAAgoB;AAAA,IACA,sBAAAI;AAAA,EAAA,OAEA/B,GAAU,MAAM;AACd,UAAMgC,IAAsBL,KAAgB,OAAO,UAAU;AAC7D,IAAA7H,EAAa,eAAekI,CAAmB,EAAE,MAAM,CAAC3M,MAAU;AAChE,cAAQ;AAAA,QACN,mFAAmF2M,CAAmB;AAAA,MAAA,GAExG,QAAQ,MAAM3M,CAAK;AAAA,IACrB,CAAC;AAAA,EACH,GAAG,CAACsM,CAAY,CAAC,GAEjB3B,GAAU,MAAM;AACd,IAAI+B,KACFP,GAAsBO,CAAoB,EAAE;AAAA,MAC1C,CAAC,CAACJ,GAAcM,CAAc,MAAM;AAClC,QAAAnI,EAAa;AAAA,UACX6H;AAAAA,UACAlV;AAAA,UACAwV;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAGN,GAAG,CAACF,CAAoB,CAAC,GAElB,gBAAAvb,GAAC6a,IAAA,EAAgB,MAAMvH,GAAe,UAAAngB,EAAA,CAAS,EAGI;AAC5D,SAAAkoB,EAA4B,cAAc,uBAoCnC;AAAA,IACL,MAAM/H;AAAA,IACN,qBAAqB+H;AAAA,IAAA,OApCiD,CACtEnoB,MAGE,gBAAA8M;AAAA,MAAC0b;AAAAA,MAAA;AAAA,QACE,GAAIxoB;AAAA,QACL,MAAMogB;AAAA,MAAA;AAAA,IAAA;AAAA,IA+BV,gBAvBE,CAACvjB,MAAgD;AACnD,YAAM,CAACsJ,GAAGuZ,GAAMqH,CAAK,IAAI0B,GAAuB1V,GAAW;AAAA,QACzD,GAAGlW;AAAA,QACH,MAAMujB;AAAA,MAAA,CACP,GACKsI,IAASviB,GAITmE,IAAS,CAACoe,GAAQhJ,GAAMqH,CAAK;AAInC,aAAAzc,EAAO,IAAIoe,GACXpe,EAAO,OAAOoV,GACdpV,EAAO,QAAQyc,GAERzc;AAAA,IACT;AAAA,EAME;AAEJ;AC/RO,MAAMqe,KAA4B;AAAA,EACvC;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}
|