@searchcraft/javascript-sdk 0.10.4 → 0.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.d.ts +52 -20
- package/dist/components/index.js +4 -4
- package/dist/components/{p-9d2e55a7.js → p-2735dceb.js} +3 -3
- package/dist/components/{p-9d2e55a7.js.map → p-2735dceb.js.map} +1 -1
- package/dist/components/p-4dd1995c.js +193 -0
- package/dist/components/p-4dd1995c.js.map +1 -0
- package/dist/components/{p-35ee16e2.js → p-6e5ed641.js} +2 -2
- package/dist/components/{p-35ee16e2.js.map → p-6e5ed641.js.map} +1 -1
- package/dist/components/{p-4c610bc4.js → p-75134ca7.js} +2 -2
- package/dist/components/{p-4c610bc4.js.map → p-75134ca7.js.map} +1 -1
- package/dist/components/{p-eb633481.js → p-9f4c50ed.js} +3 -3
- package/dist/components/{p-eb633481.js.map → p-9f4c50ed.js.map} +1 -1
- package/dist/components/{p-6065aee1.js → p-a7d611cd.js} +17 -12
- package/dist/components/p-a7d611cd.js.map +1 -0
- package/dist/components/{p-6ed5cca1.js → p-aba24c85.js} +4 -4
- package/dist/components/{p-6ed5cca1.js.map → p-aba24c85.js.map} +1 -1
- package/dist/components/p-b194d081.js +406 -0
- package/dist/components/p-b194d081.js.map +1 -0
- package/dist/components/{p-60fd824d.js → p-b54873ff.js} +371 -348
- package/dist/components/p-b54873ff.js.map +1 -0
- package/dist/components/p-d54771ef.js +182 -0
- package/dist/components/p-d54771ef.js.map +1 -0
- package/dist/components/{p-2d975f19.js → p-f2976b33.js} +2 -2
- package/dist/components/{p-2d975f19.js.map → p-f2976b33.js.map} +1 -1
- package/dist/components/searchcraft-ad.js +1 -1
- package/dist/components/searchcraft-facet-list.js +1 -1
- package/dist/components/searchcraft-filter-panel.js +13 -18
- package/dist/components/searchcraft-filter-panel.js.map +1 -1
- package/dist/components/searchcraft-input-form.js +1 -1
- package/dist/components/searchcraft-pagination.js +1 -1
- package/dist/components/searchcraft-popover-button.js +1 -1
- package/dist/components/searchcraft-popover-footer.js +1 -1
- package/dist/components/searchcraft-popover-form.js +6 -6
- package/dist/components/searchcraft-popover-list-item.js +1 -1
- package/dist/components/searchcraft-popover-list-view.js +1 -1
- package/dist/components/searchcraft-results-info.js +2 -2
- package/dist/components/searchcraft-search-result.js +1 -1
- package/dist/components/searchcraft-search-results-per-page.js +1 -1
- package/dist/components/searchcraft-search-results.js +3 -3
- package/dist/components/searchcraft-slider.js +1 -1
- package/dist/components/searchcraft-theme.js +1 -1
- package/dist/components/searchcraft-theme.js.map +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -1
- package/dist/hydrate/index.js +710 -434
- package/dist/hydrate/index.mjs +710 -434
- package/dist/themes/hologram.css +1 -1
- package/dist/themes/hologram.css.map +1 -1
- package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +33 -14
- package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +2 -2
- package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +6 -0
- package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +10 -4
- package/dist/types/components.d.ts +23 -7
- package/dist/types/store/SearchcraftStore.types.d.ts +5 -3
- package/dist/types/utils/facets.d.ts +30 -3
- package/dist/types/utils/throttle.d.ts +14 -0
- package/dist/types/utils/units.d.ts +33 -0
- package/package.json +3 -3
- package/dist/components/p-163402fb.js +0 -291
- package/dist/components/p-163402fb.js.map +0 -1
- package/dist/components/p-4d37616e.js +0 -105
- package/dist/components/p-4d37616e.js.map +0 -1
- package/dist/components/p-6065aee1.js.map +0 -1
- package/dist/components/p-60fd824d.js.map +0 -1
- package/dist/components/p-7c650118.js +0 -110
- package/dist/components/p-7c650118.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-b54873ff.js","mappings":"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AC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;AACntB,KAAK;AACL,IAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnH,IAAI,QAAQ,CAAC;AACb,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACjC,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrI,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,MAAM,KAAK,EAAE;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpI,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpI,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,KAAK,CAAC;AACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpI,KAAK;AACL,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE;AAC1B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACnd,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACV,EAAE,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACnC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACvC,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3C,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACjB,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACjC,IAAI,UAAU,CAAC,WAAW;AAC1B,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,KAAK,EAAE,CAAC,CAAC,CAAC;AACV,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpB,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACvC,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACD,SAAS,CAAC,GAAG;AACb,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC/B,MAAM,QAAQ,CAAC,CAAC,KAAK;AACrB,QAAQ,KAAK,CAAC;AACd,UAAU,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7I,QAAQ,KAAK,CAAC;AACd,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AACxD,YAAY,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;AAChC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AAC/C,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,QAAQ,KAAK,CAAC;AACd,UAAU,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,QAAQ,KAAK,CAAC;AACd,UAAU,OAAO,CAAC,CAAC,CAAC,CAAC;AACrB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACjB,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE;AAC9B,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,MAAM,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChF,WAAW;AACX,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACvC,UAAU,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACnE,SAAS,CAAC,CAAC,CAAC;AACZ,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,EAAE,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE;AACd,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC/B,MAAM,QAAQ,CAAC,CAAC,KAAK;AACrB,QAAQ,KAAK,CAAC;AACd,UAAU,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD,QAAQ,KAAK,CAAC;AACd,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC3E,QAAQ,KAAK,CAAC;AACd,UAAU,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,QAAQ,KAAK,CAAC;AACd,UAAU,OAAO,CAAC,CAAC,CAAC,CAAC;AACrB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE;AACd,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,EAAE,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACnC,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,CAAC,CAAC,CAAC,EAAE;AACd,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/B,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;AAClD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD,EAAE,OAAO,CAAC,CAAC;AACX,CAAC;AACD,SAAS,CAAC,GAAG;AACb,EAAE,IAAI,OAAO,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC7E,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,8CAA8C,EAAE,iFAAiF,EAAE,2EAA2E,EAAE,4CAA4C,EAAE,4DAA4D,EAAE,+CAA+C,EAAE,oDAAoD,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1gB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACrG,GAAG;AACH,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACjD,CAAC;AACD,CAAC,CAAC,OAAO,EAAE,WAAW;AACtB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC5C,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC/B,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AAC5C,QAAQ,IAAI;AACZ,UAAU,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC5J,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;AAClC,UAAU,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,wBAAwB,EAAE,CAAC;AAClD,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE;AACnM,YAAY,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAClL,WAAW,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;AAChC,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB,UAAU,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,SAAS;AACT,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,gBAAgB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/D,CAAC,EAAE,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW;AAChD,EAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACpF,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,WAAW;AACjD,MAAM,OAAO,WAAW;AACxB,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACzE,QAAQ,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAClC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AACzU,QAAQ,IAAI,CAAC,GAAG,wBAAwB,CAAC;AACzC,QAAQ,CAAC,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,sBAAsB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,OAAO,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3Q,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC,CAAC;AACjB,OAAO,EAAE,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACzE,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAClsC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACjB,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC1D,EAAE,OAAe,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;AAC/E,CAAC;AACD,SAAS,CAAC,GAAG;AACb,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AACjJ,EAAE,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,IAAI;AACpC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;AACzR,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;AAChC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAC1D,MAAM,IAAI,CAAC,EAAE;AACb,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC7I,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;AACnE,OAAO;AACP,KAAK;AACL,IAAI,OAAO,CAAC,CAAC;AACb,GAAG,CAAC,MAAM;AACV,GAAG;AACH,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC;AACD,SAAS,CAAC,GAAG;AACb,EAAE,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AACD,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;AAClB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACb,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC/B,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;AACxB,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC;AACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;AACjB,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC5B,QAAQ,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAC1B,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAChD,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,OAAO,CAAC,EAAE,CAAC,CAAC;AACZ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACxB,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AACpC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AAC1B,MAAM,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1B,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpB,GAAG,CAAC,EAAE,CAAC,CAAC;AACR,CAAC;AACD,SAAS,EAAE,GAAG;AACd,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,8BAA8B,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC3f,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC5C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC7B,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,EAAE,CAAC,CAAC;AACR,CAAC;AACD,SAAS,EAAE,GAAG;AACd,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,eAAe,IAAI,UAAU,EAAE,IAAI;AAChG,IAAI,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAChG,GAAG,CAAC,MAAM;AACV,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH,EAAE,OAAO,CAAC,CAAC;AACX,CAAC;AACD,CAAC,EAAE,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW;AAC/C,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AACf,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AACpC,IAAI,IAAI;AACR,MAAM,CAAC,SAAS,CAAC,EAAE;AACnB,QAAQ,IAAI,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC3C,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,UAAU,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AACrC,YAAY,QAAQ,CAAC,CAAC,KAAK;AAC3B,cAAc,KAAK,CAAC;AACpB,gBAAgB,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACrF,kBAAkB,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,iBAAiB,CAAC,EAAE,CAAC;AACrB,cAAc,KAAK,CAAC;AACpB,gBAAgB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,cAAc,KAAK,CAAC;AACpB,gBAAgB,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AAChf,gBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW;AAC/D,kBAAkB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC/C,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3B,aAAa;AACb,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,OAAO,EAAE,SAAS,CAAC,EAAE;AACrB,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACzB,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC/C,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,UAAU,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AACrC,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AAChG,cAAc,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAC9C,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1B,WAAW,CAAC,CAAC;AACb,SAAS,CAAC,CAAC;AACX,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,MAAM;AACZ,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;AAClC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW;AAC7B,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AACpC,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,YAAY,KAAK,KAAK,CAAC,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAChK,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,CAAC;AACjI,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW;AAC5B,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACjC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrG,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW;AAChC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC5C,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,oBAAoB,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,WAAW;AACzlB,QAAQ,OAAO,WAAW;AAC1B,UAAU,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AACpD,YAAY,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,YAAY,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AACvC,cAAc,QAAQ,CAAC,CAAC,KAAK;AAC7B,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACxC,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjG,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzE,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,gBAAgB,KAAK,CAAC;AACtB,kBAAkB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,eAAe;AACf,aAAa,CAAC,CAAC;AACf,WAAW,CAAC,CAAC;AACb,SAAS,EAAE,CAAC;AACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC9C,QAAQ,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW;AAC5B,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACb,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5E,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACjC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW;AAC3B,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACjC,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrJ,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW;AAC3B,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACjC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAChB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACtT,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,gBAAgB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAC5D,CAAC,CAAC,OAAO,EAAE,WAAW;AACtB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC5C,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC/B,MAAM,OAAO,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/H,MAAM,IAAI;AACV,QAAQ,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACvD,QAAQ,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW;AACzD,UAAU,OAAO,WAAW;AAC5B,YAAY,IAAI;AAChB,cAAc,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC7D,cAAc,IAAI,CAAC,GAAG,CAAC;AACvB;AACA;AACA;AACA;AACA,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;AACd;AACA;AACA;AACA;AACA,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AACpF,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AACxE,cAAc,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5M,cAAc,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClK,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;AACxC,cAAc,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACzE,cAAc,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACtM,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC9B,cAAc,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACrG,gBAAgB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxI,eAAe;AACf,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;AACvC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;AAC9F,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACzD,cAAc,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACxN,cAAc,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,cAAc,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5H,aAAa,CAAC,MAAM;AACpB,cAAc,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,aAAa,SAAS;AACtB,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrK,aAAa;AACb,WAAW,EAAE,CAAC;AACd,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC5F,OAAO,CAAC,MAAM;AACd,QAAQ,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;AAC7C,OAAO;AACP,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;AACjB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC7B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9B,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AACF,CAAC,CAAC,MAAM,EAAE,WAAW;AACrB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;AAC9C,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;AAC/B,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9c,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,MAAM,EAAE,GAAG,kEAAkE,CAAC;AAC9E,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK;AACpB,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjE,EAAE,OAAO,CAAC,EAAE;AACZ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACvB,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,CAAC;AACR,EAAE,WAAW,CAAC,CAAC,EAAE;AACjB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpB,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE;AAClB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,gBAAgB,CAAC,CAAC,EAAE;AAC5B,GAAG;AACH,EAAE,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;AAC7B,GAAG;AACH,EAAE,MAAM,cAAc,GAAG;AACzB,GAAG;AACH,EAAE,MAAM,qBAAqB,CAAC,CAAC,EAAE;AACjC,GAAG;AACH,EAAE,MAAM,mBAAmB,CAAC,CAAC,EAAE;AAC/B,GAAG;AACH,CAAC;AACD,MAAM,EAAE,SAAS,CAAC,CAAC;AACnB;AACA;AACA;AACA,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE;AAClB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;AAC3B,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,EAAE,CAAC;AACjE,IAAI,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,IAAI,eAAe,CAAC;AACxE,MAAM,OAAO,EAAE,UAAU;AACzB,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AAC9B,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU;AACtB,MAAM,CAAC,EAAE,KAAK;AACd,MAAM,GAAG,EAAE,gBAAgB;AAC3B,MAAM,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;AAC3D,MAAM,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;AAC9D,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG;AAChG,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,EAAE,EAAE,CAAC,EAAE;AACf,QAAQ,QAAQ,EAAE,eAAe;AACjC,QAAQ,SAAS,EAAE,gBAAgB;AACnC,QAAQ,KAAK,EAAE,CAAC;AAChB,OAAO,CAAC;AACR,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAClC,MAAM,EAAE,EAAE,CAAC,EAAE;AACb,MAAM,QAAQ,EAAE,eAAe;AAC/B,MAAM,SAAS,EAAE,aAAa;AAC9B,MAAM,KAAK,EAAE,CAAC;AACd,KAAK,CAAC,CAAC,CAAC;AACR,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvB,GAAG;AACH,EAAE,MAAM,mBAAmB,CAAC,CAAC,EAAE;AAC/B,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;AACrC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC/E,GAAG;AACH,CAAC;AACD,MAAM,EAAE,SAAS,CAAC,CAAC;AACnB,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE;AAClB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;AACD,MAAM,EAAE,GAAG,GAAG,CAAC;AACf,MAAM,EAAE,SAAS,CAAC,CAAC;AACnB,EAAE,WAAW,CAAC,CAAC,EAAE;AACjB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC7B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAClC,GAAG;AACH,EAAE,MAAM,gBAAgB,CAAC,CAAC,EAAE;AAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAClC,GAAG;AACH,EAAE,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;AAC7B,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE;AACtE,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACzC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3B,GAAG;AACH,EAAE,MAAM,cAAc,GAAG;AACzB,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACvC,GAAG;AACH,EAAE,aAAa,CAAC,CAAC,EAAE;AACnB,IAAI,IAAI,CAAC,aAAa,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM;AAClG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACpC,MAAM,IAAI;AACV,QAAQ,WAAW,IAAI,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC3F,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,OAAO;AACP,KAAK,EAAE,CAAC,CAAC,CAAC;AACV,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE;AAClB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,sBAAsB,GAAG;AAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;AACrD,MAAM,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjD,MAAM,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,GAAG,GAAG,gCAAgC,EAAE,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,4BAA4B,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACpL,KAAK;AACL,GAAG;AACH,EAAE,2BAA2B,GAAG;AAChC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACzD,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACtC,GAAG;AACH,CAAC;AACD,MAAM,EAAE,GAAG,GAAG,CAAC;AACf,MAAM,EAAE,CAAC;AACT,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvB,IAAI,CAAC,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AACrC,IAAI,CAAC,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;AAC1C,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK;AAC7D,MAAM,MAAM,CAAC,GAAG;AAChB,QAAQ,UAAU,EAAE,CAAC;AACrB,QAAQ,UAAU,EAAE;AACpB,UAAU,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;AACpD,UAAU,UAAU,EAAE,IAAI,CAAC,SAAS;AACpC,UAAU,GAAG,CAAC;AACd,SAAS;AACT,QAAQ,IAAI,EAAE;AACd,UAAU,GAAG,IAAI,CAAC,kBAAkB;AACpC,UAAU,GAAG,CAAC;AACd,SAAS;AACT,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,KAAK,kBAAkB,EAAE;AACpC,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACxE,QAAQ,IAAI;AACZ,UAAU,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE;AACnC,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,OAAO,EAAE;AACrB,cAAc,cAAc,EAAE,kBAAkB;AAChD,cAAc,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;AAChD,cAAc,cAAc,EAAE,IAAI,CAAC,MAAM;AACzC,cAAc,iBAAiB,EAAE,IAAI,CAAC,SAAS;AAC/C,aAAa;AACb,YAAY,IAAI,EAAE,CAAC;AACnB,YAAY,SAAS,EAAE,CAAC,CAAC;AACzB,WAAW,CAAC,CAAC;AACb,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;AACnB,YAAY,MAAM,IAAI,KAAK;AAC3B,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;AACnE,aAAa,CAAC;AACd,SAAS,CAAC,OAAO,CAAC,EAAE;AACpB,UAAU,MAAM,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACrE,SAAS;AACT,OAAO;AACP,QAAQ,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,YAAY;AAC3I,UAAU,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC/G,UAAU,IAAI;AACd,YAAY,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE;AACrC,cAAc,MAAM,EAAE,MAAM;AAC5B,cAAc,OAAO,EAAE;AACvB,gBAAgB,cAAc,EAAE,kBAAkB;AAClD,gBAAgB,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;AAClD,gBAAgB,cAAc,EAAE,IAAI,CAAC,MAAM;AAC3C,gBAAgB,iBAAiB,EAAE,IAAI,CAAC,SAAS;AACjD,eAAe;AACf,cAAc,IAAI,EAAE,CAAC;AACrB,cAAc,SAAS,EAAE,CAAC,CAAC;AAC3B,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,IAAI,CAAC,sBAAsB,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;AACvD,cAAc,MAAM,IAAI,KAAK;AAC7B,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;AACrE,eAAe,CAAC;AAChB,YAAY,OAAO;AACnB,WAAW,CAAC,OAAO,CAAC,EAAE;AACtB,YAAY,MAAM,IAAI,CAAC,sBAAsB,GAAG,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzG,WAAW;AACX,SAAS,EAAE,EAAE,CAAC,CAAC;AACf,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AACvH,GAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,cAAc,GAAG;AACvB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAChD,GAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,kBAAkB,GAAG;AAC3B,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM;AAC1B,MAAM,MAAM,EAAE,SAAS,CAAC,QAAQ,IAAI,OAAO;AAC3C,MAAM,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS;AACzK,MAAM,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,SAAS;AAC/C,MAAM,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AACpC,MAAM,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;AAC1C,MAAM,UAAU,EAAE,SAAS,CAAC,SAAS,IAAI,SAAS;AAClD,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK;AACnE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACb,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC;AACrD,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,GAAG;AACZ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AACrD,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,gEAAgE;AACtE,KAAK,CAAC;AACN,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACZ,MAAM,EAAE,CAAC;AACT,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACvB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;AAC3C,IAAI,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC,CAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK;AAC3D,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK;AACnD,QAAQ,+CAA+C;AACvD,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AACtD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACpB,MAAM,OAAO,OAAO,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;AACrL,QAAQ,WAAW,EAAE,CAAC;AACtB,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE;AACnD,QAAQ,IAAI,EAAE,iBAAiB;AAC/B,QAAQ,IAAI,EAAE;AACd,UAAU,UAAU,EAAE,CAAC;AACvB,SAAS;AACT,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,gBAAgB;AAClE,QAAQ,OAAO,CAAC,IAAI,QAAQ,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC;AACnE,OAAO,EAAE,OAAO,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,gBAAgB,CAAC,0BAA0B,EAAE;AACrP,QAAQ,WAAW,EAAE,CAAC;AACtB,QAAQ,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;AACzC,OAAO,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC,MAAM;AAC9G,QAAQ,IAAI,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;AAC1F,UAAU,WAAW,EAAE,CAAC;AACxB,UAAU,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;AAC3C,SAAS,CAAC,CAAC;AACX,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE;AACrD,QAAQ,IAAI,EAAE,eAAe;AAC7B,QAAQ,IAAI,EAAE;AACd,UAAU,UAAU,EAAE,CAAC;AACvB,SAAS;AACT,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAAE;AACvH,QAAQ,IAAI,EAAE,qBAAqB;AACnC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,cAAc;AAChE,QAAQ,OAAO,CAAC,IAAI,QAAQ,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC;AACnE,QAAQ,CAAC;AACT,OAAO,CAAC,EAAE,CAAC,CAAC;AACZ,KAAK,CAAC,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,EAAE,wCAAwC,EAAE,OAAO,CAAC,KAAK;AACnE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,MAAM,IAAI,CAAC,CAAC;AACZ,MAAM,IAAI;AACV,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;AAC/B,UAAU,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;AACjD,UAAU,GAAG,CAAC;AACd,SAAS,CAAC;AACV,OAAO,CAAC,MAAM;AACd,QAAQ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAClE,OAAO;AACP,MAAM,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;AAChD,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE;AACjB,UAAU,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;AAC5C,UAAU,cAAc,EAAE,kBAAkB;AAC5C,UAAU,cAAc,EAAE,IAAI,CAAC,MAAM;AACrC,UAAU,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;AACpG,SAAS;AACT,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/B,QAAQ,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;AACtE,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;AACf,QAAQ,MAAM,IAAI,KAAK;AACvB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,SAAS,CAAC;AACV,MAAM,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,KAAK,CAAC,CAAC;AACP,IAAI,CAAC,CAAC,IAAI,EAAE,wCAAwC,EAAE,OAAO,CAAC,KAAK;AACnE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,MAAM,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;AAChD,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE;AACjB,UAAU,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;AAC5C,UAAU,cAAc,EAAE,kBAAkB;AAC5C,UAAU,cAAc,EAAE,IAAI,CAAC,MAAM;AACrC,UAAU,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;AACpG,SAAS;AACT,QAAQ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AAC7B,UAAU,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAC/C,UAAU,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;AAC/B,UAAU,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE;AAClE,UAAU,GAAG,CAAC,CAAC,QAAQ,IAAI;AAC3B,YAAY,QAAQ,EAAE,CAAC,CAAC,QAAQ;AAChC,WAAW;AACX,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI;AACvB,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI;AACxB,WAAW;AACX,SAAS,CAAC;AACV,QAAQ,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;AACtE,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;AACf,QAAQ,MAAM,IAAI,KAAK;AACvB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,SAAS,CAAC;AACV,MAAM,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,GAAG;AACH;AACA;AACA;AACA,EAAE,IAAI,aAAa,GAAG;AACtB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AACpF,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,sBAAsB,CAAC,CAAC,EAAE;AAC5B,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC;AACrB,IAAI,CAAC,CAAC,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACzF,MAAM,IAAI,CAAC,CAAC;AACZ,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,wBAAwB,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;AAC/B,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzB,SAAS;AACT,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC,EAAE,CAAC,CAAC,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC7F,MAAM,IAAI,CAAC,CAAC;AACZ,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,wBAAwB,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;AAC/B,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzB,SAAS;AACT,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG;AAC7E,MAAM,KAAK,EAAE;AACb,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,OAAO;AACP,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC;AAClB,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,MAAM,GAAG,CAAC;AAC5C;AACA,MAAM,GAAG,CAAC;AACV,KAAK,CAAC,EAAE,CAAC,CAAC;AACV,GAAG;AACH,CAAC;AACD,MAAM,EAAE,CAAC;AACT,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE;AACpB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACxB,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAC9B,IAAI,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACtC,IAAI,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK;AAC7C,MAAM,MAAM,CAAC,GAAG,YAAY;AAC5B,QAAQ,CAAC,YAAY;AACrB,UAAU,IAAI,CAAC,CAAC;AAChB,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAClC,YAAY,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAChE,YAAY,OAAO;AACnB,WAAW;AACX,UAAU,IAAI,CAAC,CAAC;AAChB,UAAU,IAAI;AACd,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAClE,WAAW,CAAC,OAAO,CAAC,EAAE;AACtB,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,YAAY,OAAO;AACnB,WAAW;AACX,UAAU,IAAI,CAAC,CAAC,EAAE;AAClB,YAAY,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACjF,YAAY,OAAO;AACnB,WAAW;AACX,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC3E,YAAY,EAAE,EAAE,CAAC,EAAE;AACnB,YAAY,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;AACzC,YAAY,YAAY,EAAE,CAAC,CAAC,YAAY;AACxC,YAAY,IAAI,EAAE,gBAAgB;AAClC,WAAW,CAAC,CAAC,CAAC;AACd,UAAU,IAAI,CAAC,CAAC;AAChB,UAAU,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;AACpC,YAAY,MAAM,CAAC,GAAG,eAAe;AACrC,cAAc,CAAC;AACf,aAAa,CAAC;AACd,YAAY,IAAI,CAAC,CAAC,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAClG,cAAc,CAAC,CAAC,wBAAwB,GAAG,KAAK,CAAC,CAAC;AAClD,cAAc,IAAI;AAClB,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/H,eAAe,CAAC,OAAO,CAAC,EAAE;AAC1B,gBAAgB,OAAO,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,eAAe;AACf,aAAa;AACb,WAAW;AACX,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,SAAS,GAAG,EAAE,CAAC,YAAY;AAC3B,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;AACrD,YAAY,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,WAAW;AACX,SAAS,GAAG,CAAC;AACb,OAAO,CAAC;AACR,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,GAAG,UAAU;AAC3G,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,mBAAmB;AACvC,OAAO,GAAG,CAAC,EAAE,CAAC;AACd,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO;AAChD,MAAM,MAAM,IAAI,KAAK;AACrB,QAAQ,6DAA6D;AACrE,OAAO,CAAC;AACR,IAAI,IAAI,CAAC,MAAM,GAAG;AAClB,MAAM,GAAG,CAAC;AACV;AACA,MAAM,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AACpC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,OAAO,MAAM,GAAG,GAAG,IAAI,OAAO,cAAc,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,6BAA6B,IAAI,UAAU,CAAC,0BAA0B,IAAI,UAAU,CAAC,0BAA0B,EAAE,EAAE,OAAO,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;AACjU,GAAG;AACH,EAAE,cAAc,GAAG;AACnB,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,gBAAgB;AACvC,MAAM,wBAAwB;AAC9B,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,MAAM;AACrB,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACvB,QAAQ,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;AACtB,OAAO,CAAC,CAAC;AACT,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,GAAG;AACH;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACnC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjB,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC;AACvB,QAAQ,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC9D,UAAU,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,wBAAwB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrH,SAAS,CAAC,CAAC;AACX,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;AACjC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,GAAG;AACH,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE;AACpB,IAAI,UAAU,CAAC,YAAY;AAC3B,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AACjC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ;AAC5H,QAAQ,KAAK,eAAe;AAC5B,UAAU,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpC,UAAU,MAAM;AAChB,QAAQ,KAAK,QAAQ;AACrB,UAAU,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpC,UAAU,MAAM;AAChB,QAAQ,KAAK,QAAQ;AACrB,UAAU,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpC,UAAU,MAAM;AAChB,OAAO;AACP,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;AACpC,QAAQ,IAAI,EAAE,aAAa;AAC3B,OAAO,CAAC,CAAC;AACT,KAAK,EAAE,GAAG,CAAC,CAAC;AACZ,GAAG;AACH,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AAClB,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACjE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AAClB,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI;AAC3G,MAAM,CAAC;AACP,KAAK,EAAE,MAAM;AACb,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,KAAK,CAAC;AACN,GAAG;AACH;AACA;AACA;AACA,EAAE,yBAAyB,CAAC,CAAC,EAAE;AAC/B,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE;AACvG,MAAM,IAAI,EAAE,uBAAuB;AACnC,MAAM,IAAI,EAAE;AACZ,QAAQ,aAAa,EAAE,CAAC,CAAC,aAAa;AACtC,QAAQ,QAAQ,EAAE,CAAC,CAAC,QAAQ;AAC5B,QAAQ,UAAU,EAAE,CAAC,CAAC,UAAU;AAChC,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA;AACA;AACA,EAAE,uBAAuB,CAAC,CAAC,EAAE;AAC7B,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE;AACnG,MAAM,IAAI,EAAE,qBAAqB;AACjC,MAAM,IAAI,EAAE;AACZ,QAAQ,aAAa,EAAE,CAAC,CAAC,aAAa;AACtC,QAAQ,QAAQ,EAAE,CAAC,CAAC,QAAQ;AAC5B,QAAQ,UAAU,EAAE,CAAC,CAAC,UAAU;AAChC,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,CAAC,CAAC;AACV,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;AACpC,MAAM,IAAI,EAAE,eAAe;AAC3B,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;AAC1D,GAAG;AACH;;;;;;ACxkCA,MAAM,eAAe,GAAG,CAAC,WAAW,KAAK;AACzC,EAAE,IAAI,KAAK,CAAC;AACZ,EAAE,MAAM,SAAS,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AACzC,IAAI,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;AACtC,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC;AAClC,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAClJ,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AACtE,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;AAC/B,EAAE,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC;AAC7C,EAAE,MAAM,SAAS,GAAG,CAAC,QAAQ,KAAK;AAClC,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5B,IAAI,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C,GAAG,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AACjE,EAAE,MAAM,YAAY,GAAG,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AACpE,EAAE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,WAAW,KAAK,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;AAClG;qBACmB,GAAG;;;;;;;;;;;;;;;;;ACdtB,IAAI,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;AACjE,EAAE,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;AAChD,EAAE,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACpD,EAAE,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC1D,EAAE,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACpD,EAAE,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACpD,EAAE,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;AAClD,EAAE,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC1D,EAAE,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACpD,EAAE,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C,EAAE,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C,EAAE,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC1C,SAAS,aAAa,CAAC,aAAa,EAAE;AACtC,EAAE,IAAI,IAAI,KAAK,aAAa,IAAI,QAAQ,KAAK,OAAO,aAAa,EAAE,OAAO,IAAI,CAAC;AAC/E,EAAE,aAAa;AACf,IAAI,CAAC,qBAAqB,IAAI,aAAa,CAAC,qBAAqB,CAAC;AAClE,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAChC,EAAE,OAAO,UAAU,KAAK,OAAO,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC;AACpE,CAAC;AACD,IAAI,oBAAoB,GAAG;AAC3B,IAAI,SAAS,EAAE,YAAY;AAC3B,MAAM,OAAO,CAAC,CAAC,CAAC;AAChB,KAAK;AACL,IAAI,kBAAkB,EAAE,YAAY,EAAE;AACtC,IAAI,mBAAmB,EAAE,YAAY,EAAE;AACvC,IAAI,eAAe,EAAE,YAAY,EAAE;AACnC,GAAG;AACH,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM;AACxB,EAAE,WAAW,GAAG,EAAE,CAAC;AACnB,SAAS,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;AAC5C,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,EAAE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAC1B,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,oBAAoB,CAAC;AACjD,CAAC;AACD,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC1C,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,YAAY,EAAE,QAAQ,EAAE;AACjE,EAAE;AACF,IAAI,QAAQ,KAAK,OAAO,YAAY;AACpC,IAAI,UAAU,KAAK,OAAO,YAAY;AACtC,IAAI,IAAI,IAAI,YAAY;AACxB;AACA,IAAI,MAAM,KAAK;AACf,MAAM,wGAAwG;AAC9G,KAAK,CAAC;AACN,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC,CAAC;AACF,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,QAAQ,EAAE;AACtD,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,SAAS,cAAc,GAAG,EAAE;AAC5B,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;AAC/C,SAAS,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;AAChD,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,EAAE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAC1B,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,oBAAoB,CAAC;AACjD,CAAC;AACD,IAAI,sBAAsB,IAAI,aAAa,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC,CAAC;AAC9E,sBAAsB,CAAC,WAAW,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACpD,sBAAsB,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC;AACjD,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO;AAC/B,EAAE,oBAAoB,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;AAC/D,EAAE,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,SAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;AAC7D,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;AACnB,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,kBAAkB;AAChC,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;AACtC,IAAI,KAAK,EAAE,KAAK;AAChB,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE;AAChD,EAAE,OAAO,YAAY;AACrB,IAAI,UAAU,CAAC,IAAI;AACnB,IAAI,MAAM;AACV,IAAI,KAAK,CAAC;AACV,IAAI,KAAK,CAAC;AACV,IAAI,KAAK,CAAC;AACV,IAAI,UAAU,CAAC,KAAK;AACpB,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE;AACF,IAAI,QAAQ,KAAK,OAAO,MAAM;AAC9B,IAAI,IAAI,KAAK,MAAM;AACnB,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB;AAC1C,IAAI;AACJ,CAAC;AACD,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,IAAI,aAAa,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC/C,EAAE;AACF,IAAI,GAAG;AACP,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,KAAK,EAAE;AAC1C,MAAM,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAClC,KAAK,CAAC;AACN,IAAI;AACJ,CAAC;AACD,IAAI,0BAA0B,GAAG,MAAM,CAAC;AACxC,SAAS,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE;AACvC,EAAE,OAAO,QAAQ,KAAK,OAAO,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,GAAG;AAC/E,MAAM,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAC9B,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AACD,SAAS,MAAM,GAAG,EAAE;AACpB,SAAS,eAAe,CAAC,QAAQ,EAAE;AACnC,EAAE,QAAQ,QAAQ,CAAC,MAAM;AACzB,IAAI,KAAK,WAAW;AACpB,MAAM,OAAO,QAAQ,CAAC,KAAK,CAAC;AAC5B,IAAI,KAAK,UAAU;AACnB,MAAM,MAAM,QAAQ,CAAC,MAAM,CAAC;AAC5B,IAAI;AACJ,MAAM;AACN,SAAS,QAAQ,KAAK,OAAO,QAAQ,CAAC,MAAM;AAC5C,YAAY,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AACzC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS;AACzC,YAAY,QAAQ,CAAC,IAAI;AACzB,cAAc,UAAU,cAAc,EAAE;AACxC,gBAAgB,SAAS,KAAK,QAAQ,CAAC,MAAM;AAC7C,mBAAmB,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW;AACjD,mBAAmB,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC;AACrD,eAAe;AACf,cAAc,UAAU,KAAK,EAAE;AAC/B,gBAAgB,SAAS,KAAK,QAAQ,CAAC,MAAM;AAC7C,mBAAmB,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9E,eAAe;AACf,aAAa,CAAC;AACd,QAAQ,QAAQ,CAAC,MAAM;AACvB;AACA,QAAQ,KAAK,WAAW;AACxB,UAAU,OAAO,QAAQ,CAAC,KAAK,CAAC;AAChC,QAAQ,KAAK,UAAU;AACvB,UAAU,MAAM,QAAQ,CAAC,MAAM,CAAC;AAChC,OAAO;AACP,GAAG;AACH,EAAE,MAAM,QAAQ,CAAC;AACjB,CAAC;AACD,SAAS,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE;AAC3E,EAAE,IAAI,IAAI,GAAG,OAAO,QAAQ,CAAC;AAC7B,EAAE,IAAI,WAAW,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;AAClE,EAAE,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;AAC1B,EAAE,IAAI,IAAI,KAAK,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;AAC7C;AACA,IAAI,QAAQ,IAAI;AAChB,MAAM,KAAK,QAAQ,CAAC;AACpB,MAAM,KAAK,QAAQ,CAAC;AACpB,MAAM,KAAK,QAAQ;AACnB,QAAQ,cAAc,GAAG,CAAC,CAAC,CAAC;AAC5B,QAAQ,MAAM;AACd,MAAM,KAAK,QAAQ;AACnB,QAAQ,QAAQ,QAAQ,CAAC,QAAQ;AACjC,UAAU,KAAK,kBAAkB,CAAC;AAClC,UAAU,KAAK,iBAAiB;AAChC,YAAY,cAAc,GAAG,CAAC,CAAC,CAAC;AAChC,YAAY,MAAM;AAClB,UAAU,KAAK,eAAe;AAC9B,YAAY;AACZ,cAAc,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK;AAC9C,cAAc,YAAY;AAC1B,gBAAgB,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACjD,gBAAgB,KAAK;AACrB,gBAAgB,aAAa;AAC7B,gBAAgB,SAAS;AACzB,gBAAgB,QAAQ;AACxB,eAAe;AACf,YAAY,EAAE;AACd,SAAS;AACT,KAAK;AACL,EAAE,IAAI,cAAc;AACpB,IAAI;AACJ,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACpC,OAAO,cAAc;AACrB,QAAQ,EAAE,KAAK,SAAS,GAAG,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,SAAS;AACvE,MAAM,WAAW,CAAC,QAAQ,CAAC;AAC3B,WAAW,CAAC,aAAa,GAAG,EAAE;AAC9B,UAAU,IAAI,IAAI,cAAc;AAChC,aAAa,aAAa;AAC1B,cAAc,cAAc,CAAC,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;AAC9E,UAAU,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE;AACxE,YAAY,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC;AACZ,UAAU,IAAI,IAAI,QAAQ;AAC1B,WAAW,cAAc,CAAC,QAAQ,CAAC;AACnC,aAAa,QAAQ,GAAG,kBAAkB;AAC1C,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,iBAAiB,IAAI,IAAI,QAAQ,CAAC,GAAG;AACrC,iBAAiB,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAC3D,oBAAoB,EAAE;AACtB,oBAAoB,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO;AAC/C,sBAAsB,0BAA0B;AAChD,sBAAsB,KAAK;AAC3B,qBAAqB,GAAG,GAAG,CAAC;AAC5B,gBAAgB,cAAc;AAC9B,aAAa,CAAC;AACd,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,MAAM,CAAC;AACP,IAAI,EAAE;AACN,EAAE,cAAc,GAAG,CAAC,CAAC;AACrB,EAAE,IAAI,cAAc,GAAG,EAAE,KAAK,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;AAChE,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC;AAC3B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;AAC5C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC9B,SAAS,IAAI,GAAG,cAAc,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5D,SAAS,cAAc,IAAI,YAAY;AACvC,UAAU,SAAS;AACnB,UAAU,KAAK;AACf,UAAU,aAAa;AACvB,UAAU,IAAI;AACd,UAAU,QAAQ;AAClB,SAAS,CAAC,CAAC;AACX,OAAO,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,UAAU,KAAK,OAAO,CAAC;AAClE,IAAI;AACJ,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;AACxC,MAAM,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI;AACzC;AACA;AACA,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK;AAClC,SAAS,IAAI,GAAG,cAAc,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AAC9D,SAAS,cAAc,IAAI,YAAY;AACvC,UAAU,SAAS;AACnB,UAAU,KAAK;AACf,UAAU,aAAa;AACvB,UAAU,IAAI;AACd,UAAU,QAAQ;AAClB,SAAS,CAAC,CAAC;AACX,OAAO,IAAI,QAAQ,KAAK,IAAI,EAAE;AAC9B,IAAI,IAAI,UAAU,KAAK,OAAO,QAAQ,CAAC,IAAI;AAC3C,MAAM,OAAO,YAAY;AACzB,QAAQ,eAAe,CAAC,QAAQ,CAAC;AACjC,QAAQ,KAAK;AACb,QAAQ,aAAa;AACrB,QAAQ,SAAS;AACjB,QAAQ,QAAQ;AAChB,OAAO,CAAC;AACR,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAI,MAAM,KAAK;AACf,MAAM,iDAAiD;AACvD,SAAS,iBAAiB,KAAK,KAAK;AACpC,YAAY,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;AACzE,YAAY,KAAK,CAAC;AAClB,QAAQ,2EAA2E;AACnF,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,IAAI,IAAI,QAAQ,EAAE,OAAO,QAAQ,CAAC;AACxC,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,KAAK,EAAE;AAC1D,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9C,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE;AAC9B,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;AAC/B,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,IAAI;AACb,MAAM,UAAU,YAAY,EAAE;AAC9B,QAAQ,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO;AAC3D,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;AAClE,OAAO;AACP,MAAM,UAAU,KAAK,EAAE;AACvB,QAAQ,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO;AAC3D,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AAC3D,OAAO;AACP,KAAK,CAAC;AACN,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AAChF,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;AAC5D,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC;AACxB,CAAC;AACD,IAAI,iBAAiB;AACrB,EAAE,UAAU,KAAK,OAAO,WAAW;AACnC,MAAM,WAAW;AACjB,MAAM,UAAU,KAAK,EAAE;AACvB,QAAQ;AACR,UAAU,QAAQ,KAAK,OAAO,MAAM;AACpC,UAAU,UAAU,KAAK,OAAO,MAAM,CAAC,UAAU;AACjD,UAAU;AACV,UAAU,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE;AACrD,YAAY,OAAO,EAAE,CAAC,CAAC;AACvB,YAAY,UAAU,EAAE,CAAC,CAAC;AAC1B,YAAY,OAAO;AACnB,cAAc,QAAQ,KAAK,OAAO,KAAK;AACvC,cAAc,IAAI,KAAK,KAAK;AAC5B,cAAc,QAAQ,KAAK,OAAO,KAAK,CAAC,OAAO;AAC/C,kBAAkB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;AACvC,kBAAkB,MAAM,CAAC,KAAK,CAAC;AAC/B,YAAY,KAAK,EAAE,KAAK;AACxB,WAAW,CAAC,CAAC;AACb,UAAU,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO;AACnD,SAAS,MAAM;AACf,UAAU,QAAQ,KAAK,OAAO,OAAO;AACrC,UAAU,UAAU,KAAK,OAAO,OAAO,CAAC,IAAI;AAC5C,UAAU;AACV,UAAU,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AACnD,UAAU,OAAO;AACjB,SAAS;AACT,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,OAAO,CAAC;AACR,SAAS,IAAI,GAAG,EAAE;yBACF,GAAG;AACnB,EAAE,GAAG,EAAE,WAAW;AAClB,EAAE,OAAO,EAAE,UAAU,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;AAC5D,IAAI,WAAW;AACf,MAAM,QAAQ;AACd,MAAM,YAAY;AAClB,QAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,OAAO;AACP,MAAM,cAAc;AACpB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,KAAK,EAAE,UAAU,QAAQ,EAAE;AAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,WAAW,CAAC,QAAQ,EAAE,YAAY;AACtC,MAAM,CAAC,EAAE,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH,EAAE,OAAO,EAAE,UAAU,QAAQ,EAAE;AAC/B,IAAI;AACJ,MAAM,WAAW,CAAC,QAAQ,EAAE,UAAU,KAAK,EAAE;AAC7C,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO,CAAC,IAAI,EAAE;AACd,MAAM;AACN,GAAG;AACH,EAAE,IAAI,EAAE,UAAU,QAAQ,EAAE;AAC5B,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AACjC,MAAM,MAAM,KAAK;AACjB,QAAQ,uEAAuE;AAC/E,OAAO,CAAC;AACR,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG;AACH,EAAE;0BACe,GAAG,UAAU;yBACd,GAAG,oBAAoB;yBACvB,GAAG,oBAAoB;8BAClB,GAAG,cAAc;2BACpB,GAAG,uBAAuB;yBAC5B,GAAG,oBAAoB;gFACgC;AACvE,EAAE,qBAAqB;oBACZ,GAAG,YAAY;AAC1B,EAAE,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC1E,EAAE;sBACW,GAAG,UAAU,EAAE,EAAE;AAC9B,EAAE,OAAO,YAAY;AACrB,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACrC,GAAG,CAAC;AACJ,EAAE;6BACkB,GAAG,UAAU,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC5D,EAAE,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,OAAO;AAC5C,IAAI,MAAM,KAAK;AACf,MAAM,uDAAuD,GAAG,OAAO,GAAG,GAAG;AAC7E,KAAK,CAAC;AACN,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;AACvC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG;AACrB,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;AACnB,EAAE,IAAI,IAAI,IAAI,MAAM;AACpB,IAAI,KAAK,QAAQ,KAAK,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,CAAC,CAAC;AAC/D,IAAI,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;AACpD,IAAI,MAAM;AACV,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5C,QAAQ,KAAK,KAAK,QAAQ;AAC1B,QAAQ,QAAQ,KAAK,QAAQ;AAC7B,QAAQ,UAAU,KAAK,QAAQ;AAC/B,SAAS,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC;AACrD,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7C,EAAE,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AACtC,EAAE,IAAI,CAAC,KAAK,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAChD,OAAO,IAAI,CAAC,GAAG,QAAQ,EAAE;AACzB,IAAI,KAAK,IAAI,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE;AACnE,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,IAAI,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAChC,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvE,EAAE;8BACmB,GAAG,UAAU,YAAY,EAAE;AAChD,EAAE,YAAY,GAAG;AACjB,IAAI,QAAQ,EAAE,kBAAkB;AAChC,IAAI,aAAa,EAAE,YAAY;AAC/B,IAAI,cAAc,EAAE,YAAY;AAChC,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG,CAAC;AACJ,EAAE,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC;AACvC,EAAE,YAAY,CAAC,QAAQ,GAAG;AAC1B,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,QAAQ,EAAE,YAAY;AAC1B,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC;AACtB,EAAE;8BACmB,GAAG,UAAU,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC1D,EAAE,IAAI,QAAQ;AACd,IAAI,KAAK,GAAG,EAAE;AACd,IAAI,GAAG,GAAG,IAAI,CAAC;AACf,EAAE,IAAI,IAAI,IAAI,MAAM;AACpB,IAAI,KAAK,QAAQ,KAAK,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM;AAC9E,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3C,QAAQ,KAAK,KAAK,QAAQ;AAC1B,QAAQ,QAAQ,KAAK,QAAQ;AAC7B,QAAQ,UAAU,KAAK,QAAQ;AAC/B,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7C,EAAE,IAAI,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,EAAE,IAAI,CAAC,KAAK,cAAc,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACtD,OAAO,IAAI,CAAC,GAAG,cAAc,EAAE;AAC/B,IAAI,KAAK,IAAI,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE;AAC/E,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,IAAI,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;AAC/B,IAAI,KAAK,QAAQ,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,GAAG,cAAc;AAC1E,MAAM,KAAK,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC;AAChC,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrD,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9D,EAAE;0BACe,GAAG,YAAY;AAChC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,EAAE;2BACgB,GAAG,UAAU,MAAM,EAAE;AACvC,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9D,EAAE;+BACoB,GAAG,eAAe;qBAC5B,GAAG,UAAU,IAAI,EAAE;AAC/B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,eAAe;AAC7B,IAAI,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5C,IAAI,KAAK,EAAE,eAAe;AAC1B,GAAG,CAAC;AACJ,EAAE;qBACU,GAAG,UAAU,IAAI,EAAE,OAAO,EAAE;AACxC,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,eAAe;AAC7B,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,KAAK,CAAC,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO;AAChD,GAAG,CAAC;AACJ,EAAE;gCACqB,GAAG,UAAU,KAAK,EAAE;AAC3C,EAAE,IAAI,cAAc,GAAG,oBAAoB,CAAC,CAAC;AAC7C,IAAI,iBAAiB,GAAG,EAAE,CAAC;AAC3B,EAAE,oBAAoB,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAC7C,EAAE,IAAI;AACN,IAAI,IAAI,WAAW,GAAG,KAAK,EAAE;AAC7B,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,CAAC,CAAC;AACvD,IAAI,IAAI,KAAK,uBAAuB;AACpC,MAAM,uBAAuB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AAC9D,IAAI,QAAQ,KAAK,OAAO,WAAW;AACnC,MAAM,IAAI,KAAK,WAAW;AAC1B,MAAM,UAAU,KAAK,OAAO,WAAW,CAAC,IAAI;AAC5C,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AAChD,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,GAAG,SAAS;AACZ,IAAI,oBAAoB,CAAC,CAAC,GAAG,cAAc,CAAC;AAC5C,GAAG;AACH,EAAE;yCAC8B,GAAG,YAAY;AAC/C,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;AAClD,EAAE;oBACS,GAAG,UAAU,MAAM,EAAE;AAChC,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5C,EAAE;+BACoB,GAAG,UAAU,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE;AACpE,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAChF,EAAE;4BACiB,GAAG,UAAU,QAAQ,EAAE,IAAI,EAAE;AAChD,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC5D,EAAE;2BACgB,GAAG,UAAU,OAAO,EAAE;AACxC,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpD,EAAE;8BACmB,GAAG,YAAY,GAAG;iCACf,GAAG,UAAU,KAAK,EAAE,YAAY,EAAE;AAC1D,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACtE,EAAE;0BACe,GAAG,UAAU,MAAM,EAAE,IAAI,EAAE;AAC5C,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,EAAE;sBACW,GAAG,YAAY;AAC5B,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACxC,EAAE;oCACyB,GAAG,UAAU,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;AAC3D,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACvE,EAAE;mCACwB,GAAG,UAAU,MAAM,EAAE,IAAI,EAAE;AACrD,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjE,EAAE;gCACqB,GAAG,UAAU,MAAM,EAAE,IAAI,EAAE;AAClD,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9D,EAAE;wBACa,GAAG,UAAU,MAAM,EAAE,IAAI,EAAE;AAC1C,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtD,EAAE;8BACmB,GAAG,UAAU,WAAW,EAAE,OAAO,EAAE;AACxD,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpE,EAAE;2BACgB,GAAG,UAAU,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;AAC1D,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACtE,EAAE;uBACY,GAAG,UAAU,YAAY,EAAE;AACzC,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACrD,EAAE;yBACc,GAAG,UAAU,YAAY,EAAE;AAC3C,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACvD,EAAE;qCAC0B,GAAG;AAC/B,EAAE,SAAS;AACX,EAAE,WAAW;AACb,EAAE,iBAAiB;AACnB,EAAE;AACF,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,oBAAoB;AACpD,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,iBAAiB;AACrB,GAAG,CAAC;AACJ,EAAE;8BACmB,GAAG,YAAY;AACpC,EAAE,OAAO,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;AAChD,EAAE;wBACa,GAAG;;ACvhByB;AAC3C,EAAEA,aAAc,GAAGC,gBAAoC;AACvD;;ACFA,IAAI,KAAK,GAAGA,aAAgB,CAAC;AAC7B,IAAI,OAAO,GAAGC,SAA0B,CAAC;AACzC;AACA,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC;AAC9B,SAAS,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,EAAE;AAC5C,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,oBAAoB;AAC1C,IAAI,GAAG,CAAC,SAAS;AACjB,IAAI,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAClC,IAAI,MAAM,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;AACzC,GAAG,CAAC;AACJ,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,WAAW,KAAK;AACpC,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC/C,EAAE,MAAM,aAAa,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC9D,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACpC,EAAE,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,CAAC,WAAW,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;AACnF;cACc,GAAG,OAAO;gBACR,GAAG;;;ACvBnB;AACA,IAAI,OAAO,GAAGD,SAA0B,CAAC;AACzC,IAAI,KAAK,GAAGC,OAAwB,CAAC;AACrC;AACA;AACA;AACA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC1C,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE;AAC7G,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;AACzC,EAAE,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACxC,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE;AAC7G,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACvC,EAAE,CAAC,CAAC;AACJ,CAAC,CAAC;;;ACHF,MAAM,6BAA6B,GAA2B;IAC5D,qBAAqB,EAAE,EAAE;IACzB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,GAAG;IACX,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,EAAE;IAC5B,YAAY,EAAE,EAAE;IAChB,gCAAgC,EAAE,EAAE;IACpC,gBAAgB,EAAE,KAAK;IACvB,kBAAkB,EAAE,KAAK;IACzB,wBAAwB,EAAE,EAAE;IAC5B,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,OAAO;IACnB,mBAAmB,EAAE,SAAS;IAC9B,yBAAyB,EAAE,EAAE;IAC7B,uBAAuB,EAAE,SAAS;IAClC,wBAAwB,EAAE,SAAS;IACnC,sBAAsB,EAAE,SAAS;IACjC,kBAAkB,EAAE,CAAC;IACrB,oBAAoB,EAAE,EAAE;IACxB,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,SAAS;;IAEvB,SAAS,EAAE,SAAQ;CACpB,CAAC;MAEI,gBAAgB,GAAGC,mBAAW,CAAmB,CAAC,IAAI,EAAE,GAAG;IAC/D,MAAM,SAAS,GAA8B;QAC3C,GAAG,EAAE,CAAC,KAAK;YACT,IAAI,CAAC,KAAK,CAAC,CAAC;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QACD,0BAA0B,EAAE,CAAC,UAAmC,KAC9D,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;YACxB,wBAAwB,EAAE;gBACxB,GAAG,KAAK,CAAC,wBAAwB;gBACjC,CAAC,UAAU,CAAC,SAAS,GAAG,UAAU;aACnC;SACF,CAAC,CAAC;QACL,0BAA0B,EAAE,CAAC,UAAmC,KAC9D,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;YACxB,wBAAwB,EAAE;gBACxB,GAAG,KAAK,CAAC,wBAAwB;gBACjC,CAAC,UAAU,CAAC,SAAS,GAAG,UAAU;aACnC;SACF,CAAC,CAAC;QACL,kBAAkB,EAAE;YAClB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;YACxB,MAAM,MAAM,GAAG,KAAK;kBAChB,IAAIC,EAAM,CAAC,EAAE,QAAQ,EAAEC,CAAQ,CAAC,KAAK,EAAE,CAAC;kBACxC,SAAS,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC;gBAC1B,IAAI;gBACJ,MAAM;gBACN,oBAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;aAC9D,CAAC,CAAC;YACH,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE;gBAC7B,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACxB;aACF,CAAC,CAAC;SACJ;QACD,6BAA6B,EAAE,CAAC,SAAiB,KAC/C,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK;YAClB,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC;YACpD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO;gBACL,wBAAwB,EAAE;oBACxB,GAAG,YAAY;iBAChB;aACF,CAAC;SACH,CAAC;QACJ,6BAA6B,EAAE,CAAC,SAAiB,KAC/C,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK;YAClB,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC;YACrD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO;gBACL,wBAAwB,EAAE;oBACxB,GAAG,aAAa;iBACjB;aACF,CAAC;SACH,CAAC;QACJ,eAAe,EAAE;YACf,SAAS,CAAC,GAAG,CAAC;gBACZ,wBAAwB,EAAE,EAAE;aAC7B,CAAC,CAAC;SACJ;QACD,MAAM,EAAE;YACN,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;YACpB,KAAK,CAAC,MAAM,EAAE,GAAG,CACfA,CAAQ,CAAC,IAAI,EACb,sCAAsC,KAAK,CAAC,UAAU,GAAG,CAC1D,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;YAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;gBAC5B,KAAK,CAAC,MAAM,EAAE,GAAG,CACfA,CAAQ,CAAC,IAAI,EACb,oDAAoD,CACrD,CAAC;gBACF,SAAS,CAAC,GAAG,CAAC;oBACZ,yBAAyB,EAAE,EAAE;oBAC7B,kBAAkB,EAAE,CAAC;oBACrB,iBAAiB,EAAE,CAAC;oBACpB,UAAU,EAAE,EAAE;iBACf,CAAC,CAAC;gBACH,OAAO;aACR;YAED,SAAS,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CACzB;gBACE,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI,EAAE,KAAK,CAAC,UAAU;gBACtB,IAAI,EAAE,KAAK,CAAC,QAAQ;gBACpB,QAAQ,EAAE,KAAK,CAAC,YAAY;gBAC5B,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;gBACxD,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;gBACxD,MAAM,EAAE,KAAK,CAAC,oBAAoB;sBAC9B,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;sBAC1D,CAAC;gBACL,KAAK,EAAE,KAAK,CAAC,oBAAoB;aAClC,EACD,SAAS,CAAC,wCAAwC,EAClD,SAAS,CAAC,wBAAwB,CACnC,CAAC;SACH;QACD,wBAAwB,EAAE,CAAC,KAA6B,KACtD,SAAS,CAAC,GAAG,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;QACjD,wCAAwC,EAAE,CACxC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,oBAAoB;YAEpB,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK;gBAChC,OAAO;oBACL,kBAAkB,EAAE,KAAK;oBACzB,yBAAyB,EAAE,KAAK;oBAChC,uBAAuB,EAAE,UAAU;oBACnC,iBAAiB;;oBAEf,KAAK,KAAK,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC;oBAClE,kBAAkB,EAAE,KAAK;oBACzB,wBAAwB,EAAE,MAAM;oBAChC,sBAAsB,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM;oBACzD,mBAAmB,EAAE,OAAO;iBAC7B,CAAC;aACH,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,GAAG,CACfA,CAAQ,CAAC,KAAK,EACd,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC3C,CAAC;YACF,KAAK,CAAC,MAAM,EAAE,GAAG,CACfA,CAAQ,CAAC,KAAK,EACd,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAClD,CAAC;SACH;QACD,+CAA+C,EAAE,CAC/C,OAAO,EACP,QAAQ,EACR,KAAK;YAEL,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YACpD,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK;gBAClB,OAAO;oBACL,kBAAkB,EAAE,KAAK;oBACzB,gCAAgC,EAAE,KAAK;oBACvC,uBAAuB,EAAE,UAAU;oBACnC,iBAAiB;;oBAEf,KAAK,KAAK,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC;oBAClE,kBAAkB,EAAE,KAAK;oBACzB,mBAAmB,EAAE,OAAO;iBAC7B,CAAC;aACH,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,GAAG,CACfA,CAAQ,CAAC,KAAK,EACd,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC3C,CAAC;SACH;QACD,eAAe,EAAE,OAAO,KAAa;YACnC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YAErD,KAAK,CAAC,MAAM,EAAE,GAAG,CACfA,CAAQ,CAAC,IAAI,EACb,gCAAgC,KAAK,CAAC,YAAY,GAAG,CACtD,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;YAED,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAC/B,KAAK,EACL,SAAS,CAAC,+CAA+C,EACzD,SAAS,CAAC,wBAAwB,CACnC,CAAC;SACH;QACD,oBAAoB,EAAE,CAAC,SAAS,KAC9B,SAAS,CAAC,GAAG,CAAC;YACZ,gBAAgB,EAAE,SAAS;SAC5B,CAAC;QACJ,aAAa,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC5D,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,KACvC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC3C,aAAa,EAAE,CAAC,UAAU;YACxB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;YAEvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,IAAI,EAAE,kBAAkB,EAAE,CAAC;aAC5B;;;;YAID,SAAS,CAAC,GAAG,CAAC;gBACZ,UAAU;aACX,CAAC,CAAC;SACJ;QACD,4BAA4B,EAAE,CAAC,KAAK,KAClC,SAAS,CAAC,GAAG,CAAC,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;QACrD,qBAAqB,EAAE,CAAC,KAAK,KAC3B,SAAS,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;QAC9C,oBAAoB,EAAE,OAAO,IAAI;YAC/B,SAAS,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,uBAAuB,EAAE,OAAO,OAAO;YACrC,SAAS,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,0BAA0B,EAAE,CAAC,MAAM,EAAE,cAAc;YACjD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,GACpE,6BAA6B,CAAC;YAChC,SAAS,CAAC,GAAG,CAAC;gBACZ,MAAM,EAAE,MAAM,IAAI,aAAa;gBAC/B,cAAc,EAAE,cAAc,IAAI,qBAAqB;aACxD,CAAC,CAAC;SACJ;KACF,CAAC;IAEF,MAAM,WAAW,GAAqB;QACpC,GAAG,6BAA6B;QAChC,GAAG,SAAS;KACb,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;;;;","names":["reactModule","require$$0","require$$1","createStore","Logger","LogLevel"],"sources":["../core-sdk/dist/index.js","../../node_modules/zustand/vanilla.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/zustand/react.js","../../node_modules/zustand/index.js","src/store/SearchcraftStore.ts"],"sourcesContent":["var B = Object.defineProperty;\nvar N = (a, e, n) => e in a ? B(a, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : a[e] = n;\nvar h = (a, e, n) => N(a, typeof e != \"symbol\" ? e + \"\" : e, n);\nvar O = /* @__PURE__ */ ((a) => (a[a.DEBUG = 0] = \"DEBUG\", a[a.INFO = 1] = \"INFO\", a[a.WARN = 2] = \"WARN\", a[a.ERROR = 3] = \"ERROR\", a))(O || {});\nclass pe {\n constructor(e) {\n h(this, \"logLevel\");\n h(this, \"logFormatter\");\n this.logLevel = e.logLevel || 1, this.logFormatter = e.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(e, n) {\n return `[${O[e]}] ${(/* @__PURE__ */ new Date()).toISOString()}: ${n}`;\n }\n debug(e) {\n this.logLevel <= 0 && console.log(this.logFormatter(0, e));\n }\n info(e) {\n this.logLevel <= 1 && console.info(this.logFormatter(1, e));\n }\n warn(e) {\n this.logLevel <= 2 && console.warn(this.logFormatter(2, e));\n }\n error(e) {\n this.logLevel <= 3 && console.error(this.logFormatter(3, e));\n }\n log(e, n) {\n switch (e) {\n case 0:\n this.debug(n);\n break;\n case 1:\n this.info(n);\n break;\n case 2:\n this.warn(n);\n break;\n case 3:\n this.error(n);\n break;\n }\n }\n}\nfunction y(a, e, n, r) {\n return new (n || (n = Promise))(function(o, i) {\n function t(s) {\n try {\n l(r.next(s));\n } catch (c) {\n i(c);\n }\n }\n function u(s) {\n try {\n l(r.throw(s));\n } catch (c) {\n i(c);\n }\n }\n function l(s) {\n var c;\n s.done ? o(s.value) : (c = s.value, c instanceof n ? c : new n(function(g) {\n g(c);\n })).then(t, u);\n }\n l((r = r.apply(a, [])).next());\n });\n}\nfunction w(a, e) {\n var n, r, o, i, t = { label: 0, sent: function() {\n if (1 & o[0]) throw o[1];\n return o[1];\n }, trys: [], ops: [] };\n return i = { next: u(0), throw: u(1), return: u(2) }, typeof Symbol == \"function\" && (i[Symbol.iterator] = function() {\n return this;\n }), i;\n function u(l) {\n return function(s) {\n return function(c) {\n if (n) throw new TypeError(\"Generator is already executing.\");\n for (; i && (i = 0, c[0] && (t = 0)), t; ) try {\n if (n = 1, r && (o = 2 & c[0] ? r.return : c[0] ? r.throw || ((o = r.return) && o.call(r), 0) : r.next) && !(o = o.call(r, c[1])).done) return o;\n switch (r = 0, o && (c = [2 & c[0], o.value]), c[0]) {\n case 0:\n case 1:\n o = c;\n break;\n case 4:\n return t.label++, { value: c[1], done: !1 };\n case 5:\n t.label++, r = c[1], c = [0];\n continue;\n case 7:\n c = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (o = t.trys, !((o = o.length > 0 && o[o.length - 1]) || c[0] !== 6 && c[0] !== 2)) {\n t = 0;\n continue;\n }\n if (c[0] === 3 && (!o || c[1] > o[0] && c[1] < o[3])) {\n t.label = c[1];\n break;\n }\n if (c[0] === 6 && t.label < o[1]) {\n t.label = o[1], o = c;\n break;\n }\n if (o && t.label < o[2]) {\n t.label = o[2], t.ops.push(c);\n break;\n }\n o[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n c = e.call(a, t);\n } catch (g) {\n c = [6, g], r = 0;\n } finally {\n n = o = 0;\n }\n if (5 & c[0]) throw c[1];\n return { value: c[0] ? c[1] : void 0, done: !0 };\n }([l, s]);\n };\n }\n}\nvar S = { exclude: [] }, D = {}, j = { timeout: \"true\" }, v = function(a, e) {\n typeof window < \"u\" && (D[a] = e);\n}, G = function() {\n return Object.fromEntries(Object.entries(D).filter(function(a) {\n var e, n = a[0];\n return !(!((e = S == null ? void 0 : S.exclude) === null || e === void 0) && e.includes(n));\n }).map(function(a) {\n return [a[0], (0, a[1])()];\n }));\n};\nfunction T(a) {\n return a ^= a >>> 16, a = Math.imul(a, 2246822507), a ^= a >>> 13, a = Math.imul(a, 3266489909), (a ^= a >>> 16) >>> 0;\n}\nvar m = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);\nfunction p(a, e) {\n return a << e | a >>> 32 - e;\n}\nfunction _(a, e) {\n var n;\n if (e === void 0 && (e = 0), e = e ? 0 | e : 0, typeof a == \"string\" && (n = a, a = new TextEncoder().encode(n).buffer), !(a instanceof ArrayBuffer)) throw new TypeError(\"Expected key to be ArrayBuffer or string\");\n var r = new Uint32Array([e, e, e, e]);\n (function(i, t) {\n for (var u = i.byteLength / 16 | 0, l = new Uint32Array(i, 0, 4 * u), s = 0; s < u; s++) {\n var c = l.subarray(4 * s, 4 * (s + 1));\n c[0] = Math.imul(c[0], m[0]), c[0] = p(c[0], 15), c[0] = Math.imul(c[0], m[1]), t[0] = t[0] ^ c[0], t[0] = p(t[0], 19), t[0] = t[0] + t[1], t[0] = Math.imul(t[0], 5) + 1444728091, c[1] = Math.imul(c[1], m[1]), c[1] = p(c[1], 16), c[1] = Math.imul(c[1], m[2]), t[1] = t[1] ^ c[1], t[1] = p(t[1], 17), t[1] = t[1] + t[2], t[1] = Math.imul(t[1], 5) + 197830471, c[2] = Math.imul(c[2], m[2]), c[2] = p(c[2], 17), c[2] = Math.imul(c[2], m[3]), t[2] = t[2] ^ c[2], t[2] = p(t[2], 15), t[2] = t[2] + t[3], t[2] = Math.imul(t[2], 5) + 2530024501, c[3] = Math.imul(c[3], m[3]), c[3] = p(c[3], 18), c[3] = Math.imul(c[3], m[0]), t[3] = t[3] ^ c[3], t[3] = p(t[3], 13), t[3] = t[3] + t[0], t[3] = Math.imul(t[3], 5) + 850148119;\n }\n })(a, r), function(i, t) {\n var u = i.byteLength / 16 | 0, l = i.byteLength % 16, s = new Uint32Array(4), c = new Uint8Array(i, 16 * u, l);\n switch (l) {\n case 15:\n s[3] = s[3] ^ c[14] << 16;\n case 14:\n s[3] = s[3] ^ c[13] << 8;\n case 13:\n s[3] = s[3] ^ c[12] << 0, s[3] = Math.imul(s[3], m[3]), s[3] = p(s[3], 18), s[3] = Math.imul(s[3], m[0]), t[3] = t[3] ^ s[3];\n case 12:\n s[2] = s[2] ^ c[11] << 24;\n case 11:\n s[2] = s[2] ^ c[10] << 16;\n case 10:\n s[2] = s[2] ^ c[9] << 8;\n case 9:\n s[2] = s[2] ^ c[8] << 0, s[2] = Math.imul(s[2], m[2]), s[2] = p(s[2], 17), s[2] = Math.imul(s[2], m[3]), t[2] = t[2] ^ s[2];\n case 8:\n s[1] = s[1] ^ c[7] << 24;\n case 7:\n s[1] = s[1] ^ c[6] << 16;\n case 6:\n s[1] = s[1] ^ c[5] << 8;\n case 5:\n s[1] = s[1] ^ c[4] << 0, s[1] = Math.imul(s[1], m[1]), s[1] = p(s[1], 16), s[1] = Math.imul(s[1], m[2]), t[1] = t[1] ^ s[1];\n case 4:\n s[0] = s[0] ^ c[3] << 24;\n case 3:\n s[0] = s[0] ^ c[2] << 16;\n case 2:\n s[0] = s[0] ^ c[1] << 8;\n case 1:\n s[0] = s[0] ^ c[0] << 0, s[0] = Math.imul(s[0], m[0]), s[0] = p(s[0], 15), s[0] = Math.imul(s[0], m[1]), t[0] = t[0] ^ s[0];\n }\n }(a, r), function(i, t) {\n t[0] = t[0] ^ i.byteLength, t[1] = t[1] ^ i.byteLength, t[2] = t[2] ^ i.byteLength, t[3] = t[3] ^ i.byteLength, t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0, t[0] = T(t[0]), t[1] = T(t[1]), t[2] = T(t[2]), t[3] = T(t[3]), t[0] = t[0] + t[1] | 0, t[0] = t[0] + t[2] | 0, t[0] = t[0] + t[3] | 0, t[1] = t[1] + t[0] | 0, t[2] = t[2] + t[0] | 0, t[3] = t[3] + t[0] | 0;\n }(a, r);\n var o = new Uint8Array(r.buffer);\n return Array.from(o).map(function(i) {\n return i.toString(16).padStart(2, \"0\");\n }).join(\"\");\n}\nfunction W(a, e) {\n return new Promise(function(n) {\n setTimeout(function() {\n return n(e);\n }, a);\n });\n}\nfunction V(a, e, n) {\n return Promise.all(a.map(function(r) {\n return Promise.race([r, W(e, n)]);\n }));\n}\nfunction $() {\n return y(this, void 0, void 0, function() {\n var a, e, n, r, o;\n return w(this, function(i) {\n switch (i.label) {\n case 0:\n return i.trys.push([0, 2, , 3]), a = G(), e = Object.keys(a), [4, V(Object.values(a), (S == null ? void 0 : S.timeout) || 1e3, j)];\n case 1:\n return n = i.sent(), r = n.filter(function(t) {\n return t !== void 0;\n }), o = {}, r.forEach(function(t, u) {\n o[e[u]] = t;\n }), [2, U(o, S.exclude || [])];\n case 2:\n throw i.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction U(a, e) {\n var n = {}, r = function(i) {\n if (a.hasOwnProperty(i)) {\n var t = a[i];\n if (typeof t != \"object\" || Array.isArray(t)) e.includes(i) || (n[i] = t);\n else {\n var u = U(t, e.map(function(l) {\n return l.startsWith(i + \".\") ? l.slice(i.length + 1) : l;\n }));\n Object.keys(u).length > 0 && (n[i] = u);\n }\n }\n };\n for (var o in a) r(o);\n return n;\n}\nfunction z(a) {\n return y(this, void 0, void 0, function() {\n var e, n;\n return w(this, function(r) {\n switch (r.label) {\n case 0:\n return r.trys.push([0, 2, , 3]), [4, $()];\n case 1:\n return e = r.sent(), n = _(JSON.stringify(e)), [2, n.toString()];\n case 2:\n throw r.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction H(a) {\n for (var e = 0, n = 0; n < a.length; ++n) e += Math.abs(a[n]);\n return e;\n}\nfunction q(a, e, n) {\n for (var r = [], o = 0; o < a[0].data.length; o++) {\n for (var i = [], t = 0; t < a.length; t++) i.push(a[t].data[o]);\n r.push(Q(i));\n }\n var u = new Uint8ClampedArray(r);\n return new ImageData(u, e, n);\n}\nfunction Q(a) {\n if (a.length === 0) return 0;\n for (var e = {}, n = 0, r = a; n < r.length; n++)\n e[i = r[n]] = (e[i] || 0) + 1;\n var o = a[0];\n for (var i in e) e[i] > e[o] && (o = parseInt(i, 10));\n return o;\n}\nfunction C() {\n if (typeof navigator > \"u\") return { name: \"unknown\", version: \"unknown\" };\n for (var a = navigator.userAgent, e = { Edg: \"Edge\", OPR: \"Opera\" }, n = 0, r = [/(?<name>Edge|Edg)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>Safari)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>[A-Za-z]+)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>SamsungBrowser)\\/(?<version>\\d+(?:\\.\\d+)?)/]; n < r.length; n++) {\n var o = r[n], i = a.match(o);\n if (i && i.groups) return { name: e[i.groups.name] || i.groups.name, version: i.groups.version };\n }\n return { name: \"unknown\", version: \"unknown\" };\n}\nv(\"audio\", function() {\n return y(this, void 0, void 0, function() {\n return w(this, function(a) {\n return [2, new Promise(function(e, n) {\n try {\n var r = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), o = r.createBufferSource(), i = r.createOscillator();\n i.frequency.value = 1e3;\n var t, u = r.createDynamicsCompressor();\n u.threshold.value = -50, u.knee.value = 40, u.ratio.value = 12, u.attack.value = 0, u.release.value = 0.2, i.connect(u), u.connect(r.destination), i.start(), r.oncomplete = function(l) {\n t = l.renderedBuffer.getChannelData(0), e({ sampleHash: H(t), oscillator: i.type, maxChannels: r.destination.maxChannelCount, channelCountMode: o.channelCountMode });\n }, r.startRendering();\n } catch (l) {\n console.error(\"Error creating audio fingerprint:\", l), n(l);\n }\n })];\n });\n });\n});\nvar K = C().name !== \"SamsungBrowser\" ? 1 : 3, P = 280, k = 20;\nC().name != \"Firefox\" && v(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(a) {\n var e = Array.from({ length: K }, function() {\n return function() {\n var n = document.createElement(\"canvas\"), r = n.getContext(\"2d\");\n if (!r) return new ImageData(1, 1);\n n.width = P, n.height = k;\n var o = r.createLinearGradient(0, 0, n.width, n.height);\n o.addColorStop(0, \"red\"), o.addColorStop(0.16666666666666666, \"orange\"), o.addColorStop(0.3333333333333333, \"yellow\"), o.addColorStop(0.5, \"green\"), o.addColorStop(0.6666666666666666, \"blue\"), o.addColorStop(0.8333333333333334, \"indigo\"), o.addColorStop(1, \"violet\"), r.fillStyle = o, r.fillRect(0, 0, n.width, n.height);\n var i = \"Random Text WMwmil10Oo\";\n r.font = \"23.123px Arial\", r.fillStyle = \"black\", r.fillText(i, -5, 15), r.fillStyle = \"rgba(0, 0, 255, 0.5)\", r.fillText(i, -3.3, 17.7), r.beginPath(), r.moveTo(0, 0), r.lineTo(2 * n.width / 7, n.height), r.strokeStyle = \"white\", r.lineWidth = 2, r.stroke();\n var t = r.getImageData(0, 0, n.width, n.height);\n return t;\n }();\n });\n a({ commonImageDataHash: _(q(e, P, k).data.toString()).toString() });\n });\n});\nvar I, X = [\"Arial\", \"Arial Black\", \"Arial Narrow\", \"Arial Rounded MT\", \"Arimo\", \"Archivo\", \"Barlow\", \"Bebas Neue\", \"Bitter\", \"Bookman\", \"Calibri\", \"Cabin\", \"Candara\", \"Century\", \"Century Gothic\", \"Comic Sans MS\", \"Constantia\", \"Courier\", \"Courier New\", \"Crimson Text\", \"DM Mono\", \"DM Sans\", \"DM Serif Display\", \"DM Serif Text\", \"Dosis\", \"Droid Sans\", \"Exo\", \"Fira Code\", \"Fira Sans\", \"Franklin Gothic Medium\", \"Garamond\", \"Geneva\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Inconsolata\", \"Indie Flower\", \"Inter\", \"Josefin Sans\", \"Karla\", \"Lato\", \"Lexend\", \"Lucida Bright\", \"Lucida Console\", \"Lucida Sans Unicode\", \"Manrope\", \"Merriweather\", \"Merriweather Sans\", \"Montserrat\", \"Myriad\", \"Noto Sans\", \"Nunito\", \"Nunito Sans\", \"Open Sans\", \"Optima\", \"Orbitron\", \"Oswald\", \"Pacifico\", \"Palatino\", \"Perpetua\", \"PT Sans\", \"PT Serif\", \"Poppins\", \"Prompt\", \"Public Sans\", \"Quicksand\", \"Rajdhani\", \"Recursive\", \"Roboto\", \"Roboto Condensed\", \"Rockwell\", \"Rubik\", \"Segoe Print\", \"Segoe Script\", \"Segoe UI\", \"Sora\", \"Source Sans Pro\", \"Space Mono\", \"Tahoma\", \"Taviraj\", \"Times\", \"Times New Roman\", \"Titillium Web\", \"Trebuchet MS\", \"Ubuntu\", \"Varela Round\", \"Verdana\", \"Work Sans\"], J = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction F(a, e) {\n if (!a) throw new Error(\"Canvas context not supported\");\n return a.font, a.font = \"72px \".concat(e), a.measureText(\"WwMmLli0Oo\").width;\n}\nfunction Y() {\n var a, e = document.createElement(\"canvas\"), n = (a = e.getContext(\"webgl\")) !== null && a !== void 0 ? a : e.getContext(\"experimental-webgl\");\n if (n && \"getParameter\" in n) try {\n var r = (n.getParameter(n.VENDOR) || \"\").toString(), o = (n.getParameter(n.RENDERER) || \"\").toString(), i = { vendor: r, renderer: o, version: (n.getParameter(n.VERSION) || \"\").toString(), shadingLanguageVersion: (n.getParameter(n.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!o.length || !r.length) {\n var t = n.getExtension(\"WEBGL_debug_renderer_info\");\n if (t) {\n var u = (n.getParameter(t.UNMASKED_VENDOR_WEBGL) || \"\").toString(), l = (n.getParameter(t.UNMASKED_RENDERER_WEBGL) || \"\").toString();\n u && (i.vendorUnmasked = u), l && (i.rendererUnmasked = l);\n }\n }\n return i;\n } catch {\n }\n return \"undefined\";\n}\nfunction Z() {\n var a = new Float32Array(1), e = new Uint8Array(a.buffer);\n return a[0] = 1 / 0, a[0] = a[0] - a[0], e[3];\n}\nfunction ee(a, e) {\n var n = {};\n return e.forEach(function(r) {\n var o = function(i) {\n if (i.length === 0) return null;\n var t = {};\n i.forEach(function(s) {\n var c = String(s);\n t[c] = (t[c] || 0) + 1;\n });\n var u = i[0], l = 1;\n return Object.keys(t).forEach(function(s) {\n t[s] > l && (u = s, l = t[s]);\n }), u;\n }(a.map(function(i) {\n return r in i ? i[r] : void 0;\n }).filter(function(i) {\n return i !== void 0;\n }));\n o && (n[r] = o);\n }), n;\n}\nfunction te() {\n var a = [], e = { \"prefers-contrast\": [\"high\", \"more\", \"low\", \"less\", \"forced\", \"no-preference\"], \"any-hover\": [\"hover\", \"none\"], \"any-pointer\": [\"none\", \"coarse\", \"fine\"], pointer: [\"none\", \"coarse\", \"fine\"], hover: [\"hover\", \"none\"], update: [\"fast\", \"slow\"], \"inverted-colors\": [\"inverted\", \"none\"], \"prefers-reduced-motion\": [\"reduce\", \"no-preference\"], \"prefers-reduced-transparency\": [\"reduce\", \"no-preference\"], scripting: [\"none\", \"initial-only\", \"enabled\"], \"forced-colors\": [\"active\", \"none\"] };\n return Object.keys(e).forEach(function(n) {\n e[n].forEach(function(r) {\n matchMedia(\"(\".concat(n, \": \").concat(r, \")\")).matches && a.push(\"\".concat(n, \": \").concat(r));\n });\n }), a;\n}\nfunction ne() {\n if (window.location.protocol === \"https:\" && typeof window.ApplePaySession == \"function\") try {\n for (var a = window.ApplePaySession.supportsVersion, e = 15; e > 0; e--) if (a(e)) return e;\n } catch {\n return 0;\n }\n return 0;\n}\nC().name != \"Firefox\" && v(\"fonts\", function() {\n var a = this;\n return new Promise(function(e, n) {\n try {\n (function(r) {\n var o;\n y(this, void 0, void 0, function() {\n var i, t, u;\n return w(this, function(l) {\n switch (l.label) {\n case 0:\n return document.body ? [3, 2] : [4, (s = 50, new Promise(function(g) {\n return setTimeout(g, s, c);\n }))];\n case 1:\n return l.sent(), [3, 0];\n case 2:\n if ((i = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (t = i.style).setProperty(\"position\", \"fixed\"), t.setProperty(\"display\", \"block\", \"important\"), t.setProperty(\"visibility\", \"visible\"), t.setProperty(\"border\", \"0\"), t.setProperty(\"opacity\", \"0\"), i.src = \"about:blank\", document.body.appendChild(i), !(u = i.contentDocument || ((o = i.contentWindow) === null || o === void 0 ? void 0 : o.document))) throw new Error(\"Iframe document is not accessible\");\n return r({ iframe: u }), setTimeout(function() {\n document.body.removeChild(i);\n }, 0), [2];\n }\n var s, c;\n });\n });\n })(function(r) {\n var o = r.iframe;\n return y(a, void 0, void 0, function() {\n var i, t, u, l;\n return w(this, function(s) {\n return i = o.createElement(\"canvas\"), t = i.getContext(\"2d\"), u = J.map(function(c) {\n return F(t, c);\n }), l = {}, X.forEach(function(c) {\n var g = F(t, c);\n u.includes(g) || (l[c] = g);\n }), e(l), [2];\n });\n });\n });\n } catch {\n n({ error: \"unsupported\" });\n }\n });\n}), v(\"hardware\", function() {\n return new Promise(function(a, e) {\n var n = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, r = window.performance && window.performance.memory ? window.performance.memory : 0;\n a({ videocard: Y(), architecture: Z(), deviceMemory: n.toString() || \"undefined\", jsHeapSizeLimit: r.jsHeapSizeLimit || 0 });\n });\n}), v(\"locales\", function() {\n return new Promise(function(a) {\n a({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });\n });\n}), v(\"permissions\", function() {\n return y(this, void 0, void 0, function() {\n var a;\n return w(this, function(e) {\n return I = (S == null ? void 0 : S.permissions_to_check) || [\"accelerometer\", \"accessibility\", \"accessibility-events\", \"ambient-light-sensor\", \"background-fetch\", \"background-sync\", \"bluetooth\", \"camera\", \"clipboard-read\", \"clipboard-write\", \"device-info\", \"display-capture\", \"gyroscope\", \"geolocation\", \"local-fonts\", \"magnetometer\", \"microphone\", \"midi\", \"nfc\", \"notifications\", \"payment-handler\", \"persistent-storage\", \"push\", \"speaker\", \"storage-access\", \"top-level-storage-access\", \"window-management\", \"query\"], a = Array.from({ length: (S == null ? void 0 : S.retries) || 3 }, function() {\n return function() {\n return y(this, void 0, void 0, function() {\n var n, r, o, i, t;\n return w(this, function(u) {\n switch (u.label) {\n case 0:\n n = {}, r = 0, o = I, u.label = 1;\n case 1:\n if (!(r < o.length)) return [3, 6];\n i = o[r], u.label = 2;\n case 2:\n return u.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: i })];\n case 3:\n return t = u.sent(), n[i] = t.state.toString(), [3, 5];\n case 4:\n return u.sent(), [3, 5];\n case 5:\n return r++, [3, 1];\n case 6:\n return [2, n];\n }\n });\n });\n }();\n }), [2, Promise.all(a).then(function(n) {\n return ee(n, I);\n })];\n });\n });\n}), v(\"plugins\", function() {\n var a = [];\n if (navigator.plugins) for (var e = 0; e < navigator.plugins.length; e++) {\n var n = navigator.plugins[e];\n a.push([n.name, n.filename, n.description].join(\"|\"));\n }\n return new Promise(function(r) {\n r({ plugins: a });\n });\n}), v(\"screen\", function() {\n return new Promise(function(a) {\n a({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: te() });\n });\n}), v(\"system\", function() {\n return new Promise(function(a) {\n var e = C();\n a({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: e.name, version: e.version }, applePayVersion: ne() });\n });\n});\nvar f, re = C().name !== \"SamsungBrowser\" ? 1 : 3, d = null;\nv(\"webgl\", function() {\n return y(this, void 0, void 0, function() {\n var a;\n return w(this, function(e) {\n typeof document < \"u\" && ((f = document.createElement(\"canvas\")).width = 200, f.height = 100, d = f.getContext(\"webgl\"));\n try {\n if (!d) throw new Error(\"WebGL not supported\");\n return a = Array.from({ length: re }, function() {\n return function() {\n try {\n if (!d) throw new Error(\"WebGL not supported\");\n var n = `\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n `, r = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, o = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);\n if (!o || !i) throw new Error(\"Failed to create shaders\");\n if (d.shaderSource(o, n), d.shaderSource(i, r), d.compileShader(o), !d.getShaderParameter(o, d.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + d.getShaderInfoLog(o));\n if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + d.getShaderInfoLog(i));\n var t = d.createProgram();\n if (!t) throw new Error(\"Failed to create shader program\");\n if (d.attachShader(t, o), d.attachShader(t, i), d.linkProgram(t), !d.getProgramParameter(t, d.LINK_STATUS)) throw new Error(\"Shader program linking failed: \" + d.getProgramInfoLog(t));\n d.useProgram(t);\n for (var u = 137, l = new Float32Array(4 * u), s = 2 * Math.PI / u, c = 0; c < u; c++) {\n var g = c * s;\n l[4 * c] = 0, l[4 * c + 1] = 0, l[4 * c + 2] = Math.cos(g) * (f.width / 2), l[4 * c + 3] = Math.sin(g) * (f.height / 2);\n }\n var L = d.createBuffer();\n d.bindBuffer(d.ARRAY_BUFFER, L), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);\n var R = d.getAttribLocation(t, \"position\");\n d.enableVertexAttribArray(R), d.vertexAttribPointer(R, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, f.width, f.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * u);\n var x = new Uint8ClampedArray(f.width * f.height * 4);\n return d.readPixels(0, 0, f.width, f.height, d.RGBA, d.UNSIGNED_BYTE, x), new ImageData(x, f.width, f.height);\n } catch {\n return new ImageData(1, 1);\n } finally {\n d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));\n }\n }();\n }), [2, { commonImageHash: _(q(a, f.width, f.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar b = function(a, e, n, r) {\n for (var o = (n - e) / r, i = 0, t = 0; t < r; t++)\n i += a(e + (t + 0.5) * o);\n return i * o;\n};\nv(\"math\", function() {\n return y(void 0, void 0, void 0, function() {\n return w(this, function(a) {\n return [2, { acos: Math.acos(0.5), asin: b(Math.asin, -1, 1, 97), atan: b(Math.atan, -1, 1, 97), cos: b(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: b(Math.sin, -Math.PI, Math.PI, 97), sinh: b(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: b(Math.tan, 0, 2 * Math.PI, 97), tanh: b(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst ae = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet E = (a = 21) => {\n let e = \"\", n = crypto.getRandomValues(new Uint8Array(a |= 0));\n for (; a--; )\n e += ae[n[a] & 63];\n return e;\n};\nclass M {\n constructor(e) {\n h(this, \"config\");\n this.config = e;\n }\n async getAds(e) {\n return [];\n }\n async onQuerySubmitted(e) {\n }\n async onQueryFetched(e, n) {\n }\n async onInputCleared() {\n }\n async onAdContainerRendered(e) {\n }\n async onAdContainerViewed(e) {\n }\n}\nclass oe extends M {\n /**\n * Gets ads from the adMarketplace API based on the search term.\n */\n async getAds(e) {\n if (!this.config.admSub)\n return console.error(\"No admSub specified in config.\"), [];\n const r = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({\n partner: \"demofeed\",\n sub1: this.config.admSub,\n qt: e.searchTerm,\n v: \"2.0\",\n rfr: \"searchcraft.io\",\n \"results-ta\": `${this.config.admTextAdQuantity || 0}`,\n \"results-pa\": `${this.config.admProductAdQuantity || 0}`\n }).toString()}`, i = await (await fetch(r, { method: \"GET\" })).json(), t = i.product_ads.map(\n (s) => ({\n id: E(),\n adSource: \"adMarketplace\",\n admAdType: \"adm-product-ad\",\n admAd: s\n })\n ), u = i.text_ads.map((s) => ({\n id: E(),\n adSource: \"adMarketplace\",\n admAdType: \"adm-text-ad\",\n admAd: s\n }));\n return t.concat(u);\n }\n async onAdContainerViewed(e) {\n var r;\n const n = e.adClientResponseItem;\n (r = n.admAd) != null && r.impression_url && fetch(n.admAd.impression_url);\n }\n}\nclass ie extends M {\n async getAds(e) {\n return [];\n }\n}\nconst se = 1e3;\nclass ce extends M {\n constructor(n) {\n super(n);\n h(this, \"adCallTimeout\");\n this.addScriptTagToDocument();\n }\n async onQuerySubmitted(n) {\n this.addScriptTagToDocument();\n }\n async onQueryFetched(n, r) {\n var o;\n if ((((o = r.data.hits) == null ? void 0 : o.length) || 0) === 0) {\n this.removeScriptTagFromDocument();\n return;\n }\n this.performAdCall(se);\n }\n async onInputCleared() {\n this.removeScriptTagFromDocument();\n }\n performAdCall(n) {\n this.adCallTimeout && clearTimeout(this.adCallTimeout), this.adCallTimeout = setTimeout(() => {\n this.addScriptTagToDocument();\n try {\n PostRelease == null || PostRelease.Start({ ptd: [this.config.nativoPlacementId] });\n } catch (r) {\n console.error(r);\n }\n }, n);\n }\n async getAds(n) {\n return [];\n }\n addScriptTagToDocument() {\n if (!document.head.querySelector(\"#nativo-tag\")) {\n const n = document.createElement(\"script\");\n n.type = \"text/javascript\", n.src = \"https://s.ntv.io/serve/load.js\", n.id = \"nativo-tag\", n.setAttribute(\"data-ntv-set-no-auto-start\", \"true\"), document.head.appendChild(n);\n }\n }\n removeScriptTagFromDocument() {\n const n = document.head.querySelector(\"#nativo-tag\");\n n && document.head.removeChild(n);\n }\n}\nconst ue = 600;\nclass de {\n constructor(e, n, r) {\n h(this, \"measureRequestTimeout\");\n h(this, \"measureRequestsBatched\", []);\n h(this, \"config\");\n h(this, \"sdkInfo\");\n h(this, \"userId\");\n h(this, \"sessionId\");\n /**\n * Sends a measure event to the `/measure/event` endpoint for analytics purposes.\n *\n * @param {MeasureEventName} eventName - Name of the event.\n * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.\n * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.\n */\n h(this, \"sendMeasureEvent\", async (e, n = {}, r = {}) => {\n const o = {\n event_name: e,\n properties: {\n searchcraft_index_names: this.config.index,\n session_id: this.sessionId,\n ...n\n },\n user: {\n ...this.measureRequestUser,\n ...r\n }\n };\n if (e === \"document_clicked\") {\n const i = JSON.stringify(o), t = `${this.baseMeasureUrl}/event`;\n try {\n const u = await fetch(t, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.readKey,\n \"X-Sc-User-Id\": this.userId,\n \"X-Sc-Session-Id\": this.sessionId\n },\n body: i,\n keepalive: !0\n });\n if (!u.ok)\n throw new Error(\n `Failed to send request: ${u.status} ${u.statusText}`\n );\n } catch (u) {\n throw console.error(\"Error sending MeasureRequest:\", u), u;\n }\n } else\n this.measureRequestsBatched.push(o), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const i = JSON.stringify({ items: this.measureRequestsBatched }), t = `${this.baseMeasureUrl}/batch`;\n try {\n const u = await fetch(t, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.readKey,\n \"X-Sc-User-Id\": this.userId,\n \"X-Sc-Session-Id\": this.sessionId\n },\n body: i,\n keepalive: !0\n });\n if (this.measureRequestsBatched = [], !u.ok)\n throw new Error(\n `Failed to send request: ${u.status} ${u.statusText}`\n );\n return;\n } catch (u) {\n throw this.measureRequestsBatched = [], console.error(\"Error sending MeasureRequest:\", u), u;\n }\n }, ue);\n });\n this.config = e, this.sdkInfo = n, this.userId = r, this.sessionId = E(), this.sendMeasureEvent(\"sdk_initialized\");\n }\n /**\n * Getter for the base url used by the /measure endpoints.\n */\n get baseMeasureUrl() {\n return `${this.config.endpointURL}/measure`;\n }\n /**\n * Getter for the measure request user. Uses config values + navigator values.\n */\n get measureRequestUser() {\n return {\n user_id: this.userId,\n locale: navigator.language || \"en-US\",\n os: navigator.userAgent.includes(\"Windows\") ? \"Windows\" : navigator.userAgent.includes(\"Mac\") ? \"Mac\" : navigator.userAgent.includes(\"Linux\") ? \"Linux\" : \"Unknown\",\n platform: navigator.platform || \"Unknown\",\n sdk_name: this.sdkInfo.sdkName,\n sdk_version: this.sdkInfo.sdkVersion,\n user_agent: navigator.userAgent || \"Unknown\"\n };\n }\n}\nconst le = (a) => a.endsWith(\"/\") ? a.slice(0, -1) : a, A = (a) => {\n let e = \"\";\n if (e = a.trim(), e = e.replace(/[‘’“”]/g, (r) => ({\n \"‘\": \"'\",\n \"’\": \"'\",\n \"“\": '\"',\n \"”\": '\"'\n })[r] || r), (e.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n return e;\n}, he = 500;\nclass me {\n constructor(e, n, r) {\n h(this, \"config\");\n h(this, \"userId\");\n h(this, \"parent\");\n h(this, \"searchCompletedEventTimeout\");\n h(this, \"abortController\");\n /**\n * Make the request to get the search results.\n * @param {properties} properties - The properties for the search.\n * @param sendTelemetry - Whether or not to emit measure and subscription events for this search.\n * @returns\n */\n h(this, \"getSearchResponseItems\", async (e, n = !0) => {\n var i, t, u, l, s, c;\n (i = this.abortController) == null || i.abort(\n \"A newer search request has replaced this one.\"\n ), this.abortController = new AbortController();\n let r, o = \"\";\n return typeof e == \"string\" ? o = A(e) : (e.searchTerm = A(e.searchTerm), o = e.searchTerm), (t = this.parent.measureClient) == null || t.sendMeasureEvent(\"search_requested\", {\n search_term: o\n }), this.parent.emitEvent(\"query_submitted\", {\n name: \"query_submitted\",\n data: {\n searchTerm: o\n }\n }), (u = this.parent.adClient) == null || u.onQuerySubmitted(\n typeof e == \"string\" ? { searchTerm: o, mode: \"exact\" } : e\n ), typeof e == \"string\" ? r = await this.handleGetSearchResponseItemsWithString(o) : r = await this.handleGetSearchResponseItemsWithObject(e), n && ((l = this.parent.measureClient) == null || l.sendMeasureEvent(\"search_response_received\", {\n search_term: o,\n number_of_documents: r.data.count\n }), clearTimeout(this.searchCompletedEventTimeout), this.searchCompletedEventTimeout = setTimeout(() => {\n var g;\n (g = this.parent.measureClient) == null || g.sendMeasureEvent(\"search_completed\", {\n search_term: o,\n number_of_documents: r.data.count\n });\n }, he), this.parent.emitEvent(\"query_fetched\", {\n name: \"query_fetched\",\n data: {\n searchTerm: o\n }\n }), (((s = r.data.hits) == null ? void 0 : s.length) || 0) === 0 && this.parent.emitEvent(\"no_results_returned\", {\n name: \"no_results_returned\"\n }), (c = this.parent.adClient) == null || c.onQueryFetched(\n typeof e == \"string\" ? { searchTerm: o, mode: \"exact\" } : e,\n r\n )), r;\n });\n h(this, \"handleGetSearchResponseItemsWithString\", async (e) => {\n var o, i;\n let n;\n try {\n n = JSON.parse(e), n = {\n limit: this.config.searchResultsPerPage,\n ...n\n };\n } catch {\n throw new Error(\"Error: Query string is not valid json.\");\n }\n const r = await fetch(this.baseSearchUrl, {\n method: \"POST\",\n headers: {\n Authorization: this.config.readKey,\n \"Content-Type\": \"application/json\",\n \"X-Sc-User-Id\": this.userId,\n \"X-Sc-Session-Id\": ((o = this.parent.measureClient) == null ? void 0 : o.sessionId) || E()\n },\n body: JSON.stringify(n),\n signal: (i = this.abortController) == null ? void 0 : i.signal\n });\n if (!r.ok)\n throw new Error(\n `Error: ${r.statusText} (Status: ${r.status})`\n );\n return await r.json();\n });\n h(this, \"handleGetSearchResponseItemsWithObject\", async (e) => {\n var r, o;\n const n = await fetch(this.baseSearchUrl, {\n method: \"POST\",\n headers: {\n Authorization: this.config.readKey,\n \"Content-Type\": \"application/json\",\n \"X-Sc-User-Id\": this.userId,\n \"X-Sc-Session-Id\": ((r = this.parent.measureClient) == null ? void 0 : r.sessionId) || E()\n },\n body: JSON.stringify({\n query: this.formatParamsForRequest(e),\n offset: e.offset || 0,\n limit: e.limit || this.config.searchResultsPerPage || 20,\n ...e.order_by && {\n order_by: e.order_by\n },\n ...e.sort && {\n sort: e.sort\n }\n }),\n signal: (o = this.abortController) == null ? void 0 : o.signal\n });\n if (!n.ok)\n throw new Error(\n `Error: ${n.statusText} (Status: ${n.status})`\n );\n return await n.json();\n });\n this.parent = e, this.config = n, this.userId = r;\n }\n /**\n * Getter for the base url used by the /search endpoint.\n */\n get baseSearchUrl() {\n return `${this.config.endpointURL}/index/${this.config.index.join(\",\")}/search`;\n }\n /**\n * Builds a query object for the SearchClient request.\n * @param {properties} properties - The properties for the search.\n * @returns {SearchClientQuery} - A properly formatted SearchClient query object.\n */\n formatParamsForRequest(e) {\n const n = [];\n let r = \"should\";\n e.facetPathsForIndexFields && Object.keys(e.facetPathsForIndexFields).forEach((t) => {\n var l;\n const u = (l = e.facetPathsForIndexFields) == null ? void 0 : l[t];\n u && (r = \"must\", n.push({\n occur: \"must\",\n exact: {\n ctx: A(u.value)\n }\n }));\n }), e.rangeValueForIndexFields && Object.keys(e.rangeValueForIndexFields).forEach((t) => {\n var l;\n const u = (l = e.rangeValueForIndexFields) == null ? void 0 : l[t];\n u && (r = \"must\", n.push({\n occur: \"must\",\n exact: {\n ctx: A(u.value)\n }\n }));\n });\n const o = e.searchTerm, i = e.mode === \"fuzzy\" ? { fuzzy: { ctx: o } } : {\n exact: {\n ctx: `${o.startsWith('\"') ? o : `\"${o}\"`}`\n }\n };\n return n.push({\n occur: e.mode === \"exact\" ? \"must\" : r,\n // Valid, as 'occur' is a required property in SearchClientQuery\n ...i\n }), n;\n }\n}\nclass ve {\n constructor(e, n) {\n h(this, \"config\");\n h(this, \"measureClient\");\n h(this, \"searchClient\");\n h(this, \"adClient\");\n h(this, \"userId\");\n h(this, \"requestTimeout\");\n h(this, \"subscriptionEvents\", {});\n h(this, \"getResponseItems\", (e, n, r) => {\n const o = async () => {\n (async () => {\n var l;\n if (!this.searchClient) {\n console.error(\"Search client was not initialized.\");\n return;\n }\n let i;\n try {\n i = await this.searchClient.getSearchResponseItems(e);\n } catch (s) {\n console.info(`Search request error: ${s}`);\n return;\n }\n if (!i) {\n console.error(\"Search request error: Search response was undefined\");\n return;\n }\n const t = (i.data.hits || []).filter((s) => !!s.doc).map((s) => ({\n id: E(),\n document: s.doc || { id: -1 },\n source_index: s.source_index,\n type: \"SearchDocument\"\n }));\n let u;\n if (typeof e == \"object\") {\n const s = structuredClone(\n e\n );\n if (s.facetPathsForIndexFields && Object.keys(s.facetPathsForIndexFields).length > 0) {\n s.facetPathsForIndexFields = void 0;\n try {\n u = await ((l = this == null ? void 0 : this.searchClient) == null ? void 0 : l.getSearchResponseItems(s, !1));\n } catch (c) {\n console.info(`Search request error: ${c}`);\n }\n }\n }\n n(e, i, t, u);\n })(), (async () => {\n if (this.adClient && typeof e != \"string\") {\n const i = await this.adClient.getAds(e);\n r(i);\n }\n })();\n };\n clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(\n o,\n this.config.searchDebounceDelay\n ) : o();\n });\n if (!e.endpointURL || !e.index || !e.readKey)\n throw new Error(\n \"Endpoint URL, Index value(s), and Read Key must be provided\"\n );\n this.config = {\n ...e,\n // Strips off the trailing '/' from an endpointURL if one is accidentally added\n endpointURL: le(e.endpointURL)\n }, this.userId = \"\", typeof window < \"u\" && typeof customElements < \"u\" && n.sdkName === \"@searchcraft/javascript-sdk\" && globalThis.__scDefineCustomElements__ && globalThis.__scDefineCustomElements__(), typeof window < \"u\" && (this.initClients(this.config, n), this.initInputForms(), this.startObservingMutations());\n }\n initInputForms() {\n const e = document.querySelectorAll(\n \"searchcraft-input-form\"\n );\n setTimeout(() => {\n e.forEach((n) => {\n n.core = this;\n });\n }, 40);\n }\n /**\n * When changes happen in the DOM, we want to link any input forms found to the instance of the core.\n */\n startObservingMutations() {\n new MutationObserver((n, r) => {\n let o = !1;\n for (const i of n)\n i.type === \"childList\" && i.addedNodes.forEach((t) => {\n t.nodeType === 1 && (t.getAttribute(\"class\") || \"\").toLowerCase() === \"searchcraft-input-form\" && (o = !0);\n });\n o && this.initInputForms();\n }).observe(document.body, { childList: !0, subtree: !0 });\n }\n initClients(e, n) {\n setTimeout(async () => {\n let r = this.config.userId;\n switch (r || (r = await z()), this.measureClient = new de(e, n, r), this.searchClient = new me(this, e, r), e.adSource) {\n case \"adMarketplace\":\n this.adClient = new oe(e);\n break;\n case \"Nativo\":\n this.adClient = new ce(e);\n break;\n case \"Custom\":\n this.adClient = new ie(e);\n break;\n }\n this.emitEvent(\"initialized\", {\n name: \"initialized\"\n });\n }, 300);\n }\n emitEvent(e, n) {\n var r;\n (r = this.subscriptionEvents[e]) == null || r.forEach((o) => {\n o(n);\n });\n }\n subscribe(e, n) {\n return this.subscriptionEvents[e] || (this.subscriptionEvents[e] = []), this.subscriptionEvents[e].push(\n n\n ), () => {\n this.subscriptionEvents[e] = this.subscriptionEvents[e].filter((r) => r !== n);\n };\n }\n /**\n * Called when a `<searchcraft-ad>` component is rendered\n */\n handleAdContainerRendered(e) {\n var n;\n (n = this.adClient) == null || n.onAdContainerRendered(e), this.emitEvent(\"ad_container_rendered\", {\n name: \"ad_container_rendered\",\n data: {\n adContainerId: e.adContainerId,\n adSource: e.adSource,\n searchTerm: e.searchTerm\n }\n });\n }\n /**\n * Called when a `<searchcraft-ad>` is viewed\n */\n handleAdContainerViewed(e) {\n var n;\n (n = this.adClient) == null || n.onAdContainerViewed(e), this.emitEvent(\"ad_container_viewed\", {\n name: \"ad_container_viewed\",\n data: {\n adContainerId: e.adContainerId,\n adSource: e.adSource,\n searchTerm: e.searchTerm\n }\n });\n }\n /**\n * Perform various actions when the input is cleared\n */\n handleInputCleared() {\n var e;\n this.emitEvent(\"input_cleared\", {\n name: \"input_cleared\"\n }), (e = this.adClient) == null || e.onInputCleared();\n }\n}\nexport {\n O as LogLevel,\n pe as Logger,\n ve as SearchcraftCore\n};\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nconst createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexports.createStore = createStore;\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.act = function () {\n throw Error(\"act(...) is not supported in production builds of React.\");\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.0.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nvar React = require('react');\nvar vanilla = require('zustand/vanilla');\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = vanilla.createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexports.create = create;\nexports.useStore = useStore;\n","'use strict';\n\nvar vanilla = require('zustand/vanilla');\nvar react = require('zustand/react');\n\n\n\nObject.keys(vanilla).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return vanilla[k]; }\n\t});\n});\nObject.keys(react).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return react[k]; }\n\t});\n});\n","import { createStore } from 'zustand';\n\nimport {\n Logger,\n LogLevel,\n type FacetPathsForIndexField,\n type RangeValueForIndexField,\n type AdClientResponseItem,\n} from '@searchcraft/core';\nimport type {\n SearchcraftState,\n SearchcraftStateFunctions,\n SearchcraftStateValues,\n} from './SearchcraftStore.types';\n\nconst initialSearchcraftStateValues: SearchcraftStateValues = {\n adClientResponseItems: [],\n core: undefined,\n hotkey: 'k',\n hotkeyModifier: 'meta',\n logger: undefined,\n facetPathsForIndexFields: {},\n initialQuery: '',\n initialSearchClientResponseItems: [],\n isPopoverVisible: false,\n isSearchInProgress: false,\n rangeValueForIndexFields: {},\n searchTerm: '',\n searchMode: 'fuzzy',\n searchClientRequest: undefined,\n searchClientResponseItems: [],\n searchResponseTimeTaken: undefined,\n searchResponseFacetPrime: undefined,\n supplementalFacetPrime: undefined,\n searchResultsCount: 0,\n searchResultsPerPage: 20,\n searchResultsPage: 1,\n sortType: undefined,\n orderByField: undefined,\n // Callbacks\n afterInit: () => {},\n};\n\nconst searchcraftStore = createStore<SearchcraftState>((_set, get) => {\n const functions: SearchcraftStateFunctions = {\n set: (state) => {\n _set(state);\n return get();\n },\n addFacetPathsForIndexField: (facetPaths: FacetPathsForIndexField) =>\n functions.set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [facetPaths.fieldName]: facetPaths,\n },\n })),\n addRangeValueForIndexField: (rangeValue: RangeValueForIndexField) =>\n functions.set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [rangeValue.fieldName]: rangeValue,\n },\n })),\n getSearchcraftCore: () => {\n const { core } = get();\n return core;\n },\n init: (core, debug = false) => {\n const logger = debug\n ? new Logger({ logLevel: LogLevel.DEBUG })\n : undefined;\n const state = functions.set({\n core,\n logger,\n searchResultsPerPage: core?.config.searchResultsPerPage || 20,\n });\n core?.subscribe('initialized', () => {\n if (state.afterInit) {\n state.afterInit(state);\n }\n });\n },\n removeFacetPathsForIndexField: (fieldName: string) =>\n functions.set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n removeRangeValueForIndexField: (fieldName: string) =>\n functions.set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n resetFacetPaths: () => {\n functions.set({\n facetPathsForIndexFields: {},\n });\n },\n search: async () => {\n const state = get();\n state.logger?.log(\n LogLevel.INFO,\n `Starting search with search term: \"${state.searchTerm}\"`,\n );\n\n if (!state.core) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n if (!state.searchTerm.trim()) {\n state.logger?.log(\n LogLevel.INFO,\n 'No search request was made: search term was empty.',\n );\n functions.set({\n searchClientResponseItems: [],\n searchResultsCount: 0,\n searchResultsPage: 1,\n searchTerm: '',\n });\n return;\n }\n\n functions.set({ isSearchInProgress: true });\n state.core.getResponseItems(\n {\n searchTerm: state.searchTerm,\n mode: state.searchMode,\n sort: state.sortType,\n order_by: state.orderByField,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n offset: state.searchResultsPerPage\n ? state.searchResultsPerPage * (state.searchResultsPage - 1)\n : 0,\n limit: state.searchResultsPerPage,\n },\n functions.setSearchClientResponseItemsFromResponse,\n functions.setAdClientResponseItems,\n );\n },\n setAdClientResponseItems: (items: AdClientResponseItem[]) =>\n functions.set({ adClientResponseItems: items }),\n setSearchClientResponseItemsFromResponse: (\n request,\n response,\n items,\n supplementalResponse,\n ) => {\n const { facets, count = 0, time_taken = 0 } = response.data;\n const state = functions.set((state) => {\n return {\n isSearchInProgress: false,\n searchClientResponseItems: items,\n searchResponseTimeTaken: time_taken,\n searchResultsPage:\n // Reset to first page when response count changes\n count === state.searchResultsCount ? state.searchResultsPage : 1,\n searchResultsCount: count,\n searchResponseFacetPrime: facets,\n supplementalFacetPrime: supplementalResponse?.data.facets,\n searchClientRequest: request,\n };\n });\n\n state.logger?.log(\n LogLevel.DEBUG,\n `Search results: ${JSON.stringify(items)}`,\n );\n state.logger?.log(\n LogLevel.DEBUG,\n `Facets from response: ${JSON.stringify(facets)}`,\n );\n },\n setInitialSearchClientResponseItemsFromResponse: (\n request,\n response,\n items,\n ) => {\n const state = get();\n const { count = 0, time_taken = 0 } = response.data;\n functions.set((state) => {\n return {\n isSearchInProgress: false,\n initialSearchClientResponseItems: items,\n searchResponseTimeTaken: time_taken,\n searchResultsPage:\n // Reset to first page when response count changes\n count === state.searchResultsCount ? state.searchResultsPage : 1,\n searchResultsCount: count,\n searchClientRequest: request,\n };\n });\n\n state.logger?.log(\n LogLevel.DEBUG,\n `Search results: ${JSON.stringify(items)}`,\n );\n },\n setInitialQuery: async (query: string) => {\n const state = functions.set({ initialQuery: query });\n\n state.logger?.log(\n LogLevel.INFO,\n `Starting search with query: \"${state.initialQuery}\"`,\n );\n\n if (!state.core) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n await state.core.getResponseItems(\n query,\n functions.setInitialSearchClientResponseItemsFromResponse,\n functions.setAdClientResponseItems,\n );\n },\n setPopoverVisibility: (isVisible) =>\n functions.set({\n isPopoverVisible: isVisible,\n }),\n setSearchMode: (mode) => functions.set({ searchMode: mode }),\n setSortOrder: ({ orderByField, sortType }) =>\n functions.set({ sortType, orderByField }),\n setSearchTerm: (searchTerm) => {\n const { core } = get();\n\n if (searchTerm.length === 0) {\n core?.handleInputCleared();\n }\n /**\n * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.\n */\n functions.set({\n searchTerm,\n });\n },\n setSearchClientResponseItems: (items) =>\n functions.set({ searchClientResponseItems: items }),\n setSearchResultsCount: (count) =>\n functions.set({ searchResultsCount: count }),\n setSearchResultsPage: async (page) => {\n functions.set({ searchResultsPage: page });\n await functions.search();\n },\n setSearchResultsPerPage: async (perPage) => {\n functions.set({ searchResultsPerPage: perPage });\n await functions.search();\n },\n setHotKeyAndHotKeyModifier: (hotkey, hotkeyModifier) => {\n const { hotkey: initialHotkey, hotkeyModifier: initialHotkeyModifier } =\n initialSearchcraftStateValues;\n functions.set({\n hotkey: hotkey || initialHotkey,\n hotkeyModifier: hotkeyModifier || initialHotkeyModifier,\n });\n },\n };\n\n const stateObject: SearchcraftState = {\n ...initialSearchcraftStateValues,\n ...functions,\n };\n\n return stateObject;\n});\n\nexport { searchcraftStore };\n"],"version":3}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Given a document and a SearchResultMapping, return a mapped value from the document.
|
|
3
|
+
* Applies formatting based on the values specified in the `SearchResultFieldName` values.
|
|
4
|
+
*
|
|
5
|
+
* @param document
|
|
6
|
+
* @param {SearchResultMapping} mapping
|
|
7
|
+
* @returns {string | undefined}
|
|
8
|
+
*/
|
|
9
|
+
function getDocumentValueFromSearchResultMapping(document, mapping) {
|
|
10
|
+
if (document && mapping) {
|
|
11
|
+
return mapping.fieldNames
|
|
12
|
+
.map((fieldNameDetails) => {
|
|
13
|
+
let valueFound = document[fieldNameDetails.fieldName];
|
|
14
|
+
if (valueFound) {
|
|
15
|
+
switch (fieldNameDetails.dataType) {
|
|
16
|
+
case 'date': {
|
|
17
|
+
valueFound = formatRelativeDate(valueFound, fieldNameDetails.dateFormatLocale, fieldNameDetails.dateFormatOptions);
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
case 'number': {
|
|
21
|
+
valueFound = Intl.NumberFormat(fieldNameDetails.numberFormatLocale, fieldNameDetails.numberFormatOptions).format(valueFound * (fieldNameDetails.numberScale || 1));
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return valueFound;
|
|
27
|
+
})
|
|
28
|
+
.filter((value) => !!value)
|
|
29
|
+
.join(mapping.delimiter || ' ');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Format a number with commas as thousands separators.
|
|
34
|
+
*
|
|
35
|
+
* @param number - The number to be formatted.
|
|
36
|
+
* @returns {string} - The formatted number as a string.
|
|
37
|
+
*/
|
|
38
|
+
function formatNumberWithCommas(number) {
|
|
39
|
+
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Format a date or date string. The string is formatted relative to today's date
|
|
43
|
+
* (e.g. 2 days ago) until the date range is greater than a month.
|
|
44
|
+
*
|
|
45
|
+
* @param dateInput - The date to be formatted.
|
|
46
|
+
* @param locale - The language used for formatting the date.
|
|
47
|
+
* @param options - The non-default options used for formatting the date.
|
|
48
|
+
* @returns {string} - The formatted date as a string.
|
|
49
|
+
*/
|
|
50
|
+
function formatRelativeDate(dateInput, locale = 'en-US', options = {
|
|
51
|
+
day: 'numeric',
|
|
52
|
+
month: 'long',
|
|
53
|
+
year: 'numeric',
|
|
54
|
+
}) {
|
|
55
|
+
const date = new Date(dateInput);
|
|
56
|
+
const now = new Date();
|
|
57
|
+
const diffMillis = now.getTime() - date.getTime();
|
|
58
|
+
const oneMonthInMillis = 30 * 24 * 60 * 60 * 1000; // Approx. 1 month in ms
|
|
59
|
+
if (diffMillis < oneMonthInMillis) {
|
|
60
|
+
const diffSeconds = Math.trunc(diffMillis / 1000);
|
|
61
|
+
const diffMinutes = Math.trunc(diffSeconds / 60);
|
|
62
|
+
const diffHours = Math.trunc(diffMinutes / 60);
|
|
63
|
+
const diffDays = Math.trunc(diffHours / 24);
|
|
64
|
+
const relativeTimeFormat = new Intl.RelativeTimeFormat(locale, options);
|
|
65
|
+
if (diffDays >= 1) {
|
|
66
|
+
return relativeTimeFormat.format(-diffDays, 'day');
|
|
67
|
+
}
|
|
68
|
+
if (diffHours >= 1) {
|
|
69
|
+
return relativeTimeFormat.format(-diffHours, 'hour');
|
|
70
|
+
}
|
|
71
|
+
if (diffMinutes >= 1) {
|
|
72
|
+
return relativeTimeFormat.format(-diffMinutes, 'minute');
|
|
73
|
+
}
|
|
74
|
+
return relativeTimeFormat.format(0, 'second');
|
|
75
|
+
}
|
|
76
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Given a date, returns the timestamp (in ms) for the start of the specified unit.
|
|
80
|
+
*
|
|
81
|
+
* @param unit - The unit to calculate the start of ('year' | 'month' | 'day' | 'hour').
|
|
82
|
+
* @param timestamp - The date to evaluate.
|
|
83
|
+
* @param offset - The number of units to offset by.
|
|
84
|
+
* @returns The timestamp (in ms) for the start of the specified unit.
|
|
85
|
+
*/
|
|
86
|
+
function getStartOf(timestamp, unit, offset = 0) {
|
|
87
|
+
const d = new Date(timestamp);
|
|
88
|
+
switch (unit) {
|
|
89
|
+
case 'year':
|
|
90
|
+
return new Date(d.getFullYear() + offset, 0, 1, 0, 0, 0, 0).getTime();
|
|
91
|
+
case 'month':
|
|
92
|
+
return new Date(d.getFullYear(), d.getMonth() + offset, 1, 0, 0, 0, 0).getTime();
|
|
93
|
+
case 'day':
|
|
94
|
+
return new Date(d.getFullYear(), d.getMonth(), d.getDate() + offset, 0, 0, 0, 0).getTime();
|
|
95
|
+
case 'hour':
|
|
96
|
+
return new Date(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours() + offset, 0, 0, 0).getTime();
|
|
97
|
+
default:
|
|
98
|
+
throw new Error(`Unsupported unit: ${unit}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Given a start and end date, returns the difference in the number of the specified units.
|
|
103
|
+
*
|
|
104
|
+
* @param units - The unit to measure ('year' | 'month' | 'day' | 'hour').
|
|
105
|
+
* @param startDate - The start date.
|
|
106
|
+
* @param endDate - The end date.
|
|
107
|
+
* @returns The difference in the given unit.
|
|
108
|
+
*/
|
|
109
|
+
function getDifferenceInUnits(unit, startTime, endTime) {
|
|
110
|
+
const start = new Date(startTime);
|
|
111
|
+
const end = new Date(endTime);
|
|
112
|
+
switch (unit) {
|
|
113
|
+
case 'year':
|
|
114
|
+
return Math.abs(end.getFullYear() - start.getFullYear());
|
|
115
|
+
case 'month':
|
|
116
|
+
return Math.abs(end.getFullYear() * 12 +
|
|
117
|
+
end.getMonth() -
|
|
118
|
+
(start.getFullYear() * 12 + start.getMonth()));
|
|
119
|
+
case 'day':
|
|
120
|
+
return Math.floor(Math.abs(end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24));
|
|
121
|
+
case 'hour':
|
|
122
|
+
return Math.floor(Math.abs(end.getTime() - start.getTime()) / (1000 * 60 * 60));
|
|
123
|
+
default:
|
|
124
|
+
throw new Error(`Unsupported unit: ${unit}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Returns the ordinal representation of a day of the month.
|
|
129
|
+
*/
|
|
130
|
+
const getOrdinal = (n) => {
|
|
131
|
+
if (n >= 11 && n <= 13)
|
|
132
|
+
return `${n}th`;
|
|
133
|
+
switch (n % 10) {
|
|
134
|
+
case 1:
|
|
135
|
+
return `${n}st`;
|
|
136
|
+
case 2:
|
|
137
|
+
return `${n}nd`;
|
|
138
|
+
case 3:
|
|
139
|
+
return `${n}rd`;
|
|
140
|
+
default:
|
|
141
|
+
return `${n}th`;
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Given a granularity level, returns a formatted, human-readable, date string.
|
|
146
|
+
*
|
|
147
|
+
* @param granularity - The granularity level to display. The granularity level dictates how the date is formatted.
|
|
148
|
+
* @param date - The date to format.
|
|
149
|
+
*
|
|
150
|
+
* @returns A formatted string representing the date at the specified granularity.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* getFormattedDateString('year', new Date('2023-01-01')) // "2023"
|
|
154
|
+
* getFormattedDateString('month', new Date('2023-01-01')) // "Jan 2023"
|
|
155
|
+
* getFormattedDateString('day', new Date('2023-01-31')) // "Jan 31st, 2023"
|
|
156
|
+
* getFormattedDateString('hour', new Date('2023-01-31T12:00:00')) // "Jan 31st, 12:00 PM"
|
|
157
|
+
*/
|
|
158
|
+
function getFormattedDateString(granularity, date) {
|
|
159
|
+
const monthFormatter = new Intl.DateTimeFormat('en-US', { month: 'short' });
|
|
160
|
+
switch (granularity) {
|
|
161
|
+
case 'year':
|
|
162
|
+
return date.getFullYear().toString();
|
|
163
|
+
case 'month':
|
|
164
|
+
return `${monthFormatter.format(date)} ${date.getFullYear()}`;
|
|
165
|
+
case 'day':
|
|
166
|
+
return `${monthFormatter.format(date)} ${getOrdinal(date.getDate())}, ${date.getFullYear()}`;
|
|
167
|
+
case 'hour': {
|
|
168
|
+
const timeFormatter = new Intl.DateTimeFormat('en-US', {
|
|
169
|
+
hour: 'numeric',
|
|
170
|
+
minute: '2-digit',
|
|
171
|
+
hour12: true,
|
|
172
|
+
});
|
|
173
|
+
return `${monthFormatter.format(date)} ${getOrdinal(date.getDate())}, ${timeFormatter.format(date)}`;
|
|
174
|
+
}
|
|
175
|
+
default:
|
|
176
|
+
throw new Error(`Unsupported granularity: ${granularity}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export { getDifferenceInUnits as a, getStartOf as b, getFormattedDateString as c, formatNumberWithCommas as f, getDocumentValueFromSearchResultMapping as g };
|
|
181
|
+
|
|
182
|
+
//# sourceMappingURL=p-d54771ef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-d54771ef.js","mappings":"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","names":[],"sources":["src/utils/units.ts"],"sourcesContent":["import type { SearchResultMapping } from '@searchcraft/core';\n\n/**\n * Given a document and a SearchResultMapping, return a mapped value from the document.\n * Applies formatting based on the values specified in the `SearchResultFieldName` values.\n *\n * @param document\n * @param {SearchResultMapping} mapping\n * @returns {string | undefined}\n */\nexport function getDocumentValueFromSearchResultMapping(\n document: Record<string, unknown> | undefined,\n mapping: SearchResultMapping | undefined,\n): string | undefined {\n if (document && mapping) {\n return mapping.fieldNames\n .map((fieldNameDetails) => {\n let valueFound = document[fieldNameDetails.fieldName];\n\n if (valueFound) {\n switch (fieldNameDetails.dataType) {\n case 'date': {\n valueFound = formatRelativeDate(\n valueFound as string | Date,\n fieldNameDetails.dateFormatLocale,\n fieldNameDetails.dateFormatOptions,\n );\n break;\n }\n case 'number': {\n valueFound = Intl.NumberFormat(\n fieldNameDetails.numberFormatLocale,\n fieldNameDetails.numberFormatOptions,\n ).format(\n (valueFound as number) * (fieldNameDetails.numberScale || 1),\n );\n break;\n }\n default:\n break;\n }\n }\n\n return valueFound;\n })\n .filter((value) => !!value)\n .join(mapping.delimiter || ' ');\n }\n}\n\n/**\n * Convert different units of time to milliseconds.\n *\n * @param unit - The unit of time\n * @returns {number}\n */\nexport function getMillis(unit: 'year' | 'month' | 'day' | 'hour'): number {\n const millisInHour = 60 * 60 * 1000;\n const millisInDay = 24 * millisInHour;\n const millisInMonth = 30 * millisInDay;\n const millisInYear = 365 * millisInDay;\n\n switch (unit) {\n case 'hour':\n return millisInHour;\n case 'day':\n return millisInDay;\n case 'month':\n return millisInMonth;\n case 'year':\n return millisInYear;\n default:\n return 3600000;\n }\n}\n\n/**\n * Format a number with commas as thousands separators.\n *\n * @param number - The number to be formatted.\n * @returns {string} - The formatted number as a string.\n */\nexport function formatNumberWithCommas(number) {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n\n/**\n * Format a date or date string. The string is formatted relative to today's date\n * (e.g. 2 days ago) until the date range is greater than a month.\n *\n * @param dateInput - The date to be formatted.\n * @param locale - The language used for formatting the date.\n * @param options - The non-default options used for formatting the date.\n * @returns {string} - The formatted date as a string.\n */\nexport function formatRelativeDate(\n dateInput: string | Date,\n locale = 'en-US',\n options: Intl.DateTimeFormatOptions = {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n },\n): string {\n const date = new Date(dateInput);\n const now = new Date();\n const diffMillis = now.getTime() - date.getTime();\n const oneMonthInMillis = 30 * 24 * 60 * 60 * 1000; // Approx. 1 month in ms\n\n if (diffMillis < oneMonthInMillis) {\n const diffSeconds = Math.trunc(diffMillis / 1000);\n const diffMinutes = Math.trunc(diffSeconds / 60);\n const diffHours = Math.trunc(diffMinutes / 60);\n const diffDays = Math.trunc(diffHours / 24);\n const relativeTimeFormat = new Intl.RelativeTimeFormat(locale, options);\n\n if (diffDays >= 1) {\n return relativeTimeFormat.format(-diffDays, 'day');\n }\n\n if (diffHours >= 1) {\n return relativeTimeFormat.format(-diffHours, 'hour');\n }\n\n if (diffMinutes >= 1) {\n return relativeTimeFormat.format(-diffMinutes, 'minute');\n }\n\n return relativeTimeFormat.format(0, 'second');\n }\n\n return new Intl.DateTimeFormat(locale, options).format(date);\n}\n\n/**\n * Given a date, returns the timestamp (in ms) for the start of the specified unit.\n *\n * @param unit - The unit to calculate the start of ('year' | 'month' | 'day' | 'hour').\n * @param timestamp - The date to evaluate.\n * @param offset - The number of units to offset by.\n * @returns The timestamp (in ms) for the start of the specified unit.\n */\nexport function getStartOf(\n timestamp: number,\n unit: 'year' | 'month' | 'day' | 'hour',\n offset = 0,\n): number {\n const d = new Date(timestamp);\n\n switch (unit) {\n case 'year':\n return new Date(d.getFullYear() + offset, 0, 1, 0, 0, 0, 0).getTime();\n case 'month':\n return new Date(\n d.getFullYear(),\n d.getMonth() + offset,\n 1,\n 0,\n 0,\n 0,\n 0,\n ).getTime();\n case 'day':\n return new Date(\n d.getFullYear(),\n d.getMonth(),\n d.getDate() + offset,\n 0,\n 0,\n 0,\n 0,\n ).getTime();\n case 'hour':\n return new Date(\n d.getFullYear(),\n d.getMonth(),\n d.getDate(),\n d.getHours() + offset,\n 0,\n 0,\n 0,\n ).getTime();\n default:\n throw new Error(`Unsupported unit: ${unit}`);\n }\n}\n\n/**\n * Given a start and end date, returns the difference in the number of the specified units.\n *\n * @param units - The unit to measure ('year' | 'month' | 'day' | 'hour').\n * @param startDate - The start date.\n * @param endDate - The end date.\n * @returns The difference in the given unit.\n */\nexport function getDifferenceInUnits(\n unit: 'year' | 'month' | 'day' | 'hour',\n startTime: number,\n endTime: number,\n): number {\n const start = new Date(startTime);\n const end = new Date(endTime);\n\n switch (unit) {\n case 'year':\n return Math.abs(end.getFullYear() - start.getFullYear());\n\n case 'month':\n return Math.abs(\n end.getFullYear() * 12 +\n end.getMonth() -\n (start.getFullYear() * 12 + start.getMonth()),\n );\n\n case 'day':\n return Math.floor(\n Math.abs(end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24),\n );\n\n case 'hour':\n return Math.floor(\n Math.abs(end.getTime() - start.getTime()) / (1000 * 60 * 60),\n );\n\n default:\n throw new Error(`Unsupported unit: ${unit}`);\n }\n}\n\n/**\n * Returns the ordinal representation of a day of the month.\n */\nconst getOrdinal = (n: number): string => {\n if (n >= 11 && n <= 13) return `${n}th`;\n switch (n % 10) {\n case 1:\n return `${n}st`;\n case 2:\n return `${n}nd`;\n case 3:\n return `${n}rd`;\n default:\n return `${n}th`;\n }\n};\n\n/**\n * Given a granularity level, returns a formatted, human-readable, date string.\n *\n * @param granularity - The granularity level to display. The granularity level dictates how the date is formatted.\n * @param date - The date to format.\n *\n * @returns A formatted string representing the date at the specified granularity.\n *\n * @example\n * getFormattedDateString('year', new Date('2023-01-01')) // \"2023\"\n * getFormattedDateString('month', new Date('2023-01-01')) // \"Jan 2023\"\n * getFormattedDateString('day', new Date('2023-01-31')) // \"Jan 31st, 2023\"\n * getFormattedDateString('hour', new Date('2023-01-31T12:00:00')) // \"Jan 31st, 12:00 PM\"\n */\nexport function getFormattedDateString(\n granularity: 'year' | 'month' | 'day' | 'hour',\n date: Date,\n): string {\n const monthFormatter = new Intl.DateTimeFormat('en-US', { month: 'short' });\n\n switch (granularity) {\n case 'year':\n return date.getFullYear().toString();\n\n case 'month':\n return `${monthFormatter.format(date)} ${date.getFullYear()}`;\n\n case 'day':\n return `${monthFormatter.format(date)} ${getOrdinal(date.getDate())}, ${date.getFullYear()}`;\n\n case 'hour': {\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n });\n return `${monthFormatter.format(date)} ${getOrdinal(date.getDate())}, ${timeFormatter.format(date)}`;\n }\n default:\n throw new Error(`Unsupported granularity: ${granularity}`);\n }\n}\n"],"version":3}
|