{"version":3,"sources":["webpack:///./node_modules/incremental-convex-hull/ich.js","webpack:///./node_modules/@turf/invariant/index.js","webpack:///./node_modules/@turf/flatten/index.js","webpack:///./node_modules/chart.js/src/plugins/plugin.legend.js","webpack:///./node_modules/@turf/isobands/node_modules/@turf/meta/index.js","webpack:///./node_modules/@turf/point-on-surface/index.js","webpack:///./node_modules/chart.js/src/helpers/helpers.options.js","webpack:///./node_modules/@turf/bezier/index.js","webpack:///./node_modules/@turf/buffer/node_modules/@turf/meta/index.js","webpack:///./node_modules/chart.js/src/core/core.animation.js","webpack:///./node_modules/polygonize/dist/Graph.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReference.vue?d826","webpack:///./node_modules/geojson-equality/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/PremiumMetaData.vue?f150","webpack:///./node_modules/ol/OverlayPositioning.js","webpack:///./node_modules/ol/Overlay.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapMetaData.vue?f923","webpack:///./node_modules/chart.js/src/core/core.defaults.js","webpack:///./node_modules/geodesy/osgridref.js","webpack:///./node_modules/ol/MapBrowserEventType.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NutrientMapDetails.vue?8eae","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/widgets/ContentClassLegend.vue?90e4","webpack:///wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/widgets/ContentClassLegend.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/widgets/ContentClassLegend.vue?0ee6","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/widgets/ContentClassLegend.vue","webpack:///./wwwroot/src/vue/components/map/overlays/InfoOverlay.vue?33c7","webpack:///wwwroot/src/vue/components/map/overlays/InfoOverlay.vue","webpack:///./wwwroot/src/vue/components/map/overlays/InfoOverlay.vue?95aa","webpack:///./wwwroot/src/vue/components/map/overlays/InfoOverlay.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/nutrient-maps/InfoPopover.vue?c370","webpack:///wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/nutrient-maps/InfoPopover.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/nutrient-maps/InfoPopover.vue?6f6e","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/nutrient-maps/InfoPopover.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/NutrientMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NutrientMapDetails.vue?921f","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NutrientMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/CultivationSummary.vue?eecd","webpack:///./wwwroot/src/vue/areas/field-record-system/mixins/DisableDefaultMapLayersMixin.js","webpack:///./node_modules/robust-scale/robust-scale.js","webpack:///./node_modules/@turf/square/index.js","webpack:///./wwwroot/src/vue/components/CollapsibleSection.vue?ecb7","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayer.vue?669f","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayer.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayer.vue?3234","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayer.vue","webpack:///./node_modules/geodesy/mgrs.js","webpack:///./wwwroot/src/vue/components/bootstrap/BsRadio.vue?3f89","webpack:///./node_modules/@turf/random/index.js","webpack:///./node_modules/@turf/isolines/node_modules/marchingsquares/marchingsquares-isocontours.js","webpack:///./node_modules/polygonize/dist/Node.js","webpack:///./node_modules/ms/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/widgets/ContentClassLegend.vue?8c0d","webpack:///./node_modules/@turf/flip/index.js","webpack:///./node_modules/@turf/buffer/index.js","webpack:///./wwwroot/src/vue/components/map/layers/ZoneMapsLayer.vue?cf79","webpack:///wwwroot/src/vue/components/map/layers/ZoneMapsLayer.vue","webpack:///./wwwroot/src/vue/components/map/layers/ZoneMapsLayer.vue?ccb3","webpack:///./wwwroot/src/vue/components/map/layers/ZoneMapsLayer.vue","webpack:///./node_modules/@turf/planepoint/index.js","webpack:///./node_modules/convex-hull/ch.js","webpack:///./node_modules/chart.js/src/controllers/controller.line.js","webpack:///./node_modules/@turf/tin/index.js","webpack:///./node_modules/@turf/transform-scale/index.js","webpack:///./node_modules/chart.js/src/platforms/platform.basic.js","webpack:///./node_modules/convex-hull/lib/ch1d.js","webpack:///./node_modules/geojson-dissolve/node_modules/@turf/meta/index.js","webpack:///./wwwroot/src/vue/components/map/IxImageLayer.vue?2475","webpack:///./node_modules/grid-to-matrix/node_modules/@turf/helpers/main.es.js","webpack:///./node_modules/grid-to-matrix/node_modules/@turf/invariant/main.es.js","webpack:///./node_modules/grid-to-matrix/node_modules/@turf/meta/main.es.js","webpack:///./node_modules/grid-to-matrix/index.js","webpack:///./wwwroot/src/vue/components/InputClearButton.vue?1452","webpack:///wwwroot/src/vue/components/InputClearButton.vue","webpack:///./wwwroot/src/vue/components/InputClearButton.vue?b9e6","webpack:///./wwwroot/src/vue/components/InputClearButton.vue","webpack:///./wwwroot/src/vue/components/MapPaymentTermsCheckbox.vue?b351","webpack:///./node_modules/simplicial-complex/topology.js","webpack:///./wwwroot/src/vue/components/forms/SimpleSwitch.vue?6f1a","webpack:///./node_modules/chart.js/src/core/core.datasetController.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/cultivation-planning/helpers.js","webpack:///./node_modules/geojson-random/index.js","webpack:///./node_modules/chart.js/src/core/core.element.js","webpack:///./node_modules/@turf/rhumb-destination/index.js","webpack:///./node_modules/ol/reproj/Image.js","webpack:///./node_modules/ol/source/Image.js","webpack:///./node_modules/lineclip/index.js","webpack:///./node_modules/geodesy/latlon-vincenty.js","webpack:///./node_modules/@turf/boolean-disjoint/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NutrientMapDisplayMixin.js","webpack:///./node_modules/@turf/projection/index.js","webpack:///./node_modules/deep-equal/lib/keys.js","webpack:///./node_modules/@turf/circle/index.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/@turf/explode/index.js","webpack:///./node_modules/chart.js/src/charts/Chart.Bar.js","webpack:///./node_modules/topojson-server/src/bounds.js","webpack:///./node_modules/topojson-server/src/hash/hashset.js","webpack:///./node_modules/topojson-server/src/hash/hashmap.js","webpack:///./node_modules/topojson-server/src/hash/point-equal.js","webpack:///./node_modules/topojson-server/src/hash/point-hash.js","webpack:///./node_modules/topojson-server/src/join.js","webpack:///./node_modules/topojson-server/src/cut.js","webpack:///./node_modules/topojson-server/src/dedup.js","webpack:///./node_modules/topojson-server/src/delta.js","webpack:///./node_modules/topojson-server/src/extract.js","webpack:///./node_modules/topojson-server/src/geometry.js","webpack:///./node_modules/topojson-server/src/prequantize.js","webpack:///./node_modules/topojson-server/src/topology.js","webpack:///./node_modules/topojson-server/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapMetaData.vue?f032","webpack:///./node_modules/chart.js/src/elements/element.point.js","webpack:///./node_modules/@turf/boolean-overlap/index.js","webpack:///./wwwroot/src/vue/components/modals/ConfirmationModal.vue?5e6f","webpack:///./node_modules/@turf/area/index.js","webpack:///./node_modules/@turf/within/index.js","webpack:///./wwwroot/src/vue/components/map/interactions/ClickInteraction.js","webpack:///./node_modules/@turf/line-chunk/index.js","webpack:///./node_modules/geojson-utils/geojson-utils.js","webpack:///./wwwroot/src/vue/components/bootstrap/BsCheckbox.vue?c558","webpack:///wwwroot/src/vue/components/bootstrap/BsCheckbox.vue","webpack:///./wwwroot/src/vue/components/bootstrap/BsCheckbox.vue?3c21","webpack:///./wwwroot/src/vue/components/bootstrap/BsCheckbox.vue","webpack:///./node_modules/simplepolygon/node_modules/@turf/meta/index.js","webpack:///./node_modules/@turf/rewind/index.js","webpack:///./node_modules/marchingsquares/dist/marchingsquares-esm.js","webpack:///./node_modules/@turf/bbox/index.js","webpack:///./node_modules/ol/interaction/Pointer.js","webpack:///./node_modules/chart.js/src/charts/Chart.Bubble.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapDetails.vue?fa30","webpack:///./node_modules/@turf/union/index.js","webpack:///./wwwroot/src/vue/components/transitions/CollapseTransition.vue?14f4","webpack:///./node_modules/@turf/rhumb-distance/index.js","webpack:///./node_modules/ol/interaction/Interaction.js","webpack:///./node_modules/chart.js/src/scales/scale.time.js","webpack:///./node_modules/chart.js/src/helpers/index.js","webpack:///./node_modules/polygonize/dist/EdgeRing.js","webpack:///./wwwroot/src/vue/components/bootstrap/BsCheckbox.vue?2c87","webpack:///./wwwroot/src/vue/components/MapPaymentTermsCheckbox.vue?3295","webpack:///wwwroot/src/vue/components/MapPaymentTermsCheckbox.vue","webpack:///./wwwroot/src/vue/components/MapPaymentTermsCheckbox.vue?3b95","webpack:///./wwwroot/src/vue/components/MapPaymentTermsCheckbox.vue","webpack:///./node_modules/@turf/center/index.js","webpack:///./node_modules/@turf/concave/index.js","webpack:///./node_modules/chart.js/src/helpers/helpers.canvas.js","webpack:///./node_modules/@turf/idw/index.js","webpack:///./node_modules/chart.js/src/charts/Chart.Scatter.js","webpack:///./node_modules/chart.js/src/charts/Chart.Doughnut.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ApplicationValues.vue?ce48","webpack:///./node_modules/chart.js/src/helpers/helpers.core.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsRouterBackLink.vue?fada","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NutrientMapDetails.vue?b4cb","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSimpleApplicationMap.vue?0f13","webpack:///./node_modules/color-name/index.js","webpack:///./node_modules/@turf/truncate/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/cultivation-overview/helpers.js","webpack:///./node_modules/@turf/bbox-polygon/index.js","webpack:///./node_modules/@turf/buffer/node_modules/@turf/center/index.js","webpack:///./node_modules/chart.js/src/elements/element.line.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/Details.vue?9c1a","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ZoneValues.vue?821b","webpack:///./node_modules/@turf/isolines/index.js","webpack:///./node_modules/simplify-js/simplify.js","webpack:///./node_modules/chart.js/src/core/core.plugins.js","webpack:///./node_modules/earcut/src/earcut.js","webpack:///./node_modules/geodesy/npm.js","webpack:///./node_modules/ol/MapEventType.js","webpack:///./node_modules/geojson-dissolve/index.js","webpack:///./node_modules/@turf/bbox-clip/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapDetails.vue?bb8f","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetails.vue?1e22","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapActivationStatus.vue?782c","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapActivationStatus.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapActivationStatus.vue?2cc9","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapActivationStatus.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapAdditionalActions.vue?d51c","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapAdditionalActions.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapAdditionalActions.vue?65b0","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapAdditionalActions.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsLegend.vue?cf13","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayerLegend.vue?52c8","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayerLegend.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayerLegend.vue?a2d4","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapLayerLegend.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsPanel.vue?7ea5","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsPanel.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsPanel.vue?c204","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsPanel.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ZoneMapGradientScale.vue?89fe","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ZoneMapGradientScale.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ZoneMapGradientScale.vue?b193","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ZoneMapGradientScale.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsLegend.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsLegend.vue?6ea2","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsLegend.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditing.vue?ec4b","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingInteraction.vue?9ff0","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingOverlay.vue?b43c","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingOverlay.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingOverlay.vue?f6b3","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingOverlay.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingInteraction.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingInteraction.vue?a29e","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingInteraction.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditing.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditing.vue?67a1","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditing.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapMetaData.vue?8100","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsNdviLineChart.vue?bc12","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NdviLineChart.vue?933d","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/NdviLineChart.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NdviLineChart.vue?495b","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/NdviLineChart.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsNdviLineChart.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsNdviLineChart.vue?86c8","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsNdviLineChart.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/MissingMetaData.vue?1890","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/MissingMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/MissingMetaData.vue?7e36","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/MissingMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/UnsupportedMetaData.vue?010f","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/UnsupportedMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/UnsupportedMetaData.vue?84a2","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/UnsupportedMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/LegacyMetaData.vue?74b1","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatPicMeta.vue?24e7","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatPicMeta.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatPicMeta.vue?cf8a","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatPicMeta.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/LegacyMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/LegacyMetaData.vue?b278","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/LegacyMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/AutoMetaData.vue?d5d9","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReferenceWithStats.vue?1b0e","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReference.vue?4965","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReference.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReference.vue?af1e","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReference.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReferenceWithStats.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReferenceWithStats.vue?bd9a","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReferenceWithStats.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SharedSummary.vue?b7f6","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SharedSummary.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SharedSummary.vue?ffe6","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SharedSummary.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/CultivationSummary.vue?a264","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/CultivationSummary.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/CultivationSummary.vue?7cc4","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/CultivationSummary.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/AutoMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/AutoMetaData.vue?7314","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/AutoMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/PremiumMetaData.vue?fcf9","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/PremiumMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/PremiumMetaData.vue?98ee","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/PremiumMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/BiomassMetaData.vue?95a3","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/BiomassMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/BiomassMetaData.vue?8cb1","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/BiomassMetaData.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapMetaData.vue?c5a8","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapMetaData.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/CopyAdditionalValuesModal.vue?d09b","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/CopyAdditionalValuesModal.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/CopyAdditionalValuesModal.vue?eb3d","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/CopyAdditionalValuesModal.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetails.vue?5c01","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/BiomassMapDetails.vue?42f4","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/BiomassMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/BiomassMapDetails.vue?eec0","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/BiomassMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/SoilMapDetails.vue?698d","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/CommonDetails.vue?e290","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/CommonDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/CommonDetails.vue?409b","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/CommonDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ZoneValues.vue?c38c","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ZoneValues.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ZoneValues.vue?48f9","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ZoneValues.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/HumusClasses.vue?c670","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/HumusClasses.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/HumusClasses.vue?5444","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/HumusClasses.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/RequiredNutrientDetails.vue?11f9","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/RequiredNutrientDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/RequiredNutrientDetails.vue?f810","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/RequiredNutrientDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ApplicationMapDetails.vue?aae4","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ApplicationMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ApplicationMapDetails.vue?a9d3","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ApplicationMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ValidationDetails.vue?9303","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ValidationDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ValidationDetails.vue?9c75","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/soil-map-details/ValidationDetails.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/SoilMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/SoilMapDetails.vue?00e8","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/SoilMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/InterpolationMapDetails.vue?91f7","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/SensorDataGradientScale.vue?2eab","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/SensorDataGradientScale.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/SensorDataGradientScale.vue?7a60","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/SensorDataGradientScale.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/InterpolationMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/InterpolationMapDetails.vue?027c","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/InterpolationMapDetails.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/MapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapDetails.vue?0b3f","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapDetails.vue","webpack:///./node_modules/chart.js/src/chart.js","webpack:///./node_modules/@turf/boolean-contains/index.js","webpack:///./node_modules/chart.js/src/controllers/controller.doughnut.js","webpack:///./wwwroot/src/vue/components/forms/NumericInput.vue?640c","webpack:///./node_modules/chart.js/src/elements/element.arc.js","webpack:///./node_modules/@turf/polygon-tangents/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/PremiumMetaData.vue?5b7c","webpack:///./node_modules/chart.js/src/scales/scale.linear.js","webpack:///./node_modules/@turf/destination/index.js","webpack:///./node_modules/@turf/unkink-polygon/index.js","webpack:///./node_modules/geodesy/latlon-ellipsoidal.js","webpack:///./node_modules/chart.js/src/scales/scale.logarithmic.js","webpack:///./node_modules/chart.js/src/controllers/controller.bar.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ApplicationMapDetails.vue?2da3","webpack:///./node_modules/wgs84/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/basic-fertilization/nutrient-maps/InfoPopover.vue?5623","webpack:///./node_modules/ol/Image.js","webpack:///./wwwroot/src/vue/components/data-transfer/OsbModal.vue?65c3","webpack:///wwwroot/src/vue/components/data-transfer/OsbModal.vue","webpack:///./wwwroot/src/vue/components/data-transfer/OsbModal.vue?1925","webpack:///./wwwroot/src/vue/components/data-transfer/OsbModal.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsRouterBackLink.vue?ed6a","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsRouterBackLink.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsRouterBackLink.vue?1268","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsRouterBackLink.vue","webpack:///./wwwroot/src/vue/components/forms/SimpleSwitch.vue?fd92","webpack:///wwwroot/src/vue/components/forms/SimpleSwitch.vue","webpack:///./wwwroot/src/vue/components/forms/SimpleSwitch.vue?5f77","webpack:///./wwwroot/src/vue/components/forms/SimpleSwitch.vue","webpack:///./node_modules/chart.js/src/controllers/controller.radar.js","webpack:///./node_modules/@turf/combine/index.js","webpack:///./node_modules/geojson-rbush/index.js","webpack:///./node_modules/@turf/square-grid/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/SoilMapDetails.vue?e9fa","webpack:///./node_modules/@turf/triangle-grid/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/CultivationSummary.vue?1642","webpack:///./node_modules/@turf/intersect/index.js","webpack:///./node_modules/chart.js/src/controllers/controller.bubble.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditingOverlay.vue?82b0","webpack:///./node_modules/@turf/meta/index.js","webpack:///./node_modules/chart.js/src/core/core.scale.js","webpack:///./node_modules/chart.js/src/core/core.animations.js","webpack:///./node_modules/@turf/midpoint/index.js","webpack:///./wwwroot/src/vue/components/MapPaletteSelector.vue?4ba1","webpack:///wwwroot/src/vue/components/MapPaletteSelector.vue","webpack:///./wwwroot/src/vue/components/MapPaletteSelector.vue?3440","webpack:///./wwwroot/src/vue/components/MapPaletteSelector.vue","webpack:///./node_modules/@turf/polygon-to-linestring/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SharedSummary.vue?4ae0","webpack:///./node_modules/affine-hull/aff.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapTotalSum.vue?3cd1","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapTotalSum.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapTotalSum.vue?c41e","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapTotalSum.vue","webpack:///./node_modules/chart.js/src/core/core.layouts.js","webpack:///./node_modules/@turf/line-distance/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/mixins/MirrorRouteMixin.js","webpack:///./node_modules/deep-equal/index.js","webpack:///./node_modules/@turf/line-slice/index.js","webpack:///wwwroot/src/vue/components/VueSelectize.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapLayer.vue?d6dc","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapLayer.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapLayer.vue?616c","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsApplicationMapLayer.vue","webpack:///./node_modules/chart.js/src/core/core.ticks.js","webpack:///./node_modules/@turf/dissolve/index.js","webpack:///./node_modules/@turf/inside/index.js","webpack:///./node_modules/ol/ImageBase.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatPicMeta.vue?f193","webpack:///./node_modules/chart.js/src/platforms/platform.js","webpack:///./node_modules/@turf/envelope/index.js","webpack:///./node_modules/chart.js/src/charts/Chart.Radar.js","webpack:///wwwroot/src/vue/components/forms/VueDateTimePicker.vue","webpack:///./node_modules/@turf/isobands/node_modules/@turf/inside/index.js","webpack:///./node_modules/@turf/line-slice-along/index.js","webpack:///./node_modules/chart.js/src/plugins/index.js","webpack:///./wwwroot/src/vue/components/modals/ConfirmationModal.vue?02ae","webpack:///wwwroot/src/vue/components/modals/ConfirmationModal.vue","webpack:///./wwwroot/src/vue/components/modals/ConfirmationModal.vue?05e8","webpack:///./wwwroot/src/vue/components/modals/ConfirmationModal.vue","webpack:///./node_modules/@turf/centroid/index.js","webpack:///./node_modules/@turf/line-offset/intersection.js","webpack:///./node_modules/jsts/dist/jsts.min.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapSelection.vue?ced4","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapSelection.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapSelection.vue?37e0","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsZoneMapSelection.vue","webpack:///./node_modules/@turf/distance/index.js","webpack:///./node_modules/convex-hull/lib/ch2d.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetails.vue?2859","webpack:///./node_modules/@turf/nearest/index.js","webpack:///./node_modules/robust-orientation/orientation.js","webpack:///./wwwroot/src/vue/components/table/SimpleTable.vue?4534","webpack:///./wwwroot/src/vue/components/table/SimpleTableSortingButton.vue?1702","webpack:///wwwroot/src/vue/components/table/SimpleTableSortingButton.vue","webpack:///./wwwroot/src/vue/components/table/SimpleTableSortingButton.vue?11b7","webpack:///./wwwroot/src/vue/components/table/SimpleTableSortingButton.vue","webpack:///wwwroot/src/vue/components/table/SimpleTable.vue","webpack:///./wwwroot/src/vue/components/table/SimpleTable.vue?af40","webpack:///./wwwroot/src/vue/components/table/SimpleTable.vue","webpack:///./node_modules/geodesy/vector3d.js","webpack:///./node_modules/@turf/isobands/node_modules/@turf/helpers/index.js","webpack:///./node_modules/@turf/boolean-point-on-line/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SharedSummary.vue?2dc9","webpack:///./wwwroot/src/vue/components/MapPaletteSelector.vue?15a0","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/@turf/bezier/spline.js","webpack:///./wwwroot/src/vue/components/InputClearButton.vue?e664","webpack:///./node_modules/@turf/isobands/node_modules/@turf/area/index.js","webpack:///./node_modules/@turf/simplify/index.js","webpack:///./node_modules/deep-equal/lib/is_arguments.js","webpack:///./node_modules/@turf/point-to-line-distance/index.js","webpack:///./node_modules/chartjs-color-string/color-string.js","webpack:///./node_modules/@mapbox/geojson-area/index.js","webpack:///./node_modules/chart.js/src/plugins/plugin.title.js","webpack:///./node_modules/chart.js/src/core/core.interaction.js","webpack:///./node_modules/@turf/polygonize/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ApplicationMapDetails.vue?8d80","webpack:///./wwwroot/src/vue/components/data-transfer/Osb.vue?8927","webpack:///wwwroot/src/vue/components/data-transfer/Osb.vue","webpack:///./wwwroot/src/vue/components/data-transfer/Osb.vue?5c13","webpack:///./wwwroot/src/vue/components/data-transfer/Osb.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/Details.vue?0aa3","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilization.vue?6dde","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilizationPlannedYield.vue?7112","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilizationPlannedYield.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilizationPlannedYield.vue?1948","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilizationPlannedYield.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilization.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilization.vue?dde9","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsBasicFertilization.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsFertAssist.vue?2c4d","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsFertAssist.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsFertAssist.vue?47ec","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsFertAssist.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsMaizeSowing.vue?6e4b","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsMaizeSowing.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsMaizeSowing.vue?75ec","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsMaizeSowing.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSeedExpert.vue?22f3","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSeedExpert.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSeedExpert.vue?85a5","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSeedExpert.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSimpleApplicationMap.vue?86f6","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSimpleApplicationMap.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSimpleApplicationMap.vue?2e4a","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSimpleApplicationMap.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/Details.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/Details.vue?70a8","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/Details.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ApplicationValues.vue?51de","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ApplicationValues.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ApplicationValues.vue?9d71","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/ApplicationValues.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/details/ApplicationMapDetails.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ApplicationMapDetails.vue?5686","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ApplicationMapDetails.vue","webpack:///./wwwroot/src/vue/components/forms/ZoneInput.vue?7956","webpack:///./node_modules/chart.js/src/core/core.helpers.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/PhBbMapLayer.vue?1739","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/PhBbMapLayer.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/PhBbMapLayer.vue?420d","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/PhBbMapLayer.vue","webpack:///./node_modules/@turf/point-grid/index.js","webpack:///./node_modules/geodesy/utm.js","webpack:///./node_modules/@turf/convex/index.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/centroid.js","webpack:///./node_modules/d3-geo/src/constant.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/clip/rejoin.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-array/src/zip.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/clip/rectangle.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/distance.js","webpack:///./node_modules/d3-geo/src/contains.js","webpack:///./node_modules/d3-geo/src/graticule.js","webpack:///./node_modules/d3-geo/src/interpolate.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/projection/conic.js","webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/albers.js","webpack:///./node_modules/d3-geo/src/projection/albersUsa.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/conicConformal.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/equalEarth.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/identity.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/d3-geo/src/index.js","webpack:///./node_modules/robust-sum/robust-sum.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsMaizeSowing.vue?8878","webpack:///./node_modules/bit-twiddle/twiddle.js","webpack:///./node_modules/@turf/kinks/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/widgets/DetailsSeedExpert.vue?9bf0","webpack:///./node_modules/chart.js/src/scales/scale.linearbase.js","webpack:///./wwwroot/src/vue/components/transitions/CollapseTransition.vue?d2a4","webpack:///wwwroot/src/vue/components/transitions/CollapseTransition.vue","webpack:///./wwwroot/src/vue/components/transitions/CollapseTransition.vue?82cb","webpack:///./wwwroot/src/vue/components/transitions/CollapseTransition.vue","webpack:///./node_modules/@turf/collect/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/BiomassMapDetails.vue?3192","webpack:///./node_modules/@turf/difference/index.js","webpack:///./node_modules/geojson-polygon-self-intersections/index.js","webpack:///./wwwroot/src/vue/components/CollapsibleSection.vue?cd25","webpack:///wwwroot/src/vue/components/CollapsibleSection.vue","webpack:///./wwwroot/src/vue/components/CollapsibleSection.vue?ec70","webpack:///./wwwroot/src/vue/components/CollapsibleSection.vue","webpack:///./node_modules/@turf/bearing/index.js","webpack:///./node_modules/@turf/mask/index.js","webpack:///./node_modules/chart.js/src/charts/Chart.PolarArea.js","webpack:///./wwwroot/src/vue/areas/field-record-system/mixins/DisableDefaultMapInteractionsMixin.js","webpack:///./node_modules/chart.js/src/platforms/platform.dom.js","webpack:///./node_modules/geodesy/latlon-vectors.js","webpack:///./wwwroot/src/vue/components/data-transfer/OsbModal.vue?599b","webpack:///./node_modules/geojson-flatten/index.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/@turf/along/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/InterpolationMapDetails.vue?5eb8","webpack:///./node_modules/@turf/sample/index.js","webpack:///./node_modules/@turf/isolines/node_modules/marchingsquares/marchingsquares-isobands.js","webpack:///./node_modules/@turf/tesselate/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/AutoMetaData.vue?a768","webpack:///./node_modules/@turf/line-intersect/index.js","webpack:///./wwwroot/src/vue/components/table/SimpleTableSortingButton.vue?f21b","webpack:///./node_modules/@turf/isobands/node_modules/@turf/invariant/index.js","webpack:///./node_modules/chart.js/src/core/core.scaleService.js","webpack:///./node_modules/simplepolygon/node_modules/@turf/helpers/index.js","webpack:///./node_modules/color-convert/conversions.js","webpack:///./node_modules/@turf/boolean-clockwise/index.js","webpack:///./node_modules/@turf/great-circle/arc.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatPicMeta.vue?ff6b","webpack:///./node_modules/@turf/buffer/node_modules/@turf/helpers/index.js","webpack:///./node_modules/@turf/line-arc/index.js","webpack:///./node_modules/color-convert/index.js","webpack:///./node_modules/chart.js/src/helpers/helpers.easing.js","webpack:///./node_modules/@turf/tag/index.js","webpack:///./node_modules/chart.js/src/plugins/plugin.filler.js","webpack:///./node_modules/chart.js/src/elements/index.js","webpack:///./node_modules/ol/interaction/Property.js","webpack:///./node_modules/two-product/two-product.js","webpack:///./node_modules/geodesy/dms.js","webpack:///./node_modules/geojson-linestring-dissolve/index.js","webpack:///./node_modules/simplepolygon/node_modules/@turf/area/index.js","webpack:///./node_modules/@turf/linestring-to-polygon/index.js","webpack:///./node_modules/polygonize/dist/index.js","webpack:///./node_modules/@turf/turf/module.js","webpack:///./node_modules/@turf/sector/index.js","webpack:///./node_modules/chart.js/src/core/core.tooltip.js","webpack:///./node_modules/ol/layer/Image.js","webpack:///./wwwroot/src/vue/components/table/SimpleTable.vue?4702","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/AutoMetaData.vue?b84e","webpack:///./node_modules/chart.js/src/core/core.js","webpack:///./node_modules/polygonize/dist/Edge.js","webpack:///./node_modules/@turf/isobands/index.js","webpack:///./node_modules/monotone-convex-hull-2d/index.js","webpack:///./node_modules/convex-hull/lib/chnd.js","webpack:///./wwwroot/src/vue/components/forms/VueDateTimePicker.vue?cdc2","webpack:///./wwwroot/src/vue/components/forms/VueDateTimePicker.vue?5cee","webpack:///./wwwroot/src/vue/components/forms/VueDateTimePicker.vue","webpack:///./node_modules/@turf/line-overlap/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapDetailsPanel.vue?6e1b","webpack:///./wwwroot/src/vue/components/VueSelectize.vue?478a","webpack:///./wwwroot/src/vue/components/VueSelectize.vue?3e3f","webpack:///./wwwroot/src/vue/components/VueSelectize.vue","webpack:///./node_modules/two-sum/two-sum.js","webpack:///./wwwroot/src/vue/components/map/mixins/OverlayMixin.js","webpack:///./node_modules/@turf/clean-coords/index.js","webpack:///./node_modules/geodesy/latlon-spherical.js","webpack:///./node_modules/@turf/rhumb-bearing/index.js","webpack:///./node_modules/@turf/line-split/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapActivationStatus.vue?7500","webpack:///./node_modules/chart.js/src/elements/element.rectangle.js","webpack:///./node_modules/polygonize/dist/util.js","webpack:///./wwwroot/src/vue/components/forms/NumericInput.vue?9da2","webpack:///wwwroot/src/vue/components/forms/NumericInput.vue","webpack:///./wwwroot/src/vue/components/forms/NumericInput.vue?e4fb","webpack:///./wwwroot/src/vue/components/forms/NumericInput.vue","webpack:///./node_modules/union-find/index.js","webpack:///./node_modules/@turf/isobands/node_modules/@turf/explode/index.js","webpack:///./node_modules/chart.js/src/controllers/controller.scatter.js","webpack:///./node_modules/topojson-client/src/identity.js","webpack:///./node_modules/topojson-client/src/transform.js","webpack:///./node_modules/topojson-client/src/bbox.js","webpack:///./node_modules/topojson-client/src/reverse.js","webpack:///./node_modules/topojson-client/src/feature.js","webpack:///./node_modules/topojson-client/src/stitch.js","webpack:///./node_modules/topojson-client/src/mesh.js","webpack:///./node_modules/topojson-client/src/merge.js","webpack:///./node_modules/topojson-client/src/bisect.js","webpack:///./node_modules/topojson-client/src/neighbors.js","webpack:///./node_modules/topojson-client/src/untransform.js","webpack:///./node_modules/topojson-client/src/quantize.js","webpack:///./node_modules/topojson-client/index.js","webpack:///./node_modules/@turf/great-circle/index.js","webpack:///./node_modules/robust-subtract/robust-diff.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/InterpolationMapLayer.vue?6238","webpack:///./wwwroot/src/vue/components/map/IxImageLayer.vue?9b23","webpack:///./node_modules/ol/source/ImageStatic.js","webpack:///wwwroot/src/vue/components/map/IxImageLayer.vue","webpack:///./wwwroot/src/vue/components/map/IxImageLayer.vue?4069","webpack:///./wwwroot/src/vue/components/map/IxImageLayer.vue","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/InterpolationMapLayer.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/InterpolationMapLayer.vue?f5b8","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/InterpolationMapLayer.vue","webpack:///./node_modules/@turf/buffer/node_modules/@turf/center/node_modules/@turf/bbox/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/components/SatelliteImageReference.vue?fe33","webpack:///./node_modules/@turf/boolean-equal/index.js","webpack:///./wwwroot/src/vue/components/GradientScale.vue","webpack:///wwwroot/src/vue/components/GradientScale.vue","webpack:///./wwwroot/src/vue/components/GradientScale.vue?3f4f","webpack:///./node_modules/chart.js/src/controllers/controller.polarArea.js","webpack:///./wwwroot/src/vue/components/map/overlays/InfoOverlay.vue?7ab9","webpack:///./node_modules/@turf/point-on-line/index.js","webpack:///./node_modules/chart.js/src/core/core.controller.js","webpack:///./node_modules/chartjs-color/index.js","webpack:///./node_modules/@turf/isobands/node_modules/@turf/bbox/index.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneMapAdditionalActions.vue?d772","webpack:///./node_modules/@turf/boolean-within/index.js","webpack:///./node_modules/chart.js/src/charts/Chart.Line.js","webpack:///./node_modules/@turf/hex-grid/index.js","webpack:///./node_modules/@turf/transform-translate/index.js","webpack:///./node_modules/@turf/boolean-crosses/index.js","webpack:///./node_modules/get-closest/index.js","webpack:///./wwwroot/src/vue/components/table/SimpleTableBoolean.vue?b4b1","webpack:///wwwroot/src/vue/components/table/SimpleTableBoolean.vue","webpack:///./wwwroot/src/vue/components/table/SimpleTableBoolean.vue?b26f","webpack:///./wwwroot/src/vue/components/table/SimpleTableBoolean.vue","webpack:///./wwwroot/src/vue/components/table/SimpleTableStringArray.js","webpack:///./wwwroot/src/vue/components/table/SimpleTableAutoCell.js","webpack:///./wwwroot/src/vue/components/forms/ZoneInput.vue?30f7","webpack:///wwwroot/src/vue/components/forms/ZoneInput.vue","webpack:///./wwwroot/src/vue/components/forms/ZoneInput.vue?412e","webpack:///./wwwroot/src/vue/components/forms/ZoneInput.vue","webpack:///./node_modules/chart.js/src/scales/scale.category.js","webpack:///./node_modules/@turf/clone/index.js","webpack:///./wwwroot/images/Partner/osb.png","webpack:///./wwwroot/src/vue/components/bootstrap/BsRadio.vue?d46a","webpack:///wwwroot/src/vue/components/bootstrap/BsRadio.vue","webpack:///./wwwroot/src/vue/components/bootstrap/BsRadio.vue?3d1b","webpack:///./wwwroot/src/vue/components/bootstrap/BsRadio.vue","webpack:///./node_modules/@turf/center-of-mass/index.js","webpack:///./node_modules/chart.js/src/scales/scale.radialLinear.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/meta-data/zone-map/LegacyMetaData.vue?146d","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapPrint.vue?aaa3","webpack:///wwwroot/src/vue/areas/field-record-system/components/map-management/MapPrint.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapPrint.vue?aa7b","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/MapPrint.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsNutrientMapLayer.vue?1f6e","webpack:///wwwroot/src/vue/areas/field-record-system/components/base/FrsNutrientMapLayer.vue","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsNutrientMapLayer.vue?72e7","webpack:///./wwwroot/src/vue/areas/field-record-system/components/base/FrsNutrientMapLayer.vue","webpack:///./node_modules/@turf/isolines/node_modules/grid-to-matrix/index.js","webpack:///./node_modules/@turf/line-segment/index.js","webpack:///./node_modules/@turf/isolines/node_modules/marchingsquares/marchingsquares.js","webpack:///./wwwroot/src/vue/areas/field-record-system/components/map-management/details/ZoneEditing.vue?7c0e","webpack:///./node_modules/simplepolygon/index.js","webpack:///./node_modules/@turf/transform-rotate/index.js","webpack:///./node_modules/@turf/helpers/index.js","webpack:///./node_modules/@turf/line-offset/index.js"],"names":["module","exports","incrementalConvexHull","orient","__webpack_require__","compareCell","compareCells","Simplex","vertices","adjacent","boundary","this","lastVisited","GlueFacet","cell","index","compareGlue","a","b","bakeOrient","d","code","i","push","proc","Function","join","test","prototype","flip","t","u","BAKED","Triangulation","dimension","simplices","interior","filter","c","tuple","Array","o","proto","points","randomSearch","n","length","Error","initialSimplex","slice","apply","initialCoords","initialCell","list","verts","j","adj","v","k","indexOf","triangles","useRandom","insert","handleBoundaryDegeneracy","point","toVisit","pop","cellAdj","neighbor","nv","vv","walk","random","initIndex","Math","outerLoop","cellVerts","prev","addPeaks","tovisit","glueFacets","indexOfN","indexOfNeg1","na","vverts","vadj","ncell","opposite","uu","nface","nptr","sort","ai","bi","cells","nc","bcell","cv","ptr","parity","getCoord","obj","coordinates","getCoords","geometry","containsNumber","isArray","geojsonType","value","type","name","featureOf","feature","collectionOf","featureCollection","features","getGeom","geojson","undefined","geometries","getGeomType","geom","flattenEach","results","defaults","Element","helpers","layouts","noop","getBoxWidth","labelOpts","fontSize","usePointStyle","SQRT2","boxWidth","_set","legend","display","position","fullWidth","reverse","weight","onClick","e","legendItem","datasetIndex","ci","chart","meta","getDatasetMeta","hidden","data","datasets","update","onHover","labels","padding","generateLabels","map","dataset","text","label","fillStyle","backgroundColor","isDatasetVisible","lineCap","borderCapStyle","lineDash","borderDash","lineDashOffset","borderDashOffset","lineJoin","borderJoinStyle","lineWidth","borderWidth","strokeStyle","borderColor","pointStyle","legendCallback","id","Legend","extend","initialize","config","legendHitBoxes","doughnutMode","beforeUpdate","maxWidth","maxHeight","margins","me","beforeSetDimensions","setDimensions","afterSetDimensions","beforeBuildLabels","buildLabels","afterBuildLabels","beforeFit","fit","afterFit","afterUpdate","minSize","isHorizontal","width","left","right","height","top","bottom","paddingLeft","paddingTop","paddingRight","paddingBottom","options","legendItems","callback","item","opts","ctx","globalDefault","global","valueOrDefault","defaultFontSize","fontStyle","defaultFontStyle","fontFamily","defaultFontFamily","labelFont","fontString","hitboxes","font","lineWidths","totalHeight","textAlign","textBaseline","each","measureText","vPadding","columnWidths","totalWidth","currentColWidth","currentColHeight","itemHeight","itemWidth","max","draw","lineDefault","elements","line","legendWidth","cursor","fontColor","defaultFontColor","drawLegendBox","x","y","isNaN","save","defaultColor","isLineWidthZero","setLineDash","radius","offSet","centerX","centerY","canvas","drawPoint","strokeRect","fillRect","restore","fillText","textWidth","halfFontSize","xLeft","yMiddle","beginPath","moveTo","lineTo","stroke","handleEvent","changed","lh","hitBox","call","native","createNewLegendAndAttach","legendOpts","configure","addBox","_element","beforeInit","mergeIf","removeBox","afterEvent","coordEach","layer","excludeWrapCoord","g","l","stopG","coords","geometryMaybeCollection","isGeometryCollection","wrapShrink","currentIndex","isFeatureCollection","isFeature","stop","coordReduce","initialValue","previousValue","currentCoords","propEach","properties","propReduce","currentProperties","featureEach","featureReduce","currentFeature","coordAll","coord","geomEach","geomReduce","currentGeometry","centroid","distance","inside","explode","pointOnSurface","fc","cent","onSurface","x1","y1","x2","y2","onLine","onMultiPoint","pointOnSegment","f","closestVertex","concat","closestDistance","Infinity","dist","ab","sqrt","ap","pb","toLineHeight","size","matches","match","toPadding","r","isObject","resolve","inputs","context","ilen","linestring","lineString","Spline","resolution","sharpness","spline","pt","duration","pos","floor","featureIndex","geometryIndex","coordIndex","featureSubIndex","geomType","currentCoord","geometryProperties","forEach","coordinate","flattenReduce","segmentEach","previousCoords","currentSegment","segmentReduce","currentSubIndex","lineEach","subIndex","multi","ring","lineReduce","currentLine","lineIndex","lineSubIndex","currentStep","numSteps","easing","render","onAnimationProgress","onAnimationComplete","Object","defineProperty","get","set","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","_classCallCheck","instance","TypeError","Node","Edge","EdgeRing","_require","_require2","validateGeoJson","geoJson","Graph","edges","nodes","buildId","node","from","to","edge","symetricEdge","getSymetric","graph","cur","start","getNode","end","addEdge","_this","keys","_removeIfDangle","_this2","innerEdges","outerNodes","getOuterEdges","removeNode","_this3","_computeNextCWEdges","_findLabeledEdgeRings","symetric","removeEdge","_this4","getOuterEdge","next","firstOutDE","prevInDE","de","sym","outDE","inDE","edgeRingStarts","isEqual","_this5","_findIntersectionNodes","_computeNextCCWEdges","edgeRingList","_findEdgeRing","startEdge","intersectionNodes","_loop","degree","edgeRing","_this6","deleteEdge","source","deepEqual","Equality","opt","precision","direction","pseudoNode","objectComparator","part","replace","sameLength","g1","g2","hasOwnProperty","obj1","obj2","strict","compare","compareCoord","compareLine","comparePolygon","compareFeature","g1s","g2s","every","g1part","some","g2part","c1","c2","toFixed","path1","path2","ind","isPoly","p1","removePseudo","p2","fixStartIndex","sameDirection","comparePath","sourcePath","targetPath","correctPath","cont","holes1","holes2","h1","h2","compareBBox","bbox","path","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PremiumMetaData_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PremiumMetaData_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","__webpack_exports__","OverlayPositioning","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","CENTER_LEFT","CENTER_CENTER","CENTER_RIGHT","TOP_LEFT","TOP_CENTER","TOP_RIGHT","Property","ELEMENT","MAP","OFFSET","POSITION","POSITIONING","Overlay_Overlay","BaseObject","Overlay","insertFirst","stopEvent","element","document","createElement","className","css","style","autoPan","autoPanAnimation","autoPanMargin","rendered","bottom_","left_","right_","top_","visible","mapPostrenderListenerKey","events","ol_Object","handleElementChanged","handleMapChanged","handleOffsetChanged","handlePositionChanged","handlePositioningChanged","setElement","setOffset","offset","setPositioning","positioning","setPosition","__proto__","create","constructor","getElement","getId","getMap","getOffset","getPosition","getPositioning","dom","appendChild","MapEventType","POSTRENDER","updatePixelPosition","container","getOverlayContainerStopEvent","getOverlayContainer","insertBefore","childNodes","panIntoView","setMap","getTargetElement","mapRect","getRect","getSize","overlayRect","margin","extent","offsetLeft","offsetRight","offsetTop","offsetBottom","delta","abs","center","getView","getCenter","centerPx","getPixelFromCoordinate","newCenterPx","animate","getCoordinateFromPixel","box","getBoundingClientRect","offsetX","window","pageXOffset","offsetY","pageYOffset","setVisible","isRendered","pixel","mapSize","updateRenderedPosition","round","offsetWidth","offsetHeight","getOptions","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapMetaData_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapMetaData_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","scope","values","merge","LatLon","OsGridRef","easting","northing","Number","latLonToOsGrid","datum","OSGB36","convertDatum","φ","lat","toRadians","λ","lon","F0","φ0","λ0","N0","E0","e2","n2","n3","cosφ","cos","sinφ","sin","ν","ρ","pow","η2","Ma","Mb","Mc","Md","M","cos3φ","cos5φ","tan2φ","tan","tan4φ","I","II","III","IIIA","IV","V","VI","Δλ","Δλ2","Δλ3","Δλ4","Δλ5","Δλ6","N","E","osGridToLatLon","gridref","WGS84","tanφ","tan6φ","secφ","ν3","ν5","ν7","VII","VIII","IX","X","XI","XII","XIIA","dE","dE2","dE3","dE4","dE5","dE6","dE7","toDegrees","parse","String","trim","l1","toUpperCase","charCodeAt","l2","e100km","n100km","en","split","toString","digits","RangeError","eInt","eDec","nInt","nDec","ePad","nPad","e100k","n100k","letterPair","fromCharCode","_events_EventType_js__WEBPACK_IMPORTED_MODULE_0__","SINGLECLICK","CLICK","DBLCLICK","POINTERDRAG","POINTERMOVE","POINTERDOWN","POINTERUP","POINTEROVER","POINTEROUT","POINTERENTER","POINTERLEAVE","POINTERCANCEL","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","getType","$i18n","format","generatedAt","model","$$v","showClassifications","expression","_e","showZentroid","attrs","areas","areaByClassification","nutrient","field-id","fieldId","show-classifications","hover-style","hoverStyle","hit-tolerance","layer-filter","on","click","onFeatureClick","selectedMeasurement","measurement","map-ids","map-type","staticRenderFns","ContentClassLegendvue_type_template_id_624cdb68_scoped_true_render","_l","classification","colors","ContentClassLegendvue_type_template_id_624cdb68_scoped_true_staticRenderFns","ContentClassLegendvue_type_script_lang_js_","default","computed","basic_fertilization_colors","classifications","widgets_ContentClassLegendvue_type_script_lang_js_","component","componentNormalizer","ContentClassLegend","InfoOverlayvue_type_template_id_282babc8_scoped_true_lang_html_render","_t","InfoOverlayvue_type_template_id_282babc8_scoped_true_lang_html_staticRenderFns","InfoOverlayvue_type_script_lang_js_","mixins","OverlayMixin","overlays_InfoOverlayvue_type_script_lang_js_","InfoOverlay_component","InfoOverlay","InfoPopovervue_type_template_id_357a6dc3_scoped_true_render","addon","timestamp","InfoPopovervue_type_template_id_357a6dc3_scoped_true_staticRenderFns","InfoPopovervue_type_script_lang_js_","translateUnit","store","nutrient_maps_InfoPopovervue_type_script_lang_js_","InfoPopover_component","InfoPopover","NutrientMapDetailsvue_type_script_lang_js_","components","BsCheckbox","HelpBox","ClickInteraction","MapPrint","FrsNutrientMapLayer","NutrientMapDisplayMixin","selectedPoint","zones","reduce","lookup","zone","assign","computation","showZentroidNeeded","nutrientClassificationFeatures","includes","map_styles","methods","_ref","_feature$getPropertie","getProperties","getGeometry","getCoordinates","getCoordinateAt","proj","details_NutrientMapDetailsvue_type_script_lang_js_","NutrientMapDetails_component","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CultivationSummary_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CultivationSummary_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","mounted","$store","commit","beforeDestroy","twoProduct","twoSum","scaleLinearExpansion","scale","ts","q","count","pq","bv","west","south","east","north","horizontalDistance","verticalDistance","verticalMidpoint","horizontalMidpoint","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CollapsibleSection_vue_vue_type_style_index_0_id_329a5962_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CollapsibleSection_vue_vue_type_style_index_0_id_329a5962_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","zone-maps","zoneMaps","palette","FrsZoneMapLayervue_type_script_lang_js_","ZoneMapsLayer","zoneMapId","required","_objectSpread","vuex_esm","zoneMapLookup","state","zoneMap","mapLookup","zoneMapPalette","ui","category","watch","immediate","handler","loadZoneMapDetails","base_FrsZoneMapLayervue_type_script_lang_js_","Utm","Mgrs","band","latBands","e100kLetters","n100kLetters","toMgrs","latlong","toLatLonE","charAt","col","row","toUtm","hemisphere","e100kNum","n100kNum","latBand","nBand","n2M","mgrsGridRef","gzd","en100k","eRounded","nRounded","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BsRadio_vue_vue_type_style_index_0_id_4d68e839_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BsRadio_vue_vue_type_style_index_0_id_4d68e839_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","polygon","num_vertices","max_radial_length","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","root","factory","isoContours","defaultSettings","successCallback","verbose","settings","threshold","optionKeys","val","console","log","ret","ContourGrid2Paths","computeContourGrid","interpolateX","y0","rows","cols","ContourGrid","cval","tl","tr","br","bl","flipped","average","isSaddle","isTrivial","clearCell","getXY","grid","paths","path_idx","epsilon","gg","p","tracePath","merged","info","unshift","dx","dy","maxj","dxContour","dyContour","nextEdge","currentCell","prev_cval","orientationIndex","outerEdges","outerEdgesSorted","aNode","bNode","det","d1","d2","sortOuterEdges","s","m","h","str","exec","parseFloat","toLowerCase","fmtShort","ms","fmtLong","plural","ceil","long","JSON","stringify","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContentClassLegend_vue_vue_type_style_index_0_id_624cdb68_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ContentClassLegend_vue_vue_type_style_index_0_id_624cdb68_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","mutate","d3","jsts","turfBbox","projection","toWgs84","toMercator","radiansToDistance","distanceToRadians","buffer","units","steps","projected","buffered","needsTransverseMercator","defineProjection","projectCoords","result","reader","io","GeoJSONReader","read","writer","GeoJSONWriter","write","coordsIsNaN","unprojectCoords","invert","rotate","geoTransverseMercator","multiBuffered","vector-style","vectorStyle","z-index","layer-id","auto-focus","ZoneMapsLayervue_type_script_lang_js_","IxVectorLayer","toConsumableArray","map_color_schemes","layers_ZoneMapsLayervue_type_script_lang_js_","invariant","triangle","outer","z1","z2","x3","y3","z3","z","convexHull1d","convexHull2d","convexHullnd","convexHull","showLines","spanGaps","hover","mode","scales","xAxes","yAxes","Chart","lineEnabled","showLine","controllers","DatasetController","datasetElementType","Line","dataElementType","Point","reset","custom","getMeta","lineElementOptions","getScaleForId","yAxisID","getDataset","tension","lineTension","_scale","_datasetIndex","_children","_model","fill","steppedLine","stepped","cubicInterpolationMode","pivot","updateElement","updateBezierControlPoints","getPointBackgroundColor","pointBackgroundColor","valueAtIndexOrDefault","getPointBorderColor","pointBorderColor","getPointBorderWidth","pointBorderWidth","getPointRotation","pointRotation","rotation","yScale","xScale","xAxisID","pointOptions","pointRadius","hitRadius","pointHitRadius","getPixelForValue","NaN","getBasePixel","calculatePointY","_xScale","_yScale","_index","skip","ds","dsMeta","sumPos","sumNeg","stacked","stackedRightValue","getRightValue","rightValue","controlPoints","area","chartArea","capControlPoint","min","splineCurveMonotone","splineCurve","previousItem","nextItem","controlPointPreviousX","previous","controlPointPreviousY","controlPointNextX","controlPointNextY","capBezierPoints","halfBorderWidth","clipArea","unclipArea","setHoverStyle","$previousStyle","hoverBackgroundColor","pointHoverBackgroundColor","getHoverColor","hoverBorderColor","pointHoverBorderColor","hoverBorderWidth","pointHoverBorderWidth","hoverRadius","pointHoverRadius","featurecollection","Triangle","A","B","C","D","F","G","byX","dedup","splice","triangulate","xmin","xmax","ymin","ymax","dmax","xmid","ymid","open","__sentinel","closed","isPointZ","clone","turfBBox","rhumbBearing","rhumbDistance","rhumbDestination","factor","origin","isPoint","defineOrigin","originalDistance","bearing","newDistance","newCoord","originIsPoint","acquireContext","getContext","lo","hi","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IxImageLayer_vue_vue_type_style_index_0_id_f1cf7566_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IxImageLayer_vue_vue_type_style_index_0_id_f1cf7566_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","input","gridToMatrix","zProperty","flags","pointsMatrix","sortPointsByLatLng","matrix","pointRow","matrixPosition","pointsByLatitude","orderedRowsByLatitude","rowOrderedByLongitude","pointMatrix","directives","rawName","tabindex","role","aria-label","$event","stopPropagation","$emit","InputClearButtonvue_type_script_lang_js_","show","Boolean","components_InputClearButtonvue_type_script_lang_js_","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MapPaymentTermsCheckbox_vue_vue_type_style_index_0_id_a6d7e0a6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MapPaymentTermsCheckbox_vue_vue_type_style_index_0_id_a6d7e0a6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","bits","UnionFind","il","countVertices","vc","jl","cloneCells","ncells","m1","l0","m0","as","bs","compareZipped","normalize","attr","len","zipped","unique","findCell","mid","incidence","from_cells","to_cells","cl","kn","popCount","idx","dual","vertex_count","skeleton","res","k0","nextCombination","connectedComponents_dense","link","component_labels","ranks","find","connectedComponents_sparse","vj","connectedComponents","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimpleSwitch_vue_vue_type_style_index_0_id_7908da9a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimpleSwitch_vue_vue_type_style_index_0_id_7908da9a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","arrayEvents","listenArrayEvents","array","listener","_chartjs","listeners","method","base","args","arguments","object","unlistenArrayEvents","stub","linkScales","addElements","updateIndex","scaleID","destroy","_data","createMetaDataset","_chart","createMetaData","metaData","addElementAndReset","buildOrUpdateElements","resyncElements","transition","easingValue","removeHoverStyle","numMeta","numData","insertElements","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","inherits","toCultivationName","cultivation","frsTranslations","i18n","translations","cropUsageId","mixtureComponents","toMixtureName","CatchCrop","EcologicalPriorityAreas","TwoCropUsage","InvalidCultivationType","sorted","orderBy","componentsShort","percentage","isEcoCompatible","C_src_Solutions_WebApp_node_modules_babel_runtime_corejs2_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__","coordInBBBOX","vertexToCoordinate","hub","rnd","collection","circle_offsets","sumOffsets","scaleOffsets","arr","PI","radial_scaler","color","interpolate","view","ease","actual","c0","valid","mix","rgbString","isFinite","configuration","_view","_start","tooltipPosition","hasValue","isNumber","GeodesyLatLon","LatLonSpherical","distanceInMeters","destination","rhumbDestinationPoint","Image_ReprojImage","ImageBase","ReprojImage","sourceProj","targetProj","targetExtent","targetResolution","pixelRatio","getImageFunction","maxSourceExtent","getExtent","maxTargetExtent","limitedTargetExtent","ol_extent","targetCenter","sourceResolution","reproj","errorThresholdInPixels","common","triangulation","sourceExtent","calculateSourceExtent","sourceImage","ImageState","LOADED","IDLE","sourcePixelRatio","getPixelRatio","targetProj_","maxSourceExtent_","triangulation_","targetResolution_","targetExtent_","sourceImage_","sourcePixelRatio_","canvas_","sourceListenerKey_","disposeInternal","LOADING","unlistenSource_","getImage","getProjection","reproject_","sourceState","getState","getResolution","image","load","ERROR","EventType","CHANGE","ol_ImageBase","Image","defaultImageLoadFunction","ImageSourceEventType","IMAGELOADSTART","IMAGELOADEND","IMAGELOADERROR","ImageSourceEvent","Event","Image_ImageSource","Source","ImageSource","attributions","resolutions_","resolutions","reprojectedImage_","reprojectedRevision_","getResolutions","findNearestResolution","sourceProjection","getRevision","dispose","getImageInternal","bind","util","handleImageChange","event","loading","dispatchEvent","source_Source","src","lineclip","codeB","lastCode","codeA","bitCode","intersect","polygonclip","prevInside","polyline","distanceTo","inverse","initialBearingTo","initialBearing","finalBearingTo","finalBearing","destinationPoint","direct","finalBearingOn","cos2σM","sinσ","cosσ","Δσ","σʹ","φ1","λ1","α1","ellipsoid","sinα1","cosα1","tanU1","cosU1","sinU1","σ1","atan2","sinα","cosSqα","uSq","σ","iterations","φ2","L","λ2","α2","sinλ","cosλ","sinSqσ","λʹ","tanU2","cosU2","sinU2","lineIntersect","polyToLinestring","disjoint","geom1","geom2","compareCoords","isPointOnLine","isLineOnLine","isLineInPoly","isPolyInPoly","isPointOnLineSegment","lineString1","lineString2","doLinesIntersect","feature1","feature2","i2","LineSegmentStart","LineSegmentEnd","dxc","dyc","dxl","dyl","cross","pair1","pair2","boolean","flatten1","flatten2","DisableDefaultMapInteractionsMixin","selectedNutrientMaps","nutrientMap","createdAt","orgUnitId","probingMethod","measurements","nutrientZoneFeatures","zoneToFeature","contentClass","SR_FieldRecordSystem","mapToFeatures","flatten","nutrientMapPlaceholderFeatures","fieldData","fieldRecordSystem","field","fieldIdToPlaceholder","placeholder","nutrientMapFeatures","mapToGeoJsonFeatures","styles","nutrientClassification","mapActions","convert","convertToMercator","convertToWgs84","lonLat","D2R","MAXEXTENT","adjusted","sign","xy","R2D","atan","exp","shim","process","useColors","documentElement","WebkitAppearance","firebug","exception","table","navigator","userAgent","parseInt","RegExp","$1","formatArgs","namespace","humanize","diff","lastC","namespaces","storage","removeItem","debug","NODE_ENV","BASE_URL","DEBUG","localstorage","localStorage","chrome","local","formatters","err","message","enable","Bar","bounds","objects","x0","boundGeometry","boundGeometryType","GeometryCollection","boundPoint","MultiPoint","LineString","boundLine","arcs","MultiLineString","Polygon","MultiPolygon","boundMultiLine","hashset","hash","equal","empty","LN2","mask","add","collisions","has","hashmap","keyType","keyEmpty","valueType","keystore","valstore","matchKey","maybeSet","missingValue","point_equal","pointA","pointB","ArrayBuffer","floats","Float64Array","uints","Uint32Array","point_hash","topology","previousIndex","nextIndex","lines","rings","indexes","visitedByIndex","Int32Array","leftByIndex","rightByIndex","junctionByIndex","Int8Array","junctionCount","lineStart","lineEnd","sequence","ringStart","ringEnd","leftIndex","rightIndex","indexByPoint","hashIndex","equalIndex","junctionByPoint","cut","junctions","lineMid","0","1","ringMid","ringFixed","rotateArray","arcCount","arcsByEnd","dedupLine","dedupRing","arc","startPoint","endPoint","startArcs","startArc","endArcs","endArc","equalLine","reverseEqualLine","equalRing","reverseEqualRing","findMinimumOffset","arcA","arcB","ia","ib","ja","jb","ka","kb","minimum","minimumPoint","extract","extractGeometry","extractGeometryType","extractLine","extractRing","extractMultiRing","outputs","geomifyObject","geomifyFeatureCollection","geomifyFeature","geomifyGeometry","output","prequantize","kx","ky","quantizePoint","quantizePoints","pi","px","py","quantizeLine","quantizeRing","quantizePolygon","quantizeGeometry","quantizeGeometryType","translate","src_topology","quantization","transform","indexByArc","hashArc","equalArc","indexGeometry","indexGeometryType","indexArcs","indexMultiArcs","schema","xRange","mouseX","vm","yRange","mouseY","inRange","inLabelRange","inXRange","inYRange","getCenterPoint","getArea","errMargin","lineOverlap","GeojsonEquality","type1","type2","equality","overlap","coords1","coords2","coord1","coord2","segment1","segment2","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ConfirmationModal_vue_vue_type_style_index_0_id_2d30c06a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ConfirmationModal_vue_vue_type_style_index_0_id_2d30c06a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","polygons","pointsWithin","isInside","makeOverlay","VectorLayer","VectorSource","useSpatialIndex","updateWhileAnimating","updateWhileInteracting","inject","hitTolerance","layerFilter","cursorStyle","hoverFeature","queryOptions","Feature","setStyle","init","overlay","interaction","PointerInteraction","handleMoveEvent","onMove","handleDownEvent","addInteraction","rebuildOverlay","getSource","clear","addFeature","getFeature","forEachFeatureAtPixel","setCoordinates","created","then","removeInteraction","lineSliceAlong","lineDistance","sliceLineSegments","segmentLength","lineLength","numberOfSegments","outline","segment","gju","boundingBoxAroundPolyCoords","xAll","yAll","pnpoly","vert","lineStringsIntersect","intersects","a1","a2","b1","b2","ua_t","ub_t","u_b","ua","ub","pointInBoundingBox","pointInPolygon","poly","insideBox","insidePoly","pointInMultiPolygon","coords_array","numberToRadius","number","numberToDegree","drawCircle","radiusInMeters","centerPoint","radCenter","brng","asin","lng","rectangleCentroid","rectangle","xwidth","ywidth","pointDistance","pt1","pt2","lon1","lat1","lon2","lat2","dLat","dLon","geometryWithinRadius","simplify","kink","n_source","n_stack","n_dest","sig","dev_sqr","max_dev_sqr","band_sqr","x12","y12","d12","x13","y13","d13","x23","y23","d23","sig_start","sig_end","description","combinedDescription","class","inline","has-error","dirty","checked","has-success","ref","disabled","domProps","_i","change","$$a","$$el","$$c","$$i","slot","$slots","counter","BsCheckboxvue_type_script_lang_js_","LabelAndMessage","prop","tristate","lodash","$forceUpdate","$refs","checkbox","indeterminate","bootstrap_BsCheckboxvue_type_script_lang_js_","booleanClockwise","rewind","rewindLineString","rewindPolygon","lineCoords","linear","linear_ab","v0","v1","tmp","linear_a","minV","maxV","linear_b","Options","polygons_full","linearRing","noQuadTree","isoBandOptions","userSettings","bandOptions","interpolate_a","interpolate_b","isoLineOptions","lineOptions","cell2Polygons","pp","entry_coordinate","skip_coordinate","requireFrame","lowerBound","upperBound","frameRequired","requireLineFrame","traceBandPaths","cellGrid","nextedge","ee","ve","enter","finalized","cc","dir","found_entry","valid_entries","add_x","add_y","available_starts","entry_dir","lb","lt","rt","rb","move","traceLinePaths","TreeNode","dx_tmp","dy_tmp","msb_x","msb_y","childA","childB","childC","childD","QuadTree","isoLines","useQuadTree","multiLine","tree","linePolygons","cellsBelowThreshold","prepareCell","isoBands","cellsInBand","subsumed","shapeCoordinates","square","triangle_bl","bottomleft","leftbottom","triangle_br","bottomright","rightbottom","triangle_tr","righttop","topright","triangle_tl","topleft","lefttop","tetragon_t","tetragon_r","tetragon_b","tetragon_l","tetragon_bl","tetragon_br","tetragon_tr","tetragon_tl","tetragon_lr","tetragon_tb","pentagon_tr","pentagon_tl","pentagon_br","pentagon_bl","pentagon_tr_rl","pentagon_rb_bt","pentagon_bl_lr","pentagon_lt_tb","pentagon_bl_tb","pentagon_lt_rl","pentagon_tr_bt","pentagon_rb_lr","hexagon_lt_tr","hexagon_bl_lt","hexagon_bl_rb","hexagon_tr_rb","hexagon_lt_rb","hexagon_bl_tr","heptagon_tr","heptagon_bl","heptagon_tl","heptagon_br","octagon","bandWidth","multiBand","bw","bandPolygons","prepareCell$1","computeCenterAverage","center_avg","_MapBrowserEventType_js__WEBPACK_IMPORTED_MODULE_0__","_Interaction_js__WEBPACK_IMPORTED_MODULE_1__","_obj_js__WEBPACK_IMPORTED_MODULE_2__","Interaction","opt_options","handleDragEvent","handleUpEvent","stopDown","handlingDownUpSequence","trackedPointers_","targetPointers","mapBrowserEvent","updateTrackedPointers_","handledUp","handled","preventDefault","isPointerDraggingEvent","pointerEvent","pointerId","pointerEvents","clientX","clientY","Bubble","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MapDetails_vue_vue_type_style_index_0_id_708279ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MapDetails_vue_vue_type_style_index_0_id_708279ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","union","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CollapseTransition_vue_vue_type_style_index_0_id_1bb22a21_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CollapseTransition_vue_vue_type_style_index_0_id_1bb22a21_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","coordsFrom","coordsTo","rhumbDistanceTo","pan","rotateWithoutConstraints","zoom","zoomByDelta","zoomWithoutConstraints","_Object_js__WEBPACK_IMPORTED_MODULE_0__","_easing_js__WEBPACK_IMPORTED_MODULE_1__","_Property_js__WEBPACK_IMPORTED_MODULE_2__","_math_js__WEBPACK_IMPORTED_MODULE_3__","map_","setActive","getActive","ACTIVE","active","opt_duration","currentCenter","constrainCenter","setCenter","opt_anchor","constrainRotation","currentRotation","getRotation","anchor","opt_direction","constrainResolution","currentResolution","getMinResolution","getMaxResolution","calculateCenterZoom","setResolution","moment","Scale","scaleService","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","arrayUnique","items","out","buildLookupTable","timestamps","distribution","time","curr","i0","i1","skey","sval","tkey","range","span","ratio","momentify","parser","isValid","isNullOrUndef","startOf","valueOf","determineStepSize","unit","capacity","interval","milliseconds","determineUnitForAutoTicks","minUnit","determineUnitForFormatting","ticks","determineMajorUnit","generate","timeOpts","minor","major","stepSize","unitStepSize","weekday","isoWeekday","majorTicksEnabled","enabled","first","last","computeOffsets","upper","lower","ticksFromTimestamps","majorUnit","determineLabelFormat","momentDate","hasTime","defaultConfig","displayFormat","displayFormats","autoSkip","TimeScale","mergeTicksOptions","warn","rawValue","determineDataLimits","jlen","endOf","_horizontal","_table","_timestamps","buildTicks","getLabelCapacity","_unit","_majorUnit","_offsets","_labelFormat","getLabelForIndex","tooltipFormat","tickFormatFunction","tick","formatOverride","formats","minorFormat","majorFormat","majorTime","majorTickOpts","tickOpts","formatter","userCallback","convertTicksToLabels","getPixelForOffset","getPixelForTick","getTicks","getValueForPixel","getLabelWidth","ticksOpts","tickLabelWidth","angle","maxRotation","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","innerWidth","registerScaleType","envelopeIsEqual","envelopeContains","coordinatesEqual","multiPoint","envelope","_inside","hiIndex","high","iPrev","iNext","disc","toPolygon","testEdgeRing","shellList","testEnvelope","getEnvelope","minEnvelope","minShell","shell","tryEnvelope","testPoint","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BsCheckbox_vue_vue_type_style_index_0_id_ca14c080_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BsCheckbox_vue_vue_type_style_index_0_id_ca14c080_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","termsUrl","paymentData","modelProxy","href","scopedSlots","_u","fn","proxy","MapPaymentTermsCheckboxvue_type_script_lang_js_","IxRes","CollapsibleSection","isMzk","vuex","missingPaymentDataMZK","missingPaymentData","infrastructure","mapPaymentTermsUrl","components_MapPaymentTermsCheckboxvue_type_script_lang_js_","ext","tin","dissolve","removeDuplicates","cleaned","existing","maxEdge","tinPolys","pt3","dist1","dist2","dist3","dissolved","clearRect","roundedRect","arcTo","closePath","rect","edgeLength","xOffset","yOffset","drawImage","leftX","topY","sideSize","clip","bezierCurveTo","drawRoundedRectangle","squareGrid","valueField","cellWidth","filtered","samplingGrid","zw","sw","w","Scatter","Doughnut","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ApplicationValues_vue_vue_type_style_index_0_id_70b3b38a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ApplicationValues_vue_vue_type_style_index_0_id_70b3b38a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","uid","defaultValue","thisArg","loopable","arrayEquals","a0","klen","_merger","tval","_mergerIf","sources","merger","setFn","extensions","ChartElement","Surrogate","__super__","callCallback","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FrsRouterBackLink_vue_vue_type_style_index_0_id_163f774e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FrsRouterBackLink_vue_vue_type_style_index_0_id_163f774e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NutrientMapDetails_vue_vue_type_style_index_0_id_d9851d8e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NutrientMapDetails_vue_vue_type_style_index_0_id_d9851d8e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsSimpleApplicationMap_vue_vue_type_style_index_0_id_8d0c8e34_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsSimpleApplicationMap_vue_vue_type_style_index_0_id_8d0c8e34_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","truncate","cultivationToColor","cultivationToName","cultivationTypeToShortcut","src_js_i18n_translate__WEBPACK_IMPORTED_MODULE_0__","_cultivation_planning_helpers__WEBPACK_IMPORTED_MODULE_1__","ecoTypeId","error","lowLeft","topLeft","topRight","lowRight","globalDefaults","current","currentVM","globalOptionLineElements","lastDrawnIndex","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Details_vue_vue_type_style_index_0_id_5f4364e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Details_vue_vue_type_style_index_0_id_5f4364e0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneValues_vue_vue_type_style_index_0_id_2256e972_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneValues_vue_vue_type_style_index_0_id_2256e972_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","marchingsquares","multiLineString","createIsoLines","breaks","propertiesToAllIsolines","propertiesPerIsoline","isolines","isoline","rescaleIsolines","gridBbox","originalWidth","originalHeigth","matrixWidth","matrixHeight","scaleX","scaleY","resize","pointGrid","scaledIsolines","getSqDist","getSqSegDist","simplifyRadialDist","sqTolerance","prevPoint","newPoints","simplifyDPStep","simplified","maxSqDist","sqDist","simplifyDouglasPeucker","tolerance","highestQuality","plugins","_plugins","_cacheId","register","plugin","unregister","getAll","notify","hook","params","descriptors","cache","$plugins","_invalidate","earcut","holeIndices","dim","minX","minY","maxX","maxY","invSize","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","signedArea","insertNode","equals","filterPoints","again","steiner","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","prevZ","nextZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","mx","my","tanMin","sortLinked","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","cx","cy","intersectsPolygon","middleInside","q1","q2","an","bp","sum","deviation","polygonArea","trianglesArea","holes","dimensions","holeIndex","LatLonEllipsoidal","LatLonVectors","Vector3d","Dms","MOVESTART","MOVEEND","createTopology","mergeTopology","dissolveLineStrings","toArray","dissolvePolygons","geoms","topo","getHomogenousType","acc","flat","multiPolygon","clipPolygon","outRings","clipped","createParallelRoute","detailsComponent","tag","ZoneMapDetailsvue_type_template_id_80ed17f0_scoped_true_render","zoneEditingActive","title","icon","icons","premium","originalZoneMapId","heterogenity","$can","zone-map","large","onEditAdditionalValues","showCopyAdditionalValuesModal","meta-data","zone-map-id","ZoneMapDetailsvue_type_template_id_80ed17f0_scoped_true_staticRenderFns","ZoneMapActivationStatusvue_type_template_id_16a8fb28_scoped_true_lang_html_render","termsAccepted","cancel","permissionDeactivate","startDeactivate","permissionActivate","colored","activate","confirm","deactivate","showDeactivationModal","ZoneMapActivationStatusvue_type_template_id_16a8fb28_scoped_true_lang_html_staticRenderFns","ZoneMapActivationStatusvue_type_script_lang_js_","IxButton","ConfirmationModal","MapPaymentTermsCheckbox","PermissionMixin","permissionActivationStatus","zoneMapPermission","biomassPermission","_deactivate","asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","deactivateZoneMap","isDemo","activateZoneMap","details_ZoneMapActivationStatusvue_type_script_lang_js_","ZoneMapActivationStatus","ZoneMapAdditionalActionsvue_type_template_id_ad91b49a_scoped_true_lang_html_render","isBiomassMap","createPremium","toAutomaticZoneMaps","createAuto","onCreateNewMap","ZoneMapAdditionalActionsvue_type_template_id_ad91b49a_scoped_true_lang_html_staticRenderFns","ZoneMapAdditionalActionsvue_type_script_lang_js_","ZoneMapAdditionalActionsvue_type_script_lang_js_objectSpread","index_es","permissionCheck","zoneMapCheck","biomassMapCheck","$router","$route","toBioMassMaps","details_ZoneMapAdditionalActionsvue_type_script_lang_js_","ZoneMapAdditionalActions_component","ZoneMapAdditionalActions","ZoneMapDetailsLegendvue_type_template_id_6f7d8991_scoped_true_lang_html_render","zoneMapPalettes","ZoneMapDetailsLegendvue_type_template_id_6f7d8991_scoped_true_lang_html_staticRenderFns","FrsZoneMapLayerLegendvue_type_template_id_39bd58de_scoped_true_render","FrsZoneMapLayerLegendvue_type_template_id_39bd58de_scoped_true_staticRenderFns","FrsZoneMapLayerLegendvue_type_script_lang_js_","ZoneInput","FrsZoneMapLayerLegendvue_type_script_lang_js_objectSpread","base_FrsZoneMapLayerLegendvue_type_script_lang_js_","FrsZoneMapLayerLegend_component","FrsZoneMapLayerLegend","ZoneMapDetailsPanelvue_type_template_id_5f5fb1b3_scoped_true_lang_html_render","ZoneMapDetailsPanelvue_type_template_id_5f5fb1b3_scoped_true_lang_html_staticRenderFns","ZoneMapDetailsPanelvue_type_script_lang_js_","details_ZoneMapDetailsPanelvue_type_script_lang_js_","ZoneMapDetailsPanel_component","ZoneMapDetailsPanel","ZoneMapGradientScalevue_type_template_id_b63a00c8_scoped_true_render","ZoneMapGradientScalevue_type_template_id_b63a00c8_scoped_true_staticRenderFns","ZoneMapGradientScalevue_type_script_lang_js_","GradientScale","widgets_ZoneMapGradientScalevue_type_script_lang_js_","ZoneMapGradientScale_component","ZoneMapGradientScale","ZoneMapDetailsLegendvue_type_script_lang_js_","MapPaletteSelector","ZoneMapDetailsLegendvue_type_script_lang_js_objectSpread","details_ZoneMapDetailsLegendvue_type_script_lang_js_","ZoneMapDetailsLegend_component","ZoneMapDetailsLegend","ZoneEditingvue_type_template_id_3f88188d_scoped_true_lang_html_render","newName","fieldStates","geometriesChanged","modifiedZoneGeometries","tooltip","creating","saving","ZoneEditingvue_type_template_id_3f88188d_scoped_true_lang_html_staticRenderFns","ZoneEditingInteractionvue_type_template_id_1aa22fa5_scoped_true_lang_html_render","updatedMap","overlayPosition","centered","select","ZoneEditingInteractionvue_type_template_id_1aa22fa5_scoped_true_lang_html_staticRenderFns","ZoneEditingOverlayvue_type_template_id_5f222b57_scoped_true_lang_html_render","textColors","ZoneEditingOverlayvue_type_template_id_5f222b57_scoped_true_lang_html_staticRenderFns","ZoneEditingOverlayvue_type_script_lang_js_","details_ZoneEditingOverlayvue_type_script_lang_js_","ZoneEditingOverlay_component","ZoneEditingOverlay","ZoneEditingInteractionvue_type_script_lang_js_","DisableDefaultMapLayersMixin","selectedPart","ZoneEditingInteractionvue_type_script_lang_js_objectSpread","separatedOriginalGeometries","splitMultiPolygon","wellknown","valueOrOriginal","separatedUpdatedZones","zoneId","Style","Stroke","Fill","originZoneId","turf_module","partZoneId","_$exec$slice","_$exec$slice2","slicedToArray","partIndexString","partIndex","zonePart","multiPolygonGeometry","targetZoneId","_objectSpread2","details_ZoneEditingInteractionvue_type_script_lang_js_","ZoneEditingInteraction_component","ZoneEditingInteraction","ZoneEditingvue_type_script_lang_js_","TextInput","FrsLoadingIndicator","FormPartMixin","ChangeDetectionMixin","MirrorRouteMixin","combinedModifiedZoneGeometries","combined","workaroundMaxVertices","workaroundTolerance","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","brokenRings","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","Symbol","iterator","done","return","_iterator","ZoneEditingvue_type_script_lang_js_objectSpread","validateGeometryChange","$set","_save","geometriesByZoneId","mapId","validate","$nextTick","abrupt","saveModifiedZoneMap","success","t0","finish","details_ZoneEditingvue_type_script_lang_js_","ZoneEditing_component","ZoneEditing","ZoneMapMetaDatavue_type_template_id_566dcdbc_lang_html_render","showDetails","$style","$schema","metaDataComponent","serviceVersion","ZoneMapMetaDatavue_type_template_id_566dcdbc_lang_html_staticRenderFns","ZoneMapDetailsNdviLineChartvue_type_template_id_b5ce7868_scoped_true_render","allow-empty","ordered","ndviOptions","fields","ndviFields","selectedOption","ndvi-data","ZoneMapDetailsNdviLineChartvue_type_template_id_b5ce7868_scoped_true_staticRenderFns","NdviLineChartvue_type_template_id_30c75bb3_scoped_true_lang_html_render","NdviLineChartvue_type_template_id_30c75bb3_scoped_true_lang_html_staticRenderFns","NdviLineChartvue_type_script_lang_js_","usedCandidates","ndviData","chartInit","usedScenes","selectedScene","moment_default","recordingDate","ndvi","date","ndviStats","mean","minRotation","suggestedMin","suggestedMax","scaleLabel","labelString","chart_default","unbindEvents","updated","bindEvents","details_NdviLineChartvue_type_script_lang_js_","NdviLineChart_component","NdviLineChart","ZoneMapDetailsNdviLineChartvue_type_script_lang_js_","VueSelectize","ZoneMapDetailsNdviLineChartvue_type_script_lang_js_objectSpread","details_ZoneMapDetailsNdviLineChartvue_type_script_lang_js_","ZoneMapDetailsNdviLineChart_component","ZoneMapDetailsNdviLineChart","MissingMetaDatavue_type_template_id_15f49466_scoped_true_lang_html_render","MissingMetaDatavue_type_template_id_15f49466_scoped_true_lang_html_staticRenderFns","MissingMetaDatavue_type_script_lang_js_","meta_data_MissingMetaDatavue_type_script_lang_js_","MissingMetaData_component","MissingMetaData","UnsupportedMetaDatavue_type_template_id_88d97452_scoped_true_lang_html_render","UnsupportedMetaDatavue_type_template_id_88d97452_scoped_true_lang_html_staticRenderFns","UnsupportedMetaDatavue_type_script_lang_js_","meta_data_UnsupportedMetaDatavue_type_script_lang_js_","UnsupportedMetaData_component","UnsupportedMetaData","LegacyMetaDatavue_type_template_id_fdc18ad2_scoped_true_lang_html_render","typeOfAlgorithm","countOfClasses","numberOfClassesHa","numberOfClassesDEV","expectedValue","standardDeviation","classificationThresholds","innerLimit","outerLimit","combinedSatelliteImageMean","combinedSatelliteImageStandardDeviation","scene","sat-pic","calculatedCorrelations","correlation","relation","LegacyMetaDatavue_type_template_id_fdc18ad2_scoped_true_lang_html_staticRenderFns","SatPicMetavue_type_template_id_2429edef_lang_html_render","satPic","fileName","correlationIndex","cloud","sentinelData","cloudMean","ndviMean","SatPicMetavue_type_template_id_2429edef_lang_html_staticRenderFns","SatPicMetavue_type_script_lang_js_","components_SatPicMetavue_type_script_lang_js_","injectStyles","SatPicMetavue_type_style_index_0_lang_scss_module_true_","locals","SatPicMeta_component","SatPicMeta","LegacyMetaDatavue_type_script_lang_js_","usedSatScenes","zone_map_LegacyMetaDatavue_type_script_lang_js_","LegacyMetaData_component","LegacyMetaData","AutoMetaDatavue_type_template_id_7fbf8db7_lang_html_render","imageSearchSummary","cloudStatisticsBuffer","cloudTolerance","cloudCoverageThreshold","minNdvi","maxNdvi","minNdviL2aOnly","maxNdviL2aOnly","targetPercentage","stDevWeight","standardDeviationPrioritizationWeight","cultivationSummaries","selectizeFields","selectedCultivationSummary","summary","statistics","stDevLookup","stDevMean","AutoMetaDatavue_type_template_id_7fbf8db7_lang_html_staticRenderFns","SatelliteImageReferenceWithStatsvue_type_template_id_d5aa631c_lang_html_render","stDev","SatelliteImageReferenceWithStatsvue_type_template_id_d5aa631c_lang_html_staticRenderFns","SatelliteImageReferencevue_type_template_id_34c8d9ba_lang_html_render","dataSource","shortSources","SatelliteImageReferencevue_type_template_id_34c8d9ba_lang_html_staticRenderFns","SatelliteImageReferencevue_type_script_lang_js_","Sentinel2AtmosphericallyCorrected","Sentinel2","Landsat","RapidEye","Modis","components_SatelliteImageReferencevue_type_script_lang_js_","SatelliteImageReference_injectStyles","SatelliteImageReferencevue_type_style_index_0_lang_scss_module_true_","SatelliteImageReference_component","SatelliteImageReference","SatelliteImageReferenceWithStatsvue_type_script_lang_js_","components_SatelliteImageReferenceWithStatsvue_type_script_lang_js_","SatelliteImageReferenceWithStats_component","SatelliteImageReferenceWithStats","SharedSummaryvue_type_template_id_4f80c074_lang_html_render","parameters","showFullParameters","abbreviatedInput","algorithmSummary","algorithmType","intendedZoneCount","dates","_obj","ignored","usedImages","correlations","substring","correlationCoefficient","minimumCorrelation","SharedSummaryvue_type_template_id_4f80c074_lang_html_staticRenderFns","SharedSummaryvue_type_script_lang_js_","keysToAbbreviate","components_SharedSummaryvue_type_script_lang_js_","SharedSummary_injectStyles","SharedSummaryvue_type_style_index_0_lang_scss_module_true_","SharedSummary_component","SharedSummary","CultivationSummaryvue_type_template_id_0fd12f5f_lang_html_render","total","candidateImages","cloudy","outcome","CultivationSummaryvue_type_template_id_0fd12f5f_lang_html_staticRenderFns","CultivationSummaryvue_type_script_lang_js_","cloudFreeCandidates","localeCompare","selectedImage","components_CultivationSummaryvue_type_script_lang_js_","CultivationSummary_injectStyles","CultivationSummaryvue_type_style_index_0_lang_scss_module_true_","CultivationSummary_component","CultivationSummary","AutoMetaDatavue_type_script_lang_js_","_ref$cultivation","harvestYear","dict","minimumNdviThreshold","maximumNdviThreshold","minimumNdviThresholdL2AOnly","maximumNdviThresholdL2AOnly","zone_map_AutoMetaDatavue_type_script_lang_js_","AutoMetaData_injectStyles","AutoMetaDatavue_type_style_index_0_lang_scss_module_true_","AutoMetaData_component","AutoMetaData","PremiumMetaDatavue_type_template_id_10f9db75_lang_html_render","images","PremiumMetaDatavue_type_template_id_10f9db75_lang_html_staticRenderFns","PremiumMetaDatavue_type_script_lang_js_","zone_map_PremiumMetaDatavue_type_script_lang_js_","PremiumMetaData_injectStyles","PremiumMetaDatavue_type_style_index_0_lang_scss_module_true_","PremiumMetaData_component","PremiumMetaData","BiomassMetaDatavue_type_template_id_906f3c96_lang_html_render","BiomassMetaDatavue_type_template_id_906f3c96_lang_html_staticRenderFns","BiomassMetaDatavue_type_script_lang_js_","zone_map_BiomassMetaDatavue_type_script_lang_js_","BiomassMetaData_component","BiomassMetaData","ZoneMapMetaDatavue_type_script_lang_js_","details_ZoneMapMetaDatavue_type_script_lang_js_","ZoneMapMetaData_injectStyles","ZoneMapMetaDatavue_type_style_index_0_lang_scss_module_true_","ZoneMapMetaData_component","ZoneMapMetaData","CopyAdditionalValuesModalvue_type_template_id_1fa948b2_scoped_true_lang_html_render","onSave","hide-label","sourceZoneMapId","CopyAdditionalValuesModalvue_type_template_id_1fa948b2_scoped_true_lang_html_staticRenderFns","CopyAdditionalValuesModalvue_type_script_lang_js_","BsModal","FrsZoneMapSelection","CopyAdditionalValuesModalvue_type_script_lang_js_objectSpread","_onSave","targetZoneMapId","warning","notifications","validationError","copyFrom","copySuccess","copyError","details_CopyAdditionalValuesModalvue_type_script_lang_js_","CopyAdditionalValuesModal_component","CopyAdditionalValuesModal","ZoneMapDetailsvue_type_script_lang_js_","FrsZoneMapLayer","FontAwesomeIcon","vue_fontawesome","ZoneMapDetailsvue_type_script_lang_js_objectSpread","editMap","sales","details_ZoneMapDetailsvue_type_script_lang_js_","ZoneMapDetails_component","ZoneMapDetails","BiomassMapDetailsvue_type_template_id_64116748_scoped_true_render","BiomassMapDetailsvue_type_template_id_64116748_scoped_true_staticRenderFns","BiomassMapDetailsvue_type_script_lang_js_","BiomassMapDetailsvue_type_script_lang_js_objectSpread","details_BiomassMapDetailsvue_type_script_lang_js_","BiomassMapDetails_component","BiomassMapDetails","SoilMapDetailsvue_type_template_id_839f2a1c_scoped_true_render","SoilMapDetailsvue_type_template_id_839f2a1c_scoped_true_staticRenderFns","CommonDetailsvue_type_template_id_1e8e5128_scoped_true_render","CommonDetailsvue_type_template_id_1e8e5128_scoped_true_staticRenderFns","CommonDetailsvue_type_script_lang_js_","soil_map_details_CommonDetailsvue_type_script_lang_js_","CommonDetails_component","CommonDetails","ZoneValuesvue_type_template_id_2256e972_scoped_true_render","getColor","totalArea","ZoneValuesvue_type_template_id_2256e972_scoped_true_staticRenderFns","ZoneValuesvue_type_script_lang_js_","zoneValue","phbb","soil_map_details_ZoneValuesvue_type_script_lang_js_","ZoneValues_component","ZoneValues","HumusClassesvue_type_template_id_22868c55_scoped_true_render","localize-headers","columns","humusClassColumns","humusClassData","HumusClassesvue_type_template_id_22868c55_scoped_true_staticRenderFns","HumusClassesvue_type_script_lang_js_","SimpleTable","humusClasses","humusClass","soil_map_details_HumusClassesvue_type_script_lang_js_","HumusClasses_component","HumusClasses","RequiredNutrientDetailsvue_type_template_id_201a8136_scoped_true_render","limingInterval","soilTesting","isSecondApplication","tryGetMapName","RequiredNutrientDetailsvue_type_template_id_201a8136_scoped_true_staticRenderFns","RequiredNutrientDetailsvue_type_script_lang_js_","RequiredNutrientDetailsvue_type_script_lang_js_objectSpread","soilMaps","mapsByFieldIdByType","soilMap","mapType","currentMap","soil_map_details_RequiredNutrientDetailsvue_type_script_lang_js_","RequiredNutrientDetails_component","RequiredNutrientDetails","ApplicationMapDetailsvue_type_template_id_2d9ffdba_scoped_true_render","fileFormat","alignInDrivingDirection","spreaderWorkingWidth","rasterLength","requiredNutrientMapName","ApplicationMapDetailsvue_type_template_id_2d9ffdba_scoped_true_staticRenderFns","ApplicationMapDetailsvue_type_script_lang_js_","soil_map_details_ApplicationMapDetailsvue_type_script_lang_js_","ApplicationMapDetails_component","soil_map_details_ApplicationMapDetails","ValidationDetailsvue_type_template_id_0f597b7b_scoped_true_render","validation","sortable","ValidationDetailsvue_type_template_id_0f597b7b_scoped_true_staticRenderFns","ValidationDetailsvue_type_script_lang_js_","soil_map_details_ValidationDetailsvue_type_script_lang_js_","ValidationDetails_component","ValidationDetails","SoilMapDetailsvue_type_script_lang_js_","PhBbMapLayer","ApplicationMapDetails","details_SoilMapDetailsvue_type_script_lang_js_","SoilMapDetails_component","SoilMapDetails","InterpolationMapDetailsvue_type_template_id_661ad93a_scoped_true_render","mappingDate","layerName","blockSize","pixelSize","memorySize","pixelHeight","pixelWidth","variogram","showModal","InterpolationMapDetailsvue_type_template_id_661ad93a_scoped_true_staticRenderFns","SensorDataGradientScalevue_type_template_id_0092d942_scoped_true_render","maxValue","minValue","SensorDataGradientScalevue_type_template_id_0092d942_scoped_true_staticRenderFns","SensorDataGradientScalevue_type_script_lang_js_","widgets_SensorDataGradientScalevue_type_script_lang_js_","SensorDataGradientScale_component","SensorDataGradientScale","InterpolationMapDetailsvue_type_script_lang_js_","InterpolationMapLayer","displayVariogram","_displayVariogram","modal","data_loading","onResult","details_InterpolationMapDetailsvue_type_script_lang_js_","InterpolationMapDetails_component","InterpolationMapDetails","MapDetailsvue_type_script_lang_js_","FrsRouterBackLink","NutrientMapDetails","MapDetailsvue_type_script_lang_js_objectSpread","beforeRouteEnter","loadApplicationMapDetails","loadNutrientMapDetails","loadSoilMapDetails","map_management_MapDetailsvue_type_script_lang_js_","MapDetails_component","Animation","animationService","platform","Ticks","Tooltip","Title","pluginService","PluginBase","canvasHelpers","layoutService","calcBbox","isPointInMultiPoint","isMultiPointInMultiPoint","multiPoint1","multiPoint2","matchFound","isMultiPointOnLine","haveFoundInteriorPoint","isMultiPointInPoly","polyBbox","lineBbox","doBBoxOverlap","midPoint","getMidpoint","poly1Bbox","poly2Bbox","bbox1","bbox2","animation","animateRotate","animateScale","arcOpts","cutoutPercentage","circumference","tooltips","callbacks","tooltipItem","dataLabel","doughnut","pie","Arc","getRingIndex","ringIndex","availableWidth","availableHeight","startAngle","endAngle","contains0","contains90","contains180","contains270","cutout","getMaxBorderWidth","outerRadius","innerRadius","radiusLength","getVisibleDatasetCount","calculateTotal","animationOpts","calculateCircumference","elementOpts","hoverWidth","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NumericInput_vue_vue_type_style_index_0_id_505bcb48_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NumericInput_vue_vue_type_style_index_0_id_505bcb48_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","chartX","chartY","pointRelativePosition","getAngleFromPoint","betweenAngles","withinRadius","halfAngle","halfRadius","centreAngle","rangeFromCentre","sA","eA","processPolygon","polygonCoords","ptCoords","eprev","enext","rtan","ltan","nextCoordPair","isLeft","isBelow","isAbove","point1","point2","point3","pointCoords","polyCoords","LinearScale","LinearScaleBase","DEFAULT_MIN","DEFAULT_MAX","IDMatches","hasStacks","stack","valuesPerStack","positiveValues","negativeValues","relativePoints","valuesForType","minVal","maxVal","handleTickRangeOptions","getTickLimit","maxTicks","maxTicksLimit","handleDirectionalChanges","innerDimension","ticksAsNumbers","degrees2radians","radians2degrees","coordinates1","longitude1","latitude1","bearing_rad","radians","latitude2","longitude2","simplepolygon","Airy1830","AiryModified","Bessel1841","Clarke1866","Clarke1880IGN","GRS80","Intl1924","WGS72","ED50","Irl1975","NAD27","NAD83","NTF","Potsdam","TokyoJapan","toDatum","oldLatLon","oldCartesian","toCartesian","newCartesian","applyTransform","newLatLon","eSq","ε2","R","tanβ","sinβ","cosβ","tx","ty","tz","s1","rx","ry","rz","dp","toLat","toLon","generateTicks","generationOptions","dataRange","significand","tickVal","log10","endExp","endSignificand","minNotZero","lastTick","logarithmic","LogarithmicScale","tickValues","_getFirstTickValue","firstTickValue","computeMinSampleSize","pixels","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","percent","gridLines","offsetGridLines","axis","borderSkipped","yLabel","datasetLabel","xLabel","bar","Rectangle","rects","_ruler","getRuler","rectangleOptions","updateElementGeometry","vscale","getValueScale","horizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","getValueScaleId","getIndexScaleId","getIndexScale","_getStacks","stacks","getStackCount","getStackIndex","imeta","ivalue","controller","stackIndex","maxBarThickness","horizontalBar","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ApplicationMapDetails_vue_vue_type_style_index_0_id_c5bf1f68_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ApplicationMapDetails_vue_vue_type_style_index_0_id_c5bf1f68_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","RADIUS","FLATTENING","POLAR_RADIUS","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoPopover_vue_vue_type_style_index_0_id_357a6dc3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoPopover_vue_vue_type_style_index_0_id_357a6dc3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_ImageBase_js__WEBPACK_IMPORTED_MODULE_0__","_ImageState_js__WEBPACK_IMPORTED_MODULE_1__","_events_js__WEBPACK_IMPORTED_MODULE_2__","_events_EventType_js__WEBPACK_IMPORTED_MODULE_3__","_extent_js__WEBPACK_IMPORTED_MODULE_4__","ImageWrapper","crossOrigin","imageLoadFunction","src_","image_","imageListenerKeys_","imageLoadFunction_","handleImageError_","unlistenImage_","handleImageLoad_","LOAD","setImage","tryCreateTask","boxOptions","selectedBox","task","multiline","iso","validFrom","OsbModalvue_type_script_lang_js_","VueDateTimePicker","applicationMapIds","lanePlanIds","boxes","version","boxId","option","_tryCreateTask","createTask","catch","loadboxes","data_transfer_OsbModalvue_type_script_lang_js_","goBackToTarget","FrsRouterBackLinkvue_type_script_lang_js_","base_FrsRouterBackLinkvue_type_script_lang_js_","offLabel","bg-primary","slider","hasOffSlotOrLabel","SimpleSwitchvue_type_script_lang_js_","forms_SimpleSwitchvue_type_script_lang_js_","radar","pointElementOptions","pointPosition","getPointPositionForValue","xCenter","yCenter","groups","multiMapping","memo","addToGroup","collectedProperties","rbush","bboxPolygon","maxEntries","remove","search","toBBox","collides","all","toJSON","fromJSON","json","cellSize","completelyWithin","xDistance","yDistance","xFraction","yFraction","cellHeight","currentX","column","currentY","cellPoly","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SoilMapDetails_vue_vue_type_style_index_0_id_839f2a1c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SoilMapDetails_vue_vue_type_style_index_0_id_839f2a1c_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","xi","yi","poly1","poly2","intersection","isEmpty","dataPoint","bubble","_resolveElementOptions","dsIndex","getPixelForDecimal","_options","dataIndex","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneEditingOverlay_vue_vue_type_style_index_0_id_5f222b57_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneEditingOverlay_vue_vue_type_style_index_0_id_5f222b57_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","segmentIndex","started","labelsFromTicks","getLineValue","lineValue","computeTextSize","longestText","parseFontOptions","family","parseLineHeight","lineHeight","drawBorder","drawOnChartArea","drawTicks","tickMarkLength","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","beginAtZero","mirror","autoSkipPadding","labelOffset","getPadding","_ticks","longestTextCache","beforeDataLimits","afterDataLimits","beforeBuildTicks","afterBuildTicks","beforeTickToLabelConversion","afterTickToLabelConversion","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","tickFont","labelRotation","originalLabelWidth","labelWidth","tickWidth","angleRadians","scaleLabelOpts","gridLineOpts","isFullWidth","scaleLabelLineHeight","scaleLabelPadding","deltaHeight","largestTextWidth","tallestLabelHeightInLines","numberOfLabelLines","lineSpace","tickPadding","longestLabelWidth","labelHeight","firstLabelWidth","lastLabelWidth","handleMargins","finalVal","innerHeight","decimal","valueOffset","getBaseValue","_autoSkip","skipRatio","shouldSkip","optionTicks","tickCount","labelRotationRadians","longestRotatedLabel","optionMajorTicks","isRotated","tickFontColor","majorTickFontColor","majorTickFont","scaleLabelFontColor","scaleLabelFont","itemsToDraw","axisWidth","xTickStart","xTickEnd","yTickStart","yTickEnd","lineColor","tx1","ty1","tx2","ty2","labelX","labelY","zeroLineIndex","labelYOffset","xLineValue","aliasPixel","labelXOffset","yLineValue","glWidth","glColor","glBorderDash","glBorderDashOffset","itemToDraw","lineCount","scaleLabelX","scaleLabelY","halfLineHeight","onProgress","onComplete","frameDuration","animations","dropFrames","request","addAnimation","lazy","animating","requestAnimationFrame","cancelAnimation","findIndex","requestAnimFrame","startDigest","startTime","Date","now","framesToDrop","advance","endTime","heading","midpoint","MapPaletteSelectorvue_type_script_lang_js_","BsRadio","sortByNumber","sortByValue","sortedMap","components_MapPaletteSelectorvue_type_script_lang_js_","coordsToLine","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SharedSummary_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SharedSummary_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","affineHull","linearlyIndependent","nhull","frame","readonly","absoluteUnit","totalAmount","fieldSize","FrsApplicationMapTotalSumvue_type_script_lang_js_","NumericInput","geographicArea","convertToHectare","endsWith","base_FrsApplicationMapTotalSumvue_type_script_lang_js_","filterByPosition","where","sortByWeight","_tmpIndex_","layoutItem","layoutOptions","layout","leftPadding","rightPadding","topPadding","bottomPadding","leftBoxes","rightBoxes","topBoxes","bottomBoxes","chartAreaBoxes","chartWidth","chartHeight","chartAreaWidth","chartAreaHeight","verticalBoxWidth","horizontalBoxHeight","maxChartAreaWidth","maxChartAreaHeight","minBoxSizes","getMinimumBoxSize","maxHorizontalLeftPadding","maxHorizontalRightPadding","maxVerticalTopPadding","maxVerticalBottomPadding","horizontalBox","boxPadding","verticalBox","totalLeftBoxesWidth","totalRightBoxesWidth","totalTopBoxesHeight","totalBottomBoxesHeight","fitBox","finalFitVerticalBox","leftPaddingAddition","topPaddingAddition","newMaxChartAreaHeight","newMaxChartAreaWidth","placeBox","minBoxSize","findNextWhere","minBox","scaleMargin","fieldSuffix","orgSuffix","route","navigation","location","createMirrorRoute","originalRoute","pSlice","objectKeys","isArguments","expected","getTime","objEquiv","isUndefinedOrNull","isBuffer","copy","pointOnLine","startPt","stopPt","ends","startVertex","stopVertex","clipCoords","comboboxLabeledOption","escape","comboboxLabeledItem","Empty","optionTemplate","group","src_vue_components_forms_input_base_LabelAndMessage__WEBPACK_IMPORTED_MODULE_13__","_components_forms_input_base_InputMixin__WEBPACK_IMPORTED_MODULE_16__","_components_forms_FormPartMixin__WEBPACK_IMPORTED_MODULE_17__","_components_forms_ChangeDetectionMixin__WEBPACK_IMPORTED_MODULE_18__","_components_forms_RuleMixin__WEBPACK_IMPORTED_MODULE_19__","multiple","maxItems","allowEmpty","sortField","useBodyAsParent","resetValue","_helpers_vuex__WEBPACK_IMPORTED_MODULE_14__","sanitizedFieldConfig","_helpers_objects__WEBPACK_IMPORTED_MODULE_15__","sanitizedMaxItems","selectize","internalOptions","sortedOptions","lodash__WEBPACK_IMPORTED_MODULE_11__","resolveField","convertOption","emptyOption","$order","SR_InfoMessages","NoSelection","internalGroups","C_src_Solutions_WebApp_node_modules_babel_runtime_corejs2_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_4__","internalItems","correspondingOptions","invalidIndices","ruleDescription","builtinMessages","RequiredField","combinedMessages","ruleMessages","states","rule","ruleState","combineStates","mapping","fieldValue","getOption","onSelectionChanged","_this7","$_VueSelectize_internalUpdate","selectedItems","finalSelection","updateValues","onSelectChanged","evt","onType","updateOptions","_this8","clearOptions","addOption","refreshOptions","clearOptionGroups","addOptionGroup","_this9","addItem","focus","setDisable","disable","_this10","optgroupField","selectOnTab","PleaseSelectSomething","allowEmptyOption","dropdownParent","searchField","remove_button","$select","$","$maxSelectionInfo","prependTo","src_js_i18n__WEBPACK_IMPORTED_MODULE_12__","addClass","removeClass","off","FrsApplicationMapLayervue_type_script_lang_js_","applicationMapPalette","base_FrsApplicationMapLayervue_type_script_lang_js_","tickValue","logDelta","tickString","maxTick","logTick","toExponential","numDecimal","remain","turfUnion","booleanOverlap","turfbbox","Rbush","getClosest","toLinestring","flat_arr","propertyName","originalIndexOfItemsRemoved","treeItems","rtree","polyIndex","inputFeatureBbox","treeObj","origIndexPosition","polyBoundingBox","searchObj","potentialMatchingFeatures","featureChanged","searchIndex","matchFeaturePosition","closestNumber","greaterNumber","matchFeature","overlapCheck","polyClone","polyBeingCheckedClone","linestring1","linestring2","newBoundingBox","inRing","ignoreBoundary","xj","yj","onBoundary","inBBox","polys","inHole","_util_js__WEBPACK_IMPORTED_MODULE_0__","_events_Target_js__WEBPACK_IMPORTED_MODULE_1__","_events_EventType_js__WEBPACK_IMPORTED_MODULE_2__","EventTarget","pixelRatio_","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SatPicMeta_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SatPicMeta_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","basic","implementation","_enabled","releaseContext","addEventListener","removeEventListener","Radar","experimentalLocalTimeSupport","resources","_input_base_LabelAndMessage_vue__WEBPACK_IMPORTED_MODULE_4__","InputClearButton","_components_InputClearButton__WEBPACK_IMPORTED_MODULE_5__","_input_base_InputMixin__WEBPACK_IMPORTED_MODULE_7__","_FormPartMixin__WEBPACK_IMPORTED_MODULE_8__","src_vue_mixins_make_resource_mixin__WEBPACK_IMPORTED_MODULE_6__","_ChangeDetectionMixin__WEBPACK_IMPORTED_MODULE_9__","_RuleMixin__WEBPACK_IMPORTED_MODULE_10__","dontUseCurrentDate","picker","valueAsMoment","convertToMoment","moment__WEBPACK_IMPORTED_MODULE_2___default","utc","onChange","_skipEmit","processedDate","toISOString","_value","_min","minDate","_max","maxDate","_format","useCurrent","locale","src_js_i18n__WEBPACK_IMPORTED_MODULE_3__","$picker","datetimepicker","startDist","stopDist","overshot","interpolated","travelled","filler","resource","SR_Common","ConfirmationModalvue_type_script_lang_js_","make_resource_mixin","reject","Promise","modals_ConfirmationModalvue_type_script_lang_js_","xSum","ySum","crossProduct","v2","sub","scalarMult","intersectSegments","qmp","numerator","isParallel","NULL_ORDINATE","dimensionsToTest","array_","addAll","ensureCapacity","minx","maxx","miny","maxy","S","interfaces_","T","P","O","_","SRID","userData","getSRID","Y","U","H","W","K","Z","Q","J","$s","tt","parent","et","nt","it","root_","size_","st","ot","at","ut","ht","ct","ft","hasNullElements","gt","dt","geomFact","bnRule","endpointMap","MOD2_BOUNDARY_RULE","getFactory","vt","mt","yt","xt","Et","It","Nt","Ct","St","wt","Lt","Rt","Tt","createLinearRing","hasNonEmptyElements","Pt","bt","ie","getCoordinateSequenceFactory","validateConstruction","Ot","isUserDataCopied","Mt","Dt","At","Ft","Gt","isInteger","getDimension","getCoordinateCopy","qt","Bt","zt","_keys","_values","_itp","objectOnly","Vt","Jt","kt","no","Yt","Ut","Xt","Ht","Wt","jt","Qt","Kt","Zt","$t","entries","te","so","modelType","FLOATING","ne","FIXED","setScale","nameToTypeMap","put","precisionModel","coordinateSequenceFactory","getDefaultCoordinateSequenceFactory","re","geometryFactory","se","oe","inputLines","intPt","intLineIndex","_isProper","pa","ae","ue","le","crossingCount","isPointOnSegment","he","ce","p0","fe","setAll","FALSE","INTERIOR","BOUNDARY","EXTERIOR","ge","areaBasePt","triangleCent3","areasum2","cg3","lineCentSum","totalLength","ptCount","ptCentSum","pe","treeSet","geomFactory","inputPts","extractCoordinates","filterCoordinates","ye","xe","inputGeom","pruneEmptyGeometry","preserveGeometryCollectionType","preserveCollections","preserveType","Ee","snapTolerance","srcPts","seg","allowSnappingToSourceVertices","_isClosed","isClosed","Ie","srcGeom","Ne","snapPts","isSelfSnap","Ce","isFirst","commonMantissaBitsCount","commonBits","commonSignExp","Se","commonCoord","ccFilter","we","commonBitsX","commonBitsY","Le","trans","Re","atStart","subcollectionIterator","getNumGeometries","Te","boundaryRule","OGC_SFS_BOUNDARY_RULE","isIn","numBoundaries","Pe","be","Oe","pts","Me","De","_size","Ae","Fe","Ge","childBoundables","level","qe","boundable1","boundable2","_distance","itemDistance","Be","built","itemBoundables","nodeCapacity","DEFAULT_NODE_CAPACITY","isTrue","ze","Ve","ke","Ye","Ue","Xe","segString","segmentOctant","_isInterior","equals2D","getCoordinate","He","nodeMap","We","nodeList","nodeIt","currNode","nextNode","currSegIndex","getEdge","readNextNode","je","Ke","Ze","tempEnv1","tempEnv2","overlapSeg1","overlapSeg2","Qe","env","Je","$e","tn","segInt","setSegmentIntersector","nn","monoChains","idCounter","nodedSegStrings","nOverlaps","rn","si","sn","msgWithCoord","findAllIntersections","isCheckEndSegmentsOnly","li","interiorIntersection","intSegments","intersections","intersectionCount","keepIntersections","un","segStrings","_isValid","ln","toSegmentStrings","hn","mapOp","cn","ON","LEFT","RIGHT","gn","elt","NONE","setLocation","setLocations","dn","startDe","maxNodeDegree","_isHole","computePoints","computeRing","pn","vn","mn","_isInResult","_isCovered","_isCoveredSet","_isVisited","yn","xn","nodeFact","En","quadrant","In","_isForward","nextMin","minEdgeRing","depth","getNumPoints","computeDirectedLabel","Nn","Cn","edgeEndList","Sn","wn","op","ptLocator","lineEdgesList","resultLineList","Ln","resultPointList","Rn","Tn","Pn","edgeMap","edgeList","ptInAreaLocation","bn","resultAreaEdgeList","SCANNING_FOR_INCOMING","LINKING_TO_OUTGOING","On","_n","mce","chainIndex","Mn","xValue","eventType","insertEvent","deleteEventIndex","DELETE","INSERT","Dn","An","_hasIntersection","hasProper","hasProperInterior","properIntersectionPoint","includeProper","recordIsolated","isSelfIntersection","numIntersections","numTests","bdyNodes","_isDone","isDoneWhenProperInt","Fn","Gn","POSITIVE_INFINITY","NEGATIVE_INFINITY","qn","Bn","zn","node1","node2","buildExtent","Vn","leaves","isForcedToLineString","Yn","Un","Hn","Xn","Wn","jn","Kn","Zn","startIndex","env1","env2","getChainStartIndices","Qn","NULL_VALUE","Jn","eiList","_isIsolated","depthDelta","$n","parentGeom","lineEdgeMap","boundaryNodeRule","useBoundaryDeterminationRule","argIndex","boundaryNodes","_hasTooFewPoints","invalidPoint","areaPtLocator","ti","resultPrecisionModel","arg","setComputationPrecision","getPrecisionModel","compareTo","ei","_orientation","orientation","ni","ocaMap","ii","resultGeom","resultPolyList","ri","cbr","computeSnapTolerance","oi","interiorPoint","centreY","hiY","MAX_VALUE","loY","getEnvelopeInternal","getMaxY","getMinY","avg","minDistance","getCentroid","addInterior","addEndpoints","selectedSegment","subnode","fi","gi","di","32","64","computeKey","vi","centre","getMin","getMax","mi","minExtent","Ei","Ii","crossings","buildIndex","Ni","mcp","Ci","Si","wi","extremalPts","Li","isConvex","convexHullPts","minBaseSeg","minWidthPt","minPtIndex","minWidth","Ri","distanceTolerance","Ti","Pi","_orig","_sym","_next","_isMarked","Oi","vertexMap","_isStart","Mi","Di","nodeEdgeStack","ringStartEdge","Ai","Fi","Gi","centrex","centrey","getMinX","getMaxX","qi","Bi","zi","Vi","ki","Yi","Ui","Xi","ol","Hi","noder","scaleFactor","isScaled","isIntegerPrecision","Wi","isClosedEndpointsInInterior","nonSimpleLocation","isInBoundary","ji","Ki","quadrantSegments","DEFAULT_QUADRANT_SEGMENTS","endCapStyle","CAP_ROUND","joinStyle","JOIN_ROUND","mitreLimit","DEFAULT_MITRE_LIMIT","_isSingleSided","simplifyFactor","DEFAULT_SIMPLIFY_FACTOR","setQuadrantSegments","setEndCapStyle","setJoinStyle","setMitreLimit","Zi","minIndex","minCoord","minDe","orientedDe","Qi","Ji","finder","dirEdgeList","rightMostCoord","$i","inputLine","distanceTol","isDeleted","angleOrientation","COUNTERCLOCKWISE","ptList","minimimVertexDistance","er","maxCurveSegmentError","filletAngleQuantum","closingSegLengthFactor","segList","bufParams","s0","s2","seg0","seg1","offset0","offset1","side","_hasNarrowConcaveAngle","getQuadrantSegments","getJoinStyle","MAX_CLOSING_SEG_LEN_FACTOR","nr","ir","subgraphs","cga","rr","upwardSeg","leftDepth","sr","curveBuilder","curveList","or","hasInterior","numInteriorIntersections","numProperIntersections","ar","workingPrecisionModel","workingNoder","ur","lr","originalPt","ptScaled","p0Scaled","p1Scaled","corner","safeEnv","initCorners","hr","cr","hotPixel","parentEdge","hotPixelVertexIndex","_isNodeAdded","fr","interiorIntersections","gr","pm","pointSnapper","setPrecisionModel","getScale","dr","argGeom","resultGeometry","saveException","pr","comps","vr","segIndex","INSIDE_AREA","mr","yr","locations","xr","terminateDistance","minDistanceLocation","Er","directedEdges","Ir","Nr","edgeDirection","Cr","Sr","dirEdge","setDirectedEdges","wr","outEdges","Lr","deStar","Rr","Tr","Pr","dirEdges","Or","mergedLineStrings","edgeStrings","_r","Mr","Dr","geomGraph","disconnectedRingcoord","Ar","Fr","edgeEnds","getDirectedCoordinate","getLabel","Gr","qr","Br","zr","Vr","nodeGraph","kr","totalEnv","nestedPt","Yr","errorType","Ur","parentGeometry","isSelfTouchingRingFormingHoleValid","validErr","Xr","deList","lowestEdge","ringPts","_isProcessed","_isIncludedSet","_isIncluded","Hr","Wr","jr","lineStringAdder","Kr","dangles","cutEdges","invalidRingLines","holeList","polyList","isCheckingRingsValid","extractOnlyPolygonal","Zr","im","isolatedEdges","Qr","rectEnv","Jr","diagUp0","diagUp1","diagDown0","diagDown1","$r","es","_intersects","ns","rectSeq","_containsPoint","getExteriorRing","getCoordinateSequence","is","rectIntersector","hasIntersection","rs","_relate","ss","skipEmpty","inputGeoms","extractFactory","os","pointGeom","otherGeom","sortIndex","us","inputPolys","ls","hs","CoordinateOperation","targetPM","removeCollapsed","cs","changePrecisionModel","isPointwise","fs","usePt","gs","isEnsureValidTopology","ps","vs","parentLine","segs","resultSegs","minimumSize","ys","querySeg","xs","inputIndex","outputIndex","linePts","Es","Is","lineSimplifier","linestringMap","Ns","Cs","tps","Ss","segLen","splitPt","minimumLen","getLength","ws","Ls","Rs","Ts","Ps","_isOnConstraint","constraint","_rot","vertex","Os","subdiv","isUsingTolerance","getTolerance","Ms","lastEdge","Ds","msgWithSpatial","As","Fs","visitedKey","quadEdges","startingEdge","edgeCoincidenceTolerance","frameVertex","frameEnv","locator","triEdges","EDGE_COINCIDENCE_TOL_FACTOR","createFrame","initSubdiv","Gs","qs","triList","Bs","zs","coordList","triCoords","Vs","ks","Ys","Us","numberOfNodes","Xs","matchNode","matchDist","Hs","initialVertices","segVertices","segments","incDel","splitFinder","kdt","vertexFactory","computeAreaEnv","Ws","siteCoords","js","constraintLines","constraintVertexMap","Ks","clipEnv","diagramEnv","Zs","trunc","getClass","equalsWithTolerance","doubleToLongBits","longBitsToDouble","isInfinite","shouldNeverReachHere","setOrdinate","getOrdinate","equals3D","equalInZ","CloneNotSupportedException","distance3D","hashCode","setCoordinate","DimensionalComparator","serialVersionUID","hasNext","Qs","arrayList_","position_","toCoordinateArray","coordArrayType","closeRing","getWidth","getHeight","isNull","covers","expandToInclude","setToNull","maxExtent","expandBy","contains","toLocationSymbol","LOG_10","clamp","append","setCharAt","substr","intValue","isWhitespace","extractSignificantDigits","magnitude","TEN","divide","ONE","multiply","MAX_PRINT_DIGITS","subtract","selfAdd","sqr","doubleValue","negate","isZero","selfSubtract","getSpecialNumberString","selfDivide","SPLIT","dump","createNaN","selfMultiply","reciprocal","rint","setValue","isNegative","selfSqr","toStandardNotation","toSciNotation","stringOfChar","SCI_NOT_ZERO","SCI_NOT_EXPONENT_CHAR","IllegalStateException","isPositive","signum","isDigit","NumberFormatException","TWO_PI","PI_2","EPS","orientationIndexFilter","signOfDet2x2","DP_SAFE_EPSILON","getX","expandEnvelope","getY","arraycopy","getProperty","line.separator","getSortIndex","SORTINDEX_GEOMETRYCOLLECTION","getGeometryN","isRectangle","equalsTopo","equalsExact","geometryChanged","geometryChangedFilter","geometryChangedAction","equalsNorm","norm","compareToSameClass","getUserData","toGeometry","checkNotGeometryCollection","computeEnvelopeInternal","setSRID","setUserData","isGeometryCollectionOrDerived","SORTINDEX_MULTIPOINT","SORTINDEX_MULTILINESTRING","SORTINDEX_MULTIPOLYGON","SORTINDEX_POINT","SORTINDEX_LINESTRING","SORTINDEX_LINEARRING","SORTINDEX_POLYGON","Mod2BoundaryNodeRule","EndPointBoundaryNodeRule","MultiValentEndPointBoundaryNodeRule","MonoValentEndPointBoundaryNodeRule","ENDPOINT_BOUNDARY_RULE","MULTIVALENT_ENDPOINT_BOUNDARY_RULE","MONOVALENT_ENDPOINT_BOUNDARY_RULE","isRing","ptNotInList","scroll","hasRepeatedPoints","removeRepeatedPoints","removeNull","copyDeep","isEqualReversed","atLeastNCoordinatesOrNothing","increasingDirection","minCoordinate","OLDcompare","ForwardComparator","BidirectionalComparator","entrySet","javascript","OperationNotSupported","Js","hashSet_","getValue","getKey","fixAfterInsertion","rotateLeft","rotateRight","getFirstEntry","successor","eo","treeSet_","asList","toDimensionSymbol","SYM_FALSE","TRUE","SYM_TRUE","DONTCARE","SYM_DONTCARE","SYM_P","SYM_L","SYM_A","toDimensionValue","isDone","isGeometryChanged","isEquivalentClass","getBoundaryDimension","createGeometryCollection","getBoundary","getGeometryType","createMultiLineString","boundaryMultiLineString","getEmptyMultiPoint","computeBoundaryCoordinates","createPoint","createMultiPointFromCoords","boundaryLineString","getStartPoint","createMultiPoint","getEndPoint","addEndpoint","getCoordinateN","chars","getStackTrace","printStackTrace","readLine","NEWLINE","SIMPLE_ORDINATE_FORMAT","spaces","copyCoord","swap","ensureValidRing","createClosedRing","isSimple","getPointN","computeLength","createLineString","isCoordinate","getNumInteriorRing","isCCW","getInteriorRingN","MINIMUM_VALID_SIZE","createMultiPolygon","setCopyUserData","edit","editInternal","editGeometryCollection","editPolygon","getName","createPolygon","GeometryEditorOperation","editCoordinates","NoOpGeometryOperation","CoordinateSequenceOperation","readResolve","instanceObject","ro","delete","Map","getMaximumSignificantDigits","isFloating","FLOATING_SINGLE","makePrecise","mostPrecise","Type","maximumPreciseValue","buildGeometry","toGeometryArray","toPolygonArray","toLineStringArray","toPointArray","createGeometry","toMultiPolygonArray","toMultiLineStringArray","toMultiPointArray","toLinearRingArray","createPointFromInternalCoord","oo","typeStr","emptyTypeStr","parenComma","doubleParenComma","trimParens","uo","ao","multipoint","linearring","multilinestring","multipolygon","geometrycollection","toLineString","getIndexAlongSegment","computeIntLineIndex","getTopologySummary","isEndPoint","isCollinear","computeIntersection","computeIntersect","getIntersectionNum","getEdgeDistance","isProper","isInteriorIntersection","getIntersection","NO_INTERSECTION","computeEdgeDistance","COLLINEAR_INTERSECTION","getEndpoint","isIntersection","getIntersectionAlongSegment","nonRobustComputeEdgeDistance","DONT_INTERSECT","DO_INTERSECT","COLLINEAR","POINT_INTERSECTION","isInSegmentEnvelopes","normalizeToMinimum","smallestInAbsValue","safeHCoordinateIntersection","nearestEndpoint","intersectionWithNormalization","checkDD","println","normalizeToEnvCentre","computeCollinearIntersection","distancePointLine","countSegment","isPointInPolygon","getLocation","isOnSegment","locatePointInRing","distanceLineLine","isPointInRing","computeOrientation","distancePointLinePerpendicular","isOnLine","CLOCKWISE","STRAIGHT","isVertical","project","projectionFactor","distancePerpendicular","closestPoints","closestPoint","lineIntersection","pointAlongOffset","segmentFraction","pointAlong","java","lang","Double","isIntersects","isDisjoint","isCovers","isCoveredBy","isContains","setAtLeast","setAtLeastIfValid","isWithin","isTouches","isOverlaps","isEquals","transpose","isCrosses","freeze","Coordinate","CoordinateList","Envelope","LineSegment","GeometryFactory","Geometry","LinearRing","Dimension","IntersectionMatrix","PrecisionModel","addPoint","setBasePoint","addLineSegments","addHole","addTriangle","addShell","centroid3","area2","IndexOutOfBoundsException","peek","preSort","computeOctRing","computeOctPts","lineOrPolygon","cleanRing","isBetween","padArray3","getConvexHull","grahamScan","polarCompare","RadialComparator","transformPoint","transformCoordinates","transformPolygon","transformLinearRing","createCoordinateSequence","getInputGeometry","transformMultiLineString","transformLineString","transformMultiPoint","transformMultiPolygon","transformGeometryCollection","snapVertices","findSnapForVertex","snapTo","snapSegments","findSegmentIndexToSnap","setAllowSnappingToSourceVertices","extractTargetCoordinates","snapToSelf","computeMinimumSegmentLength","snap","computeOverlaySnapTolerance","computeSizeBasedSnapTolerance","SNAP_PRECISION_FACTOR","snapLine","getCommon","signExpBits","numCommonMostSigMantissaBits","zeroLowerBits","Long","toBinaryString","getBit","addCommonBits","removeCommonBits","getCommonCoordinate","CommonCoordinateFilter","Translater","isAtomic","UnsupportedOperationException","locateInternal","locateInPolygonRing","locate","updateLocationInfo","computeLocation","octant","setData","getData","getSegmentOctant","getBounds","getItem","poll","reorder","visitItem","query","getLevel","getChildBoundables","addChildBoundable","computeBounds","ho","reverseOrder","singletonList","expandToQueue","isComposite","expand","isLeaves","getDistance","getBoundable","getNodeCapacity","lastNode","build","itemsTree","boundablesAtLevel","getIntersectsOp","createNode","createHigherLevels","getRoot","createParentBoundables","getComparator","compareDoubles","IntersectsOp","createParentBoundablesFromVerticalSlices","createParentBoundablesFromVerticalSlice","intersectsOp","verticalSlices","yComparator","xComparator","nearestNeighbour","centreX","STRtreeNode","relativeSign","compareValue","print","isInterior","getSplitCoordinates","addEdgeCoordinates","addCollapsedNodes","findCollapsesFromInsertedNodes","findCollapsesFromExistingVertices","addSplitEdges","createSplitEdge","findCollapseIndex","checkSplitEdgesCorrectness","addIntersection","safeOctant","addIntersectionNode","getNodeList","addIntersections","getNodedSubstrings","getLineSegment","computeSelect","computeOverlaps","computeOverlapsInternal","setId","getEndIndex","getStartIndex","isNorthern","NE","NW","isOpposite","commonHalfPlane","isInHalfPlane","SE","SW","findChainEnd","toIntArray","getChains","computeNodes","getMonotoneChains","getIndex","intersectChains","processIntersections","SegmentOverlapAction","getInteriorIntersection","setCheckEndSegmentsOnly","getIntersectionSegments","getIntersections","setFindAllIntersections","setKeepIntersections","isEndSegment","createAllIntersectionsFinder","createAnyIntersectionFinder","createIntersectionCounter","execute","checkInteriorIntersections","checkValid","getErrorMessage","computeIntersections","setAllLocations","setAllLocationsIfNull","isLine","getLocations","isArea","isAnyNull","isEqualOnSide","allPositionsEqual","getGeometryCount","toLine","toLineLabel","isIsolated","getEdgeRing","mergeLabel","addPoints","isForward","setEdgeRing","getNext","getLinearRing","computeMaxNodeDegree","getEdges","getOutgoingDegree","isHole","setInResult","containsPoint","isShell","getMaxNodeDegree","getShell","setShell","setMinEdgeRing","getNextMin","buildMinimalRings","getMinEdgeRing","linkDirectedEdgesForMinimalEdgeRings","linkMinimalDirectedEdges","setVisited","isCovered","isCoveredSet","setLabel","setCovered","updateIM","computeIM","isInResult","isVisited","isIncidentEdgeInResult","computeMergedLocation","setNode","setLabelBoundary","addNode","getBoundaryNodes","compareDirection","getDy","lastIndexOf","getDx","getQuadrant","computeLabel","getDepth","setDepth","isInteriorAreaEdge","setNextMin","getDepthDelta","isLineEdge","getSym","printEdge","printReverse","setSym","setVisitedEdge","setEdgeDepths","setNext","depthFactor","printEdges","getNodeIterator","linkResultDirectedEdges","debugPrintln","isBoundaryNode","linkAllDirectedEdges","matchInSameDirection","getEdgeEnds","debugPrint","getEdgeIterator","findEdgeInSameDirection","insertEdge","findEdgeEnd","addEdges","getNodes","findEdge","sortShellsAndHoles","computePolygons","placeFreeHoles","findEdgeRingContaining","buildMinimalEdgeRings","findShell","placePolygonHoles","buildMaximalEdgeRings","getPolygons","collectLines","getGraph","collectLineEdge","collectBoundaryTouchEdge","labelIsolatedLine","getArgGeometry","findCoveredLineEdges","buildLines","isResultOfOp","isCoveredByA","labelIsolatedLines","INTERSECTION","filterCoveredNodeToPoint","isCoveredByLA","extractNonCoveredResultNodes","getDegree","containsPointInPolygon","getNextCW","propagateSideLabels","isAreaLabelsConsistent","computeEdgeEndLabels","getBoundaryNodeRule","checkAreaLabelsConsistent","computeLabelling","insertEdgeEnd","getResultAreaEdges","getRightmostEdge","updateLabelling","computeDepths","mergeSymLabels","computeIntersectsForChain","isDelete","setDeleteEventIndex","getObject","getInsertEvent","isInsert","isSameLabel","getDeleteEventIndex","isTrivialIntersection","isAdjacentSegments","getProperIntersectionPoint","setIsDoneIfProperInt","hasProperInteriorIntersection","isBoundaryPointInternal","hasProperIntersection","isBoundaryPoint","setBoundaryNodes","setIsolated","prepareEvents","processOverlaps","getMonotoneChainEdge","getStartIndexes","NodeComparator","buildTree","IntervalRTreeNode","buildLevel","buildRoot","printNode","setForceToLineString","getLines","getItems","addLine","SegmentVisitor","IntervalIndexedGeometry","getSegmentIndex","computeIntersects","getDelta","depthAtLocation","getCollapsedEdge","setName","isCollapsed","getMaximumSegmentIndex","isPointwiseEqual","setDepthDelta","getEdgeIntersectionList","insertBoundaryPoint","determineBoundary","computeSelfNodes","createEdgeSetIntersector","addSelfIntersectionNodes","computeSplitEdges","computeEdgeIntersections","hasTooFewPoints","insertPoint","addPolygon","addPolygonRing","addLineString","getInvalidPoint","getBoundaryPoints","addSelfIntersectionNode","addCollection","compareOriented","findEdgeIndex","findEqualEdge","insertUniqueEdge","cancelDuplicateResultEdges","computeGeometry","createEmptyResult","replaceCollapsedEdges","updateNodeLabelling","getResultGeometry","computeOverlay","insertUniqueEdges","copyPoints","computeLabelsFromDepths","labelIncompleteNodes","findResultAreaEdges","labelIncompleteNode","overlayOp","MapOp","symDifference","SYMDIFFERENCE","resultDimension","UNION","DIFFERENCE","difference","selfSnap","prepareResult","horizontalBisector","widestGeometry","getInteriorPoint","getBisectorY","updateInterval","SafeBisectorFinder","hasChildren","isPrunable","hasItems","addAllItems","addAllItemsFromOverlapping","isSearchMatch","nodeSize","getSubnodeIndex","overlaps","exponent","powerOf2","getInterval","computeLevel","computeInterval","getPoint","createSubnode","getSubnode","createExpanded","isZeroWidth","MIN_BINARY_EXPONENT","insertContained","collectStats","ensureExtent","testLineSegment","testMonotoneChain","MCSelecter","PI_TIMES_2","isAcute","isObtuse","interiorAngle","normalizePositive","angleBetween","getTurn","angleBetweenOriented","PI_OVER_2","PI_OVER_4","interpolateZ","longestSideLength","circumcentre","area3D","inCentre","perpendicularBisector","angleBisector","getRadius","compute","getDiameter","getExtremalPoints","computeCirclePoints","lowestPoint","pointWitMinAngleWithX","pointWithMinAngleWithSegment","computeCentre","getFarthestPoints","getCircle","getCentre","getWidthCoordinate","computeMinimumDiameter","getSupportingSegment","computeWidthConvex","computeConvexRingMinDiameter","findMaxPerpDistance","getMinimumRectangle","computeC","computeSegmentForLine","getMinimumDiameter","co","Centroid","CGAlgorithms","ConvexHull","InteriorPointArea","InteriorPointLine","InteriorPointPoint","RobustLineIntersector","MCPointInRing","MinimumBoundingCircle","MinimumDiameter","setDistanceTolerance","densifyPoints","densify","createValidArea","DensifyTransformer","fo","Densifier","dest","oNext","insertAfter","orig","deltaY","compareAngularDirection","deltaX","prevNode","setMark","isMarked","setMarkBoth","markBoth","createEdge","isValidEdge","getVertexEdges","setStart","isStart","updateRingStartEdge","getResult","computeResult","stackEdges","buildRing","buildLine","go","LineDissolver","po","GeometryGraph","getNodeCount","visitItems","visit","computeQuadLevel","queryAll","vo","Quadtree","mo","STRtree","yo","quadtree","strtree","xo","Eo","Io","FeatureCollection","reducePrecision","convertFromPoint","convertFromLineString","convertFromLinearRing","convertFromPolygon","convertFromMultiPoint","convertFromMultiLineString","convertFromMultiPolygon","convertFromCollection","getLinearRings","getPoints","getLineStrings","getGeometries","convertToPoint","convertToLineString","convertToLinearRing","convertToPolygon","convertToMultiPoint","convertToMultiLineString","convertToMultiPolygon","convertToCollection","No","OL3Parser","WKTReader","WKTWriter","rescale","Co","MCIndexNoder","ScaledNoder","SegmentString","isSimpleMultiPoint","isSimplePolygonal","isSimpleLinearGeometry","hasClosedEndpointIntersection","getNonSimpleLocation","hasNonEndpointIntersection","computeSimple","isSimpleGeometryCollection","EndpointInfo","getEndCapStyle","isSingleSided","JOIN_BEVEL","JOIN_MITRE","setSimplifyFactor","getSimplifyFactor","getMitreLimit","setSingleSided","bufferDistanceError","CAP_FLAT","CAP_SQUARE","getRightmostSide","getRightmostSideOfSegment","checkForRightmostCoordinate","findRightmostEdgeAtVertex","findRightmostEdgeAtNode","addLast","removeFirst","clearVisitedEdges","getRightmostCoordinate","computeNodeDepth","copySymDepths","computeDepth","addReachable","findResultEdges","getDirectedEdges","isDeletable","isConcave","isShallow","isShallowSampled","deleteShallowConcavities","findNextNonDeletedIndex","isShallowConcavity","NUM_PTS_TO_CHECK","collapseLine","INIT","KEEP","COORDINATE_ARRAY_TYPE","addPt","isRedundant","addPts","setMinimumVertexDistance","addNextSegment","computeOffsetSegment","addCollinear","addOutsideTurn","addInsideTurn","addLineEndCap","addFilletArc","addMitreJoin","addLimitedMitreJoin","addFilletCorner","OFFSET_SEGMENT_SEPARATION_FACTOR","addBevelJoin","createSquare","addSegments","addFirstSegment","addLastSegment","initSideSegments","INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR","createCircle","CURVE_VERTEX_SNAP_DISTANCE_FACTOR","hasNarrowConcaveAngle","getOffsetCurve","getSegGen","computePointCurve","computeOffsetCurve","computeSingleSidedBufferCurve","simplifyTolerance","computeRingBufferCurve","computeLineBufferCurve","getLineCurve","getBufferParameters","getRingCurve","copyCoordinates","findStabbedSegments","DepthSegment","addCurve","isErodedCompletely","isTriangleErodedCompletely","getCurves","getLineIntersector","hasInteriorIntersection","setWorkingPrecisionModel","buildSubgraphs","createSubgraphs","createEmptyResultGeometry","getNoder","computeNodedEdges","setNoder","convertSegStrings","checkEndPtVertexIntersections","checkCollapses","checkCollapse","fact","intersectsScaled","intersectsToleranceSquare","copyScaled","getSafeEnvelope","SAFE_ENV_EXPANSION_FACTOR","intersectsPixelClosure","addSnappedNode","isNodeAdded","HotPixelSnapAction","getInteriorIntersections","checkCorrectness","snapRound","findInteriorIntersections","computeIntersectionSnaps","computeVertexSnaps","bufferFixedPrecision","bufferReducedPrecision","MAX_PRECISION_DIGITS","precisionScaleFactor","bufferOriginalPrecision","bufferOp","CAP_BUTT","So","BufferOp","BufferParameters","isInsideArea","getGeometryComponent","computeContainmentDistance","computeMinDistanceLinesPoints","computeMinDistance","computeFacetDistance","computeMinDistanceLines","updateMinDistance","computeMinDistancePoints","nearestLocations","nearestPoints","isWithinDistance","wo","DistanceOp","getEdgeDirection","getLine","setMarked","setContext","getComponentWithVisitedState","isRemoved","getDirectionPt","getAngle","getFromNode","setEdge","getToNode","toEdges","getOutEdges","addOutEdge","getDirEdge","getOppositeNode","getNextEdge","sortEdges","getNextCWEdge","getEdgesBetween","retainAll","findNodesOfDegree","nodeIterator","dirEdgeIterator","edgeIterator","findNode","buildEdgeStringsForUnprocessedNodes","buildEdgeStringsStartingAt","buildEdgeStringsForNonDegree2Nodes","buildEdgeStringsForObviousStartNodes","getMergedLineStrings","buildEdgeStringStartingWith","buildEdgeStringsForIsolatedLoops","Lo","LineMerger","Ro","OverlayOp","isInRing","setRing","getRing","visitInteriorRing","findDifferentPoint","visitLinkedDirectedEdges","visitShellInteriors","setInteriorEdgesInResult","buildEdgeRings","hasUnvisitedShellEdge","isInteriorsConnected","createEdgeEndForNext","createEdgeEndForPrev","computeEdgeEnds","computeLabelOn","computeLabelSide","computeLabelSides","updateIMFromEdges","insertEdgeEnds","copyNodesAndLabels","computeIntersectionNodes","isNodeEdgeAreaLabelsConsistent","hasDuplicateRings","isNodeConsistentArea","getNestedPoint","isNonNested","findPtNotNode","getErrorType","getMessage","errMsg","REPEATED_POINT","HOLE_OUTSIDE_SHELL","NESTED_HOLES","DISCONNECTED_INTERIOR","SELF_INTERSECTION","RING_SELF_INTERSECTION","NESTED_SHELLS","DUPLICATE_RINGS","TOO_FEW_POINTS","INVALID_COORDINATE","RING_NOT_CLOSED","checkInvalidCoordinates","checkHolesNotNested","checkConsistentArea","checkShellInsideHole","checkNoSelfIntersectingRings","checkNoSelfIntersectingRing","checkConnectedInteriors","checkHolesInShell","checkTooFewPoints","getValidationError","checkClosedRing","checkClosedRings","checkShellsNotNested","setSelfTouchingRingFormingHoleValid","checkShellNotNested","isIncluded","isIncludedSet","isOuterHole","hasShell","getPolygon","isProcessed","setIncluded","getOuterHole","computeHole","isOuterShell","getLineString","updateIncluded","setProcessed","findDirEdgesInRing","EnvelopeComparator","findEdgeRing","computeDepthParity","computeNextCWEdges","deleteCutEdges","findLabeledEdgeRings","getEdgeRings","convertMaximalToMinimalEdgeRings","findIntersectionNodes","computeNextCCWEdges","deleteDangles","deleteAllEdges","getDegreeNonDeleted","polygonize","getInvalidRingLines","findValidRings","findShellsAndHoles","assignHolesToShells","findDisjointShells","extractPolygons","getDangles","getCutEdges","setCheckRingsValid","findOuterShells","assignHoleToShell","LineStringAdder","To","Polygonizer","computeProperIntersectionIM","labelIsolatedEdges","labelIsolatedEdge","computeDisjointIM","labelIsolatedNodes","labelNodeEdges","labelIntersectionNodes","labelIsolatedNode","isContainedInBoundary","isPointContainedInBoundary","isLineStringContainedInBoundary","isLineSegmentContainedInBoundary","applyTo","checkIntersectionWithLineStrings","checkIntersectionWithSegments","getIntersectionMatrix","relate","touches","within","coveredBy","relateWithCheck","crosses","Po","RelateOp","extractElements","combine","createList","reduceToGeometries","unionTree","extractByEnvelope","unionOptimized","unionActual","unionUsingEnvelopeIntersection","STRTREE_NODE_CAPACITY","binaryUnion","unionSafe","repeatedUnion","restrictToPolygons","bufferUnion","unionNoOpt","unionWithNull","bo","UnaryUnionOp","Oo","IsValidOp","ConsistentAreaTester","_o","BoundaryOp","IsSimpleOp","linemerge","fixPolygonalTopology","changePM","reducePointwise","createFactory","createEditor","setRemoveCollapsedComponents","setChangePrecisionModel","setPointwise","Mo","GeometryPrecisionReducer","simplifySection","setEnsureValid","DPTransformer","getParent","addToResult","asLineString","getResultSize","getSegment","getParentCoordinates","getMinimumSize","asLinearRing","getSegments","getResultCoordinates","hasBadIntersection","hasBadOutputIntersection","hasBadInputIntersection","findFurthestPoint","isInLineSection","LineStringTransformer","LineStringMapBuilderFilter","Do","DouglasPeuckerSimplifier","TopologyPreservingSimplifier","splitAt","pointAlongReverse","getConstrainedLength","setMinimumLength","getSplitPoint","findSplitPoint","projectedSplitPoint","triArea","isInCircleDDNormalized","checkRobustInCircle","isInCircleNonRobust","isInCircleDDSlow","isInCircleCC","toPoint","isInCircleDDFast","triAreaDDFast","isInCircleNormalized","triAreaDDSlow","isInCircleRobust","circleCenter","bisector","dot","magn","getZ","isInCircle","interpolateZValue","rightOf","setZ","times","leftOf","classify","BEHIND","BEYOND","ORIGIN","DESTINATION","BETWEEN","circumRadiusRatio","getConstraint","setOnConstraint","isOnConstraint","setConstraint","equalsNonOriented","equalsOriented","toLineSegment","dNext","lPrev","rPrev","rot","oPrev","setOrig","lNext","invRot","setDest","rNext","isLive","getPrimary","dPrev","makeEdge","connect","insertSite","isVertexOfEdge","isOnEdge","insertSites","locateFromEdge","getTriangleVertices","visitTriangles","isFrameVertex","getVoronoiCellPolygon","setLocator","isFrameBorderEdge","getTriangleEdges","fetchTriangleToVisit","isFrameEdge","getTriangleCoordinates","getTriangles","getVertices","getPrimaryEdges","getVertexUniqueEdges","getVoronoiCellPolygons","getVoronoiDiagram","checkTriangleSize","TriangleCircumcentreVisitor","TriangleEdgesListVisitor","TriangleVertexListVisitor","TriangleCoordinatesVisitor","getEndZ","getStartZ","getStart","getEnd","getEndY","getStartX","getStartY","getEndX","isRepeated","getRight","setLeft","getCount","getLeft","increment","setRight","findBestMatchNode","insertExact","queryNode","queryEnvelope","toCoordinates","BestMatchVisitor","getInitialVertices","getKDT","enforceConstraints","addConstraintVertices","enforceGabriel","MAX_SPLIT_ITER","getVertexFactory","getPointArray","setConstraints","computeConvexHull","findNonGabrielPoint","getConstraintSegments","setSplitPointFinder","createVertex","removeAll","getSubdivision","computeBoundingBox","computeVertexEnvelope","setVertexFactory","formInitialDelaunay","toVertices","setTolerance","setSites","extractUniqueCoordinates","createSiteVertices","containsKey","createVertices","createConstraintSegments","getDiagram","clipGeometryCollection","setClipEnvelope","Ao","Vertex","Fo","ConformingDelaunayTriangulationBuilder","DelaunayTriangulationBuilder","VoronoiDiagramBuilder","quadedge","toText","Go","algorithm","geomgraph","noding","operation","staticStyle","zoneMapIds","fieldConfig","selectedZoneMapId","hideLabel","optionalLabel","small","showOnMap","FrsZoneMapSelectionvue_type_script_lang_js_","showInactiveMaps","zoneMapIdsByFieldId","mapIdsByFieldId","ids","fieldName","getMapLabel","entityNameLookup","loadAvailableZoneMaps","base_FrsZoneMapSelectionvue_type_script_lang_js_","coordinates2","convexHull2D","monotoneHull","hull","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapDetails_vue_vue_type_style_index_0_id_80ed17f0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapDetails_vue_vue_type_style_index_0_id_80ed17f0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","targetPoint","nearestPoint","minDist","distanceToPoint","robustSum","robustScale","robustSubtract","NUM_EXPAND","EPSILON","ERRBOUND3","ERRBOUND4","cofactor","generateSum","expr","determinant","neg","posExpr","negExpr","funcName","orientation3Exact","orientation4Exact","CACHED","tol","adx","bdx","cdx","ady","bdy","cdy","adz","bdz","cdz","bdxcdy","cdxbdy","cdxady","adxcdy","adxbdy","bdxady","permanent","slowOrient","generateOrientationProc","procArgs","fixed-header","fixedHeader","headerWidth","localizeHeaders","localize","sortedBy","descending","sortBy","onScroll","highlight","rowIndex","columnIndex","format-string","formatString","colspan","headerData","SimpleTableSortingButtonvue_type_template_id_6c9a549e_scoped_true_lang_html_render","fixed-width","SimpleTableSortingButtonvue_type_template_id_6c9a549e_scoped_true_lang_html_staticRenderFns","sortIcons","string","amount","SimpleTableSortingButtonvue_type_script_lang_js_","FaIcon","table_SimpleTableSortingButtonvue_type_script_lang_js_","SimpleTableSortingButton","defaultSortingFunctions","datetime","defaultSortingIcons","SimpleTablevue_type_script_lang_js_","SimpleTableAutoCell","disableInternalSort","_settings$value","_settings$sortingFunc","sortingFunction","_settings$sortingIcon","sortingIcon","sortedData","_this$headerData$this","sortedEventArgs","tableBody","clientWidth","table_SimpleTablevue_type_script_lang_js_","SimpleTable_component","plus","minus","dividedBy","angleTo","sinθ","cosθ","rotateAround","theta","qp","geometryCollection","factors","miles","nauticalmiles","degrees","inches","yards","meters","metres","kilometers","kilometres","feet","distanceToDegrees","lineSegmentStart","lineSegmentEnd","excludeBoundary","ignoreEndVertices","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MapPaletteSelector_vue_vue_type_style_index_0_id_53cd579e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MapPaletteSelector_vue_vue_type_style_index_0_id_53cd579e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","prevTime","selectColor","createDebug","self","coerce","logFn","names","skips","centers","controls","stepLength","delay","dz","cacheSteps","mindist","laststep","step","vector","speed","bezier","t2","t3","t1","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InputClearButton_vue_vue_type_style_index_0_id_451fb25d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InputClearButton_vue_vue_type_style_index_0_id_451fb25d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","simplifyJS","cleanCoords","highQuality","simplifyLine","simplifyPolygon","simpleRing","checkValidity","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","turfLine","turfPoint","bearingToAngle","convertDistance","distanceToSegment","mercator","distanceAP","euclideanDistance","azimuthAP","azimuthAB","angleA","azimuthBA","azimuthBP","angleB","mercatorPH","toWGS84","euclideanIntersection","distancePH","dab","squareD","colorNames","getRgba","abbr","hex","rgba","per","keyword","rgb","getHsla","hsl","alpha","getHwb","hwb","getRgb","getHsl","hsla","getAlpha","vals","hexString","hexDouble","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","reverseNames","num","wgs84","ringArea","p3","lowerIndex","middleIndex","upperIndex","coordsLength","rad","textSize","titleX","titleY","titleFont","createNewTitleBlockAndAttach","titleOpts","titleBlock","getRelativePosition","parseVisibleItems","getIntersectItems","getNearestItems","distanceMetric","nearestItems","getDistanceMetricForAxis","useX","useY","indexMode","modes","single","x-axis","nearest","sizeA","sizeB","intersectsItem","isLimeApplicationMap","paletteOptions","application-map","showValues","applicationAmounts","valueAdjustedMap","is-lime-application","product","caOValue","mgOValue","minAmount","maxAmount","meanValue","basicActiveIngredients","totalRequirement","application-map-ids","Osbvue_type_template_id_2770a786_lang_html_render","openModal","Osbvue_type_template_id_2770a786_lang_html_staticRenderFns","Osbvue_type_script_lang_js_","OsbModal","data_transfer_Osbvue_type_script_lang_js_","Osb","Detailsvue_type_template_id_5f4364e0_scoped_true_render","applicationMap","Detailsvue_type_template_id_5f4364e0_scoped_true_staticRenderFns","DetailsBasicFertilizationvue_type_template_id_65d797ba_scoped_true_render","zoneMapName","nutrientContent","desiredNumberOfClasses","plannedYield","planned-yield","previousFertilizationProduct","previousFertilization","quantity","DetailsBasicFertilizationvue_type_template_id_65d797ba_scoped_true_staticRenderFns","DetailsBasicFertilizationPlannedYieldvue_type_template_id_2c19974d_scoped_true_render","includeByproduct","cropUsageTranslation","cropHarvestQualityTranslation","DetailsBasicFertilizationPlannedYieldvue_type_template_id_2c19974d_scoped_true_staticRenderFns","DetailsBasicFertilizationPlannedYieldvue_type_script_lang_js_","_getCropUsageTranslat","crops","abbreviation","cropHarvestQualityId","widgets_DetailsBasicFertilizationPlannedYieldvue_type_script_lang_js_","DetailsBasicFertilizationPlannedYield_component","DetailsBasicFertilizationPlannedYield","DetailsBasicFertilizationvue_type_script_lang_js_","legacyNutrientMapping","BasicFertilization_Phosphorus","BasicFertilization_Magnesium","BasicFertilization_pH","BasicFertilization_Potassium","products","productId","widgets_DetailsBasicFertilizationvue_type_script_lang_js_","DetailsBasicFertilization_component","DetailsBasicFertilization","DetailsFertAssistvue_type_template_id_ab9e8cf0_render","_f","dateTimeRange","algorithmName","currentTemperature","requests","DetailsFertAssistvue_type_template_id_ab9e8cf0_staticRenderFns","DetailsFertAssistvue_type_script_lang_js_","filters","formatDate","isoDate","DetailsFertAssistvue_type_script_lang_js_objectSpread","cultivationId","details","widgets_DetailsFertAssistvue_type_script_lang_js_","DetailsFertAssist_component","DetailsFertAssist","DetailsMaizeSowingvue_type_template_id_b7c70988_scoped_true_render","automatic","ignoreLimits","automaticMode","customSowingDensity","waterLevel","soilQuality","usage","DetailsMaizeSowingvue_type_template_id_b7c70988_scoped_true_staticRenderFns","DetailsMaizeSowingvue_type_script_lang_js_","DetailsMaizeSowingvue_type_script_lang_js_objectSpread","widgets_DetailsMaizeSowingvue_type_script_lang_js_","DetailsMaizeSowing_component","DetailsMaizeSowing","DetailsSeedExpertvue_type_template_id_45a19f16_scoped_true_render","estimatedPrecipitation","minSoilMoisture","maxSoilMoisture","productCorrectionFactor","zoneTranslation","acresRatioTranslation","pwcTranslation","DetailsSeedExpertvue_type_template_id_45a19f16_scoped_true_staticRenderFns","DetailsSeedExpertvue_type_script_lang_js_","DetailsSeedExpertvue_type_script_lang_js_objectSpread","widgets_DetailsSeedExpertvue_type_script_lang_js_","DetailsSeedExpert_component","DetailsSeedExpert","DetailsSimpleApplicationMapvue_type_template_id_8d0c8e34_scoped_true_render","usedZoneMap","selectedProduct","selectedType","isByZonesMap","averageAmount","reverseZoneAmounts","DetailsSimpleApplicationMapvue_type_template_id_8d0c8e34_scoped_true_staticRenderFns","DetailsSimpleApplicationMapvue_type_script_lang_js_","DetailsSimpleApplicationMapvue_type_script_lang_js_objectSpread","mixtures","catchCropMixtures","selection","orgUnit","SR_Enums","widgets_DetailsSimpleApplicationMapvue_type_script_lang_js_","DetailsSimpleApplicationMap_component","DetailsSimpleApplicationMap","Detailsvue_type_script_lang_js_","widgets_Detailsvue_type_script_lang_js_","Details_component","Details","ApplicationValuesvue_type_template_id_70b3b38a_scoped_true_lang_html_render","isLimeApplication","titlePlanningType","ApplicationValuesvue_type_template_id_70b3b38a_scoped_true_lang_html_staticRenderFns","ApplicationValuesvue_type_script_lang_js_","orderedZoneDetails","withColor","ApplicationValuesvue_type_script_lang_js_objectSpread","getZoneColor","indexSorted","zoneMapColorArray","widgets_ApplicationValuesvue_type_script_lang_js_","ApplicationValues_component","ApplicationValues","categoryToNutrient","SimpleSwitch","FrsApplicationMapTotalSum","FrsApplicationMapLayer","ApplicationMapDetailsvue_type_script_lang_js_objectSpread","startsWith","nutrientFactor","details_ApplicationMapDetailsvue_type_script_lang_js_","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneInput_vue_vue_type_style_index_0_id_4937a748_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneInput_vue_vue_type_style_index_0_id_4937a748_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","parseMaxStyle","styleValue","parentProperty","valueInPixels","parentNode","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","configMerge","scaleMerge","getScaleDefaults","slen","filterCallback","arrayToSearch","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","LOG10E","powerOf10","isPowerOf10","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distanceBetweenPoints","firstPoint","middlePoint","afterPoint","d01","s01","s12","fa","fb","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","loop","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","originalEvent","srcElement","boundingRect","getStyle","currentDevicePixelRatio","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","host","getMaximumWidth","cw","getMaximumHeight","clientHeight","ch","el","property","currentStyle","getPropertyValue","retinaScale","forceRatio","devicePixelRatio","arrayOfThings","gc","garbageCollect","longest","thing","nestedThing","gcLen","numberOfLines","CanvasGradient","colorValue","CanvasPattern","saturate","darken","autoFocus","PhBbMapLayervue_type_script_lang_js_","opacity","fts","zoneCount","_x$properties","valueRange","zoneNumber","displayValue","base_PhBbMapLayervue_type_script_lang_js_","cellSide","bboxIsMask","bboxMask","bboxHorizontalSide","bboxVerticalSide","convergence","falseEasting","falseNorthing","mgrsLatBands","n4","n5","n6","tanλ","τ","sinh","atanh","τʹ","ξʹ","ηʹ","asinh","α","ξ","cosh","η","pʹ","qʹ","γʹ","γʺ","γ","kʹ","kʺ","β","sinhηʹ","sinξʹ","cosξʹ","τi","σi","τiʹ","δτi","tanh","latLong","utmCoord","adder","Adder","temp","av","epsilon2","halfPi","quarterPi","tau","math_sign","acos","haversin","streamGeometry","stream","streamGeometryType","streamObjectType","Sphere","sphere","streamLine","streamPolygon","polygonStart","polygonEnd","area_lambda00","phi00","area_lambda0","area_cosPhi0","area_sinPhi0","src_stream","areaRingSum","areaSum","areaStream","areaRingStart","areaRingEnd","areaRing","areaPointFirst","areaPoint","lambda","phi","dLambda","sdLambda","adLambda","cosPhi","sinPhi","src_area","cartesian_spherical","cartesian","cartesian_cartesian","spherical","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","cartesianNormalizeInPlace","bounds_lambda0","bounds_phi0","bounds_lambda1","bounds_phi1","bounds_lambda2","bounds_lambda00","bounds_phi00","bounds_p0","ranges","deltaSum","boundsStream","boundsPoint","boundsLineStart","boundsLineEnd","boundsRingPoint","boundsRingStart","boundsRingEnd","bounds_linePoint","normal","equatorial","inflection","phii","lambdai","antimeridian","bounds_angle","lambda0","lambda1","rangeCompare","rangeContains","W0","W1","centroid_X0","centroid_Y0","Z0","centroid_X1","centroid_Y1","Z1","X2","Y2","Z2","centroid_lambda00","centroid_phi00","centroid_x0","centroid_y0","z0","deltaMax","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroidPointCartesian","centroidLinePointFirst","centroidLinePoint","centroidRingPointFirst","centroidRingPoint","cz","constant","compose","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","src_rotation","forward","circleStream","cosRadius","sinRadius","circleRadius","src_circle","circle","rejoin","pointEqual","Intersection","other","entry","compareIntersection","startInside","subject","rejoin_link","isSubject","polygonContains_sum","polygonContains","winding","point0","phi0","sinPhi0","cosPhi0","sinPhi1","cosPhi1","phi1","absDelta","phiArc","ascending","ascendingComparator","ascendingBisect","array_array","src_range","arrays","src_clip","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","pointRing","clip_compareIntersection","pointLine","clean","ringSegments","validSegment","clip_antimeridian","clipAntimeridianLine","clipAntimeridianInterpolate","sign0","sign1","clipAntimeridianIntersect","sinLambda0Lambda1","clip_circle","smallRadius","notHemisphere","v00","two","n1","n2n2","n1n2","n1xn2","polar","meridian","clip_line","clipMax","clipMin","clipRectangle","comparePoint","ca","cb","x__","y__","v__","x_","y_","v_","activeStream","bufferStream","clipStream","polygonInside","b0","cleanInside","linePoint","length_lambda0","length_sinPhi0","length_cosPhi0","clip_extent","cacheStream","lengthSum","lengthStream","lengthLineStart","lengthPointFirst","lengthLineEnd","lengthPoint","cosDelta","sinDelta","src_length","distance_coordinates","distance_object","containsObjectType","containsGeometry","containsGeometryType","containsLine","containsPolygon","ob","ringRadians","pointRadians","graticuleX","graticuleY","graticule_graticule","X1","X0","Y1","Y0","DX","DY","graticule","extentMajor","extentMinor","stepMajor","stepMinor","graticule10","area_x00","area_y00","area_x0","area_y0","src_interpolate","cy0","sy0","cy1","sy1","kx0","ky0","kx1","ky1","src_identity","area_areaSum","area_areaRingSum","area_areaStream","area_areaRingStart","area_areaRingEnd","area_areaPointFirst","area_areaPoint","path_area","bounds_x0","bounds_y0","bounds_x1","bounds_y1","bounds_boundsStream","bounds_boundsPoint","centroid_x00","centroid_y00","path_centroid_x0","path_centroid_y0","path_bounds","path_centroid_X0","path_centroid_Y0","centroid_Z0","path_centroid_X1","path_centroid_Y1","centroid_Z1","centroid_X2","centroid_Y2","centroid_Z2","centroid_centroidStream","centroid_centroidPoint","centroid_centroidLineStart","centroid_centroidLineEnd","centroid_centroidRingStart","centroid_centroidRingEnd","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","path_centroid","PathContext","_radius","_line","_point","lengthRing","measure_x00","measure_y00","measure_x0","measure_y0","measure_lengthSum","measure_lengthStream","measure_lengthPointFirst","measure_lengthPoint","measure","PathString","_string","string_circle","_circle","src_path","projectionStream","contextStream","src_transform","transformer","TransformStream","fitBounds","clipExtent","fitExtent","fitSize","fitWidth","fitHeight","maxDepth","cosMinDistance","resample","delta2","resample_resample","resampleNone","resampleLineTo","phi2","lambda2","dx2","dy2","lambda00","x00","y00","a00","b00","c00","resampleStream","ringPoint","transformRadians","transformRotate","scaleTranslate","scaleTranslateRotate","cosAlpha","sinAlpha","projection_projection","projectionMutator","projectAt","projectResample","projectTransform","projectRotateTransform","preclip","postclip","recenter","clipAngle","conicProjection","parallels","cylindricalEqualAreaRaw","conicEqualAreaRaw","r0","r0y","conicEqualArea","albers","multiplex","streams","projection_albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","albersUsa","azimuthalRaw","azimuthalInvert","sc","azimuthalEqualAreaRaw","cxcy","azimuthalEqualArea","azimuthalEquidistantRaw","azimuthalEquidistant","mercatorRaw","mercatorProjection","reclip","tany","conicConformalRaw","fy","conicConformal","equirectangularRaw","equirectangular","conicEquidistantRaw","gy","nx","conicEquidistant","A1","A2","A3","A4","equalEarthRaw","l6","fpy","equalEarth","gnomonicRaw","gnomonic","identity_scaleTranslate","projection_identity","sx","sy","reflectX","reflectY","naturalEarth1Raw","phi4","naturalEarth1","orthographicRaw","orthographic","stereographicRaw","stereographic","transverseMercatorRaw","transverseMercator","scalarScalar","linearExpansionSum","nf","eptr","fptr","ea","_x","_bv","_av","_br","_ar","q0","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsMaizeSowing_vue_vue_type_style_index_0_id_b7c70988_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsMaizeSowing_vue_vue_type_style_index_0_id_b7c70988_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","INT_BITS","countTrailingZeros","INT_MAX","INT_MIN","isPow2","log2","nextPow2","prevPow2","REVERSE_TABLE","tab","interleave2","deinterleave2","interleave3","deinterleave3","lineIntersects","line1StartX","line1StartY","line1EndX","line1EndY","line2StartX","line2StartY","line2EndX","line2EndY","denominator","numerator1","numerator2","onLine1","onLine2","featureIn","line1","line2","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsSeedExpert_vue_vue_type_style_index_0_id_45a19f16_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsSeedExpert_vue_vue_type_style_index_0_id_45a19f16_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","spacing","niceRange","niceMin","niceMax","numSpaces","minSign","maxSign","setMin","setMax","numericGeneratorOptions","fixedStepSize","after-enter","afterEnter","leave","CollapseTransitionvue_type_script_lang_js_","originalHeight","visibility","transitions_CollapseTransitionvue_type_script_lang_js_","inProperty","outProperty","potentialPoints","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BiomassMapDetails_vue_vue_type_style_index_0_id_64116748_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BiomassMapDetails_vue_vue_type_style_index_0_id_64116748_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","removeEmptyPolygon","polygon1","polygon2","differenced","start0","end0","start1","end1","equalArrays","denom","x4","y4","array1","array2","reportVertexOnVertex","reportVertexOnEdge","filterFn","options0","seen","allEdgesAsRbushTreeItems","ring0","edge0","rbushTreeItem","bboxOverlaps","bboxIsect","ring1","edge1","ifIsectAddToOutput","isBoundaryCase","frac","isOutside","isect","frac0","frac1","expanded","toggle","header","shown","CollapsibleSectionvue_type_script_lang_js_","CollapseTransition","internalShow","components_CollapsibleSectionvue_type_script_lang_js_","final","calculateFinalBearing","bear","buildMask","maskPolygon","polygonOuters","polygonInners","separatePolygons","outers","inners","featureOuter","featureInner","inner","createMask","world","unionPolygons","createIndex","removed","filterByIndex","separated","masked","PolarArea","EXPANDO_KEY","CSS_PREFIX","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","initCanvas","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","eventListenerOptions","passive","createEvent","nativeEvent","fromNativeEvent","throttled","ticking","createResizer","resizer","cls","maxSize","cssText","innerHTML","shrink","_reset","scrollLeft","scrollTop","watchForRender","expando","renderProxy","animationName","reflow","offsetParent","classList","unwatchForRender","addResizeListener","firstChild","removeResizeListener","removeChild","injectCSS","_style","setAttribute","getElementsByTagName","createTextNode","keyframes","getElementById","removeAttribute","proxies","addEvent","removeEvent","toVector","toLatLonS","greatCircle","θ","eʹ","nʹ","δ","bearingTo","midpointTo","intermediatePointTo","δi","sinδi","cosδi","int","intermediatePointOnChordTo","deSinθ","dnCosθ","path1start","path1brngEnd","path2start","path2brngEnd","path1def","path2def","dir1","dir2","crossTrackDistanceTo","pathStart","pathBrngEnd","alongTrackDistanceTo","pat","nearestPointOnSegment","n0","δ10","δ12","δ20","δ21","extent1","extent2","isSameHemisphere","enclosedBy","nVertices","vectorToVertex","Σθ","enclosed","areaOf","Σα","meanOf","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_OsbModal_vue_vue_type_style_index_0_id_c0d231c2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_OsbModal_vue_vue_type_style_index_0_id_c0d231c2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","gj","mem","$export","toLength","ENDS_WITH","$endsWith","searchString","that","endPosition","measureDistance","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InterpolationMapDetails_vue_vue_type_style_index_0_id_661ad93a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InterpolationMapDetails_vue_vue_type_style_index_0_id_661ad93a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","getRandomSubarray","shuffled","outFC","bandwidth","computeBandGrid","BandGrid2Areas","BandGrid2AreaPaths","Node0","Node1","Node2","Node3","isoBandNextXTL","isoBandNextYTL","isoBandNextOTL","isoBandNextXTR","isoBandNextYTR","isoBandNextOTR","isoBandNextXRT","isoBandNextYRT","isoBandNextORT","isoBandNextXRB","isoBandNextYRB","isoBandNextORB","isoBandNextXBL","isoBandNextYBL","isoBandNextOBL","isoBandNextXBR","isoBandNextYBR","isoBandNextOBR","isoBandNextXLT","isoBandNextYLT","isoBandNextOLT","isoBandNextXLB","isoBandNextYLB","isoBandNextOLB","p00","p01","p02","p03","p04","p05","p06","p07","p08","p09","p10","p11","p12","p13","p14","p15","p16","p17","p18","p19","p20","p21","p22","p23","p24","p25","p26","p27","p28","p29","p30","p31","p32","p33","p34","p35","p36","p37","p38","p39","isoBandEdgeRT","isoBandEdgeRB","isoBandEdgeBR","isoBandEdgeBL","isoBandEdgeLB","isoBandEdgeLT","isoBandEdgeTL","isoBandEdgeTR","polygon_table","myArray","BandGrid","cval_real","currentPolygon","getStartXY","getExitXY","missing","traceOutOfGridPath","d_x","d_y","d_o","edgeIdx","id_x","area_idx","aa","aaa","flattenCoords","lineSegment","numeA","numeB","uA","uB","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimpleTableSortingButton_vue_vue_type_style_index_0_id_6c9a549e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimpleTableSortingButton_vue_vue_type_style_index_0_id_6c9a549e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","constructors","scaleConstructor","scaleDefaults","getScaleConstructor","updateScaleDefaults","additions","addScalesToLayout","rgb2hsl","rgb2hsv","rgb2hwb","rgb2cmyk","rgb2keyword","reverseKeywords","rgb2xyz","rgb2lab","xyz","rgb2lch","lab2lch","hsl2rgb","hsl2hsv","sv","hsl2hwb","hsl2cmyk","hsl2keyword","hsv2rgb","hsv","hsv2hsl","sl","hsv2hwb","hsv2cmyk","hsv2keyword","hwb2rgb","wh","hwb2hsl","hwb2hsv","hwb2cmyk","hwb2keyword","cmyk2rgb","cmyk","cmyk2hsl","cmyk2hsv","cmyk2hwb","cmyk2keyword","xyz2rgb","xyz2lab","xyz2lch","lab2xyz","lab","lab2rgb","lch2lab","lch","lch2xyz","lch2rgb","keyword2rgb","cssKeywords","keyword2hsl","keyword2hsv","keyword2hwb","keyword2cmyk","keyword2lab","keyword2xyz","Coord","antipode","anti_lat","anti_lon","move_to","wkt","wkt_string","collect","GreatCircle","npoints","first_pass","pair","bHasBigDiff","dfMaxSmallDiffLong","dfDateLineOffset","dfLeftBorderX","dfRightBorderX","dfDiffSpace","dfPrevX","dfX","dfDiffLong","poMulti","poNewLS","dfX0","dfX1","dfY1","dfX2","dfY2","tmpX","tmpY","dfRatio","dfY","poNewLS0","j0","feat","centimeters","centimetres","areaFactors","millimeter","acres","multiplier","originalUnit","finalUnit","convertedDistance","convertArea","startFactor","finalFactor","convertAngleTo360","alfa","beta","bearing1","bearing2","angle1","angle2","arcStartDegree","arcEndDegree","conversions","Converter","func","convs","routeSpace","space","getValues","setValues","fspace","effects","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","easingEffects","outField","propagate","mappers","decodeFill","computeBoundary","scaleBottom","scaleTop","scaleZero","getBasePosition","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","d0","afterDatasetsUpdate","$filler","beforeDatasetDraw","SPLITTER","abig","ahi","alo","bbig","bhi","blo","err1","err2","err3","parseDMS","dmsStr","deg","dms","separator","toDMS","toBrng","compassPoint","cardinals","cardinal","coordId","mergeLineStrings","e1","mergeViableLineStrings","lineStrings","accum","lineStringToPolygon","autoComplete","orderCoords","autoCompleteCoords","multiCoords","largestArea","calculateArea","fromGeoJson","shells","_turf_helpers__WEBPACK_IMPORTED_MODULE_0__","_turf_difference__WEBPACK_IMPORTED_MODULE_7__","_turf_simplify__WEBPACK_IMPORTED_MODULE_11__","_turf_buffer__WEBPACK_IMPORTED_MODULE_19__","_turf_center__WEBPACK_IMPORTED_MODULE_20__","_turf_bbox__WEBPACK_IMPORTED_MODULE_26__","_turf_intersect__WEBPACK_IMPORTED_MODULE_30__","_turf_union__WEBPACK_IMPORTED_MODULE_35__","_turf_area__WEBPACK_IMPORTED_MODULE_40__","_turf_boolean_equal__WEBPACK_IMPORTED_MODULE_81__","lineArc","sliceCoords","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","cornerRadius","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","eventPosition","nearestElement","tp","mergeOpacity","colorString","pushOrConcat","toPush","splitNewlines","createTooltipItem","getBaseModel","tooltipOpts","xAlign","yAlign","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","legendColorBackground","getTooltipSize","body","combinedBodyLength","bodyItem","before","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getBeforeAfterBodyLines","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","ptX","ptY","drawTitle","drawBody","xLinePadding","fillLineOfText","drawColorBoxes","textColor","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","getElementsAtEventForMode","_LayerType_js__WEBPACK_IMPORTED_MODULE_0__","_Layer_js__WEBPACK_IMPORTED_MODULE_1__","ImageLayer","Layer","IMAGE","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimpleTable_vue_vue_type_style_index_0_id_2728a880_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimpleTable_vue_vue_type_style_index_0_id_2728a880_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoMetaData_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoMetaData_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","responsive","responsiveAnimationDuration","maintainAspectRatio","animationDuration","construct","addOuterEdge","addInnerEdge","removeOuterEdge","removeInnerEdge","createContourLines","contours","lowerBand","upperBand","isobandsCoords","nestedRings","orderByArea","groupedRings","groupNestedRings","rescaleContours","contour","lineRingSet","lineRing","ringsCoords","ringsWithArea","orderedByArea","orderedLinearRings","lrList","lrCoordinates","grouped","groupedLinearRingsCoords","allGrouped","outerMostPoly","lrPoly","testPolygon","targetPolygon","commonProperties","isobandProperties","multipolygons","contourProperties","multiP","monotoneConvexHull2D","nl","convexHullnD","ich","aff","permute","front","invPermute","ah","feedback-classes","feedbackClasses","forms_VueDateTimePickervue_type_script_lang_js_","VueDateTimePickervue_type_script_lang_js_","booleanPointOnLine","concatSegment","overlapSegment","doesOverlaps","coordsSegment","coordsMatch","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapDetailsPanel_vue_vue_type_style_index_0_id_5f5fb1b3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapDetailsPanel_vue_vue_type_style_index_0_id_5f5fb1b3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","components_VueSelectizevue_type_script_lang_js_","VueSelectizevue_type_script_lang_js_","fastTwoSum","ol_Overlay__WEBPACK_IMPORTED_MODULE_0__","ol_proj__WEBPACK_IMPORTED_MODULE_1__","olPosition","$el","addOverlay","whiteSpace","removeOverlay","nextPoint","secondToLast","startX","startY","endX","endY","newCoords","polyPoints","Δφ","Bx","By","φ3","λ3","sinφ1","cosφ1","sinλ1","cosλ1","sinφ2","cosφ2","sinλ2","cosλ2","sinδ","cosδ","brng1","brng2","θ13","θ23","θa","θb","θ12","θ21","α3","δ13","Δλ13","pathEnd","δxt","δat","maxLatitude","φMax","crossingParallels","latitude","λm","Δλi","λi1","λi2","Δψ","rhumbBearingTo","rhumbMidpointTo","f1","f2","f3","isPoleEnclosedBy","ΣΔ","prevBrng","initBrng","finalBrng","bear360","coordsStart","coordsEnd","bear180","splitLineWithPoints","splitter","closestLine","findClosestFeature","splitLineWithPoint","pointsEquals","closestSegment","lastCoords","splitterCoords","closestFeature","lineType","splitterType","truncatedSplitter","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapActivationStatus_vue_vue_type_style_index_0_id_16a8fb28_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapActivationStatus_vue_vue_type_style_index_0_id_16a8fb28_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","getBarBounds","halfWidth","halfHeight","signX","signY","barSize","halfStroke","borderLeft","borderRight","borderTop","borderBottom","corners","borders","startCorner","cornerAt","dx1","dy1","envX1","envY1","envX2","envY2","placement","input-group","usePercent","inputGroup","faded","has-input","inputText","aria-describedby","onInput","blur","updateText","srState","SR_ErrorMessages","NumericInputvue_type_script_lang_js_","RuleMixin","InputMixin","integer","hideDescription","clearButton","percentNotNormalized","convertedValue","truncatedValue","onInputDebounced","parts","overrideInputText","formattedValue","newValue","fractionalDigits","willBeTruncated","truncated","rules","internalHighPriority","internalLowPriority","Truncate","OnlyIntegers","OnlyFloatingNumbers","prioritizedMessages","convertedInput","forms_NumericInputvue_type_script_lang_js_","roots","makeSet","xd","yd","scatter","identity","bboxPoint","bboxGeometry","feature_feature","feature_object","stitch","stitchedArcs","fragmentByStart","fragmentByEnd","fragments","emptyIndex","flush","fg","gf","mesh","meshArcs","extractArcs","geomsByArc","extract0","extract1","extract2","extract3","planarRingArea","mergeArcs","polygonsByArc","neighbors","bisect","src_neighbors","indexesByArc","geometryType","ij","ik","untransform","quantize","quantizeArc","generator","url","IxImageLayervue_type_template_id_f1cf7566_scoped_true_render","IxImageLayervue_type_template_id_f1cf7566_scoped_true_staticRenderFns","ImageStatic_Static","Static","source_Image","url_","imageExtent_","imageExtent","ol_Image","imageSize_","imageSize","getImageExtent","getUrl","imageWidth","imageHeight","targetWidth","ImageStatic","IxImageLayervue_type_script_lang_js_","myLayer","myMap","recreate","getLayers","setSource","map_IxImageLayervue_type_script_lang_js_","IxImageLayer","InterpolationMapLayervue_type_script_lang_js_","bottomLeftEasting","bottomLeftNorthing","upperRightEasting","upperRightNorthing","base_InterpolationMapLayervue_type_script_lang_js_","InterpolationMapLayer_component","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SatelliteImageReference_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_0_0_node_modules_css_loader_index_js_ref_8_oneOf_0_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_0_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_0_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SatelliteImageReference_vue_vue_type_style_index_0_lang_scss_module_true___WEBPACK_IMPORTED_MODULE_0___default","GradientScalevue_type_script_lang_js_","content","flexDirection","textContainer","justifyContent","gradient","background","startLabel","endLabel","components_GradientScalevue_type_script_lang_js_","angleLines","circular","pointLabels","polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoOverlay_vue_vue_type_style_index_0_id_282babc8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoOverlay_vue_vue_type_style_index_0_id_282babc8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","closestPt","sectionLength","heightDistance","perpendicularPt1","perpendicularPt2","intersectPt","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","positionIsHorizontal","types","instances","_bufferedRender","initToolTip","silent","newWidth","newHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","dtype","dposition","isDefault","scaleType","scaleClass","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","drawDatasets","_drawTooltip","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","hoverOptions","Controller","Color","lightness","whiteness","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","hue","saturation","saturationv","blackness","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","contrastRatio","dark","yiq","light","lighten","desaturate","whiten","blacken","greyscale","clearer","opaquer","mixinColor","color1","w1","w2","maxes","capped","chans","sname","svalues","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapAdditionalActions_vue_vue_type_style_index_0_id_ad91b49a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneMapAdditionalActions_vue_vue_type_style_index_0_id_ad91b49a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","anyMatch","foundInsidePoint","oneInside","cosines","sines","hexagon","hexTriangles","cellDiameter","hex_width","hex_height","box_width","box_height","x_interval","y_interval","x_span","x_count","x_adjust","y_count","y_adjust","hasOffsetY","isOdd","center_x","center_y","zTranslation","doMultiPointAndLineStringCross","foundIntPoint","foundExtPoint","pointLength","incEndVertices","doLineStringsCross","doLineStringAndPolygonCross","isPointInPoly","doesMultiPointCrossPoly","incEnd","_getClosest","getDiff","closest","comparedItem","comparedItemIndex","thisDiff","lowerNumber","comparator","SimpleTableBooleanvue_type_template_id_376a24ea_lang_html_functional_true_render","SimpleTableBooleanvue_type_script_lang_js_","table_SimpleTableBooleanvue_type_script_lang_js_","SimpleTableBoolean","SimpleTableStringArray","functional","_context$props","hide-zone-labels","hideZoneLabels","zoneColors","ZoneInputvue_type_script_lang_js_","validator","sortedZones","deep","forms_ZoneInputvue_type_script_lang_js_","DatasetScale","getLabels","xLabels","yLabels","maxIndex","valueCategory","offsetAmt","valueWidth","widthOffset","valueHeight","heightOffset","horz","valueDimension","cloneFeature","cloned","cloneProperties","cloneGeometry","cloneFeatureCollection","deepSlice","_q","BsRadiovue_type_script_lang_js_","modelValue","compact","bootstrap_BsRadiovue_type_script_lang_js_","convex","centerOfMass","pj","translation","sArea","neutralizedPoints","areaFactor","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getValueCount","getPointLabelFontOptions","pointLabelOptions","measureLabelSize","determineLimits","fitWithPointLabels","plFont","largestPossibleRadius","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","getIndexAngle","hLimits","vLimits","setReductions","drawingArea","setCenterPoint","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","angleLineOpts","pointLabelOpts","outerDistance","outerPosition","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","param","LinearRadialScale","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","startAngleRadians","scalingFactor","distanceFromCenter","thisAngle","tickFontStyle","tickFontFamily","tickLabelFont","yCenterOffset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LegacyMetaData_vue_vue_type_style_index_0_id_fdc18ad2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LegacyMetaData_vue_vue_type_style_index_0_id_fdc18ad2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","spinner","spin","MapPrintvue_type_script_lang_js_","mapIds","_print","blob","objectUrl","windowProxy","timer","axios","responseType","sent","URL","createObjectURL","setInterval","clearInterval","revokeObjectURL","response","map_management_MapPrintvue_type_script_lang_js_","FrsNutrientMapLayervue_type_script_lang_js_","base_FrsNutrientMapLayervue_type_script_lang_js_","createSegments","__WEBPACK_AMD_DEFINE_FACTORY__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneEditing_vue_vue_type_style_index_0_id_3f88188d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ZoneEditing_vue_vue_type_style_index_0_id_3f88188d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","isects","debugAll","numRings","isUnique","numvertices","selfIsectsData","numSelfIsect","outputFeatureArray","windingOfRing","determineParents","setNetWinding","pseudoVtxListByRingAndEdge","isectList","PseudoVtx","modulo","Isect","numIsect","allIsectsAsIsectRbushTreeItem","isectRbushTree","coordToFind","IsectRbushTreeItemFound","nxtIsectAlongEdgeIn","nxtIsectAlongRingAndEdge2","ringAndEdge1","ringAndEdgeIn","nxtIsectAlongRingAndEdge1","leftIsect","isectAfterLeftIsect","isectBeforeLeftIsect","windingAtIsect","popped","startIsect","currentOutputRingParent","currentOutputRingWinding","currentOutputRing","currentOutputRingCoords","currentIsect","ringAndEdge1Walkable","walkingRingAndEdge","nxtIsect","ringAndEdge2","nxtIsectInQueue","ringAndEdge2Walkable","pushing","netWinding","featuresWithoutParent","parentArea","setNetWindingOfChildren","ParentNetWinding","ringAndEdgeOut","righthanded","leftVtx","initialAngle","finalAngle","lineOffset","offsetDegrees","finalCoords","processSegment","seg2Coords","out1x","out2x","out1y","out2y"],"mappings":"kHAMAA,EAAAC,QAAAC,EAEA,IAAAC,EAAaC,EAAQ,QACrBC,EAAkBD,EAAQ,QAAoBE,aAM9C,SAAAC,EAAAC,EAAAC,EAAAC,GACAC,KAAAH,WACAG,KAAAF,WACAE,KAAAD,WACAC,KAAAC,aAAA,EAYA,SAAAC,EAAAL,EAAAM,EAAAC,GACAJ,KAAAH,WACAG,KAAAG,OACAH,KAAAI,QAGA,SAAAC,EAAAC,EAAAC,GACA,OAAAb,EAAAY,EAAAT,SAAAU,EAAAV,UAGA,SAAAW,EAAAC,GAEA,IADA,IAAAC,EAAA,wDACAC,EAAA,EAAcA,GAAAF,IAAME,EACpBA,EAAA,GACAD,EAAAE,KAAA,KAEAF,EAAAE,KAAA,SAAAD,EAAA,KAEAD,EAAAE,KAAA,mBACA,IAAAC,EAAA,IAAAC,SAAA,OAAAJ,EAAAK,KAAA,KACAC,EAAAxB,EAAAiB,EAAA,GAIA,OAHAO,IACAA,EAAAxB,GAEAqB,EAAAG,GAjCApB,EAAAqB,UAAAC,KAAA,WACA,IAAAC,EAAAnB,KAAAH,SAAA,GACAG,KAAAH,SAAA,GAAAG,KAAAH,SAAA,GACAG,KAAAH,SAAA,GAAAsB,EACA,IAAAC,EAAApB,KAAAF,SAAA,GACAE,KAAAF,SAAA,GAAAE,KAAAF,SAAA,GACAE,KAAAF,SAAA,GAAAsB,GA8BA,IAAAC,EAAA,GAEA,SAAAC,EAAAC,EAAA1B,EAAA2B,GACAxB,KAAAuB,YACAvB,KAAAH,WACAG,KAAAwB,YACAxB,KAAAyB,SAAAD,EAAAE,OAAA,SAAAC,GACA,OAAAA,EAAA5B,WAGAC,KAAA4B,MAAA,IAAAC,MAAAN,EAAA,GACA,QAAAZ,EAAA,EAAcA,GAAAY,IAAcZ,EAC5BX,KAAA4B,MAAAjB,GAAAX,KAAAH,SAAAc,GAGA,IAAAmB,EAAAT,EAAAE,GACAO,IACAA,EAAAT,EAAAE,GAAAf,EAAAe,IAEAvB,KAAAR,OAAAsC,EAGA,IAAAC,EAAAT,EAAAL,UAmSA,SAAA1B,EAAAyC,EAAAC,GACA,IAAAC,EAAAF,EAAAG,OACA,OAAAD,EACA,UAAAE,MAAA,iCAEA,IAAA3B,EAAAuB,EAAA,GAAAG,OACA,GAAAD,GAAAzB,EACA,UAAA2B,MAAA,kCAIA,IAAAC,EAAAL,EAAAM,MAAA,EAAA7B,EAAA,GAGAqB,EAAAtC,EAAA+C,WAAA,EAAAF,GACA,OAAAP,EACA,UAAAM,MAAA,iCAGA,IADA,IAAAI,EAAA,IAAAX,MAAApB,EAAA,GACAE,EAAA,EAAcA,GAAAF,IAAME,EACpB6B,EAAA7B,KAEAmB,EAAA,IACAU,EAAA,KACAA,EAAA,MAIA,IAAAC,EAAA,IAAA7C,EAAA4C,EAAA,IAAAX,MAAApB,EAAA,OACAV,EAAA0C,EAAA3C,SACA4C,EAAA,IAAAb,MAAApB,EAAA,GACA,IAAAE,EAAA,EAAcA,GAAAF,IAAME,EAAA,CAEpB,IADA,IAAAgC,EAAAH,EAAAF,QACAM,EAAA,EAAgBA,GAAAnC,IAAMmC,EACtBA,IAAAjC,IACAgC,EAAAC,IAAA,GAGA,IAAAzB,EAAAwB,EAAA,GACAA,EAAA,GAAAA,EAAA,GACAA,EAAA,GAAAxB,EACA,IAAAhB,EAAA,IAAAP,EAAA+C,EAAA,IAAAd,MAAApB,EAAA,OACAV,EAAAY,GAAAR,EACAuC,EAAA/B,GAAAR,EAEAuC,EAAAjC,EAAA,GAAAgC,EACA,IAAA9B,EAAA,EAAcA,GAAAF,IAAME,EACpB,CAAAgC,EAAA5C,EAAAY,GAAAd,SAAA,IACAgD,EAAA9C,EAAAY,GAAAb,SACA,IAAA8C,EAAA,EAAgBA,GAAAnC,IAAMmC,EAAA,CACtB,IAAAE,EAAAH,EAAAC,GACA,GAAAE,EAAA,EACAD,EAAAD,GAAAH,OAGA,QAAAM,EAAA,EAAkBA,GAAAtC,IAAMsC,EACxBhD,EAAAgD,GAAAlD,SAAAmD,QAAAF,GAAA,IACAD,EAAAD,GAAA7C,EAAAgD,KAOA,IAAAE,EAAA,IAAA3B,EAAAb,EAAA4B,EAAAK,GAGAQ,IAAAjB,EACA,IAAAtB,EAAAF,EAAA,EAAgBE,EAAAuB,IAAKvB,EACrBsC,EAAAE,OAAAnB,EAAArB,GAAAuC,GAIA,OAAAD,EAAAlD,WAzWAgC,EAAAqB,yBAAA,SAAAjD,EAAAkD,GACA,IAAA5C,EAAAT,KAAAuB,UACAW,EAAAlC,KAAAH,SAAAsC,OAAA,EACAP,EAAA5B,KAAA4B,MACAe,EAAA3C,KAAAH,SAGAyD,EAAA,CAAAnD,GACAA,EAAAF,aAAAiC,EACA,MAAAoB,EAAAnB,OAAA,GACAhC,EAAAmD,EAAAC,MACApD,EAAAN,SAEA,IAFA,IACA2D,EAAArD,EAAAL,SACAa,EAAA,EAAgBA,GAAAF,IAAME,EAAA,CACtB,IAAA8C,EAAAD,EAAA7C,GACA,GAAA8C,EAAA1D,YAAA0D,EAAAxD,cAAAiC,GAAA,CAIA,IADA,IAAAwB,EAAAD,EAAA5D,SACA+C,EAAA,EAAkBA,GAAAnC,IAAMmC,EAAA,CACxB,IAAAe,EAAAD,EAAAd,GAEAhB,EAAAgB,GADAe,EAAA,EACAN,EAEAV,EAAAgB,GAGA,IAAA7B,EAAA9B,KAAAR,SACA,GAAAsC,EAAA,EACA,OAAA2B,EAEAA,EAAAxD,aAAAiC,EACA,IAAAJ,GACAwB,EAAA1C,KAAA6C,KAIA,aAGA1B,EAAA6B,KAAA,SAAAP,EAAAQ,GAEA,IAAA3B,EAAAlC,KAAAH,SAAAsC,OAAA,EACA1B,EAAAT,KAAAuB,UACAoB,EAAA3C,KAAAH,SACA+B,EAAA5B,KAAA4B,MAGAkC,EAAAD,EAAA7D,KAAAyB,SAAAU,OAAA4B,KAAAF,SAAA,EAAA7D,KAAAyB,SAAAU,OAAA,EACAhC,EAAAH,KAAAyB,SAAAqC,GAGAE,EACA,OAAA7D,EAAAJ,SAAA,CAIA,IAHA,IAAAkE,EAAA9D,EAAAN,SACA2D,EAAArD,EAAAL,SAEAa,EAAA,EAAgBA,GAAAF,IAAME,EACtBiB,EAAAjB,GAAAgC,EAAAsB,EAAAtD,IAEAR,EAAAF,YAAAiC,EAGA,IAAAvB,EAAA,EAAgBA,GAAAF,IAAME,EAAA,CACtB,IAAA8C,EAAAD,EAAA7C,GACA,KAAA8C,EAAAxD,aAAAiC,GAAA,CAGA,IAAAgC,EAAAtC,EAAAjB,GACAiB,EAAAjB,GAAA0C,EACA,IAAAvB,EAAA9B,KAAAR,SAEA,GADAoC,EAAAjB,GAAAuD,EACApC,EAAA,GACA3B,EAAAsD,EACA,SAAAO,EAEAP,EAAA1D,SAGA0D,EAAAxD,aAAAiC,EAFAuB,EAAAxD,YAAAiC,GAMA,OAGA,OAAA/B,GAGA4B,EAAAoC,SAAA,SAAAd,EAAAlD,GACA,IAAA+B,EAAAlC,KAAAH,SAAAsC,OAAA,EACA1B,EAAAT,KAAAuB,UACAoB,EAAA3C,KAAAH,SACA+B,EAAA5B,KAAA4B,MACAH,EAAAzB,KAAAyB,SACAD,EAAAxB,KAAAwB,UAGA4C,EAAA,CAAAjE,GAGAA,EAAAF,YAAAiC,EACA/B,EAAAN,SAAAM,EAAAN,SAAAmD,SAAA,IAAAd,EACA/B,EAAAJ,UAAA,EACA0B,EAAAb,KAAAT,GAGA,IAAAkE,EAAA,GAGA,MAAAD,EAAAjC,OAAA,GAEAhC,EAAAiE,EAAAb,MAAA,IACAU,EAAA9D,EAAAN,SACA2D,EAAArD,EAAAL,SACAwE,EAAAL,EAAAjB,QAAAd,GACA,KAAAoC,EAAA,GAIA,QAAA3D,EAAA,EAAgBA,GAAAF,IAAME,EACtB,GAAAA,IAAA2D,EAAA,CAKA,IAAAb,EAAAD,EAAA7C,GACA,GAAA8C,EAAA1D,YAAA0D,EAAAxD,aAAAiC,GAAA,CAIA,IAAAwB,EAAAD,EAAA5D,SAGA,GAAA4D,EAAAxD,eAAAiC,EAAA,CAGA,IADA,IAAAqC,EAAA,EACA3B,EAAA,EAAoBA,GAAAnC,IAAMmC,EAC1Bc,EAAAd,GAAA,GACA2B,EAAA3B,EACAhB,EAAAgB,GAAAS,GAEAzB,EAAAgB,GAAAD,EAAAe,EAAAd,IAGA,IAAAd,EAAA9B,KAAAR,SAGA,GAAAsC,EAAA,GACA4B,EAAAa,GAAArC,EACAuB,EAAA1D,UAAA,EACA0B,EAAAb,KAAA6C,GACAW,EAAAxD,KAAA6C,GACAA,EAAAxD,YAAAiC,EACA,SAEAuB,EAAAxD,aAAAiC,EAIA,IAAAsC,EAAAf,EAAA3D,SAGA2E,EAAAR,EAAA3B,QACAoC,EAAAlB,EAAAlB,QACAqC,EAAA,IAAA/E,EAAA6E,EAAAC,GAAA,GACAlD,EAAAZ,KAAA+D,GAGA,IAAAC,EAAAJ,EAAAxB,QAAA7C,GACA,KAAAyE,EAAA,IAGAJ,EAAAI,GAAAD,EACAD,EAAAJ,GAAAb,EAGAgB,EAAA9D,IAAA,EACA+D,EAAA/D,GAAAR,EACAqD,EAAA7C,GAAAgE,EAGAA,EAAAzD,OAGA,IAAA0B,EAAA,EAAkBA,GAAAnC,IAAMmC,EAAA,CACxB,IAAAiC,EAAAJ,EAAA7B,GACA,KAAAiC,EAAA,GAAAA,IAAA3C,GAAA,CAKA,IAFA,IAAA4C,EAAA,IAAAjD,MAAApB,EAAA,GACAsE,EAAA,EACAhC,EAAA,EAAoBA,GAAAtC,IAAMsC,EAAA,CAC1B,IAAAY,EAAAc,EAAA1B,GACAY,EAAA,GAAAZ,IAAAH,IAGAkC,EAAAC,KAAApB,GAEAU,EAAAzD,KAAA,IAAAV,EAAA4E,EAAAH,EAAA/B,SAMAyB,EAAAW,KAAA3E,GAEA,IAAAM,EAAA,EAAcA,EAAA,EAAA0D,EAAAlC,OAAuBxB,GAAA,GACrC,IAAAL,EAAA+D,EAAA1D,GACAJ,EAAA8D,EAAA1D,EAAA,GACAsE,EAAA3E,EAAAF,MACA8E,EAAA3E,EAAAH,MACA6E,EAAA,GAAAC,EAAA,IAGA5E,EAAAH,KAAAL,SAAAQ,EAAAF,OAAAG,EAAAJ,KACAI,EAAAJ,KAAAL,SAAAS,EAAAH,OAAAE,EAAAH,QAIA4B,EAAAoB,OAAA,SAAAE,EAAAQ,GAEA,IAAAlB,EAAA3C,KAAAH,SACA8C,EAAA/B,KAAAyC,GAEA,IAAAlD,EAAAH,KAAA4D,KAAAP,EAAAQ,GACA,GAAA1D,EAAA,CASA,IAJA,IAAAM,EAAAT,KAAAuB,UACAK,EAAA5B,KAAA4B,MAGAjB,EAAA,EAAcA,GAAAF,IAAME,EAAA,CACpB,IAAAgD,EAAAxD,EAAAN,SAAAc,GAEAiB,EAAAjB,GADAgD,EAAA,EACAN,EAEAV,EAAAgB,GAGA,IAAA7B,EAAA9B,KAAAR,OAAAoC,GACAE,EAAA,IAEG,IAAAA,IACH3B,EAAAH,KAAAoD,yBAAAjD,EAAAkD,GACAlD,KAMAH,KAAAmE,SAAAd,EAAAlD,KAIA4B,EAAAhC,SAAA,WAKA,IAJA,IAAAU,EAAAT,KAAAuB,UACAxB,EAAA,GACAoF,EAAAnF,KAAAwB,UACA4D,EAAAD,EAAAhD,OACAxB,EAAA,EAAcA,EAAAyE,IAAMzE,EAAA,CACpB,IAAAgB,EAAAwD,EAAAxE,GACA,GAAAgB,EAAA5B,SAAA,CAKA,IAJA,IAAAsF,EAAA,IAAAxD,MAAApB,GACA6E,EAAA3D,EAAA9B,SACA0F,EAAA,EACAC,EAAA,EACA5C,EAAA,EAAkBA,GAAAnC,IAAMmC,EACxB0C,EAAA1C,IAAA,EACAyC,EAAAE,KAAAD,EAAA1C,GAEA4C,EAAA,EAAA5C,EAGA,GAAA4C,KAAA,EAAA/E,GAAA,CACA,IAAAU,EAAAkE,EAAA,GACAA,EAAA,GAAAA,EAAA,GACAA,EAAA,GAAAlE,EAEApB,EAAAa,KAAAyE,IAGA,OAAAtF,yBCpWA,SAAA0F,EAAAC,GACA,IAAAA,EAAA,UAAAtD,MAAA,mBAEA,IAAAuD,EAAAC,EAAAF,GAGA,GAAAC,EAAAxD,OAAA,GACA,kBAAAwD,EAAA,IACA,kBAAAA,EAAA,GACA,OAAAA,EAEA,UAAAvD,MAAA,mCAgBA,SAAAwD,EAAAF,GACA,IAAAA,EAAA,UAAAtD,MAAA,mBACA,IAAAuD,EAeA,GAZAD,EAAAvD,OACAwD,EAAAD,EAGKA,EAAAC,YACLA,EAAAD,EAAAC,YAGKD,EAAAG,UAAAH,EAAAG,SAAAF,cACLA,EAAAD,EAAAG,SAAAF,aAGAA,EAEA,OADAG,EAAAH,GACAA,EAEA,UAAAvD,MAAA,wBAUA,SAAA0D,EAAAH,GACA,GAAAA,EAAAxD,OAAA,GACA,kBAAAwD,EAAA,IACA,kBAAAA,EAAA,GACA,SAGA,GAAA9D,MAAAkE,QAAAJ,EAAA,KAAAA,EAAA,GAAAxD,OACA,OAAA2D,EAAAH,EAAA,IAEA,UAAAvD,MAAA,yCAYA,SAAA4D,EAAAC,EAAAC,EAAAC,GACA,IAAAD,IAAAC,EAAA,UAAA/D,MAAA,0BAEA,IAAA6D,KAAAC,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAD,EAAAC,MAcA,SAAAE,EAAAC,EAAAH,EAAAC,GACA,IAAAE,EAAA,UAAAjE,MAAA,qBACA,IAAA+D,EAAA,UAAA/D,MAAA,gCACA,IAAAiE,GAAA,YAAAA,EAAAH,OAAAG,EAAAR,SACA,UAAAzD,MAAA,oBAAA+D,EAAA,oCAEA,IAAAE,EAAAR,UAAAQ,EAAAR,SAAAK,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAG,EAAAR,SAAAK,MAcA,SAAAI,EAAAC,EAAAL,EAAAC,GACA,IAAAI,EAAA,UAAAnE,MAAA,+BACA,IAAA+D,EAAA,UAAA/D,MAAA,mCACA,IAAAmE,GAAA,sBAAAA,EAAAL,KACA,UAAA9D,MAAA,oBAAA+D,EAAA,gCAEA,QAAAxF,EAAA,EAAmBA,EAAA4F,EAAAC,SAAArE,OAAuCxB,IAAA,CAC1D,IAAA0F,EAAAE,EAAAC,SAAA7F,GACA,IAAA0F,GAAA,YAAAA,EAAAH,OAAAG,EAAAR,SACA,UAAAzD,MAAA,oBAAA+D,EAAA,oCAEA,IAAAE,EAAAR,UAAAQ,EAAAR,SAAAK,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAG,EAAAR,SAAAK,OAuBA,SAAAO,EAAAC,GACA,IAAAA,EAAA,UAAAtE,MAAA,uBACA,QAAAuE,IAAAD,EAAAb,SAAA,OAAAa,EAAAb,SACA,GAAAa,EAAAf,aAAAe,EAAAE,WAAA,OAAAF,EACA,UAAAtE,MAAA,sDAqBA,SAAAyE,EAAAH,GACA,IAAAA,EAAA,UAAAtE,MAAA,uBACA,IAAA0E,EAAAL,EAAAC,GACA,GAAAI,EAAA,OAAAA,EAAAZ,KAGA7G,EAAAC,QAAA,CACA0G,cACAM,eACAF,YACAX,WACAG,YACAE,iBACAW,UACAI,uCC7MA,IAAAE,EAAkBtH,EAAQ,QAAYsH,YACtCR,EAAwB9G,EAAQ,QAAe8G,kBAoB/ClH,EAAAC,QAAA,SAAAoH,GACA,IAAAA,EAAA,UAAAtE,MAAA,uBAEA,IAAA4E,EAAA,GAIA,OAHAD,EAAAL,EAAA,SAAAL,GACAW,EAAApG,KAAAyF,KAEAE,EAAAS,yCC1BA,IAAAC,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QACtB2H,EAAc3H,EAAQ,QAEtB4H,EAAAF,EAAAE,KAmFA,SAAAC,EAAAC,EAAAC,GACA,OAAAD,EAAAE,cACAD,EAAAzD,KAAA2D,MACAH,EAAAI,SApFAV,EAAAW,KAAA,UACAC,OAAA,CACAC,SAAA,EACAC,SAAA,MACAC,WAAA,EACAC,SAAA,EACAC,OAAA,IAGAC,QAAA,SAAAC,EAAAC,GACA,IAAAjI,EAAAiI,EAAAC,aACAC,EAAAvI,KAAAwI,MACAC,EAAAF,EAAAG,eAAAtI,GAGAqI,EAAAE,OAAA,OAAAF,EAAAE,QAAAJ,EAAAK,KAAAC,SAAAzI,GAAAuI,OAAA,KAGAJ,EAAAO,UAGAC,QAAA,KAEAC,OAAA,CACArB,SAAA,GACAsB,QAAA,GAYAC,eAAA,SAAAV,GACA,IAAAI,EAAAJ,EAAAI,KACA,OAAAzB,EAAApB,QAAA6C,EAAAC,UAAAD,EAAAC,SAAAM,IAAA,SAAAC,EAAAzI,GACA,OACA0I,KAAAD,EAAAE,MACAC,UAAApC,EAAApB,QAAAqD,EAAAI,iBAAAJ,EAAAI,gBAAA,GAAAJ,EAAAI,gBACAb,QAAAH,EAAAiB,iBAAA9I,GACA+I,QAAAN,EAAAO,eACAC,SAAAR,EAAAS,WACAC,eAAAV,EAAAW,iBACAC,SAAAZ,EAAAa,gBACAC,UAAAd,EAAAe,YACAC,YAAAhB,EAAAiB,YACAC,WAAAlB,EAAAkB,WAGAhC,aAAA3H,IAEKX,MAAA,MAKLuK,eAAA,SAAA/B,GACA,IAAAa,EAAA,GACAA,EAAAzI,KAAA,cAAA4H,EAAAgC,GAAA,aACA,QAAA7J,EAAA,EAAiBA,EAAA6H,EAAAI,KAAAC,SAAA1G,OAAgCxB,IACjD0I,EAAAzI,KAAA,qCAAA4H,EAAAI,KAAAC,SAAAlI,GAAA6I,gBAAA,aACAhB,EAAAI,KAAAC,SAAAlI,GAAA2I,OACAD,EAAAzI,KAAA4H,EAAAI,KAAAC,SAAAlI,GAAA2I,OAEAD,EAAAzI,KAAA,SAGA,OADAyI,EAAAzI,KAAA,SACAyI,EAAAtI,KAAA,OAmBA,IAAA0J,EAAAvD,EAAAwD,OAAA,CAEAC,WAAA,SAAAC,GACAzD,EAAAuD,OAAA1K,KAAA4K,GAGA5K,KAAA6K,eAAA,GAGA7K,KAAA8K,cAAA,GAOAC,aAAA1D,EACAyB,OAAA,SAAAkC,EAAAC,EAAAC,GACA,IAAAC,EAAAnL,KA0BA,OAvBAmL,EAAAJ,eAGAI,EAAAH,WACAG,EAAAF,YACAE,EAAAD,UAGAC,EAAAC,sBACAD,EAAAE,gBACAF,EAAAG,qBAEAH,EAAAI,oBACAJ,EAAAK,cACAL,EAAAM,mBAGAN,EAAAO,YACAP,EAAAQ,MACAR,EAAAS,WAEAT,EAAAU,cAEAV,EAAAW,SAEAD,YAAAxE,EAIA+D,oBAAA/D,EACAgE,cAAA,WACA,IAAAF,EAAAnL,KAEAmL,EAAAY,gBAEAZ,EAAAa,MAAAb,EAAAH,SACAG,EAAAc,KAAA,EACAd,EAAAe,MAAAf,EAAAa,QAEAb,EAAAgB,OAAAhB,EAAAF,UAGAE,EAAAiB,IAAA,EACAjB,EAAAkB,OAAAlB,EAAAgB,QAIAhB,EAAAmB,YAAA,EACAnB,EAAAoB,WAAA,EACApB,EAAAqB,aAAA,EACArB,EAAAsB,cAAA,EAGAtB,EAAAW,QAAA,CACAE,MAAA,EACAG,OAAA,IAGAb,mBAAAjE,EAIAkE,kBAAAlE,EACAmE,YAAA,WACA,IAAAL,EAAAnL,KACAuH,EAAA4D,EAAAuB,QAAA1D,QAAA,GACA2D,EAAAxF,EAAAyF,SAAArF,EAAA2B,eAAA,CAAAiC,EAAA3C,OAAA2C,IAAA,GAEA5D,EAAA7F,SACAiL,IAAAjL,OAAA,SAAAmL,GACA,OAAAtF,EAAA7F,OAAAmL,EAAA1B,EAAA3C,MAAAI,SAIAuC,EAAAuB,QAAAzE,SACA0E,EAAA1E,UAGAkD,EAAAwB,eAEAlB,iBAAApE,EAIAqE,UAAArE,EACAsE,IAAA,WACA,IAAAR,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACAnF,EAAAuF,EAAA9D,OACAlB,EAAAgF,EAAAhF,QAEAiF,EAAA5B,EAAA4B,IAEAC,EAAA/F,EAAAgG,OACAC,EAAA/F,EAAA+F,eACA1F,EAAA0F,EAAA3F,EAAAC,SAAAwF,EAAAG,iBACAC,EAAAF,EAAA3F,EAAA6F,UAAAJ,EAAAK,kBACAC,EAAAJ,EAAA3F,EAAA+F,WAAAN,EAAAO,mBACAC,EAAArG,EAAAsG,WAAAjG,EAAA4F,EAAAE,GAGAI,EAAAvC,EAAAN,eAAA,GAEAiB,EAAAX,EAAAW,QACAC,EAAAZ,EAAAY,eAWA,GATAA,GACAD,EAAAE,MAAAb,EAAAH,SACAc,EAAAK,OAAArE,EAAA,OAEAgE,EAAAE,MAAAlE,EAAA,KACAgE,EAAAK,OAAAhB,EAAAF,WAIAnD,EAGA,GAFAiF,EAAAY,KAAAH,EAEAzB,EAAA,CAIA,IAAA6B,EAAAzC,EAAAyC,WAAA,IACAC,EAAA1C,EAAAwB,YAAAxK,OAAAqF,EAAAD,EAAA,UAEAwF,EAAAe,UAAA,OACAf,EAAAgB,aAAA,MAEA5G,EAAA6G,KAAA7C,EAAAwB,YAAA,SAAAtE,EAAA1H,GACA,IAAAgH,EAAAL,EAAAC,EAAAC,GACAwE,EAAArE,EAAAH,EAAA,EAAAuF,EAAAkB,YAAA5F,EAAAgB,MAAA2C,MAEA4B,IAAAzL,OAAA,GAAA6J,EAAAzE,EAAA0B,SAAAkC,EAAAa,QACA6B,GAAArG,EAAAD,EAAA,QACAqG,IAAAzL,QAAAgJ,EAAAc,MAIAyB,EAAA/M,GAAA,CACAsL,KAAA,EACAG,IAAA,EACAJ,QACAG,OAAA3E,GAGAoG,IAAAzL,OAAA,IAAA6J,EAAAzE,EAAA0B,UAGA6C,EAAAK,QAAA0B,MAEI,CACJ,IAAAK,EAAA3G,EAAA0B,QACAkF,EAAAhD,EAAAgD,aAAA,GACAC,EAAA7G,EAAA0B,QACAoF,EAAA,EACAC,EAAA,EACAC,EAAA/G,EAAA0G,EAEA/G,EAAA6G,KAAA7C,EAAAwB,YAAA,SAAAtE,EAAA1H,GACA,IAAAgH,EAAAL,EAAAC,EAAAC,GACAgH,EAAA7G,EAAAH,EAAA,EAAAuF,EAAAkB,YAAA5F,EAAAgB,MAAA2C,MAGAsC,EAAAC,EAAAzC,EAAAK,SACAiC,GAAAC,EAAA9G,EAAA0B,QACAkF,EAAAvN,KAAAyN,GAEAA,EAAA,EACAC,EAAA,GAIAD,EAAAtK,KAAA0K,IAAAJ,EAAAG,GACAF,GAAAC,EAGAb,EAAA/M,GAAA,CACAsL,KAAA,EACAG,IAAA,EACAJ,MAAAwC,EACArC,OAAA3E,KAIA4G,GAAAC,EACAF,EAAAvN,KAAAyN,GACAvC,EAAAE,OAAAoC,EAIAjD,EAAAa,MAAAF,EAAAE,MACAb,EAAAgB,OAAAL,EAAAK,QAEAP,SAAAvE,EAGA0E,aAAA,WACA,cAAA/L,KAAA0M,QAAA3E,UAAA,WAAA/H,KAAA0M,QAAA3E,UAIA2G,KAAA,WACA,IAAAvD,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACAnF,EAAAuF,EAAA9D,OACAgE,EAAA/F,EAAAgG,OACA0B,EAAA3B,EAAA4B,SAAAC,KACAC,EAAA3D,EAAAa,MACA4B,EAAAzC,EAAAyC,WAEA,GAAAd,EAAAhF,QAAA,CACA,IAOAiH,EAPAhC,EAAA5B,EAAA4B,IACAG,EAAA/F,EAAA+F,eACA8B,EAAA9B,EAAA3F,EAAAyH,UAAAhC,EAAAiC,kBACAzH,EAAA0F,EAAA3F,EAAAC,SAAAwF,EAAAG,iBACAC,EAAAF,EAAA3F,EAAA6F,UAAAJ,EAAAK,kBACAC,EAAAJ,EAAA3F,EAAA+F,WAAAN,EAAAO,mBACAC,EAAArG,EAAAsG,WAAAjG,EAAA4F,EAAAE,GAIAP,EAAAe,UAAA,OACAf,EAAAgB,aAAA,SACAhB,EAAA7C,UAAA,GACA6C,EAAA3C,YAAA4E,EACAjC,EAAAxD,UAAAyF,EACAjC,EAAAY,KAAAH,EAEA,IAAA7F,EAAAL,EAAAC,EAAAC,GACAkG,EAAAvC,EAAAN,eAGAqE,EAAA,SAAAC,EAAAC,EAAA/G,GACA,KAAAgH,MAAA1H,OAAA,IAKAoF,EAAAuC,OAEAvC,EAAAxD,UAAA2D,EAAA7E,EAAAkB,UAAAyD,EAAAuC,cACAxC,EAAArD,QAAAwD,EAAA7E,EAAAqB,QAAAiF,EAAAhF,gBACAoD,EAAAjD,eAAAoD,EAAA7E,EAAAyB,eAAA6E,EAAA5E,kBACAgD,EAAA/C,SAAAkD,EAAA7E,EAAA2B,SAAA2E,EAAA1E,iBACA8C,EAAA7C,UAAAgD,EAAA7E,EAAA6B,UAAAyE,EAAAxE,aACA4C,EAAA3C,YAAA8C,EAAA7E,EAAA+B,YAAA4C,EAAAuC,cACA,IAAAC,EAAA,IAAAtC,EAAA7E,EAAA6B,UAAAyE,EAAAxE,aAOA,GALA4C,EAAA0C,aAEA1C,EAAA0C,YAAAvC,EAAA7E,EAAAuB,SAAA+E,EAAA9E,aAGAiD,EAAA9D,QAAA8D,EAAA9D,OAAAvB,cAAA,CAGA,IAAAiI,EAAAlI,EAAAzD,KAAA2D,MAAA,EACAiI,EAAAD,EAAA3L,KAAA2D,MACAkI,EAAAT,EAAAQ,EACAE,EAAAT,EAAAO,EAGAxI,EAAA2I,OAAAC,UAAAhD,EAAA1E,EAAAiC,WAAAoF,EAAAE,EAAAC,QAGAL,GACAzC,EAAAiD,WAAAb,EAAAC,EAAAzH,EAAAH,GAEAuF,EAAAkD,SAAAd,EAAAC,EAAAzH,EAAAH,GAGAuF,EAAAmD,YAEAC,EAAA,SAAAhB,EAAAC,EAAA/G,EAAA+H,GACA,IAAAC,EAAA7I,EAAA,EACA8I,EAAA3I,EAAA0I,EAAAlB,EACAoB,EAAAnB,EAAAiB,EAEAtD,EAAAoD,SAAA9H,EAAAgB,KAAAiH,EAAAC,GAEAlI,EAAAM,SAEAoE,EAAAyD,YACAzD,EAAA7C,UAAA,EACA6C,EAAA0D,OAAAH,EAAAC,GACAxD,EAAA2D,OAAAJ,EAAAF,EAAAG,GACAxD,EAAA4D,WAKA5E,EAAAZ,EAAAY,eAEAgD,EADAhD,EACA,CACAoD,EAAAhE,EAAAc,MAAA6C,EAAAlB,EAAA,MACAwB,EAAAjE,EAAAiB,IAAA7E,EAAA0B,QACA4F,KAAA,GAGA,CACAM,EAAAhE,EAAAc,KAAA1E,EAAA0B,QACAmG,EAAAjE,EAAAiB,IAAA7E,EAAA0B,QACA4F,KAAA,GAIA,IAAAN,EAAA/G,EAAAD,EAAA0B,QACA9B,EAAA6G,KAAA7C,EAAAwB,YAAA,SAAAtE,EAAA1H,GACA,IAAAyP,EAAArD,EAAAkB,YAAA5F,EAAAgB,MAAA2C,MACAA,EAAArE,EAAAH,EAAA,EAAA4I,EACAjB,EAAAJ,EAAAI,EACAC,EAAAL,EAAAK,EAEArD,EACAoD,EAAAnD,GAAA8C,IACAM,EAAAL,EAAAK,GAAAb,EACAQ,EAAAF,OACAM,EAAAJ,EAAAI,EAAAhE,EAAAc,MAAA6C,EAAAlB,EAAAmB,EAAAF,OAAA,GAEKO,EAAAb,EAAApD,EAAAkB,SACL8C,EAAAJ,EAAAI,IAAAhE,EAAAgD,aAAAY,EAAAF,MAAAtH,EAAA0B,QACAmG,EAAAL,EAAAK,EAAAjE,EAAAiB,IAAA7E,EAAA0B,QACA8F,EAAAF,QAGAK,EAAAC,EAAAC,EAAA/G,GAEAqF,EAAA/M,GAAAsL,KAAAkD,EACAzB,EAAA/M,GAAAyL,IAAAgD,EAGAe,EAAAhB,EAAAC,EAAA/G,EAAA+H,GAEArE,EACAgD,EAAAI,GAAAnD,EAAAzE,EAAA,QAEAwH,EAAAK,GAAAb,MAaAqC,YAAA,SAAAxI,GACA,IAAA+C,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACAxG,EAAA,YAAAkC,EAAAlC,KAAA,QAAAkC,EAAAlC,KACA2K,GAAA,EAEA,iBAAA3K,GACA,IAAA4G,EAAA/D,QACA,WAEG,cAAA7C,EAKH,OAJA,IAAA4G,EAAA3E,QACA,OAOA,IAAAgH,EAAA/G,EAAA+G,EACAC,EAAAhH,EAAAgH,EAEA,GAAAD,GAAAhE,EAAAc,MAAAkD,GAAAhE,EAAAe,OAAAkD,GAAAjE,EAAAiB,KAAAgD,GAAAjE,EAAAkB,OAGA,IADA,IAAAyE,EAAA3F,EAAAN,eACAlK,EAAA,EAAkBA,EAAAmQ,EAAA3O,SAAexB,EAAA,CACjC,IAAAoQ,EAAAD,EAAAnQ,GAEA,GAAAwO,GAAA4B,EAAA9E,MAAAkD,GAAA4B,EAAA9E,KAAA8E,EAAA/E,OAAAoD,GAAA2B,EAAA3E,KAAAgD,GAAA2B,EAAA3E,IAAA2E,EAAA5E,OAAA,CAEA,aAAAjG,EAAA,CAEA4G,EAAA3E,QAAA6I,KAAA7F,EAAA/C,EAAA6I,OAAA9F,EAAAwB,YAAAhM,IACAkQ,GAAA,EACA,MACM,iBAAA3K,EAAA,CAEN4G,EAAA/D,QAAAiI,KAAA7F,EAAA/C,EAAA6I,OAAA9F,EAAAwB,YAAAhM,IACAkQ,GAAA,EACA,QAMA,OAAAA,KAIA,SAAAK,EAAA1I,EAAA2I,GACA,IAAAtJ,EAAA,IAAA4C,EAAA,CACAsC,IAAAvE,EAAAuE,IACAL,QAAAyE,EACA3I,UAGApB,EAAAgK,UAAA5I,EAAAX,EAAAsJ,GACA/J,EAAAiK,OAAA7I,EAAAX,GACAW,EAAAX,SAGAxI,EAAAC,QAAA,CACAkL,GAAA,SASA8G,SAAA7G,EAEA8G,WAAA,SAAA/I,GACA,IAAA2I,EAAA3I,EAAAkE,QAAA7E,OAEAsJ,GACAD,EAAA1I,EAAA2I,IAIApG,aAAA,SAAAvC,GACA,IAAA2I,EAAA3I,EAAAkE,QAAA7E,OACAA,EAAAW,EAAAX,OAEAsJ,GACAhK,EAAAqK,QAAAL,EAAAlK,EAAAgG,OAAApF,QAEAA,GACAT,EAAAgK,UAAA5I,EAAAX,EAAAsJ,GACAtJ,EAAA6E,QAAAyE,GAEAD,EAAA1I,EAAA2I,IAEGtJ,IACHT,EAAAqK,UAAAjJ,EAAAX,UACAW,EAAAX,SAIA6J,WAAA,SAAAlJ,EAAAJ,GACA,IAAAP,EAAAW,EAAAX,OACAA,GACAA,EAAA+I,YAAAxI,2BC/gBA,SAAAuJ,EAAAC,EAAAhF,EAAAiF,GACA,IAAAlR,EAAAiC,EAAAG,EAAA+O,EAAAC,EAAAlM,EAAAmM,EAAAC,EACAC,EAGAC,EAFAC,EAAA,EACAC,EAAA,EAEAC,EAAA,sBAAAV,EAAA1L,KACAqM,EAAA,YAAAX,EAAA1L,KACAsM,EAAAF,EAAAV,EAAApL,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAOzB,IALAuR,EAAAI,EAAAV,EAAApL,SAAA7F,GAAAkF,SACA0M,EAAAX,EAAA/L,SAAA+L,EACAO,EAAA,uBAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAS9B,GARAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EACAD,EAAApM,EAAAF,YAEAyM,GAAAP,GACA,YAAAhM,EAAAK,MAAA,iBAAAL,EAAAK,KACA,IAEA,UAAAL,EAAAK,KACA0G,EAAAqF,EAAAI,GACAA,SACa,kBAAAxM,EAAAK,MAAA,eAAAL,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9CgK,EAAAqF,EAAArP,GAAAyP,GACAA,SAEa,eAAAxM,EAAAK,MAAA,oBAAAL,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAAiQ,EAAmCrP,IAClE6J,EAAAqF,EAAArP,GAAAG,GAAAsP,GACAA,SAEa,oBAAAxM,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAsBY,IACrD,IAAAgP,EAAA,EAAmCA,EAAAE,EAAArP,GAAAG,GAAAZ,OAAAiQ,EAAsCL,IACzEnF,EAAAqF,EAAArP,GAAAG,GAAAgP,GAAAM,GACAA,QAEa,2BAAAxM,EAAAK,KAIb,UAAA9D,MAAA,yBAHA,IAAAQ,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3D+O,EAAA9L,EAAAe,WAAAhE,GAAAgK,EAAAiF,IAuEA,SAAAY,EAAAb,EAAAhF,EAAA8F,EAAAb,GACA,IAAAc,EAAAD,EAQA,OAPAf,EAAAC,EAAA,SAAAgB,EAAAP,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAE,EAEAhG,EAAA+F,EAAAC,EAAAP,IAEKR,GACLc,EA+CA,SAAAE,EAAAjB,EAAAhF,GACA,IAAAjM,EACA,OAAAiR,EAAA1L,MACA,wBACA,IAAAvF,EAAA,EAAmBA,EAAAiR,EAAApL,SAAArE,OAA2BxB,IAC9CiM,EAAAgF,EAAApL,SAAA7F,GAAAmS,WAAAnS,GAEA,MACA,cACAiM,EAAAgF,EAAAkB,WAAA,GACA,OAoEA,SAAAC,EAAAnB,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAG,EAAAjB,EAAA,SAAAoB,EAAAX,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAM,EAEApG,EAAA+F,EAAAK,EAAAX,KAGAM,EAgDA,SAAAM,EAAArB,EAAAhF,GACA,eAAAgF,EAAA1L,KACA0G,EAAAgF,EAAA,QACK,yBAAAA,EAAA1L,KACL,QAAAvF,EAAA,EAAuBA,EAAAiR,EAAApL,SAAArE,OAA2BxB,IAClDiM,EAAAgF,EAAApL,SAAA7F,MAkEA,SAAAuS,EAAAtB,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAO,EAAArB,EAAA,SAAAuB,EAAAd,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAS,EAEAvG,EAAA+F,EAAAQ,EAAAd,KAGAM,EAmCA,SAAAS,EAAAxB,GACA,IAAAK,EAAA,GAIA,OAHAN,EAAAC,EAAA,SAAAyB,GACApB,EAAArR,KAAAyS,KAEApB,EAqCA,SAAAqB,EAAA1B,EAAAhF,GACA,IAAAjM,EAAAiC,EAAAkP,EAAAjM,EAAAmM,EACAE,EACAC,EACAE,EAAA,EACAC,EAAA,sBAAAV,EAAA1L,KACAqM,EAAA,YAAAX,EAAA1L,KACAsM,EAAAF,EAAAV,EAAApL,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAOzB,IALAuR,EAAAI,EAAAV,EAAApL,SAAA7F,GAAAkF,SACA0M,EAAAX,EAAA/L,SAAA+L,EACAO,EAAA,uBAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAI9B,GAHAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EAEA,UAAArM,EAAAK,MACA,eAAAL,EAAAK,MACA,eAAAL,EAAAK,MACA,YAAAL,EAAAK,MACA,oBAAAL,EAAAK,MACA,iBAAAL,EAAAK,KACA0G,EAAA/G,EAAAwM,GACAA,QACa,2BAAAxM,EAAAK,KAMb,UAAA9D,MAAA,yBALA,IAAAQ,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3DgK,EAAA/G,EAAAe,WAAAhE,GAAAyP,GACAA,KAsEA,SAAAkB,EAAA3B,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAY,EAAA1B,EAAA,SAAA4B,EAAAnB,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAc,EAEA5G,EAAA+F,EAAAa,EAAAnB,KAGAM,EAthBAtT,EAAAC,QAAAqS,YA2EAtS,EAAAC,QAAAmT,cA0DApT,EAAAC,QAAAuT,WA4EAxT,EAAAC,QAAAyT,aAuDA1T,EAAAC,QAAA2T,cAyEA5T,EAAAC,QAAA4T,gBAwCA7T,EAAAC,QAAA8T,WAsFA/T,EAAAC,QAAAgU,WAyEAjU,EAAAC,QAAAiU,qCCzoBA,IAAAhN,EAAwB9G,EAAQ,QAAe8G,kBAC/CkN,EAAehU,EAAQ,QACvBiU,EAAejU,EAAQ,QACvBkU,EAAalU,EAAQ,QACrBmU,EAAcnU,EAAQ,QAoBtB,SAAAoU,EAAAC,GAEA,sBAAAA,EAAA5N,OACA,YAAA4N,EAAA5N,OACA4N,EAAA,CACA5N,KAAA,UACAL,SAAAiO,EACAhB,WAAA,KAGAgB,EAAAvN,EAAA,CAAAuN,KAIA,IAAAC,EAAAN,EAAAK,GAGAE,GAAA,EACArT,EAAA,EACA,OAAAqT,GAAArT,EAAAmT,EAAAtN,SAAArE,OAAA,CACA,IACAgN,EAAAC,EAAA6E,EAAAC,EAAAC,EAAAC,EAAArR,EADA+D,EAAAgN,EAAAtN,SAAA7F,GAAAkF,SAEAwO,GAAA,EACA,aAAAvN,EAAAZ,KACA6N,EAAAlO,SAAAF,YAAA,KAAAmB,EAAAnB,YAAA,IACAoO,EAAAlO,SAAAF,YAAA,KAAAmB,EAAAnB,YAAA,KACAqO,GAAA,QAES,kBAAAlN,EAAAZ,KAAA,CACT,IAAAoO,GAAA,EACAvR,EAAA,EACA,OAAAuR,GAAAvR,EAAA+D,EAAAnB,YAAAxD,OACA4R,EAAAlO,SAAAF,YAAA,KAAAmB,EAAAnB,YAAA5C,GAAA,IACAgR,EAAAlO,SAAAF,YAAA,KAAAmB,EAAAnB,YAAA5C,GAAA,KACAiR,GAAA,EACAM,GAAA,GAEAvR,SAES,kBAAA+D,EAAAZ,KAAA,CACTnD,EAAA,EACA,OAAAsR,GAAAtR,EAAA+D,EAAAnB,YAAAxD,OAAA,EACAgN,EAAA4E,EAAAlO,SAAAF,YAAA,GACAyJ,EAAA2E,EAAAlO,SAAAF,YAAA,GACAsO,EAAAnN,EAAAnB,YAAA5C,GAAA,GACAmR,EAAApN,EAAAnB,YAAA5C,GAAA,GACAoR,EAAArN,EAAAnB,YAAA5C,EAAA,MACAqR,EAAAtN,EAAAnB,YAAA5C,EAAA,MACAwR,EAAApF,EAAAC,EAAA6E,EAAAC,EAAAC,EAAAC,KACAC,GAAA,EACAL,GAAA,GAEAjR,SAES,uBAAA+D,EAAAZ,KAAA,CACT,IAAAtD,EAAA,EACA,MAAAA,EAAAkE,EAAAnB,YAAAxD,OAAA,CACAkS,GAAA,EACAtR,EAAA,EACA,IAAA8L,EAAA/H,EAAAnB,YAAA/C,GACA,OAAAyR,GAAAtR,EAAA8L,EAAA1M,OAAA,EACAgN,EAAA4E,EAAAlO,SAAAF,YAAA,GACAyJ,EAAA2E,EAAAlO,SAAAF,YAAA,GACAsO,EAAApF,EAAA9L,GAAA,GACAmR,EAAArF,EAAA9L,GAAA,GACAoR,EAAAtF,EAAA9L,EAAA,MACAqR,EAAAvF,EAAA9L,EAAA,MACAwR,EAAApF,EAAAC,EAAA6E,EAAAC,EAAAC,EAAAC,KACAC,GAAA,EACAL,GAAA,GAEAjR,IAEAH,UAES,eAAAkE,EAAAZ,MAAA,iBAAAY,EAAAZ,KAAA,CACT,IAAAsO,EAAA,CACAtO,KAAA,UACAL,SAAAiB,EACAgM,WAAA,IAEAa,EAAAI,EAAAS,KACAR,GAAA,GAGArT,IAEA,GAAAqT,EACA,OAAAD,EAEA,IAIAU,EAJA5U,EAAA0G,EAAA,IACA,IAAA5F,EAAA,EAAmBA,EAAAmT,EAAAtN,SAAArE,OAAwBxB,IAC3Cd,EAAA2G,SAAA3G,EAAA2G,SAAAkO,OAAAd,EAAAE,EAAAtN,SAAA7F,IAAA6F,UAGA,IAAAmO,EAAAC,IACA,IAAAjU,EAAA,EAAmBA,EAAAd,EAAA2G,SAAArE,OAA8BxB,IAAA,CACjD,IAAAkU,EAAAnB,EAAAK,EAAAlU,EAAA2G,SAAA7F,GAAA,SACAkU,EAAAF,IACAA,EAAAE,EACAJ,EAAA5U,EAAA2G,SAAA7F,IAGA,OAAA8T,EAIA,SAAAF,EAAApF,EAAAC,EAAA6E,EAAAC,EAAAC,EAAAC,GACA,IAAAU,EAAA/Q,KAAAgR,MAAAZ,EAAAF,IAAAE,EAAAF,IAAAG,EAAAF,IAAAE,EAAAF,IACAc,EAAAjR,KAAAgR,MAAA5F,EAAA8E,IAAA9E,EAAA8E,IAAA7E,EAAA8E,IAAA9E,EAAA8E,IACAe,EAAAlR,KAAAgR,MAAAZ,EAAAhF,IAAAgF,EAAAhF,IAAAiF,EAAAhF,IAAAgF,EAAAhF,IACA,GAAA0F,IAAAE,EAAAC,EACA,SAIA5V,EAAAC,QAAAuU,uCC1IA,IAAA1M,EAAc1H,EAAQ,QAMtBJ,EAAAC,QAAA,CASA4V,aAAA,SAAAjP,EAAAkP,GACA,IAAAC,GAAA,GAAAnP,GAAAoP,MAAA,wCACA,IAAAD,GAAA,WAAAA,EAAA,GACA,WAAAD,EAKA,OAFAlP,GAAAmP,EAAA,GAEAA,EAAA,IACA,SACA,OAAAnP,EACA,QACAA,GAAA,IACA,MACA,QACA,MAGA,OAAAkP,EAAAlP,GAUAqP,UAAA,SAAArP,GACA,IAAA9E,EAAAoU,EAAAhV,EAAAwR,EAWA,OATA5K,EAAAqO,SAAAvP,IACA9E,GAAA8E,EAAAmG,KAAA,EACAmJ,GAAAtP,EAAAiG,OAAA,EACA3L,GAAA0F,EAAAoG,QAAA,EACA0F,GAAA9L,EAAAgG,MAAA,GAEA9K,EAAAoU,EAAAhV,EAAAwR,GAAA9L,GAAA,EAGA,CACAmG,IAAAjL,EACA+K,MAAAqJ,EACAlJ,OAAA9L,EACA0L,KAAA8F,EACA5F,OAAAhL,EAAAZ,EACAyL,MAAA+F,EAAAwD,IAaAE,QAAA,SAAAC,EAAAC,EAAAvV,GACA,IAAAO,EAAAiV,EAAA3P,EAEA,IAAAtF,EAAA,EAAAiV,EAAAF,EAAAvT,OAAmCxB,EAAAiV,IAAUjV,EAE7C,GADAsF,EAAAyP,EAAA/U,QACAgG,IAAAV,SAGAU,IAAAgP,GAAA,oBAAA1P,IACAA,IAAA0P,SAEAhP,IAAAvG,GAAA+G,EAAApB,QAAAE,KACAA,IAAA7F,SAEAuG,IAAAV,GACA,OAAAA,4BC3FA,IAAA4P,EAAiBpW,EAAQ,QAAeqW,WACxCC,EAAatW,EAAQ,QA8BrBJ,EAAAC,QAAA,SAAAuP,EAAAmH,EAAAC,GAWA,IAVA,IAAAhE,EAAA,GAEAiE,EAAA,IAAAH,EAAA,CACA/T,OAAA6M,EAAAhJ,SAAAF,YAAAwD,IAAA,SAAAgN,GACA,OAAoBhH,EAAAgH,EAAA,GAAA/G,EAAA+G,EAAA,MAEpBC,SAAAJ,EACAC,cAGAtV,EAAA,EAAmBA,EAAAuV,EAAAE,SAAqBzV,GAAA,IACxC,IAAA0V,EAAAH,EAAAG,IAAA1V,GACAoD,KAAAuS,MAAA3V,EAAA,YACAsR,EAAArR,KAAA,CAAAyV,EAAAlH,EAAAkH,EAAAjH,IAIA,OAAAyG,EAAA5D,EAAApD,EAAAiE,mCCuBA,SAAAnB,EAAAjL,EAAAkG,EAAAiF,GAEA,UAAAnL,EAAA,CACA,IAAA6P,EAAAC,EAAA5T,EAAAG,EAAAgP,EAAAlM,EAAAmM,EAAAC,EACAC,EAGAC,EAFAC,EAAA,EACAqE,EAAA,EAEAvQ,EAAAQ,EAAAR,KACAoM,EAAA,sBAAApM,EACAqM,EAAA,YAAArM,EACAsM,EAAAF,EAAA5L,EAAAF,SAAArE,OAAA,EAcA,IAAAoU,EAAA,EAA0BA,EAAA/D,EAAqB+D,IAAA,CAC/C,IAAAG,EAAA,EAOA,IALAxE,EAAAI,EAAA5L,EAAAF,SAAA+P,GAAA1Q,SACA0M,EAAA7L,EAAAb,SAAAa,EACAyL,IAAA,0BAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEAqU,EAAA,EAA+BA,EAAAxE,EAAuBwE,IAKtD,GAJA3Q,EAAAsM,EACAD,EAAAtL,WAAA4P,GAAAtE,EAGA,OAAArM,EAAA,CACAoM,EAAApM,EAAAF,YACA,IAAAgR,EAAA9Q,EAAAK,KAIA,OAFAkM,GAAAP,GAAA,YAAA8E,GAAA,iBAAAA,EAAA,IAEAA,GACA,UACA,MACA,YACA/J,EAAAqF,EAAAwE,EAAAF,EAAAG,GACAD,IACAC,IACA,MACA,iBACA,iBACA,IAAA9T,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9CgK,EAAAqF,EAAArP,GAAA6T,EAAAF,EAAAG,GACAD,IACAC,IAEA,MACA,cACA,sBACA,IAAA9T,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAAiQ,EAAmCrP,IAClE6J,EAAAqF,EAAArP,GAAAG,GAAA0T,EAAAF,EAAAG,GACAD,IACAC,IAEA,MACA,mBACA,IAAA9T,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAsBY,IACrD,IAAAgP,EAAA,EAAmCA,EAAAE,EAAArP,GAAAG,GAAAZ,OAAAiQ,EAAsCL,IACzEnF,EAAAqF,EAAArP,GAAAG,GAAAgP,GAAA0E,EAAAF,EAAAG,GACAD,IACAC,IAEA,MACA,yBACA,IAAA9T,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3D+O,EAAA9L,EAAAe,WAAAhE,GAAAgK,EAAAiF,GACA,MACA,QACA,UAAAzP,MAAA,6BAsDA,SAAAqQ,EAAA/L,EAAAkG,EAAA8F,EAAAb,GACA,IAAAc,EAAAD,EAKA,OAJAf,EAAAjL,EAAA,SAAAkQ,EAAAH,EAAAF,EAAAG,GACA/D,EAAA,IAAA8D,QAAA9P,IAAA+L,EAAAkE,EACAhK,EAAA+F,EAAAiE,EAAAH,EAAAF,EAAAG,IACK7E,GACLc,EA6BA,SAAAE,EAAAnM,EAAAkG,GACA,IAAAjM,EACA,OAAA+F,EAAAR,MACA,wBACA,IAAAvF,EAAA,EAAmBA,EAAA+F,EAAAF,SAAArE,OAA6BxB,IAChDiM,EAAAlG,EAAAF,SAAA7F,GAAAmS,WAAAnS,GAEA,MACA,cACAiM,EAAAlG,EAAAoM,WAAA,GACA,OAkDA,SAAAC,EAAArM,EAAAkG,EAAA8F,GACA,IAAAC,EAAAD,EAKA,OAJAG,EAAAnM,EAAA,SAAAsM,EAAAuD,GACA5D,EAAA,IAAA4D,QAAA5P,IAAA+L,EAAAM,EACApG,EAAA+F,EAAAK,EAAAuD,KAEA5D,EA8BA,SAAAM,EAAAvM,EAAAkG,GACA,eAAAlG,EAAAR,KACA0G,EAAAlG,EAAA,QACK,yBAAAA,EAAAR,KACL,QAAAvF,EAAA,EAAuBA,EAAA+F,EAAAF,SAAArE,OAA6BxB,IACpDiM,EAAAlG,EAAAF,SAAA7F,MAgDA,SAAAuS,EAAAxM,EAAAkG,EAAA8F,GACA,IAAAC,EAAAD,EAKA,OAJAO,EAAAvM,EAAA,SAAAyM,EAAAoD,GACA5D,EAAA,IAAA4D,QAAA5P,IAAA+L,EAAAS,EACAvG,EAAA+F,EAAAQ,EAAAoD,KAEA5D,EAkBA,SAAAS,EAAA1M,GACA,IAAAuL,EAAA,GAIA,OAHAN,EAAAjL,EAAA,SAAA2M,GACApB,EAAArR,KAAAyS,KAEApB,EA+BA,SAAAqB,EAAA5M,EAAAkG,GACA,IAAAjM,EAAAiC,EAAAkP,EAAAjM,EAAAmM,EACAE,EACAC,EACA0E,EACAN,EAAA,EACAjE,EAAA,sBAAA5L,EAAAR,KACAqM,EAAA,YAAA7L,EAAAR,KACAsM,EAAAF,EAAA5L,EAAAF,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IASzB,IAPAuR,EAAAI,EAAA5L,EAAAF,SAAA7F,GAAAkF,SACA0M,EAAA7L,EAAAb,SAAAa,EACAmQ,EAAAvE,EAAA5L,EAAAF,SAAA7F,GAAAmS,WACAP,EAAA7L,EAAAoM,WAAA,GACAX,IAAA,0BAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAK9B,GAJAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EAGA,OAAArM,EAKA,OAAAA,EAAAK,MACA,YACA,iBACA,iBACA,cACA,sBACA,mBACA0G,EAAA/G,EAAA0Q,EAAAM,GACAN,IACA,MAEA,yBACA,IAAA3T,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3DgK,EAAA/G,EAAAe,WAAAhE,GAAA2T,EAAAM,GACAN,IAEA,MAEA,QACA,UAAAnU,MAAA,8BAvBAwK,EAAA,KAAA2J,EAAAM,GACAN,IAyEA,SAAAhD,EAAA7M,EAAAkG,EAAA8F,GACA,IAAAC,EAAAD,EAKA,OAJAY,EAAA5M,EAAA,SAAA8M,EAAAnB,EAAAW,GACAL,EAAA,IAAAN,QAAA1L,IAAA+L,EAAAc,EACA5G,EAAA+F,EAAAa,EAAAnB,EAAAW,KAEAL,EAiCA,SAAA5L,EAAAL,EAAAkG,GACA0G,EAAA5M,EAAA,SAAAb,EAAA0Q,EAAAzD,GAEA,IAUA6D,EAVAzQ,EAAA,OAAAL,EAAA,KAAAA,EAAAK,KACA,OAAAA,GACA,UACA,YACA,iBACA,cAEA,YADA0G,EAAAvG,EAAAR,EAAAiN,GAAAyD,EAAA,GAOA,OAAArQ,GACA,iBACAyQ,EAAA,QACA,MACA,sBACAA,EAAA,aACA,MACA,mBACAA,EAAA,UACA,MAGA9Q,EAAAF,YAAAmR,QAAA,SAAAC,EAAAL,GACA,IAAA5P,EAAA,CACAZ,KAAAyQ,EACAhR,YAAAoR,GAEAnK,EAAAvG,EAAAS,EAAAgM,GAAAyD,EAAAG,OAoDA,SAAAM,EAAAtQ,EAAAkG,EAAA8F,GACA,IAAAC,EAAAD,EAKA,OAJA3L,EAAAL,EAAA,SAAAyM,EAAAoD,EAAAG,GACA/D,EAAA,IAAA4D,GAAA,IAAAG,QAAA/P,IAAA+L,EAAAS,EACAvG,EAAA+F,EAAAQ,EAAAoD,EAAAG,KAEA/D,EAsCA,SAAAsE,EAAAvQ,EAAAkG,GACA7F,EAAAL,EAAA,SAAAL,EAAAkQ,GACA,IAAAG,EAAA,EAEA,GAAArQ,EAAAR,SAAA,CAEA,IAAAK,EAAAG,EAAAR,SAAAK,KACA,UAAAA,GAAA,eAAAA,GAGAuM,EAAApM,EAAA,SAAA6Q,EAAAN,GACA,IAAAO,EAAArB,EAAA,CAAAoB,EAAAN,GAAAvQ,EAAAyM,YAGA,OAFAlG,EAAAuK,EAAAZ,EAAAG,GACAA,IACAE,OAwDA,SAAAQ,EAAA1Q,EAAAkG,EAAA8F,GACA,IAAAC,EAAAD,EAKA,OAJAuE,EAAAvQ,EAAA,SAAAyQ,EAAA9E,EAAAgF,GACA1E,EAAA,IAAAN,QAAA1L,IAAA+L,EAAAyE,EACAvK,EAAA+F,EAAAwE,EAAA9E,EAAAgF,KAEA1E,EAWA,SAAAtM,EAAAR,EAAAiN,GACA,QAAAnM,IAAAd,EAAA,UAAAzD,MAAA,sBAEA,OACA8D,KAAA,UACA4M,cAAA,GACAjN,YAYA,SAAAiQ,EAAAnQ,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,yDAEA,OACA8D,KAAA,UACA4M,cAAA,GACAjN,SAAA,CACAK,KAAA,aACAP,gBAiCA,SAAA2R,EAAA5Q,EAAAkG,GAEA,IAAAlG,EAAA,UAAAtE,MAAA,uBACA,IAAA8D,EAAAQ,EAAAb,SAAAa,EAAAb,SAAAK,KAAAQ,EAAAR,KACA,IAAAA,EAAA,UAAA9D,MAAA,mBACA,yBAAA8D,EAAA,UAAA9D,MAAA,sCACA,0BAAA8D,EAAA,UAAA9D,MAAA,uCACA,IAAAuD,EAAAe,EAAAb,SAAAa,EAAAb,SAAAF,YAAAe,EAAAf,YACA,IAAAA,EAAA,UAAAvD,MAAA,oCAEA,OAAA8D,GACA,iBAEA,YADA0G,EAAAjH,EAAA,KAEA,cACA,sBAEA,IADA,IAAA4R,EAAA,EACA1I,EAAA,EAA0BA,EAAAlJ,EAAAxD,OAA2B0M,IACrD,oBAAA3I,IAAAqR,EAAA1I,GACAjC,EAAAjH,EAAAkJ,KAAA0I,GAEA,OACA,mBACA,QAAAC,EAAA,EAA2BA,EAAA7R,EAAAxD,OAA4BqV,IACvD,QAAAC,EAAA,EAA8BA,EAAA9R,EAAA6R,GAAArV,OAAkCsV,IAChE7K,EAAAjH,EAAA6R,GAAAC,KAAAD,GAGA,OACA,QACA,UAAApV,MAAA8D,EAAA,4BAiDA,SAAAwR,EAAAhR,EAAAkG,EAAA8F,GACA,IAAAC,EAAAD,EAKA,OAJA4E,EAAA5Q,EAAA,SAAAiR,EAAAC,EAAAC,GACAlF,EAAA,IAAAiF,QAAAjR,IAAA+L,EAAAiF,EACA/K,EAAA+F,EAAAgF,EAAAC,EAAAC,KAEAlF,EAGAtT,EAAAC,QAAA,CACAqS,YACAc,cACAI,WACAE,aACAE,cACAC,gBACAE,WACAE,WACAC,aACAxM,cACAiQ,gBACAC,cACAG,gBACAE,WACAI,mDCp9BA,IAAAxQ,EAAczH,EAAQ,QAEtBH,EAAAD,EAAAC,QAAA4H,EAAAwD,OAAA,CACAlC,MAAA,KACAsP,YAAA,EACAC,SAAA,GACAC,OAAA,GACAC,OAAA,KAEAC,oBAAA,KACAC,oBAAA,OAWAC,OAAAC,eAAA/Y,EAAA2B,UAAA,mBACAqX,IAAA,WACA,OAAAtY,QAUAoY,OAAAC,eAAA/Y,EAAA2B,UAAA,iBACAqX,IAAA,WACA,OAAAtY,KAAAwI,OAEA+P,IAAA,SAAAtS,GACAjG,KAAAwI,MAAAvC,mECtCA,IAAAuS,EAAA,WAAgC,SAAAC,EAAAC,EAAAC,GAA2C,QAAAhY,EAAA,EAAgBA,EAAAgY,EAAAxW,OAAkBxB,IAAA,CAAO,IAAAiY,EAAAD,EAAAhY,GAA2BiY,EAAAC,WAAAD,EAAAC,aAAA,EAAwDD,EAAAE,cAAA,EAAgC,UAAAF,MAAAG,UAAA,GAAuDX,OAAAC,eAAAK,EAAAE,EAAAI,IAAAJ,IAA+D,gBAAAK,EAAAC,EAAAC,GAA2L,OAAlID,GAAAT,EAAAQ,EAAAhY,UAAAiY,GAAqEC,GAAAV,EAAAQ,EAAAE,GAA6DF,GAAxhB,GAEA,SAAAG,EAAAC,EAAAJ,GAAiD,KAAAI,aAAAJ,GAA0C,UAAAK,UAAA,qCAE3F,IAAAC,EAAW9Z,EAAQ,QACnB+Z,EAAW/Z,EAAQ,QACnBga,EAAeha,EAAQ,QACvBia,EAAeja,EAAQ,QACvBsH,EAAA2S,EAAA3S,YACA0L,EAAAiH,EAAAjH,YACAkH,EAAgBla,EAAQ,QACxB2G,EAAAuT,EAAAvT,UAOA,SAAAwT,EAAAC,GACA,IAAAA,EAAA,UAAAzX,MAAA,qBAEA,yBAAAyX,EAAA3T,MAAA,uBAAA2T,EAAA3T,MAAA,oBAAA2T,EAAA3T,MAAA,eAAA2T,EAAA3T,MAAA,YAAA2T,EAAA3T,KAAA,UAAA9D,MAAA,uBAAAyX,EAAA3T,KAAA,oGAaA,IAAA4T,EAAA,WAiEA,SAAAA,IACAV,EAAApZ,KAAA8Z,GAEA9Z,KAAA+Z,MAAA,GAGA/Z,KAAAga,MAAA,GA4RA,OAlWAxB,EAAAsB,EAAA,EACAd,IAAA,UAQA/S,MAAA,SAAAN,GACA,IAAA6E,EAAA+O,EAAAU,QAAAtU,GACAuU,EAAAla,KAAAga,MAAAxP,GAGA,OAFA0P,MAAAla,KAAAga,MAAAxP,GAAA,IAAA+O,EAAA5T,IAEAuU,IAUG,CACHlB,IAAA,UACA/S,MAAA,SAAAkU,EAAAC,GACA,IAAAC,EAAA,IAAAb,EAAAW,EAAAC,GACAE,EAAAD,EAAAE,cAEAva,KAAA+Z,MAAAnZ,KAAAyZ,GACAra,KAAA+Z,MAAAnZ,KAAA0Z,MAEG,EACHtB,IAAA,cAQA/S,MAAA,SAAA4T,GACAD,EAAAC,GAEA,IAAAW,EAAA,IAAAV,EAeA,OAdA/S,EAAA8S,EAAA,SAAAxT,GACAD,EAAAC,EAAA,mCAEAoM,EAAApM,EAAA,SAAAnC,EAAAuW,GACA,GAAAvW,EAAA,CACA,IAAAwW,EAAAF,EAAAG,QAAAzW,GACA0W,EAAAJ,EAAAG,QAAAF,GAEAD,EAAAK,QAAAH,EAAAE,GAEA,OAAAH,MAIAD,MAiBAhC,EAAAsB,EAAA,EACAd,IAAA,gBACA/S,MAAA,WACA,IAAA6U,EAAA9a,KAEAoY,OAAA2C,KAAA/a,KAAAga,OAAA7Q,IAAA,SAAAqB,GACA,OAAAsQ,EAAAd,MAAAxP,KACOsM,QAAA,SAAAoD,GACP,OAAAY,EAAAE,gBAAAd,OAUG,CACHlB,IAAA,kBACA/S,MAAA,SAAAiU,GACA,IAAAe,EAAAjb,KAGA,GAAAka,EAAAgB,WAAA/Y,QAAA,GACA,IAAAgZ,EAAAjB,EAAAkB,gBAAAjS,IAAA,SAAAf,GACA,OAAAA,EAAAgS,KAEApa,KAAAqb,WAAAnB,GACAiB,EAAArE,QAAA,SAAA5U,GACA,OAAA+Y,EAAAD,gBAAA9Y,QAYG,CACH8W,IAAA,iBACA/S,MAAA,WACA,IAAAqV,EAAAtb,KAEAA,KAAAub,sBACAvb,KAAAwb,wBAGAxb,KAAA+Z,MAAAjD,QAAA,SAAAuD,GACAA,EAAA/Q,QAAA+Q,EAAAoB,SAAAnS,QACAgS,EAAAI,WAAArB,EAAAoB,UACAH,EAAAI,WAAArB,QAYG,CACHrB,IAAA,sBACA/S,MAAA,SAAAiU,GACA,IAAAyB,EAAA3b,KAEA,qBAAAka,EACA9B,OAAA2C,KAAA/a,KAAAga,OAAAlD,QAAA,SAAAtM,GACA,OAAAmR,EAAAJ,oBAAAI,EAAA3B,MAAAxP,MAGA0P,EAAAkB,gBAAAtE,QAAA,SAAAuD,EAAA1Z,GACAuZ,EAAA0B,cAAA,IAAAjb,EAAAuZ,EAAAkB,gBAAAjZ,OAAAxB,GAAA,GAAA8a,SAAAI,KAAAxB,MAeG,CACHrB,IAAA,uBACA/S,MAAA,SAAAiU,EAAA5Q,GAKA,IAJA,IAAAyQ,EAAAG,EAAAkB,gBACAU,OAAA,EACAC,OAAA,EAEApb,EAAAoZ,EAAA5X,OAAA,EAAoCxB,GAAA,IAAQA,EAAA,CAC5C,IAAAqb,EAAAjC,EAAApZ,GACAsb,EAAAD,EAAAP,SACAS,OAAA,EACAC,OAAA,EAEAH,EAAA1S,YAAA4S,EAAAF,GAEAC,EAAA3S,YAAA6S,EAAAF,GAEAC,GAAAC,IAGAA,IAAAJ,EAAAI,GAEAD,IACAH,IACAA,EAAAF,KAAAK,EACAH,OAAApV,GAGAmV,MAAAI,KAIAH,MAAAF,KAAAC,KASG,CACH9C,IAAA,wBACA/S,MAAA,WACA,IAAAmW,EAAA,GACA9S,EAAA,EAeA,OAdAtJ,KAAA+Z,MAAAjD,QAAA,SAAAuD,GACA,KAAAA,EAAA/Q,OAAA,IAEA8S,EAAAxb,KAAAyZ,GAEA,IAAAjS,EAAAiS,EACA,GACAjS,EAAAkB,QACAlB,IAAAyT,YACSxB,EAAAgC,QAAAjU,IAETkB,OAGA8S,IAQG,CACHpD,IAAA,eACA/S,MAAA,WACA,IAAAqW,EAAAtc,KAEAA,KAAAub,sBAGAvb,KAAA+Z,MAAAjD,QAAA,SAAAuD,GACAA,EAAA/Q,WAAA3C,IAGA3G,KAAAwb,wBAAA1E,QAAA,SAAAuD,GAEAiC,EAAAC,uBAAAlC,GAAAvD,QAAA,SAAAoD,GACAoC,EAAAE,qBAAAtC,EAAAG,EAAA/Q,WAIA,IAAAmT,EAAA,GAQA,OALAzc,KAAA+Z,MAAAjD,QAAA,SAAAuD,GACAA,EAAA5C,MACAgF,EAAA7b,KAAA0b,EAAAI,cAAArC,MAGAoC,IASG,CACHzD,IAAA,yBACA/S,MAAA,SAAA0W,GACA,IAAAC,EAAA,GACAvC,EAAAsC,EAEAE,EAAA,WAEA,IAAAC,EAAA,EACAzC,EAAAF,KAAAiB,gBAAAtE,QAAA,SAAA1O,GACAA,EAAAkB,QAAAqT,EAAArT,SAAAwT,IAGAA,EAAA,GAAAF,EAAAhc,KAAAyZ,EAAAF,MAEAE,IAAAwB,MAGA,GACAgB,WACOF,EAAAN,QAAAhC,IAEP,OAAAuC,IASG,CACH5D,IAAA,gBACA/S,MAAA,SAAA0W,GACA,IAAAtC,EAAAsC,EACAI,EAAA,IAAAtD,EAEA,GACAsD,EAAAnc,KAAAyZ,GACAA,EAAA5C,KAAAsF,EACA1C,IAAAwB,YACOc,EAAAN,QAAAhC,IAEP,OAAA0C,IASG,CACH/D,IAAA,aACA/S,MAAA,SAAAiU,GACA,IAAA8C,EAAAhd,KAEAka,EAAAkB,gBAAAtE,QAAA,SAAAuD,GACA,OAAA2C,EAAAtB,WAAArB,KAEAH,EAAAgB,WAAApE,QAAA,SAAAuD,GACA,OAAA2C,EAAAtB,WAAArB,YAEAra,KAAAga,MAAAE,EAAA1P,MAQG,CACHwO,IAAA,aACA/S,MAAA,SAAAoU,GACAra,KAAA+Z,MAAA/Z,KAAA+Z,MAAArY,OAAA,SAAA0G,GACA,OAAAA,EAAAiU,QAAAhC,KAEAA,EAAA4C,iBAIAnD,EAnWA,GAsWAza,EAAAC,QAAAwa,0BCzYAza,EAAAC,QAAA,CAAkB4d,OAAA,gECAlB,IAAAC,EAAgB1d,EAAQ,QAExB2d,EAAA,SAAAC,GACArd,KAAAsd,UAAAD,KAAAC,UAAAD,EAAAC,UAAA,GACAtd,KAAAud,aAAAF,MAAAE,YAAAF,EAAAE,UACAvd,KAAAwd,cAAAH,MAAAG,aAAAH,EAAAG,WACAxd,KAAAyd,iBAAAJ,KAAAI,iBAAAJ,EAAAI,oBAiCA,SAAA7J,EAAA9B,GACA,OAAAA,EAAAnM,YAAAwD,IAAA,SAAAuU,GACA,OACAxX,KAAA4L,EAAA5L,KAAAyX,QAAA,YACAhY,YAAA+X,KAIA,SAAAE,EAAAC,EAAAC,GACA,OAAAD,EAAAE,eAAA,eACAF,EAAAlY,YAAAxD,SAAA2b,EAAAnY,YAAAxD,OACA0b,EAAA1b,SAAA2b,EAAA3b,OAyGA,SAAAsb,EAAAO,EAAAC,GACA,OAAAd,EAAAa,EAAAC,EAAA,CAAgCC,QAAA,IAnJhCd,EAAAnc,UAAAkd,QAAA,SAAAN,EAAAC,GACA,GAAAD,EAAA3X,OAAA4X,EAAA5X,OAAA0X,EAAAC,EAAAC,GAAA,SAEA,OAAAD,EAAA3X,MACA,YACA,OAAAlG,KAAAoe,aAAAP,EAAAlY,YAAAmY,EAAAnY,aAEA,iBACA,OAAA3F,KAAAqe,YAAAR,EAAAlY,YAAAmY,EAAAnY,YAAA,MAEA,cACA,OAAA3F,KAAAse,eAAAT,EAAAC,GAEA,cACA,OAAA9d,KAAAue,eAAAV,EAAAC,GACA,QACA,OAAAD,EAAA3X,KAAAlD,QAAA,UACA,IAAA2S,EAAA3V,KACAwe,EAAA5K,EAAAiK,GACAY,EAAA7K,EAAAkK,GACA,OAAAU,EAAAE,MAAA,SAAAC,GACA,OAAA3e,KAAA4e,KAAA,SAAAC,GACA,OAAAlJ,EAAAwI,QAAAQ,EAAAE,MAEOJ,IAGP,UAkBArB,EAAAnc,UAAAmd,aAAA,SAAAU,EAAAC,GACA,GAAAD,EAAA3c,SAAA4c,EAAA5c,OACA,SAGA,QAAAxB,EAAA,EAAeA,EAAAme,EAAA3c,OAAexB,IAC9B,GAAAme,EAAAne,GAAAqe,QAAAhf,KAAAsd,aAAAyB,EAAApe,GAAAqe,QAAAhf,KAAAsd,WACA,SAGA,UAGAF,EAAAnc,UAAAod,YAAA,SAAAY,EAAAC,EAAAC,EAAAC,GACA,IAAAxB,EAAAqB,EAAAC,GAAA,SACA,IAAAG,EAAArf,KAAAwd,WAAAyB,EAAAjf,KAAAsf,aAAAL,GACAM,EAAAvf,KAAAwd,WAAA0B,EAAAlf,KAAAsf,aAAAJ,GACA,IAAAE,GAAApf,KAAAoe,aAAAiB,EAAA,GAAAE,EAAA,MAEAA,EAAAvf,KAAAwf,cAAAD,EAAAF,GACAE,GAHA,CAMA,IAAAE,EAAAzf,KAAAoe,aAAAiB,EAAAF,GAAAI,EAAAJ,IACA,OAAAnf,KAAAud,WAAAkC,EAEAzf,KAAA0f,YAAAL,EAAAE,KAEAvf,KAAAoe,aAAAiB,EAAAF,GAAAI,IAAApd,QAAA,EAAAgd,MAEAnf,KAAA0f,YAAAL,EAAA/c,QAAA2F,UAAAsX,KAKAnC,EAAAnc,UAAAue,cAAA,SAAAG,EAAAC,GAGA,IADA,IAAAC,EAAAV,GAAA,EACAxe,EAAA,EAAeA,EAAAgf,EAAAxd,OAAsBxB,IACrC,GAAAX,KAAAoe,aAAAuB,EAAAhf,GAAAif,EAAA,KACAT,EAAAxe,EACA,MAQA,OALAwe,GAAA,IACAU,EAAA,GAAAnL,OACAiL,EAAArd,MAAA6c,EAAAQ,EAAAxd,QACAwd,EAAArd,MAAA,EAAA6c,EAAA,KAEAU,GAEAzC,EAAAnc,UAAAye,YAAA,SAAAL,EAAAE,GACA,IAAAO,EAAA9f,KACA,OAAAqf,EAAAX,MAAA,SAAA/c,EAAAhB,GACA,OAAAmf,EAAA1B,aAAAzc,EAAA3B,KAAAW,KACG4e,IAGHnC,EAAAnc,UAAAqd,eAAA,SAAAT,EAAAC,GACA,GAAA9d,KAAAqe,YAAAR,EAAAlY,YAAA,GAAAmY,EAAAnY,YAAA,UACA,IAAAoa,EAAAlC,EAAAlY,YAAArD,MAAA,EAAAub,EAAAlY,YAAAxD,QACA6d,EAAAlC,EAAAnY,YAAArD,MAAA,EAAAwb,EAAAnY,YAAAxD,QACA2d,EAAA9f,KACA,OAAA+f,EAAArB,MAAA,SAAAuB,GACA,OAAAjgB,KAAA4e,KAAA,SAAAsB,GACA,OAAAJ,EAAAzB,YAAA4B,EAAAC,EAAA,SAEKF,GAEL,UAIA5C,EAAAnc,UAAAsd,eAAA,SAAAV,EAAAC,GACA,QACAD,EAAArT,KAAAsT,EAAAtT,KACAxK,KAAAyd,iBAAAI,EAAA/K,WAAAgL,EAAAhL,cACA9S,KAAAmgB,YAAAtC,EAAAC,KAIA9d,KAAAme,QAAAN,EAAAhY,SAAAiY,EAAAjY,WAGAuX,EAAAnc,UAAAkf,YAAA,SAAAtC,EAAAC,GACA,UACAD,EAAAuC,OAAAtC,EAAAsC,MAEAvC,EAAAuC,MAAAtC,EAAAsC,MACApgB,KAAAoe,aAAAP,EAAAuC,KAAAtC,EAAAsC,QAOAhD,EAAAnc,UAAAqe,aAAA,SAAAe,GAEA,OAAAA,GAOAhhB,EAAAC,QAAA8d,gEChKA,IAAAkD,EAAA7gB,EAAA,QAAA8gB,EAAA9gB,EAAAyC,EAAAoe,GAAusBE,EAAA,WAAAD,EAAG,0ECU3rBE,EAAA,CACfC,YAAA,cACAC,cAAA,gBACAC,aAAA,eACAC,YAAA,cACAC,cAAA,gBACAC,aAAA,eACAC,SAAA,WACAC,WAAA,aACAC,UAAA,6DCgDAC,EAAA,CACAC,QAAA,UACAC,IAAA,MACAC,OAAA,SACAC,SAAA,WACAC,YAAA,eAwBIC,EAAO,SAAAC,GACX,SAAAC,EAAAjV,GAEAgV,EAAA1Q,KAAAhR,MAMAA,KAAA0M,UAMA1M,KAAAwK,GAAAkC,EAAAlC,GAMAxK,KAAA4hB,iBAAAjb,IAAA+F,EAAAkV,aACAlV,EAAAkV,YAMA5hB,KAAA6hB,eAAAlb,IAAA+F,EAAAmV,WAAAnV,EAAAmV,UAMA7hB,KAAA8hB,QAAAC,SAAAC,cAAA,OACAhiB,KAAA8hB,QAAAG,eAAAtb,IAAA+F,EAAAuV,UACAvV,EAAAuV,UAAA,wBAAoDC,EAAA,KACpDliB,KAAA8hB,QAAAK,MAAApa,SAAA,WAMA/H,KAAAoiB,aAAAzb,IAAA+F,EAAA0V,SAAA1V,EAAA0V,QAMApiB,KAAAqiB,iBAAA3V,EAAA2V,kBAA8E,GAM9EriB,KAAAsiB,mBAAA3b,IAAA+F,EAAA4V,cACA5V,EAAA4V,cAAA,GAUAtiB,KAAAuiB,SAAA,CACAC,QAAA,GACAC,MAAA,GACAC,OAAA,GACAC,KAAA,GACAC,SAAA,GAOA5iB,KAAA6iB,yBAAA,KAEIzK,OAAA0K,EAAA,KAAA1K,CACJpY,KAAYoY,OAAA2K,EAAA,KAAA3K,CAAkB+I,EAAAC,SAC9BphB,KAAAgjB,qBAAAhjB,MAEIoY,OAAA0K,EAAA,KAAA1K,CACJpY,KAAYoY,OAAA2K,EAAA,KAAA3K,CAAkB+I,EAAAE,KAC9BrhB,KAAAijB,iBAAAjjB,MAEIoY,OAAA0K,EAAA,KAAA1K,CACJpY,KAAYoY,OAAA2K,EAAA,KAAA3K,CAAkB+I,EAAAG,QAC9BthB,KAAAkjB,oBAAAljB,MAEIoY,OAAA0K,EAAA,KAAA1K,CACJpY,KAAYoY,OAAA2K,EAAA,KAAA3K,CAAkB+I,EAAAI,UAC9BvhB,KAAAmjB,sBAAAnjB,MAEIoY,OAAA0K,EAAA,KAAA1K,CACJpY,KAAYoY,OAAA2K,EAAA,KAAA3K,CAAkB+I,EAAAK,aAC9BxhB,KAAAojB,yBAAApjB,WAEA2G,IAAA+F,EAAAoV,SACA9hB,KAAAqjB,WAAA3W,EAAAoV,SAGA9hB,KAAAsjB,eAAA3c,IAAA+F,EAAA6W,OAAA7W,EAAA6W,OAAA,OAEAvjB,KAAAwjB,oBAAA7c,IAAA+F,EAAA+W,YACoC/W,EAAA,YAC9B+T,EAAkBO,eAExBra,IAAA+F,EAAA3E,UACA/H,KAAA0jB,YAAAhX,EAAA3E,UAuXA,OAlXA2Z,IAAAC,EAAAgC,UAAAjC,GACAC,EAAA1gB,UAAAmX,OAAAwL,OAAAlC,KAAAzgB,WACA0gB,EAAA1gB,UAAA4iB,YAAAlC,EAQAA,EAAA1gB,UAAA6iB,WAAA,WACA,OAA4C9jB,KAAAsY,IAAA6I,EAAAC,UAQ5CO,EAAA1gB,UAAA8iB,MAAA,WACA,OAAA/jB,KAAAwK,IAUAmX,EAAA1gB,UAAA+iB,OAAA,WACA,OAC+DhkB,KAAAsY,IAAA6I,EAAAE,MAU/DM,EAAA1gB,UAAAgjB,UAAA,WACA,OAAoCjkB,KAAAsY,IAAA6I,EAAAG,SAUpCK,EAAA1gB,UAAAijB,YAAA,WACA,OACgElkB,KAAAsY,IAAA6I,EAAAI,WAWhEI,EAAA1gB,UAAAkjB,eAAA,WACA,OACoCnkB,KAAAsY,IAAA6I,EAAAK,cAOpCG,EAAA1gB,UAAA+hB,qBAAA,WACI5K,OAAAgM,EAAA,KAAAhM,CAAcpY,KAAA8hB,SAClB,IAAAA,EAAA9hB,KAAA8jB,aACAhC,GACA9hB,KAAA8hB,QAAAuC,YAAAvC,IAOAH,EAAA1gB,UAAAgiB,iBAAA,WACAjjB,KAAA6iB,2BACMzK,OAAAgM,EAAA,KAAAhM,CAAUpY,KAAA8hB,SACV1J,OAAA0K,EAAA,KAAA1K,CAAapY,KAAA6iB,0BACnB7iB,KAAA6iB,yBAAA,MAEA,IAAA1Z,EAAAnJ,KAAAgkB,SACA,GAAA7a,EAAA,CACAnJ,KAAA6iB,yBAAsCzK,OAAA0K,EAAA,KAAA1K,CAAMjP,EACpCmb,EAAA,KAAYC,WAAAvkB,KAAAiY,OAAAjY,MACpBA,KAAAwkB,sBACA,IAAAC,EAAAzkB,KAAA6hB,UACA1Y,EAAAub,+BAAAvb,EAAAwb,sBACA3kB,KAAA4hB,YACA6C,EAAAG,aAAA5kB,KAAA8hB,QAAA2C,EAAAI,WAAA,UAEAJ,EAAAJ,YAAArkB,KAAA8hB,WAQAH,EAAA1gB,UAAAgX,OAAA,WACAjY,KAAAwkB,uBAMA7C,EAAA1gB,UAAAiiB,oBAAA,WACAljB,KAAAwkB,uBAMA7C,EAAA1gB,UAAAkiB,sBAAA,WACAnjB,KAAAwkB,sBACAxkB,KAAAsY,IAAA6I,EAAAI,WAAAvhB,KAAAoiB,SACApiB,KAAA8kB,eAOAnD,EAAA1gB,UAAAmiB,yBAAA,WACApjB,KAAAwkB,uBASA7C,EAAA1gB,UAAAoiB,WAAA,SAAAvB,GACA9hB,KAAAuY,IAAA4I,EAAAC,QAAAU,IAUAH,EAAA1gB,UAAA8jB,OAAA,SAAA5b,GACAnJ,KAAAuY,IAAA4I,EAAAE,IAAAlY,IASAwY,EAAA1gB,UAAAqiB,UAAA,SAAAC,GACAvjB,KAAAuY,IAAA4I,EAAAG,OAAAiC,IAWA5B,EAAA1gB,UAAAyiB,YAAA,SAAA3b,GACA/H,KAAAuY,IAAA4I,EAAAI,SAAAxZ,IAQA4Z,EAAA1gB,UAAA6jB,YAAA,WACA,IAAA3b,EAAAnJ,KAAAgkB,SAEA,GAAA7a,KAAA6b,mBAAA,CAIA,IAAAC,EAAAjlB,KAAAklB,QAAA/b,EAAA6b,mBAAA7b,EAAAgc,WACArD,EAAA9hB,KAAA8jB,aACAsB,EAAAplB,KAAAklB,QAAApD,EAAA,CAA6C1J,OAAAgM,EAAA,KAAAhM,CAAU0J,GAAW1J,OAAAgM,EAAA,KAAAhM,CAAW0J,KAE7EuD,EAAArlB,KAAAsiB,cACA,IAASlK,OAAAkN,EAAA,KAAAlN,CAAc6M,EAAAG,GAAA,CAEvB,IAAAG,EAAAH,EAAA,GAAAH,EAAA,GACAO,EAAAP,EAAA,GAAAG,EAAA,GACAK,EAAAL,EAAA,GAAAH,EAAA,GACAS,EAAAT,EAAA,GAAAG,EAAA,GAEAO,EAAA,MAgBA,GAfAJ,EAAA,EAEAI,EAAA,GAAAJ,EAAAF,EACOG,EAAA,IAEPG,EAAA,GAAA5hB,KAAA6hB,IAAAJ,GAAAH,GAEAI,EAAA,EAEAE,EAAA,GAAAF,EAAAJ,EACOK,EAAA,IAEPC,EAAA,GAAA5hB,KAAA6hB,IAAAF,GAAAL,GAGA,IAAAM,EAAA,QAAAA,EAAA,IACA,IAAAE,EAAqE1c,EAAA2c,UAAAC,YACrEC,EAAA7c,EAAA8c,uBAAAJ,GACAK,EAAA,CACAF,EAAA,GAAAL,EAAA,GACAK,EAAA,GAAAL,EAAA,IAGAxc,EAAA2c,UAAAK,QAAA,CACAN,OAAA1c,EAAAid,uBAAAF,GACA9P,SAAApW,KAAAqiB,iBAAAjM,SACA4B,OAAAhY,KAAAqiB,iBAAArK,aAaA2J,EAAA1gB,UAAAikB,QAAA,SAAApD,EAAA3M,GACA,IAAAkR,EAAAvE,EAAAwE,wBACAC,EAAAF,EAAApa,KAAAua,OAAAC,YACAC,EAAAL,EAAAja,IAAAoa,OAAAG,YACA,OACAJ,EACAG,EACAH,EAAApR,EAAA,GACAuR,EAAAvR,EAAA,KAWAwM,EAAA1gB,UAAAuiB,eAAA,SAAAC,GACAzjB,KAAAuY,IAAA4I,EAAAK,YAAAiC,IAQA9B,EAAA1gB,UAAA2lB,WAAA,SAAAhE,GACA5iB,KAAAuiB,SAAAK,cACA5iB,KAAA8hB,QAAAK,MAAAra,QAAA8a,EAAA,UACA5iB,KAAAuiB,SAAAK,YAQAjB,EAAA1gB,UAAAujB,oBAAA,WACA,IAAArb,EAAAnJ,KAAAgkB,SACAjc,EAAA/H,KAAAkkB,cACA,GAAA/a,KAAA0d,cAAA9e,EAAA,CAKA,IAAA+e,EAAA3d,EAAA8c,uBAAAle,GACAgf,EAAA5d,EAAAgc,UACAnlB,KAAAgnB,uBAAAF,EAAAC,QANA/mB,KAAA4mB,YAAA,IAcAjF,EAAA1gB,UAAA+lB,uBAAA,SAAAF,EAAAC,GACA,IAAA5E,EAAAniB,KAAA8hB,QAAAK,MACAoB,EAAAvjB,KAAAikB,YAEAR,EAAAzjB,KAAAmkB,iBAEAnkB,KAAA4mB,YAAA,GAEA,IAAAL,EAAAhD,EAAA,GACAmD,EAAAnD,EAAA,GACA,GAAAE,GAAuBhD,EAAkBG,cACzC6C,GAAuBhD,EAAkBM,cACzC0C,GAAuBhD,EAAkBS,UAAA,CACzC,KAAAlhB,KAAAuiB,SAAAE,QACAziB,KAAAuiB,SAAAE,MAAAN,EAAAlW,KAAA,IAEA,IAAAC,EAAAnI,KAAAkjB,MAAAF,EAAA,GAAAD,EAAA,GAAAP,GAAA,KACAvmB,KAAAuiB,SAAAG,QAAAxW,IACAlM,KAAAuiB,SAAAG,OAAAP,EAAAjW,aAEK,CACL,KAAAlM,KAAAuiB,SAAAG,SACA1iB,KAAAuiB,SAAAG,OAAAP,EAAAjW,MAAA,IAEAuX,GAAyBhD,EAAkBE,eAC3C8C,GAAyBhD,EAAkBK,eAC3C2C,GAAyBhD,EAAkBQ,aAC3CsF,GAAAvmB,KAAA8hB,QAAAoF,YAAA,GAEA,IAAAjb,EAAAlI,KAAAkjB,MAAAH,EAAA,GAAAP,GAAA,KACAvmB,KAAAuiB,SAAAE,OAAAxW,IACAjM,KAAAuiB,SAAAE,MAAAN,EAAAlW,QAGA,GAAAwX,GAAuBhD,EAAkBC,aACzC+C,GAAuBhD,EAAkBE,eACzC8C,GAAuBhD,EAAkBG,aAAA,CACzC,KAAA5gB,KAAAuiB,SAAAI,OACA3iB,KAAAuiB,SAAAI,KAAAR,EAAA/V,IAAA,IAEA,IAAAC,EAAAtI,KAAAkjB,MAAAF,EAAA,GAAAD,EAAA,GAAAJ,GAAA,KACA1mB,KAAAuiB,SAAAC,SAAAnW,IACArM,KAAAuiB,SAAAC,QAAAL,EAAA9V,cAEK,CACL,KAAArM,KAAAuiB,SAAAC,UACAxiB,KAAAuiB,SAAAC,QAAAL,EAAA9V,OAAA,IAEAoX,GAAyBhD,EAAkBI,aAC3C4C,GAAyBhD,EAAkBK,eAC3C2C,GAAyBhD,EAAkBM,eAC3C2F,GAAA1mB,KAAA8hB,QAAAqF,aAAA,GAEA,IAAA/a,EAAArI,KAAAkjB,MAAAH,EAAA,GAAAJ,GAAA,KACA1mB,KAAAuiB,SAAAI,MAAAvW,IACApM,KAAAuiB,SAAAI,KAAAR,EAAA/V,SASAuV,EAAA1gB,UAAAmmB,WAAA,WACA,OAAApnB,KAAA0M,SAGAiV,EAteW,CAueToB,EAAA,MAGavC,EAAA,kDC1kBf,IAAA6G,EAAA5nB,EAAA,QAAA6nB,EAAA7nB,EAAAyC,EAAAmlB,GAA6pB7G,EAAA,WAAA8G,EAAG,uCCEhqB,IAAAngB,EAAc1H,EAAQ,QAEtBJ,EAAAC,QAAA,CAIAsI,KAAA,SAAA2f,EAAAC,GACA,OAAArgB,EAAAsgB,MAAAznB,KAAAunB,KAAAvnB,KAAAunB,GAAA,IAAuDC,0CCDvD,GAA8BnoB,EAAAC,QAAA,IAAAooB,EAAiCjoB,EAAQ,QA8BvE,SAAAkoB,EAAAC,EAAAC,GAEA,KAAA7nB,gBAAA2nB,GAAA,WAAAA,EAAAC,EAAAC,GAEA7nB,KAAA4nB,QAAAE,OAAAF,GACA5nB,KAAA6nB,SAAAC,OAAAD,GAmBAF,EAAAI,eAAA,SAAA1kB,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAGAjW,EAAA2kB,OAAAN,EAAAM,MAAAC,SAAA5kB,IAAA6kB,aAAAR,EAAAM,MAAAC,SAEA,IAAAE,EAAA9kB,EAAA+kB,IAAAC,YACAC,EAAAjlB,EAAAklB,IAAAF,YAEA/nB,EAAA,YAAAC,EAAA,YACAioB,EAAA,YACAC,EAAA,IAAAJ,YAAAK,IAAA,GAAAL,YACAM,GAAA,IAAAC,EAAA,IACAC,EAAA,EAAAtoB,KAAAD,KACA4B,GAAA5B,EAAAC,IAAAD,EAAAC,GAAAuoB,EAAA5mB,IAAA6mB,EAAA7mB,MAEA8mB,EAAAjlB,KAAAklB,IAAAd,GAAAe,EAAAnlB,KAAAolB,IAAAhB,GACAiB,EAAA9oB,EAAAkoB,EAAAzkB,KAAAgR,KAAA,EAAA8T,EAAAK,KACAG,EAAA/oB,EAAAkoB,GAAA,EAAAK,GAAA9kB,KAAAulB,IAAA,EAAAT,EAAAK,IAAA,KACAK,EAAAH,EAAAC,EAAA,EAEAG,GAAA,EAAAtnB,EAAA,IAAA4mB,EAAA,IAAAC,IAAAZ,EAAAM,GACAgB,GAAA,EAAAvnB,EAAA,EAAAA,IAAA,KAAA6mB,GAAAhlB,KAAAolB,IAAAhB,EAAAM,GAAA1kB,KAAAklB,IAAAd,EAAAM,GACAiB,GAAA,KAAAZ,EAAA,KAAAC,GAAAhlB,KAAAolB,IAAA,GAAAhB,EAAAM,IAAA1kB,KAAAklB,IAAA,GAAAd,EAAAM,IACAkB,EAAA,MAAAZ,EAAAhlB,KAAAolB,IAAA,GAAAhB,EAAAM,IAAA1kB,KAAAklB,IAAA,GAAAd,EAAAM,IACAmB,EAAArpB,EAAAioB,GAAAgB,EAAAC,EAAAC,EAAAC,GAEAE,EAAAb,MACAc,EAAAD,EAAAb,IACAe,EAAAhmB,KAAAimB,IAAA7B,GAAApkB,KAAAimB,IAAA7B,GACA8B,EAAAF,IAEAG,EAAAN,EAAAjB,EACAwB,EAAAf,EAAA,EAAAF,EAAAF,EACAoB,EAAAhB,EAAA,GAAAF,EAAAW,GAAA,EAAAE,EAAA,EAAAR,GACAc,EAAAjB,EAAA,IAAAF,EAAAY,GAAA,MAAAC,EAAAE,GACAK,EAAAlB,EAAAJ,EACAuB,EAAAnB,EAAA,EAAAS,GAAAT,EAAAC,EAAAU,GACAS,EAAApB,EAAA,IAAAU,GAAA,KAAAC,EAAAE,EAAA,GAAAV,EAAA,GAAAQ,EAAAR,GAEAkB,EAAAnC,EAAAI,EACAgC,EAAAD,IAAAE,EAAAD,EAAAD,EAAAG,EAAAD,EAAAF,EAAAI,EAAAD,EAAAH,EAAAK,EAAAD,EAAAJ,EAEAM,EAAAb,EAAAC,EAAAO,EAAAN,EAAAQ,EAAAP,EAAAS,EACAE,EAAApC,EAAA0B,EAAAG,EAAAF,EAAAI,EAAAH,EAAAK,EAKA,OAHAE,EAAAjD,OAAAiD,EAAA/L,QAAA,IACAgM,EAAAlD,OAAAkD,EAAAhM,QAAA,IAEA,IAAA2I,EAAAqD,EAAAD,IAqBApD,EAAAsD,eAAA,SAAAC,EAAAlD,GACA,KAAAkD,aAAAvD,GAAA,UAAArO,UAAA,wCACA3S,IAAAqhB,MAAAN,EAAAM,MAAAmD,OAEA,IAAAH,EAAAE,EAAAtD,QACAmD,EAAAG,EAAArD,SAEAvnB,EAAA,YAAAC,EAAA,YACAioB,EAAA,YACAC,EAAA,IAAAJ,YAAAK,IAAA,GAAAL,YACAM,GAAA,IAAAC,EAAA,IACAC,EAAA,EAAAtoB,KAAAD,KACA4B,GAAA5B,EAAAC,IAAAD,EAAAC,GAAAuoB,EAAA5mB,IAAA6mB,EAAA7mB,MAEAimB,EAAAM,EAAAmB,EAAA,EACA,GACAzB,GAAA4C,EAAApC,EAAAiB,IAAAtpB,EAAAkoB,GAAAL,EAEA,IAAAqB,GAAA,EAAAtnB,EAAA,IAAA4mB,EAAA,IAAAC,IAAAZ,EAAAM,GACAgB,GAAA,EAAAvnB,EAAA,EAAAA,IAAA,KAAA6mB,GAAAhlB,KAAAolB,IAAAhB,EAAAM,GAAA1kB,KAAAklB,IAAAd,EAAAM,GACAiB,GAAA,KAAAZ,EAAA,KAAAC,GAAAhlB,KAAAolB,IAAA,GAAAhB,EAAAM,IAAA1kB,KAAAklB,IAAA,GAAAd,EAAAM,IACAkB,EAAA,MAAAZ,EAAAhlB,KAAAolB,IAAA,GAAAhB,EAAAM,IAAA1kB,KAAAklB,IAAA,GAAAd,EAAAM,IACAmB,EAAArpB,EAAAioB,GAAAgB,EAAAC,EAAAC,EAAAC,SAEKoB,EAAApC,EAAAiB,GAAA,MAEL,IAAAZ,EAAAjlB,KAAAklB,IAAAd,GAAAe,EAAAnlB,KAAAolB,IAAAhB,GACAiB,EAAA9oB,EAAAkoB,EAAAzkB,KAAAgR,KAAA,EAAA8T,EAAAK,KACAG,EAAA/oB,EAAAkoB,GAAA,EAAAK,GAAA9kB,KAAAulB,IAAA,EAAAT,EAAAK,IAAA,KACAK,EAAAH,EAAAC,EAAA,EAEA+B,EAAArnB,KAAAimB,IAAA7B,GACA4B,EAAAqB,IAAAnB,EAAAF,IAAAsB,EAAApB,EAAAF,EACAuB,EAAA,EAAAtC,EACAuC,EAAAnC,MAAAoC,EAAAD,EAAAnC,IAAAqC,EAAAD,EAAApC,IACAsC,EAAAN,GAAA,EAAA/B,EAAAD,GACAuC,EAAAP,GAAA,GAAA/B,EAAAkC,IAAA,IAAAxB,EAAAR,EAAA,EAAAQ,EAAAR,GACAqC,EAAAR,GAAA,IAAA/B,EAAAmC,IAAA,MAAAzB,EAAA,GAAAE,GACA4B,EAAAP,EAAAlC,EACA0C,EAAAR,GAAA,EAAAC,IAAAnC,EAAAC,EAAA,EAAAU,GACAgC,EAAAT,GAAA,IAAAE,IAAA,KAAAzB,EAAA,GAAAE,GACA+B,EAAAV,GAAA,KAAAG,IAAA,OAAA1B,EAAA,KAAAE,EAAA,IAAAoB,GAEAY,EAAAjB,EAAApC,EAAAsD,EAAAD,IAAAE,EAAAD,EAAAD,EAAAG,EAAAF,IAAAG,EAAAF,EAAAD,EAAAI,EAAAF,EAAAF,EAAAK,EAAAF,EAAAH,EACA/D,IAAAuD,EAAAQ,EAAAP,EAAAS,EAAAR,EAAAU,EACA,IAAAhE,EAAAI,EAAAmD,EAAAI,EAAAH,EAAAK,EAAAJ,EAAAM,EAAAL,EAAAO,EAEAlpB,EAAA,IAAAqkB,EAAAS,EAAAqE,YAAAlE,EAAAkE,YAAA9E,EAAAM,MAAAC,QAGA,OAFAD,GAAAN,EAAAM,MAAAC,SAAA5kB,IAAA6kB,aAAAF,IAEA3kB,GAmBAskB,EAAA8E,MAAA,SAAAvB,GACAA,EAAAwB,OAAAxB,GAAAyB,OAGA,IAAAtX,EAAA6V,EAAA7V,MAAA,oBACA,GAAAA,EAAA,WAAAsS,EAAAtS,EAAA,GAAAA,EAAA,IAIA,GADAA,EAAA6V,EAAA7V,MAAA,kCACAA,EAAA,UAAAjT,MAAA,0BAGA,IAAAwqB,EAAA1B,EAAA2B,cAAAC,WAAA,OAAAA,WAAA,GACAC,EAAA7B,EAAA2B,cAAAC,WAAA,OAAAA,WAAA,GAEAF,EAAA,GAAAA,IACAG,EAAA,GAAAA,IAGA,IAAAC,GAAAJ,EAAA,OAAAG,EAAA,EACAE,EAAA,KAAAlpB,KAAAuS,MAAAsW,EAAA,GAAA7oB,KAAAuS,MAAAyW,EAAA,GAGAG,EAAAhC,EAAA5oB,MAAA,GAAAqqB,OAAAQ,MAAA,OAKA,GAHA,GAAAD,EAAA/qB,SAAA+qB,EAAA,CAAAA,EAAA,GAAA5qB,MAAA,EAAA4qB,EAAA,GAAA/qB,OAAA,GAAA+qB,EAAA,GAAA5qB,MAAA4qB,EAAA,GAAA/qB,OAAA,KAGA6qB,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAA,EAAA,aAAA7qB,MAAA,0BACA,MAAA8qB,EAAA/qB,OAAA,UAAAC,MAAA,0BACA,GAAA8qB,EAAA,GAAA/qB,QAAA+qB,EAAA,GAAA/qB,OAAA,UAAAC,MAAA,0BAGA8qB,EAAA,IAAAA,EAAA,YAAA5qB,MAAA,KACA4qB,EAAA,IAAAA,EAAA,YAAA5qB,MAAA,KAEA,IAAA8F,EAAA4kB,EAAAE,EAAA,GACAhrB,EAAA+qB,EAAAC,EAAA,GAEA,WAAAvF,EAAAvf,EAAAlG,IAcAylB,EAAA1mB,UAAAmsB,SAAA,SAAAC,GAEA,GADAA,OAAA1mB,IAAA0mB,EAAA,GAAAvF,OAAAuF,GACAhe,MAAAge,MAAA,MAAAA,EAAA,aAAAC,WAAA,sBAAAD,EAAA,KAEA,IAAAjlB,EAAApI,KAAA4nB,QACA1lB,EAAAlC,KAAA6nB,SACA,GAAAxY,MAAAjH,IAAAiH,MAAAnN,GAAA,UAAAE,MAAA,0BAGA,MAAAirB,EAAA,CACA,IAAAE,EAAAxpB,KAAAuS,MAAAlO,GAAAolB,EAAAplB,EAAAmlB,EACAE,EAAA1pB,KAAAuS,MAAApU,GAAAwrB,EAAAxrB,EAAAurB,EACAE,GAAA,SAAAJ,GAAAjrB,OAAA,IAAAkrB,EAAA,EAAAA,EAAAxO,QAAA,GAAA1c,MAAA,OACAsrB,GAAAH,EAAA,cAAAA,GAAAnrB,OAAA,GAAAmrB,IAAAC,EAAA,EAAAA,EAAA1O,QAAA,GAAA1c,MAAA,OACA,OAAAqrB,EAAA,IAAAC,EAIA,IAAAC,EAAA9pB,KAAAuS,MAAAlO,EAAA,KAAA0lB,EAAA/pB,KAAAuS,MAAApU,EAAA,KAEA,GAAA2rB,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAA,EAAA,YAGA,IAAAlB,EAAA,GAAAkB,GAAA,GAAAA,GAAA,EAAA/pB,KAAAuS,OAAAuX,EAAA,OACAd,EAAA,MAAAe,GAAA,GAAAD,EAAA,EAGAjB,EAAA,GAAAA,IACAG,EAAA,GAAAA,IACA,IAAAgB,EAAArB,OAAAsB,aAAApB,EAAA,IAAAE,WAAA,GAAAC,EAAA,IAAAD,WAAA,IAUA,OAPA1kB,EAAArE,KAAAuS,MAAAlO,EAAA,IAAArE,KAAAulB,IAAA,KAAA+D,EAAA,IACAnrB,EAAA6B,KAAAuS,MAAApU,EAAA,IAAA6B,KAAAulB,IAAA,KAAA+D,EAAA,IAGAjlB,GAAA,WAAAA,GAAA9F,OAAA+qB,EAAA,GACAnrB,GAAA,WAAAA,GAAAI,OAAA+qB,EAAA,GAEAU,EAAA,IAAA3lB,EAAA,IAAAlG,GAKgC7C,EAAAC,UAAAD,EAAAC,QAAAqoB,wCC1ShC,IAAAsG,EAAAxuB,EAAA,QASe+gB,EAAA,MAQf0N,YAAA,cAOAC,MAASF,EAAA,KAASE,MAOlBC,SAAYH,EAAA,KAASG,SAOrBC,YAAA,cAQAC,YAAA,cAEAC,YAAA,cACAC,UAAA,YACAC,YAAA,cACAC,WAAA,aACAC,aAAA,eACAC,aAAA,eACAC,cAAA,sDCtDA,IAAA5W,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,wBAAmC,CAAAF,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,gDAAAN,EAAAO,GAAA,gBAAAP,EAAAQ,aAAA,GAAAL,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,OAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAAsmB,YAAA,uBAAAR,EAAA,cAAmTS,MAAA,CAAOzpB,MAAA6oB,EAAA,oBAAAliB,SAAA,SAAA+iB,GAAyDb,EAAAc,oBAAAD,GAA4BE,WAAA,wBAAmC,CAAAZ,EAAA,SAAAH,EAAAM,GAAA,yEAAAN,EAAA,oBAAAG,EAAA,WAAAA,EAAA,SAAAH,EAAAM,GAAA,iEAAAN,EAAAgB,KAAAhB,EAAA,mBAAAG,EAAA,cAA6QS,MAAA,CAAOzpB,MAAA6oB,EAAA,aAAAliB,SAAA,SAAA+iB,GAAkDb,EAAAiB,aAAAJ,GAAqBE,WAAA,iBAA4B,CAAAZ,EAAA,SAAAH,EAAAM,GAAA,mEAAAN,EAAAgB,KAAAb,EAAA,sBAA0He,MAAA,CAAOC,MAAAnB,EAAAoB,qBAAAC,SAAArB,EAAA3lB,IAAAgnB,YAA8DlB,EAAA,uBAA4Be,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,IAAAinB,WAAAtB,EAAAuB,QAAAC,uBAAAxB,EAAAc,uBAAqFd,EAAA,qBAAAG,EAAA,oBAAoDe,MAAA,CAAOO,cAAAzB,EAAA0B,WAAAC,gBAAA,EAAAC,eAAA,SAAA9e,GAAgF,iBAAAA,EAAA0G,IAAA,QAAwCqY,GAAA,CAAKC,MAAA9B,EAAA+B,kBAA4B/B,EAAA,oBAAAG,EAAA,eAA8Ce,MAAA,CAAOjoB,SAAA+mB,EAAAgC,oBAAA/oB,WAA6C,CAAAknB,EAAA,eAAoBe,MAAA,CAAOe,YAAAjC,EAAAgC,wBAAuC,GAAAhC,EAAAgB,MAAAhB,EAAAgB,KAAAb,EAAA,YAAwCe,MAAA,CAAOgB,UAAA,CAAAlC,EAAA3lB,IAAAqB,IAAAymB,WAAA,kBAAiD,IACrsDC,EAAA,6GCDIC,EAAM,WAAgB,IAAArC,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,wBAAmC,CAAAF,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,+CAAAN,EAAAM,GAAA,aAAAH,EAAA,OAA8GE,YAAA,oBAA+B,CAAAL,EAAAsC,GAAAtC,EAAA,yBAAAuC,GAAwD,OAAApC,EAAA,OAAiBjW,IAAAqY,EAAAlC,YAAA,cAA4C,CAAAF,EAAA,OAAYE,YAAA,aAAAhN,MAAA,CAAiC3Y,gBAAAslB,EAAAwC,OAAAD,MAA8CpC,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,QAAaE,YAAA,kBAA6B,CAAAL,EAAAM,GAAAN,EAAAO,GAAAgC,GAAA,SAAApC,EAAA,SAAqDE,YAAA,wBAAmC,CAAAL,EAAAM,GAAA,mDAAAN,EAAAO,GAAAgC,GAAA,gBAAAvC,EAAAmB,MAAAoB,GAAApC,EAAA,QAA0IE,YAAA,QAAmB,CAAAL,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAAmB,MAAAoB,GAAA,gBAAAvC,EAAAgB,MAAA,OAA+Fb,EAAA,OAAYE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,uBAAiCF,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,SAAAH,EAAAM,GAAA,+DACp/BmC,EAAe,qCC+BnBC,EAAA,CACA7Y,MAAA,CACAsX,MAAA,CACA/pB,KAAAkS,OACAqZ,QAAA,sBAEAtB,SAAAzD,QAEAgF,SAAA,CACAJ,OADA,WAEA,OAAAK,EAAA,KAAAN,gBAEAO,gBAJA,WAKA,aAAA5xB,KAAAmwB,SACA/X,OAAA2C,KAAA/a,KAAAsxB,QAAAhvB,MAAA,MACA8V,OAAA2C,KAAA/a,KAAAsxB,WC/CsbO,EAAA,0BCQtbC,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdyZ,EACAV,EACAI,GACF,EACA,KACA,WACA,MAIeS,EAAAF,sBCnBXG,EAAM,WAAgB,IAAAnD,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gBAA2B,CAAAL,EAAAoD,GAAA,gBACjIC,EAAe,gBCQnBC,EAAA,CACAC,OAAA,CACAC,EAAA,OCXiZC,EAAA,ECQ7YC,aAAYpa,OAAA2Z,EAAA,KAAA3Z,CACdma,EACAN,EACAE,GACF,EACA,KACA,WACA,OAIeM,EAAAD,UCnBXE,EAAM,WAAgB,IAAA5D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gBAA2B,CAAAF,EAAA,WAAAA,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,wEAAAH,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA7oB,OAAA6oB,EAAA6D,YAAA1D,EAAA,WAAAA,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,mEAAAH,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA8D,UAAA,iBACjIC,EAAe,eCoBnBC,EAAA,CACAna,MAAA,CACAoY,YAAA3Y,QAEAsZ,SAAA,CACAzrB,MADA,WAEA,OAAAjG,KAAA+wB,YAAA9qB,OAEA2sB,UAJA,WAKA,OAAA5yB,KAAA+wB,YAAA6B,WAEAD,MAPA,WAQA,aAAA3yB,KAAA+wB,YAAA7qB,KAAA2mB,cAAA,OAAAnY,OAAA1U,KAAAuvB,MAAAwD,cAAA,cAGAC,QAAA,YCpC+aC,EAAA,ECQ3aC,aAAY9a,OAAA2Z,EAAA,KAAA3Z,CACd6a,EACAP,EACAG,GACF,EACA,KACA,WACA,OAIeM,EAAAD,kCC8CfE,EAAA,CACAC,WAAA,CACAC,aAAA,KACAtB,qBACAuB,UAAA,KACAC,mBAAA,KACAf,cACAU,cACAM,WAAA,KACAC,sBAAA,MAEArB,OAAA,CACAsB,EAAA,MAEAhb,MAAA,CACAxP,IAAAiP,OACAiY,QAAA3D,QAEA9jB,KAlBA,WAmBA,OACAgnB,qBAAA,EACAG,cAAA,EACA6D,cAAA,KACA9C,oBAAA,OAGAY,SAAA,CACApC,QADA,WAEA,OAAAtvB,KAAAmJ,IAAAgnB,UAEAD,qBAJA,WAKA,OAAAlwB,KAAAmJ,KAAAnJ,KAAAmJ,IAAA0qB,OAAA,IACAC,OAAA,SAAAC,EAAAC,GAAA,OAAA5b,OAAA6b,OAAAF,EAAA3b,OAAAC,EAAA,KAAAD,CAAA,GAAA4b,EAAA/tB,MAAAmS,OAAA8b,EAAA,KAAA9b,CAAA4b,EAAAnuB,aAAA,KAEAsuB,mBARA,WASA,OAAAn0B,KAAA4vB,qBAAA5vB,KAAAo0B,+BAAAjrB,IAAA,SAAAgG,GAAA,OAAAA,EAAAtJ,SAAAK,OAAAmuB,SAAA,eAEA7D,WAXA,WAYA,OAAA8D,EAAA,OAGAC,QAAA,CACA1D,eADA,SAAA2D,GACA,IAAAnuB,EAAAmuB,EAAAnuB,QACA,GAAAA,EAAA,KAAAouB,EACApuB,EAAAquB,gBAAAzuB,EADAwuB,EACA1D,YAAA7qB,EADAuuB,EACAvuB,KAAA0sB,EADA6B,EACA7B,UAEA/sB,EAAAQ,EAAAsuB,cACA5sB,EAAA,UAAAlC,EAAAypB,UACAzpB,EAAA+uB,iBACA/uB,EAAAgvB,gBAAA,IAEA70B,KAAA8wB,oBAAA,CACA5qB,OACA0sB,YACA3sB,QACA8B,SAAAqQ,OAAA0c,EAAA,aAAA1c,CAAArQ,EAAA,+BAGA/H,KAAA8wB,oBAAA,QC3HsbiE,EAAA,ECQlbC,aAAY5c,OAAA2Z,EAAA,KAAA3Z,CACd2c,EACA9c,EACAiZ,GACF,EACA,KACA,WACA,OAIe1Q,EAAA,KAAAwU,+CCnBf,IAAAC,EAAAx1B,EAAA,QAAAy1B,EAAAz1B,EAAAyC,EAAA+yB,GAA+tBzU,EAAA,WAAA0U,EAAG,uCCAntB1U,EAAA,MACb2U,QADa,WAEXn1B,KAAKo1B,OAAOC,OAAO,8CAA8C,IAEnEC,cAJa,WAKXt1B,KAAKo1B,OAAOC,OAAO,8CAA8C,0CCHrE,IAAAE,EAAiB91B,EAAQ,QACzB+1B,EAAa/1B,EAAQ,QAIrB,SAAAg2B,EAAArtB,EAAAstB,GACA,IAAAxzB,EAAAkG,EAAAjG,OACA,OAAAD,EAAA,CACA,IAAAyzB,EAAAJ,EAAAntB,EAAA,GAAAstB,GACA,OAAAC,EAAA,GACAA,EAEA,CAAAA,EAAA,IAEA,IAAA7jB,EAAA,IAAAjQ,MAAA,EAAAK,GACA0zB,EAAA,QACAz0B,EAAA,QACA00B,EAAA,EACAN,EAAAntB,EAAA,GAAAstB,EAAAE,GACAA,EAAA,KACA9jB,EAAA+jB,KAAAD,EAAA,IAEA,QAAAj1B,EAAA,EAAcA,EAAAuB,IAAKvB,EAAA,CACnB40B,EAAAntB,EAAAzH,GAAA+0B,EAAAv0B,GACA,IAAA20B,EAAAF,EAAA,GACAJ,EAAAM,EAAA30B,EAAA,GAAAy0B,GACAA,EAAA,KACA9jB,EAAA+jB,KAAAD,EAAA,IAEA,IAAAt1B,EAAAa,EAAA,GACAZ,EAAAq1B,EAAA,GACAzmB,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACAH,EAAA,GAAAzmB,EACAC,IACA0C,EAAA+jB,KAAAzmB,GAUA,OAPAwmB,EAAA,KACA9jB,EAAA+jB,KAAAD,EAAA,IAEA,IAAAC,IACA/jB,EAAA+jB,KAAA,GAEA/jB,EAAA3P,OAAA0zB,EACA/jB,EA3CAzS,EAAAC,QAAAm2B,0BCLA,IAAA/hB,EAAejU,EAAQ,QAoBvBJ,EAAAC,QAAA,SAAA8gB,GACA,IAAA4V,EAAA5V,EAAA,GACA6V,EAAA7V,EAAA,GACA8V,EAAA9V,EAAA,GACA+V,EAAA/V,EAAA,GAEAgW,EAAA1iB,EAAA0M,EAAA9d,MAAA,MAAA4zB,EAAAD,IACAI,EAAA3iB,EAAA0M,EAAA9d,MAAA,MAAA0zB,EAAAG,IACA,GAAAC,GAAAC,EAAA,CACA,IAAAC,GAAAL,EAAAE,GAAA,EACA,OACAH,EACAM,GAAAJ,EAAAF,GAAA,EACAE,EACAI,GAAAJ,EAAAF,GAAA,GAGA,IAAAO,GAAAP,EAAAE,GAAA,EACA,OACAK,GAAAJ,EAAAF,GAAA,EACAA,EACAM,GAAAJ,EAAAF,GAAA,EACAE,uCC1CA,IAAAK,EAAA/2B,EAAA,QAAAg3B,EAAAh3B,EAAAyC,EAAAs0B,GAAwlBC,EAAG,uCCA3lB,IAAAxe,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,iBAA2Be,MAAA,CAAO0G,YAAA5H,EAAA6H,SAAAC,QAAA9H,EAAA8H,YAC3H1F,EAAA,6nBCQA,IAAA2F,EAAA,CACAxD,WAAA,CACAyD,gBAAA,MAEAne,MAAA,CACAoe,UAAA,CACA7wB,KAAAwmB,OACAsK,UAAA,IAGAtF,SAAAuF,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,mCACA+e,cAAA,SAAAC,GAAA,OAAAA,EAAAxuB,KAAAyuB,QAAAC,WACAC,eAAA,SAAAH,GAAA,OAAAA,EAAAI,GAAAD,kBAHA,CAKAZ,SALA,WAMA,IAAAU,EAAAr3B,KAAAm3B,cAAAn3B,KAAA+2B,WAEA,OAAAM,KAAAxD,MAEA,CAAAwD,GAFA,IAIAT,QAZA,WAaA,IAAAS,EAAAr3B,KAAAm3B,cAAAn3B,KAAA+2B,WAEA,OAAAM,GAAA,eAAAA,EAAAI,SACA,SAEAz3B,KAAAu3B,kBAIAhD,QAAA0C,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,wBAGAsf,MAAA,CACAX,UAAA,CACAY,WAAA,EACAC,QAFA,SAEAb,GACAA,GACA/2B,KAAA63B,mBAAAd,OCnDoae,EAAA,cCOpahG,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd0f,EACA7f,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,+CCVf,GAA8BzyB,EAAAC,QAAA,IAAAy4B,EAA8Bt4B,EAAQ,QACpE,GAA8BJ,EAAAC,QAAA,IAAAooB,EAAiCjoB,EAAQ,QAiDvE,SAAAu4B,EAAAhE,EAAAiE,EAAApK,EAAAC,EAAAlG,EAAAC,EAAAG,GAEA,KAAAhoB,gBAAAg4B,GAAA,WAAAA,EAAAhE,EAAAiE,EAAApK,EAAAC,EAAAlG,EAAAC,EAAAG,GAIA,QAFArhB,IAAAqhB,MAAAN,EAAAM,MAAAmD,SAEA,GAAA6I,MAAA,cAAA5xB,MAAA,sCAAA4xB,EAAA,MACA,MAAAiE,EAAA91B,OAAA,UAAAC,MAAA,sCAAA61B,EAAA,MACA,OAAAD,EAAAE,SAAAl1B,QAAAi1B,GAAA,UAAA71B,MAAA,sCAAA61B,EAAA,MACA,MAAApK,EAAA1rB,OAAA,UAAAC,MAAA,uCAAAyrB,EAAA,MACA,MAAAC,EAAA3rB,OAAA,UAAAC,MAAA,uCAAA0rB,EAAA,MAEA9tB,KAAAg0B,KAAAlM,OAAAkM,GACAh0B,KAAAi4B,OACAj4B,KAAA6tB,QACA7tB,KAAA8tB,QACA9tB,KAAA4nB,QAAAE,OAAAF,GACA5nB,KAAA6nB,SAAAC,OAAAD,GACA7nB,KAAAgoB,QAjDAgQ,EAAAE,SAAA,wBAMAF,EAAAG,aAAA,mCAMAH,EAAAI,aAAA,gDAmDAL,EAAA92B,UAAAo3B,OAAA,WACA,GAAAhpB,MAAArP,KAAAg0B,KAAAh0B,KAAA4nB,QAAA5nB,KAAA6nB,UAAA,UAAAzlB,MAAA,2BAAApC,KAAAotB,WAAA,KAGA,IAAA4G,EAAAh0B,KAAAg0B,KAGAsE,EAAAt4B,KAAAu4B,YAEAN,EAAAD,EAAAE,SAAAM,OAAAz0B,KAAAuS,MAAAgiB,EAAAlQ,IAAA,OAGAqQ,EAAA10B,KAAAuS,MAAAtW,KAAA4nB,QAAA,KACAiG,EAAAmK,EAAAG,cAAAnE,EAAA,MAAAwE,OAAAC,EAAA,GAGAC,EAAA30B,KAAAuS,MAAAtW,KAAA6nB,SAAA,QACAiG,EAAAkK,EAAAI,cAAApE,EAAA,MAAAwE,OAAAE,GAGA9Q,EAAA5nB,KAAA4nB,QAAA,IACAC,EAAA7nB,KAAA6nB,SAAA,IAMA,OAHAD,EAAAE,OAAAF,EAAA5I,QAAA,IACA6I,EAAAC,OAAAD,EAAA7I,QAAA,IAEA,IAAAgZ,EAAAhE,EAAAiE,EAAApK,EAAAC,EAAAlG,EAAAC,IAYAmQ,EAAA/2B,UAAA03B,MAAA,WACA,IAAA3E,EAAAh0B,KAAAg0B,KACAiE,EAAAj4B,KAAAi4B,KACApK,EAAA7tB,KAAA6tB,MACAC,EAAA9tB,KAAA8tB,MACAlG,EAAA5nB,KAAA4nB,QACAC,EAAA7nB,KAAA6nB,SAEA+Q,EAAAX,GAAA,YAGAQ,EAAAT,EAAAG,cAAAnE,EAAA,MAAAhxB,QAAA6qB,GAAA,EACAgL,EAAA,IAAAJ,EAGAC,EAAAV,EAAAI,cAAApE,EAAA,MAAAhxB,QAAA8qB,GACAgL,EAAA,IAAAJ,EAGAK,EAAA,GAAAf,EAAAE,SAAAl1B,QAAAi1B,GAAA,IAIAe,EAAA,IAAAj1B,KAAAuS,MAAA,IAAAoR,EAAAqR,EAAA,GAAAJ,QAAA9Q,SAAA,KAGAoR,EAAA,EACA,MAAAA,EAAAH,EAAAjR,EAAAmR,EAAAC,GAAA,IAEA,WAAAlB,EAAA/D,EAAA4E,EAAAC,EAAAjR,EAAAqR,EAAAH,EAAAjR,EAAA7nB,KAAAgoB,QAsBAgQ,EAAAvL,MAAA,SAAAyM,GAIA,GAHAA,IAAAvM,QAGAuM,EAAA7jB,MAAA,OACA,IAAA6X,EAAAgM,EAAA52B,MAAA,GACA4qB,IAAA5qB,MAAA,EAAA4qB,EAAA/qB,OAAA,OAAA+qB,EAAA5qB,OAAA4qB,EAAA/qB,OAAA,GACA+2B,IAAA52B,MAAA,SAAA42B,EAAA52B,MAAA,SAAA4qB,EAMA,GAFAgM,IAAA7jB,MAAA,QAEA,MAAA6jB,GAAA,GAAAA,EAAA/2B,OAAA,UAAAC,MAAA,gCAAA82B,EAAA,KAGA,IAAAC,EAAAD,EAAA,GACAlF,EAAAmF,EAAA72B,MAAA,KACA21B,EAAAkB,EAAA72B,MAAA,KAGA82B,EAAAF,EAAA,GACArL,EAAAuL,EAAA92B,MAAA,KACAwrB,EAAAsL,EAAA92B,MAAA,KAEA8F,EAAA8wB,EAAA,GAAAh3B,EAAAg3B,EAAA,GAMA,OAHA9wB,IAAAjG,QAAA,EAAAiG,KAAA,SAAA9F,MAAA,KACAJ,IAAAC,QAAA,EAAAD,KAAA,SAAAI,MAAA,KAEA,IAAA01B,EAAAhE,EAAAiE,EAAApK,EAAAC,EAAA1lB,EAAAlG,IAsBA81B,EAAA/2B,UAAAmsB,SAAA,SAAAC,GAEA,GADAA,OAAA1mB,IAAA0mB,EAAA,GAAAvF,OAAAuF,IACA,gBAAArqB,QAAAqqB,GAAA,UAAAjrB,MAAA,sBAAAirB,EAAA,KAEA,IAAA2G,GAAA,KAAAh0B,KAAAg0B,MAAA1xB,OAAA,GACA21B,EAAAj4B,KAAAi4B,KAEApK,EAAA7tB,KAAA6tB,MACAC,EAAA9tB,KAAA8tB,MAGAuL,EAAAt1B,KAAAuS,MAAAtW,KAAA4nB,QAAA7jB,KAAAulB,IAAA,KAAA+D,EAAA,IACAiM,EAAAv1B,KAAAuS,MAAAtW,KAAA6nB,SAAA9jB,KAAAulB,IAAA,KAAA+D,EAAA,IAGAzF,GAAA,QAAAyR,GAAA/2B,OAAA+qB,EAAA,GACAxF,GAAA,QAAAyR,GAAAh3B,OAAA+qB,EAAA,GAEA,OAAA2G,EAAAiE,EAAA,IAAApK,EAAAC,EAAA,IAAAlG,EAAA,IAAAC,GAKgCxoB,EAAAC,UAAAD,EAAAC,QAAA04B,sCChQhC,IAAAuB,EAAA95B,EAAA,QAAA+5B,EAAA/5B,EAAAyC,EAAAq3B,GAAkmBC,EAAG,iDCArmB,IAAA31B,EAAapE,EAAQ,QA+BrBJ,EAAAC,QAAA,SAAA4G,EAAA2vB,EAAAnpB,GAGA,OAFAA,KAAA,GACAmpB,KAAA,EACA3vB,GACA,YACA,aACA,UAAAS,EACA,OAAA9C,EAAAR,MAAAwyB,EAAAnpB,EAAA0T,MACA,cACA,eACA,OAAAvc,EAAA41B,QACA5D,EACAnpB,EAAAgtB,aACAhtB,EAAAitB,kBACAjtB,EAAA0T,MACA,QACA,UAAAhe,MAAA,8GC/CA,IAAAw3B,EAAAC;;;;;;;;;;;;;CAOA,SAAAC,EAAAC,GAGQH,EAAO,GAAEC,EAAA,WAAc,OAASG,YAAAD,MAA6Bx3B,MAAAjD,EAAAs6B,QAAAjzB,IAAAkzB,IAAAx6B,EAAAC,QAAAu6B,IAHrE,CAgBC75B,EAAA,WAOD,IAAAi6B,EAAA,CACAC,gBAAA,KACAC,SAAA,GAGAC,EAAA,GAEA,SAAAJ,EAAApxB,EAAAyxB,EAAA3tB,GAEAA,KAAA,GAIA,IAFA,IAAA4tB,EAAAliB,OAAA2C,KAAAkf,GAEAt5B,EAAA,EAAkBA,EAAA25B,EAAAn4B,OAAuBxB,IAAA,CACzC,IAAAqY,EAAAshB,EAAA35B,GACA45B,EAAA7tB,EAAAsM,GACAuhB,EAAA,qBAAAA,GAAA,OAAAA,IAAAN,EAAAjhB,GAEAohB,EAAAphB,GAAAuhB,EAGAH,EAAAD,SACAK,QAAAC,IAAA,2DAAAJ,GAEA,IAAAK,EAAAC,EAAAC,EAAAhyB,EAAAyxB,IAKA,MAHA,oBAAAD,EAAAF,iBACAE,EAAAF,gBAAAQ,GAEAA,EAeA,SAAAG,EAAAzrB,EAAA0rB,EAAA5mB,GACA,OAAA9E,EAAA0rB,IAAA5mB,EAAA4mB,GAIA,SAAAF,EAAAhyB,EAAAyxB,GAKA,IAJA,IAAAU,EAAAnyB,EAAAzG,OAAA,EACA64B,EAAApyB,EAAA,GAAAzG,OAAA,EACA84B,EAAA,CAAuBF,OAAAC,OAAA71B,MAAA,IAEvBvC,EAAA,EAAkBA,EAAAm4B,IAAUn4B,EAAA,CAC5Bq4B,EAAA91B,MAAAvC,GAAA,GACA,QAAAjC,EAAA,EAAoBA,EAAAq6B,IAAUr6B,EAAA,CAE9B,IAAAu6B,EAAA,EAEAC,EAAAvyB,EAAAhG,EAAA,GAAAjC,GACAy6B,EAAAxyB,EAAAhG,EAAA,GAAAjC,EAAA,GACA06B,EAAAzyB,EAAAhG,GAAAjC,EAAA,GACA26B,EAAA1yB,EAAAhG,GAAAjC,GAEA,KAAA0O,MAAA8rB,IAAA9rB,MAAA+rB,IAAA/rB,MAAAgsB,IAAAhsB,MAAAisB,IAAA,CAGAJ,GAAAC,GAAAd,EAAA,IACAa,GAAAE,GAAAf,EAAA,IACAa,GAAAG,GAAAhB,EAAA,IACAa,GAAAI,GAAAjB,EAAA,IAGA,IAcAjuB,EAAAC,EAAAJ,EAAAC,EAdAqvB,GAAA,EACA,OAAAL,GAAA,KAAAA,EAAA,CACA,IAAAM,GAAAL,EAAAC,EAAAC,EAAAC,GAAA,EACA,IAAAJ,GAAAM,EAAAnB,GACAa,EAAA,GACAK,GAAA,GACW,KAAAL,GAAAM,EAAAnB,IACXa,EAAA,EACAK,GAAA,GAKA,MAAAL,GAAA,IAAAA,EAEA9uB,EAAAC,EAAAJ,EAAAC,EAAA,GAEA,IAAAgvB,GACAjvB,EAAA,EAAA4uB,EAAAR,EAAAc,EAAAG,GACAjvB,EAAA,EAAAwuB,EAAAR,EAAAgB,EAAAC,IACW,IAAAJ,GACX7uB,EAAAwuB,EAAAR,EAAAiB,EAAAD,GACAnvB,EAAA,EAAA2uB,EAAAR,EAAAe,EAAAC,IACW,IAAAH,GACXjvB,EAAA,EAAA4uB,EAAAR,EAAAc,EAAAG,GACApvB,EAAA,EAAA2uB,EAAAR,EAAAe,EAAAC,IACW,IAAAH,GACX9uB,EAAAyuB,EAAAR,EAAAc,EAAAC,GACAlvB,EAAA2uB,EAAAR,EAAAgB,EAAAD,IACW,IAAAF,GACX9uB,EAAAyuB,EAAAR,EAAAc,EAAAC,GACAlvB,EAAA2uB,EAAAR,EAAAgB,EAAAD,GACA/uB,EAAA,EAAAwuB,EAAAR,EAAAgB,EAAAC,GACArvB,EAAA,EAAA4uB,EAAAR,EAAAc,EAAAG,IACW,IAAAJ,GACX7uB,EAAAwuB,EAAAR,EAAAiB,EAAAD,GACAjvB,EAAAyuB,EAAAR,EAAAc,EAAAC,IACW,IAAAF,GACXjvB,EAAA,EAAA4uB,EAAAR,EAAAc,EAAAG,GACAlvB,EAAAyuB,EAAAR,EAAAc,EAAAC,IACW,IAAAF,GACXjvB,EAAA4uB,EAAAR,EAAAiB,EAAAH,GACA/uB,EAAA,EAAAyuB,EAAAR,EAAAe,EAAAD,IACW,IAAAD,GACX7uB,EAAA,EAAAwuB,EAAAR,EAAAgB,EAAAC,GACAlvB,EAAA,EAAAyuB,EAAAR,EAAAe,EAAAD,IACW,KAAAD,GACX9uB,EAAA,EAAAyuB,EAAAR,EAAAe,EAAAD,GACAjvB,EAAA,EAAA2uB,EAAAR,EAAAe,EAAAC,GACAhvB,EAAAwuB,EAAAR,EAAAiB,EAAAD,GACApvB,EAAA4uB,EAAAR,EAAAiB,EAAAH,IACW,KAAAD,GACX9uB,EAAA,EAAAyuB,EAAAR,EAAAe,EAAAD,GACAjvB,EAAA,EAAA2uB,EAAAR,EAAAe,EAAAC,IACW,KAAAH,GACXjvB,EAAA4uB,EAAAR,EAAAiB,EAAAH,GACAjvB,EAAA2uB,EAAAR,EAAAgB,EAAAD,IACW,KAAAF,GACX7uB,EAAA,EAAAwuB,EAAAR,EAAAgB,EAAAC,GACApvB,EAAA2uB,EAAAR,EAAAgB,EAAAD,IACW,KAAAF,GACXjvB,EAAA4uB,EAAAR,EAAAiB,EAAAH,GACA9uB,EAAAwuB,EAAAR,EAAAiB,EAAAD,IAEAb,QAAAC,IAAA,yDAAAS,GAEAD,EAAA91B,MAAAvC,GAAAjC,GAAA,CACAu6B,OACAK,UACAnvB,MACAF,QACAG,SACAJ,UAOA,OAAAgvB,EAGA,SAAAQ,EAAAt7B,GACA,WAAAA,EAAA+6B,MAAA,KAAA/6B,EAAA+6B,KAGA,SAAAQ,EAAAv7B,GACA,WAAAA,EAAA+6B,MAAA,KAAA/6B,EAAA+6B,KAGA,SAAAS,EAAAx7B,GACAu7B,EAAAv7B,IAAA,IAAAA,EAAA+6B,MAAA,KAAA/6B,EAAA+6B,OACA/6B,EAAA+6B,KAAA,IAIA,SAAAU,EAAAz7B,EAAAka,GACA,cAAAA,EACA,CAAAla,EAAAiM,IAAA,GACK,WAAAiO,EACL,CAAAla,EAAAkM,OAAA,GACK,UAAAgO,EACL,GAAAla,EAAA+L,OACK,SAAAmO,EACL,GAAAla,EAAA8L,WADK,EAKL,SAAA0uB,EAAAkB,GACA,IAAAC,EAAA,GACAC,EAAA,EAGAC,GAFAH,EAAAd,KACAc,EAAAb,KACA,MAgCA,OA9BAa,EAAA12B,MAAA2R,QAAA,SAAAhF,EAAAlP,GACAkP,EAAAgF,QAAA,SAAAmlB,EAAAt7B,GACA,wBAAAs7B,IAAAR,EAAAQ,KAAAP,EAAAO,GAAA,CACA,IAAAC,EAAAC,EAAAN,EAAA12B,MAAAvC,EAAAjC,GACAy7B,GAAA,EAEA,iBAAAF,EAAAG,KAQA,IAHA,IAAAltB,EAAA+sB,EAAA7b,KAAA6b,EAAA7b,KAAAle,OAAA,MACAiN,EAAA8sB,EAAA7b,KAAA6b,EAAA7b,KAAAle,OAAA,MAEAY,EAAAg5B,EAAA,EAAqCh5B,GAAA,EAAQA,IAC7C,GAAAgB,KAAA6hB,IAAAkW,EAAA/4B,GAAA,MAAAoM,IAAA6sB,GAAAj4B,KAAA6hB,IAAAkW,EAAA/4B,GAAA,MAAAqM,IAAA4sB,EAAA,CACA,QAAAjqB,EAAAmqB,EAAA7b,KAAAle,OAAA,EAA8C4P,GAAA,IAAQA,EACtD+pB,EAAA/4B,GAAAu5B,QAAAJ,EAAA7b,KAAAtO,IAEAqqB,GAAA,EACA,MAIAA,IACAN,EAAAC,KAAAG,EAAA7b,WAKAyb,EAOA,SAAAK,EAAAN,EAAAj5B,EAAAjC,GACA,IAIA47B,EAAAC,EAJAC,EAAAZ,EAAA15B,OACA+5B,EAAA,GACAQ,EAAA,qCACAC,EAAA,qCAEAhgB,EAAA,wHACAigB,EAAA,wHAIAC,GADAhB,EAAAj5B,GAAAjC,GACAk7B,EAAAj5B,GAAAjC,IAEAu6B,EAAA2B,EAAA3B,KACA7gB,EAAAsC,EAAAue,GAEA/kB,EAAAylB,EAAAiB,EAAAxiB,GAGA6hB,EAAAt7B,KAAA,CAAAD,EAAAwV,EAAA,GAAAvT,EAAAuT,EAAA,KACAkE,EAAAuiB,EAAA1B,GACA/kB,EAAAylB,EAAAiB,EAAAxiB,GACA6hB,EAAAt7B,KAAA,CAAAD,EAAAwV,EAAA,GAAAvT,EAAAuT,EAAA,KACAwlB,EAAAkB,GAGA,IAAA95B,EAAApC,EAAA+7B,EAAAxB,GACAnpB,EAAAnP,EAAA+5B,EAAAzB,GACA4B,EAAA5B,EAEA,MAAAn4B,GAAA,GAAAgP,GAAA,GAAAA,EAAA0qB,IAAA15B,GAAApC,GAAAoR,GAAAnP,GAAA,CAEA,GADAi6B,EAAAhB,EAAA9pB,GAAAhP,GACA,qBAAA85B,EAEA,MAGA,GADA3B,EAAA2B,EAAA3B,KACA,IAAAA,GAAA,KAAAA,EACA,OAAgB7a,KAAA6b,EAAAG,KAAA,aAEhBhiB,EAAAuiB,EAAA1B,GACAqB,EAAAG,EAAAxB,GACAsB,EAAAG,EAAAzB,GACA,IAAAA,GAAA,KAAAA,IAEA,IAAAA,EACA2B,EAAAtB,SACA,IAAAoB,EAAAG,IACAziB,EAAA,OACAkiB,GAAA,EACAC,EAAA,IAEAniB,EAAA,QACAkiB,EAAA,EACAC,EAAA,IAGA,IAAAE,EAAAI,KACAziB,EAAA,SACAkiB,EAAA,EACAC,GAAA,GAGS,KAAAtB,IACT2B,EAAAtB,SACA,IAAAmB,EAAAI,IACAziB,EAAA,MACAkiB,EAAA,EACAC,EAAA,IAEAniB,EAAA,SACAkiB,EAAA,EACAC,GAAA,GAGA,IAAAG,EAAAG,KACAziB,EAAA,OACAkiB,GAAA,EACAC,EAAA,KAKArmB,EAAAylB,EAAAiB,EAAAxiB,GACA6hB,EAAAt7B,KAAA,CAAAmC,EAAAoT,EAAA,GAAApE,EAAAoE,EAAA,KACAwlB,EAAAkB,GACA95B,GAAAw5B,EACAxqB,GAAAyqB,EACAM,EAAA5B,EAGA,OAAY7a,KAAA6b,EAAAG,KAAA,UAGZ,OAAArC,yCC5VA,IAAAxhB,EAAA,WAAgC,SAAAC,EAAAC,EAAAC,GAA2C,QAAAhY,EAAA,EAAgBA,EAAAgY,EAAAxW,OAAkBxB,IAAA,CAAO,IAAAiY,EAAAD,EAAAhY,GAA2BiY,EAAAC,WAAAD,EAAAC,aAAA,EAAwDD,EAAAE,cAAA,EAAgC,UAAAF,MAAAG,UAAA,GAAuDX,OAAAC,eAAAK,EAAAE,EAAAI,IAAAJ,IAA+D,gBAAAK,EAAAC,EAAAC,GAA2L,OAAlID,GAAAT,EAAAQ,EAAAhY,UAAAiY,GAAqEC,GAAAV,EAAAQ,EAAAE,GAA6DF,GAAxhB,GAEA,SAAAG,EAAAC,EAAAJ,GAAiD,KAAAI,aAAAJ,GAA0C,UAAAK,UAAA,qCAE3F,IAAAI,EAAeja,EAAQ,QACvBs9B,EAAArjB,EAAAqjB,iBAEAxjB,EAAA,WAQA,SAAAA,EAAA5T,GACAyT,EAAApZ,KAAAuZ,GAEAvZ,KAAAwK,GAAA+O,EAAAU,QAAAtU,GACA3F,KAAA2F,cACA3F,KAAAkb,WAAA,GAGAlb,KAAAg9B,WAAA,GACAh9B,KAAAi9B,kBAAA,EA0FA,OA1GAzkB,EAAAe,EAAA,OACAP,IAAA,UACA/S,MAAA,SAAAN,GACA,OAAAA,EAAA5E,KAAA,SAgBAyX,EAAAe,EAAA,EACAP,IAAA,kBACA/S,MAAA,SAAAoU,GACAra,KAAAkb,WAAAlb,KAAAkb,WAAAxZ,OAAA,SAAA0G,GACA,OAAAA,EAAA+R,KAAA3P,KAAA6P,EAAAF,KAAA3P,OAGG,CACHwO,IAAA,kBACA/S,MAAA,SAAAoU,GACAra,KAAAg9B,WAAAh9B,KAAAg9B,WAAAt7B,OAAA,SAAA0G,GACA,OAAAA,EAAAgS,GAAA5P,KAAA6P,EAAAD,GAAA5P,OAQG,CACHwO,IAAA,eACA/S,MAAA,SAAAoU,GACAra,KAAAg9B,WAAAp8B,KAAAyZ,GACAra,KAAAi9B,kBAAA,IAOG,CACHjkB,IAAA,iBACA/S,MAAA,WACA,IAAA6U,EAAA9a,KAEAA,KAAAi9B,mBAGAj9B,KAAAg9B,WAAAh4B,KAAA,SAAA1E,EAAAC,GACA,IAAA28B,EAAA58B,EAAA8Z,GACA+iB,EAAA58B,EAAA6Z,GAEA,GAAA8iB,EAAAv3B,YAAA,GAAAmV,EAAAnV,YAAA,OAAAw3B,EAAAx3B,YAAA,GAAAmV,EAAAnV,YAAA,cACA,GAAAu3B,EAAAv3B,YAAA,GAAAmV,EAAAnV,YAAA,MAAAw3B,EAAAx3B,YAAA,GAAAmV,EAAAnV,YAAA,eAEA,GAAAu3B,EAAAv3B,YAAA,GAAAmV,EAAAnV,YAAA,QAAAw3B,EAAAx3B,YAAA,GAAAmV,EAAAnV,YAAA,OACA,OAAAu3B,EAAAv3B,YAAA,GAAAmV,EAAAnV,YAAA,OAAAw3B,EAAAx3B,YAAA,GAAAmV,EAAAnV,YAAA,MAAAu3B,EAAAv3B,YAAA,GAAAw3B,EAAAx3B,YAAA,GACAw3B,EAAAx3B,YAAA,GAAAu3B,EAAAv3B,YAAA,GAGA,IAAAy3B,EAAAL,EAAAjiB,EAAAnV,YAAAu3B,EAAAv3B,YAAAw3B,EAAAx3B,aACA,GAAAy3B,EAAA,WACA,GAAAA,EAAA,WAEA,IAAAC,EAAAt5B,KAAAulB,IAAA4T,EAAAv3B,YAAA,GAAAmV,EAAAnV,YAAA,MAAA5B,KAAAulB,IAAA4T,EAAAv3B,YAAA,GAAAmV,EAAAnV,YAAA,MACA23B,EAAAv5B,KAAAulB,IAAA6T,EAAAx3B,YAAA,GAAAmV,EAAAnV,YAAA,MAAA5B,KAAAulB,IAAA6T,EAAAx3B,YAAA,GAAAmV,EAAAnV,YAAA,MAEA,OAAA03B,EAAAC,IAEAt9B,KAAAi9B,kBAAA,KASG,CACHjkB,IAAA,gBACA/S,MAAA,WAEA,OADAjG,KAAAu9B,iBACAv9B,KAAAg9B,aAEG,CACHhkB,IAAA,eACA/S,MAAA,SAAAtF,GAEA,OADAX,KAAAu9B,iBACAv9B,KAAAg9B,WAAAr8B,KAEG,CACHqY,IAAA,eACA/S,MAAA,SAAAoU,GACAra,KAAAkb,WAAAta,KAAAyZ,OAIAd,EA3GA,GA8GAla,EAAAC,QAAAia,sBCnHA,IAAAikB,EAAA,IACAC,EAAA,GAAAD,EACAE,EAAA,GAAAD,EACAh9B,EAAA,GAAAi9B,EACAtuB,EAAA,OAAA3O,EAsCA,SAAAgsB,EAAAkR,GAEA,GADAA,EAAAjR,OAAAiR,KACAA,EAAAx7B,OAAA,MAGA,IAAAkT,EAAA,wHAAAuoB,KACAD,GAEA,GAAAtoB,EAAA,CAGA,IAAAnT,EAAA27B,WAAAxoB,EAAA,IACAnP,GAAAmP,EAAA,UAAAyoB,cACA,OAAA53B,GACA,YACA,WACA,UACA,SACA,QACA,OAAAhE,EAAAkN,EACA,WACA,UACA,QACA,OAAAlN,EAAAzB,EACA,YACA,WACA,UACA,SACA,QACA,OAAAyB,EAAAw7B,EACA,cACA,aACA,WACA,UACA,QACA,OAAAx7B,EAAAu7B,EACA,cACA,aACA,WACA,UACA,QACA,OAAAv7B,EAAAs7B,EACA,mBACA,kBACA,YACA,WACA,SACA,OAAAt7B,EACA,QACA,UAYA,SAAA67B,EAAAC,GACA,OAAAA,GAAAv9B,EACAsD,KAAAkjB,MAAA+W,EAAAv9B,GAAA,IAEAu9B,GAAAN,EACA35B,KAAAkjB,MAAA+W,EAAAN,GAAA,IAEAM,GAAAP,EACA15B,KAAAkjB,MAAA+W,EAAAP,GAAA,IAEAO,GAAAR,EACAz5B,KAAAkjB,MAAA+W,EAAAR,GAAA,IAEAQ,EAAA,KAWA,SAAAC,EAAAD,GACA,OAAAE,EAAAF,EAAAv9B,EAAA,QACAy9B,EAAAF,EAAAN,EAAA,SACAQ,EAAAF,EAAAP,EAAA,WACAS,EAAAF,EAAAR,EAAA,WACAQ,EAAA,MAOA,SAAAE,EAAAF,EAAA97B,EAAAiE,GACA,KAAA63B,EAAA97B,GAGA,OAAA87B,EAAA,IAAA97B,EACA6B,KAAAuS,MAAA0nB,EAAA97B,GAAA,IAAAiE,EAEApC,KAAAo6B,KAAAH,EAAA97B,GAAA,IAAAiE,EAAA,IA9HA9G,EAAAC,QAAA,SAAAi7B,EAAA7tB,GACAA,KAAA,GACA,IAAAxG,SAAAq0B,EACA,cAAAr0B,GAAAq0B,EAAAp4B,OAAA,EACA,OAAAsqB,EAAA8N,GACG,cAAAr0B,IAAA,IAAAmJ,MAAAkrB,GACH,OAAA7tB,EAAA0xB,KAAAH,EAAA1D,GAAAwD,EAAAxD,GAEA,UAAAn4B,MACA,wDACAi8B,KAAAC,UAAA/D,0CClCA,IAAAgE,EAAA9+B,EAAA,QAAA++B,EAAA/+B,EAAAyC,EAAAq8B,GAA4qBC,EAAG,0BCA/qB,IAAA7sB,EAAgBlS,EAAQ,QAAYkS,UAiBpCtS,EAAAC,QAAA,SAAAoH,EAAA+3B,GACA,IAAA/3B,EAAA,UAAAtE,MAAA,uBAYA,OARA,IAAAq8B,QAAA93B,IAAA83B,IAAA/3B,EAAA23B,KAAA5R,MAAA4R,KAAAC,UAAA53B,KAEAiL,EAAAjL,EAAA,SAAA2M,GACA,IAAAlE,EAAAkE,EAAA,GACAjE,EAAAiE,EAAA,GACAA,EAAA,GAAAjE,EACAiE,EAAA,GAAAlE,IAEAzI,2BC9BA,IAAAg4B,EAASj/B,EAAQ,QACjBk/B,EAAWl/B,EAAQ,QACnBgJ,EAAWhJ,EAAQ,QACnBomB,EAAapmB,EAAQ,QACrB0H,EAAc1H,EAAQ,QACtBm/B,EAAen/B,EAAQ,QACvBo/B,EAAiBp/B,EAAQ,QACzBq/B,EAAAD,EAAAC,QACAz4B,EAAAc,EAAAd,QACAiN,EAAA7K,EAAA6K,SACAyrB,EAAAF,EAAAE,WACA9rB,EAAAxK,EAAAwK,YACA1M,EAAAY,EAAAZ,kBACAy4B,EAAA73B,EAAA63B,kBACAC,EAAA93B,EAAA83B,kBAmEA,SAAAC,EAAAx4B,EAAAgJ,EAAAyvB,EAAAC,GACA,IAcAC,EAdAvsB,EAAApM,EAAAoM,YAAA,GACAjN,EAAA,YAAAa,EAAAR,KAAAQ,EAAAb,SAAAa,EAGA,0BAAAb,EAAAK,KAAA,CACA,IAAAc,EAAA,GAKA,OAJAsM,EAAA5M,EAAA,SAAAb,GACA,IAAAy5B,EAAAJ,EAAAr5B,EAAA6J,EAAAyvB,EAAAC,GACAE,GAAAt4B,EAAApG,KAAA0+B,KAEA/4B,EAAAS,GAKA,IAAAoZ,EAAAwe,EAAAl4B,GACA64B,EAAAnf,EAAA,OAAAA,EAAA,MAEA,GAAAmf,EAAA,CACA,IAAAV,EAAAW,EAAA35B,GACAw5B,EAAA,CACAn5B,KAAAL,EAAAK,KACAP,YAAA85B,EAAA55B,EAAAF,YAAAk5B,SAGAQ,EAAAN,EAAAl5B,GAIA,IAWA65B,EAXAC,EAAA,IAAAhB,EAAAiB,GAAAC,cACA/4B,EAAA64B,EAAAG,KAAAT,GACA3rB,EAAAsrB,EAAAC,EAAAvvB,EAAAyvB,GAAA,UACAG,EAAAx4B,EAAAo4B,OAAAxrB,GACAqsB,EAAA,IAAApB,EAAAiB,GAAAI,cAIA,GAHAV,EAAAS,EAAAE,MAAAX,IAGAY,EAAAZ,EAAA35B,aAaA,OARA+5B,EADAH,EACA,CACAr5B,KAAAo5B,EAAAp5B,KACAP,YAAAw6B,EAAAb,EAAA35B,YAAAk5B,IAGAC,EAAAQ,GAGAI,EAAA,SAAAA,EAAAr5B,EAAAq5B,EAAA5sB,GAUA,SAAAotB,EAAAjuB,GACA,OAAApQ,MAAAkE,QAAAkM,EAAA,IAAAiuB,EAAAjuB,EAAA,IACA5C,MAAA4C,EAAA,IAWA,SAAAwtB,EAAAxtB,EAAA4sB,GACA,wBAAA5sB,EAAA,GAAA4sB,EAAA5sB,GACAA,EAAA9I,IAAA,SAAAkK,GACA,OAAAosB,EAAApsB,EAAAwrB,KAYA,SAAAsB,EAAAluB,EAAA4sB,GACA,wBAAA5sB,EAAA,GAAA4sB,EAAAuB,OAAAnuB,GACAA,EAAA9I,IAAA,SAAAkK,GACA,OAAA8sB,EAAA9sB,EAAAwrB,KAWA,SAAAW,EAAA94B,GACA,IAAAuL,EAAA4T,EAAAnf,GAAAb,SAAAF,YAAAsC,UACAo4B,EAAApuB,EAAA9I,IAAA,SAAAkK,GAA8C,OAAAA,IAC9CwrB,EAAAH,EAAA4B,wBACAza,OAAA5T,GACAouB,UACA3K,MAAA,QAEA,OAAAmJ,EA1JAx/B,EAAAC,QAAA,SAAAoH,EAAAgJ,EAAAyvB,EAAAC,GAEA,IAAA14B,EAAA,UAAAtE,MAAA,uBAEA,QAAAuE,IAAA+I,EAAA,UAAAtN,MAAA,sBACA,GAAAg9B,GAAA,YAAAh9B,MAAA,gCAGAg9B,KAAA,GACAD,KAAA,aAEA,IAAAn4B,EAAA,GACA,OAAAN,EAAAR,MACA,yBAKA,OAJAoN,EAAA5M,EAAA,SAAAb,GACA,IAAAy5B,EAAAJ,EAAAr5B,EAAA6J,EAAAyvB,EAAAC,GACAE,GAAAt4B,EAAApG,KAAA0+B,KAEA/4B,EAAAS,GACA,wBASA,OARAiM,EAAAvM,EAAA,SAAAL,GACA,IAAAk6B,EAAArB,EAAA74B,EAAAqJ,EAAAyvB,EAAAC,GACAmB,GACAttB,EAAAstB,EAAA,SAAAjB,GACAA,GAAAt4B,EAAApG,KAAA0+B,OAIA/4B,EAAAS,GAEA,OAAAk4B,EAAAx4B,EAAAgJ,EAAAyvB,EAAAC,iECpEA,IAAAnnB,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,iBAA2Be,MAAA,CAAOxpB,SAAAsoB,EAAAtoB,SAAAg6B,eAAA1R,EAAA2R,YAAAC,UAAA,EAAAC,WAAA,WAAAC,aAAA,OAC3H1P,EAAA,uCCaA2P,EAAA,CACAxN,WAAA,CACAyN,gBAAA,MAEAnoB,MAAA,CACAge,SAAA,CACAzwB,KAAArE,MACAm1B,UAAA,GAEAJ,QAAA,CACA1wB,KAAAwmB,OACAsK,UAAA,IAGAtF,SAAA,CACAlrB,SADA,WACA,IAAAsU,EAAA9a,KACA,OAAAA,KAAA22B,SAAA7C,OAAA,SAAAttB,EAAA6wB,GACA,OAAAA,KAAAxD,OAEArtB,EAAA5F,KAAA2B,MAAAiE,EAAA4R,OAAA2oB,EAAA,KAAA3oB,QAAA4oB,EAAA,KAAA5oB,CAAAif,EAAAvc,EAAA8b,WAEApwB,GAJAA,GAKA,KAEAi6B,YAVA,WAWA,OAAAroB,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAA42B,YCvCmZqK,EAAA,cCOnZnP,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd6oB,EACAhpB,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,kCClBf,IAAAoP,EAAgBzhC,EAAQ,QACxBgG,EAAAy7B,EAAAz7B,SACAgB,EAAAy6B,EAAAz6B,QAkCApH,EAAAC,QAAA,SAAA+D,EAAA89B,GAEA,IAAA9tB,EAAA5N,EAAApC,GACAyD,EAAAL,EAAA06B,GACAlvB,EAAAnL,EAAAnB,YACAy7B,EAAAnvB,EAAA,GACA,GAAAmvB,EAAAj/B,OAAA,YAAAC,MAAA,yDACA,IAAA0Q,EAAAquB,EAAAruB,YAAA,GACAxS,EAAAwS,EAAAxS,EACAC,EAAAuS,EAAAvS,EACAoB,EAAAmR,EAAAnR,EAGAwN,EAAAkE,EAAA,GACAjE,EAAAiE,EAAA,GACAY,EAAAmtB,EAAA,MACAltB,EAAAktB,EAAA,MACAC,OAAA16B,IAAArG,IAAA8gC,EAAA,MACAjtB,EAAAitB,EAAA,MACAhtB,EAAAgtB,EAAA,MACAE,OAAA36B,IAAApG,IAAA6gC,EAAA,MACAG,EAAAH,EAAA,MACAI,EAAAJ,EAAA,MACAK,OAAA96B,IAAAhF,IAAAy/B,EAAA,MACAM,GAAAD,GAAAtyB,EAAA8E,IAAA7E,EAAAgF,GAAAitB,GAAAlyB,EAAAgF,IAAA/E,EAAAoyB,GAAAF,GAAAnyB,EAAAoyB,IAAAnyB,EAAA8E,GACAotB,GAAAnyB,EAAA8E,IAAA7E,EAAAoyB,GAAAC,GAAAtyB,EAAAgF,IAAA/E,EAAA8E,GAAAmtB,GAAAlyB,EAAAoyB,IAAAnyB,EAAAgF,MACAjF,EAAA8E,IAAA7E,EAAAgF,IAAAjF,EAAAgF,IAAA/E,EAAAoyB,IAAAryB,EAAAoyB,IAAAnyB,EAAA8E,IACA/E,EAAA8E,IAAA7E,EAAAoyB,IAAAryB,EAAAgF,IAAA/E,EAAA8E,IAAA/E,EAAAoyB,IAAAnyB,EAAAgF,IAEA,OAAAstB,wCC/DA,IAAAC,EAAmBliC,EAAQ,QAC3BmiC,EAAmBniC,EAAQ,QAC3BoiC,EAAmBpiC,EAAQ,QAI3B,SAAAqiC,EAAA9/B,GACA,IAAAE,EAAAF,EAAAG,OACA,OAAAD,EACA,SACG,OAAAA,EACH,YAEA,IAAAzB,EAAAuB,EAAA,GAAAG,OACA,WAAA1B,EACA,GACG,IAAAA,EACHkhC,EAAA3/B,GACG,IAAAvB,EACHmhC,EAAA5/B,GAEA6/B,EAAA7/B,EAAAvB,GAjBApB,EAAAC,QAAAwiC,uCCJA,IAAA76B,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,QACAm6B,WAAA,EACAC,UAAA,EAEAC,MAAA,CACAC,KAAA,SAGAC,OAAA,CACAC,MAAA,EACAl8B,KAAA,WACAsE,GAAA,aAEA63B,MAAA,EACAn8B,KAAA,SACAsE,GAAA,gBAKAnL,EAAAC,QAAA,SAAAgjC,GAEA,SAAAC,EAAAn5B,EAAAsD,GACA,OAAAvF,EAAA+F,eAAA9D,EAAAo5B,SAAA91B,EAAAq1B,WAGAO,EAAAG,YAAA5zB,KAAAyzB,EAAAI,kBAAAh4B,OAAA,CAEAi4B,mBAAA/zB,EAAAg0B,KAEAC,gBAAAj0B,EAAAk0B,MAEAh6B,OAAA,SAAAi6B,GACA,IAOApiC,EAAAiV,EAAAotB,EAPA73B,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAp0B,EAAApG,EAAAW,QACApH,EAAAyG,EAAAG,MAAA,GACA8D,EAAAvB,EAAA3C,MAAAkE,QACAw2B,EAAAx2B,EAAAkC,SAAAC,KACA6mB,EAAAvqB,EAAAg4B,cAAA16B,EAAA26B,SAEAh6B,EAAA+B,EAAAk4B,aACAb,EAAAD,EAAAn5B,EAAAsD,GAwCA,IArCA81B,IACAQ,EAAAn0B,EAAAm0B,QAAA,QAGAr8B,IAAAyC,EAAAk6B,cAAA38B,IAAAyC,EAAAm6B,cACAn6B,EAAAm6B,YAAAn6B,EAAAk6B,SAIAz0B,EAAA20B,OAAA9N,EACA7mB,EAAA40B,cAAAt4B,EAAA/K,MAEAyO,EAAA60B,UAAA1hC,EAEA6M,EAAA80B,OAAA,CAKA3B,SAAA54B,EAAA44B,SAAA54B,EAAA44B,SAAAt1B,EAAAs1B,SACAsB,QAAAN,EAAAM,QAAAN,EAAAM,QAAAn8B,EAAA+F,eAAA9D,EAAAm6B,YAAAL,EAAAI,SACA95B,gBAAAw5B,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAAJ,EAAAI,iBAAA05B,EAAA15B,gBACAW,YAAA64B,EAAA74B,YAAA64B,EAAA74B,YAAAf,EAAAe,aAAA+4B,EAAA/4B,YACAE,YAAA24B,EAAA34B,YAAA24B,EAAA34B,YAAAjB,EAAAiB,aAAA64B,EAAA74B,YACAV,eAAAq5B,EAAAr5B,eAAAq5B,EAAAr5B,eAAAP,EAAAO,gBAAAu5B,EAAAv5B,eACAE,WAAAm5B,EAAAn5B,WAAAm5B,EAAAn5B,WAAAT,EAAAS,YAAAq5B,EAAAr5B,WACAE,iBAAAi5B,EAAAj5B,iBAAAi5B,EAAAj5B,iBAAAX,EAAAW,kBAAAm5B,EAAAn5B,iBACAE,gBAAA+4B,EAAA/4B,gBAAA+4B,EAAA/4B,gBAAAb,EAAAa,iBAAAi5B,EAAAj5B,gBACA25B,KAAAZ,EAAAY,KAAAZ,EAAAY,UAAAj9B,IAAAyC,EAAAw6B,KAAAx6B,EAAAw6B,KAAAV,EAAAU,KACAC,YAAAb,EAAAa,YAAAb,EAAAa,YAAA18B,EAAA+F,eAAA9D,EAAAy6B,YAAAX,EAAAY,SACAC,uBAAAf,EAAAe,uBAAAf,EAAAe,uBAAA58B,EAAA+F,eAAA9D,EAAA26B,uBAAAb,EAAAa,yBAGAl1B,EAAAm1B,SAIArjC,EAAA,EAAAiV,EAAA5T,EAAAG,OAAoCxB,EAAAiV,IAAUjV,EAC9CwK,EAAA84B,cAAAjiC,EAAArB,KAAAoiC,GAQA,IALAP,GAAA,IAAA3zB,EAAA80B,OAAAL,SACAn4B,EAAA+4B,4BAIAvjC,EAAA,EAAAiV,EAAA5T,EAAAG,OAAoCxB,EAAAiV,IAAUjV,EAC9CqB,EAAArB,GAAAqjC,SAIAG,wBAAA,SAAA9gC,EAAAjD,GACA,IAAAoJ,EAAAxJ,KAAAwI,MAAAkE,QAAAkC,SAAAvL,MAAAmG,gBACAJ,EAAApJ,KAAAqjC,aACAL,EAAA3/B,EAAA2/B,QAAA,GAUA,OARAA,EAAAx5B,gBACAA,EAAAw5B,EAAAx5B,gBACIJ,EAAAg7B,qBACJ56B,EAAArC,EAAAk9B,sBAAAj7B,EAAAg7B,qBAAAhkC,EAAAoJ,GACIJ,EAAAI,kBACJA,EAAAJ,EAAAI,iBAGAA,GAGA86B,oBAAA,SAAAjhC,EAAAjD,GACA,IAAAiK,EAAArK,KAAAwI,MAAAkE,QAAAkC,SAAAvL,MAAAgH,YACAjB,EAAApJ,KAAAqjC,aACAL,EAAA3/B,EAAA2/B,QAAA,GAUA,OARAA,EAAA34B,YACAA,EAAA24B,EAAA34B,YACIjB,EAAAm7B,iBACJl6B,EAAAlD,EAAAk9B,sBAAAj7B,EAAAm7B,iBAAAnkC,EAAAiK,GACIjB,EAAAiB,cACJA,EAAAjB,EAAAiB,aAGAA,GAGAm6B,oBAAA,SAAAnhC,EAAAjD,GACA,IAAA+J,EAAAnK,KAAAwI,MAAAkE,QAAAkC,SAAAvL,MAAA8G,YACAf,EAAApJ,KAAAqjC,aACAL,EAAA3/B,EAAA2/B,QAAA,GAUA,OARA3zB,MAAA2zB,EAAA74B,cAEIkF,MAAAjG,EAAAq7B,mBAAAt9B,EAAApB,QAAAqD,EAAAq7B,kBACJt6B,EAAAhD,EAAAk9B,sBAAAj7B,EAAAq7B,iBAAArkC,EAAA+J,GACIkF,MAAAjG,EAAAe,eACJA,EAAAf,EAAAe,aAJAA,EAAA64B,EAAA74B,YAOAA,GAGAu6B,iBAAA,SAAArhC,EAAAjD,GACA,IAAAukC,EAAA3kC,KAAAwI,MAAAkE,QAAAkC,SAAAvL,MAAAuhC,SACAx7B,EAAApJ,KAAAqjC,aACAL,EAAA3/B,EAAA2/B,QAAA,GAOA,OALA3zB,MAAA2zB,EAAA4B,UAEIv1B,MAAAjG,EAAAu7B,iBAAAx9B,EAAApB,QAAAqD,EAAAu7B,iBACJA,EAAAx9B,EAAAk9B,sBAAAj7B,EAAAu7B,cAAAvkC,EAAAukC,IAFAA,EAAA3B,EAAA4B,SAIAD,GAGAV,cAAA,SAAA5gC,EAAAjD,EAAA2iC,GACA,IASA5zB,EAAAC,EATAjE,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAD,EAAA3/B,EAAA2/B,QAAA,GACA55B,EAAA+B,EAAAk4B,aACA/6B,EAAA6C,EAAA/K,MACA6F,EAAAmD,EAAAR,KAAAxI,GACAykC,EAAA15B,EAAAg4B,cAAA16B,EAAA26B,SACA0B,EAAA35B,EAAAg4B,cAAA16B,EAAAs8B,SACAC,EAAA75B,EAAA3C,MAAAkE,QAAAkC,SAAAvL,WAIAsD,IAAAyC,EAAAsG,aAAA/I,IAAAyC,EAAA67B,cACA77B,EAAA67B,YAAA77B,EAAAsG,aAEA/I,IAAAyC,EAAA87B,gBAAAv+B,IAAAyC,EAAA+7B,iBACA/7B,EAAA+7B,eAAA/7B,EAAA87B,WAGA/1B,EAAA21B,EAAAM,iBAAA,kBAAAn/B,IAAAo/B,IAAAjlC,EAAAkI,GACA8G,EAAA2zB,EAAA8B,EAAAS,eAAAn6B,EAAAo6B,gBAAAt/B,EAAA7F,EAAAkI,GAGAjF,EAAAmiC,QAAAV,EACAzhC,EAAAoiC,QAAAZ,EACAxhC,EAAAogC,cAAAn7B,EACAjF,EAAAqiC,OAAAtlC,EAGAiD,EAAAsgC,OAAA,CACAx0B,IACAC,IACAu2B,KAAA3C,EAAA2C,MAAAt2B,MAAAF,IAAAE,MAAAD,GAEAM,OAAAszB,EAAAtzB,QAAAvI,EAAAk9B,sBAAAj7B,EAAA67B,YAAA7kC,EAAA4kC,EAAAt1B,QACApF,WAAA04B,EAAA14B,YAAAnD,EAAAk9B,sBAAAj7B,EAAAkB,WAAAlK,EAAA4kC,EAAA16B,YACAs6B,SAAAz5B,EAAAu5B,iBAAArhC,EAAAjD,GACAoJ,gBAAA2B,EAAAg5B,wBAAA9gC,EAAAjD,GACAiK,YAAAc,EAAAm5B,oBAAAjhC,EAAAjD,GACA+J,YAAAgB,EAAAq5B,oBAAAnhC,EAAAjD,GACAkjC,QAAA76B,EAAAW,QAAAu6B,OAAAl7B,EAAAW,QAAAu6B,OAAAL,QAAA,EACAO,cAAAp7B,EAAAW,QAAAu6B,QAAAl7B,EAAAW,QAAAu6B,OAAAE,YAEAqB,UAAAlC,EAAAkC,WAAA/9B,EAAAk9B,sBAAAj7B,EAAA+7B,eAAA/kC,EAAA4kC,EAAAE,aAIAK,gBAAA,SAAAt/B,EAAA7F,EAAAkI,GACA,IAMA3H,EAAAilC,EAAAC,EANA16B,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAC,EAAA0C,EAAA83B,UACA4B,EAAA15B,EAAAg4B,cAAA16B,EAAA26B,SACA0C,EAAA,EACAC,EAAA,EAGA,GAAAlB,EAAAn4B,QAAAs5B,QAAA,CACA,IAAArlC,EAAA,EAAeA,EAAA2H,EAAkB3H,IAGjC,GAFAilC,EAAAp9B,EAAAI,KAAAC,SAAAlI,GACAklC,EAAAr9B,EAAAE,eAAA/H,GACA,SAAAklC,EAAA3/B,MAAA2/B,EAAAzC,UAAAyB,EAAAr6B,IAAAhC,EAAAiB,iBAAA9I,GAAA,CACA,IAAAslC,EAAAne,OAAA+c,EAAAqB,cAAAN,EAAAh9B,KAAAxI,KACA6lC,EAAA,EACAF,GAAAE,GAAA,EAEAH,GAAAG,GAAA,EAKA,IAAAE,EAAAre,OAAA+c,EAAAqB,cAAAjgC,IACA,OAAAkgC,EAAA,EACAtB,EAAAO,iBAAAW,EAAAI,GAEAtB,EAAAO,iBAAAU,EAAAK,GAGA,OAAAtB,EAAAO,iBAAAn/B,IAGAi+B,0BAAA,WACA,IAIAvjC,EAAAiV,EAAAvS,EAAAqsB,EAAA0W,EAJAj7B,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAoD,EAAAl7B,EAAA3C,MAAA89B,UACAtkC,EAAAyG,EAAAG,MAAA,GAUA,SAAA29B,EAAApwB,EAAAqwB,EAAA/3B,GACA,OAAA1K,KAAA0K,IAAA1K,KAAAyiC,IAAArwB,EAAA1H,GAAA+3B,GAGA,GAVA/9B,EAAAW,QAAAu6B,OAAA3B,WACAhgC,IAAAN,OAAA,SAAAyU,GACA,OAAAA,EAAAwtB,OAAAgC,QAQA,aAAAl9B,EAAAW,QAAAu6B,OAAAI,uBACA58B,EAAAs/B,oBAAAzkC,QAEA,IAAArB,EAAA,EAAAiV,EAAA5T,EAAAG,OAAqCxB,EAAAiV,IAAUjV,EAC/C0C,EAAArB,EAAArB,GACA+uB,EAAArsB,EAAAsgC,OACAyC,EAAAj/B,EAAAu/B,YACAv/B,EAAAw/B,aAAA3kC,EAAArB,GAAAgjC,OACAjU,EACAvoB,EAAAy/B,SAAA5kC,EAAArB,GAAAgjC,OACAl7B,EAAAW,QAAAu6B,OAAAL,SAEA5T,EAAAmX,sBAAAT,EAAAU,SAAA33B,EACAugB,EAAAqX,sBAAAX,EAAAU,SAAA13B,EACAsgB,EAAAsX,kBAAAZ,EAAAvqB,KAAA1M,EACAugB,EAAAuX,kBAAAb,EAAAvqB,KAAAzM,EAIA,GAAAjE,EAAA3C,MAAAkE,QAAAkC,SAAAC,KAAAq4B,gBACA,IAAAvmC,EAAA,EAAAiV,EAAA5T,EAAAG,OAAqCxB,EAAAiV,IAAUjV,EAC/C+uB,EAAA1tB,EAAArB,GAAAgjC,OACAjU,EAAAmX,sBAAAN,EAAA7W,EAAAmX,sBAAAR,EAAAp6B,KAAAo6B,EAAAn6B,OACAwjB,EAAAqX,sBAAAR,EAAA7W,EAAAqX,sBAAAV,EAAAj6B,IAAAi6B,EAAAh6B,QACAqjB,EAAAsX,kBAAAT,EAAA7W,EAAAsX,kBAAAX,EAAAp6B,KAAAo6B,EAAAn6B,OACAwjB,EAAAuX,kBAAAV,EAAA7W,EAAAuX,kBAAAZ,EAAAj6B,IAAAi6B,EAAAh6B,SAKAqC,KAAA,WACA,IAMAy4B,EANAh8B,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAC,EAAA0C,EAAA83B,UACAjhC,EAAAyG,EAAAG,MAAA,GACAy9B,EAAA79B,EAAA89B,UACA1wB,EAAA5T,EAAAG,OAEAxB,EAAA,EAkBA,IAhBA4hC,EAAAp3B,EAAAk4B,aAAA76B,EAAAkE,WACAy6B,GAAA1+B,EAAAW,QAAAu6B,OAAAx5B,aAAA,KAEAhD,EAAA2I,OAAAs3B,SAAA5+B,EAAAuE,IAAA,CACAd,KAAAo6B,EAAAp6B,KACAC,MAAAm6B,EAAAn6B,MACAE,IAAAi6B,EAAAj6B,IAAA+6B,EACA96B,OAAAg6B,EAAAh6B,OAAA86B,IAGA1+B,EAAAW,QAAAsF,OAEAvH,EAAA2I,OAAAu3B,WAAA7+B,EAAAuE,MAISpM,EAAAiV,IAAUjV,EACnBqB,EAAArB,GAAA+N,KAAA23B,IAIAiB,cAAA,SAAAxlB,GAEA,IAAA1Y,EAAApJ,KAAAwI,MAAAI,KAAAC,SAAAiZ,EAAA2hB,eACArjC,EAAA0hB,EAAA4jB,OACA1C,EAAAlhB,EAAAkhB,QAAA,GACAtT,EAAA5N,EAAA6hB,OAEA7hB,EAAAylB,eAAA,CACA/9B,gBAAAkmB,EAAAlmB,gBACAa,YAAAqlB,EAAArlB,YACAF,YAAAulB,EAAAvlB,YACAuF,OAAAggB,EAAAhgB,QAGAggB,EAAAlmB,gBAAAw5B,EAAAwE,sBAAArgC,EAAAk9B,sBAAAj7B,EAAAq+B,0BAAArnC,EAAA+G,EAAAugC,cAAAhY,EAAAlmB,kBACAkmB,EAAArlB,YAAA24B,EAAA2E,kBAAAxgC,EAAAk9B,sBAAAj7B,EAAAw+B,sBAAAxnC,EAAA+G,EAAAugC,cAAAhY,EAAArlB,cACAqlB,EAAAvlB,YAAA64B,EAAA6E,kBAAA1gC,EAAAk9B,sBAAAj7B,EAAA0+B,sBAAA1nC,EAAAsvB,EAAAvlB,aACAulB,EAAAhgB,OAAAszB,EAAA+E,aAAA5gC,EAAAk9B,sBAAAj7B,EAAA4+B,iBAAA5nC,EAAAJ,KAAAwI,MAAAkE,QAAAkC,SAAAvL,MAAA0kC,yCClVA,IAAA5gC,EAAc1H,EAAQ,QACtBg6B,EAAAtyB,EAAAsyB,QACAwO,EAAA9gC,EAAAZ,kBA6EA,SAAA2hC,EAAA5nC,EAAAC,EAAAoB,GACA3B,KAAAM,IACAN,KAAAO,IACAP,KAAA2B,IAEA,IAOA46B,EAAAC,EAPA2L,EAAA5nC,EAAA4O,EAAA7O,EAAA6O,EACAi5B,EAAA7nC,EAAA6O,EAAA9O,EAAA8O,EACAi5B,EAAA1mC,EAAAwN,EAAA7O,EAAA6O,EACAm5B,EAAA3mC,EAAAyN,EAAA9O,EAAA8O,EACA4b,EAAAmd,GAAA7nC,EAAA6O,EAAA5O,EAAA4O,GAAAi5B,GAAA9nC,EAAA8O,EAAA7O,EAAA6O,GACAm5B,EAAAF,GAAA/nC,EAAA6O,EAAAxN,EAAAwN,GAAAm5B,GAAAhoC,EAAA8O,EAAAzN,EAAAyN,GACAo5B,EAAA,GAAAL,GAAAxmC,EAAAyN,EAAA7O,EAAA6O,GAAAg5B,GAAAzmC,EAAAwN,EAAA5O,EAAA4O,IAKAnP,KAAAmP,GAAAm5B,EAAAtd,EAAAod,EAAAG,GAAAC,EACAxoC,KAAAoP,GAAA+4B,EAAAI,EAAAF,EAAArd,GAAAwd,EACAjM,EAAAv8B,KAAAmP,EAAA7O,EAAA6O,EACAqtB,EAAAx8B,KAAAoP,EAAA9O,EAAA8O,EACApP,KAAAuV,EAAAgnB,IAAAC,IAGA,SAAAiM,EAAAnoC,EAAAC,GACA,OAAAA,EAAA4O,EAAA7O,EAAA6O,EAGA,SAAAu5B,EAAA3uB,GACA,IACAzZ,EAAAC,EAAAI,EAAA88B,EAAAv7B,EADAU,EAAAmX,EAAA5X,OAGAi/B,EACA,MAAAx+B,EAAA,CACArC,EAAAwZ,IAAAnX,GACAtC,EAAAyZ,IAAAnX,GACAjC,EAAAiC,EACA,MAAAjC,EAGA,GAFAuB,EAAA6X,IAAApZ,GACA88B,EAAA1jB,IAAApZ,GACAL,IAAAm9B,GAAAl9B,IAAA2B,GAAA5B,IAAA4B,GAAA3B,IAAAk9B,EAAA,CACA1jB,EAAA4uB,OAAA/lC,EAAA,GACAmX,EAAA4uB,OAAAhoC,EAAA,GACAiC,GAAA,EACA,SAAAw+B,IAMA,SAAAwH,EAAA/oC,GAEA,GAAAA,EAAAsC,OAAA,EACA,SAKAtC,EAAAmF,KAAAyjC,GAEA,IAOAnoC,EACAC,EACAoB,EACAwmC,EACAC,EACAI,EAZA7nC,EAAAd,EAAAsC,OAAA,EACA0mC,EAAAhpC,EAAAc,GAAAwO,EACA25B,EAAAjpC,EAAA,GAAAsP,EACA45B,EAAAlpC,EAAAc,GAAAyO,EACA45B,EAAAD,EACA/M,EAAA,MASA,MAAAr7B,IACAd,EAAAc,GAAAyO,EAAA25B,IACAA,EAAAlpC,EAAAc,GAAAyO,GACAvP,EAAAc,GAAAyO,EAAA45B,IACAA,EAAAnpC,EAAAc,GAAAyO,GAWA,IAsBAxM,EAtBA25B,EAAAuM,EAAAD,EACArM,EAAAwM,EAAAD,EACAE,EAAA1M,EAAAC,EAAAD,EAAAC,EACA0M,EAAA,IAAAJ,EAAAD,GACAM,EAAA,IAAAH,EAAAD,GACAK,EAAA,CACA,IAAAlB,EAAA,CACA/4B,EAAA+5B,EAAA,GAAAD,EACA75B,EAAA+5B,EAAAF,EACAI,YAAA,GACa,CACbl6B,EAAA+5B,EACA95B,EAAA+5B,EAAA,GAAAF,EACAI,YAAA,GACa,CACbl6B,EAAA+5B,EAAA,GAAAD,EACA75B,EAAA+5B,EAAAF,EACAI,YAAA,KAGAC,EAAA,GACAvvB,EAAA,GAIApZ,EAAAd,EAAAsC,OACA,MAAAxB,IAAA,CAIAoZ,EAAA5X,OAAA,EACAS,EAAAwmC,EAAAjnC,OACA,MAAAS,IAIA25B,EAAA18B,EAAAc,GAAAwO,EAAAi6B,EAAAxmC,GAAAuM,EACAotB,EAAA,GAAAA,IAAA6M,EAAAxmC,GAAA2S,GACA+zB,EAAA1oC,KAAAwoC,EAAAxmC,IACAwmC,EAAAT,OAAA/lC,EAAA,KAKA45B,EAAA38B,EAAAc,GAAAyO,EAAAg6B,EAAAxmC,GAAAwM,EACAmtB,IAAAC,IAAA4M,EAAAxmC,GAAA2S,IAIAwE,EAAAnZ,KACAwoC,EAAAxmC,GAAAtC,EAAA8oC,EAAAxmC,GAAArC,EACA6oC,EAAAxmC,GAAArC,EAAA6oC,EAAAxmC,GAAAjB,EACAynC,EAAAxmC,GAAAjB,EAAAynC,EAAAxmC,GAAAtC,GAEA8oC,EAAAT,OAAA/lC,EAAA,KAIA8lC,EAAA3uB,GAGAnX,EAAAmX,EAAA5X,OACA,MAAAS,EACArC,EAAAwZ,IAAAnX,GACAtC,EAAAyZ,IAAAnX,GACAjB,EAAA9B,EAAAc,GAGAwnC,EAAA5nC,EAAA4O,EAAA7O,EAAA6O,EACAi5B,EAAA7nC,EAAA6O,EAAA9O,EAAA8O,EACAo5B,EAAA,GAAAL,GAAAxmC,EAAAyN,EAAA7O,EAAA6O,GAAAg5B,GAAAzmC,EAAAwN,EAAA5O,EAAA4O,IACApL,KAAA6hB,IAAA4iB,GAAAxM,GACAoN,EAAAxoC,KAAA,IAAAsnC,EAAA5nC,EAAAC,EAAAoB,IAOAE,MAAAZ,UAAAL,KAAA2B,MAAA+mC,EAAAF,GAEAzoC,EAAA2oC,EAAAnnC,OACA,MAAAxB,KACA2oC,EAAA3oC,GAAAL,EAAA+oC,YACAC,EAAA3oC,GAAAJ,EAAA8oC,YACAC,EAAA3oC,GAAAgB,EAAA0nC,aACAC,EAAAX,OAAAhoC,EAAA,GAEA,OAAA2oC,EA1NAjqC,EAAAC,QAAA,SAAA0C,EAAA0/B,GACA,yBAAA1/B,EAAAkE,KAAA,UAAA9D,MAAA,sCAEA,IAAAmnC,GAAA,EACA,OAAAtB,EAAAW,EAAA5mC,EAAAwE,SAAA2C,IAAA,SAAA+yB,GACA,IAAA74B,EAAA,CACA8L,EAAA+sB,EAAAr2B,SAAAF,YAAA,GACAyJ,EAAA8sB,EAAAr2B,SAAAF,YAAA,IAQA,OANA+7B,EACAr+B,EAAAq+B,EAAAxF,EAAAppB,WAAA4uB,GACS,IAAAxF,EAAAr2B,SAAAF,YAAAxD,SACTonC,GAAA,EACAlmC,EAAAq+B,EAAAxF,EAAAr2B,SAAAF,YAAA,IAEAtC,KACK8F,IAAA,SAAAg4B,GAEL,IAAA7gC,EAAA,CAAA6gC,EAAA7gC,EAAA6O,EAAAgyB,EAAA7gC,EAAA8O,GACA7O,EAAA,CAAA4gC,EAAA5gC,EAAA4O,EAAAgyB,EAAA5gC,EAAA6O,GACAzN,EAAA,CAAAw/B,EAAAx/B,EAAAwN,EAAAgyB,EAAAx/B,EAAAyN,GACA0D,EAAA,GAgBA,OAZAy2B,GACAjpC,EAAAM,KAAAugC,EAAA7gC,EAAAohC,GACAnhC,EAAAK,KAAAugC,EAAA5gC,EAAAmhC,GACA//B,EAAAf,KAAAugC,EAAAx/B,EAAA+/B,IAEA5uB,EAAA,CACAxS,EAAA6gC,EAAA7gC,EAAAohC,EACAnhC,EAAA4gC,EAAA5gC,EAAAmhC,EACA//B,EAAAw/B,EAAAx/B,EAAA+/B,GAIAjI,EAAA,EAAAn5B,EAAAC,EAAAoB,EAAArB,IAAAwS,+BC5EA,IAAArK,EAAWhJ,EAAQ,QACnB+pC,EAAY/pC,EAAQ,QACpBomB,EAAapmB,EAAQ,QACrB0H,EAAc1H,EAAQ,QACtBgU,EAAehU,EAAQ,QACvBgqC,EAAehqC,EAAQ,QACvByhC,EAAgBzhC,EAAQ,QACxBiqC,EAAmBjqC,EAAQ,QAC3BkqC,EAAoBlqC,EAAQ,QAC5BmqC,EAAuBnqC,EAAQ,QAC/B4D,EAAA8D,EAAA9D,MACAsO,EAAAlJ,EAAAkJ,UACAsB,EAAAxK,EAAAwK,YACAxN,EAAAy7B,EAAAz7B,SACAG,EAAAs7B,EAAAt7B,UACAiB,EAAAq6B,EAAAr6B,YAkDA,SAAA6uB,EAAArvB,EAAAwjC,EAAAC,GAEA,IAAAC,EAAA,UAAAljC,EAAAR,GAIA,OAHAyjC,EAAAE,EAAA3jC,EAAAyjC,GAGA,IAAAD,GAAAE,EAAA1jC,GAGAsL,EAAAtL,EAAA,SAAAgN,GACA,IAAA42B,EAAAN,EAAAG,EAAAz2B,GACA62B,EAAAR,EAAAI,EAAAz2B,GACA82B,EAAAF,EAAAJ,EACAO,EAAAxkC,EAAAgkC,EAAAE,EAAAK,EAAAD,IACA72B,EAAA,GAAA+2B,EAAA,GACA/2B,EAAA,GAAA+2B,EAAA,GACA,IAAA/2B,EAAAlR,SAAAkR,EAAA,IAAAw2B,KAGAxjC,GAWA,SAAA2jC,EAAAtjC,EAAAojC,GAKA,QAHAnjC,IAAAmjC,GAAA,OAAAA,MAAA,YAGAjoC,MAAAkE,QAAA+jC,IAAA,kBAAAA,EAAA,OAAArkC,EAAAqkC,GAGA,IAAA1pB,EAAA1Z,EAAA,KAAAA,EAAA0Z,KAAAqpB,EAAA/iC,GACAsvB,EAAA5V,EAAA,GACA6V,EAAA7V,EAAA,GACA8V,EAAA9V,EAAA,GACA+V,EAAA/V,EAAA,GAEA,OAAA0pB,GACA,SACA,gBACA,gBACA,iBACA,OAAAzmC,EAAA,CAAA2yB,EAAAC,IACA,SACA,gBACA,gBACA,kBACA,OAAA5yB,EAAA,CAAA6yB,EAAAD,IACA,SACA,gBACA,gBACA,cACA,OAAA5yB,EAAA,CAAA2yB,EAAAG,IACA,SACA,gBACA,gBACA,eACA,OAAA9yB,EAAA,CAAA6yB,EAAAC,IACA,aACA,OAAAtQ,EAAAnf,GACA,UAAAC,EACA,UACA,eACA,OAAA8M,EAAA/M,GACA,QACA,UAAAtE,MAAA,mBArGA/C,EAAAC,QAAA,SAAAoH,EAAAmjC,EAAAC,EAAArL,GAEA,IAAA/3B,EAAA,UAAAtE,MAAA,oBACA,qBAAAynC,GAAA,IAAAA,EAAA,UAAAznC,MAAA,kBACA,IAAAioC,EAAAxoC,MAAAkE,QAAA+jC,IAAA,kBAAAA,EAMA,OAHA,IAAArL,IAAA/3B,EAAA8iC,EAAA9iC,IAGA,sBAAAA,EAAAR,MAAAmkC,EAOA3U,EAAAhvB,EAAAmjC,EAAAC,IANA72B,EAAAvM,EAAA,SAAAL,EAAAjG,GACAsG,EAAAF,SAAApG,GAAAs1B,EAAArvB,EAAAwjC,EAAAC,KAEApjC,0BC7CArH,EAAAC,QAAA,CACAgrC,eAAA,SAAAz9B,GAMA,OALAA,KAAAiD,SAEAjD,IAAAiD,QAGAjD,KAAA09B,WAAA,mDCRA,SAAA5I,EAAA3/B,GAGA,IAFA,IAAAwoC,EAAA,EACAC,EAAA,EACA9pC,EAAA,EAAcA,EAAAqB,EAAAG,SAAiBxB,EAC/BqB,EAAArB,GAAA,GAAAqB,EAAAwoC,GAAA,KACAA,EAAA7pC,GAEAqB,EAAArB,GAAA,GAAAqB,EAAAyoC,GAAA,KACAA,EAAA9pC,GAGA,OAAA6pC,EAAAC,EACA,EAAAD,GAAA,CAAAC,IACGD,EAAAC,EACH,EAAAA,GAAA,CAAAD,IAEA,EAAAA,IAlBAnrC,EAAAC,QAAAqiC,wBC2CA,SAAAhwB,EAAAC,EAAAhF,EAAAiF,GACA,IAAAlR,EAAAiC,EAAAG,EAAA+O,EAAAC,EAAAlM,EAAAmM,EAAAC,EACAC,EAGAC,EAFAC,EAAA,EACAC,EAAA,EAEAC,EAAA,sBAAAV,EAAA1L,KACAqM,EAAA,YAAAX,EAAA1L,KACAsM,EAAAF,EAAAV,EAAApL,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAOzB,IALAuR,EAAAI,EAAAV,EAAApL,SAAA7F,GAAAkF,SACA0M,EAAAX,EAAA/L,SAAA+L,EACAO,EAAA,uBAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAS9B,GARAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EACAD,EAAApM,EAAAF,YAEAyM,GAAAP,GACA,YAAAhM,EAAAK,MAAA,iBAAAL,EAAAK,KACA,IAEA,UAAAL,EAAAK,KACA0G,EAAAqF,EAAAI,GACAA,SACa,kBAAAxM,EAAAK,MAAA,eAAAL,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9CgK,EAAAqF,EAAArP,GAAAyP,GACAA,SAEa,eAAAxM,EAAAK,MAAA,oBAAAL,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAAiQ,EAAmCrP,IAClE6J,EAAAqF,EAAArP,GAAAG,GAAAsP,GACAA,SAEa,oBAAAxM,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAsBY,IACrD,IAAAgP,EAAA,EAAmCA,EAAAE,EAAArP,GAAAG,GAAAZ,OAAAiQ,EAAsCL,IACzEnF,EAAAqF,EAAArP,GAAAG,GAAAgP,GAAAM,GACAA,QAEa,2BAAAxM,EAAAK,KAIb,UAAA9D,MAAA,yBAHA,IAAAQ,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3D+O,EAAA9L,EAAAe,WAAAhE,GAAAgK,EAAAiF,IAuEA,SAAAY,EAAAb,EAAAhF,EAAA8F,EAAAb,GACA,IAAAc,EAAAD,EAQA,OAPAf,EAAAC,EAAA,SAAAgB,EAAAP,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAE,EAEAhG,EAAA+F,EAAAC,EAAAP,IAEKR,GACLc,EA+CA,SAAAE,EAAAjB,EAAAhF,GACA,IAAAjM,EACA,OAAAiR,EAAA1L,MACA,wBACA,IAAAvF,EAAA,EAAmBA,EAAAiR,EAAApL,SAAArE,OAA2BxB,IAC9CiM,EAAAgF,EAAApL,SAAA7F,GAAAmS,WAAAnS,GAEA,MACA,cACAiM,EAAAgF,EAAAkB,WAAA,GACA,OAoEA,SAAAC,EAAAnB,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAG,EAAAjB,EAAA,SAAAoB,EAAAX,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAM,EAEApG,EAAA+F,EAAAK,EAAAX,KAGAM,EAgDA,SAAAM,EAAArB,EAAAhF,GACA,eAAAgF,EAAA1L,KACA0G,EAAAgF,EAAA,QACK,yBAAAA,EAAA1L,KACL,QAAAvF,EAAA,EAAuBA,EAAAiR,EAAApL,SAAArE,OAA2BxB,IAClDiM,EAAAgF,EAAApL,SAAA7F,MAkEA,SAAAuS,EAAAtB,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAO,EAAArB,EAAA,SAAAuB,EAAAd,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAS,EAEAvG,EAAA+F,EAAAQ,EAAAd,KAGAM,EAmCA,SAAAS,EAAAxB,GACA,IAAAK,EAAA,GAIA,OAHAN,EAAAC,EAAA,SAAAyB,GACApB,EAAArR,KAAAyS,KAEApB,EAqCA,SAAAqB,EAAA1B,EAAAhF,GACA,IAAAjM,EAAAiC,EAAAkP,EAAAjM,EAAAmM,EACAE,EACAC,EACAE,EAAA,EACAC,EAAA,sBAAAV,EAAA1L,KACAqM,EAAA,YAAAX,EAAA1L,KACAsM,EAAAF,EAAAV,EAAApL,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAOzB,IALAuR,EAAAI,EAAAV,EAAApL,SAAA7F,GAAAkF,SACA0M,EAAAX,EAAA/L,SAAA+L,EACAO,EAAA,uBAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAI9B,GAHAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EAEA,UAAArM,EAAAK,MACA,eAAAL,EAAAK,MACA,eAAAL,EAAAK,MACA,YAAAL,EAAAK,MACA,oBAAAL,EAAAK,MACA,iBAAAL,EAAAK,KACA0G,EAAA/G,EAAAwM,GACAA,QACa,2BAAAxM,EAAAK,KAMb,UAAA9D,MAAA,yBALA,IAAAQ,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3DgK,EAAA/G,EAAAe,WAAAhE,GAAAyP,GACAA,KAsEA,SAAAkB,EAAA3B,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAY,EAAA1B,EAAA,SAAA4B,EAAAnB,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAc,EAEA5G,EAAA+F,EAAAa,EAAAnB,KAGAM,EAthBAtT,EAAAC,QAAAqS,YA2EAtS,EAAAC,QAAAmT,cA0DApT,EAAAC,QAAAuT,WA4EAxT,EAAAC,QAAAyT,aAuDA1T,EAAAC,QAAA2T,cAyEA5T,EAAAC,QAAA4T,gBAwCA7T,EAAAC,QAAA8T,WAsFA/T,EAAAC,QAAAgU,WAyEAjU,EAAAC,QAAAiU,kDCzoBA,IAAAm3B,EAAAjrC,EAAA,QAAAkrC,EAAAlrC,EAAAyC,EAAAwoC,GAAumBC,EAAG,8CCqpB1mB,SAAAn1B,EAAAo1B,GACA,QAAAA,KAAA/mB,cAAAzL,OCnnBA,SAAAxS,EAAAqM,GACA,IAAAA,EAAA,UAAA7P,MAAA,sBAGA,eAAA6P,EAAA/L,MAAA,OAAA+L,EAAApM,SAAA,OAAAoM,EAAApM,SAAAF,YAGA,GAAAsM,EAAAtM,YAAA,OAAAsM,EAAAtM,YAGA,GAAA9D,MAAAkE,QAAAkM,GAAA,OAAAA,EAEA,UAAA7P,MAAA,+DAqEA,SAAAkE,EAAAC,EAAAL,EAAAC,GACA,IAAAI,EAAA,UAAAnE,MAAA,+BACA,IAAA+D,EAAA,UAAA/D,MAAA,mCACA,IAAAmE,GAAA,sBAAAA,EAAAL,KACA,UAAA9D,MAAA,oBAAA+D,EAAA,gCAEA,QAAAxF,EAAA,EAAmBA,EAAA4F,EAAAC,SAAArE,OAAuCxB,IAAA,CAC1D,IAAA0F,EAAAE,EAAAC,SAAA7F,GACA,IAAA0F,GAAA,YAAAA,EAAAH,OAAAG,EAAAR,SACA,UAAAzD,MAAA,oBAAA+D,EAAA,oCAEA,IAAAE,EAAAR,UAAAQ,EAAAR,SAAAK,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAG,EAAAR,SAAAK,OCwLA,SAAA+M,EAAAvM,EAAAkG,GACA,eAAAlG,EAAAR,KACA0G,EAAAlG,EAAA,QACK,yBAAAA,EAAAR,KACL,QAAAvF,EAAA,EAAuBA,EAAA+F,EAAAF,SAAArE,OAA6BxB,IACpD,QAAAiM,EAAAlG,EAAAF,SAAA7F,MAAA,MCzRe,SAAAkqC,EAAAhP,EAAAnvB,GAGf,GADAA,KAAA,IACS8I,EAAQ9I,GAAA,UAAAtK,MAAA,sBACjB,IAAA0oC,EAAAp+B,EAAAo+B,WAAA,YACA5pC,EAAAwL,EAAAxL,KACA6pC,EAAAr+B,EAAAq+B,MAGIzkC,EAAYu1B,EAAA,qCAOhB,IALA,IAAAmP,EAAAC,EAAApP,EAAA36B,GAEAgqC,EAAA,GAGA31B,EAAA,EAAmBA,EAAAy1B,EAAA7oC,OAAyBoT,IAAA,CAG5C,IAFA,IAAA41B,EAAAH,EAAAz1B,GACAmjB,EAAA,GACA/2B,EAAA,EAAuBA,EAAAwpC,EAAAhpC,OAAqBR,IAAA,CAC5C,IAAA0B,EAAA8nC,EAAAxpC,GAEA0B,EAAAyP,WAAAg4B,GAAApS,EAAA93B,KAAAyC,EAAAyP,WAAAg4B,IACApS,EAAA93B,KAAA,IAEA,IAAAmqC,IAAA1nC,EAAAyP,WAAAs4B,eAAA,CAAA71B,EAAA5T,IAEAupC,EAAAtqC,KAAA83B,GAGA,OAAAwS,EAWA,SAAAD,EAAAjpC,EAAAd,GACA,IAAAmqC,EAAA,GAGIp4B,EAAWjR,EAAA,SAAAqB,GACf,IAAA+kB,EAAkBxiB,EAASvC,GAAA,GAC3BgoC,EAAAjjB,KAAAijB,EAAAjjB,GAAA,IACAijB,EAAAjjB,GAAAxnB,KAAAyC,KAIA,IAAAioC,EAAAlzB,OAAA2C,KAAAswB,GAAAliC,IAAA,SAAAif,GACA,IAAAsQ,EAAA2S,EAAAjjB,GACAmjB,EAAA7S,EAAA1zB,KAAA,SAAA1E,EAAAC,GACA,OAAmBqF,EAAStF,GAAA,GAASsF,EAASrF,GAAA,KAE9C,OAAAgrC,IAIAC,EAAAF,EAAAtmC,KAAA,SAAA1E,EAAAC,GACA,OAAAW,EAAyB0E,EAAStF,EAAA,OAAYsF,EAASrF,EAAA,OACnCqF,EAASrF,EAAA,OAAYqF,EAAStF,EAAA,SAGlD,OAAAkrC,EAtGA/rC,EAAAgB,EAAA+f,EAAA,4BAAAqqB,8DCAA,IAAA5yB,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAAA,EAAA,KAAgCwc,WAAA,EAAatlC,KAAA,OAAAulC,QAAA,SAAAzlC,MAAA6oB,EAAA,KAAAe,WAAA,SAAgEV,YAAA,iCAAAhN,MAAA,CAAuDjW,MAAA4iB,EAAA5iB,OAAiB8jB,MAAA,CAAS2b,SAAA,IAAAC,KAAA,SAAAC,aAAA,SAAoDlb,GAAA,CAAKC,MAAA,SAAAkb,GAAkD,OAAzBA,EAAAC,kBAAyBjd,EAAAkd,MAAA,gBAClY9a,EAAA,GCaA+a,EAAA,CACAtzB,MAAA,CACAuzB,KAAAC,QACAjgC,MAAAwgB,SCjBwX0f,EAAA,0BCQxXta,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdg0B,EACAn0B,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,6CCnBf,IAAAua,EAAA5sC,EAAA,QAAA6sC,EAAA7sC,EAAAyC,EAAAmqC,GAA6lBC,EAAG,uCCEhmB,IAAAC,EAAgB9sC,EAAQ,QACxB+sC,EAAgB/sC,EAAQ,QAGxB,SAAA8B,EAAA4D,GAGA,IAFA,IAAA1E,EAAA,EACAgO,EAAA1K,KAAA0K,IACA9N,EAAA,EAAA8rC,EAAAtnC,EAAAhD,OAA+BxB,EAAA8rC,IAAM9rC,EACrCF,EAAAgO,EAAAhO,EAAA0E,EAAAxE,GAAAwB,QAEA,OAAA1B,EAAA,EAKA,SAAAisC,EAAAvnC,GAGA,IAFA,IAAAwnC,GAAA,EACAl+B,EAAA1K,KAAA0K,IACA9N,EAAA,EAAA8rC,EAAAtnC,EAAAhD,OAA+BxB,EAAA8rC,IAAM9rC,EAErC,IADA,IAAAgB,EAAAwD,EAAAxE,GACAiC,EAAA,EAAAgqC,EAAAjrC,EAAAQ,OAA6BS,EAAAgqC,IAAMhqC,EACnC+pC,EAAAl+B,EAAAk+B,EAAAhrC,EAAAiB,IAGA,OAAA+pC,EAAA,EAKA,SAAAE,EAAA1nC,GAEA,IADA,IAAA2nC,EAAA,IAAAjrC,MAAAsD,EAAAhD,QACAxB,EAAA,EAAA8rC,EAAAtnC,EAAAhD,OAA+BxB,EAAA8rC,IAAM9rC,EACrCmsC,EAAAnsC,GAAAwE,EAAAxE,GAAA2B,MAAA,GAEA,OAAAwqC,EAKA,SAAAntC,EAAAW,EAAAC,GACA,IAAA2B,EAAA5B,EAAA6B,OACAhB,EAAAb,EAAA6B,OAAA5B,EAAA4B,OACAqkC,EAAAziC,KAAAyiC,IACA,GAAArlC,EACA,OAAAA,EAEA,OAAAe,GACA,OACA,SACA,OACA,OAAA5B,EAAA,GAAAC,EAAA,GACA,OACA,IAAAE,EAAAH,EAAA,GAAAA,EAAA,GAAAC,EAAA,GAAAA,EAAA,GACA,OAAAE,GAGA+lC,EAAAlmC,EAAA,GAAAA,EAAA,IAAAkmC,EAAAjmC,EAAA,GAAAA,EAAA,IACA,OACA,IAAAqsB,EAAAtsB,EAAA,GAAAA,EAAA,GACAysC,EAAAxsC,EAAA,GAAAA,EAAA,GAEA,GADAE,EAAAmsB,EAAAtsB,EAAA,IAAAysC,EAAAxsC,EAAA,IACAE,EACA,OAAAA,EAEA,IAAAusC,EAAAxG,EAAAlmC,EAAA,GAAAA,EAAA,IACA2sC,EAAAzG,EAAAjmC,EAAA,GAAAA,EAAA,IACAE,EAAA+lC,EAAAwG,EAAA1sC,EAAA,IAAAkmC,EAAAyG,EAAA1sC,EAAA,IACA,OAAAE,GAGA+lC,EAAAwG,EAAA1sC,EAAA,GAAAssB,GAAA4Z,EAAAyG,EAAA1sC,EAAA,GAAAwsC,GAIA,QACA,IAAAG,EAAA5sC,EAAAgC,MAAA,GACA4qC,EAAAloC,OACA,IAAAmoC,EAAA5sC,EAAA+B,MAAA,GACA6qC,EAAAnoC,OACA,QAAArE,EAAA,EAAkBA,EAAAuB,IAAKvB,EAEvB,GADAQ,EAAA+rC,EAAAvsC,GAAAwsC,EAAAxsC,GACAQ,EACA,OAAAA,EAGA,UAKA,SAAAisC,EAAA9sC,EAAAC,GACA,OAAAZ,EAAAW,EAAA,GAAAC,EAAA,IAIA,SAAA8sC,EAAAloC,EAAAmoC,GACA,GAAAA,EAAA,CAGA,IAFA,IAAAC,EAAApoC,EAAAhD,OACAqrC,EAAA,IAAA3rC,MAAA0rC,GACA5sC,EAAA,EAAgBA,EAAA4sC,IAAO5sC,EACvB6sC,EAAA7sC,GAAA,CAAAwE,EAAAxE,GAAA2sC,EAAA3sC,IAEA6sC,EAAAxoC,KAAAooC,GACA,IAAAzsC,EAAA,EAAgBA,EAAA4sC,IAAO5sC,EACvBwE,EAAAxE,GAAA6sC,EAAA7sC,GAAA,GACA2sC,EAAA3sC,GAAA6sC,EAAA7sC,GAAA,GAEA,OAAAwE,EAGA,OADAA,EAAAH,KAAArF,GACAwF,EAMA,SAAAsoC,EAAAtoC,GACA,OAAAA,EAAAhD,OACA,SAIA,IAFA,IAAAoD,EAAA,EACAgoC,EAAApoC,EAAAhD,OACAxB,EAAA,EAAcA,EAAA4sC,IAAO5sC,EAAA,CACrB,IAAAL,EAAA6E,EAAAxE,GACA,GAAAhB,EAAAW,EAAA6E,EAAAxE,EAAA,KACA,GAAAA,IAAA4E,EAAA,CACAA,IACA,SAEAJ,EAAAI,KAAAjF,GAIA,OADA6E,EAAAhD,OAAAoD,EACAJ,EAKA,SAAAuoC,EAAAvoC,EAAAxD,GACA,IAAA6oC,EAAA,EACAC,EAAAtlC,EAAAhD,OAAA,EACAoT,GAAA,EACA,MAAAi1B,GAAAC,EAAA,CACA,IAAAkD,EAAAnD,EAAAC,GAAA,EACAjN,EAAA79B,EAAAwF,EAAAwoC,GAAAhsC,GACA67B,GAAA,GACA,IAAAA,IACAjoB,EAAAo4B,GAEAnD,EAAAmD,EAAA,GACKnQ,EAAA,IACLiN,EAAAkD,EAAA,GAGA,OAAAp4B,EAKA,SAAAq4B,EAAAC,EAAAC,GAEA,IADA,IAAA1tC,EAAA,IAAAyB,MAAAgsC,EAAA1rC,QACAxB,EAAA,EAAA8rC,EAAArsC,EAAA+B,OAA+BxB,EAAA8rC,IAAM9rC,EACrCP,EAAAO,GAAA,GAGA,IADA,IAAAJ,EAAA,GACA2B,GAAAvB,EAAA,EAAAmtC,EAAA3rC,QAAiCxB,EAAAuB,IAAKvB,EAGtC,IAFA,IAAAgB,EAAAmsC,EAAAntC,GACAotC,EAAApsC,EAAAQ,OACAY,EAAA,EAAAirC,EAAA,GAAAD,EAA4BhrC,EAAAirC,IAAMjrC,EAAA,CAClCxC,EAAA4B,OAAAoqC,EAAA0B,SAAAlrC,GAEA,IADA,IAAAgP,EAAA,EACAnP,EAAA,EAAkBA,EAAAmrC,IAAMnrC,EACxBG,EAAA,GAAAH,IACArC,EAAAwR,KAAApQ,EAAAiB,IAGA,IAAAsrC,EAAAR,EAAAG,EAAAttC,GACA,KAAA2tC,EAAA,GAGA,QAEA,GADA9tC,EAAA8tC,KAAAttC,KAAAD,GACAutC,GAAAL,EAAA1rC,QAAA,IAAAxC,EAAAkuC,EAAAK,GAAA3tC,GACA,MAKA,OAAAH,EAKA,SAAA+tC,EAAAhpC,EAAAipC,GACA,IAAAA,EACA,OAAAR,EAAAH,EAAAY,EAAAlpC,EAAA,IAAAA,EAAA,GAGA,IADA,IAAAmpC,EAAA,IAAAzsC,MAAAusC,GACAztC,EAAA,EAAcA,EAAAytC,IAAgBztC,EAC9B2tC,EAAA3tC,GAAA,GAEAA,EAAA,UAAA4sC,EAAApoC,EAAAhD,OAAgCxB,EAAA4sC,IAAO5sC,EAEvC,IADA,IAAAgB,EAAAwD,EAAAxE,GACAiC,EAAA,EAAAmrC,EAAApsC,EAAAQ,OAA6BS,EAAAmrC,IAAMnrC,EACnC0rC,EAAA3sC,EAAAiB,IAAAhC,KAAAD,GAGA,OAAA2tC,EAKA,SAAA16B,EAAAzO,GAEA,IADA,IAAAu6B,EAAA,GACA/+B,EAAA,EAAA8rC,EAAAtnC,EAAAhD,OAA+BxB,EAAA8rC,IAAM9rC,EAGrC,IAFA,IAAAgB,EAAAwD,EAAAxE,GACAotC,EAAA,EAAApsC,EAAAQ,OACAS,EAAA,EAAAgqC,EAAA,GAAAmB,EAA4BnrC,EAAAgqC,IAAMhqC,EAAA,CAElC,IADA,IAAArC,EAAA,GACAwC,EAAA,EAAkBA,EAAAgrC,IAAMhrC,EACxBH,IAAAG,EAAA,GACAxC,EAAAK,KAAAe,EAAAoB,IAGA28B,EAAA9+B,KAAAL,GAGA,OAAA8sC,EAAA3N,GAKA,SAAA2O,EAAAlpC,EAAAjD,GACA,GAAAA,EAAA,EACA,SAIA,IAFA,IAAAw9B,EAAA,GACA6O,GAAA,GAAArsC,EAAA,KACAvB,EAAA,EAAcA,EAAAwE,EAAAhD,SAAgBxB,EAE9B,IADA,IAAAgB,EAAAwD,EAAAxE,GACAoC,EAAAwrC,EAAiBxrC,EAAA,GAAApB,EAAAQ,OAAiBY,EAAAwpC,EAAAiC,gBAAAzrC,GAAA,CAGlC,IAFA,IAAAxC,EAAA,IAAAsB,MAAAK,EAAA,GACA6P,EAAA,EACAnP,EAAA,EAAkBA,EAAAjB,EAAAQ,SAAYS,EAC9BG,EAAA,GAAAH,IACArC,EAAAwR,KAAApQ,EAAAiB,IAGA88B,EAAA9+B,KAAAL,GAGA,OAAA8sC,EAAA3N,GAKA,SAAA3/B,EAAAoF,GAEA,IADA,IAAAmpC,EAAA,GACA3tC,EAAA,EAAA8rC,EAAAtnC,EAAAhD,OAA8BxB,EAAA8rC,IAAM9rC,EAEpC,IADA,IAAAgB,EAAAwD,EAAAxE,GACAiC,EAAA,EAAAmrC,EAAApsC,EAAAQ,OAA4BS,EAAAmrC,IAAMnrC,EAAA,CAElC,IADA,IAAArC,EAAA,IAAAsB,MAAAF,EAAAQ,OAAA,GACAY,EAAA,EAAAgP,EAAA,EAAuBhP,EAAAgrC,IAAMhrC,EAC7BA,IAAAH,IACArC,EAAAwR,KAAApQ,EAAAoB,IAGAurC,EAAA1tC,KAAAL,GAGA,OAAA8sC,EAAAiB,GAKA,SAAAG,EAAAtpC,EAAAipC,GAEA,IADA,IAAAplC,EAAA,IAAAwjC,EAAA4B,GACAztC,EAAA,EAAcA,EAAAwE,EAAAhD,SAAgBxB,EAE9B,IADA,IAAAgB,EAAAwD,EAAAxE,GACAiC,EAAA,EAAgBA,EAAAjB,EAAAQ,SAAYS,EAC5B,QAAAG,EAAAH,EAAA,EAAoBG,EAAApB,EAAAQ,SAAYY,EAChCiG,EAAA0lC,KAAA/sC,EAAAiB,GAAAjB,EAAAoB,IAIA,IAAAswB,EAAA,GACAsb,EAAA3lC,EAAA4lC,MACA,IAAAjuC,EAAA,EAAcA,EAAAguC,EAAAxsC,SAA2BxB,EACzCguC,EAAAhuC,IAAA,EAEA,IAAAA,EAAA,EAAcA,EAAAwE,EAAAhD,SAAgBxB,EAAA,CAC9B,IAAAoR,EAAA/I,EAAA6lC,KAAA1pC,EAAAxE,GAAA,IACAguC,EAAA58B,GAAA,GACA48B,EAAA58B,GAAAshB,EAAAlxB,OACAkxB,EAAAzyB,KAAA,CAAAuE,EAAAxE,GAAA2B,MAAA,MAEA+wB,EAAAsb,EAAA58B,IAAAnR,KAAAuE,EAAAxE,GAAA2B,MAAA,IAGA,OAAA+wB,EAIA,SAAAyb,EAAA3pC,GAGA,IAFA,IAAAtF,EAAA4tC,EAAAJ,EAAAgB,EAAAlpC,EAAA,KACA6D,EAAA,IAAAwjC,EAAA3sC,EAAAsC,QACAxB,EAAA,EAAcA,EAAAwE,EAAAhD,SAAgBxB,EAE9B,IADA,IAAAgB,EAAAwD,EAAAxE,GACAiC,EAAA,EAAgBA,EAAAjB,EAAAQ,SAAYS,EAE5B,IADA,IAAAmsC,EAAArB,EAAA7tC,EAAA,CAAA8B,EAAAiB,KACAG,EAAAH,EAAA,EAAoBG,EAAApB,EAAAQ,SAAYY,EAChCiG,EAAA0lC,KAAAK,EAAArB,EAAA7tC,EAAA,CAAA8B,EAAAoB,MAIA,IAAAswB,EAAA,GACAsb,EAAA3lC,EAAA4lC,MACA,IAAAjuC,EAAA,EAAcA,EAAAguC,EAAAxsC,SAA2BxB,EACzCguC,EAAAhuC,IAAA,EAEA,IAAAA,EAAA,EAAcA,EAAAwE,EAAAhD,SAAgBxB,EAAA,CAC9B,IAAAoR,EAAA/I,EAAA6lC,KAAAnB,EAAA7tC,EAAA,CAAAsF,EAAAxE,GAAA,MACAguC,EAAA58B,GAAA,GACA48B,EAAA58B,GAAAshB,EAAAlxB,OACAkxB,EAAAzyB,KAAA,CAAAuE,EAAAxE,GAAA2B,MAAA,MAEA+wB,EAAAsb,EAAA58B,IAAAnR,KAAAuE,EAAAxE,GAAA2B,MAAA,IAGA,OAAA+wB,EAIA,SAAA2b,EAAA7pC,EAAAipC,GACA,OAAAA,EACAK,EAAAtpC,EAAAipC,GAEAU,EAAA3pC,GArUA7F,EAAAiC,YAcAjC,EAAAotC,gBAUAptC,EAAAutC,aAoDAvtC,EAAAK,eAyBAL,EAAA+tC,YAsBA/tC,EAAAmuC,SAqBAnuC,EAAAouC,WAkCApuC,EAAAsuC,YAmBAtuC,EAAA6uC,OAoBA7uC,EAAAsU,UAwBAtU,EAAA+uC,WAmBA/uC,EAAAS,WAmEAT,EAAA0vC,yDCrVA,IAAAC,EAAAxvC,EAAA,QAAAyvC,EAAAzvC,EAAAyC,EAAA+sC,GAAumBC,EAAG,8DCE1mB,IAAA/nC,EAAc1H,EAAQ,QAEtBJ,EAAAC,QAAA,SAAAgjC,GAEA,IAAA6M,EAAA,0CAOA,SAAAC,EAAAC,EAAAC,GACAD,EAAAE,SACAF,EAAAE,SAAAC,UAAA5uC,KAAA0uC,IAIAl3B,OAAAC,eAAAg3B,EAAA,YACAv2B,cAAA,EACAD,YAAA,EACA5S,MAAA,CACAupC,UAAA,CAAAF,MAIAH,EAAAr4B,QAAA,SAAAkC,GACA,IAAAy2B,EAAA,SAAAz2B,EAAAwf,OAAA,GAAA3L,cAAA7T,EAAA1W,MAAA,GACAotC,EAAAL,EAAAr2B,GAEAZ,OAAAC,eAAAg3B,EAAAr2B,EAAA,CACAF,cAAA,EACAD,YAAA,EACA5S,MAAA,WACA,IAAA0pC,EAAA9tC,MAAAZ,UAAAqB,MAAA0O,KAAA4+B,WACAtB,EAAAoB,EAAAntC,MAAAvC,KAAA2vC,GAQA,OANAxoC,EAAA6G,KAAAqhC,EAAAE,SAAAC,UAAA,SAAAK,GACA,oBAAAA,EAAAJ,IACAI,EAAAJ,GAAAltC,MAAAstC,EAAAF,KAIArB,QAUA,SAAAwB,EAAAT,EAAAC,GACA,IAAAS,EAAAV,EAAAE,SACA,GAAAQ,EAAA,CAIA,IAAAP,EAAAO,EAAAP,UACApvC,EAAAovC,EAAAxsC,QAAAssC,IACA,IAAAlvC,GACAovC,EAAA7G,OAAAvoC,EAAA,GAGAovC,EAAArtC,OAAA,IAIAgtC,EAAAr4B,QAAA,SAAAkC,UACAq2B,EAAAr2B,YAGAq2B,EAAAE,WAIAjN,EAAAI,kBAAA,SAAAl6B,EAAAF,GACAtI,KAAA2K,WAAAnC,EAAAF,IAGAnB,EAAAuD,OAAA43B,EAAAI,kBAAAzhC,UAAA,CAMA0hC,mBAAA,KAMAE,gBAAA,KAEAl4B,WAAA,SAAAnC,EAAAF,GACA,IAAA6C,EAAAnL,KACAmL,EAAA3C,QACA2C,EAAA/K,MAAAkI,EACA6C,EAAA6kC,aACA7kC,EAAA8kC,eAGAC,YAAA,SAAA5nC,GACAtI,KAAAI,MAAAkI,GAGA0nC,WAAA,WACA,IAAA7kC,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACA75B,EAAA+B,EAAAk4B,aAEA,OAAA56B,EAAAs8B,SAAAt8B,EAAAs8B,WAAA55B,EAAA3C,MAAA25B,SACA15B,EAAAs8B,QAAA37B,EAAA27B,SAAA55B,EAAA3C,MAAAkE,QAAAy1B,OAAAC,MAAA,GAAA53B,IAEA,OAAA/B,EAAA26B,SAAA36B,EAAA26B,WAAAj4B,EAAA3C,MAAA25B,SACA15B,EAAA26B,QAAAh6B,EAAAg6B,SAAAj4B,EAAA3C,MAAAkE,QAAAy1B,OAAAE,MAAA,GAAA73B,KAIA64B,WAAA,WACA,OAAArjC,KAAAwI,MAAAI,KAAAC,SAAA7I,KAAAI,QAGA6iC,QAAA,WACA,OAAAjjC,KAAAwI,MAAAE,eAAA1I,KAAAI,QAGA+iC,cAAA,SAAAgN,GACA,OAAAnwC,KAAAwI,MAAA25B,OAAAgO,IAGApN,MAAA,WACA/iC,KAAA8I,QAAA,IAMAsnC,QAAA,WACApwC,KAAAqwC,OACAP,EAAA9vC,KAAAqwC,MAAArwC,OAIAswC,kBAAA,WACA,IAAAnlC,EAAAnL,KACAkG,EAAAiF,EAAAw3B,mBACA,OAAAz8B,GAAA,IAAAA,EAAA,CACAqqC,OAAAplC,EAAA3C,MACAi7B,cAAAt4B,EAAA/K,SAIAowC,eAAA,SAAApwC,GACA,IAAA+K,EAAAnL,KACAkG,EAAAiF,EAAA03B,gBACA,OAAA38B,GAAA,IAAAA,EAAA,CACAqqC,OAAAplC,EAAA3C,MACAi7B,cAAAt4B,EAAA/K,MACAslC,OAAAtlC,KAIA6vC,YAAA,WACA,IAIAtvC,EAAAiV,EAJAzK,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAr6B,EAAAuC,EAAAk4B,aAAAz6B,MAAA,GACA6nC,EAAAhoC,EAAAG,KAGA,IAAAjI,EAAA,EAAAiV,EAAAhN,EAAAzG,OAAkCxB,EAAAiV,IAAUjV,EAC5C8vC,EAAA9vC,GAAA8vC,EAAA9vC,IAAAwK,EAAAqlC,eAAA7vC,GAGA8H,EAAAW,QAAAX,EAAAW,SAAA+B,EAAAmlC,qBAGAI,mBAAA,SAAAtwC,GACA,IAAA0hB,EAAA9hB,KAAAwwC,eAAApwC,GACAJ,KAAAijC,UAAAr6B,KAAA+/B,OAAAvoC,EAAA,EAAA0hB,GACA9hB,KAAAikC,cAAAniB,EAAA1hB,GAAA,IAGAuwC,sBAAA,WACA,IAAAxlC,EAAAnL,KACAoJ,EAAA+B,EAAAk4B,aACAz6B,EAAAQ,EAAAR,OAAAQ,EAAAR,KAAA,IAKAuC,EAAAklC,QAAAznC,IACAuC,EAAAklC,OAEAP,EAAA3kC,EAAAklC,MAAAllC,GAGAikC,EAAAxmC,EAAAuC,GACAA,EAAAklC,MAAAznC,GAKAuC,EAAAylC,kBAGA9nC,OAAA3B,EAAAE,KAEAwpC,WAAA,SAAAC,GAMA,IALA,IAAAroC,EAAAzI,KAAAijC,UACAr0B,EAAAnG,EAAAG,MAAA,GACAgN,EAAAhH,EAAAzM,OACAxB,EAAA,EAESA,EAAAiV,IAAUjV,EACnBiO,EAAAjO,GAAAkwC,WAAAC,GAGAroC,EAAAW,SACAX,EAAAW,QAAAynC,WAAAC,IAIApiC,KAAA,WACA,IAAAjG,EAAAzI,KAAAijC,UACAr0B,EAAAnG,EAAAG,MAAA,GACAgN,EAAAhH,EAAAzM,OACAxB,EAAA,EAMA,IAJA8H,EAAAW,SACAX,EAAAW,QAAAsF,OAGS/N,EAAAiV,IAAUjV,EACnBiO,EAAAjO,GAAA+N,QAIAqiC,iBAAA,SAAAjvB,GACA3a,EAAAsgB,MAAA3F,EAAA6hB,OAAA7hB,EAAAylB,gBAAA,WACAzlB,EAAAylB,gBAGAD,cAAA,SAAAxlB,GACA,IAAA1Y,EAAApJ,KAAAwI,MAAAI,KAAAC,SAAAiZ,EAAA2hB,eACArjC,EAAA0hB,EAAA4jB,OACA1C,EAAAlhB,EAAAkhB,QAAA,GACA91B,EAAA/F,EAAAk9B,sBACAqD,EAAAvgC,EAAAugC,cACAhY,EAAA5N,EAAA6hB,OAEA7hB,EAAAylB,eAAA,CACA/9B,gBAAAkmB,EAAAlmB,gBACAa,YAAAqlB,EAAArlB,YACAF,YAAAulB,EAAAvlB,aAGAulB,EAAAlmB,gBAAAw5B,EAAAwE,qBAAAxE,EAAAwE,qBAAAt6B,EAAA9D,EAAAo+B,qBAAApnC,EAAAsnC,EAAAhY,EAAAlmB,kBACAkmB,EAAArlB,YAAA24B,EAAA2E,iBAAA3E,EAAA2E,iBAAAz6B,EAAA9D,EAAAu+B,iBAAAvnC,EAAAsnC,EAAAhY,EAAArlB,cACAqlB,EAAAvlB,YAAA64B,EAAA6E,iBAAA7E,EAAA6E,iBAAA36B,EAAA9D,EAAAy+B,iBAAAznC,EAAAsvB,EAAAvlB,cAMAymC,eAAA,WACA,IAAAzlC,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAr6B,EAAAuC,EAAAk4B,aAAAz6B,KACAooC,EAAAvoC,EAAAG,KAAAzG,OACA8uC,EAAAroC,EAAAzG,OAEA8uC,EAAAD,EACAvoC,EAAAG,KAAA+/B,OAAAsI,EAAAD,EAAAC,GACIA,EAAAD,GACJ7lC,EAAA+lC,eAAAF,EAAAC,EAAAD,IAOAE,eAAA,SAAAx2B,EAAAmb,GACA,QAAAl1B,EAAA,EAAkBA,EAAAk1B,IAAWl1B,EAC7BX,KAAA0wC,mBAAAh2B,EAAA/Z,IAOAwwC,WAAA,WACAnxC,KAAAkxC,eAAAlxC,KAAAqjC,aAAAz6B,KAAAzG,OAAA,EAAAytC,UAAAztC,SAMAivC,UAAA,WACApxC,KAAAijC,UAAAr6B,KAAArF,OAMA8tC,YAAA,WACArxC,KAAAijC,UAAAr6B,KAAA0oC,SAMAC,aAAA,SAAA72B,EAAAmb,GACA71B,KAAAijC,UAAAr6B,KAAA+/B,OAAAjuB,EAAAmb,GACA71B,KAAAkxC,eAAAx2B,EAAAk1B,UAAAztC,OAAA,IAMAqvC,cAAA,WACAxxC,KAAAkxC,eAAA,EAAAtB,UAAAztC,WAIAmgC,EAAAI,kBAAAh4B,OAAAvD,EAAAsqC,6MClUaC,EAAoB,SAACC,GAChC,IAAKA,EACH,MAAO,GAGT,IAAMC,EAAkB5e,aAAMoE,MAAMya,KAAKC,aAAa,gDAEtD,OAAQH,EAAYzrC,MACpB,IAAK,OACL,IAAK,YACH,IAAMC,EAAO6sB,aAAMoE,MAAMya,KAAKC,aAAa,0BAA9B,GAAAp9B,OAA2Di9B,EAAYI,YAAvE,UAEb,OAAOH,EAAe,mBAAAl9B,OAAoBi9B,EAAYzrC,OAClC,kBAATC,EAAP,GAAAuO,OACKk9B,EAAe,mBAAAl9B,OAAoBi9B,EAAYzrC,OADpD,OAAAwO,OACiEvO,GAC/DyrC,EAAe,mBAAAl9B,OAAoBi9B,EAAYzrC,OAAQknB,WACzD,KAEN,IAAK,QACH,IAAMwkB,EAAkB5e,aAAMoE,MAAMya,KAAKC,aAAa,gDACtD,OAAOH,EAAYK,kBAAoBC,EAAcN,EAAYK,mBAAqBJ,EAAgBM,UAExG,IAAK,MACH,OAAON,EAAgBO,wBACzB,IAAK,OACH,OAAOP,EAAgBQ,aAAeR,EAAgBQ,aAAa19B,OAA7B,MAAAA,OAA0C,IAA1C,MAAmD,MAAS,KACpG,QACE,MAAM,IAAItS,MAAMwvC,EAAgBS,uBAAuB39B,OAAvC,KAAAA,OAAmDi9B,EAAYzrC,UAItE+rC,EAAgB,SAAC5e,GAC5B,IAAMif,EAASC,qBAAQlf,EAAY,CAAC,aAAc,eAAgB,CAAC,OAAQ,QACrEmf,EAAkBF,EAAOnpC,IAAI,SAAC2oB,GAClC,IAAM3rB,EAAO6sB,aAAMoE,MAAMya,KAAKC,aAAa,0BAA9B,GAAAp9B,OAA2Dod,EAAUigB,YAArE,UACb,SAAAr9B,OAAUvO,EAAV,MAAAuO,OAAmB8a,oBAAOsC,EAAU2gB,WAAY,WAAhD,OAEF,OAAOD,EAAgBzxC,KAAK,OAGjB2xC,EAAkB,SAACrf,GAC9B,OAAOtvB,KAAK0K,IAALlM,MAAAwB,KAAIqU,OAAAu6B,EAAA,KAAAv6B,CAAQib,EAAWlqB,IAAI,SAAAgG,GAAC,OAAIA,EAAEsjC,eAAe,0BC1C1D,SAAA1qC,EAAAqY,GACA,OAAAA,EAAAwyB,EAAAxyB,GACA,CAAAmI,IAAAH,KAgDA,SAAAyqB,EAAAC,GACA,gBAAAr4B,EAAAra,GAAiC,OAAAqa,EAAA,GAAAq4B,EAAA,GAAAr4B,EAAA,GAAAq4B,EAAA,KAGjC,SAAAC,IAAgB,OAAAhvC,KAAAF,SAAA,GAChB,SAAA0kB,IAAgB,WAAAwqB,IAChB,SAAA3qB,IAAgB,WAAA2qB,IAEhB,SAAA1vC,EAAAsC,GACA,OACAO,KAAA,QACAP,eAAA,CAAA4iB,IAAAH,MAIA,SAAAwqB,EAAAxyB,GACA,OACArc,KAAAF,UAAAuc,EAAA,GAAAA,EAAA,IAAAA,EAAA,GACArc,KAAAF,UAAAuc,EAAA,GAAAA,EAAA,IAAAA,EAAA,IAUA,SAAAqZ,EAAA9zB,GACA,OACAO,KAAA,UACAP,eAIA,SAAAU,EAAAS,GACA,OACAZ,KAAA,UACAL,SAAAiB,EACAgM,WAAA,IAIA,SAAAkgC,EAAAx+B,GACA,OACAtO,KAAA,oBACAM,SAAAgO,GApGAnV,EAAAC,QAAA,WACA,UAAA8C,MAAA,wCAQA/C,EAAAC,QAAAyI,WAEA1I,EAAAC,QAAA+D,MAAA,SAAAwyB,EAAAzV,GACA,IAAA5Z,EAAA,GACA,IAAA7F,EAAA,EAAeA,EAAAk1B,EAAWl1B,IAC1B6F,EAAA5F,KAAAyF,EAAA+Z,EAAA/c,EAAA0E,EAAAqY,IAAA/c,MAEA,OAAA2vC,EAAAxsC,IAGAnH,EAAAC,QAAAm6B,QAAA,SAAA5D,EAAA6D,EAAAC,EAAAvZ,GACA,kBAAAsZ,MAAA,IACA,kBAAAC,MAAA,IACA,IAAAnzB,EAAA,GACA,IAAA7F,EAAA,EAAeA,EAAAk1B,EAAWl1B,IAAA,CAC1B,IAAAd,EAAA,GACAozC,EAAApxC,MAAAU,MAAA,KACA,IAAAV,MAAA63B,EAAA,IAAAvwB,IAAApF,KAAAF,QAEAovC,EAAAn8B,QAAAo8B,GACAD,EAAAn8B,QAAAq8B,GACAtzC,IAAAsC,OAAA,GAAAtC,EAAA,GAGAA,IAAAsJ,IAAA0pC,EAAA9qC,EAAAqY,KACA5Z,EAAA5F,KAAAyF,EAAAozB,EAAA,CAAA55B,MAGA,SAAAqzC,EAAAz4B,EAAAra,EAAAgzC,GACAA,EAAAhzC,KAAA,EAAAqa,EAAA24B,EAAAhzC,EAAA,GAAAqa,EAGA,SAAA04B,EAAA14B,EAAAra,GACAqa,EAAA,EAAAA,EAAA1W,KAAAsvC,GAAAJ,IAAA9wC,OAAA,GACA,IAAAmxC,EAAAvvC,KAAAF,SACAhE,EAAAe,KAAA,CACA0yC,EAAA3Z,EAAA51B,KAAAolB,IAAA1O,GACA64B,EAAA3Z,EAAA51B,KAAAklB,IAAAxO,KAIA,OAAAu4B,EAAAxsC,yCChDA,IAAA+sC,EAAY9zC,EAAQ,QACpB0H,EAAc1H,EAAQ,QAEtB,SAAA+zC,EAAA94B,EAAA+4B,EAAA/jB,EAAAgkB,GACA,IACA/yC,EAAAiV,EAAAoD,EAAA26B,EAAA7J,EAAApxB,EAAAxS,EAAA0tC,EAAA90B,EADA/D,EAAA3C,OAAA2C,KAAA2U,GAGA,IAAA/uB,EAAA,EAAAiV,EAAAmF,EAAA5Y,OAAgCxB,EAAAiV,IAAUjV,EAa1C,GAZAqY,EAAA+B,EAAApa,GAEA+X,EAAAgX,EAAA1W,GAIAy6B,EAAA11B,eAAA/E,KACAy6B,EAAAz6B,GAAAN,GAGAi7B,EAAAF,EAAAz6B,GAEA26B,IAAAj7B,GAAA,MAAAM,EAAA,IAYA,GARA0B,EAAAqD,eAAA/E,KACA0B,EAAA1B,GAAA26B,GAGA7J,EAAApvB,EAAA1B,GAEA9S,SAAAwS,EAEAxS,WAAA4jC,EACA,cAAA5jC,GAEA,GADA0tC,EAAAL,EAAAzJ,GACA8J,EAAAC,QACA/0B,EAAAy0B,EAAA76B,GACAoG,EAAA+0B,OAAA,CACAJ,EAAAz6B,GAAA8F,EAAAg1B,IAAAF,EAAAF,GAAAK,YACA,eAGI,cAAA7tC,GAAA8tC,SAAAlK,IAAAkK,SAAAt7B,GAAA,CACJ+6B,EAAAz6B,GAAA8wB,GAAApxB,EAAAoxB,GAAA4J,EACA,SAIAD,EAAAz6B,GAAAN,GAIA,IAAAxR,EAAA,SAAA+sC,GACA9sC,EAAAuD,OAAA1K,KAAAi0C,GACAj0C,KAAA2K,WAAApI,MAAAvC,KAAA4vC,YAGAzoC,EAAAuD,OAAAxD,EAAAjG,UAAA,CAEA0J,WAAA,WACA3K,KAAA2I,QAAA,GAGAq7B,MAAA,WACA,IAAA74B,EAAAnL,KAKA,OAJAmL,EAAA+oC,QACA/oC,EAAA+oC,MAAA/sC,EAAAqiC,MAAAr+B,EAAAw4B,SAEAx4B,EAAAgpC,OAAA,GACAhpC,GAGA0lC,WAAA,SAAA6C,GACA,IAAAvoC,EAAAnL,KACA0vB,EAAAvkB,EAAAw4B,OACAjpB,EAAAvP,EAAAgpC,OACAV,EAAAtoC,EAAA+oC,MAGA,OAAAxkB,GAAA,IAAAgkB,GAMAD,IACAA,EAAAtoC,EAAA+oC,MAAA,IAGAx5B,IACAA,EAAAvP,EAAAgpC,OAAA,IAGAX,EAAA94B,EAAA+4B,EAAA/jB,EAAAgkB,GAEAvoC,IAfAA,EAAA+oC,MAAAxkB,EACAvkB,EAAAgpC,OAAA,KACAhpC,IAgBAipC,gBAAA,WACA,OACAjlC,EAAAnP,KAAA2jC,OAAAx0B,EACAC,EAAApP,KAAA2jC,OAAAv0B,IAIAilC,SAAA,WACA,OAAAltC,EAAAmtC,SAAAt0C,KAAA2jC,OAAAx0B,IAAAhI,EAAAmtC,SAAAt0C,KAAA2jC,OAAAv0B,MAIAlI,EAAAwD,OAAAvD,EAAAsqC,SAEApyC,EAAAC,QAAA4H,0BChHA,IAAAC,EAAc1H,EAAQ,QACtBgG,EAAehG,EAAQ,QAAiBgG,SACxC8uC,EAAoB90C,EAAQ,QAAS+0C,gBACrCnxC,EAAA8D,EAAA9D,MACA27B,EAAA73B,EAAA63B,kBACAC,EAAA93B,EAAA83B,kBAwBA5/B,EAAAC,QAAA,SAAAwqC,EAAAp2B,EAAAw2B,EAAA/K,GAEA,IAAA2K,EAAA,UAAA1nC,MAAA,sBACA,QAAAuE,IAAA+M,GAAA,OAAAA,EAAA,UAAAtR,MAAA,wBACA,QAAAuE,IAAAujC,GAAA,OAAAA,EAAA,UAAA9nC,MAAA,uBACA,KAAAsR,GAAA,aAAAtR,MAAA,mCAEA+8B,KAAA,aACA,IAAAsV,EAAAzV,EAAAC,EAAAvrB,EAAAyrB,GAAA,UACAltB,EAAAxM,EAAAqkC,GACA3zB,EAAA,IAAAo+B,EAAAtiC,EAAA,GAAAA,EAAA,IACAyiC,EAAAv+B,EAAAw+B,sBAAAF,EAAAvK,GAKA,OADAwK,EAAAnsB,KAAAmsB,EAAAnsB,IAAAtW,EAAA,YAAAA,EAAA,GAAAyiC,EAAAnsB,IAAA,UACAllB,EAAA,CAAAqxC,EAAAnsB,IAAAmsB,EAAAtsB,gMCvBIwsB,EAAW,SAAAC,GACf,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAAN,EAAAO,YACAC,EAAAP,EAAAM,YAEAE,EAAAD,EACMn9B,OAAAq9B,EAAA,KAAAr9B,CAAe68B,EAAAM,GAAAN,EAErBS,EAAuBt9B,OAAAq9B,EAAA,KAAAr9B,CAASo9B,GAChCG,EAA2Bv9B,OAAAw9B,EAAA,KAAAx9B,CAC3B28B,EAAAC,EAAAU,EAAAR,GAEAW,EAAiCC,EAAA,KAEjCC,EAAA,IAA4Bz0C,EAAA,KAC5ByzC,EAAAC,EAAAQ,EAAAH,EACAM,EAAAE,GAEAG,EAAAD,EAAAE,wBACAC,EAAAd,EAAAY,EAAAL,EAAAR,GACA/d,EAAgB+e,EAAA,KAAUC,OAC1BF,IACA9e,EAAc+e,EAAA,KAAUE,MAExB,IAAAC,EAAAJ,IAAAK,gBAAA,EAEA1B,EAAA7jC,KAAAhR,KAAAi1C,EAAAC,EAAAoB,EAAAlf,GAMAp3B,KAAAw2C,YAAAxB,EAMAh1C,KAAAy2C,iBAAApB,EAMAr1C,KAAA02C,eAAAX,EAMA/1C,KAAA22C,kBAAAzB,EAMAl1C,KAAA42C,cAAA3B,EAMAj1C,KAAA62C,aAAAX,EAMAl2C,KAAA82C,kBAAAR,EAMAt2C,KAAA+2C,QAAA,KAMA/2C,KAAAg3C,mBAAA,KAoFA,OAjFAnC,IAAAC,EAAAnxB,UAAAkxB,GACAC,EAAA7zC,UAAAmX,OAAAwL,OAAAixB,KAAA5zC,WACA6zC,EAAA7zC,UAAA4iB,YAAAixB,EAKAA,EAAA7zC,UAAAg2C,gBAAA,WACAj3C,KAAAo3B,OAAsB+e,EAAA,KAAUe,SAChCl3C,KAAAm3C,kBAEAtC,EAAA5zC,UAAAg2C,gBAAAjmC,KAAAhR,OAMA80C,EAAA7zC,UAAAm2C,SAAA,WACA,OAAAp3C,KAAA+2C,SAMAjC,EAAA7zC,UAAAo2C,cAAA,WACA,OAAAr3C,KAAAw2C,aAMA1B,EAAA7zC,UAAAq2C,WAAA,WACA,IAAAC,EAAAv3C,KAAA62C,aAAAW,WACA,GAAAD,GAAuBpB,EAAA,KAAUC,OAAA,CACjC,IAAApqC,EAAkBoM,OAAAq9B,EAAA,KAAAr9B,CAAQpY,KAAA42C,eAAA52C,KAAA22C,kBAC1BxqC,EAAmBiM,OAAAq9B,EAAA,KAAAr9B,CAASpY,KAAA42C,eAAA52C,KAAA22C,kBAE5B32C,KAAA+2C,QAAqB3+B,OAAAw9B,EAAA,KAAAx9B,CAAiBpM,EAAAG,EAAAnM,KAAA82C,kBACtC92C,KAAA62C,aAAAY,gBAAAz3C,KAAAy2C,iBACAz2C,KAAA22C,kBAAA32C,KAAA42C,cAAA52C,KAAA02C,eAAA,EACApxB,OAAAtlB,KAAA62C,aAAAvB,YACAoC,MAAA13C,KAAA62C,aAAAO,aACS,GAETp3C,KAAAo3B,MAAAmgB,EACAv3C,KAAA6Q,WAMAikC,EAAA7zC,UAAA02C,KAAA,WACA,GAAA33C,KAAAo3B,OAAsB+e,EAAA,KAAUE,KAAA,CAChCr2C,KAAAo3B,MAAmB+e,EAAA,KAAUe,QAC7Bl3C,KAAA6Q,UAEA,IAAA0mC,EAAAv3C,KAAA62C,aAAAW,WACAD,GAAyBpB,EAAA,KAAUC,QAAAmB,GAA0BpB,EAAA,KAAUyB,MACvE53C,KAAAs3C,cAEAt3C,KAAAg3C,mBAAkC5+B,OAAA0K,EAAA,KAAA1K,CAAMpY,KAAA62C,aAC9BgB,EAAA,KAASC,OAAA,SAAA1vC,GACnB,IAAAmvC,EAAAv3C,KAAA62C,aAAAW,WACAD,GAA+BpB,EAAA,KAAUC,QAAAmB,GAA0BpB,EAAA,KAAUyB,QAC7E53C,KAAAm3C,kBACAn3C,KAAAs3C,eAEWt3C,MACXA,KAAA62C,aAAAc,UAQA7C,EAAA7zC,UAAAk2C,gBAAA,WACI/+B,OAAA0K,EAAA,KAAA1K,CAA2DpY,KAAA,oBAC/DA,KAAAg3C,mBAAA,MAGAlC,EApKe,CAqKbiD,EAAA,MAGaC,EAAA,cChMfv4C,EAAAgB,EAAA+f,EAAA,sBAAAy3B,IAiBA,IAAAC,EAAA,CAOAC,eAAA,iBAOAC,aAAA,eAOAC,eAAA,kBAUAC,EAAA,SAAAC,GACA,SAAAD,EAAApyC,EAAAwxC,GAEAa,EAAAvnC,KAAAhR,KAAAkG,GAOAlG,KAAA03C,QAQA,OAJAa,IAAAD,EAAA30B,UAAA40B,GACAD,EAAAr3C,UAAAmX,OAAAwL,OAAA20B,KAAAt3C,WACAq3C,EAAAr3C,UAAA4iB,YAAAy0B,EAEAA,EAlBA,CAmBEC,EAAA,MAoBEC,EAAW,SAAAC,GACf,SAAAC,EAAAhsC,GACA+rC,EAAAznC,KAAAhR,KAAA,CACA24C,aAAAjsC,EAAAisC,aACA9Z,WAAAnyB,EAAAmyB,WACAzH,MAAA1qB,EAAA0qB,QAOAp3B,KAAA44C,kBAAAjyC,IAAA+F,EAAAmsC,YACAnsC,EAAAmsC,YAAA,KAOA74C,KAAA84C,kBAAA,KAOA94C,KAAA+4C,qBAAA,EAkHA,OA/GAN,IAAAC,EAAA/0B,UAAA80B,GACAC,EAAAz3C,UAAAmX,OAAAwL,OAAA60B,KAAAx3C,WACAy3C,EAAAz3C,UAAA4iB,YAAA60B,EAMAA,EAAAz3C,UAAA+3C,eAAA,WACA,OAAAh5C,KAAA44C,cAQAF,EAAAz3C,UAAAg4C,sBAAA,SAAAjjC,GACA,GAAAhW,KAAA44C,aAAA,CACA,IAAA1K,EAAgB91B,OAAAi3B,EAAA,KAAAj3B,CAAiBpY,KAAA44C,aAAA5iC,EAAA,GACjCA,EAAAhW,KAAA44C,aAAA1K,GAEA,OAAAl4B,GAUA0iC,EAAAz3C,UAAAm2C,SAAA,SAAA9xB,EAAAtP,EAAAm/B,EAAAtW,GACA,IAAAqa,EAAAl5C,KAAAq3C,gBACA,GAASvB,EAAA,MACToD,GACAra,IACQzmB,OAAA0c,EAAA,cAAA1c,CAAU8gC,EAAAra,GAKb,CACL,GAAA7+B,KAAA84C,kBAAA,CACA,GAAA94C,KAAA+4C,sBAAA/4C,KAAAm5C,eACY/gC,OAAA0c,EAAA,cAAA1c,CACZpY,KAAA84C,kBAAAzB,gBAAAxY,IACA7+B,KAAA84C,kBAAArB,iBAAAzhC,GACYoC,OAAAq9B,EAAA,KAAAr9B,CAAMpY,KAAA84C,kBAAAxD,YAAAhwB,GAClB,OAAAtlB,KAAA84C,kBAEA94C,KAAA84C,kBAAAM,UACAp5C,KAAA84C,kBAAA,KAWA,OARA94C,KAAA84C,kBAAA,IAAmCd,EACnCkB,EAAAra,EAAAvZ,EAAAtP,EAAAm/B,EACA,SAAA7vB,EAAAtP,EAAAm/B,GACA,OAAAn1C,KAAAq5C,iBAAA/zB,EAAAtP,EACAm/B,EAAA+D,IACSI,KAAAt5C,OACTA,KAAA+4C,qBAAA/4C,KAAAm5C,cAEAn5C,KAAA84C,kBAtBA,OAHAI,IACAra,EAAAqa,GAEAl5C,KAAAq5C,iBAAA/zB,EAAAtP,EAAAm/B,EAAAtW,IAmCA6Z,EAAAz3C,UAAAo4C,iBAAA,SAAA/zB,EAAAtP,EAAAm/B,EAAAtW,GACA,OAAWzmB,OAAAmhC,EAAA,KAAAnhC,IAQXsgC,EAAAz3C,UAAAu4C,kBAAA,SAAAC,GACA,IAAA/B,EAAyD+B,EAAA,OACzD,OAAA/B,EAAAF,YACA,KAAWrB,EAAA,KAAUe,QACrBl3C,KAAA05C,SAAA,EACA15C,KAAA25C,cACA,IAAArB,EAAAJ,EAAAC,eACAT,IACA,MACA,KAAWvB,EAAA,KAAUC,OACrBp2C,KAAA05C,SAAA,EACA15C,KAAA25C,cACA,IAAArB,EAAAJ,EAAAE,aACAV,IACA,MACA,KAAWvB,EAAA,KAAUyB,MACrB53C,KAAA05C,SAAA,EACA15C,KAAA25C,cACA,IAAArB,EAAAJ,EAAAG,eACAX,IACA,MACA,WAKAgB,EA7Ie,CA8IbkB,EAAA,MASK,SAAA3B,EAAAP,EAAAmC,GACwCnC,EAAAN,WAAAyC,MAIhCr5B,EAAA,4CCxOf,SAAAs5B,EAAA93C,EAAAoe,EAAAsf,GAEA,IAGA/+B,EAAAL,EAAAC,EAAAw5C,EAAAC,EAHAzM,EAAAvrC,EAAAG,OACA83C,EAAAC,EAAAl4C,EAAA,GAAAoe,GACA1C,EAAA,GAKA,IAFAgiB,MAAA,IAEA/+B,EAAA,EAAeA,EAAA4sC,EAAS5sC,IAAA,CACxBL,EAAA0B,EAAArB,EAAA,GACAJ,EAAAyB,EAAArB,GACAo5C,EAAAC,EAAAE,EAAA35C,EAAA6f,GAEA,SAEA,KAAA65B,EAAAF,GAAA,CACAr8B,EAAA9c,KAAAN,GAEAy5C,IAAAC,GACAt8B,EAAA9c,KAAAL,GAEAI,EAAA4sC,EAAA,IACA7N,EAAA9+B,KAAA8c,GACAA,EAAA,KAEiB/c,IAAA4sC,EAAA,GACjB7vB,EAAA9c,KAAAL,GAEA,MAEa,GAAA05C,EAAAF,EACb,MAEaE,GACb35C,EAAA65C,EAAA75C,EAAAC,EAAA05C,EAAA75B,GACA65B,EAAAC,EAAA55C,EAAA8f,KAGA7f,EAAA45C,EAAA75C,EAAAC,EAAAw5C,EAAA35B,GACA25B,EAAAG,EAAA35C,EAAA6f,IAIA65B,EAAAD,EAKA,OAFAt8B,EAAAvb,QAAAu9B,EAAA9+B,KAAA8c,GAEAgiB,EAKA,SAAA0a,EAAAp4C,EAAAoe,GAEA,IAAAsf,EAAArlB,EAAAnW,EAAAm2C,EAAA15C,EAAAu7B,EAAAvoB,EAGA,IAAA0G,EAAA,EAAkBA,GAAA,EAAWA,GAAA,GAK7B,IAJAqlB,EAAA,GACAx7B,EAAAlC,IAAAG,OAAA,GACAk4C,IAAAH,EAAAh2C,EAAAkc,GAAA/F,GAEA1Z,EAAA,EAAmBA,EAAAqB,EAAAG,OAAmBxB,IACtCu7B,EAAAl6B,EAAArB,GACAgT,IAAAumC,EAAAhe,EAAA9b,GAAA/F,GAGA1G,IAAA0mC,GAAA3a,EAAA9+B,KAAAu5C,EAAAj2C,EAAAg4B,EAAA7hB,EAAA+F,IAEAzM,GAAA+rB,EAAA9+B,KAAAs7B,GAEAh4B,EAAAg4B,EACAme,EAAA1mC,EAKA,GAFA3R,EAAA09B,GAEA19B,EAAAG,OAAA,MAGA,OAAAu9B,EAKA,SAAAya,EAAA75C,EAAAC,EAAA8Z,EAAA+F,GACA,SAAA/F,EAAA,CAAA/Z,EAAA,IAAAC,EAAA,GAAAD,EAAA,KAAA8f,EAAA,GAAA9f,EAAA,KAAAC,EAAA,GAAAD,EAAA,IAAA8f,EAAA,IACA,EAAA/F,EAAA,CAAA/Z,EAAA,IAAAC,EAAA,GAAAD,EAAA,KAAA8f,EAAA,GAAA9f,EAAA,KAAAC,EAAA,GAAAD,EAAA,IAAA8f,EAAA,IACA,EAAA/F,EAAA,CAAA+F,EAAA,GAAA9f,EAAA,IAAAC,EAAA,GAAAD,EAAA,KAAA8f,EAAA,GAAA9f,EAAA,KAAAC,EAAA,GAAAD,EAAA,KACA,EAAA+Z,EAAA,CAAA+F,EAAA,GAAA9f,EAAA,IAAAC,EAAA,GAAAD,EAAA,KAAA8f,EAAA,GAAA9f,EAAA,KAAAC,EAAA,GAAAD,EAAA,KACA,KAUA,SAAA45C,EAAAhe,EAAA9b,GACA,IAAA1f,EAAA,EAQA,OANAw7B,EAAA,GAAA9b,EAAA,GAAA1f,GAAA,EACAw7B,EAAA,GAAA9b,EAAA,KAAA1f,GAAA,GAEAw7B,EAAA,GAAA9b,EAAA,GAAA1f,GAAA,EACAw7B,EAAA,GAAA9b,EAAA,KAAA1f,GAAA,GAEAA,EAxHArB,EAAAC,QAAAw6C,EAEAA,EAAAQ,SAAAR,EACAA,EAAArgB,QAAA2gB,gECGA,GAA8B/6C,EAAAC,QAAA,IAAAooB,EAAiCjoB,EAAQ,QA+BvEioB,EAAAzmB,UAAAs5C,WAAA,SAAAl3C,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IACA,OAAAwO,OAAA9nB,KAAAw6C,QAAAn3C,GAAAqQ,SAAAsL,QAAA,IACK,MAAA5W,GACL,OAAAi9B,MAmBA3d,EAAAzmB,UAAAw5C,iBAAA,SAAAp3C,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IACA,OAAAwO,OAAA9nB,KAAAw6C,QAAAn3C,GAAAq3C,eAAA17B,QAAA,IACK,MAAA5W,GACL,OAAAi9B,MAmBA3d,EAAAzmB,UAAA05C,eAAA,SAAAt3C,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IACA,OAAAwO,OAAA9nB,KAAAw6C,QAAAn3C,GAAAu3C,aAAA57B,QAAA,IACK,MAAA5W,GACL,OAAAi9B,MAoBA3d,EAAAzmB,UAAA45C,iBAAA,SAAAnnC,EAAAgnC,GACA,OAAA16C,KAAA86C,OAAAhzB,OAAApU,GAAAoU,OAAA4yB,IAAAr3C,OAmBAqkB,EAAAzmB,UAAA85C,eAAA,SAAArnC,EAAAgnC,GACA,OAAA5yB,OAAA9nB,KAAA86C,OAAAhzB,OAAApU,GAAAoU,OAAA4yB,IAAAE,aAAA57B,QAAA,KAaA0I,EAAAzmB,UAAA65C,OAAA,SAAApnC,EAAAgnC,GACA,IAiBAM,EAAAC,EAAAC,EAAAC,EAEAC,EAnBAC,EAAAr7C,KAAAooB,IAAAC,YAAAizB,EAAAt7C,KAAAuoB,IAAAF,YACAkzB,EAAAb,EAAAryB,YACAmV,EAAA9pB,EAEApT,EAAAN,KAAAgoB,MAAAwzB,UAAAl7C,EAAAC,EAAAP,KAAAgoB,MAAAwzB,UAAAj7C,EAAAiU,EAAAxU,KAAAgoB,MAAAwzB,UAAAhnC,EAEAinC,EAAA13C,KAAAolB,IAAAoyB,GACAG,EAAA33C,KAAAklB,IAAAsyB,GAEAI,GAAA,EAAAnnC,GAAAzQ,KAAAimB,IAAAqxB,GAAAO,EAAA,EAAA73C,KAAAgR,KAAA,EAAA4mC,KAAAE,EAAAF,EAAAC,EACAE,EAAA/3C,KAAAg4C,MAAAJ,EAAAD,GACAM,EAAAJ,EAAAH,EACAQ,EAAA,EAAAD,IACAE,EAAAD,GAAA37C,IAAAC,WACA4nC,EAAA,EAAA+T,EAAA,YAAAA,MAAA,QAAAA,GAAA,MACA9T,EAAA8T,EAAA,UAAAA,MAAA,MAAAA,GAAA,MAIAC,EAAA3e,GAAAj9B,EAAA4nC,GAAAiU,EAAA,EACA,GACApB,EAAAj3C,KAAAklB,IAAA,EAAA6yB,EAAAK,GACAlB,EAAAl3C,KAAAolB,IAAAgzB,GACAjB,EAAAn3C,KAAAklB,IAAAkzB,GACAhB,EAAA/S,EAAA6S,GAAAD,EAAA5S,EAAA,GAAA8S,GAAA,EAAAF,IAAA,GACA5S,EAAA,EAAA4S,GAAA,EAAAC,IAAA,MAAAD,IAAA,KACAI,EAAAe,EACAA,EAAA3e,GAAAj9B,EAAA4nC,GAAAgT,QACKp3C,KAAA6hB,IAAAu2B,EAAAf,GAAA,SAAAgB,EAAA,KACL,GAAAA,GAAA,cAAAh6C,MAAA,8BAEA,IAAA+M,EAAA0sC,EAAAZ,EAAAW,EAAAV,EAAAQ,EACAW,EAAAt4C,KAAAg4C,MAAAF,EAAAX,EAAAU,EAAAX,EAAAS,GAAA,EAAAlnC,GAAAzQ,KAAAgR,KAAAinC,IAAA7sC,MACAmZ,EAAAvkB,KAAAg4C,MAAAd,EAAAQ,EAAAG,EAAAV,EAAAW,EAAAZ,EAAAS,GACArT,EAAA7zB,EAAA,GAAAynC,GAAA,EAAAznC,GAAA,IAAAynC,IACAK,EAAAh0B,GAAA,EAAA+f,GAAA7zB,EAAAwnC,GACAG,EAAA9T,EAAA4S,GAAAD,EAAA3S,EAAA6S,GAAA,EAAAF,IAAA,KACAuB,GAAAjB,EAAAgB,EAAA,EAAAv4C,KAAAsvC,KAAA,EAAAtvC,KAAAsvC,IAAAtvC,KAAAsvC,GAEAmJ,EAAAz4C,KAAAg4C,MAAAC,GAAA7sC,GAGA,OAFAqtC,KAAA,EAAAz4C,KAAAsvC,KAAA,EAAAtvC,KAAAsvC,IAEA,CACAhwC,MAAA,IAAAqkB,EAAA20B,EAAA7vB,YAAA+vB,EAAA/vB,YAAAxsB,KAAAgoB,OACA4yB,aAAA4B,EAAAhwB,YACA4vB,eAaA10B,EAAAzmB,UAAAu5C,QAAA,SAAAn3C,GACA,IAAAgc,EAAArf,KAAAuf,EAAAlc,GACA,KAAAgc,EAAAkJ,MAAAlJ,EAAAkJ,IAAA,KACA,IASAk0B,EAAAC,EAAAC,EAAAX,EAAA3T,EAEAuU,EAXAvB,EAAAh8B,EAAA+I,IAAAC,YAAAizB,EAAAj8B,EAAAkJ,IAAAF,YACAg0B,EAAA98B,EAAA6I,IAAAC,YAAAk0B,EAAAh9B,EAAAgJ,IAAAF,YAEA/nB,EAAAN,KAAAgoB,MAAAwzB,UAAAl7C,EAAAC,EAAAP,KAAAgoB,MAAAwzB,UAAAj7C,EAAAiU,EAAAxU,KAAAgoB,MAAAwzB,UAAAhnC,EAEA8nC,EAAAC,EAAAjB,EACAK,GAAA,EAAAnnC,GAAAzQ,KAAAimB,IAAAqxB,GAAAO,EAAA,EAAA73C,KAAAgR,KAAA,EAAA4mC,KAAAE,EAAAF,EAAAC,EACAiB,GAAA,EAAAroC,GAAAzQ,KAAAimB,IAAAqyB,GAAAS,EAAA,EAAA/4C,KAAAgR,KAAA,EAAA8nC,KAAAE,EAAAF,EAAAC,EAEA7B,EAAA,EAAAC,EAAA,EAAAiB,EAAA,EAAAF,EAAA,EAAAjB,EAAA,EAEA1yB,EAAAg0B,EAAAF,EAAA,EACA,GAIA,GAHAK,EAAA14C,KAAAolB,IAAAb,GACAo0B,EAAA34C,KAAAklB,IAAAX,GACAq0B,EAAAG,EAAAL,GAAAK,EAAAL,IAAAb,EAAAmB,EAAAlB,EAAAiB,EAAAJ,IAAAd,EAAAmB,EAAAlB,EAAAiB,EAAAJ,GACA,GAAAC,EAAA,MAUA,GATA1B,EAAAl3C,KAAAgR,KAAA4nC,GACAzB,EAAAW,EAAAkB,EAAAnB,EAAAkB,EAAAJ,EACAP,EAAAp4C,KAAAg4C,MAAAd,EAAAC,GACAc,EAAAJ,EAAAkB,EAAAL,EAAAxB,EACAgB,EAAA,EAAAD,IACAhB,EAAA,GAAAiB,EAAAf,EAAA,EAAAW,EAAAkB,EAAAd,EAAA,EACA5T,EAAA7zB,EAAA,GAAAynC,GAAA,EAAAznC,GAAA,IAAAynC,IACAW,EAAAt0B,EACAA,EAAAg0B,GAAA,EAAAjU,GAAA7zB,EAAAwnC,GAAAG,EAAA9T,EAAA4S,GAAAD,EAAA3S,EAAA6S,GAAA,EAAAF,IAAA,KACAj3C,KAAA6hB,IAAA0C,GAAAvkB,KAAAsvC,GAAA,UAAAjxC,MAAA,eACK2B,KAAA6hB,IAAA0C,EAAAs0B,GAAA,SAAAR,EAAA,KACL,GAAAA,GAAA,cAAAh6C,MAAA,8BAEA,IAAA85C,EAAAD,GAAA37C,IAAAC,WACA4nC,EAAA,EAAA+T,EAAA,YAAAA,MAAA,QAAAA,GAAA,MACA9T,EAAA8T,EAAA,UAAAA,MAAA,MAAAA,GAAA,MACAf,EAAA/S,EAAA6S,GAAAD,EAAA5S,EAAA,GAAA8S,GAAA,EAAAF,IAAA,GACA5S,EAAA,EAAA4S,GAAA,EAAAC,IAAA,MAAAD,IAAA,KAEAxd,EAAAj9B,EAAA4nC,GAAAgU,EAAAhB,GAEAI,EAAAx3C,KAAAg4C,MAAAe,EAAAL,EAAAb,EAAAmB,EAAAlB,EAAAiB,EAAAJ,GACAF,EAAAz4C,KAAAg4C,MAAAH,EAAAa,GAAAZ,EAAAiB,EAAAlB,EAAAmB,EAAAL,GAKA,OAHAnB,KAAA,EAAAx3C,KAAAsvC,KAAA,EAAAtvC,KAAAsvC,IACAmJ,KAAA,EAAAz4C,KAAAsvC,KAAA,EAAAtvC,KAAAsvC,IAEA,CACA3/B,SAAA8pB,EACAkd,eAAA,GAAAld,EAAA6H,IAAAkW,EAAA/uB,YACAouB,aAAA,GAAApd,EAAA6H,IAAAmX,EAAAhwB,YACA4vB,oBAQAz1C,IAAAmhB,OAAA7mB,UAAAonB,YACAP,OAAA7mB,UAAAonB,UAAA,WAA6C,OAAAroB,KAAA+D,KAAAsvC,GAAA,WAI7C1sC,IAAAmhB,OAAA7mB,UAAAurB,YACA1E,OAAA7mB,UAAAurB,UAAA,WAA6C,WAAAxsB,KAAA+D,KAAAsvC,KAIbh0C,EAAAC,UAAAD,EAAAC,QAAAooB,2BCrRhC,IAAA/T,EAAalU,EAAQ,QACrBsH,EAAkBtH,EAAQ,QAAYsH,YACtCi2C,EAAoBv9C,EAAQ,QAC5Bw9C,EAAuBx9C,EAAQ,QAmC/B,SAAAy9C,EAAAC,EAAAC,GACA,OAAAD,EAAAj3C,MACA,YACA,OAAAk3C,EAAAl3C,MACA,YACA,OAAAm3C,EAAAF,EAAAx3C,YAAAy3C,EAAAz3C,aACA,iBACA,OAAA23C,EAAAF,EAAAD,GACA,cACA,OAAAxpC,EAAAwpC,EAAAC,GAGA,MACA,iBACA,OAAAA,EAAAl3C,MACA,YACA,OAAAo3C,EAAAH,EAAAC,GACA,iBACA,OAAAG,EAAAJ,EAAAC,GACA,cACA,OAAAI,EAAAJ,EAAAD,GAGA,MACA,cACA,OAAAC,EAAAl3C,MACA,YACA,OAAAyN,EAAAypC,EAAAD,GACA,iBACA,OAAAK,EAAAL,EAAAC,GACA,cACA,OAAAK,EAAAL,EAAAD,KAMA,SAAAG,EAAAxnC,EAAAzS,GACA,QAAA1C,EAAA,EAAmBA,EAAAmV,EAAAnQ,YAAAxD,OAAA,EAAuCxB,IAC1D,GAAA+8C,EAAA5nC,EAAAnQ,YAAAhF,GAAAmV,EAAAnQ,YAAAhF,EAAA,GAAA0C,EAAAsC,aACA,SAGA,SAGA,SAAA43C,EAAAI,EAAAC,GACA,IAAAC,EAAAb,EAAAW,EAAAC,GACA,OAAAC,EAAAr3C,SAAArE,OAAA,EAMA,SAAAq7C,EAAA/jB,EAAA3jB,GACA,IAAA+nC,EAAAb,EAAAlnC,EAAAmnC,EAAAxjB,IACA,OAAAokB,EAAAr3C,SAAArE,OAAA,EAgBA,SAAAs7C,EAAAK,EAAAC,GACA,QAAAp9C,EAAA,EAAmBA,EAAAm9C,EAAAn4C,YAAA,GAAAxD,OAAoCxB,IACvD,GAAAgT,EAAAmqC,EAAAn4C,YAAA,GAAAhF,GAAAo9C,GACA,SAGA,QAAAC,EAAA,EAAoBA,EAAAD,EAAAp4C,YAAA,GAAAxD,OAAqC67C,IACzD,GAAArqC,EAAAoqC,EAAAp4C,YAAA,GAAAq4C,GAAAF,GACA,SAGA,SAGA,SAAAJ,EAAAO,EAAAC,EAAApb,GACA,IAAAqb,EAAArb,EAAA,GAAAmb,EAAA,GACAG,EAAAtb,EAAA,GAAAmb,EAAA,GACAI,EAAAH,EAAA,GAAAD,EAAA,GACAK,EAAAJ,EAAA,GAAAD,EAAA,GACAM,EAAAJ,EAAAG,EAAAF,EAAAC,EACA,WAAAE,IAGAx6C,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EACAJ,EAAA,IAAAnb,EAAA,IAAAA,EAAA,IAAAob,EAAA,GAEAA,EAAA,IAAApb,EAAA,IAAAA,EAAA,IAAAmb,EAAA,GAEKK,EAAA,EACLL,EAAA,IAAAnb,EAAA,IAAAA,EAAA,IAAAob,EAAA,GAEAA,EAAA,IAAApb,EAAA,IAAAA,EAAA,IAAAmb,EAAA,IAYA,SAAAZ,EAAAmB,EAAAC,GACA,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAxIAp/C,EAAAC,QAAA,SAAAw+C,EAAAC,GACA,IAAAW,EAOA,OANA33C,EAAA+2C,EAAA,SAAAa,GACA53C,EAAAg3C,EAAA,SAAAa,GACA,QAAAF,EAAA,SACAA,EAAAxB,EAAAyB,EAAA94C,SAAA+4C,EAAA/4C,cAGA64C,6tBClBel+B,EAAA,MACb6R,OAAQ,CACNwsB,QAEFntB,SAAU,CACRotB,qBADQ,WAEN,MAAO,CAAC9+C,KAAKmJ,MAEfirB,+BAJQ,WAI0B,IAAAtZ,EAAA9a,KAChC,OAAKA,KAAK4vB,oBACH5vB,KAAK8+C,qBAAqBhrB,OAAO,SAACttB,EAAUu4C,GAAX,OACtCv4C,EAASkO,YACyB/N,IAAhCo4C,EAAYntB,gBAAgCmtB,EAAYntB,gBAAgBzoB,IAAI,SAACkoB,EAAgBjxB,GAC3F,MAAO,CACL8F,KAAM,UACNL,SAAU4mB,IAAM4E,EAAexrB,UAC/BiN,WAAY,CACVksC,UAAW3tB,EAAe2tB,UAC1Bx0C,GAAI6mB,EAAe7mB,GACnBy0C,UAAW5tB,EAAe4tB,UAC1BC,cAAe7tB,EAAe6tB,cAC9BtsB,UAAWvB,EAAeuB,UAC1B1sB,KAAMmrB,EAAenrB,KACrBD,MAAOorB,EAAeprB,MACtB8pB,aAAcjV,EAAKiV,aACnBgB,YAAaguB,EAAYI,aAAa/+C,GAAS2+C,EAAYI,aAAa/+C,GAAO6F,MAAQ,SAGxF,KACJ,IApBiC,IAuBxCm5C,qBA5BQ,WA4BgB,IAAAnkC,EAAAjb,KAChBq/C,EAAgB,SAAA7qB,GAAA,IAAE3uB,EAAF2uB,EAAE3uB,SAAiBy5C,EAAnB9qB,EAAYvuB,MAAZ,MAAsC,CAC1DC,KAAM,UACNL,SAAU4mB,IAAM5mB,GAChBiN,WAAY,CACVwsC,eACA90C,GAAIyQ,EAAKskC,qBAAL,QAAA7qC,OAAkC4qC,OAGpCE,EAAgB,SAAAT,GAAW,OAAIA,EAAYlrB,MAAM1qB,IAAIk2C,IAE3D,OAAOr/C,KAAK8+C,qBAAqB31C,IAAIq2C,GAAe1rB,OAAO2rB,OAAS,KAEtEC,+BAzCQ,WA0CN,IAAMC,EAAY3/C,KAAKo1B,OAAOgC,MAAMwoB,kBAAkBh3C,KAAKi3C,MAErDC,EAAuB,SAAAzvB,GAAO,OAAKA,EAAU,CACjDnqB,KAAM,UACNL,SAAU4mB,IAAMkzB,EAAUtvB,GAASxqB,UACnCiN,WAAY,CACVitC,YAAa,yBAEb,IAEJ,OAAOD,EAAqB9/C,KAAKqwB,UAEnC2vB,oBAtDQ,WAuDN,OAAOhgD,KAAKo/C,sBAEd54C,SAzDQ,WA0DN,YAAuBG,IAAnB3G,KAAKmJ,IAAI0qB,MAA4B,GAElCosB,eAAqBjgD,KAAKmJ,IAAK,YAExC+2C,OA9DQ,WA+DN,MAAO,CACLnB,YAAaA,OACb1tB,eAAgB8uB,UAItB5rB,QAAO0C,EAAA,GACFmpB,eAAW,wBAAyB,CACrC,oCCpFN,IAAAzuC,EAAgBlS,EAAQ,QAAYkS,UACpC63B,EAAY/pC,EAAQ,QAqBpB,SAAAs/B,EAAAr4B,EAAA+3B,GACA,OAAA4hB,EAAA35C,EAAA+3B,EAAA,YAiBA,SAAAK,EAAAp4B,EAAA+3B,GACA,OAAA4hB,EAAA35C,EAAA+3B,EAAA,SAaA,SAAA4hB,EAAA35C,EAAA+3B,EAAAI,GACA,IAAAn4B,EAAA,UAAAtE,MAAA,uBAUA,OARA,IAAAq8B,IAAA/3B,EAAA8iC,EAAA9iC,IAEAiL,EAAAjL,EAAA,SAAA2M,GACA,IAAA+2B,EAAA,aAAAvL,EAAAyhB,EAAAjtC,GAAAktC,EAAAltC,GACAA,EAAA,GAAA+2B,EAAA,GACA/2B,EAAA,GAAA+2B,EAAA,KAGA1jC,EAWA,SAAA45C,EAAAE,GACA,IAAAC,EAAA18C,KAAAsvC,GAAA,IAEAlL,EAAA,QACAuY,EAAA,mBAIAC,EAAA58C,KAAA6hB,IAAA46B,EAAA,SAAAA,EAAA,GAAAA,EAAA,OAAAI,EAAAJ,EAAA,IACAK,EAAA,CACA1Y,EAAAwY,EAAAF,EACAtY,EAAApkC,KAAA02B,IAAA12B,KAAAimB,IAAA,IAAAjmB,KAAAsvC,GAAA,GAAAmN,EAAA,GAAAC,KASA,OALAI,EAAA,GAAAH,IAAAG,EAAA,GAAAH,GACAG,EAAA,IAAAH,IAAAG,EAAA,IAAAH,GACAG,EAAA,GAAAH,IAAAG,EAAA,GAAAH,GACAG,EAAA,IAAAH,IAAAG,EAAA,IAAAH,GAEAG,EAWA,SAAAN,EAAAM,GAEA,IAAAC,EAAA,IAAA/8C,KAAAsvC,GACAlL,EAAA,QAEA,OACA0Y,EAAA,GAAAC,EAAA3Y,GACA,GAAApkC,KAAAsvC,GAAA,EAAAtvC,KAAAg9C,KAAAh9C,KAAAi9C,KAAAH,EAAA,GAAA1Y,KAAA2Y,GAWA,SAAAF,EAAAzxC,GACA,OAAAA,EAAA,KAAAA,EAAA,MA3HA9P,EAAAC,QAAA,CACAy/B,aACAD,+BCDA,SAAAmiB,EAAAv7C,GACA,IAAAqV,EAAA,GACA,QAAA/B,KAAAtT,EAAAqV,EAAAna,KAAAoY,GACA,OAAA+B,EAPAzb,EAAAD,EAAAC,QAAA,oBAAA8Y,OAAA2C,KACA3C,OAAA2C,KAAAkmC,EAEA3hD,EAAA2hD,+BCHA,IAAAvM,EAAkBj1C,EAAQ,QAC1Bg6B,EAAch6B,EAAQ,QAAeg6B,QAwBrCp6B,EAAAC,QAAA,SAAAumB,EAAAnW,EAAA0vB,EAAAD,EAAArsB,GAEA,IAAA+S,EAAA,UAAAzjB,MAAA,sBACA,IAAAsN,EAAA,UAAAtN,MAAA,sBAGAg9B,KAAA,GACAtsB,KAAA+S,EAAA/S,YAAA,GAGA,IADA,IAAAnN,EAAA,GACAhF,EAAA,EAAmBA,EAAAy+B,EAAWz+B,IAC9BgF,EAAA/E,KAAA8zC,EAAA7uB,EAAAnW,EAAA,IAAA/O,EAAAy+B,EAAAD,GAAAt5B,SAAAF,aAIA,OAFAA,EAAA/E,KAAA+E,EAAA,IAEA8zB,EAAA,CAAA9zB,GAAAmN,6BCxCA,SAAAouC,GAsCA,SAAAC,IAIA,6BAAA36B,gBAAA06B,SAAA,aAAA16B,OAAA06B,QAAAh7C,QAMA,qBAAA6b,mBAAAq/B,iBAAAr/B,SAAAq/B,gBAAAj/B,OAAAJ,SAAAq/B,gBAAAj/B,MAAAk/B,kBAEA,qBAAA76B,eAAAgU,UAAAhU,OAAAgU,QAAA8mB,SAAA96B,OAAAgU,QAAA+mB,WAAA/6B,OAAAgU,QAAAgnB,QAGA,qBAAAC,qBAAAC,WAAAD,UAAAC,UAAA5jB,cAAAzoB,MAAA,mBAAAssC,SAAAC,OAAAC,GAAA,SAEA,qBAAAJ,qBAAAC,WAAAD,UAAAC,UAAA5jB,cAAAzoB,MAAA,uBAsBA,SAAAysC,EAAAnS,GACA,IAAAwR,EAAAnhD,KAAAmhD,UASA,GAPAxR,EAAA,IAAAwR,EAAA,SACAnhD,KAAA+hD,WACAZ,EAAA,WACAxR,EAAA,IACAwR,EAAA,WACA,IAAA7hD,EAAA0iD,SAAAhiD,KAAAiiD,MAEAd,EAAA,CAEA,IAAAx/C,EAAA,UAAA3B,KAAAuzC,MACA5D,EAAAhH,OAAA,IAAAhnC,EAAA,kBAKA,IAAAvB,EAAA,EACA8hD,EAAA,EACAvS,EAAA,GAAAhyB,QAAA,uBAAAtI,GACA,OAAAA,IACAjV,IACA,OAAAiV,IAGA6sC,EAAA9hD,MAIAuvC,EAAAhH,OAAAuZ,EAAA,EAAAvgD,IAUA,SAAA84B,IAGA,wBAAAD,SACAA,QAAAC,KACA35B,SAAAG,UAAAsB,MAAAyO,KAAAwpB,QAAAC,IAAAD,QAAAoV,WAUA,SAAAtgC,EAAA6yC,GACA,IACA,MAAAA,EACA7iD,EAAA8iD,QAAAC,WAAA,SAEA/iD,EAAA8iD,QAAAE,MAAAH,EAEG,MAAA/5C,KAUH,SAAAuvC,IACA,IAAApiC,EACA,IACAA,EAAAjW,EAAA8iD,QAAAE,MACG,MAAAl6C,IAOH,OAJAmN,GAAA,qBAAA2rC,GAAA,QAAAA,IACA3rC,EAAQ6C,OAAA,CAAAmqC,SAAA,aAAAC,SAAA,WAAWC,OAGnBltC,EAoBA,SAAAmtC,IACA,IACA,OAAAl8B,OAAAm8B,aACG,MAAAv6C,KAjLH9I,EAAAD,EAAAC,QAA2BG,EAAQ,QACnCH,EAAAm7B,MACAn7B,EAAAwiD,aACAxiD,EAAAgQ,OACAhQ,EAAAq4C,OACAr4C,EAAA6hD,YACA7hD,EAAA8iD,QAAA,oBAAAQ,QACA,oBAAAA,OAAAR,QACAQ,OAAAR,QAAAS,MACAH,IAMApjD,EAAAgyB,OAAA,CACA,gBACA,cACA,YACA,aACA,aACA,WAmCAhyB,EAAAwjD,WAAAlgD,EAAA,SAAAE,GACA,IACA,OAAAu7B,KAAAC,UAAAx7B,GACG,MAAAigD,GACH,qCAAAA,EAAAC,UAqGA1jD,EAAA2jD,OAAAtL,oDCvKA,IAAAlvC,EAAWhJ,EAAQ,QACnB0H,EAAc1H,EAAQ,QACtB4D,EAAA8D,EAAA9D,MACAsO,EAAAlJ,EAAAkJ,UACAsB,EAAAxK,EAAAwK,YACA1M,EAAAY,EAAAZ,kBAiBAlH,EAAAC,QAAA,SAAAoH,GACA,IAAA1E,EAAA,GAYA,MAXA,sBAAA0E,EAAAR,KACA+M,EAAAvM,EAAA,SAAAL,GACAsL,EAAAtL,EAAA,SAAAgN,GACArR,EAAApB,KAAAyC,EAAAgQ,EAAAhN,EAAAyM,iBAIAnB,EAAAjL,EAAA,SAAA2M,GACArR,EAAApB,KAAAyC,EAAAgQ,EAAA3M,EAAAoM,eAGAvM,EAAAvE,gECjCA3C,EAAAC,QAAA,SAAAgjC,GAEAA,EAAA4gB,IAAA,SAAAvtC,EAAA/K,GAGA,OAFAA,EAAA1E,KAAA,MAEA,IAAAo8B,EAAA3sB,EAAA/K,+CCNe,IAAAu4C,EAAA,SAAAC,GACf,IAAAC,EAAAzuC,IACAkmB,EAAAlmB,IACAX,GAAAW,IACAV,GAAAU,IAEA,SAAA0uC,EAAAz9C,GACA,MAAAA,GAAA09C,EAAAxlC,eAAAlY,EAAAK,OAAAq9C,EAAA19C,EAAAK,MAAAL,GAGA,IAAA09C,EAAA,CACAC,mBAAA,SAAA1hD,GAAqCA,EAAA8E,WAAAkQ,QAAAwsC,IACrCxgB,MAAA,SAAAhhC,GAAwB2hD,EAAA3hD,EAAA6D,cACxB+9C,WAAA,SAAA5hD,GAA6BA,EAAA6D,YAAAmR,QAAA2sC,IAC7BE,WAAA,SAAA7hD,GAA6B8hD,EAAA9hD,EAAA+hD,OAC7BC,gBAAA,SAAAhiD,GAAkCA,EAAA+hD,KAAA/sC,QAAA8sC,IAClCG,QAAA,SAAAjiD,GAA0BA,EAAA+hD,KAAA/sC,QAAA8sC,IAC1BI,aAAA,SAAAliD,GAA+BA,EAAA+hD,KAAA/sC,QAAAmtC,KAG/B,SAAAR,EAAA99C,GACA,IAAAwJ,EAAAxJ,EAAA,GACAyJ,EAAAzJ,EAAA,GACAwJ,EAAAk0C,MAAAl0C,GACAA,EAAA8E,MAAA9E,GACAC,EAAA0rB,MAAA1rB,GACAA,EAAA8E,MAAA9E,GAGA,SAAAw0C,EAAAj+C,GACAA,EAAAmR,QAAA2sC,GAGA,SAAAQ,EAAAt+C,GACAA,EAAAmR,QAAA8sC,GAGA,QAAA5qC,KAAAoqC,EACAE,EAAAF,EAAApqC,IAGA,OAAA/E,GAAAovC,GAAAnvC,GAAA4mB,EAAA,CAAAuoB,EAAAvoB,EAAA7mB,EAAAC,QAAAvN,GC1Ceu9C,EAAA,SAAA/uC,EAAAgvC,EAAAC,EAAAl+C,EAAAm+C,GACf,IAAAzU,UAAAztC,SACA+D,EAAArE,MACAwiD,EAAA,MAMA,IAHA,IAAArxB,EAAA,IAAA9sB,EAAAiP,EAAA,GAAApR,KAAA0K,IAAA,EAAA1K,KAAAo6B,KAAAp6B,KAAA02B,IAAAtlB,GAAApR,KAAAugD,OACAC,EAAApvC,EAAA,EAEAxU,EAAA,EAAiBA,EAAAwU,IAAUxU,EAC3BqyB,EAAAryB,GAAA0jD,EAGA,SAAAG,EAAAv+C,GACA,IAAA7F,EAAA+jD,EAAAl+C,GAAAs+C,EACAlvC,EAAA2d,EAAA5yB,GACAqkD,EAAA,EACA,MAAApvC,GAAAgvC,EAAA,CACA,GAAAD,EAAA/uC,EAAApP,GAAA,SACA,KAAAw+C,GAAAtvC,EAAA,UAAA/S,MAAA,gBACAiT,EAAA2d,EAAA5yB,IAAA,EAAAmkD,GAGA,OADAvxB,EAAA5yB,GAAA6F,GACA,EAGA,SAAAy+C,EAAAz+C,GACA,IAAA7F,EAAA+jD,EAAAl+C,GAAAs+C,EACAlvC,EAAA2d,EAAA5yB,GACAqkD,EAAA,EACA,MAAApvC,GAAAgvC,EAAA,CACA,GAAAD,EAAA/uC,EAAApP,GAAA,SACA,KAAAw+C,GAAAtvC,EAAA,MACAE,EAAA2d,EAAA5yB,IAAA,EAAAmkD,GAEA,SAGA,SAAA/8B,IAEA,IADA,IAAAA,EAAA,GACA7mB,EAAA,EAAAuB,EAAA8wB,EAAA7wB,OAAqCxB,EAAAuB,IAAOvB,EAAA,CAC5C,IAAA0U,EAAA2d,EAAAryB,GACA0U,GAAAgvC,GAAA78B,EAAA5mB,KAAAyU,GAEA,OAAAmS,EAGA,OACAg9B,MACAE,MACAl9B,WClDem9B,EAAA,SAAAxvC,EAAAgvC,EAAAC,EAAAQ,EAAAC,EAAAC,GACf,IAAAlV,UAAAztC,SACAyiD,EAAAE,EAAAjjD,MACAgjD,EAAA,MAOA,IAJA,IAAAE,EAAA,IAAAH,EAAAzvC,EAAA,GAAApR,KAAA0K,IAAA,EAAA1K,KAAAo6B,KAAAp6B,KAAA02B,IAAAtlB,GAAApR,KAAAugD,OACAU,EAAA,IAAAF,EAAA3vC,GACAovC,EAAApvC,EAAA,EAEAxU,EAAA,EAAiBA,EAAAwU,IAAUxU,EAC3BokD,EAAApkD,GAAAkkD,EAGA,SAAAtsC,EAAAS,EAAA/S,GACA,IAAA7F,EAAA+jD,EAAAnrC,GAAAurC,EACAU,EAAAF,EAAA3kD,GACAqkD,EAAA,EACA,MAAAQ,GAAAJ,EAAA,CACA,GAAAT,EAAAa,EAAAjsC,GAAA,OAAAgsC,EAAA5kD,GAAA6F,EACA,KAAAw+C,GAAAtvC,EAAA,UAAA/S,MAAA,gBACA6iD,EAAAF,EAAA3kD,IAAA,EAAAmkD,GAIA,OAFAQ,EAAA3kD,GAAA4Y,EACAgsC,EAAA5kD,GAAA6F,EACAA,EAGA,SAAAi/C,EAAAlsC,EAAA/S,GACA,IAAA7F,EAAA+jD,EAAAnrC,GAAAurC,EACAU,EAAAF,EAAA3kD,GACAqkD,EAAA,EACA,MAAAQ,GAAAJ,EAAA,CACA,GAAAT,EAAAa,EAAAjsC,GAAA,OAAAgsC,EAAA5kD,GACA,KAAAqkD,GAAAtvC,EAAA,UAAA/S,MAAA,gBACA6iD,EAAAF,EAAA3kD,IAAA,EAAAmkD,GAIA,OAFAQ,EAAA3kD,GAAA4Y,EACAgsC,EAAA5kD,GAAA6F,EACAA,EAGA,SAAAqS,EAAAU,EAAAmsC,GACA,IAAA/kD,EAAA+jD,EAAAnrC,GAAAurC,EACAU,EAAAF,EAAA3kD,GACAqkD,EAAA,EACA,MAAAQ,GAAAJ,EAAA,CACA,GAAAT,EAAAa,EAAAjsC,GAAA,OAAAgsC,EAAA5kD,GACA,KAAAqkD,GAAAtvC,EAAA,MACA8vC,EAAAF,EAAA3kD,IAAA,EAAAmkD,GAEA,OAAAY,EAGA,SAAApqC,IAEA,IADA,IAAAA,EAAA,GACApa,EAAA,EAAAuB,EAAA6iD,EAAA5iD,OAAwCxB,EAAAuB,IAAOvB,EAAA,CAC/C,IAAAskD,EAAAF,EAAApkD,GACAskD,GAAAJ,GAAA9pC,EAAAna,KAAAqkD,GAEA,OAAAlqC,EAGA,OACAxC,MACA2sC,WACA5sC,MACAyC,SCnEeqqC,EAAA,SAAAC,EAAAC,GACf,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,ICCApmB,EAAA,IAAAqmB,YAAA,IACAC,EAAA,IAAAC,aAAAvmB,GACAwmB,EAAA,IAAAC,YAAAzmB,GAEe0mB,EAAA,SAAAviD,GACfmiD,EAAA,GAAAniD,EAAA,GACAmiD,EAAA,GAAAniD,EAAA,GACA,IAAA8gD,EAAAuB,EAAA,GAAAA,EAAA,GAEA,OADAvB,KAAA,EAAAA,GAAA,EAAAuB,EAAA,GAAAA,EAAA,GACA,WAAAvB,GCQepjD,EAAA,SAAA8kD,GACf,IASAllD,EAAAuB,EACA4jD,EACAzzC,EACA0zC,EAZApgD,EAAAkgD,EAAAlgD,YACAqgD,EAAAH,EAAAG,MACAC,EAAAJ,EAAAI,MACAC,EAAA9lD,IACA+lD,EAAA,IAAAC,WAAAzgD,EAAAxD,QACAkkD,EAAA,IAAAD,WAAAzgD,EAAAxD,QACAmkD,EAAA,IAAAF,WAAAzgD,EAAAxD,QACAokD,EAAA,IAAAC,UAAA7gD,EAAAxD,QACAskD,EAAA,EAMA,IAAA9lD,EAAA,EAAAuB,EAAAyD,EAAAxD,OAAqCxB,EAAAuB,IAAOvB,EAC5CwlD,EAAAxlD,GAAA0lD,EAAA1lD,GAAA2lD,EAAA3lD,IAAA,EAGA,IAAAA,EAAA,EAAAuB,EAAA8jD,EAAA7jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtC,IAAAkO,EAAAm3C,EAAArlD,GACA+lD,EAAA73C,EAAA,GACA83C,EAAA93C,EAAA,GACAwD,EAAA6zC,EAAAQ,GACAX,EAAAG,IAAAQ,KACAD,EAAAF,EAAAl0C,GAAA,EACA,QAAAq0C,GAAAC,EACAC,EAAAjmD,EAAAmlD,EAAAzzC,IAAA0zC,IAAAG,EAAAQ,MAEAD,EAAAF,EAAAR,GAAA,EAGA,IAAAplD,EAAA,EAAAuB,EAAAyD,EAAAxD,OAAqCxB,EAAAuB,IAAOvB,EAC5CwlD,EAAAxlD,IAAA,EAGA,IAAAA,EAAA,EAAAuB,EAAA+jD,EAAA9jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtC,IAAA8W,EAAAwuC,EAAAtlD,GACAkmD,EAAApvC,EAAA,KACAqvC,EAAArvC,EAAA,GACAquC,EAAAI,EAAAY,EAAA,GACAz0C,EAAA6zC,EAAAW,EAAA,GACAd,EAAAG,EAAAW,GACAD,EAAAjmD,EAAAmlD,EAAAzzC,EAAA0zC,GACA,QAAAc,GAAAC,EACAF,EAAAjmD,EAAAmlD,EAAAzzC,IAAA0zC,IAAAG,EAAAW,IAIA,SAAAD,EAAAjmD,EAAAmlD,EAAAzzC,EAAA0zC,GACA,GAAAI,EAAA9zC,KAAA1R,EAAA,CACAwlD,EAAA9zC,GAAA1R,EACA,IAAAomD,EAAAV,EAAAh0C,GACA,GAAA00C,GAAA,GACA,IAAAC,EAAAV,EAAAj0C,GACA00C,IAAAjB,GAAAkB,IAAAjB,GACAgB,IAAAhB,GAAAiB,IAAAlB,MACAW,EAAAF,EAAAl0C,GAAA,QAGAg0C,EAAAh0C,GAAAyzC,EACAQ,EAAAj0C,GAAA0zC,GAIA,SAAA3lD,IAIA,IAHA,IAAA6mD,EAAuBtC,EAAO,IAAAh/C,EAAAxD,OAAA+kD,EAAAC,EAAAf,YAAA,EAAAA,YAC9BF,EAAA,IAAAE,WAAAzgD,EAAAxD,QAEAxB,EAAA,EAAAuB,EAAAyD,EAAAxD,OAA2CxB,EAAAuB,IAAOvB,EAClDulD,EAAAvlD,GAAAsmD,EAAA/B,SAAAvkD,KAGA,OAAAulD,EAGA,SAAAgB,EAAAvmD,GACA,OAAWilD,EAASjgD,EAAAhF,IAGpB,SAAAwmD,EAAAxmD,EAAAiC,GACA,OAAWwiD,EAAUz/C,EAAAhF,GAAAgF,EAAA/C,IAGrBujD,EAAAE,EAAAC,EAAA,KAEA,IAA0E1jD,EAA1EwkD,EAAwBlD,EAAO,IAAAuC,EAAsBb,EAAWR,GAGhE,IAAAzkD,EAAA,EAAAuB,EAAAyD,EAAAxD,OAAqCxB,EAAAuB,IAAOvB,EAC5C4lD,EAAA3jD,EAAAsjD,EAAAvlD,KACAymD,EAAA5C,IAAA7+C,EAAA/C,IAIA,OAAAwkD,GC7GeC,EAAA,SAAAxB,GACf,IAIAhqC,EACAlb,EAAAuB,EALAolD,EAAkBvmD,EAAI8kD,GACtBlgD,EAAAkgD,EAAAlgD,YACAqgD,EAAAH,EAAAG,MACAC,EAAAJ,EAAAI,MAIA,IAAAtlD,EAAA,EAAAuB,EAAA8jD,EAAA7jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtC,IAAAkO,EAAAm3C,EAAArlD,GACA4mD,EAAA14C,EAAA,GACA83C,EAAA93C,EAAA,GACA,QAAA04C,EAAAZ,EACAW,EAAA5C,IAAA/+C,EAAA4hD,MACA1rC,EAAA,CAAgB2rC,EAAAD,EAAAE,EAAA54C,EAAA,IAChBA,EAAA,GAAA04C,EACA14C,IAAAgN,QAKA,IAAAlb,EAAA,EAAAuB,EAAA+jD,EAAA9jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtC,IAAA8W,EAAAwuC,EAAAtlD,GACAkmD,EAAApvC,EAAA,GACAiwC,EAAAb,EACAC,EAAArvC,EAAA,GACAkwC,EAAAL,EAAA5C,IAAA/+C,EAAAkhD,IACA,QAAAa,EAAAZ,EACAQ,EAAA5C,IAAA/+C,EAAA+hD,MACAC,GACA9rC,EAAA,CAAkB2rC,EAAAE,EAAAD,EAAAhwC,EAAA,IAClBA,EAAA,GAAAiwC,EACAjwC,IAAAoE,SAEA+rC,EAAAjiD,EAAAkhD,EAAAC,IAAAY,GACA/hD,EAAAmhD,GAAAnhD,EAAAkhD,GACAc,GAAA,EACAD,EAAAb,IAMA,OAAAhB,GAGA,SAAA+B,EAAAvY,EAAA30B,EAAAE,EAAA2I,GACAtb,EAAAonC,EAAA30B,EAAAE,GACA3S,EAAAonC,EAAA30B,IAAA6I,GACAtb,EAAAonC,EAAA30B,EAAA6I,EAAA3I,GAGA,SAAA3S,EAAAonC,EAAA30B,EAAAE,GACA,QAAAzZ,EAAAwsC,EAAAjzB,GAAAE,IAAAF,GAAA,GAAmDA,EAAAizB,IAAajzB,IAAAE,EAChEzZ,EAAAkuC,EAAA30B,GAAA20B,EAAA30B,GAAA20B,EAAAz0B,GAAAy0B,EAAAz0B,GAAAzZ,ECtDe,IAAAunC,EAAA,SAAAmd,GACf,IACAh3C,EACA4I,EAEA9W,EAAAuB,EAJAyD,EAAAkgD,EAAAlgD,YACAqgD,EAAAH,EAAAG,MACAC,EAAAJ,EAAAI,MACA4B,EAAA7B,EAAA7jD,OAAA8jD,EAAA9jD,OAOA,WAJA0jD,EAAAG,aACAH,EAAAI,MAGAtlD,EAAA,EAAAuB,EAAA8jD,EAAA7jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtCkO,EAAAm3C,EAAArlD,GAAoB,MAAAkO,IAAAgN,OAAAgsC,EAEpB,IAAAlnD,EAAA,EAAAuB,EAAA+jD,EAAA9jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtC8W,EAAAwuC,EAAAtlD,GAAoB,MAAA8W,IAAAoE,OAAAgsC,EAGpB,IAAAC,EAAkBnD,EAAO,EAAAkD,EAAA,IAAqBjC,EAAWR,GACzDvB,EAAAgC,EAAAhC,KAAA,GAEA,IAAAljD,EAAA,EAAAuB,EAAA8jD,EAAA7jD,OAA+BxB,EAAAuB,IAAOvB,EAAA,CACtCkO,EAAAm3C,EAAArlD,GACA,GACAonD,EAAAl5C,SACKA,IAAAgN,MAGL,IAAAlb,EAAA,EAAAuB,EAAA+jD,EAAA9jD,OAA+BxB,EAAAuB,IAAOvB,EAEtC,GADA8W,EAAAwuC,EAAAtlD,GACA8W,EAAAoE,KACA,GACAksC,EAAAtwC,SACOA,IAAAoE,WAEPmsC,EAAAvwC,GAIA,SAAAswC,EAAAE,GACA,IAAAC,EACAC,EACAC,EAAAC,EACAC,EAAAC,EACA5nD,EAAAuB,EAGA,GAAAkmD,EAAAN,EAAAxvC,IAAA4vC,EAAAviD,EAAAsiD,EAAA,KACA,IAAAtnD,EAAA,EAAAuB,EAAAkmD,EAAAjmD,OAAuCxB,EAAAuB,IAAOvB,EAE9C,GADA0nD,EAAAD,EAAAznD,GACA6nD,EAAAH,EAAAJ,GAGA,OAFAA,EAAA,GAAAI,EAAA,QACAJ,EAAA,GAAAI,EAAA,IAOA,GAAAC,EAAAR,EAAAxvC,IAAA6vC,EAAAxiD,EAAAsiD,EAAA,KACA,IAAAtnD,EAAA,EAAAuB,EAAAomD,EAAAnmD,OAAqCxB,EAAAuB,IAAOvB,EAE5C,GADA4nD,EAAAD,EAAA3nD,GACA8nD,EAAAF,EAAAN,GAGA,OAFAA,EAAA,GAAAM,EAAA,QACAN,EAAA,GAAAM,EAAA,IAMAH,IAAAxnD,KAAAqnD,GAAuCH,EAAAvvC,IAAA2vC,EAAA,CAAAD,IACvCK,IAAA1nD,KAAAqnD,GAAmCH,EAAAvvC,IAAA4vC,EAAA,CAAAF,IACnCpE,EAAAjjD,KAAAqnD,GAGA,SAAAD,EAAAC,GACA,IAAAE,EACAG,EACAC,EACA5nD,EAAAuB,EAIA,GAAAomD,EAAAR,EAAAxvC,IAAA6vC,EAAAxiD,EAAAsiD,EAAA,KACA,IAAAtnD,EAAA,EAAAuB,EAAAomD,EAAAnmD,OAAqCxB,EAAAuB,IAAOvB,EAAA,CAE5C,GADA4nD,EAAAD,EAAA3nD,GACA+nD,EAAAH,EAAAN,GAGA,OAFAA,EAAA,GAAAM,EAAA,QACAN,EAAA,GAAAM,EAAA,IAGA,GAAAI,EAAAJ,EAAAN,GAGA,OAFAA,EAAA,GAAAM,EAAA,QACAN,EAAA,GAAAM,EAAA,IAOA,GAAAD,EAAAR,EAAAxvC,IAAA6vC,EAAAxiD,EAAAsiD,EAAA,GAAAW,EAAAX,KACA,IAAAtnD,EAAA,EAAAuB,EAAAomD,EAAAnmD,OAAqCxB,EAAAuB,IAAOvB,EAAA,CAE5C,GADA4nD,EAAAD,EAAA3nD,GACA+nD,EAAAH,EAAAN,GAGA,OAFAA,EAAA,GAAAM,EAAA,QACAN,EAAA,GAAAM,EAAA,IAGA,GAAAI,EAAAJ,EAAAN,GAGA,OAFAA,EAAA,GAAAM,EAAA,QACAN,EAAA,GAAAM,EAAA,IAMAD,IAAA1nD,KAAAqnD,GAAmCH,EAAAvvC,IAAA4vC,EAAA,CAAAF,IACnCpE,EAAAjjD,KAAAqnD,GAGA,SAAAO,EAAAK,EAAAC,GACA,IAAAC,EAAAF,EAAA,GAAAG,EAAAF,EAAA,GACAG,EAAAJ,EAAA,GAAAK,EAAAJ,EAAA,GACA,GAAAC,EAAAE,IAAAD,EAAAE,EAAA,SACA,KAAUH,GAAAE,IAAUF,IAAAC,EAAA,IAAkB5D,EAAUz/C,EAAAojD,GAAApjD,EAAAqjD,IAAA,SAChD,SAGA,SAAAP,EAAAI,EAAAC,GACA,IAAAC,EAAAF,EAAA,GAAAG,EAAAF,EAAA,GACAG,EAAAJ,EAAA,GAAAK,EAAAJ,EAAA,GACA,GAAAC,EAAAE,IAAAD,EAAAE,EAAA,SACA,KAAUH,GAAAE,IAAUF,IAAAG,EAAA,IAAkB9D,EAAUz/C,EAAAojD,GAAApjD,EAAAujD,IAAA,SAChD,SAGA,SAAAR,EAAAG,EAAAC,GACA,IAAAC,EAAAF,EAAA,GAAAG,EAAAF,EAAA,GACAG,EAAAJ,EAAA,GAAAK,EAAAJ,EAAA,GACA5mD,EAAA+mD,EAAAF,EACA,GAAA7mD,IAAAgnD,EAAAF,EAAA,SAGA,IAFA,IAAAG,EAAAP,EAAAC,GACAO,EAAAR,EAAAE,GACAnoD,EAAA,EAAmBA,EAAAuB,IAAOvB,EAC1B,IAAWykD,EAAUz/C,EAAAojD,GAAApoD,EAAAwoD,GAAAjnD,GAAAyD,EAAAqjD,GAAAroD,EAAAyoD,GAAAlnD,IAAA,SAErB,SAGA,SAAAymD,EAAAE,EAAAC,GACA,IAAAC,EAAAF,EAAA,GAAAG,EAAAF,EAAA,GACAG,EAAAJ,EAAA,GAAAK,EAAAJ,EAAA,GACA5mD,EAAA+mD,EAAAF,EACA,GAAA7mD,IAAAgnD,EAAAF,EAAA,SAGA,IAFA,IAAAG,EAAAP,EAAAC,GACAO,EAAAlnD,EAAA0mD,EAAAE,GACAnoD,EAAA,EAAmBA,EAAAuB,IAAOvB,EAC1B,IAAWykD,EAAUz/C,EAAAojD,GAAApoD,EAAAwoD,GAAAjnD,GAAAyD,EAAAujD,GAAAvoD,EAAAyoD,GAAAlnD,IAAA,SAErB,SAKA,SAAA0mD,EAAAX,GACA,IAAAvtC,EAAAutC,EAAA,GACArtC,EAAAqtC,EAAA,GACAta,EAAAjzB,EACA2uC,EAAA1b,EACA2b,EAAA3jD,EAAAgoC,GACA,QAAAA,EAAA/yB,EAAA,CACA,IAAAvX,EAAAsC,EAAAgoC,IACAtqC,EAAA,GAAAimD,EAAA,IAAAjmD,EAAA,KAAAimD,EAAA,IAAAjmD,EAAA,GAAAimD,EAAA,MACAD,EAAA1b,EACA2b,EAAAjmD,GAGA,OAAAgmD,EAAA3uC,EAGA,OAAAmrC,GCtLelgC,EAAA,SAAAk+B,GACf,IAAAljD,GAAA,EACAuB,EAAA2hD,EAAA1hD,OAEA,QAAAxB,EAAAuB,EAAA,CACA,IAOA+R,EACAC,EARA+zC,EAAApE,EAAAljD,GACAiC,EAAA,EACAG,EAAA,EACA06B,EAAAwqB,EAAA9lD,OACAkB,EAAA4kD,EAAA,GACA5E,EAAAhgD,EAAA,GACAy3B,EAAAz3B,EAAA,GAIA,QAAAT,EAAA66B,EACAp6B,EAAA4kD,EAAArlD,GAAAqR,EAAA5Q,EAAA,GAAA6Q,EAAA7Q,EAAA,GACA4Q,IAAAovC,GAAAnvC,IAAA4mB,IAAAmtB,EAAAllD,KAAA,CAAAkR,EAAAovC,EAAAnvC,EAAA4mB,GAAAuoB,EAAApvC,EAAA6mB,EAAA5mB,GAGA,IAAAnR,IAAAklD,EAAAllD,KAAA,OAEAklD,EAAA9lD,OAAAY,EAGA,OAAA8gD,GCXe0F,EAAA,SAAAnG,GACf,IAAAhjD,GAAA,EACA4lD,EAAA,GACAC,EAAA,GACAtgD,EAAA,GAEA,SAAA6jD,EAAA3jD,GACAA,GAAA4jD,EAAA1rC,eAAAlY,EAAAK,OAAAujD,EAAA5jD,EAAAK,MAAAL,GAGA,IAAA4jD,EAAA,CACAjG,mBAAA,SAAA1hD,GAAqCA,EAAA8E,WAAAkQ,QAAA0yC,IACrC7F,WAAA,SAAA7hD,GAA6BA,EAAA+hD,KAAA6F,EAAA5nD,EAAA+hD,OAC7BC,gBAAA,SAAAhiD,GAAkCA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAugD,IAClC3F,QAAA,SAAAjiD,GAA0BA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAwgD,IAC1B3F,aAAA,SAAAliD,GAA+BA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAygD,KAG/B,SAAAF,EAAA76C,GACA,QAAAlO,EAAA,EAAAuB,EAAA2M,EAAA1M,OAAoCxB,EAAAuB,IAAOvB,EAAAgF,IAAAvF,GAAAyO,EAAAlO,GAC3C,IAAAsnD,EAAA,CAAeT,EAAApnD,EAAA8B,EAAA,EAAAulD,EAAArnD,GAEf,OADA4lD,EAAAplD,KAAAqnD,GACAA,EAGA,SAAA0B,EAAAlyC,GACA,QAAA9W,EAAA,EAAAuB,EAAAuV,EAAAtV,OAAoCxB,EAAAuB,IAAOvB,EAAAgF,IAAAvF,GAAAqX,EAAA9W,GAC3C,IAAAsnD,EAAA,CAAeT,EAAApnD,EAAA8B,EAAA,EAAAulD,EAAArnD,GAEf,OADA6lD,EAAArlD,KAAAqnD,GACAA,EAGA,SAAA2B,EAAA3D,GACA,OAAAA,EAAA98C,IAAAwgD,GAGA,QAAA3wC,KAAAoqC,EACAoG,EAAApG,EAAApqC,IAGA,OACA9S,KAAA,WACAP,cACAqgD,QACAC,QACA7C,YC1Dev9C,EAAA,SAAA6P,GACf,IAAkBsD,EAAlB6wC,EAAA,GACA,IAAA7wC,KAAAtD,EAAAm0C,EAAA7wC,GAAA8wC,EAAAp0C,EAAAsD,IACA,OAAA6wC,GAGA,SAAAC,EAAAlf,GACA,aAAAA,EAAA,CAA0B1kC,KAAA,OAC1B,sBAAA0kC,EAAA1kC,KAAA6jD,EACA,YAAAnf,EAAA1kC,KAAA8jD,EACAC,GAAArf,GAGA,SAAAmf,EAAAnf,GACA,IAAAsf,EAAA,CAAgBhkD,KAAA,qBAAAU,WAAAgkC,EAAApkC,SAAA2C,IAAA6gD,IAEhB,OADA,MAAApf,EAAAxqB,OAAA8pC,EAAA9pC,KAAAwqB,EAAAxqB,MACA8pC,EAGA,SAAAF,EAAApf,GACA,IAAA5xB,EAAAkxC,EAAAD,EAAArf,EAAA/kC,UAGA,IAAAmT,KAFA,MAAA4xB,EAAApgC,KAAA0/C,EAAA1/C,GAAAogC,EAAApgC,IACA,MAAAogC,EAAAxqB,OAAA8pC,EAAA9pC,KAAAwqB,EAAAxqB,MACAwqB,EAAA93B,WAAA,CAAiCo3C,EAAAp3C,WAAA83B,EAAA93B,WAAsC,MACvE,OAAAo3C,EAGA,SAAAD,EAAArf,GACA,SAAAA,EAAA,OAA6B1kC,KAAA,MAC7B,IAAAgkD,EAAA,uBAAAtf,EAAA1kC,KAAA,CAAsDA,KAAA,qBAAAU,WAAAgkC,EAAAhkC,WAAAuC,IAAA8gD,IACtD,UAAArf,EAAA1kC,MAAA,eAAA0kC,EAAA1kC,KAAA,CAAiEA,KAAA0kC,EAAA1kC,KAAAP,YAAAilC,EAAAjlC,aACjE,CAASO,KAAA0kC,EAAA1kC,KAAA29C,KAAAjZ,EAAAjlC,aAET,OADA,MAAAilC,EAAAxqB,OAAA8pC,EAAA9pC,KAAAwqB,EAAAxqB,MACA8pC,ECrCe,IAAAC,EAAA,SAAA/G,EAAAhjC,EAAAle,GACf,IAAAmhD,EAAAjjC,EAAA,GACA0a,EAAA1a,EAAA,GACAnM,EAAAmM,EAAA,GACAlM,EAAAkM,EAAA,GACAgqC,EAAAn2C,EAAAovC,GAAAnhD,EAAA,IAAA+R,EAAAovC,GAAA,EACAgH,EAAAn2C,EAAA4mB,GAAA54B,EAAA,IAAAgS,EAAA4mB,GAAA,EAEA,SAAAwvB,EAAA1f,GACA,OAAA7mC,KAAAkjB,OAAA2jB,EAAA,GAAAyY,GAAA+G,GAAArmD,KAAAkjB,OAAA2jB,EAAA,GAAA9P,GAAAuvB,IAGA,SAAAE,EAAA3f,EAAAnN,GACA,IAIA+sB,EACAC,EACAC,EACAv7C,EACAC,EARAzO,GAAA,EACAiC,EAAA,EACAV,EAAA0oC,EAAAzoC,OACA+nD,EAAA,IAAAroD,MAAAK,GAOA,QAAAvB,EAAAuB,EACAsoD,EAAA5f,EAAAjqC,GACAwO,EAAApL,KAAAkjB,OAAAujC,EAAA,GAAAnH,GAAA+G,GACAh7C,EAAArL,KAAAkjB,OAAAujC,EAAA,GAAA1vB,GAAAuvB,GACAl7C,IAAAs7C,GAAAr7C,IAAAs7C,IAAAR,EAAAtnD,KAAA,CAAA6nD,EAAAt7C,EAAAu7C,EAAAt7C,IAGA86C,EAAA/nD,OAAAS,EACA,MAAAA,EAAA66B,EAAA76B,EAAAsnD,EAAAtpD,KAAA,CAAAspD,EAAA,MAAAA,EAAA,QACA,OAAAA,EAGA,SAAAS,EAAA/f,GACA,OAAA2f,EAAA3f,EAAA,GAGA,SAAAggB,EAAAhgB,GACA,OAAA2f,EAAA3f,EAAA,GAGA,SAAAigB,EAAAjgB,GACA,OAAAA,EAAAzhC,IAAAyhD,GAGA,SAAAE,EAAAhpD,GACA,MAAAA,GAAAipD,EAAAhtC,eAAAjc,EAAAoE,OAAA6kD,EAAAjpD,EAAAoE,MAAApE,GAGA,IAAAipD,EAAA,CACAvH,mBAAA,SAAA1hD,GAAqCA,EAAA8E,WAAAkQ,QAAAg0C,IACrChoB,MAAA,SAAAhhC,GAAwBA,EAAA6D,YAAA2kD,EAAAxoD,EAAA6D,cACxB+9C,WAAA,SAAA5hD,GAA6BA,EAAA6D,YAAA7D,EAAA6D,YAAAwD,IAAAmhD,IAC7B3G,WAAA,SAAA7hD,GAA6BA,EAAA+hD,KAAA8G,EAAA7oD,EAAA+hD,OAC7BC,gBAAA,SAAAhiD,GAAkCA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAwhD,IAClC5G,QAAA,SAAAjiD,GAA0BA,EAAA+hD,KAAAgH,EAAA/oD,EAAA+hD,OAC1BG,aAAA,SAAAliD,GAA+BA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAA0hD,KAG/B,QAAA7xC,KAAAoqC,EACA0H,EAAA1H,EAAApqC,IAGA,OACA0c,MAAA,GAAA00B,EAAA,EAAAC,GACAW,UAAA,CAAA3H,EAAAvoB,KCvDemwB,EAAA,SAAA7H,EAAA8H,GACf,IAAA9qC,EAAa+iC,EAAMC,EAAWv9C,EAAQu9C,IACtC+H,EAAAD,EAAA,GAAA9qC,GAA8C+pC,EAAW/G,EAAAhjC,EAAA8qC,GACzDrF,EAAiBnd,EAAM2e,EAAIkC,EAAOnG,KAClCz9C,EAAAkgD,EAAAlgD,YACAylD,EAAmBzG,EAAO,IAAAkB,EAAAhC,KAAA1hD,OAAAkpD,EAAAC,GAY1B,SAAAC,EAAA1lD,GACAA,GAAA2lD,EAAAztC,eAAAlY,EAAAK,OAAAslD,EAAA3lD,EAAAK,MAAAL,GAXAu9C,EAAAyC,EAAAzC,QACAyC,EAAAzlC,OACAylC,EAAAhC,KAAAgC,EAAAhC,KAAA16C,IAAA,SAAA8+C,EAAAtnD,GAEA,OADAyqD,EAAA7yC,IAAA0vC,EAAAtnD,GACAgF,EAAArD,MAAA2lD,EAAA,GAAAA,EAAA,eAGApC,EAAAlgD,YACAA,EAAA,KAMA,IAAA6lD,EAAA,CACAhI,mBAAA,SAAA1hD,GAAqCA,EAAA8E,WAAAkQ,QAAAy0C,IACrC5H,WAAA,SAAA7hD,GAA6BA,EAAA+hD,KAAA4H,EAAA3pD,EAAA+hD,OAC7BC,gBAAA,SAAAhiD,GAAkCA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAsiD,IAClC1H,QAAA,SAAAjiD,GAA0BA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAsiD,IAC1BzH,aAAA,SAAAliD,GAA+BA,EAAA+hD,KAAA/hD,EAAA+hD,KAAA16C,IAAAuiD,KAG/B,SAAAD,EAAAxD,GACA,IAAA/B,EAAA,GACA,GACA,IAAA9lD,EAAAgrD,EAAA9yC,IAAA2vC,GACA/B,EAAAtlD,KAAAqnD,EAAA,GAAAA,EAAA,GAAA7nD,YACK6nD,IAAApsC,MACL,OAAAqqC,EAGA,SAAAwF,EAAA7H,GACA,OAAAA,EAAA16C,IAAAsiD,GAGA,QAAAzyC,KAAAoqC,EACAmI,EAAAnI,EAAApqC,IAQA,OALAmyC,IACAtF,EAAAsF,YACAtF,EAAAhC,KAAoBl+B,EAAKkgC,EAAAhC,OAGzBgC,GAGA,SAAAwF,EAAApD,GACA,IAAA9mD,EAAAR,EAAAsnD,EAAA,GAAArlD,EAAAqlD,EAAA,GAEA,OADArlD,EAAAjC,IAAAQ,EAAAR,IAAAiC,IAAAzB,GACAR,EAAA,GAAAiC,EAGA,SAAA0oD,EAAAzC,EAAAC,GACA,IACA3nD,EADA4nD,EAAAF,EAAA,GAAAI,EAAAJ,EAAA,GACAG,EAAAF,EAAA,GAAAI,EAAAJ,EAAA,GAGA,OAFAG,EAAAF,IAAA5nD,EAAA4nD,IAAAE,IAAA9nD,GACA+nD,EAAAF,IAAA7nD,EAAA6nD,IAAAE,IAAA/nD,GACA4nD,IAAAC,GAAAC,IAAAC,EC7EAzpD,EAAAgB,EAAA+f,EAAA,6BAAAyqC,0BCCA5rD,EAAAC,QAAA,CAAkBqsD,OAAA,mECClB,IAAA1kD,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QAEtB8P,EAAAtI,EAAAgG,OAAAsC,aAkBA,SAAAq8C,EAAAC,GACA,IAAAC,EAAA9rD,KAAAk0C,MACA,QAAA4X,GAAA/nD,KAAA6hB,IAAAimC,EAAAC,EAAA38C,GAAA28C,EAAAp8C,OAAAo8C,EAAA5mB,UAGA,SAAA6mB,EAAAC,GACA,IAAAF,EAAA9rD,KAAAk0C,MACA,QAAA4X,GAAA/nD,KAAA6hB,IAAAomC,EAAAF,EAAA18C,GAAA08C,EAAAp8C,OAAAo8C,EAAA5mB,UAvBAj+B,EAAAW,KAAA,UACAgH,SAAA,CACAvL,MAAA,CACAqM,OAAA,EACApF,WAAA,SACAd,gBAAA+F,EACAlF,YAAAkF,EACApF,YAAA,EAEA+6B,UAAA,EACA6C,YAAA,EACAF,iBAAA,MAeAxoC,EAAAC,QAAA4H,EAAAwD,OAAA,CACAuhD,QAAA,SAAAJ,EAAAG,GACA,IAAAF,EAAA9rD,KAAAk0C,MACA,QAAA4X,GAAA/nD,KAAAulB,IAAAuiC,EAAAC,EAAA38C,EAAA,GAAApL,KAAAulB,IAAA0iC,EAAAF,EAAA18C,EAAA,GAAArL,KAAAulB,IAAAwiC,EAAA5mB,UAAA4mB,EAAAp8C,OAAA,IAGAw8C,aAAAN,EACAO,SAAAP,EACAQ,SAAAL,EAEAM,eAAA,WACA,IAAAP,EAAA9rD,KAAAk0C,MACA,OACA/kC,EAAA28C,EAAA38C,EACAC,EAAA08C,EAAA18C,IAIAk9C,QAAA,WACA,OAAAvoD,KAAAsvC,GAAAtvC,KAAAulB,IAAAtpB,KAAAk0C,MAAAxkC,OAAA,IAGA0kC,gBAAA,WACA,IAAA0X,EAAA9rD,KAAAk0C,MACA,OACA/kC,EAAA28C,EAAA38C,EACAC,EAAA08C,EAAA18C,EACAnG,QAAA6iD,EAAAp8C,OAAAo8C,EAAA3hD,cAIAuE,KAAA,SAAA43B,GACA,IAAAwlB,EAAA9rD,KAAAk0C,MACAxkB,EAAA1vB,KAAA2jC,OACA52B,EAAA/M,KAAAuwC,OAAAxjC,IACAzC,EAAAwhD,EAAAxhD,WACAs6B,EAAAknB,EAAAlnB,SACAl1B,EAAAo8C,EAAAp8C,OACAP,EAAA28C,EAAA38C,EACAC,EAAA08C,EAAA18C,EACAm9C,EAAA,KAEAT,EAAAnmB,YAKAh/B,IAAA2/B,GAAA5W,EAAAvgB,GAAAm3B,EAAAr6B,MAAAq6B,EAAAp6B,MAAAqgD,GAAA78B,EAAAvgB,GAAAugB,EAAAtgB,GAAAk3B,EAAAl6B,KAAAk6B,EAAAj6B,OAAAkgD,GAAA78B,EAAAtgB,KACArC,EAAA3C,YAAA0hD,EAAAzhD,aAAAkF,EACAxC,EAAA7C,UAAA/C,EAAA+F,eAAA4+C,EAAA3hD,YAAAlD,EAAAgG,OAAA2B,SAAAvL,MAAA8G,aACA4C,EAAAxD,UAAAuiD,EAAAtiD,iBAAA+F,EACApI,EAAA2I,OAAAC,UAAAhD,EAAAzC,EAAAoF,EAAAP,EAAAC,EAAAw1B,+BCrFA,IAAAn8B,EAAWhJ,EAAQ,QACnByhC,EAAgBzhC,EAAQ,QACxB+sD,EAAkB/sD,EAAQ,QAC1Bu9C,EAAoBv9C,EAAQ,QAC5BgtD,EAAsBhtD,EAAQ,QAC9B2T,EAAA3K,EAAA2K,SACA6D,EAAAxO,EAAAwO,YACApQ,EAAAq6B,EAAAr6B,YAqBAxH,EAAAC,QAAA,SAAAw+C,EAAAC,GAEA,IAAAD,EAAA,UAAA17C,MAAA,wBACA,IAAA27C,EAAA,UAAA37C,MAAA,wBACA,IAAAsqD,EAAA7lD,EAAAi3C,GACA6O,EAAA9lD,EAAAk3C,GACA,GAAA2O,IAAAC,EAAA,UAAAvqD,MAAA,qCACA,aAAAsqD,EAAA,UAAAtqD,MAAA,gCAGA,IAAAwqD,EAAA,IAAAH,EAAA,CAAwCnvC,UAAA,IACxC,GAAAsvC,EAAAzuC,QAAA2/B,EAAAC,GAAA,SAEA,IAAA8O,EAAA,EAEA,OAAAH,GACA,iBACA,IAAAI,EAAA15C,EAAA0qC,GACAiP,EAAA35C,EAAA2qC,GACA+O,EAAAh2C,QAAA,SAAAk2C,GACAD,EAAAj2C,QAAA,SAAAm2C,GACAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,IAAAJ,QAGA,MAEA,iBACA,sBACA51C,EAAA6mC,EAAA,SAAAoP,GACAj2C,EAAA8mC,EAAA,SAAAoP,GACAX,EAAAU,EAAAC,GAAA3mD,SAAArE,QAAA0qD,QAGA,MAEA,cACA,mBACA51C,EAAA6mC,EAAA,SAAAoP,GACAj2C,EAAA8mC,EAAA,SAAAoP,GACAnQ,EAAAkQ,EAAAC,GAAA3mD,SAAArE,QAAA0qD,QAGA,MAGA,OAAAA,EAAA,wCCzEA,IAAAO,EAAA3tD,EAAA,QAAA4tD,EAAA5tD,EAAAyC,EAAAkrD,GAA4mBC,EAAG,0BCA/mB,IAAAhnB,EAAW5mC,EAAQ,QAAsBoG,SACzC0N,EAAiB9T,EAAQ,QAAY8T,WAiBrClU,EAAAC,QAAA,SAAAoH,GACA,OAAA6M,EAAA7M,EAAA,SAAAT,EAAAJ,GACA,OAAAI,EAAAogC,EAAAxgC,IACK,4BCrBL,IAAA8N,EAAalU,EAAQ,QACrB8G,EAAwB9G,EAAQ,QAAe8G,kBAsC/ClH,EAAAC,QAAA,SAAA0C,EAAAsrD,GAEA,IADA,IAAAC,EAAAhnD,EAAA,IACA5F,EAAA,EAAmBA,EAAA2sD,EAAA9mD,SAAArE,OAA8BxB,IACjD,QAAAiC,EAAA,EAAuBA,EAAAZ,EAAAwE,SAAArE,OAA4BS,IAAA,CACnD,IAAA4qD,EAAA75C,EAAA3R,EAAAwE,SAAA5D,GAAA0qD,EAAA9mD,SAAA7F,IACA6sD,GACAD,EAAA/mD,SAAA5F,KAAAoB,EAAAwE,SAAA5D,IAIA,OAAA2qD,8HC1CME,EAAc,SAACtrC,GAAD,OAAW,IAAIurC,aAAY,CAC7CxwC,OAAQ,IAAIywC,aAAa,CACvBnnD,SAAU,GACVonD,iBAAiB,IAEnBzrC,QACA0rC,sBAAsB,EACtBC,wBAAwB,KAGXttC,EAAA,MACbutC,OAAQ,CACN,UAEFp1C,MAAO,CACLq1C,aAAc,CACZ9nD,KAAM4hB,OACN2J,QAAS,GAEXw8B,YAAantD,SACb0vB,WAAY,CACViB,QAAS,MAEXy8B,YAAa,CACXz8B,QAAS,OAGb7oB,KAjBa,WAkBX,MAAO,CACLulD,aAAc,OAGlBz8B,SAAU,CACR08B,aADQ,WAEN,IAAM1hD,EAAU,CACdshD,aAAchuD,KAAKguD,cAOrB,OAJIhuD,KAAKiuD,cACPvhD,EAAQuhD,YAAcjuD,KAAKiuD,aAGtBvhD,GAETqC,OAZQ,WAaN,IAAM1I,EAAU,IAAIgoD,aAAQ,CAC1BxoD,SAAU,IAAIi9B,aAAM,CAAC,EAAG,MAG1B,OADAz8B,EAAQioD,SAAStuD,KAAKkuD,aACf7nD,IAGXkuB,QAAS,CACPg6B,KADO,WAELvuD,KAAKwuD,QAAUf,EAAYztD,KAAKwwB,YAChCxwB,KAAKwuD,QAAQzpC,OAAO/kB,KAAKmJ,KAEzBnJ,KAAKyuD,YAAc,IAAIC,aAAmB,CACxCC,gBAAiB3uD,KAAK4uD,OACtBC,gBAAiB7uD,KAAKmI,UAExBnI,KAAKmJ,IAAI2lD,eAAe9uD,KAAKyuD,aAE7BzuD,KAAK+uD,kBAEPA,eAbO,WAcL/uD,KAAKwuD,QAAQQ,YAAYC,QACzBjvD,KAAKwuD,QAAQQ,YAAYE,WAAWlvD,KAAK+O,QAErC/O,KAAKmuD,cACPnuD,KAAKwuD,QAAQQ,YAAYE,WAAWlvD,KAAKmuD,eAG7CgB,WArBO,SAqBK1V,GAAO,IAAA3+B,EAAA9a,KACjB,OAAOA,KAAKmJ,IAAIimD,sBAAsB3V,EAAM3yB,MAAO,SAAAzgB,GAAO,OAAIA,IAAYyU,EAAK/L,OAAS,KAAO1I,GAASrG,KAAKouD,eAE/GQ,OAxBO,SAwBCnV,GACN,IAAMpzC,EAAUrG,KAAKmvD,WAAW1V,GAEhCz5C,KAAKmuD,aAAe9nD,GAAW,KAE/BrG,KAAK+O,OAAO4lB,cAAc06B,eAAe5V,EAAM1iC,YAC/C/W,KAAK+O,OAAOwJ,IAAI,UAAWvY,KAAKmuD,eAElChmD,QAhCO,SAgCEsxC,GACP,IAAMpzC,EAAUrG,KAAKmvD,WAAW1V,GAE1B1iC,EAAao0C,uBAAU1R,EAAM1iC,WAAY,YAAa,aAExD1Q,EACFrG,KAAKgsC,MAAM,QAAS,CAAC3lC,UAAS0Q,eAE9B/W,KAAKgsC,MAAM,QAAS,CAAC3lC,QAAS,KAAM0Q,iBAI1C2gB,MAAO,CACL3oB,OAAQ,iBACRo/C,aAAc,kBAEhBl2C,OA1Fa,WA2FX,OAAO,MAETq3C,QA7Fa,WA6FF,IAAAr0C,EAAAjb,KACTA,KAAKgkB,SAASurC,KAAK,SAAApmD,GACjB8R,EAAK9R,IAAMA,EACX8R,EAAKszC,UAGTj5B,cAnGa,WAoGPt1B,KAAKyuD,aACPzuD,KAAKmJ,IAAIqmD,kBAAkBxvD,KAAKyuD,aAG9BzuD,KAAKwuD,UACPxuD,KAAKwuD,QAAQQ,YAAYC,QACzBjvD,KAAKwuD,QAAQzpC,OAAO,iCC3H1B,IAAA0qC,EAAqBhwD,EAAQ,QAC7BiwD,EAAmBjwD,EAAQ,QAC3B8G,EAAwB9G,EAAQ,QAAe8G,kBAC/CQ,EAAkBtH,EAAQ,QAAYsH,YA+CtC,SAAA4oD,EAAA9gD,EAAA+gD,EAAAzwB,EAAAvyB,GACA,IAAAijD,EAAAH,EAAA7gD,EAAAswB,GAGA,GAAA0wB,GAAAD,EAAA,OAAAhjD,EAAAiC,GAGA,IADA,IAAAihD,EAAA/rD,KAAAuS,MAAAu5C,EAAAD,GAAA,EACAjvD,EAAA,EAAmBA,EAAAmvD,EAAsBnvD,IAAA,CACzC,IAAAovD,EAAAN,EAAA5gD,EAAA+gD,EAAAjvD,EAAAivD,GAAAjvD,EAAA,GAAAw+B,GACAvyB,EAAAmjD,EAAApvD,IApCAtB,EAAAC,QAAA,SAAAoH,EAAAkpD,EAAAzwB,EAAAl3B,GACA,IAAAvB,EAAA,UAAAtE,MAAA,uBACA,GAAAwtD,GAAA,YAAAxtD,MAAA,wCACA,IAAA4E,EAAA,GAWA,OARAD,EAAAL,EAAA,SAAAL,GAEA4B,IAAA5B,EAAAR,SAAAF,YAAAU,EAAAR,SAAAF,YAAAsC,WAEA0nD,EAAAtpD,EAAAupD,EAAAzwB,EAAA,SAAA6wB,GACAhpD,EAAApG,KAAAovD,OAGAzpD,EAAAS,6BCrCA,WACA,IAAAipD,EAAAjwD,KAAAiwD,IAAA,GAiDA,SAAAC,EAAAj+C,GAGA,IAFA,IAAAk+C,EAAA,GAAAC,EAAA,GAEAzvD,EAAA,EAAmBA,EAAAsR,EAAA,GAAA9P,OAAsBxB,IACzCwvD,EAAAvvD,KAAAqR,EAAA,GAAAtR,GAAA,IACAyvD,EAAAxvD,KAAAqR,EAAA,GAAAtR,GAAA,IAMA,OAHAwvD,IAAAnrD,KAAA,SAAA1E,EAAAC,GAAqC,OAAAD,EAAAC,IACrC6vD,IAAAprD,KAAA,SAAA1E,EAAAC,GAAqC,OAAAD,EAAAC,IAErC,EAAA4vD,EAAA,GAAAC,EAAA,KAAAD,IAAAhuD,OAAA,GAAAiuD,IAAAjuD,OAAA,KAUA,SAAAkuD,EAAAlhD,EAAAC,EAAA6C,GAGA,IAFA,IAAAq+C,EAAA,QAEA3vD,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IAAA,CACtC,QAAAiC,EAAA,EAAqBA,EAAAqP,EAAAtR,GAAAwB,OAAsBS,IAC3C0tD,EAAA1vD,KAAAqR,EAAAtR,GAAAiC,IAEA0tD,EAAA1vD,KAAAqR,EAAAtR,GAAA,IACA2vD,EAAA1vD,KAAA,OAGA,IAAA+S,GAAA,EACA,IAAAhT,EAAA,EAAAiC,EAAA0tD,EAAAnuD,OAAA,EAAwCxB,EAAA2vD,EAAAnuD,OAAiBS,EAAAjC,IACzD2vD,EAAA3vD,GAAA,GAAAyO,GAAAkhD,EAAA1tD,GAAA,GAAAwM,GAAAD,GAAAmhD,EAAA1tD,GAAA,GAAA0tD,EAAA3vD,GAAA,KAAAyO,EAAAkhD,EAAA3vD,GAAA,KAAA2vD,EAAA1tD,GAAA,GAAA0tD,EAAA3vD,GAAA,IAAA2vD,EAAA3vD,GAAA,KAAAgT,MAGA,OAAAA,EAnFmCtU,EAAAC,UACnCD,EAAAC,QAAA2wD,GAIAA,EAAAM,qBAAA,SAAA3jC,EAAAG,GAEA,IADA,IAAAyjC,EAAA,GACA7vD,EAAA,EAAmBA,GAAAisB,EAAAjnB,YAAAxD,OAAA,IAAgCxB,EACnD,QAAAiC,EAAA,EAAqBA,GAAAmqB,EAAApnB,YAAAxD,OAAA,IAAgCS,EAAA,CACrD,IAAA6tD,EAAA,CACAthD,EAAAyd,EAAAjnB,YAAAhF,GAAA,GACAyO,EAAAwd,EAAAjnB,YAAAhF,GAAA,IAEA+vD,EAAA,CACAvhD,EAAAyd,EAAAjnB,YAAAhF,EAAA,MACAyO,EAAAwd,EAAAjnB,YAAAhF,EAAA,OAEAgwD,EAAA,CACAxhD,EAAA4d,EAAApnB,YAAA/C,GAAA,GACAwM,EAAA2d,EAAApnB,YAAA/C,GAAA,IAEAguD,EAAA,CACAzhD,EAAA4d,EAAApnB,YAAA/C,EAAA,MACAwM,EAAA2d,EAAApnB,YAAA/C,EAAA,OAEAiuD,GAAAD,EAAAzhD,EAAAwhD,EAAAxhD,IAAAshD,EAAArhD,EAAAuhD,EAAAvhD,IAAAwhD,EAAAxhD,EAAAuhD,EAAAvhD,IAAAqhD,EAAAthD,EAAAwhD,EAAAxhD,GACA2hD,GAAAJ,EAAAvhD,EAAAshD,EAAAthD,IAAAshD,EAAArhD,EAAAuhD,EAAAvhD,IAAAshD,EAAAthD,EAAAqhD,EAAArhD,IAAAqhD,EAAAthD,EAAAwhD,EAAAxhD,GACA4hD,GAAAH,EAAAxhD,EAAAuhD,EAAAvhD,IAAAshD,EAAAvhD,EAAAshD,EAAAthD,IAAAyhD,EAAAzhD,EAAAwhD,EAAAxhD,IAAAuhD,EAAAthD,EAAAqhD,EAAArhD,GACA,MAAA2hD,EAAA,CACA,IAAAC,EAAAH,EAAAE,EACAE,EAAAH,EAAAC,EACA,GAAAC,MAAA,MAAAC,MAAA,GACAT,EAAA5vD,KAAA,CACAsF,KAAA,QACAP,YAAA,CAAA8qD,EAAAthD,EAAA6hD,GAAAN,EAAAvhD,EAAAshD,EAAAthD,GAAAshD,EAAArhD,EAAA4hD,GAAAN,EAAAthD,EAAAqhD,EAAArhD,OAOA,OADA,GAAAohD,EAAAruD,SAAAquD,GAAA,GACAA,GAmBAP,EAAAiB,mBAAA,SAAA7tD,EAAA8/C,GACA,QAAA9/C,EAAAsC,YAAA,GAAAw9C,EAAA,OAAA9/C,EAAAsC,YAAA,GAAAw9C,EAAA,OAAA9/C,EAAAsC,YAAA,GAAAw9C,EAAA,OAAA9/C,EAAAsC,YAAA,GAAAw9C,EAAA,QAyBA8M,EAAAkB,eAAA,SAAAj1B,EAAAk1B,GAIA,IAHA,IAAAn/C,EAAA,WAAAm/C,EAAAlrD,KAAA,CAAAkrD,EAAAzrD,aAAAyrD,EAAAzrD,YAEA0rD,GAAA,EACA1wD,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IACtCsvD,EAAAiB,mBAAAh1B,EAAAg0B,EAAAj+C,EAAAtR,OAAA0wD,GAAA,GAEA,IAAAA,EAAA,SAEA,IAAAC,GAAA,EACA,IAAA3wD,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IACtC0vD,EAAAn0B,EAAAv2B,YAAA,GAAAu2B,EAAAv2B,YAAA,GAAAsM,EAAAtR,MAAA2wD,GAAA,GAGA,OAAAA,GAIArB,EAAAsB,oBAAA,SAAAr1B,EAAAk1B,GAKA,IAJA,IAAAI,EAAA,gBAAAJ,EAAAlrD,KAAA,CAAAkrD,EAAAzrD,aAAAyrD,EAAAzrD,YAEA0rD,GAAA,EACAC,GAAA,EACA3wD,EAAA,EAAmBA,EAAA6wD,EAAArvD,OAAyBxB,IAAA,CAE5C,IADA,IAAAsR,EAAAu/C,EAAA7wD,GACAiC,EAAA,EAAqBA,EAAAqP,EAAA9P,OAAmBS,IACxCyuD,GACApB,EAAAiB,mBAAAh1B,EAAAg0B,EAAAj+C,EAAArP,OACAyuD,GAAA,GAIA,IAAAA,EAAA,SACA,IAAAzuD,EAAA,EAAqBA,EAAAqP,EAAA9P,OAAmBS,IACxC0uD,GACAjB,EAAAn0B,EAAAv2B,YAAA,GAAAu2B,EAAAv2B,YAAA,GAAAsM,EAAArP,MACA0uD,GAAA,GAMA,OAAAA,GAGArB,EAAAwB,eAAA,SAAAC,GACA,OAAAA,EAAA3tD,KAAAsvC,GAAA,KAGA4c,EAAA0B,eAAA,SAAAD,GACA,WAAAA,EAAA3tD,KAAAsvC,IAIA4c,EAAA2B,WAAA,SAAAC,EAAAC,EAAA1yB,GAQA,IAPA,IAAAvZ,EAAA,CAAAisC,EAAAnsD,YAAA,GAAAmsD,EAAAnsD,YAAA,IACAkP,EAAAg9C,EAAA,SAEAE,EAAA,CAAA9B,EAAAwB,eAAA5rC,EAAA,IAAAoqC,EAAAwB,eAAA5rC,EAAA,KAGAurC,GAFAhyB,KAAA,GAEA,EAAAvZ,EAAA,GAAAA,EAAA,MACAllB,EAAA,EAAmBA,EAAAy+B,EAAWz+B,IAAA,CAC9B,IAAAqxD,EAAA,EAAAjuD,KAAAsvC,GAAA1yC,EAAAy+B,EACAhX,EAAArkB,KAAAkuD,KAAAluD,KAAAolB,IAAA4oC,EAAA,IAAAhuD,KAAAklB,IAAApU,GACA9Q,KAAAklB,IAAA8oC,EAAA,IAAAhuD,KAAAolB,IAAAtU,GAAA9Q,KAAAklB,IAAA+oC,IACAE,EAAAH,EAAA,GAAAhuD,KAAAg4C,MAAAh4C,KAAAolB,IAAA6oC,GAAAjuD,KAAAolB,IAAAtU,GAAA9Q,KAAAklB,IAAA8oC,EAAA,IACAhuD,KAAAklB,IAAApU,GAAA9Q,KAAAolB,IAAA4oC,EAAA,IAAAhuD,KAAAolB,IAAAf,IACAgpC,EAAAzwD,GAAA,GACAywD,EAAAzwD,GAAA,GAAAsvD,EAAA0B,eAAAvpC,GACAgpC,EAAAzwD,GAAA,GAAAsvD,EAAA0B,eAAAO,GAEA,OACAhsD,KAAA,UACAP,YAAA,CAAAyrD,KAKAnB,EAAAkC,kBAAA,SAAAC,GACA,IAAAhyC,EAAAgyC,EAAAzsD,YAAA,GACAkjC,EAAAzoB,EAAA,MACA2oB,EAAA3oB,EAAA,MACA0oB,EAAA1oB,EAAA,MACA4oB,EAAA5oB,EAAA,MACAiyC,EAAAvpB,EAAAD,EACAypB,EAAAtpB,EAAAD,EACA,OACA7iC,KAAA,QACAP,YAAA,CAAAkjC,EAAAwpB,EAAA,EAAAtpB,EAAAupB,EAAA,KAKArC,EAAAsC,cAAA,SAAAC,EAAAC,GACA,IAAAC,EAAAF,EAAA7sD,YAAA,GACAgtD,EAAAH,EAAA7sD,YAAA,GACAitD,EAAAH,EAAA9sD,YAAA,GACAktD,EAAAJ,EAAA9sD,YAAA,GACAmtD,EAAA7C,EAAAwB,eAAAoB,EAAAF,GACAI,EAAA9C,EAAAwB,eAAAmB,EAAAF,GACApyD,EAAAyD,KAAAulB,IAAAvlB,KAAAolB,IAAA2pC,EAAA,MAAA/uD,KAAAklB,IAAAgnC,EAAAwB,eAAAkB,IACA5uD,KAAAklB,IAAAgnC,EAAAwB,eAAAoB,IAAA9uD,KAAAulB,IAAAvlB,KAAAolB,IAAA4pC,EAAA,MACApxD,EAAA,EAAAoC,KAAAg4C,MAAAh4C,KAAAgR,KAAAzU,GAAAyD,KAAAgR,KAAA,EAAAzU,IACA,YAAAqB,EAAA,KAKAsuD,EAAA+C,qBAAA,SAAAntD,EAAAggB,EAAAnW,GACA,YAAA7J,EAAAK,KACA,OAAA+pD,EAAAsC,cAAA1sD,EAAAggB,IAAAnW,EACK,iBAAA7J,EAAAK,MAAA,WAAAL,EAAAK,KAAA,CACL,IACAP,EADAtC,EAAA,GAQA,QAAA1C,KAJAgF,EAFA,WAAAE,EAAAK,KAEAL,EAAAF,YAAA,GAEAE,EAAAF,YAEAA,EAEA,GADAtC,EAAAsC,cAAAhF,GACAsvD,EAAAsC,cAAAlvD,EAAAwiB,GAAAnW,EACA,SAIA,UAIAugD,EAAA5pB,KAAA,SAAA5M,GAOA,IANA,IAAA4M,EAAA,EAEArkC,EAAAy3B,EAAA9zB,YAAA,GACA/C,EAAAZ,EAAAG,OAAA,EAGAxB,EAAA,EAAmBA,EAAAqB,EAAAG,OAAmBS,EAAAjC,IAAA,CACtC,IAAA0e,EAAA,CACAlQ,EAAAnN,EAAArB,GAAA,GACAyO,EAAApN,EAAArB,GAAA,IAEA4e,EAAA,CACApQ,EAAAnN,EAAAY,GAAA,GACAwM,EAAApN,EAAAY,GAAA,IAEAyjC,GAAAhnB,EAAAlQ,EAAAoQ,EAAAnQ,EACAi3B,GAAAhnB,EAAAjQ,EAAAmQ,EAAApQ,EAIA,OADAk3B,GAAA,EACAA,GAIA4pB,EAAAx8C,SAAA,SAAAgmB,GAQA,IAPA,IAAAjlB,EAAArF,EAAA,EACAC,EAAA,EAEApN,EAAAy3B,EAAA9zB,YAAA,GACA/C,EAAAZ,EAAAG,OAAA,EAGAxB,EAAA,EAAmBA,EAAAqB,EAAAG,OAAmBS,EAAAjC,IAAA,CACtC,IAAA0e,EAAA,CACAlQ,EAAAnN,EAAArB,GAAA,GACAyO,EAAApN,EAAArB,GAAA,IAEA4e,EAAA,CACApQ,EAAAnN,EAAAY,GAAA,GACAwM,EAAApN,EAAAY,GAAA,IAEA4R,EAAA6K,EAAAlQ,EAAAoQ,EAAAnQ,EAAAmQ,EAAApQ,EAAAkQ,EAAAjQ,EACAD,IAAAkQ,EAAAlQ,EAAAoQ,EAAApQ,GAAAqF,EACApF,IAAAiQ,EAAAjQ,EAAAmQ,EAAAnQ,GAAAoF,EAIA,OADAA,EAAA,EAAAy7C,EAAA5pB,KAAA5M,GACA,CACAvzB,KAAA,QACAP,YAAA,CAAAyJ,EAAAoF,EAAArF,EAAAqF,KAIAy7C,EAAAgD,SAAA,SAAA/1C,EAAAg2C,GAWA,IAAAC,EAAAC,EAAAC,EAAA34C,EAAAE,EAAA04C,EACAC,EAAAC,EAAAC,EACAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAVAhB,KAAA,GACAh2C,IAAA/T,IAAA,SAAArH,GACA,OACAowD,IAAApwD,EAAA6D,YAAA,GACAyiB,IAAAtmB,EAAA6D,YAAA,MAOA,IAAA4iC,EAAAxkC,KAAAsvC,GAAA,OACAjzC,EAAA,IAAAyB,MACAsyD,EAAA,IAAAtyD,MACAuyD,EAAA,IAAAvyD,MAIA,GAAAqb,EAAA/a,OAAA,WAIAgxD,EAAAj2C,EAAA/a,OACAsxD,EAAA,IAAAP,GAAA,EAAAnvD,KAAAsvC,GAAA,SACAogB,KACAJ,EAAA,EACAc,EAAA,KACAC,EAAA,GAAAjB,EAAA,EACAC,EAAA,EAGA,MAAAA,EAAA,EAQA,GAJA14C,EAAAy5C,EAAAf,EAAA,GACAx4C,EAAAw5C,EAAAhB,EAAA,GACAA,IAEAx4C,EAAAF,EAAA,GAWA,IANAg5C,EAAAx2C,EAAAtC,GAAAs3C,MAAAh1C,EAAAxC,GAAAw3C,MACAyB,EAAAz2C,EAAAtC,GAAAwN,MAAAlL,EAAAxC,GAAA0N,MACArkB,KAAA6hB,IAAA8tC,GAAA,MAAAA,EAAA,IAAA3vD,KAAA6hB,IAAA8tC,IACAA,GAAA3vD,KAAAklB,IAAAsf,GAAArrB,EAAAtC,GAAAwN,MAAAlL,EAAAxC,GAAA0N,QACAwrC,EAAAF,IAAAC,IAEAhzD,EAAA+Z,EAAA,EAAA44C,EAAA54C,EAAA84C,GAAA,EAA4D7yD,EAAAia,EAASja,IAErEkzD,EAAA32C,EAAAvc,GAAAuxD,MAAAh1C,EAAAxC,GAAAw3C,MACA4B,EAAA52C,EAAAvc,GAAAynB,MAAAlL,EAAAxC,GAAA0N,MACArkB,KAAA6hB,IAAAiuC,GAAA,MAAAA,EAAA,IAAA9vD,KAAA6hB,IAAAiuC,IACAA,GAAA9vD,KAAAklB,IAAAsf,GAAArrB,EAAAvc,GAAAynB,MAAAlL,EAAAxC,GAAA0N,QACA2rC,EAAAF,IAAAC,IAEAE,EAAA92C,EAAAvc,GAAAuxD,MAAAh1C,EAAAtC,GAAAs3C,MACA+B,EAAA/2C,EAAAvc,GAAAynB,MAAAlL,EAAAtC,GAAAwN,MACArkB,KAAA6hB,IAAAouC,GAAA,MAAAA,EAAA,IAAAjwD,KAAA6hB,IAAAouC,IACAA,GAAAjwD,KAAAklB,IAAAsf,GAAArrB,EAAAvc,GAAAynB,MAAAlL,EAAAtC,GAAAwN,QACA8rC,EAAAF,IAAAC,IAEAV,EAAAQ,GAAAH,EAAAM,IACAA,GAAAN,EAAAG,KACAF,EAAAF,EAAAG,EAAAJ,IAAAG,EAAAF,EAAAG,EAAAJ,GAAAE,EACAL,EAAAC,IACAF,EAAA3yD,EACA6yD,EAAAD,GAIAC,EAAAC,GAEArzD,EAAAizD,GAAA34C,EACA24C,MAEAD,IACAe,EAAAf,EAAA,GAAAE,EACAc,EAAAhB,EAAA,GAAAx4C,EACAw4C,IACAe,EAAAf,EAAA,GAAA14C,EACA05C,EAAAhB,EAAA,GAAAE,QAGAlzD,EAAAizD,GAAA34C,EACA24C,IAKAjzD,EAAAizD,GAAAF,EAAA,EACAE,IAIA,IADA,IAAA99C,EAAA,IAAA1T,MACAlB,EAAA,EAAmBA,EAAA0yD,EAAY1yD,IAC/B4U,EAAA3U,KAAAsc,EAAA9c,EAAAO,KAEA,OAAA4U,EAAApM,IAAA,SAAArH,GACA,OACAoE,KAAA,QACAP,YAAA,CAAA7D,EAAAowD,IAAApwD,EAAAsmB,SAMA6nC,EAAApV,iBAAA,SAAA1kC,EAAA67C,EAAAn9C,GACAA,GAAA,KACAm9C,EAAA/B,EAAAwB,eAAAO,GAEA,IAAAU,EAAAzC,EAAAwB,eAAAt7C,EAAAxQ,YAAA,IACAgtD,EAAA1C,EAAAwB,eAAAt7C,EAAAxQ,YAAA,IAEAktD,EAAA9uD,KAAAkuD,KAAAluD,KAAAolB,IAAAwpC,GAAA5uD,KAAAklB,IAAApU,GACA9Q,KAAAklB,IAAA0pC,GAAA5uD,KAAAolB,IAAAtU,GAAA9Q,KAAAklB,IAAA+oC,IACAY,EAAAF,EAAA3uD,KAAAg4C,MAAAh4C,KAAAolB,IAAA6oC,GAAAjuD,KAAAolB,IAAAtU,GAAA9Q,KAAAklB,IAAA0pC,GACA5uD,KAAAklB,IAAApU,GAAA9Q,KAAAolB,IAAAwpC,GAAA5uD,KAAAolB,IAAA0pC,IAGA,OAFAD,KAAA,EAAA7uD,KAAAsvC,KAAA,EAAAtvC,KAAAsvC,IAAAtvC,KAAAsvC,GAEA,CACAntC,KAAA,QACAP,YAAA,CAAAsqD,EAAA0B,eAAAiB,GAAA3C,EAAA0B,eAAAkB,OAnZA,iECAA,IAAA56C,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6Be,MAAA,CAAOxlB,GAAAskB,EAAAtkB,GAAAlB,MAAAwlB,EAAAxlB,MAAA+qD,YAAAvlC,EAAAwlC,sBAAqE,CAAArlC,EAAA,QAAaE,YAAA,cAAAolC,MAAA,CAAiCC,OAAA1lC,EAAA0lC,OAAAC,YAAA3lC,EAAA4lC,OAAA5lC,EAAAkI,WAAAlI,EAAA6lC,QAAAC,cAAA9lC,EAAA4lC,OAAA5lC,EAAAkI,UAAAlI,EAAA6lC,UAAqI,CAAA7lC,EAAA0lC,OAAgnBvlC,EAAA,SAAsCE,YAAA,mBAA8B,CAAAF,EAAA,SAAcwc,WAAA,EAAatlC,KAAA,QAAAulC,QAAA,UAAAzlC,MAAA6oB,EAAA,QAAAe,WAAA,YAAwEglC,IAAA,WAAA7kC,MAAA,CAAwB9pB,KAAA,WAAA4uD,SAAAhmC,EAAAgmC,UAA0CC,SAAA,CAAWJ,QAAA9yD,MAAAkE,QAAA+oB,EAAA6lC,SAAA7lC,EAAAkmC,GAAAlmC,EAAA6lC,QAAA,SAAA7lC,EAAA,SAA+E6B,GAAA,CAAKskC,OAAA,SAAAnpB,GAA0B,IAAAopB,EAAApmC,EAAA6lC,QAAAQ,EAAArpB,EAAApzB,OAAA08C,IAAAD,EAAAR,QAAuE,GAAA9yD,MAAAkE,QAAAmvD,GAAA,CAAuB,IAAAvlC,EAAA,KAAA0lC,EAAAvmC,EAAAkmC,GAAAE,EAAAvlC,GAAiCwlC,EAAAR,QAAiBU,EAAA,IAAAvmC,EAAA6lC,QAAAO,EAAAxgD,OAAA,CAAAib,KAA4C0lC,GAAA,IAAAvmC,EAAA6lC,QAAAO,EAAA5yD,MAAA,EAAA+yD,GAAA3gD,OAAAwgD,EAAA5yD,MAAA+yD,EAAA,UAAsEvmC,EAAA6lC,QAAAS,MAAmBtmC,EAAAoD,GAAA,eAAvuCjD,EAAA,OAA0BE,YAAA,YAAuB,CAAAF,EAAA,SAAAA,EAAA,SAA0Bwc,WAAA,EAAatlC,KAAA,QAAAulC,QAAA,UAAAzlC,MAAA6oB,EAAA,QAAAe,WAAA,YAAwEglC,IAAA,WAAA7kC,MAAA,CAAwB9pB,KAAA,WAAA4uD,SAAAhmC,EAAAgmC,UAA0CC,SAAA,CAAWJ,QAAA9yD,MAAAkE,QAAA+oB,EAAA6lC,SAAA7lC,EAAAkmC,GAAAlmC,EAAA6lC,QAAA,SAAA7lC,EAAA,SAA+E6B,GAAA,CAAKskC,OAAA,SAAAnpB,GAA0B,IAAAopB,EAAApmC,EAAA6lC,QAAAQ,EAAArpB,EAAApzB,OAAA08C,IAAAD,EAAAR,QAAuE,GAAA9yD,MAAAkE,QAAAmvD,GAAA,CAAuB,IAAAvlC,EAAA,KAAA0lC,EAAAvmC,EAAAkmC,GAAAE,EAAAvlC,GAAiCwlC,EAAAR,QAAiBU,EAAA,IAAAvmC,EAAA6lC,QAAAO,EAAAxgD,OAAA,CAAAib,KAA4C0lC,GAAA,IAAAvmC,EAAA6lC,QAAAO,EAAA5yD,MAAA,EAAA+yD,GAAA3gD,OAAAwgD,EAAA5yD,MAAA+yD,EAAA,UAAsEvmC,EAAA6lC,QAAAS,MAAmBtmC,EAAAoD,GAAA,mBAAunBpD,EAAAoD,GAAA,cAA+CojC,KAAA,UAAexmC,EAAAymC,OAAA,YAAAzmC,EAAAoD,GAAA,oBAAsDojC,KAAA,gBAAqBxmC,EAAAgB,MAAA,IACruDoB,EAAA,2BC8BAskC,EAAA,EAEAC,EAAA,CACApiC,WAAA,CACAqiC,kBAAA,MAEAhmC,MAAA,CACAimC,KAAA,QACAlc,MAAA,SAEA9gC,MAAA,CACA1S,MAAA,GACAmxB,MAAA,GACAo9B,OAAAroB,QACAypB,SAAAzpB,QACA2oB,SAAA3oB,QACAnV,SAAAmV,QACA7iC,MAAAojB,OACA2nC,YAAA3nC,QAEA9jB,KAlBA,WAmBA,OACA8rD,OAAA,EACAlqD,GAAA,eAAAkK,OAAA8gD,OAGA9jC,SAAA,CACAijC,QAAA,CACAr8C,IADA,WACA,IAAAwC,EAAA9a,KACA,OAAAA,KAAAo3B,iBAAAv1B,MAAA7B,KAAAo3B,MAAAxY,KAAA,SAAAzP,GAAA,OAAAiJ,OAAAy9C,EAAA,WAAAz9C,CAAAjJ,EAAA2L,EAAA7U,UAAA,IAAAjG,KAAAo3B,OAEA7e,IAJA,SAIAtS,GAAA,IAAAgV,EAAAjb,KAUA,GATAA,KAAA00D,OAAA,EACA10D,KAAA41D,WAAA3vD,GAAA,OAAAjG,KAAAo3B,QACAnxB,EAAA,MAEAjG,KAAA41D,UAAA3vD,GAAA,OAAAjG,KAAAo3B,QACAnxB,GAAA,GAEAjG,KAAA81D,oBAEAnvD,IAAA3G,KAAAo3B,OAAAp3B,KAAAiG,QAAAjG,KAAA41D,SAAA,CACA,IAAAlpD,EAAA1M,KAAAo3B,MAAA11B,OAAA,SAAAyN,GAAA,OAAAiJ,OAAAy9C,EAAA,WAAAz9C,CAAAjJ,EAAA8L,EAAAhV,SACAA,GACAyG,EAAA9L,KAAAZ,KAAAiG,OAEAjG,KAAAgsC,MAAA,QAAAt/B,QAEA1M,KAAAgsC,MAAA,QAAA/lC,KAIAquD,oBA1BA,WA2BA,OAAAt0D,KAAAq0D,aAAA3yD,OAAA,SAAAyN,GAAA,OAAAA,MAGAolB,QAAA,CACAwO,MADA,WAEA/iC,KAAA+1D,MAAAC,SAAAC,cAAA,OAAAj2D,KAAAo3B,QAGAM,MAAA,CACAN,MADA,WAEAp3B,KAAA+iC,SAEA98B,MAJA,WAKAjG,KAAA+iC,UAGA5N,QAnEA,WAoEAn1B,KAAA+iC,UCrGiYmzB,EAAA,0BCQjYpkC,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd89C,EACAj+C,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,gCC0Bf,SAAAngB,EAAAC,EAAAhF,EAAAiF,GACA,IAAAlR,EAAAiC,EAAAG,EAAA+O,EAAAC,EAAAlM,EAAAmM,EAAAC,EACAC,EAGAC,EAFAC,EAAA,EACAC,EAAA,EAEAC,EAAA,sBAAAV,EAAA1L,KACAqM,EAAA,YAAAX,EAAA1L,KACAsM,EAAAF,EAAAV,EAAApL,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAOzB,IALAuR,EAAAI,EAAAV,EAAApL,SAAA7F,GAAAkF,SACA0M,EAAAX,EAAA/L,SAAA+L,EACAO,EAAA,uBAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAS9B,GARAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EACAD,EAAApM,EAAAF,YAEAyM,GAAAP,GACA,YAAAhM,EAAAK,MAAA,iBAAAL,EAAAK,KACA,IAEA,UAAAL,EAAAK,KACA0G,EAAAqF,EAAAI,GACAA,SACa,kBAAAxM,EAAAK,MAAA,eAAAL,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9CgK,EAAAqF,EAAArP,GAAAyP,GACAA,SAEa,eAAAxM,EAAAK,MAAA,oBAAAL,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAAiQ,EAAmCrP,IAClE6J,EAAAqF,EAAArP,GAAAG,GAAAsP,GACAA,SAEa,oBAAAxM,EAAAK,KACb,IAAAtD,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAsBY,IACrD,IAAAgP,EAAA,EAAmCA,EAAAE,EAAArP,GAAAG,GAAAZ,OAAAiQ,EAAsCL,IACzEnF,EAAAqF,EAAArP,GAAAG,GAAAgP,GAAAM,GACAA,QAEa,2BAAAxM,EAAAK,KAIb,UAAA9D,MAAA,yBAHA,IAAAQ,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3D+O,EAAA9L,EAAAe,WAAAhE,GAAAgK,EAAAiF,IAuEA,SAAAY,EAAAb,EAAAhF,EAAA8F,EAAAb,GACA,IAAAc,EAAAD,EAQA,OAPAf,EAAAC,EAAA,SAAAgB,EAAAP,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAE,EAEAhG,EAAA+F,EAAAC,EAAAP,IAEKR,GACLc,EA+CA,SAAAE,EAAAjB,EAAAhF,GACA,IAAAjM,EACA,OAAAiR,EAAA1L,MACA,wBACA,IAAAvF,EAAA,EAAmBA,EAAAiR,EAAApL,SAAArE,OAA2BxB,IAC9CiM,EAAAgF,EAAApL,SAAA7F,GAAAmS,WAAAnS,GAEA,MACA,cACAiM,EAAAgF,EAAAkB,WAAA,GACA,OAoEA,SAAAC,EAAAnB,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAG,EAAAjB,EAAA,SAAAoB,EAAAX,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAM,EAEApG,EAAA+F,EAAAK,EAAAX,KAGAM,EAgDA,SAAAM,EAAArB,EAAAhF,GACA,eAAAgF,EAAA1L,KACA0G,EAAAgF,EAAA,QACK,yBAAAA,EAAA1L,KACL,QAAAvF,EAAA,EAAuBA,EAAAiR,EAAApL,SAAArE,OAA2BxB,IAClDiM,EAAAgF,EAAApL,SAAA7F,MAkEA,SAAAuS,EAAAtB,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAO,EAAArB,EAAA,SAAAuB,EAAAd,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAS,EAEAvG,EAAA+F,EAAAQ,EAAAd,KAGAM,EAmCA,SAAAS,EAAAxB,GACA,IAAAK,EAAA,GAIA,OAHAN,EAAAC,EAAA,SAAAyB,GACApB,EAAArR,KAAAyS,KAEApB,EAqCA,SAAAqB,EAAA1B,EAAAhF,GACA,IAAAjM,EAAAiC,EAAAkP,EAAAjM,EAAAmM,EACAE,EACAC,EACAE,EAAA,EACAC,EAAA,sBAAAV,EAAA1L,KACAqM,EAAA,YAAAX,EAAA1L,KACAsM,EAAAF,EAAAV,EAAApL,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAOzB,IALAuR,EAAAI,EAAAV,EAAApL,SAAA7F,GAAAkF,SACA0M,EAAAX,EAAA/L,SAAA+L,EACAO,EAAA,uBAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAI9B,GAHAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EAEA,UAAArM,EAAAK,MACA,eAAAL,EAAAK,MACA,eAAAL,EAAAK,MACA,YAAAL,EAAAK,MACA,oBAAAL,EAAAK,MACA,iBAAAL,EAAAK,KACA0G,EAAA/G,EAAAwM,GACAA,QACa,2BAAAxM,EAAAK,KAMb,UAAA9D,MAAA,yBALA,IAAAQ,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3DgK,EAAA/G,EAAAe,WAAAhE,GAAAyP,GACAA,KAsEA,SAAAkB,EAAA3B,EAAAhF,EAAA8F,GACA,IAAAC,EAAAD,EAQA,OAPAY,EAAA1B,EAAA,SAAA4B,EAAAnB,GAEAM,EADA,IAAAN,QAAA1L,IAAA+L,EACAc,EAEA5G,EAAA+F,EAAAa,EAAAnB,KAGAM,EAthBAtT,EAAAC,QAAAqS,YA2EAtS,EAAAC,QAAAmT,cA0DApT,EAAAC,QAAAuT,WA4EAxT,EAAAC,QAAAyT,aAuDA1T,EAAAC,QAAA2T,cAyEA5T,EAAAC,QAAA4T,gBAwCA7T,EAAAC,QAAA8T,WAsFA/T,EAAAC,QAAAgU,WAyEAjU,EAAAC,QAAAiU,mCCzoBA,IAAA9K,EAAWhJ,EAAQ,QACnBmG,EAAgBnG,EAAQ,QAAiBmG,UACzCuwD,EAAuB12D,EAAQ,QAC/B8G,EAAwB9G,EAAQ,QAAe8G,kBAC/C+M,EAAA7K,EAAA6K,SACAL,EAAAxK,EAAAwK,YA2DA,SAAAmjD,EAAA1vD,EAAAuB,GACA,IAAA/B,EAAA,YAAAQ,EAAAR,KAAAQ,EAAAb,SAAAK,KAAAQ,EAAAR,KAGA,OAAAA,GACA,yBAIA,OAHAoN,EAAA5M,EAAA,SAAAb,GACAuwD,EAAAvwD,EAAAoC,KAEAvB,EACA,iBAEA,OADA2vD,EAAAzwD,EAAAc,GAAAuB,GACAvB,EACA,cAEA,OADA4vD,EAAA1wD,EAAAc,GAAAuB,GACAvB,EACA,sBAIA,OAHAd,EAAAc,GAAAoQ,QAAA,SAAAy/C,GACAF,EAAAE,EAAAtuD,KAEAvB,EACA,mBAIA,OAHAd,EAAAc,GAAAoQ,QAAA,SAAAy/C,GACAD,EAAAC,EAAAtuD,KAEAvB,EACA,YACA,iBACA,OAAAA,GAYA,SAAA2vD,EAAApkD,EAAAhK,GACAkuD,EAAAlkD,KAAAhK,GAAAgK,EAAAhK,UAWA,SAAAquD,EAAArkD,EAAAhK,GAEAkuD,EAAAlkD,EAAA,MAAAhK,GACAgK,EAAA,GAAAhK,UAGA,QAAAtH,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IACtCw1D,EAAAlkD,EAAAtR,MAAAsH,GACAgK,EAAAtR,GAAAsH,UArGA5I,EAAAC,QAAA,SAAAoH,EAAAuB,EAAAw2B,GAMA,GAJAx2B,OAAAtB,IAAAsB,KACAw2B,OAAA93B,IAAA83B,MAGA/3B,EAAA,UAAAtE,MAAA,yBACA,sBAAA6F,EAAA,UAAA7F,MAAA,+BACA,sBAAAq8B,EAAA,UAAAr8B,MAAA,+BAGA,IAAAq8B,QAAA93B,IAAA83B,IAAA/3B,EAAA23B,KAAA5R,MAAA4R,KAAAC,UAAA53B,KAGA,IAAAM,EAAA,GACA,OAAAN,EAAAR,MACA,yBAIA,OAHAoN,EAAA5M,EAAA,SAAAb,GACAuwD,EAAAvwD,EAAAoC,KAEAvB,EACA,wBAMA,OALAuM,EAAAvM,EAAA,SAAAL,GACA4M,EAAAmjD,EAAA/vD,EAAA4B,GAAA,SAAAy3B,GACA14B,EAAApG,KAAA8+B,OAGAn5B,EAAAS,GAGA,OAAAovD,EAAA1vD,EAAAuB;;;;;;;;;ACrCA,SAAAuuD,EAAAl2D,EAAAC,EAAAuC,GACA,OAAAxC,EAAAC,GACAuC,EAAAxC,IAAAC,EAAAD,IAEAA,EAAAwC,IAAAxC,EAAAC,GAaA,SAAAk2D,EAAAn2D,EAAAC,EAAAm2D,EAAAC,GACA,IAAAC,EAQA,OANAF,EAAAC,IACAC,EAAAF,EACAA,EAAAC,EACAA,EAAAC,GAGAt2D,EAAAC,EACAD,EAAAo2D,GACAA,EAAAp2D,IAAAC,EAAAD,IAEAq2D,EAAAr2D,IAAAC,EAAAD,GACGA,EAAAq2D,GACHr2D,EAAAq2D,IAAAr2D,EAAAC,IAGAD,EAAAo2D,IAAAp2D,EAAAC,GAYA,SAAAs2D,EAAAv2D,EAAAC,EAAAu2D,EAAAC,GACA,OAAAz2D,EAAAC,GACAu2D,EAAAx2D,IAAAC,EAAAD,IAEAA,EAAAy2D,IAAAz2D,EAAAC,GAYA,SAAAy2D,EAAA12D,EAAAC,EAAAu2D,EAAAC,GACA,OAAAz2D,EAAAC,GACAw2D,EAAAz2D,IAAAC,EAAAD,IAEAA,EAAAw2D,IAAAx2D,EAAAC,GAGA,SAAA02D,IAEAj3D,KAAAk6B,gBAAA,KACAl6B,KAAAm6B,SAAA,EACAn6B,KAAAstD,UAAA,EACAttD,KAAAk3D,eAAA,EACAl3D,KAAAm3D,YAAA,EACAn3D,KAAAo3D,YAAA,EAKA,SAAAC,EAAAC,GACA,IAAA32D,EACAqY,EACAuhB,EACAg9B,EACAj9B,EAMA,IAJAi9B,EAAA,IAAAN,EACAK,KAAA,GACAh9B,EAAAliB,OAAA2C,KAAAw8C,GAEA52D,EAAA,EAAYA,EAAA25B,EAAAn4B,OAAuBxB,IACnCqY,EAAAshB,EAAA35B,GACA45B,EAAA+8B,EAAAt+C,GACA,qBAAAuhB,GAAA,OAAAA,IACAg9B,EAAAv+C,GAAAuhB,GAWA,OAPAg9B,EAAAL,eAAAK,EAAAjK,SAGAiK,EAAA/jB,YAAAijB,EACAc,EAAAC,cAAAX,EACAU,EAAAE,cAAAT,EAEAO,EAKA,SAAAG,EAAAJ,GACA,IAAA32D,EACAqY,EACAuhB,EACAo9B,EACAr9B,EAMA,IAJAq9B,EAAA,IAAAV,EACAK,KAAA,GACAh9B,EAAAliB,OAAA2C,KAAA48C,GAEAh3D,EAAA,EAAYA,EAAA25B,EAAAn4B,OAAuBxB,IACnCqY,EAAAshB,EAAA35B,GACA45B,EAAA+8B,EAAAt+C,GACA,qBAAAuhB,GAAA,OAAAA,IACAo9B,EAAA3+C,GAAAuhB,GASA,OALAo9B,EAAAT,eAAAS,EAAArK,SAGAqK,EAAAnkB,YAAAgjB,EAEAmB,EAGA,SAAAC,EAAAz3D,EAAAgP,EAAAC,EAAAgrB,GACA,IAAAkzB,EAAA,GAcA,OAZAntD,EAAAmtD,SAAAx2C,QAAA,SAAAolB,GACAA,EAAAplB,QAAA,SAAA+gD,GACAA,EAAA,IAAA1oD,EACA0oD,EAAA,IAAAzoD,IAGAgrB,EAAA+8B,YACAj7B,EAAAt7B,KAAAs7B,EAAA,IAEAoxB,EAAA1sD,KAAAs7B,KAGAoxB,EAGA,SAAAwK,EAAA3oD,EAAAC,EAAA8yB,EAAA7hB,GAaA,OAZA,IAAA6hB,GACA/yB,GAAA,EACAC,GAAAiR,EAAA,OACG,IAAA6hB,EACH/yB,GAAAkR,EAAA,MACG,IAAA6hB,EACH9yB,GAAAiR,EAAA,MACG,IAAA6hB,IACH/yB,GAAAkR,EAAA,MACAjR,GAAA,GAGA,CAAAD,EAAAC,GAIA,SAAA2oD,EAAA5oD,EAAAC,EAAA8yB,GAUA,OATA,IAAAA,EACA/yB,IACG,IAAA+yB,IAAuB,IAAAA,EAC1B9yB,IACG,IAAA8yB,IACH/yB,IACAC,MAGA,CAAAD,EAAAC,GAIA,SAAA4oD,EAAApvD,EAAAqvD,EAAAC,GACA,IAAAC,EACAn9B,EACAD,EACAp6B,EACAiC,EAMA,IAJAu1D,GAAA,EACAn9B,EAAApyB,EAAA,GAAAzG,OACA44B,EAAAnyB,EAAAzG,OAEAS,EAAA,EAAaA,EAAAm4B,EAAUn4B,IACvB,GAAAgG,EAAAhG,GAAA,GAAAq1D,GACArvD,EAAAhG,GAAA,GAAAs1D,GACAtvD,EAAAhG,GAAAo4B,EAAA,GAAAi9B,GACArvD,EAAAhG,GAAAo4B,EAAA,GAAAk9B,EAAA,CACAC,GAAA,EACA,MAYA,GARA,IACAvvD,EAAAmyB,EAAA,MAAAk9B,GACArvD,EAAAmyB,EAAA,MAAAm9B,GACAtvD,EAAAmyB,EAAA,GAAAC,EAAA,GAAAi9B,GACArvD,EAAAmyB,EAAA,GAAAC,EAAA,GAAAk9B,KACAC,GAAA,GAGAA,EACA,IAAAx3D,EAAA,EAAeA,EAAAq6B,EAAA,EAAcr6B,IAC7B,GAAAiI,EAAA,GAAAjI,GAAAs3D,GACArvD,EAAA,GAAAjI,GAAAu3D,GACAtvD,EAAAmyB,EAAA,GAAAp6B,GAAAs3D,GACArvD,EAAAmyB,EAAA,GAAAp6B,GAAAu3D,EAAA,CACAC,GAAA,EACA,MAKA,OAAAA,EAIA,SAAAC,EAAAxvD,EAAAyxB,GACA,IAAA89B,EACAn9B,EACAD,EACAp6B,EACAiC,EAMA,IAJAu1D,GAAA,EACAn9B,EAAApyB,EAAA,GAAAzG,OACA44B,EAAAnyB,EAAAzG,OAEAS,EAAA,EAAaA,EAAAm4B,EAAUn4B,IACvB,GAAAgG,EAAAhG,GAAA,IAAAy3B,GACAzxB,EAAAhG,GAAAo4B,EAAA,IAAAX,EAAA,CACA89B,GAAA,EACA,MAUA,GANA,IACAvvD,EAAAmyB,EAAA,OAAAV,GACAzxB,EAAAmyB,EAAA,GAAAC,EAAA,IAAAX,KACA89B,GAAA,GAGAA,EACA,IAAAx3D,EAAA,EAAeA,EAAAq6B,EAAA,EAAcr6B,IAC7B,GAAAiI,EAAA,GAAAjI,IAAA05B,GACAzxB,EAAAmyB,EAAA,GAAAp6B,GAAA05B,EAAA,CACA89B,GAAA,EACA,MAIA,OAAAA,EAIA,SAAAE,EAAAzvD,EAAA0vD,EAAAl+B,GACA,IAAAm+B,EACAl4C,EACAjY,EACAowD,EACAh7B,EACAi7B,EACAC,EACAvpD,EACAC,EACAupD,EACA7uB,EACA8uB,EACAC,EACAhjC,EACAxyB,EACAy1D,EAEAxL,EAAA,GACAvyB,EAAAnyB,EAAAzG,OAAA,EACA64B,EAAApyB,EAAA,GAAAzG,OAAA,EASA42D,EAAA,aACA,YACA,YACA,aAEAC,EAAA,WACAC,EAAA,WACAC,EAAA,0CACAC,EAAA,CACA79B,GAAA,EAAAD,GAAA,EACA+9B,GAAA,EAAAC,GAAA,EACAl+B,GAAA,EAAAC,GAAA,EACAk+B,GAAA,EAAAC,GAAA,GAwJA,OArJAvB,EAAApvD,EAAAwxB,EAAA08B,KAAA18B,EAAA28B,QACA38B,EAAA+8B,WACA7J,EAAA1sD,KAAA,UAAAm6B,GAAA,CAAAC,EAAAD,GAAA,CAAAC,EAAA,WAEAsyB,EAAA1sD,KAAA,UAAAm6B,GAAA,CAAAC,EAAAD,GAAA,CAAAC,EAAA,MAIAs9B,EAAAxhD,QAAA,SAAAxW,EAAAK,GACAL,EAAAwW,QAAA,SAAA3W,EAAAyC,GAIA,IAHA21D,EAAA,KAGAnwD,EAAA,EAAiBA,EAAA,EAAOA,IAGxB,GAFAmwD,EAAAW,EAAA9wD,GAEA,kBAAAjI,EAAA4Z,MAAAw+C,GAAA,CAIAl4C,EAAA,GACAm4C,EAAAr4D,EAAA4Z,MAAAw+C,GACAG,EAAAH,EACAppD,EAAAxO,EACAyO,EAAAxM,EACA+1D,GAAA,EACA7uB,EAAA,CAAAnpC,EAAA63D,EAAAn4C,KAAA,MAAAzd,EAAA41D,EAAAn4C,KAAA,OAGAA,EAAAzf,KAAAkpC,GAGA,OAAA6uB,EAAA,CAGA,GAFAC,EAAAN,EAAAnpD,GAAAC,GAEA,kBAAAwpD,EAAA7+C,MAAA2+C,GACA,MAkBA,GAhBAF,EAAAI,EAAA7+C,MAAA2+C,UAGAE,EAAA7+C,MAAA2+C,GAGAr1D,EAAAm1D,EAAAn4C,KAAA,GACAhd,EAAA,IAAA8L,EACA9L,EAAA,IAAA+L,EACAiR,EAAAzf,KAAAyC,GAEAq1D,EAAAF,EAAAgB,KAAAd,MACAvpD,GAAAqpD,EAAAgB,KAAArqD,EACAC,GAAAopD,EAAAgB,KAAApqD,EAGA,qBAAAkpD,EAAAnpD,IACA,qBAAAmpD,EAAAnpD,GAAAC,GAAA,CAIA,GAHAypD,EAAA,EACAhjC,EAAA,EAEA1mB,IAAA6rB,EACA7rB,IACA0pD,EAAA,OACa,GAAA1pD,EAAA,EACbA,IACA0pD,EAAA,OACa,GAAAzpD,IAAA2rB,EACb3rB,IACAypD,EAAA,MACa,MAAAzpD,EAAA,GAIb,UAAAhN,MAAA,4CAHAgN,IACAypD,EAAA,EAKA,GAAA1pD,IAAAxO,GAAAyO,IAAAxM,GAAAi2D,IAAAM,EAAAZ,GAAA,CACAI,GAAA,EACAD,EAAAH,EACA,MAGA,SAGA,GAFAO,GAAA,EAEAjjC,EAAA,EACA,UAAAzzB,MAAA,gEAEA,wBAAAk2D,EAAAnpD,IACA,qBAAAmpD,EAAAnpD,GAAAC,GAIA,IAHAwpD,EAAAN,EAAAnpD,GAAAC,GAGAouB,EAAA,EAA2BA,EAAAu7B,EAAAF,GAAA12D,OAA+Bq7B,IAE1D,GADAi7B,EAAAM,EAAAF,GAAAr7B,GACA,kBAAAo7B,EAAA7+C,MAAA0+C,GAAA,CAEAD,EAAAI,EAAA7+C,MAAA0+C,GACAp4C,EAAAzf,KAAAk3D,EAAA3oD,EAAAC,EAAAypD,EAAAL,EAAAn4C,OACAq4C,EAAAD,EACAK,GAAA,EACA,MAKA,GAAAA,EACA,MAsBA,GApBAz4C,EAAAzf,KAAAm3D,EAAA5oD,EAAAC,EAAAypD,IAEA1pD,GAAA6pD,EAAAH,GACAzpD,GAAA6pD,EAAAJ,GAGA,qBAAAP,EAAAnpD,IACA,qBAAAmpD,EAAAnpD,GAAAC,KACA,IAAAypD,GAAAzpD,EAAA,GACA,IAAAypD,GAAA1pD,EAAA,GACA,IAAA0pD,GAAAzpD,IAAA2rB,GACA,IAAA89B,GAAA1pD,IAAA6rB,KACA7rB,GAAA6pD,EAAAH,GACAzpD,GAAA6pD,EAAAJ,GAEAA,KAAA,KACAhjC,KAIA1mB,IAAAxO,GAAAyO,IAAAxM,GAAAi2D,IAAAM,EAAAZ,GAAA,CAEAI,GAAA,EACAD,EAAAH,EACA,UAOAn+B,EAAA,YACA/Z,IAAAle,OAAA,QAAA2nC,EAAA,IACAzpB,IAAAle,OAAA,QAAA2nC,EAAA,IACAzpB,EAAAzf,KAAAkpC,GAEAwjB,EAAA1sD,KAAAyf,QAKAitC,EAIA,SAAAmM,EAAA7wD,EAAA0vD,EAAAl+B,GACA,IAAAm+B,EACAnwD,EACAowD,EACAI,EACAv4C,EACAq4C,EACAvpD,EACAC,EACAupD,EACA7uB,EACAzmC,EACAw1D,EACAhjC,EACAijC,EACAL,EAEAnL,EAAA,GACAvyB,EAAAnyB,EAAAzG,OAAA,EACA64B,EAAApyB,EAAA,GAAAzG,OAAA,EASA42D,EAAA,SACA,SACA,OACA,OAEAC,EAAA,WACAC,EAAA,WACAE,EAAA,CACA9sD,OAAA,EACAJ,KAAA,EACAG,IAAA,EACAF,MAAA,GA0JA,OAtJAksD,EAAAxvD,EAAAwxB,EAAAC,aACAD,EAAA+8B,WACA7J,EAAA1sD,KAAA,UAAAm6B,GAAA,CAAAC,EAAAD,GAAA,CAAAC,EAAA,WAEAsyB,EAAA1sD,KAAA,UAAAm6B,GAAA,CAAAC,EAAAD,GAAA,CAAAC,EAAA,MAKAs9B,EAAAxhD,QAAA,SAAAxW,EAAAK,GACAL,EAAAwW,QAAA,SAAA3W,EAAAyC,GAIA,IAHA21D,EAAA,KAGAnwD,EAAA,EAAiBA,EAAA,EAAOA,IAGxB,GAFAmwD,EAAAQ,EAAA3wD,GAEA,kBAAAjI,EAAA4Z,MAAAw+C,GAAA,CAIAl4C,EAAA,GACAm4C,EAAAr4D,EAAA4Z,MAAAw+C,GACAG,EAAAH,EACAppD,EAAAxO,EACAyO,EAAAxM,EACA+1D,GAAA,EACA7uB,EAAA,CAAAnpC,EAAA63D,EAAAn4C,KAAA,MAAAzd,EAAA41D,EAAAn4C,KAAA,OAGAA,EAAAzf,KAAAkpC,GAGA,OAAA6uB,EAAA,CAGA,GAFAC,EAAAN,EAAAnpD,GAAAC,GAEA,kBAAAwpD,EAAA7+C,MAAA2+C,GACA,MAkBA,GAhBAF,EAAAI,EAAA7+C,MAAA2+C,UAGAE,EAAA7+C,MAAA2+C,GAGAr1D,EAAAm1D,EAAAn4C,KAAA,GACAhd,EAAA,IAAA8L,EACA9L,EAAA,IAAA+L,EACAiR,EAAAzf,KAAAyC,GAEAq1D,EAAAF,EAAAgB,KAAAd,MACAvpD,GAAAqpD,EAAAgB,KAAArqD,EACAC,GAAAopD,EAAAgB,KAAApqD,EAGA,qBAAAkpD,EAAAnpD,IACA,qBAAAmpD,EAAAnpD,GAAAC,GAAA,CAEA,IAAAgrB,EAAA+8B,WACA,MAmBA,GAjBA0B,EAAA,EACAhjC,EAAA,EAEA1mB,IAAA6rB,GACA7rB,IACA0pD,EAAA,GACa1pD,EAAA,GACbA,IACA0pD,EAAA,GACazpD,IAAA2rB,GACb3rB,IACAypD,EAAA,GACazpD,EAAA,IACbA,IACAypD,EAAA,GAGA1pD,IAAAxO,GAAAyO,IAAAxM,GAAAi2D,IAAAM,EAAAZ,GAAA,CACAI,GAAA,EACAD,EAAAH,EACA,MAGA,SAGA,GAFAO,GAAA,EAEAjjC,EAAA,EACA,UAAAzzB,MAAA,gEAEA,wBAAAk2D,EAAAnpD,IACA,qBAAAmpD,EAAAnpD,GAAAC,KACAwpD,EAAAN,EAAAnpD,GAAAC,GAGAqpD,EAAAM,EAAAF,GACA,kBAAAD,EAAA7+C,MAAA0+C,IAAA,CAEAD,EAAAI,EAAA7+C,MAAA0+C,GACAp4C,EAAAzf,KAAAk3D,EAAA3oD,EAAAC,EAAAypD,EAAAL,EAAAn4C,OACAq4C,EAAAD,EACAK,GAAA,EACA,MAIA,GAAAA,EACA,MAsBA,GApBAz4C,EAAAzf,KAAAm3D,EAAA5oD,EAAAC,EAAAypD,IAEA1pD,GAAA6pD,EAAAH,GACAzpD,GAAA6pD,EAAAJ,GAGA,qBAAAP,EAAAnpD,IACA,qBAAAmpD,EAAAnpD,GAAAC,KACA,IAAAypD,GAAAzpD,EAAA,GACA,IAAAypD,GAAA1pD,EAAA,GACA,IAAA0pD,GAAAzpD,IAAA2rB,GACA,IAAA89B,GAAA1pD,IAAA6rB,KACA7rB,GAAA6pD,EAAAH,GACAzpD,GAAA6pD,EAAAJ,GAEAA,KAAA,KACAhjC,KAIA1mB,IAAAxO,GAAAyO,IAAAxM,GAAAi2D,IAAAM,EAAAZ,GAAA,CAEAI,GAAA,EACAD,EAAAH,EACA,UAOAn+B,EAAA,YACA/Z,IAAAle,OAAA,QAAA2nC,EAAA,IACAzpB,IAAAle,OAAA,QAAA2nC,EAAA,IACAzpB,EAAAzf,KAAAkpC,GAEAwjB,EAAA1sD,KAAAyf,QAKAitC,EAIA,SAAAoM,EAAA9wD,EAAAuG,EAAAC,EAAAmtB,EAAAC,GACA,IAAAm9B,EAAAp9B,EACAq9B,EAAAp9B,EACAq9B,EAAA,EACAC,EAAA,EA6BA,GA1BA95D,KAAAmP,IACAnP,KAAAoP,IAGApP,KAAAi4D,WAAA,KAEAj4D,KAAAk4D,WAAA,KAeAl4D,KAAA+5D,OAAA,KACA/5D,KAAAg6D,OAAA,KACAh6D,KAAAi6D,OAAA,KACAj6D,KAAAk6D,OAAA,KAEA,IAAA39B,GAAA,IAAAC,EAEAx8B,KAAAi4D,WAAAl0D,KAAAyiC,IACA59B,EAAAwG,GAAAD,GACAvG,EAAAwG,GAAAD,EAAA,GACAvG,EAAAwG,EAAA,GAAAD,EAAA,GACAvG,EAAAwG,EAAA,GAAAD,IAEAnP,KAAAk4D,WAAAn0D,KAAA0K,IACA7F,EAAAwG,GAAAD,GACAvG,EAAAwG,GAAAD,EAAA,GACAvG,EAAAwG,EAAA,GAAAD,EAAA,GACAvG,EAAAwG,EAAA,GAAAD,QAEG,CAEH,GAAAotB,EAAA,GACA,UAAAo9B,EACAA,IAAA,EACAE,IAGAt9B,IAAA,GAAAs9B,EAAA,GACAA,IAEAF,EAAA,GAAAE,EAAA,EAIA,GAAAr9B,EAAA,GACA,UAAAo9B,EACAA,IAAA,EACAE,IAGAt9B,IAAA,GAAAs9B,EAAA,GACAA,IAEAF,EAAA,GAAAE,EAAA,EAGA95D,KAAA+5D,OAAA,IAAAL,EAAA9wD,EAAAuG,EAAAC,EAAAuqD,EAAAC,GACA55D,KAAAi4D,WAAAj4D,KAAA+5D,OAAA9B,WACAj4D,KAAAk4D,WAAAl4D,KAAA+5D,OAAA7B,WAEA37B,EAAAo9B,EAAA,IACA35D,KAAAg6D,OAAA,IAAAN,EAAA9wD,EAAAuG,EAAAwqD,EAAAvqD,EAAAmtB,EAAAo9B,EAAAC,GACA55D,KAAAi4D,WAAAl0D,KAAAyiC,IAAAxmC,KAAAi4D,WAAAj4D,KAAAg6D,OAAA/B,YACAj4D,KAAAk4D,WAAAn0D,KAAA0K,IAAAzO,KAAAk4D,WAAAl4D,KAAAg6D,OAAA9B,YAEA17B,EAAAo9B,EAAA,IACA55D,KAAAi6D,OAAA,IAAAP,EAAA9wD,EAAAuG,EAAAwqD,EAAAvqD,EAAAwqD,EAAAr9B,EAAAo9B,EAAAn9B,EAAAo9B,GACA55D,KAAAi4D,WAAAl0D,KAAAyiC,IAAAxmC,KAAAi4D,WAAAj4D,KAAAi6D,OAAAhC,YACAj4D,KAAAk4D,WAAAn0D,KAAA0K,IAAAzO,KAAAk4D,WAAAl4D,KAAAi6D,OAAA/B,cAIA17B,EAAAo9B,EAAA,IACA55D,KAAAk6D,OAAA,IAAAR,EAAA9wD,EAAAuG,EAAAC,EAAAwqD,EAAAD,EAAAn9B,EAAAo9B,GACA55D,KAAAi4D,WAAAl0D,KAAAyiC,IAAAxmC,KAAAi4D,WAAAj4D,KAAAk6D,OAAAjC,YACAj4D,KAAAk4D,WAAAn0D,KAAA0K,IAAAzO,KAAAk4D,WAAAl4D,KAAAk6D,OAAAhC,cA8FA,SAAAiC,EAAAvxD,GACA,IAAAjI,EAAAq6B,EAGA,IAAApyB,EACA,UAAAxG,MAAA,oBAEA,IAAAP,MAAAkE,QAAA6C,KACA/G,MAAAkE,QAAA6C,EAAA,IACA,UAAAxG,MAAA,mDAEA,GAAAwG,EAAAzG,OAAA,EACA,UAAAC,MAAA,uCAKA,GAFA44B,EAAApyB,EAAA,GAAAzG,OAEA64B,EAAA,EACA,UAAA54B,MAAA,0CAEA,IAAAzB,EAAA,EAAaA,EAAAiI,EAAAzG,OAAiBxB,IAAA,CAC9B,IAAAkB,MAAAkE,QAAA6C,EAAAjI,IACA,UAAAyB,MAAA,OAAAzB,EAAA,oBAEA,GAAAiI,EAAAjI,GAAAwB,QAAA64B,EACA,UAAA54B,MAAA,+DAIApC,KAAA4I,OAEA5I,KAAA85B,KAAA,IAAA4/B,EAAA9wD,EAAA,IAAAA,EAAA,GAAAzG,OAAA,EAAAyG,EAAAzG,OAAA,GAYA,SAAAi4D,EAAAxvB,EAAAvQ,EAAA3tB,GACA,IAAA0tB,EACAz5B,EACAiC,EACAy3D,GAAA,EACAC,GAAA,EACAC,EAAA,KACAzgC,EAAA,KACAlxB,EAAA,KACA0vD,EAAA,KACAkC,EAAA,KACA9/B,EAAA,GAGA,IAAAkQ,EAAA,UAAAxoC,MAAA,oBACA,QAAAuE,IAAA0zB,GAAA,OAAAA,EAAA,UAAAj4B,MAAA,yBACA,GAAAsK,GAAA,kBAAAA,EAAA,UAAAtK,MAAA,6BAMA,GAHAg4B,EAAAs9B,EAAAhrD,GAGAk+B,aAAAuvB,EACAI,EAAA3vB,EACA9Q,EAAA8Q,EAAA9Q,KACAlxB,EAAAgiC,EAAAhiC,KACAwxB,EAAAg9B,aACAiD,GAAA,OACG,KAAAx4D,MAAAkE,QAAA6kC,KAAA/oC,MAAAkE,QAAA6kC,EAAA,IAGH,UAAAxoC,MAAA,2EAFAwG,EAAAgiC,EAMA,GAAA/oC,MAAAkE,QAAAs0B,IAQA,IAPAigC,GAAA,EAGAlgC,EAAAg9B,aACAiD,GAAA,GAGA15D,EAAA,EAAeA,EAAA05B,EAAAl4B,OAAsBxB,IACrC,GAAA0O,OAAAgrB,EAAA15B,IACA,UAAAyB,MAAA,aAAAzB,EAAA,yBACG,CACH,GAAA0O,OAAAgrB,GACA,UAAAj4B,MAAA,kDAEAi4B,EAAA,CAAAA,GA6GA,OAzGA,IAAAP,IACAygC,EAAA,IAAAJ,EAAAvxD,GACAkxB,EAAAygC,EAAAzgC,KACAlxB,EAAA2xD,EAAA3xD,MAGAwxB,EAAAD,UACAC,EAAAkzB,SACA9yB,QAAAC,IAAA,oFAEAD,QAAAC,IAAA,oFAEA6/B,GACA9/B,QAAAC,IAAA,gIAMAJ,EAAAvjB,QAAA,SAAA3V,EAAAR,GASA,GARA65D,EAAA,GAGApgC,EAAAC,UAAAl5B,EAEAi5B,EAAAD,SACAK,QAAAC,IAAA,iEAAAt5B,GAEAi5B,EAAAkzB,SAEA,GAAA+M,EAEAvgC,EACA2gC,oBAAArgC,EAAAC,WAAA,GACAvjB,QAAA,SAAAnV,GACA64D,IAAA9lD,OACAkjD,EACA8C,EAAA9xD,EACAjH,EAAAwN,EACAxN,EAAAyN,EACAgrB,GACAz4B,EAAAwN,EACAxN,EAAAyN,EACAgrB,WAKA,IAAAx3B,EAAA,EAAmBA,EAAAgG,EAAAzG,OAAA,IAAqBS,EACxC,IAAAjC,EAAA,EAAqBA,EAAAiI,EAAA,GAAAzG,OAAA,IAAwBxB,EAC7C65D,IAAA9lD,OACAkjD,EACA8C,EAAA9xD,EACAjI,EACAiC,EACAw3B,GACAz5B,EACAiC,EACAw3B,QAIK,CAGL,IADAk+B,EAAA,GACA33D,EAAA,EAAiBA,EAAAiI,EAAA,GAAAzG,OAAA,IAAwBxB,EACzC23D,EAAA33D,GAAA,GAGA,GAAA05D,EAEAvgC,EACA2gC,oBAAArgC,EAAAC,WAAA,GACAvjB,QAAA,SAAAnV,GACA22D,EAAA32D,EAAAwN,GAAAxN,EAAAyN,GAAAsrD,EAAA9xD,EACAjH,EAAAwN,EACAxN,EAAAyN,EACAgrB,UAIA,IAAAz5B,EAAA,EAAmBA,EAAAiI,EAAA,GAAAzG,OAAA,IAAwBxB,EAC3C,IAAAiC,EAAA,EAAqBA,EAAAgG,EAAAzG,OAAA,IAAqBS,EAC1C01D,EAAA33D,GAAAiC,GAAA83D,EAAA9xD,EACAjI,EACAiC,EACAw3B,GAKAogC,EAAAf,EAAA7wD,EAAA0vD,EAAAl+B,GAIAkgC,EACA5/B,EAAA95B,KAAA45D,GAEA9/B,EAAA8/B,EAEA,oBAAApgC,EAAAF,iBACAE,EAAAF,gBAAAQ,EAAAv5B,KAIAu5B,EAcA,SAAAggC,EAAA7+B,EAAA1sB,EAAAC,EAAAgrB,GACA,IAAAnuB,EACAC,EACAE,EACAC,EACAmvB,EACAr7B,EAEA+6B,EAAA,EACAqG,EAAA1F,EAAAzsB,EAAA,GAAAD,GACAgF,EAAA0nB,EAAAzsB,EAAA,GAAAD,EAAA,GACA8E,EAAA4nB,EAAAzsB,GAAAD,EAAA,GACAk0C,EAAAxnB,EAAAzsB,GAAAD,GACAkrB,EAAAD,EAAAC,UAMA,KAAAhrB,MAAAg0C,IAAAh0C,MAAA4E,IAAA5E,MAAA8E,IAAA9E,MAAAkyB,IAAA,CA4DA,OAxBArG,GAAAqG,GAAAlH,EAAA,IACAa,GAAA/mB,GAAAkmB,EAAA,IACAa,GAAAjnB,GAAAomB,EAAA,IACAa,GAAAmoB,GAAAhpB,EAAA,IAGAa,KAGA/6B,EAAA,CACA+6B,OACAoyB,SAAA,GACAvzC,MAAA,GACAspC,KACApvC,KACAE,KACAotB,MAQArG,GACA,OACAd,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,2BAEA,MAEA,QAEA,MAEA,QACAqL,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAhuB,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA9N,KAAA,CACAoU,KAAA,IAAApU,GAAA,CAAAI,EAAA,IACAmtD,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,SAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAqL,GAAA,CAAAI,EAAA,KAEA,MAEA,QACAA,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GACAnuB,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA1N,OAAA,CACAgU,KAAA,EAAAhU,EAAA,MAAAH,IACAstD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,UAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAyL,EAAA,MAAAH,GAAA,QAEA,MAEA,QACAA,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA7N,MAAA,CACAmU,KAAA,IAAAnU,GAAA,CAAAE,EAAA,IACAotD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,YAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAAsL,GAAA,CAAAE,EAAA,WAEA,MAEA,OACAH,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA3N,IAAA,CACAiU,KAAA,EAAAjU,EAAA,MAAAH,IACAutD,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,WAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAwL,EAAA,MAAAH,GAAA,QAEA,MAEA,OACAA,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAhuB,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA1N,OAAA,CACAgU,KAAA,EAAAhU,EAAA,MAAAJ,IACAutD,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,WAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAyL,EAAA,MAAAJ,GAAA,oBAEA,MAEA,OACAI,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GACAnuB,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA7N,MAAA,CACAmU,KAAA,IAAAnU,GAAA,CAAAG,EAAA,IACAmtD,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,SAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,sBAAAsL,GAAA,CAAAG,EAAA,KAEA,MAEA,OACAH,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA3N,IAAA,CACAiU,KAAA,EAAAjU,EAAA,MAAAF,IACAstD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,UAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,cAAAwL,EAAA,MAAAF,GAAA,QAEA,MAEA,OACAD,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA9N,KAAA,CACAoU,KAAA,IAAApU,GAAA,CAAAG,EAAA,IACAotD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,YAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAqL,GAAA,CAAAG,EAAA,iBAEA,MAEA,QACAH,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAnuB,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA9N,KAAA,CACAoU,KAAA,IAAApU,GAAA,GAAAC,IACAstD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,UAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAqL,GAAA,GAAAC,GAAA,QAEA,MAEA,OACAG,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA1N,OAAA,CACAgU,KAAA,EAAAhU,EAAA,IAAAD,EAAA,IACAotD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,YAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAyL,EAAA,IAAAD,EAAA,iBAEA,MAEA,OACAH,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAnuB,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA7N,MAAA,CACAmU,KAAA,IAAAnU,GAAA,GAAAD,IACAutD,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,WAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAAqL,GAAA,eAAAC,KAEA,MAEA,OACAG,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GAEAD,EAAA88B,gBACA/2D,EAAA4Z,MAAA3N,IAAA,CACAiU,KAAA,EAAAjU,EAAA,IAAAC,EAAA,IACAmtD,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,SAKAt+B,EAAAkzB,UACAntD,EAAAmtD,SAAA1sD,KAAA,cAAAwL,EAAA,IAAAC,EAAA,KAEA,MAEA,QACAJ,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAnuB,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GACAhuB,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GACAmB,GAAA6nB,EAAApvC,EAAAE,EAAAotB,GAAA,EAEAnH,EAAA88B,gBACA17B,EAAAnB,GACAl6B,EAAA4Z,MAAA9N,KAAA,CACAoU,KAAA,IAAApU,GAAA,CAAAG,EAAA,IACAotD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,WAGAv4D,EAAA4Z,MAAA7N,MAAA,CACAmU,KAAA,IAAAnU,GAAA,CAAAG,EAAA,IACAmtD,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,UAIAv4D,EAAA4Z,MAAA7N,MAAA,CACAmU,KAAA,IAAAnU,GAAA,CAAAE,EAAA,IACAotD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,WAGAv4D,EAAA4Z,MAAA9N,KAAA,CACAoU,KAAA,IAAApU,GAAA,CAAAI,EAAA,IACAmtD,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,UAMAt+B,EAAAkzB,WACA9xB,EAAAnB,EACAl6B,EAAAmtD,SAAA1sD,KAAA,UAAAqL,GAAA,CAAAG,EAAA,YAAAF,GAAA,CAAAG,EAAA,MAEAlM,EAAAmtD,SAAA1sD,KAAA,UAAAqL,GAAA,CAAAI,EAAA,KACAlM,EAAAmtD,SAAA1sD,KAAA,EAAAwL,EAAA,YAAAF,OAIA,MAEA,OACAD,EAAAmuB,EAAAoZ,YAAA6P,EAAA9hB,EAAAlH,GACAnuB,EAAAkuB,EAAAoZ,YAAAv/B,EAAAE,EAAAkmB,GACAhuB,EAAA+tB,EAAAoZ,YAAA6P,EAAApvC,EAAAomB,GACAjuB,EAAAguB,EAAAoZ,YAAAjS,EAAAptB,EAAAkmB,GACAmB,GAAA6nB,EAAApvC,EAAAE,EAAAotB,GAAA,EAEAnH,EAAA88B,gBACA17B,EAAAnB,GACAl6B,EAAA4Z,MAAA1N,OAAA,CACAgU,KAAA,EAAAhU,EAAA,MAAAJ,IACAutD,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,UAGAv4D,EAAA4Z,MAAA3N,IAAA,CACAiU,KAAA,EAAAjU,EAAA,MAAAF,IACAstD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,WAIAv4D,EAAA4Z,MAAA3N,IAAA,CACAiU,KAAA,EAAAjU,EAAA,MAAAH,IACAutD,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,UAGAv4D,EAAA4Z,MAAA1N,OAAA,CACAgU,KAAA,EAAAhU,EAAA,MAAAH,IACAstD,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,WAMAt+B,EAAAkzB,WACA9xB,EAAAnB,EACAl6B,EAAAmtD,SAAA1sD,KAAA,IAAAqL,GAAA,OAAAG,EAAA,MAAAF,GAAA,OAAAG,EAAA,MAEAlM,EAAAmtD,SAAA1sD,KAAA,IAAAqL,GAAA,OAAAG,EAAA,KACAjM,EAAAmtD,SAAA1sD,KAAA,EAAAyL,EAAA,MAAAH,GAAA,UAIA,MAGA,OAAA/L,GAx/CAV,EAAA8V,EAAAiL,GAAA/gB,EAAAgB,EAAA+f,EAAA,6BAAA45C,IAAA36D,EAAAgB,EAAA+f,EAAA,gCAAA45C,IAAA36D,EAAAgB,EAAA+f,EAAA,6BAAAm6C,IAAAl7D,EAAAgB,EAAA+f,EAAA,6BAAA25C,IAAA16D,EAAAgB,EAAA+f,EAAA,6BAAA25C,IA0xBAT,EAAAz4D,UAAA25D,YAAA,SAAA3C,EAAAC,EAAA2C,GACA,IAAA11D,EAAA,GAIA,OAFA01D,EAAA,qBAAAA,KAEA76D,KAAAi4D,WAAAC,GAAAl4D,KAAAk4D,WAAAD,EACA9yD,GAEAnF,KAAA+5D,QAAA/5D,KAAAg6D,QAAAh6D,KAAAi6D,QAAAj6D,KAAAk6D,QAUAl6D,KAAA+5D,SACA50D,IAAAuP,OAAA1U,KAAA+5D,OAAAa,YAAA3C,EAAAC,EAAA2C,KAEA76D,KAAAg6D,SACA70D,IAAAuP,OAAA1U,KAAAg6D,OAAAY,YAAA3C,EAAAC,EAAA2C,KAEA76D,KAAAk6D,SACA/0D,IAAAuP,OAAA1U,KAAAk6D,OAAAU,YAAA3C,EAAAC,EAAA2C,KAEA76D,KAAAi6D,SACA90D,IAAAuP,OAAA1U,KAAAi6D,OAAAW,YAAA3C,EAAAC,EAAA2C,OAnBA,GACA76D,KAAAi4D,eACAj4D,KAAAk4D,gBACA/yD,EAAAvE,KAAA,CACAuO,EAAAnP,KAAAmP,EACAC,EAAApP,KAAAoP,IAiBAjK,IAIAu0D,EAAAz4D,UAAAw5D,oBAAA,SAAApgC,EAAAwgC,GACA,IAAA11D,EAAA,GAIA,OAFA01D,EAAA,qBAAAA,KAEA76D,KAAAi4D,WAAA59B,EACAl1B,GAEAnF,KAAA+5D,QAAA/5D,KAAAg6D,QAAAh6D,KAAAi6D,QAAAj6D,KAAAk6D,QASAl6D,KAAA+5D,SACA50D,IAAAuP,OAAA1U,KAAA+5D,OAAAU,oBAAApgC,EAAAwgC,KAEA76D,KAAAg6D,SACA70D,IAAAuP,OAAA1U,KAAAg6D,OAAAS,oBAAApgC,EAAAwgC,KAEA76D,KAAAk6D,SACA/0D,IAAAuP,OAAA1U,KAAAk6D,OAAAO,oBAAApgC,EAAAwgC,KAEA76D,KAAAi6D,SACA90D,IAAAuP,OAAA1U,KAAAi6D,OAAAQ,oBAAApgC,EAAAwgC,OAlBA,GACA76D,KAAAk4D,YAAA79B,IACAl1B,EAAAvE,KAAA,CACAuO,EAAAnP,KAAAmP,EACAC,EAAApP,KAAAoP,IAiBAjK,IAuqBA,IAAA21D,EAAA,CACAC,OAAA,SAAA56D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAA,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,4BAGAo6D,YAAA,SAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,CAAAD,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAAs6D,GAAA,CAAAD,EAAA,YAGAE,YAAA,SAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA+9C,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,MAAAC,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAw6D,EAAA,MAAAC,GAAA,SAGAC,YAAA,SAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAk+C,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,CAAAC,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAA26D,GAAA,CAAAC,EAAA,YAGAC,YAAA,SAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,MAAAC,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAA+6D,GAAA,OAAAD,EAAA,MAGAE,WAAA,SAAAz7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAk+C,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,GAAAI,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAA+6D,GAAA,eAAAJ,MAGAM,WAAA,SAAA17D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA+9C,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,IAAAI,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAw6D,EAAA,IAAAI,EAAA,kBAGAM,WAAA,SAAA37D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,GAAAG,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,GAAAG,GAAA,SAGAU,WAAA,SAAA57D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,IAAAT,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,cAAA86D,EAAA,IAAAT,EAAA,MAGAe,YAAA,SAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAC,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAP,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,MAAAC,GAAA,GAAAS,GAAA,CAAAP,EAAA,MAGAa,YAAA,SAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAM,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAD,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,MAAAM,GAAA,GAAAF,GAAA,CAAAD,EAAA,MAGAc,YAAA,SAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAK,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAD,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAAy6D,GAAA,CAAAK,EAAA,IAAAF,EAAA,MAAAD,MAGAY,YAAA,SAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAN,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAD,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAA46D,EAAA,MAAAN,GAAA,GAAAS,GAAA,CAAAD,EAAA,MAGAU,YAAA,SAAAj8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,GAAAJ,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,GAAAH,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAAs6D,GAAA,GAAAS,GAAA,GAAAJ,GAAA,GAAAF,MAGAgB,YAAA,SAAAl8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,IAAAJ,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,IAAAS,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,IAAAS,EAAA,IAAAF,EAAA,IAAAJ,EAAA,MAGAkB,YAAA,SAAAn8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,MAAAL,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,cAAA86D,EAAA,MAAAL,GAAA,SAGAkB,YAAA,SAAAp8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,CAAAM,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,CAAAM,EAAA,kBAGAgB,YAAA,SAAAr8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,CAAAN,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAIAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,sBAAA26D,GAAA,CAAAN,EAAA,MAGAwB,YAAA,SAAAt8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAs+C,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,MAAAO,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAA+6D,GAAA,mBAAAP,EAAA,MAGAsB,eAAA,SAAAv8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAs+C,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,MAAAH,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,GAAAM,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAA+6D,GAAA,OAAAD,EAAA,MAAAH,GAAA,GAAAF,MAGAsB,eAAA,SAAAx8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAk+C,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,CAAAH,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,IAAAO,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAA46D,EAAA,YAAAD,GAAA,CAAAH,EAAA,IAAAH,EAAA,MAGA2B,eAAA,SAAAz8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA+9C,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,MAAAF,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,GAAAN,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAw6D,EAAA,MAAAF,GAAA,GAAAS,GAAA,GAAAN,GAAA,SAGAwB,eAAA,SAAA18D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,CAAAQ,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,IAAAP,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,CAAAQ,EAAA,IAAAF,EAAA,IAAAP,EAAA,MAGA6B,eAAA,SAAA38D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAs+C,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAU,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,IAAAN,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAA+6D,GAAA,OAAAD,EAAA,IAAAN,EAAA,IAAAH,EAAA,MAGA8B,eAAA,SAAA58D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAm2B,YAAAv/B,EAAAstB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAH,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,GAAAL,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,IAAAs6D,GAAA,GAAAS,GAAA,CAAAH,EAAA,YAAAD,MAGAyB,eAAA,SAAA78D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAAq+C,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,IAAAM,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAH,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAA86D,EAAA,IAAAF,EAAA,MAAAH,GAAA,OAAAD,EAAA,MAGA6B,eAAA,SAAA98D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,GAAAK,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAJ,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAIAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,GAAAK,GAAA,GAAAF,GAAA,CAAAJ,EAAA,MAGAiC,cAAA,SAAA/8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,CAAAQ,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAH,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,CAAAQ,EAAA,IAAAF,EAAA,MAAAH,GAAA,SAGA8B,cAAA,SAAAh9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA+9C,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,MAAAF,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAH,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAw6D,EAAA,MAAAF,GAAA,GAAAS,GAAA,CAAAH,EAAA,kBAGA4B,cAAA,SAAAj9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAU,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,CAAAH,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,MAAAU,GAAA,eAAAJ,GAAA,CAAAH,EAAA,MAGAiC,cAAA,SAAAl9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,MAAAH,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAJ,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,cAAA86D,EAAA,MAAAH,GAAA,GAAAF,GAAA,CAAAJ,EAAA,MAGAqC,cAAA,SAAAn9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA69C,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAkE,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,CAAAM,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,CAAAN,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,CAAAM,EAAA,YAAAD,GAAA,CAAAN,EAAA,MAGAsC,cAAA,SAAAp9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA+9C,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,MAAAO,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,MAAAL,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAw6D,EAAA,MAAAO,GAAA,OAAAD,EAAA,MAAAL,GAAA,SAGAmC,YAAA,SAAAr9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAC,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAH,EAAA,IACAhC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAu/C,GAAA,CACAj5C,KAAA,IAAAk7C,GAAA,CAAAH,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,MAAAC,GAAA,GAAAS,GAAA,CAAAH,EAAA,YAAAD,GAAA,CAAAH,EAAA,MAGAqC,YAAA,SAAAt9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAq/C,GAAA,CACA/4C,KAAA,IAAA66C,GAAA,CAAAQ,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAD,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAJ,EAAA,IACAzB,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,UAAAs6D,GAAA,CAAAQ,EAAA,IAAAF,EAAA,MAAAD,GAAA,GAAAF,GAAA,CAAAJ,EAAA,MAGAyC,YAAA,SAAAv9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAm2B,YAAA6P,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm2B,YAAAjS,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAU,IACAnC,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAohB,GAAA,CACA9a,KAAA,EAAAq7C,EAAA,MAAAH,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAD,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,MAAAU,GAAA,OAAAD,EAAA,MAAAH,GAAA,GAAAF,GAAA,CAAAD,EAAA,MAGAuC,YAAA,SAAAx9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA+9C,EAAA/9C,EAAAm2B,YAAA6P,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm2B,YAAAv/B,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAshB,GAAA,CACAhb,KAAA,EAAA+6C,EAAA,MAAAF,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAD,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAH,IACA7B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAw6D,EAAA,MAAAF,GAAA,GAAAS,GAAA,CAAAD,EAAA,IAAAF,EAAA,MAAAH,GAAA,SAGAuC,QAAA,SAAAz9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,IAAA49C,EAAA59C,EAAAm6C,cAAAnU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAqE,EAAA/9C,EAAAo6C,cAAApU,EAAApvC,EAAAoJ,EAAAy5C,KAAAz5C,EAAA05C,MACAmE,EAAA79C,EAAAm6C,cAAAnU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA4E,EAAAt+C,EAAAo6C,cAAApU,EAAA9hB,EAAAlkB,EAAAy5C,KAAAz5C,EAAA05C,MACA2E,EAAAr+C,EAAAm6C,cAAAj2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAyE,EAAAn+C,EAAAo6C,cAAAl2B,EAAAptB,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAwE,EAAAl+C,EAAAo6C,cAAAxjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MACAsE,EAAAh+C,EAAAm6C,cAAAvjD,EAAAE,EAAAkJ,EAAAy5C,KAAAz5C,EAAA05C,MAEA15C,EAAA65C,gBACA/2D,EAAA4Z,MAAAuhB,GAAA,CACAjb,KAAA,EAAA46C,EAAA,MAAAC,IACA1B,KAAA,CACArqD,GAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAs/C,GAAA,CACAh5C,KAAA,IAAAs7C,GAAA,CAAAD,EAAA,IACAlC,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAqhB,GAAA,CACA/a,KAAA,EAAAm7C,EAAA,MAAAD,IACA/B,KAAA,CACArqD,EAAA,EACAC,EAAA,EACAspD,MAAA,OAGAv4D,EAAA4Z,MAAAw/C,GAAA,CACAl5C,KAAA,IAAAg7C,GAAA,CAAAD,EAAA,IACA5B,KAAA,CACArqD,EAAA,EACAC,GAAA,EACAspD,MAAA,QAKAr7C,EAAAiwC,UACAntD,EAAAmtD,SAAA1sD,KAAA,EAAAq6D,EAAA,MAAAC,GAAA,GAAAS,GAAA,CAAAD,EAAA,IAAAF,EAAA,MAAAD,GAAA,GAAAF,GAAA,CAAAD,EAAA,OAYA,SAAAT,EAAA/vB,EAAAksB,EAAA+G,EAAAnxD,GACA,IAAA/L,EACAiC,EACAw3B,EACAigC,GAAA,EACAE,EAAA,KACAzgC,EAAA,KACAlxB,EAAA,KACA0vD,EAAA,KACAwF,GAAA,EACAC,EAAA,GACAC,EAAA,GACAtjC,EAAA,GAGA,IAAAkQ,EAAA,UAAAxoC,MAAA,oBACA,QAAAuE,IAAAmwD,GAAA,OAAAA,EAAA,UAAA10D,MAAA,0BACA,QAAAuE,IAAAk3D,GAAA,OAAAA,EAAA,UAAAz7D,MAAA,yBACA,GAAAsK,GAAA,kBAAAA,EAAA,UAAAtK,MAAA,6BAKA,GAHAg4B,EAAAi9B,EAAA3qD,GAGAk+B,aAAAuvB,EACAI,EAAA3vB,EACA9Q,EAAA8Q,EAAA9Q,KACAlxB,EAAAgiC,EAAAhiC,KACAwxB,EAAAg9B,aACAiD,GAAA,OACG,KAAAx4D,MAAAkE,QAAA6kC,KAAA/oC,MAAAkE,QAAA6kC,EAAA,IAGH,UAAAxoC,MAAA,2EAFAwG,EAAAgiC,EAMA,GAAA/oC,MAAAkE,QAAA+wD,GAAA,CAQA,IAPAgH,GAAA,EAGA1jC,EAAAg9B,aACAiD,GAAA,GAGA15D,EAAA,EAAeA,EAAAm2D,EAAA30D,OAAiBxB,IAChC,GAAA0O,OAAAynD,EAAAn2D,IACA,UAAAyB,MAAA,cAAAzB,EAAA,qBAEA,GAAAkB,MAAAkE,QAAA83D,GAAA,CACA,GAAA/G,EAAA30D,SAAA07D,EAAA17D,OACA,UAAAC,MAAA,iDAGA,IAAAzB,EAAA,EAAiBA,EAAAk9D,EAAA17D,OAAsBxB,IACvC,GAAA0O,OAAAwuD,EAAAl9D,IACA,UAAAyB,MAAA,aAAAzB,EAAA,yBACK,CACL,GAAA0O,OAAAwuD,GACA,UAAAz7D,MAAA,8BAGA,IADA27D,EAAA,GACAp9D,EAAA,EAAiBA,EAAAm2D,EAAA30D,OAAiBxB,IAClCo9D,EAAAn9D,KAAAi9D,GAEAA,EAAAE,OAEG,CACH,GAAA1uD,OAAAynD,GACA,UAAA10D,MAAA,+BAIA,GAFA00D,EAAA,CAAAA,GAEAznD,OAAAwuD,GACA,UAAAz7D,MAAA,8BAEAy7D,EAAA,CAAAA,GA6GA,OAzGA,IAAA/jC,IACAygC,EAAA,IAAAJ,EAAAvxD,GACAkxB,EAAAygC,EAAAzgC,KACAlxB,EAAA2xD,EAAA3xD,MAGAwxB,EAAAD,UACAC,EAAAkzB,SACA9yB,QAAAC,IAAA,4EAEAD,QAAAC,IAAA,4EAEAqjC,GACAtjC,QAAAC,IAAA,iIAMAq8B,EAAAhgD,QAAA,SAAAmhD,EAAA13D,GAUA,GATAy9D,EAAA,GAGA5jC,EAAA08B,KAAAmB,EACA79B,EAAA28B,KAAAkB,EAAA4F,EAAAt9D,GAEA65B,EAAAD,SACAK,QAAAC,IAAA,uDAAAw9B,EAAA,KAAAA,EAAA4F,EAAAt9D,IAAA,KAEA65B,EAAAkzB,SAEA,GAAA+M,EAEAvgC,EACA8gC,YAAAxgC,EAAA08B,KAAA18B,EAAA28B,MAAA,GACAjgD,QAAA,SAAAnV,GACAq8D,IAAAtpD,OACAkjD,EACAqG,EAAAr1D,EACAjH,EAAAwN,EACAxN,EAAAyN,EACAgrB,GACAz4B,EAAAwN,EACAxN,EAAAyN,EACAgrB,WAKA,IAAAx3B,EAAA,EAAmBA,EAAAgG,EAAAzG,OAAA,IAAqBS,EACxC,IAAAjC,EAAA,EAAqBA,EAAAiI,EAAA,GAAAzG,OAAA,IAAwBxB,EAC7Cq9D,IAAAtpD,OACAkjD,EACAqG,EAAAr1D,EACAjI,EACAiC,EACAw3B,GACAz5B,EACAiC,EACAw3B,QAIK,CAGL,IADAk+B,EAAA,GACA33D,EAAA,EAAiBA,EAAAiI,EAAA,GAAAzG,OAAA,IAAwBxB,EACzC23D,EAAA33D,GAAA,GAGA,GAAA05D,EAEAvgC,EACA8gC,YAAAxgC,EAAA08B,KAAA18B,EAAA28B,MAAA,GACAjgD,QAAA,SAAAnV,GACA22D,EAAA32D,EAAAwN,GAAAxN,EAAAyN,GAAA6uD,EAAAr1D,EACAjH,EAAAwN,EACAxN,EAAAyN,EACAgrB,UAIA,IAAAz5B,EAAA,EAAmBA,EAAAiI,EAAA,GAAAzG,OAAA,IAAwBxB,EAC3C,IAAAiC,EAAA,EAAqBA,EAAAgG,EAAAzG,OAAA,IAAqBS,EAC1C01D,EAAA33D,GAAAiC,GAAAq7D,EAAAr1D,EACAjI,EACAiC,EACAw3B,GAKA4jC,EAAA3F,EAAAzvD,EAAA0vD,EAAAl+B,GAIA0jC,EACApjC,EAAA95B,KAAAo9D,GAEAtjC,EAAAsjC,EAEA,oBAAA5jC,EAAAF,iBACAE,EAAAF,gBAAAQ,EAAAu9B,EAAA4F,EAAAt9D,MAGAm6B,EA4GA,SAAAwjC,EAAA5iC,EAAAD,EAAAD,EAAAD,EAAA27B,EAAAC,GACA,IAAAv7B,GAAAL,EAAAC,EAAAC,EAAAC,GAAA,EAEA,OAAAE,EAAAu7B,EACA,EAEAv7B,EAAAs7B,EACA,EAEA,EAIA,SAAAmH,EAAApiC,EAAA1sB,EAAAC,EAAAiO,GACA,IAAAld,EACAg+D,EAGAjjC,EAAA,EACAqG,EAAA1F,EAAAzsB,EAAA,GAAAD,GACAgF,EAAA0nB,EAAAzsB,EAAA,GAAAD,EAAA,GACA8E,EAAA4nB,EAAAzsB,GAAAD,EAAA,GACAk0C,EAAAxnB,EAAAzsB,GAAAD,GACA2nD,EAAAz5C,EAAAy5C,KACAC,EAAA15C,EAAA05C,KAMA,KAAA1nD,MAAAg0C,IAAAh0C,MAAA4E,IAAA5E,MAAA8E,IAAA9E,MAAAkyB,IAAA,CAuEA,OAlCArG,GAAAqG,EAAAu1B,EAAA,EAAAv1B,EAAAw1B,EAAA,OACA77B,GAAA/mB,EAAA2iD,EAAA,EAAA3iD,EAAA4iD,EAAA,MACA77B,GAAAjnB,EAAA6iD,EAAA,EAAA7iD,EAAA8iD,EAAA,IACA77B,GAAAmoB,EAAAyT,EAAA,EAAAzT,EAAA0T,EAAA,IAGA77B,KAQAijC,EAAA,EAEAh+D,EAAA,CACA+6B,OACAoyB,SAAA,GACAvzC,MAAA,GACAspC,KACApvC,KACAE,KACAotB,KACApyB,IACAC,KASA8rB,GACA,QACA4/B,EAAAC,OAAA56D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,OAEA,SACA,MAIA,SACAy9C,EAAAE,YAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAK,YAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAQ,YAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAW,YAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,OACAy9C,EAAAE,YAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,OACAy9C,EAAAK,YAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAQ,YAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAW,YAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAKA,SACAy9C,EAAAkB,YAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAmB,YAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAoB,YAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAqB,YAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,OACAy9C,EAAAkB,YAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,OACAy9C,EAAAmB,YAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAoB,YAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAqB,YAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAKA,OACAy9C,EAAAgB,WAAA37D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAe,WAAA17D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAc,WAAAz7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAiB,WAAA57D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAgB,WAAA37D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAe,WAAA17D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAc,WAAAz7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAiB,WAAA57D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAsB,YAAAj8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAuB,YAAAl8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAsB,YAAAj8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAuB,YAAAl8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAKA,SACAy9C,EAAAwB,YAAAn8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAyB,YAAAp8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA2B,YAAAt8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA0B,YAAAr8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAwB,YAAAn8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAyB,YAAAp8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA2B,YAAAt8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA0B,YAAAr8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA4B,eAAAv8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA6B,eAAAx8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,OACAy9C,EAAA8B,eAAAz8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAA+B,eAAA18D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA4B,eAAAv8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAA6B,eAAAx8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAA8B,eAAAz8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAA+B,eAAA18D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAgC,eAAA38D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAiC,eAAA58D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAkC,eAAA78D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,OACAy9C,EAAAmC,eAAA98D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAgC,eAAA38D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAiC,eAAA58D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAkC,eAAA78D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAmC,eAAA98D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAKA,QACAy9C,EAAAoC,cAAA/8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAqC,cAAAh9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAsC,cAAAj9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAuC,cAAAl9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAoC,cAAA/8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAqC,cAAAh9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAsC,cAAAj9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAuC,cAAAl9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAwC,cAAAn9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAwC,cAAAn9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,QACAy9C,EAAAyC,cAAAp9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAEA,SACAy9C,EAAAyC,cAAAp9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACA,MAKA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAE,YAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAQ,YAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAAwC,cAAAn9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAW,YAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAK,YAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAAyC,cAAAp9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,SACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAE,YAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAQ,YAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAAwC,cAAAn9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,SACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAW,YAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAK,YAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAAyC,cAAAp9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAKA,SAEA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAQ,YAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAkB,YAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA0C,YAAAr9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,SACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAE,YAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAoB,YAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA2C,YAAAt9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAW,YAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAmB,YAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA4C,YAAAv9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAK,YAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAqB,YAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA6C,YAAAx9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAQ,YAAAn7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAkB,YAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA0C,YAAAr9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAE,YAAA76D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAoB,YAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA2C,YAAAt9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAW,YAAAt7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAmB,YAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA4C,YAAAv9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAEA,SACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GAEA,IAAAoH,GACArD,EAAAK,YAAAh7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAqB,YAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAA6C,YAAAx9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GAEA,MAKA,SACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GACA,IAAAoH,GACArD,EAAAqB,YAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAmB,YAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IACK,IAAA8gD,EACLrD,EAAA8C,QAAAz9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAAkB,YAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAoB,YAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEA,MAEA,QACA8gD,EAAAD,EAAA7a,EAAApvC,EAAAE,EAAAotB,EAAAu1B,EAAAC,GACA,IAAAoH,GACArD,EAAAkB,YAAA77D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAoB,YAAA/7D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IACK,IAAA8gD,EACLrD,EAAA8C,QAAAz9D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEAy9C,EAAAqB,YAAAh8D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,GACAy9C,EAAAmB,YAAA97D,EAAAkjD,EAAApvC,EAAAE,EAAAotB,EAAAlkB,IAEA,MAGA,OAAAld,4BC50GA,IAAAwR,EAAgBlS,EAAQ,QAAYkS,UAgBpCtS,EAAAC,QAAA,SAAAoH,GACA,IAAA0Z,EAAA,CAAAxL,mBAOA,OANAjD,EAAAjL,EAAA,SAAA2M,GACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,MAEA+M,+DCxBA3gB,EAAA8V,EAAAiL,GAAA/gB,EAAAgB,EAAA+f,EAAA,6BAAA/M,IAAA,IAAA2qD,EAAA3+D,EAAA,QAAA4+D,EAAA5+D,EAAA,QAAA6+D,EAAA7+D,EAAA,QA6CAivD,EAAA,SAAA6P,GACA,SAAA7P,EAAA8P,GAEA,IAAA9xD,EAAA8xD,GAAA,GAEAD,EAAAvtD,KAA8EhR,KAAA,GAE9E0M,EAAAmiD,kBACA7uD,KAAA6uD,gBAAAniD,EAAAmiD,iBAGAniD,EAAA+xD,kBACAz+D,KAAAy+D,gBAAA/xD,EAAA+xD,iBAGA/xD,EAAAiiD,kBACA3uD,KAAA2uD,gBAAAjiD,EAAAiiD,iBAGAjiD,EAAAgyD,gBACA1+D,KAAA0+D,cAAAhyD,EAAAgyD,eAGAhyD,EAAAiyD,WACA3+D,KAAA2+D,SAAAjyD,EAAAiyD,UAOA3+D,KAAA4+D,wBAAA,EAMA5+D,KAAA6+D,iBAAA,GAMA7+D,KAAA8+D,eAAA,GA8GA,OA1GAP,IAAA7P,EAAA/qC,UAAA46C,GACA7P,EAAAztD,UAAAmX,OAAAwL,OAAA26C,KAAAt9D,WACAytD,EAAAztD,UAAA4iB,YAAA6qC,EAQAA,EAAAztD,UAAA4tD,gBAAA,SAAAkQ,GACA,UAQArQ,EAAAztD,UAAAw9D,gBAAA,SAAAM,KASArQ,EAAAztD,UAAA2P,YAAA,SAAAmuD,GACA,IAAoE,eACpE,SAGA,IAAAl9C,GAAA,EAEA,GADA7hB,KAAAg/D,uBAAAD,GACA/+D,KAAA4+D,wBACA,GAAAG,EAAA74D,MAAkCk4D,EAAA,KAAmB/vC,YACrDruB,KAAAy+D,gBAAAM,QACO,GAAAA,EAAA74D,MAAkCk4D,EAAA,KAAmB5vC,UAAA,CAC5D,IAAAywC,EAAAj/D,KAAA0+D,cAAAK,GACA/+D,KAAA4+D,uBAAAK,GAAAj/D,KAAA8+D,eAAA38D,OAAA,QAGA,GAAA48D,EAAA74D,MAAkCk4D,EAAA,KAAmB7vC,YAAA,CACrD,IAAA2wC,EAAAl/D,KAAA6uD,gBAAAkQ,GACAG,GACAH,EAAAI,iBAEAn/D,KAAA4+D,uBAAAM,EACAr9C,EAAA7hB,KAAA2+D,SAAAO,QACOH,EAAA74D,MAAkCk4D,EAAA,KAAmB9vC,aAC5DtuB,KAAA2uD,gBAAAoQ,GAGA,OAAAl9C,GAQA6sC,EAAAztD,UAAA0tD,gBAAA,SAAAoQ,KAQArQ,EAAAztD,UAAAy9D,cAAA,SAAAK,GACA,UASArQ,EAAAztD,UAAA09D,SAAA,SAAAO,GACA,OAAAA,GAOAxQ,EAAAztD,UAAA+9D,uBAAA,SAAAD,GACA,GAAAK,EAAAL,GAAA,CACA,IAAAtlB,EAAAslB,EAAAM,aAEA70D,EAAAivC,EAAA6lB,UAAAlyC,WACA2xC,EAAA74D,MAAkCk4D,EAAA,KAAmB5vC,iBACrDxuB,KAAA6+D,iBAAAr0D,GACOu0D,EAAA74D,MACGk4D,EAAA,KAAmB7vC,YAC7BvuB,KAAA6+D,iBAAAr0D,GAAAivC,EACOjvC,KAAAxK,KAAA6+D,mBAEP7+D,KAAA6+D,iBAAAr0D,GAAAivC,GAEAz5C,KAAA8+D,eAA4B1mD,OAAAkmD,EAAA,KAAAlmD,CAASpY,KAAA6+D,oBAIrCnQ,EAzJA,CA0JE2P,EAAA,MAOK,SAAA5qD,EAAA8rD,GAIP,IAHA,IAAAp9D,EAAAo9D,EAAAp9D,OACAq9D,EAAA,EACAC,EAAA,EACA9+D,EAAA,EAAiBA,EAAAwB,EAAYxB,IAC7B6+D,GAAAD,EAAA5+D,GAAA6+D,QACAC,GAAAF,EAAA5+D,GAAA8+D,QAEA,OAAAD,EAAAr9D,EAAAs9D,EAAAt9D,GASA,SAAAi9D,EAAAL,GACA,IAAA74D,EAAA64D,EAAA74D,KACA,OAAAA,IAAkBk4D,EAAA,KAAmB7vC,aACrCroB,IAAak4D,EAAA,KAAmB/vC,aAChCnoB,IAAak4D,EAAA,KAAmB5vC,UAIjBhO,EAAA,kDCrOfnhB,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAo9B,OAAA,SAAA/pD,EAAA/K,GAEA,OADAA,EAAA1E,KAAA,SACA,IAAAo8B,EAAA3sB,EAAA/K,wCCNA,IAAA+0D,EAAAlgE,EAAA,QAAAmgE,EAAAngE,EAAAyC,EAAAy9D,GAAgkBC,EAAG,wBCAnkB,IAAAjhC,EAAWl/B,EAAQ,QA6BnBJ,EAAAC,QAAA,WAIA,IAHA,IAAAqgC,EAAA,IAAAhB,EAAAiB,GAAAC,cACAH,EAAAC,EAAAG,KAAAzB,KAAAC,UAAAsR,UAAA,GAAA/pC,WAEAlF,EAAA,EAAmBA,EAAAivC,UAAAztC,OAAsBxB,IACzC++B,IAAAmgC,MAAAlgC,EAAAG,KAAAzB,KAAAC,UAAAsR,UAAAjvC,GAAAkF,YAGA,IAAAk6B,EAAA,IAAApB,EAAAiB,GAAAI,cAGA,OAFAN,EAAAK,EAAAE,MAAAP,GAEA,CACAx5B,KAAA,UACAL,SAAA65B,EACA5sB,WAAA88B,UAAA,GAAA98B,gDC3CA,IAAAgtD,EAAArgE,EAAA,QAAAsgE,EAAAtgE,EAAAyC,EAAA49D,GAA6mBC,EAAG,0BCEhnB,IAAA54D,EAAc1H,EAAQ,QACtBgG,EAAehG,EAAQ,QAAiBgG,SACxC8uC,EAAoB90C,EAAQ,QAAS+0C,gBACrCxV,EAAA73B,EAAA63B,kBACAC,EAAA93B,EAAA83B,kBAsBA5/B,EAAAC,QAAA,SAAA6a,EAAAC,EAAA+kB,GAEA,IAAAhlB,EAAA,UAAA/X,MAAA,0BACA,IAAAgY,EAAA,UAAAhY,MAAA,wBAEA+8B,KAAA,aAEA,IAAA6gC,EAAAv6D,EAAA0U,GACA8lD,EAAAx6D,EAAA2U,GACA0vB,EAAA,IAAAyK,EAAAyrB,EAAA,GAAAA,EAAA,IACAtrB,EAAA,IAAAH,EAAA0rB,EAAA,GAAAA,EAAA,IAIAvrB,EAAA,IAAAA,EAAA,GAAA5K,EAAA,YAAAA,EAAA,GAAA4K,EAAA,aACA,IAAAD,EAAA3K,EAAAo2B,gBAAAxrB,GACAhhC,EAAAsrB,EAAAC,EAAAwV,EAAA,UAAAtV,GACA,OAAAzrB,sCC7CAjU,EAAAgB,EAAA+f,EAAA,sBAAA2/C,IAAA1gE,EAAAgB,EAAA+f,EAAA,sBAAA6f,IAAA5gC,EAAAgB,EAAA+f,EAAA,sBAAA4/C,IAAA3gE,EAAAgB,EAAA+f,EAAA,sBAAA6/C,IAAA5gE,EAAAgB,EAAA+f,EAAA,sBAAA8/C,IAAA7gE,EAAAgB,EAAA+f,EAAA,sBAAA+/C,IAAA,IAAAC,EAAA/gE,EAAA,QAAAghE,EAAAhhE,EAAA,QAAAihE,EAAAjhE,EAAA,QAAAkhE,EAAAlhE,EAAA,QAiCA8+D,EAAA,SAAA78C,GACA,SAAA68C,EAAA7xD,GACAgV,EAAA1Q,KAAAhR,MAEA0M,EAAAkE,cACA5Q,KAAA4Q,YAAAlE,EAAAkE,aAOA5Q,KAAA4gE,KAAA,KAEA5gE,KAAA6gE,WAAA,GAwDA,OArDAn/C,IAAA68C,EAAA56C,UAAAjC,GACA68C,EAAAt9D,UAAAmX,OAAAwL,OAAAlC,KAAAzgB,WACAs9D,EAAAt9D,UAAA4iB,YAAA06C,EAQAA,EAAAt9D,UAAA6/D,UAAA,WACA,OAA8B9gE,KAAAsY,IAAcooD,EAAA,KAAmBK,SAQ/DxC,EAAAt9D,UAAA+iB,OAAA,WACA,OAAAhkB,KAAA4gE,MASArC,EAAAt9D,UAAA2P,YAAA,SAAAmuD,GACA,UASAR,EAAAt9D,UAAA4/D,UAAA,SAAAG,GACAhhE,KAAAuY,IAAamoD,EAAA,KAAmBK,OAAAC,IAShCzC,EAAAt9D,UAAA8jB,OAAA,SAAA5b,GACAnJ,KAAA4gE,KAAAz3D,GAGAo1D,EAtEA,CAuEEiC,EAAA,MAQK,SAAAL,EAAA1sB,EAAA9tB,EAAAs7C,GACP,IAAAC,EAAAztB,EAAA1tB,YACA,GAAAm7C,EAAA,CACA,IAAAr7C,EAAA4tB,EAAA0tB,gBACA,CAAAD,EAAA,GAAAv7C,EAAA,GAAAu7C,EAAA,GAAAv7C,EAAA,KACAs7C,EACAxtB,EAAAttB,QAAA,CACA/P,SAAA6qD,EACAjpD,OAAgByoD,EAAA,KAChB56C,WAGA4tB,EAAA2tB,UAAAv7C,IAYO,SAAAwa,EAAAoT,EAAA7O,EAAAy8B,EAAAJ,GACPr8B,EAAA6O,EAAA6tB,kBAAA18B,EAAA,GACAw7B,EAAA3sB,EAAA7O,EAAAy8B,EAAAJ,GAUO,SAAAb,EAAA3sB,EAAA7O,EAAAy8B,EAAAJ,GACP,QAAAt6D,IAAAi+B,EAAA,CACA,IAAA28B,EAAA9tB,EAAA+tB,cACAN,EAAAztB,EAAA1tB,iBACApf,IAAA46D,GAAAL,GAAAD,EAAA,EACAxtB,EAAAttB,QAAA,CACAye,WACA68B,OAAAJ,EACAjrD,SAAA6qD,EACAjpD,OAAgByoD,EAAA,OAGhBhtB,EAAApT,OAAAuE,EAAAy8B,IAoBO,SAAAhB,EAAA5sB,EAAAz9B,EAAAqrD,EAAAJ,EAAAS,GACP1rD,EAAAy9B,EAAAkuB,oBAAA3rD,EAAA,EAAA0rD,GACAnB,EAAA9sB,EAAAz9B,EAAAqrD,EAAAJ,GAUO,SAAAX,EAAA7sB,EAAA9tB,EAAA07C,EAAAJ,GACP,IAAAW,EAAAnuB,EAAAgE,gBACAzhC,EAAAy9B,EAAAkuB,oBAAAC,EAAAj8C,EAAA,GAEA,QAAAhf,IAAAqP,EAAA,CACA,IAAA6iC,EAAApF,EAAAuF,iBACAhjC,EAAiBoC,OAAAuoD,EAAA,KAAAvoD,CACjBpC,EACAy9B,EAAAouB,oBAAAhpB,IAAA12C,OAAA,GACAsxC,EAAAquB,oBAAAjpB,EAAA,IAMA,GAAAwoB,QAAA16D,IAAAqP,OAAA4rD,EAAA,CACA,IAAAV,EAAAztB,EAAA1tB,YACAF,EAAA4tB,EAAAsuB,oBAAA/rD,EAAAqrD,GACAx7C,EAAA4tB,EAAA0tB,gBAAAt7C,GAEAw7C,EAAA,EACArrD,EAAAkrD,EAAA,GAAAU,EAAA/7C,EAAA,KACA7P,EAAA4rD,IACA5rD,EAAAkrD,EAAA,GAAAU,EAAA/7C,EAAA,KACA7P,EAAA4rD,IAIArB,EAAA9sB,EAAAz9B,EAAAqrD,EAAAJ,GAUO,SAAAV,EAAA9sB,EAAAz9B,EAAAqrD,EAAAJ,GACP,GAAAjrD,EAAA,CACA,IAAA4rD,EAAAnuB,EAAAgE,gBACAypB,EAAAztB,EAAA1tB,YACA,QAAApf,IAAAi7D,GAAAV,GACAlrD,IAAA4rD,GAAAX,EACAxtB,EAAAttB,QAAA,CACAnQ,aACAyrD,OAAAJ,EACAjrD,SAAA6qD,EACAjpD,OAAgByoD,EAAA,WAEX,CACL,GAAAY,EAAA,CACA,IAAAx7C,EAAA4tB,EAAAsuB,oBAAA/rD,EAAAqrD,GACA5tB,EAAA2tB,UAAAv7C,GAEA4tB,EAAAuuB,cAAAhsD,KAKewK,EAAA,0CCzPf,IAAAyhD,EAAaxiE,EAAQ,QACrBwiE,EAAA,oBAAAA,IAAAz7C,OAAAy7C,OAEA,IAAAh7D,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtByiE,EAAYziE,EAAQ,QACpB0iE,EAAmB1iE,EAAQ,QAG3B2iE,EAAAt6C,OAAAu6C,mBAAA,iBACAC,EAAAx6C,OAAAy6C,kBAAA,iBAEAC,EAAA,CACAC,YAAA,CACA3sB,QAAA,EACA3gC,KAAA,EACAiqB,MAAA,8BAEAsjC,OAAA,CACA5sB,QAAA,EACA3gC,KAAA,IACAiqB,MAAA,kBAEAujC,OAAA,CACA7sB,QAAA,EACA3gC,KAAA,IACAiqB,MAAA,kBAEAwjC,KAAA,CACA9sB,QAAA,EACA3gC,KAAA,KACAiqB,MAAA,cAEAyjC,IAAA,CACA/sB,QAAA,EACA3gC,KAAA,MACAiqB,MAAA,SAEA0jC,KAAA,CACAhtB,QAAA,EACA3gC,KAAA,OACAiqB,MAAA,WAEA2jC,MAAA,CACAjtB,QAAA,EACA3gC,KAAA,OACAiqB,MAAA,SAEA4jC,QAAA,CACAltB,QAAA,EACA3gC,KAAA,OACAiqB,MAAA,WAEA6jC,KAAA,CACAntB,QAAA,EACA3gC,KAAA,SAIA+tD,EAAA9qD,OAAA2C,KAAAynD,GAEA,SAAAW,EAAA7iE,EAAAC,GACA,OAAAD,EAAAC,EAGA,SAAA6iE,EAAAC,GACA,IAEA1iE,EAAAiV,EAAA/I,EAFAs3C,EAAA,GACAmf,EAAA,GAGA,IAAA3iE,EAAA,EAAAiV,EAAAytD,EAAAlhE,OAAiCxB,EAAAiV,IAAUjV,EAC3CkM,EAAAw2D,EAAA1iE,GACAwjD,EAAAt3C,KACAs3C,EAAAt3C,IAAA,EACAy2D,EAAA1iE,KAAAiM,IAIA,OAAAy2D,EAkBA,SAAAC,EAAAC,EAAAh9B,EAAA/3B,EAAAg1D,GACA,cAAAA,IAAAD,EAAArhE,OACA,OACA,CAAIuhE,KAAAl9B,EAAAnwB,IAAA,GACJ,CAAIqtD,KAAAj1D,EAAA4H,IAAA,IAIJ,IAEA1V,EAAAiV,EAAA1R,EAAAy/D,EAAA9nD,EAFA2lC,EAAA,GACA6hB,EAAA,CAAA78B,GAGA,IAAA7lC,EAAA,EAAAiV,EAAA4tD,EAAArhE,OAAsCxB,EAAAiV,IAAUjV,EAChDgjE,EAAAH,EAAA7iE,GACAgjE,EAAAn9B,GAAAm9B,EAAAl1D,GACA40D,EAAAziE,KAAA+iE,GAMA,IAFAN,EAAAziE,KAAA6N,GAEA9N,EAAA,EAAAiV,EAAAytD,EAAAlhE,OAAiCxB,EAAAiV,IAAUjV,EAC3Ckb,EAAAwnD,EAAA1iE,EAAA,GACAuD,EAAAm/D,EAAA1iE,EAAA,GACAgjE,EAAAN,EAAA1iE,QAGAgG,IAAAzC,QAAAyC,IAAAkV,GAAA9X,KAAAkjB,OAAApL,EAAA3X,GAAA,KAAAy/D,GACAniB,EAAA5gD,KAAA,CAAe8iE,KAAAC,EAAAttD,IAAA1V,GAAAiV,EAAA,KAIf,OAAA4rC,EAIA,SAAAztB,EAAAytB,EAAAxoC,EAAA/S,GACA,IAEA0nC,EAAAi2B,EAAAC,EAFAr5B,EAAA,EACAC,EAAA+W,EAAAr/C,OAAA,EAGA,MAAAqoC,GAAA,GAAAA,GAAAC,EAAA,CAKA,GAJAkD,EAAAnD,EAAAC,GAAA,EACAm5B,EAAApiB,EAAA7T,EAAA,SACAk2B,EAAAriB,EAAA7T,IAEAi2B,EAEA,OAAWp5B,GAAA,KAAAC,GAAAo5B,GACR,GAAAA,EAAA7qD,GAAA/S,EACHukC,EAAAmD,EAAA,MACG,MAAAi2B,EAAA5qD,GAAA/S,GAGH,OAAWukC,GAAAo5B,EAAAn5B,GAAAo5B,GAFXp5B,EAAAkD,EAAA,GAOA,OAASnD,GAAAq5B,EAAAp5B,GAAA,MAST,SAAA+I,EAAAgO,EAAAsiB,EAAAC,EAAAC,GACA,IAAAC,EAAAlwC,EAAAytB,EAAAsiB,EAAAC,GAGA7/D,EAAA+/D,EAAAz5B,GAAAy5B,EAAAx5B,GAAAw5B,EAAAz5B,GAAAgX,IAAAr/C,OAAA,GAAAq/C,EAAA,GACA3lC,EAAAooD,EAAAz5B,GAAAy5B,EAAAx5B,GAAAw5B,EAAAx5B,GAAA+W,IAAAr/C,OAAA,GAAAq/C,EAAA,GAEA0iB,EAAAroD,EAAAioD,GAAA5/D,EAAA4/D,GACAK,EAAAD,GAAAH,EAAA7/D,EAAA4/D,IAAAI,EAAA,EACA3gD,GAAA1H,EAAAmoD,GAAA9/D,EAAA8/D,IAAAG,EAEA,OAAAjgE,EAAA8/D,GAAAzgD,EAOA,SAAA6gD,EAAAn+D,EAAAyG,GACA,IAAA23D,EAAA33D,EAAA23D,OACA70C,EAAA9iB,EAAA23D,QAAA33D,EAAA8iB,OAEA,0BAAA60C,EACAA,EAAAp+D,GAGA,kBAAAA,GAAA,kBAAAupB,EACAyyC,EAAAh8D,EAAAupB,IAGAvpB,aAAAg8D,IACAh8D,EAAAg8D,EAAAh8D,IAGAA,EAAAq+D,UACAr+D,EAKA,oBAAAupB,EACAA,EAAAvpB,GAGAA,GAGA,SAAAwmB,EAAAme,EAAAlV,GACA,GAAAvuB,EAAAo9D,cAAA35B,GACA,YAGA,IAAAl+B,EAAAgpB,EAAAhpB,QAAAg3D,KACAz9D,EAAAm+D,EAAA1uC,EAAAwQ,cAAA0E,GAAAl+B,GACA,OAAAzG,EAAAq+D,WAIA53D,EAAAua,OACAhhB,EAAAu+D,QAAA93D,EAAAua,OAGAhhB,EAAAw+D,WAPA,KAcA,SAAAC,EAAAl+B,EAAA/3B,EAAAk2D,EAAAC,GACA,IAIAjkE,EAAAiV,EAAAi0B,EAJAo6B,EAAAx1D,EAAA+3B,EACAq+B,EAAArC,EAAAmC,GACAG,EAAAD,EAAA1vD,KACAiqB,EAAAylC,EAAAzlC,MAGA,IAAAA,EACA,OAAAr7B,KAAAo6B,KAAA8lC,GAAAW,EAAAE,IAGA,IAAAnkE,EAAA,EAAAiV,EAAAwpB,EAAAj9B,OAAiCxB,EAAAiV,IAAUjV,EAE3C,GADAkpC,EAAAzK,EAAAz+B,GACAoD,KAAAo6B,KAAA8lC,GAAAa,EAAAj7B,KAAA+6B,EACA,MAIA,OAAA/6B,EAMA,SAAAk7B,EAAAC,EAAAx+B,EAAA/3B,EAAAm2D,GACA,IACAjkE,EAAAkkE,EAAAh7B,EADAj0B,EAAAstD,EAAA/gE,OAGA,IAAAxB,EAAAuiE,EAAAlgE,QAAAgiE,GAAiCrkE,EAAAiV,EAAA,IAAcjV,EAI/C,GAHAkkE,EAAArC,EAAAU,EAAAviE,IACAkpC,EAAAg7B,EAAAzlC,MAAAylC,EAAAzlC,MAAAylC,EAAAzlC,MAAAj9B,OAAA,GAAAmgE,EAEAuC,EAAA/uB,QAAA/xC,KAAAo6B,MAAA1vB,EAAA+3B,IAAAqD,EAAAg7B,EAAA1vD,QAAAyvD,EACA,OAAA1B,EAAAviE,GAIA,OAAAuiE,EAAAttD,EAAA,GAMA,SAAAqvD,EAAAC,EAAAF,EAAAx+B,EAAA/3B,GACA,IAEA9N,EAAAgkE,EAFAvuD,EAAA6rD,EAAA7rD,SAAA6rD,EAAAxzD,GAAAwzC,KAAAggB,EAAAz7B,KACA5wB,EAAAstD,EAAA/gE,OAGA,IAAAxB,EAAAiV,EAAA,EAAmBjV,GAAAuiE,EAAAlgE,QAAAgiE,GAA6BrkE,IAEhD,GADAgkE,EAAAzB,EAAAviE,GACA6hE,EAAAmC,GAAA7uB,QAAA1/B,EAAA82B,GAAAy3B,IAAAO,EAAA/iE,OACA,OAAAwiE,EAIA,OAAAzB,EAAA8B,EAAA9B,EAAAlgE,QAAAgiE,GAAA,GAGA,SAAAG,EAAAR,GACA,QAAAhkE,EAAAuiE,EAAAlgE,QAAA2hE,GAAA,EAAA/uD,EAAAstD,EAAA/gE,OAA2DxB,EAAAiV,IAAUjV,EACrE,GAAA6hE,EAAAU,EAAAviE,IAAAm1C,OACA,OAAAotB,EAAAviE,GAWA,SAAAykE,EAAA5+B,EAAA/3B,EAAAm2D,EAAAl4D,GACA,IAUAg3D,EAVA2B,EAAA34D,EAAAg3D,KACA4B,EAAAD,EAAAV,MAAAI,EAAAM,EAAAL,QAAAx+B,EAAA/3B,EAAAm2D,GACAW,EAAAJ,EAAAG,GACAE,EAAAr+D,EAAA+F,eAAAm4D,EAAAG,SAAAH,EAAAI,cACAC,EAAA,SAAAJ,GAAAD,EAAAM,WACAC,EAAAl5D,EAAAw4D,MAAAK,MAAAM,QACAhB,EAAArC,EAAA8C,GACAQ,EAAA7D,EAAAz7B,GACAu/B,EAAA9D,EAAAxzD,GACAy2D,EAAA,GAgCA,IA7BAM,IACAA,EAAAd,EAAAl+B,EAAA/3B,EAAA62D,EAAAV,IAIAc,IACAI,IAAAH,WAAAD,GACAK,IAAAJ,WAAAD,IAIAI,IAAAtB,QAAAkB,EAAA,MAAAJ,GACAS,IAAAvB,QAAAkB,EAAA,MAAAJ,GAGAS,EAAAt3D,GACAs3D,EAAAvhB,IAAA,EAAA8gB,GAGA5B,EAAAzB,EAAA6D,GAEAF,GAAAL,IAAAG,IAAAL,EAAAp+C,QAIAy8C,EAAAc,QAAAe,GACA7B,EAAAlf,QAAAshB,EAAApC,IAAAmB,EAAA1vD,KAAAqwD,MAAAF,IAGO5B,EAAAqC,EAAarC,EAAAlf,IAAAghB,EAAAF,GACpBJ,EAAAtkE,MAAA8iE,GAKA,OAFAwB,EAAAtkE,MAAA8iE,GAEAwB,EAOA,SAAAc,EAAAxkB,EAAA0jB,EAAA1+B,EAAA/3B,EAAA/B,GACA,IAEAu5D,EAAAC,EAFAj6D,EAAA,EACAC,EAAA,EAsBA,OAnBAQ,EAAA6W,QAAA2hD,EAAA/iE,SACAuK,EAAAg3D,KAAAl9B,MACAy/B,EAAAf,EAAA/iE,OAAA,EAAA+iE,EAAA,GAAAz2D,EACAy3D,EAAAhB,EAAA,GACAj5D,GACAunC,EAAAgO,EAAA,OAAAykB,EAAA,OACAzyB,EAAAgO,EAAA,OAAA0kB,EAAA,QACA,GAEAx5D,EAAAg3D,KAAAj1D,MACAw3D,EAAAf,IAAA/iE,OAAA,GACA+jE,EAAAhB,EAAA/iE,OAAA,EAAA+iE,IAAA/iE,OAAA,GAAAqkC,EACAt6B,GACAsnC,EAAAgO,EAAA,OAAAykB,EAAA,OACAzyB,EAAAgO,EAAA,OAAA0kB,EAAA,QACA,IAIA,CAASj6D,OAAAC,SAGT,SAAAi6D,EAAA3+C,EAAA4+C,GACA,IACAzlE,EAAAiV,EAAA3P,EAAAs/D,EADAL,EAAA,GAGA,IAAAvkE,EAAA,EAAAiV,EAAA4R,EAAArlB,OAAkCxB,EAAAiV,IAAUjV,EAC5CsF,EAAAuhB,EAAA7mB,GACA4kE,IAAAa,GAAAngE,KAAAg8D,EAAAh8D,GAAAu+D,QAAA4B,GAEAlB,EAAAtkE,KAAA,CACAqF,QACAs/D,UAIA,OAAAL,EAGA,SAAAmB,EAAAz9D,EAAAy8D,GACA,IAAA1kE,EAAA2lE,EAAAC,EACA3wD,EAAAhN,EAAAzG,OAIA,IAAAxB,EAAA,EAAYA,EAAAiV,EAAUjV,IAAA,CAEtB,GADA2lE,EAAAlC,EAAAx7D,EAAAjI,GAAA0kE,GACA,IAAAiB,EAAA7D,cACA,kCAEA,IAAA6D,EAAA5D,UAAA,IAAA4D,EAAA3D,UAAA,IAAA2D,EAAA1D,SACA2D,GAAA,GAGA,OAAAA,EACA,wBAEA,cAGAlnE,EAAAC,QAAA,WAEA,IAAAknE,EAAA,CACAz+D,SAAA,SASA07D,aAAA,SASAtgB,OAAA,OAEAugB,KAAA,CACAW,QAAA,EACA70C,QAAA,EACAm1C,MAAA,EACA19C,OAAA,EACAw/C,eAAA,EACAd,YAAA,EACAX,QAAA,cAGA0B,eAAA,CACAjE,YAAA,gBACAC,OAAA,YACAC,OAAA,SACAC,KAAA,KACAC,IAAA,QACAC,KAAA,KACAC,MAAA,WACAC,QAAA,cACAC,KAAA,SAGAiC,MAAA,CACAyB,UAAA,EAUAzpD,OAAA,OAEAqoD,MAAA,CACAM,SAAA,KAKAe,EAAA1E,EAAAx3D,OAAA,CACAC,WAAA,WACA,IAAAs3D,EACA,UAAA7/D,MAAA,wIAGApC,KAAA6mE,oBAEA3E,EAAAjhE,UAAA0J,WAAAqG,KAAAhR,OAGA8I,OAAA,WACA,IAAAqC,EAAAnL,KACA0M,EAAAvB,EAAAuB,QAOA,OAJAA,EAAAg3D,MAAAh3D,EAAAg3D,KAAAl0C,QACAgL,QAAAssC,KAAA,0EAGA5E,EAAAjhE,UAAA6H,OAAAvG,MAAA4I,EAAAykC,YAMA1J,cAAA,SAAA6gC,GAIA,OAHAA,QAAApgE,IAAAogE,EAAA5lE,IACA4lE,IAAA5lE,GAEA+gE,EAAAjhE,UAAAilC,cAAAl1B,KAAAhR,KAAA+mE,IAGAC,oBAAA,WACA,IASArmE,EAAAiC,EAAAgT,EAAAqxD,EAAAr+D,EAAAgqB,EATAznB,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACA68D,EAAAl6D,EAAAuB,QAAAg3D,KACAiB,EAAAU,EAAAV,MAAA,MACAn+B,EAAA87B,EACA7zD,EAAA2zD,EACAoB,EAAA,GACA36D,EAAA,GACAG,EAAA,GAIA,IAAArI,EAAA,EAAAiV,EAAApN,EAAAI,KAAAI,OAAA7G,OAA+CxB,EAAAiV,IAAUjV,EACzDqI,EAAApI,KAAA6rB,EAAAjkB,EAAAI,KAAAI,OAAArI,GAAAwK,IAIA,IAAAxK,EAAA,EAAAiV,GAAApN,EAAAI,KAAAC,UAAA,IAAA1G,OAAyDxB,EAAAiV,IAAUjV,EACnE,GAAA6H,EAAAiB,iBAAA9I,GAIA,GAHAiI,EAAAJ,EAAAI,KAAAC,SAAAlI,GAAAiI,KAGAzB,EAAAqO,SAAA5M,EAAA,IAGA,IAFAC,EAAAlI,GAAA,GAEAiC,EAAA,EAAAqkE,EAAAr+D,EAAAzG,OAAqCS,EAAAqkE,IAAUrkE,EAC/CgwB,EAAAnG,EAAA7jB,EAAAhG,GAAAuI,GACAq4D,EAAA5iE,KAAAgyB,GACA/pB,EAAAlI,GAAAiC,GAAAgwB,OAGA4wC,EAAA5iE,KAAA2B,MAAAihE,EAAAx6D,GACAH,EAAAlI,GAAAqI,EAAA1G,MAAA,QAGAuG,EAAAlI,GAAA,GAIAqI,EAAA7G,SAEA6G,EAAAo6D,EAAAp6D,GAAAhE,KAAAm+D,GACA38B,EAAAziC,KAAAyiC,MAAAx9B,EAAA,IACAyF,EAAA1K,KAAA0K,MAAAzF,IAAA7G,OAAA,KAGAqhE,EAAArhE,SACAqhE,EAAAJ,EAAAI,GAAAx+D,KAAAm+D,GACA38B,EAAAziC,KAAAyiC,MAAAg9B,EAAA,IACA/0D,EAAA1K,KAAA0K,MAAA+0D,IAAArhE,OAAA,KAGAqkC,EAAA/Z,EAAA44C,EAAA7+B,IAAAr7B,IAAAq7B,EACA/3B,EAAAge,EAAA44C,EAAA52D,IAAAtD,IAAAsD,EAGA+3B,MAAA87B,GAAAL,IAAAuC,QAAAG,GAAAn+B,EACA/3B,MAAA2zD,GAAAH,IAAAiF,MAAAvC,GAAA,EAAAl2D,EAGAtD,EAAAq7B,IAAAziC,KAAAyiC,MAAA/3B,GACAtD,EAAAsD,IAAA1K,KAAA0K,IAAA+3B,EAAA,EAAA/3B,GAGAtD,EAAAg8D,YAAAh8D,EAAAY,eACAZ,EAAAi8D,OAAA,GACAj8D,EAAAk8D,YAAA,CACAz+D,KAAA46D,EACA36D,WACAG,WAIAs+D,WAAA,WACA,IAOA3mE,EAAAiV,EAAAgd,EAPAznB,EAAAnL,KACAwmC,EAAAr7B,EAAAq7B,IACA/3B,EAAAtD,EAAAsD,IACA/B,EAAAvB,EAAAuB,QACA24D,EAAA34D,EAAAg3D,KACAF,EAAA,GACA0B,EAAA,GAGA,OAAAx4D,EAAAw4D,MAAAhoD,QACA,WACAsmD,EAAAr4D,EAAAk8D,YAAAz+D,KACA,MACA,aACA46D,EAAAr4D,EAAAk8D,YAAAr+D,OACA,MACA,WACA,QACAw6D,EAAA4B,EAAA5+B,EAAA/3B,EAAAtD,EAAAo8D,iBAAA/gC,GAAA95B,GAaA,IAVA,UAAAA,EAAAy2C,QAAAqgB,EAAArhE,SACAqkC,EAAAg9B,EAAA,GACA/0D,EAAA+0D,IAAArhE,OAAA,IAIAqkC,EAAA/Z,EAAA44C,EAAA7+B,IAAAr7B,IAAAq7B,EACA/3B,EAAAge,EAAA44C,EAAA52D,IAAAtD,IAAAsD,EAGA9N,EAAA,EAAAiV,EAAA4tD,EAAArhE,OAAwCxB,EAAAiV,IAAUjV,EAClDiyB,EAAA4wC,EAAA7iE,GACAiyB,GAAA4T,GAAA5T,GAAAnkB,GACAy2D,EAAAtkE,KAAAgyB,GAcA,OAVAznB,EAAAq7B,MACAr7B,EAAAsD,MAGAtD,EAAAq8D,MAAAnC,EAAAV,MAAAM,EAAAC,EAAAG,EAAAL,QAAA75D,EAAAq7B,IAAAr7B,EAAAsD,KACAtD,EAAAs8D,WAAAtC,EAAAh6D,EAAAq8D,OACAr8D,EAAAi8D,OAAA7D,EAAAp4D,EAAAk8D,YAAAz+D,KAAA49B,EAAA/3B,EAAA/B,EAAA+2D,cACAt4D,EAAAu8D,SAAA1B,EAAA76D,EAAAi8D,OAAAlC,EAAA1+B,EAAA/3B,EAAA/B,GACAvB,EAAAw8D,aAAAtB,EAAAl7D,EAAAk8D,YAAAz+D,KAAAy8D,GAEAc,EAAAjB,EAAA/5D,EAAAs8D,aAGAG,iBAAA,SAAAxnE,EAAAkI,GACA,IAAA6C,EAAAnL,KACA4I,EAAAuC,EAAA3C,MAAAI,KACAy8D,EAAAl6D,EAAAuB,QAAAg3D,KACAp6D,EAAAV,EAAAI,QAAA5I,EAAAwI,EAAAI,OAAA7G,OAAAyG,EAAAI,OAAA5I,GAAA,GACA6F,EAAA2C,EAAAC,SAAAP,GAAAM,KAAAxI,GAKA,OAHA+G,EAAAqO,SAAAvP,KACAqD,EAAA6B,EAAA+6B,cAAAjgC,IAEAo/D,EAAAwC,cACAzD,EAAA96D,EAAA+7D,GAAA71C,OAAA61C,EAAAwC,eAEA,kBAAAv+D,EACAA,EAGA86D,EAAA96D,EAAA+7D,GAAA71C,OAAArkB,EAAAw8D,eAOAG,mBAAA,SAAAC,EAAA3nE,EAAA8kE,EAAA8C,GACA,IAAA78D,EAAAnL,KACA0M,EAAAvB,EAAAuB,QACAg3D,EAAAqE,EAAAtD,UACAwD,EAAAv7D,EAAAg3D,KAAAgD,eACAwB,EAAAD,EAAA98D,EAAAq8D,OACApB,EAAAj7D,EAAAs8D,WACAU,EAAAF,EAAA7B,GACAgC,EAAAL,EAAAv+B,QAAAg7B,QAAA4B,GAAA3B,UACA4D,EAAA37D,EAAAw4D,MAAAK,MACAA,EAAA8C,EAAAxC,SAAAO,GAAA+B,GAAAzE,IAAA0E,EACA9+D,EAAAy+D,EAAAv4C,OAAAw4C,IAAAzC,EAAA4C,EAAAD,IACAI,EAAA/C,EAAA8C,EAAA37D,EAAAw4D,MAAAI,MACAiD,EAAAphE,EAAA+F,eAAAo7D,EAAA17D,SAAA07D,EAAAE,cAEA,OAAAD,IAAAj/D,EAAAlJ,EAAA8kE,GAAA57D,GAGAm/D,qBAAA,SAAAvD,GACA,IACAvkE,EAAAiV,EADA5M,EAAA,GAGA,IAAArI,EAAA,EAAAiV,EAAAsvD,EAAA/iE,OAAmCxB,EAAAiV,IAAUjV,EAC7CqI,EAAApI,KAAAZ,KAAA8nE,mBAAA7F,EAAAiD,EAAAvkE,GAAAsF,OAAAtF,EAAAukE,IAGA,OAAAl8D,GAMA0/D,kBAAA,SAAAhF,GACA,IAAAv4D,EAAAnL,KACAmV,EAAAhK,EAAAg8D,YAAAh8D,EAAAa,MAAAb,EAAAgB,OACAuO,EAAAvP,EAAAg8D,YAAAh8D,EAAAc,KAAAd,EAAAiB,IACAiK,EAAAm9B,EAAAroC,EAAAi8D,OAAA,OAAA1D,EAAA,OAEA,OAAAhpD,EAAAvF,GAAAhK,EAAAu8D,SAAAz7D,KAAAoK,IAAAlL,EAAAu8D,SAAAz7D,KAAA,EAAAd,EAAAu8D,SAAAx7D,QAGAk5B,iBAAA,SAAAn/B,EAAA7F,EAAAkI,GACA,IAAA6C,EAAAnL,KACA0jE,EAAA,KAUA,QARA/8D,IAAAvG,QAAAuG,IAAA2B,IACAo7D,EAAAv4D,EAAAk8D,YAAAx+D,SAAAP,GAAAlI,IAGA,OAAAsjE,IACAA,EAAAj3C,EAAAxmB,EAAAkF,IAGA,OAAAu4D,EACA,OAAAv4D,EAAAu9D,kBAAAhF,IAIAiF,gBAAA,SAAAvoE,GACA,IAAA8kE,EAAAllE,KAAA4oE,WACA,OAAAxoE,GAAA,GAAAA,EAAA8kE,EAAA/iE,OACAnC,KAAA0oE,kBAAAxD,EAAA9kE,GAAA6F,OACA,MAGA4iE,iBAAA,SAAA/hD,GACA,IAAA3b,EAAAnL,KACAmV,EAAAhK,EAAAg8D,YAAAh8D,EAAAa,MAAAb,EAAAgB,OACAuO,EAAAvP,EAAAg8D,YAAAh8D,EAAAc,KAAAd,EAAAiB,IACAiK,GAAAlB,GAAA2R,EAAApM,GAAAvF,EAAA,IAAAhK,EAAAu8D,SAAAz7D,KAAA,EAAAd,EAAAu8D,SAAAz7D,MAAAd,EAAAu8D,SAAAx7D,MACAw3D,EAAAlwB,EAAAroC,EAAAi8D,OAAA,MAAA/wD,EAAA,QAEA,OAAA4rD,EAAAyB,IAOAoF,cAAA,SAAAx/D,GACA,IAAA6B,EAAAnL,KACA+oE,EAAA59D,EAAAuB,QAAAw4D,MACA8D,EAAA79D,EAAA4B,IAAAkB,YAAA3E,GAAA0C,MACAi9D,EAAA9hE,EAAAkhB,UAAA0gD,EAAAG,aACAC,EAAAplE,KAAAklB,IAAAggD,GACAG,EAAArlE,KAAAolB,IAAA8/C,GACAI,EAAAliE,EAAA+F,eAAA67D,EAAAvhE,SAAAP,EAAAgG,OAAAE,iBAEA,OAAA67D,EAAAG,EAAAE,EAAAD,GAMA7B,iBAAA,SAAA+B,GACA,IAAAn+D,EAAAnL,KAEAgoE,EAAA78D,EAAAuB,QAAAg3D,KAAAgD,eAAAjE,YAEA8G,EAAAp+D,EAAA28D,mBAAA7F,EAAAqH,GAAA,KAAAtB,GACAgB,EAAA79D,EAAA29D,cAAAS,GACAC,EAAAr+D,EAAAY,eAAAZ,EAAAa,MAAAb,EAAAgB,OAEAy4D,EAAA7gE,KAAAuS,MAAAkzD,EAAAR,GACA,OAAApE,EAAA,EAAAA,EAAA,KAIAzC,EAAAsH,kBAAA,OAAA7C,EAAAJ,uCC7wBAnnE,EAAAC,QAAiBG,EAAQ,QACzBJ,EAAAC,QAAA0Y,OAAwBvY,EAAQ,QAChCJ,EAAAC,QAAAwQ,OAAwBrQ,EAAQ,QAChCJ,EAAAC,QAAAoN,QAAyBjN,EAAQ,2CCHjC,IAAA+Y,EAAA,WAAgC,SAAAC,EAAAC,EAAAC,GAA2C,QAAAhY,EAAA,EAAgBA,EAAAgY,EAAAxW,OAAkBxB,IAAA,CAAO,IAAAiY,EAAAD,EAAAhY,GAA2BiY,EAAAC,WAAAD,EAAAC,aAAA,EAAwDD,EAAAE,cAAA,EAAgC,UAAAF,MAAAG,UAAA,GAAuDX,OAAAC,eAAAK,EAAAE,EAAAI,IAAAJ,IAA+D,gBAAAK,EAAAC,EAAAC,GAA2L,OAAlID,GAAAT,EAAAQ,EAAAhY,UAAAiY,GAAqEC,GAAAV,EAAAQ,EAAAE,GAA6DF,GAAxhB,GAEA,SAAAG,EAAAC,EAAAJ,GAAiD,KAAAI,aAAAJ,GAA0C,UAAAK,UAAA,qCAE3F,IAAAI,EAAeja,EAAQ,QACvBs9B,EAAArjB,EAAAqjB,iBACA2sC,EAAAhwD,EAAAgwD,gBACAC,EAAAjwD,EAAAiwD,iBACAC,EAAAlwD,EAAAkwD,iBACAjwD,EAAgBla,EAAQ,QACxBoqE,EAAAlwD,EAAAkwD,WACApwC,EAAA9f,EAAA8f,QACAp2B,EAAAsW,EAAAtW,MACAymE,EAAerqE,EAAQ,QACvBsqE,EAActqE,EAAQ,QAStBga,EAAA,WACA,SAAAA,IACAL,EAAApZ,KAAAyZ,GAEAzZ,KAAA+Z,MAAA,GACA/Z,KAAAy5B,aAAA9yB,EACA3G,KAAA8pE,cAAAnjE,EAiNA,OAxMA6R,EAAAiB,EAAA,EACAT,IAAA,OACA/S,MAAA,SAAAoU,GAEAra,UAAA+Z,MAAA5X,QAAAkY,EACAra,KAAA+Z,MAAAnZ,KAAAyZ,GACAra,KAAAy5B,QAAAz5B,KAAA8pE,cAAAnjE,IASG,CACHqS,IAAA,MACA/S,MAAA,SAAAtF,GACA,OAAAX,KAAA+Z,MAAApZ,KAQG,CACHqY,IAAA,UAOA/S,MAAA,SAAAuO,GACAxU,KAAA+Z,MAAAjD,QAAAtC,KASG,CACHwE,IAAA,MACA/S,MAAA,SAAAuO,GACA,OAAAxU,KAAA+Z,MAAA5Q,IAAAqL,KASG,CACHwE,IAAA,OACA/S,MAAA,SAAAuO,GACA,OAAAxU,KAAA+Z,MAAA6E,KAAApK,KAWG,CACHwE,IAAA,UACA/S,MAAA,WAEA,WASG,CACH+S,IAAA,SACA/S,MAAA,WACA,IAAA6U,EAAA9a,KAIAgqE,EAAAhqE,KAAA+Z,MAAA+Z,OAAA,SAAAm2C,EAAA5vD,EAAA1Z,GAEA,OADA0Z,EAAAF,KAAAxU,YAAA,GAAAmV,EAAAf,MAAAkwD,GAAA9vD,KAAAxU,YAAA,KAAAskE,EAAAtpE,GACAspE,GACO,GACPC,GAAA,IAAAF,EAAAhqE,KAAAmC,OAAA6nE,GAAA,EACAG,GAAAH,EAAA,GAAAhqE,KAAAmC,OACAioE,EAAArtC,EAAA/8B,KAAA+Z,MAAAmwD,GAAA/vD,KAAAxU,YAAA3F,KAAA+Z,MAAAiwD,GAAA7vD,KAAAxU,YAAA3F,KAAA+Z,MAAAowD,GAAAhwD,KAAAxU,aAEA,WAAAykE,EAAApqE,KAAA+Z,MAAAmwD,GAAA/vD,KAAAxU,YAAA,GAAA3F,KAAA+Z,MAAAowD,GAAAhwD,KAAAxU,YAAA,GACAykE,EAAA,IAOG,CACHpxD,IAAA,eACA/S,MAAA,WACA,OAAA4jE,EAAA7pE,KAAA+Z,MAAA5Q,IAAA,SAAAkR,GACA,OAAAA,EAAAF,KAAAxU,iBAQG,CACHqT,IAAA,YACA/S,MAAA,WACA,GAAAjG,KAAAy5B,QAAA,OAAAz5B,KAAAy5B,QACA,IAAA9zB,EAAA3F,KAAA+Z,MAAA5Q,IAAA,SAAAkR,GACA,OAAAA,EAAAF,KAAAxU,cAGA,OADAA,EAAA/E,KAAAZ,KAAA+Z,MAAA,GAAAI,KAAAxU,aACA3F,KAAAy5B,UAAA,CAAA9zB,MAOG,CACHqT,IAAA,cACA/S,MAAA,WACA,OAAAjG,KAAA8pE,SAAA9pE,KAAA8pE,SACA9pE,KAAA8pE,WAAA9pE,KAAAqqE,eAYG,CACHrxD,IAAA,SAQA/S,MAAA,SAAA5C,GACA,OAAA0mE,EAAA1mE,EAAArD,KAAAqqE,eAEG,CACHrxD,IAAA,SACAV,IAAA,WACA,OAAAtY,KAAA+Z,MAAA5X,UAEG,EACH6W,IAAA,yBACA/S,MAAA,SAAAqkE,EAAAC,GACA,IAAAC,EAAAF,EAAAG,cAEAC,OAAA,EACAC,OAAA,EAwBA,OAvBAJ,EAAAzzD,QAAA,SAAA8zD,GACA,IAAAC,EAAAD,EAAAH,cAKA,GAHAE,IAAAD,EAAAC,EAAAF,gBAGAf,EAAAmB,EAAAL,IAEAb,EAAAkB,EAAAL,GAAA,CACA,IAAAM,EAAAR,EAAAnhE,IAAA,SAAAkR,GACA,OAAAA,EAAAF,KAAAxU,cACWkpC,KAAA,SAAA14B,GACX,OAAAy0D,EAAAhsD,KAAA,SAAAvE,GACA,OAAAuvD,EAAAzzD,EAAAkE,EAAAF,KAAAxU,iBAIAmlE,GAAAF,EAAAj3D,OAAAtQ,EAAAynE,MACAH,IAAAhB,EAAAe,EAAAG,KAAAF,EAAAC,OAKAD,MAIAlxD,EAvNA,GA0NApa,EAAAC,QAAAma,uCCnPA,IAAAsxD,EAAAtrE,EAAA,QAAAurE,EAAAvrE,EAAAyC,EAAA6oE,GAAqmBC,EAAG,qCCAxmB,IAAA/yD,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,YAAuB,CAAAL,EAAAm8C,WAAAn8C,EAAAo8C,YAAA/oE,OAAA8sB,EAAA,WAAAA,EAAA,cAA2Ee,MAAA,CAAOwkC,OAAA,IAAY9kC,MAAA,CAAQzpB,MAAA6oB,EAAA,WAAAliB,SAAA,SAAA+iB,GAAgDb,EAAAq8C,WAAAx7C,GAAmBE,WAAA,eAA0B,CAAAZ,EAAA,SAAAH,EAAAM,GAAA,4BAAAH,EAAA,KAAyDe,MAAA,CAAOo7C,KAAAt8C,EAAAm8C,SAAAvyD,OAAA,UAAsCiY,GAAA,CAAKC,MAAA,SAAAkb,GAAyBA,EAAAC,qBAA4B,CAAAjd,EAAAM,GAAA,eAAAH,EAAA,SAAAH,EAAAM,GAAA,wBAAAN,EAAAM,GAAA,yBAAAN,EAAAgB,KAAAhB,EAAAo8C,YAAA,OAAAj8C,EAAA,WAAmJe,MAAA,CAAO9pB,KAAA,YAAkB,CAAA+oB,EAAA,sBAA2Bo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,eAA0Fo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,KAAAH,EAAAsC,GAAAtC,EAAA,qBAAAlmB,GAAkD,OAAAqmB,EAAA,MAAgBjW,IAAApQ,GAAS,CAAAqmB,EAAA,SAAAH,EAAAM,GAAA,oBAAAN,EAAAO,GAAAzmB,OAAA,KAA6D,SAAAkmB,EAAAgB,KAAAhB,EAAAm8C,SAA2En8C,EAAAgB,KAA3Eb,EAAA,WAAkDe,MAAA,CAAO9pB,KAAA,YAAkB,CAAA+oB,EAAA,SAAAH,EAAAM,GAAA,6CAC7iC8B,EAAA,yrBCqCA,IAAAu6C,EAAA,CACAp4C,WAAA,CACAq4C,QAAA,KACAn4C,UAAA,KACAD,aAAA,KACAq4C,qBAAA,MAEAhzD,MAAA,CACA1S,MAAAkmC,QACAy/B,MAAA,CACA1lE,KAAAimC,QACA1a,SAAA,IAGAC,SAAAuF,EAAA,CACAk0C,WAAAU,EAAA,MACAzzD,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,iBAHA,GAKAA,OAAA8e,EAAA,KAAA9e,CAAA,iCACA,wBACA,uBAPA,CASA8yD,YATA,WAUA,OAAAlrE,KAAA4rE,MAAA5rE,KAAA8rE,sBAAA9rE,KAAA+rE,oBAEAd,SAZA,WAaA,OAAAe,EAAA,UAAAC,uBCjE+XC,EAAA,0BCQ/Xp6C,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd8zD,EACAj0D,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,kCCnBf,IAAA1R,EAAW3gB,EAAQ,QACnB4D,EAAY5D,EAAQ,QAAe4D,MAuBnChE,EAAAC,QAAA,SAAAoH,EAAAoM,GACA,IAAAq5D,EAAA/rD,EAAA1Z,GACAyI,GAAAg9D,EAAA,GAAAA,EAAA,MACA/8D,GAAA+8D,EAAA,GAAAA,EAAA,MACA,OAAA9oE,EAAA,CAAA8L,EAAAC,GAAA0D,4BC5BA,IAAAs5D,EAAU3sE,EAAQ,QAClB0H,EAAc1H,EAAQ,QACtBiU,EAAejU,EAAQ,QACvB4sE,EAAe5sE,EAAQ,QACvBwT,EAAkBxT,EAAQ,QAAYwT,YACtC5M,EAAAc,EAAAd,QACAE,EAAAY,EAAAZ,kBAmEA,SAAA+lE,EAAAtqE,GACA,IAAAuqE,EAAA,GACAC,EAAA,GAUA,OARAv5D,EAAAjR,EAAA,SAAAmU,GACA,GAAAA,EAAAtQ,SAAA,CACA,IAAAmT,EAAA7C,EAAAtQ,SAAAF,YAAA5E,KAAA,KACAyrE,EAAAzuD,eAAA/E,KACAuzD,EAAA3rE,KAAAuV,GACAq2D,EAAAxzD,IAAA,MAGAzS,EAAAgmE,GApDAltE,EAAAC,QAAA,SAAA0C,EAAAyqE,EAAAttC,GAEA,IAAAn9B,EAAA,UAAAI,MAAA,sBACA,QAAAuE,IAAA8lE,GAAA,OAAAA,EAAA,UAAArqE,MAAA,uBACA,qBAAAqqE,EAAA,UAAArqE,MAAA,mBAEA,IAAAmqE,EAAAD,EAAAtqE,GAEA0qE,EAAAN,EAAAG,GAaA,GAVAG,EAAAlmE,SAAAkmE,EAAAlmE,SAAA9E,OAAA,SAAAy/B,GACA,IAAAqxB,EAAArxB,EAAAt7B,SAAAF,YAAA,MACA8sD,EAAAtxB,EAAAt7B,SAAAF,YAAA,MACAgnE,EAAAxrC,EAAAt7B,SAAAF,YAAA,MACAinE,EAAAl5D,EAAA8+C,EAAAC,EAAAtzB,GACA0tC,EAAAn5D,EAAA++C,EAAAka,EAAAxtC,GACA2tC,EAAAp5D,EAAA8+C,EAAAma,EAAAxtC,GACA,OAAAytC,GAAAH,GAAAI,GAAAJ,GAAAK,GAAAL,IAGAC,EAAAlmE,SAAArE,OAAA,YAAAC,MAAA,kDAGA,IAAA2qE,EAAAV,EAAAK,EAAAlmE,UAMA,OAJA,IAAAumE,EAAApnE,YAAAxD,SACA4qE,EAAApnE,YAAAonE,EAAApnE,YAAA,GACAonE,EAAA7mE,KAAA,WAEAG,EAAA0mE,yCC7DA,IAAA5lE,EAAc1H,EAAQ,QAKtBH,EAAAD,EAAAC,QAAA,CAKA2vD,MAAA,SAAAzmD,GACAA,EAAAuE,IAAAigE,UAAA,IAAAxkE,EAAAwD,MAAAxD,EAAA2D,SAcA8gE,YAAA,SAAAlgE,EAAAoC,EAAAC,EAAApD,EAAAG,EAAAuD,GACA,GAAAA,EAAA,CAGA,IAAAssB,EAAA,KACAzmB,EAAAxR,KAAAyiC,IAAA92B,EAAAvD,EAAA,EAAA6vB,EAAAhwB,EAAA,EAAAgwB,GAEAjvB,EAAA0D,OAAAtB,EAAAoG,EAAAnG,GACArC,EAAA2D,OAAAvB,EAAAnD,EAAAuJ,EAAAnG,GACArC,EAAAmgE,MAAA/9D,EAAAnD,EAAAoD,EAAAD,EAAAnD,EAAAoD,EAAAmG,KACAxI,EAAA2D,OAAAvB,EAAAnD,EAAAoD,EAAAjD,EAAAoJ,GACAxI,EAAAmgE,MAAA/9D,EAAAnD,EAAAoD,EAAAjD,EAAAgD,EAAAnD,EAAAuJ,EAAAnG,EAAAjD,EAAAoJ,GACAxI,EAAA2D,OAAAvB,EAAAoG,EAAAnG,EAAAjD,GACAY,EAAAmgE,MAAA/9D,EAAAC,EAAAjD,EAAAgD,EAAAC,EAAAjD,EAAAoJ,KACAxI,EAAA2D,OAAAvB,EAAAC,EAAAmG,GACAxI,EAAAmgE,MAAA/9D,EAAAC,EAAAD,EAAAoG,EAAAnG,EAAAmG,GACAxI,EAAAogE,YACApgE,EAAA0D,OAAAtB,EAAAC,QAEArC,EAAAqgE,KAAAj+D,EAAAC,EAAApD,EAAAG,IAIA4D,UAAA,SAAAhD,EAAAoV,EAAAzS,EAAAP,EAAAC,EAAAw1B,GACA,IAAA1+B,EAAAmnE,EAAAC,EAAAC,EAAAphE,EAAAgJ,EAGA,GAFAyvB,KAAA,EAEAziB,GAAA,kBAAAA,IACAjc,EAAAic,EAAAiL,WACA,8BAAAlnB,GAAA,+BAAAA,GACA6G,EAAAygE,UAAArrD,EAAAhT,EAAAgT,EAAAnW,MAAA,EAAAoD,EAAA+S,EAAAhW,OAAA,EAAAgW,EAAAnW,MAAAmW,EAAAhW,aAKA,KAAAkD,MAAAK,OAAA,IASA,OALA3C,EAAAuC,OACAvC,EAAAi+C,UAAA77C,EAAAC,GACArC,EAAAszB,OAAAuE,EAAA7gC,KAAAsvC,GAAA,KACAtmC,EAAAyD,YAEA2R,GAEA,QACApV,EAAAk7C,IAAA,IAAAv4C,EAAA,IAAA3L,KAAAsvC,IACAtmC,EAAAogE,YACA,MACA,eACAE,EAAA,EAAA39D,EAAA3L,KAAAgR,KAAA,GACA5I,EAAAkhE,EAAAtpE,KAAAgR,KAAA,KACAhI,EAAA0D,QAAA48D,EAAA,EAAAlhE,EAAA,GACAY,EAAA2D,OAAA28D,EAAA,EAAAlhE,EAAA,GACAY,EAAA2D,OAAA,KAAAvE,EAAA,GACAY,EAAAogE,YACA,MACA,WACAh4D,EAAA,EAAApR,KAAA2D,MAAAgI,EACA3C,EAAAqgE,MAAAj4D,KAAA,EAAAA,EAAA,EAAAA,GACA,MACA,kBACA,IAAAoO,EAAA7T,EAAA3L,KAAA2D,MACA+lE,GAAAlqD,EACAmqD,GAAAnqD,EACAoqD,EAAA5pE,KAAA2D,MAAAgI,EAMA1P,KAAAitE,YAAAlgE,EAAA0gE,EAAAC,EAAAC,IAAA,KAAAj+D,GACA,MACA,cACAyF,EAAA,EAAApR,KAAA2D,MAAAgI,EACA3C,EAAA0D,QAAA0E,EAAA,GACApI,EAAA2D,OAAA,EAAAyE,GACApI,EAAA2D,OAAAyE,EAAA,GACApI,EAAA2D,OAAA,GAAAyE,GACApI,EAAAogE,YACA,MACA,YACApgE,EAAA0D,OAAA,EAAAf,GACA3C,EAAA2D,OAAA,GAAAhB,GACA3C,EAAA0D,QAAAf,EAAA,GACA3C,EAAA2D,OAAAhB,EAAA,GACA,MACA,eACA49D,EAAAvpE,KAAAklB,IAAAllB,KAAAsvC,GAAA,GAAA3jC,EACA69D,EAAAxpE,KAAAolB,IAAAplB,KAAAsvC,GAAA,GAAA3jC,EACA3C,EAAA0D,QAAA68D,GAAAC,GACAxgE,EAAA2D,OAAA48D,EAAAC,GACAxgE,EAAA0D,QAAA68D,EAAAC,GACAxgE,EAAA2D,OAAA48D,GAAAC,GACA,MACA,WACAxgE,EAAA0D,OAAA,EAAAf,GACA3C,EAAA2D,OAAA,GAAAhB,GACA3C,EAAA0D,QAAAf,EAAA,GACA3C,EAAA2D,OAAAhB,EAAA,GACA49D,EAAAvpE,KAAAklB,IAAAllB,KAAAsvC,GAAA,GAAA3jC,EACA69D,EAAAxpE,KAAAolB,IAAAplB,KAAAsvC,GAAA,GAAA3jC,EACA3C,EAAA0D,QAAA68D,GAAAC,GACAxgE,EAAA2D,OAAA48D,EAAAC,GACAxgE,EAAA0D,QAAA68D,EAAAC,GACAxgE,EAAA2D,OAAA48D,GAAAC,GACA,MACA,WACAxgE,EAAA0D,QAAAf,EAAA,GACA3C,EAAA2D,OAAAhB,EAAA,GACA,MACA,WACA3C,EAAA0D,OAAA,KACA1D,EAAA2D,OAAAhB,EAAA,GACA,MAGA3C,EAAA62B,OACA72B,EAAA4D,SACA5D,EAAAmD,YAGAk3B,SAAA,SAAAr6B,EAAAs5B,GACAt5B,EAAAuC,OACAvC,EAAAyD,YACAzD,EAAAqgE,KAAA/mC,EAAAp6B,KAAAo6B,EAAAj6B,IAAAi6B,EAAAn6B,MAAAm6B,EAAAp6B,KAAAo6B,EAAAh6B,OAAAg6B,EAAAj6B,KACAW,EAAA6gE,QAGAvmC,WAAA,SAAAt6B,GACAA,EAAAmD,WAGAQ,OAAA,SAAA3D,EAAA+5B,EAAApuB,EAAAxX,GACA,GAAAwX,EAAAmrB,YAOA,MANA,UAAAnrB,EAAAmrB,cAAA3iC,GAAA,UAAAwX,EAAAmrB,aAAA3iC,EACA6L,EAAA2D,OAAAo2B,EAAA33B,EAAAuJ,EAAAtJ,GAEArC,EAAA2D,OAAAgI,EAAAvJ,EAAA23B,EAAA13B,QAEArC,EAAA2D,OAAAgI,EAAAvJ,EAAAuJ,EAAAtJ,GAIAsJ,EAAA4qB,QAKAv2B,EAAA8gE,cACA3sE,EAAA4lC,EAAAD,sBAAAC,EAAAE,kBACA9lC,EAAA4lC,EAAAC,sBAAAD,EAAAG,kBACA/lC,EAAAwX,EAAAsuB,kBAAAtuB,EAAAmuB,sBACA3lC,EAAAwX,EAAAuuB,kBAAAvuB,EAAAquB,sBACAruB,EAAAvJ,EACAuJ,EAAAtJ,GAVArC,EAAA2D,OAAAgI,EAAAvJ,EAAAuJ,EAAAtJ,KAuBAjI,EAAA8nD,MAAA3vD,EAAA2vD,MASA9nD,EAAA2mE,qBAAA,SAAA/gE,GACAA,EAAAyD,YACAlR,EAAA2tE,YAAA1qE,MAAAjD,EAAAswC,oCC/MA,IAAAxvB,EAAW3gB,EAAQ,QACnBiU,EAAejU,EAAQ,QACvBgU,EAAehU,EAAQ,QACvBsuE,EAAiBtuE,EAAQ,QAiBzBJ,EAAAC,QAAA,SAAA8mC,EAAA4nC,EAAA9lE,EAAA+lE,EAAA9uC,GAEA,IAAA6uC,EAAA,UAAA5rE,MAAA,0BACA,QAAAuE,IAAAuB,GAAA,OAAAA,EAAA,UAAA9F,MAAA,sBACA,QAAAuE,IAAAsnE,GAAA,OAAAA,EAAA,UAAA7rE,MAAA,yBAGA,IAAA8rE,EAAA9nC,EAAA5/B,SAAA9E,OAAA,SAAA2E,GACA,OAAAA,EAAAyM,YACAzM,EAAAyM,WAAAiL,eAAAiwD,KAEA,OAAAE,EAAA/rE,OAAA,UAAAC,MAAA,mCAMA,IAFA,IAAA+rE,EAAAJ,EAAA3tD,EAAAgmB,GAAA6nC,EAAA9uC,GACApU,EAAAojD,EAAA3nE,SAAArE,OACAxB,EAAA,EAAmBA,EAAAoqB,EAAOpqB,IAAA,CAI1B,IAHA,IAAAytE,EAAA,EACAC,EAAA,EAEAzrE,EAAA,EAAuBA,EAAAwjC,EAAA5/B,SAAArE,OAAmCS,IAAA,CAC1D,IAAAnC,EAAAiT,EAAAD,EAAA06D,EAAA3nE,SAAA7F,IAAAylC,EAAA5/B,SAAA5D,GAAAu8B,GACA,IAAA1+B,IACA2tE,EAAAhoC,EAAA5/B,SAAA5D,GAAAkQ,WAAAk7D,IAEA,IAAAM,EAAA,EAAAvqE,KAAAulB,IAAA7oB,EAAAyH,GACAmmE,GAAAC,EACAF,GAAAE,EAAAloC,EAAA5/B,SAAA5D,GAAAkQ,WAAAk7D,GAGAG,EAAA3nE,SAAA7F,GAAAmS,WAAAk7D,GAAAI,EAAAC,EAEA,OAAAF,wCCnDA9uE,EAAAC,QAAA,SAAAgjC,GACAA,EAAAisC,QAAA,SAAA54D,EAAA/K,GAEA,OADAA,EAAA1E,KAAA,UACA,IAAAo8B,EAAA3sB,EAAA/K,0CCHAvL,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAksC,SAAA,SAAA74D,EAAA/K,GAGA,OAFAA,EAAA1E,KAAA,WAEA,IAAAo8B,EAAA3sB,EAAA/K,0CCPA,IAAA6jE,EAAAhvE,EAAA,QAAAivE,EAAAjvE,EAAAyC,EAAAusE,GAAgsBC,EAAG,uCCKnsB,IAAAvnE,EAAA,CAIAE,KAAA,aAOAsnE,IAAA,WACA,IAAAnkE,EAAA,EACA,kBACA,OAAAA,KAHA,GAaA+5D,cAAA,SAAAt+D,GACA,cAAAA,GAAA,qBAAAA,GASAF,QAAAlE,MAAAkE,QAAAlE,MAAAkE,QAAA,SAAAE,GACA,yBAAAmS,OAAAnX,UAAAmsB,SAAApc,KAAA/K,IASAuP,SAAA,SAAAvP,GACA,cAAAA,GAAA,oBAAAmS,OAAAnX,UAAAmsB,SAAApc,KAAA/K,IASAiH,eAAA,SAAAjH,EAAA2oE,GACA,2BAAA3oE,EAAA2oE,EAAA3oE,GAUAo+B,sBAAA,SAAAp+B,EAAA7F,EAAAwuE,GACA,OAAAznE,EAAA+F,eAAA/F,EAAApB,QAAAE,KAAA7F,GAAA6F,EAAA2oE,IAWAhiE,SAAA,SAAA2+D,EAAA57B,EAAAk/B,GACA,GAAAtD,GAAA,oBAAAA,EAAAv6D,KACA,OAAAu6D,EAAAhpE,MAAAssE,EAAAl/B,IAaA3hC,KAAA,SAAA8gE,EAAAvD,EAAAsD,EAAA5mE,GACA,IAAAtH,EAAA4sC,EAAAxyB,EACA,GAAA5T,EAAApB,QAAA+oE,GAEA,GADAvhC,EAAAuhC,EAAA3sE,OACA8F,EACA,IAAAtH,EAAA4sC,EAAA,EAAqB5sC,GAAA,EAAQA,IAC7B4qE,EAAAv6D,KAAA69D,EAAAC,EAAAnuE,WAGA,IAAAA,EAAA,EAAeA,EAAA4sC,EAAS5sC,IACxB4qE,EAAAv6D,KAAA69D,EAAAC,EAAAnuE,WAGG,GAAAwG,EAAAqO,SAAAs5D,GAGH,IAFA/zD,EAAA3C,OAAA2C,KAAA+zD,GACAvhC,EAAAxyB,EAAA5Y,OACAxB,EAAA,EAAcA,EAAA4sC,EAAS5sC,IACvB4qE,EAAAv6D,KAAA69D,EAAAC,EAAA/zD,EAAApa,IAAAoa,EAAApa,KAYAouE,YAAA,SAAAC,EAAAve,GACA,IAAA9vD,EAAAiV,EAAA8gD,EAAAC,EAEA,IAAAqY,IAAAve,GAAAue,EAAA7sE,SAAAsuD,EAAAtuD,OACA,SAGA,IAAAxB,EAAA,EAAAiV,EAAAo5D,EAAA7sE,OAA+BxB,EAAAiV,IAAUjV,EAIzC,GAHA+1D,EAAAsY,EAAAruE,GACAg2D,EAAAlG,EAAA9vD,GAEA+1D,aAAA70D,OAAA80D,aAAA90D,OACA,IAAAsF,EAAA4nE,YAAArY,EAAAC,GACA,cAEI,GAAAD,IAAAC,EAEJ,SAIA,UAQAntB,MAAA,SAAAtsB,GACA,GAAA/V,EAAApB,QAAAmX,GACA,OAAAA,EAAA/T,IAAAhC,EAAAqiC,OAGA,GAAAriC,EAAAqO,SAAA0H,GAAA,CAMA,IALA,IAAAxE,EAAA,GACAqC,EAAA3C,OAAA2C,KAAAmC,GACA+xD,EAAAl0D,EAAA5Y,OACAY,EAAA,EAESA,EAAAksE,IAAUlsE,EACnB2V,EAAAqC,EAAAhY,IAAAoE,EAAAqiC,MAAAtsB,EAAAnC,EAAAhY,KAGA,OAAA2V,EAGA,OAAAwE,GAQAgyD,QAAA,SAAAl2D,EAAAN,EAAAwE,EAAAxQ,GACA,IAAAyiE,EAAAz2D,EAAAM,GACA+qD,EAAA7mD,EAAAlE,GAEA7R,EAAAqO,SAAA25D,IAAAhoE,EAAAqO,SAAAuuD,GACA58D,EAAAsgB,MAAA0nD,EAAApL,EAAAr3D,GAEAgM,EAAAM,GAAA7R,EAAAqiC,MAAAu6B,IAQAqL,UAAA,SAAAp2D,EAAAN,EAAAwE,GACA,IAAAiyD,EAAAz2D,EAAAM,GACA+qD,EAAA7mD,EAAAlE,GAEA7R,EAAAqO,SAAA25D,IAAAhoE,EAAAqO,SAAAuuD,GACA58D,EAAAqK,QAAA29D,EAAApL,GACGrrD,EAAAqF,eAAA/E,KACHN,EAAAM,GAAA7R,EAAAqiC,MAAAu6B,KAaAt8C,MAAA,SAAA/O,EAAAwE,EAAAxQ,GACA,IAEA+a,EAAA9mB,EAAAoa,EAAAk0D,EAAAlsE,EAFAssE,EAAAloE,EAAApB,QAAAmX,KAAA,CAAAA,GACAtH,EAAAy5D,EAAAltE,OAGA,IAAAgF,EAAAqO,SAAAkD,GACA,OAAAA,EAMA,IAHAhM,KAAA,GACA+a,EAAA/a,EAAA4iE,QAAAnoE,EAAA+nE,QAEAvuE,EAAA,EAAaA,EAAAiV,IAAUjV,EAEvB,GADAuc,EAAAmyD,EAAA1uE,GACAwG,EAAAqO,SAAA0H,GAKA,IADAnC,EAAA3C,OAAA2C,KAAAmC,GACAna,EAAA,EAAAksE,EAAAl0D,EAAA5Y,OAAkCY,EAAAksE,IAAUlsE,EAC5C0kB,EAAA1M,EAAAhY,GAAA2V,EAAAwE,EAAAxQ,GAIA,OAAAgM,GAUAlH,QAAA,SAAAkH,EAAAwE,GACA,OAAA/V,EAAAsgB,MAAA/O,EAAAwE,EAAA,CAAwCoyD,OAAAnoE,EAAAioE,aAUxC1kE,OAAA,SAAAgO,GAIA,IAHA,IAAA62D,EAAA,SAAAtpE,EAAA+S,GACAN,EAAAM,GAAA/S,GAEAtF,EAAA,EAAAiV,EAAAg6B,UAAAztC,OAA0CxB,EAAAiV,IAAUjV,EACpDwG,EAAA6G,KAAA4hC,UAAAjvC,GAAA4uE,GAEA,OAAA72D,GAMA+4B,SAAA,SAAA+9B,GACA,IAAArkE,EAAAnL,KACAyvE,EAAAD,KAAAzxD,eAAA,eAAAyxD,EAAA3rD,YAAA,WACA,OAAA1Y,EAAA5I,MAAAvC,KAAA4vC,YAGA8/B,EAAA,WACA1vE,KAAA6jB,YAAA4rD,GAYA,OATAC,EAAAzuE,UAAAkK,EAAAlK,UACAwuE,EAAAxuE,UAAA,IAAAyuE,EACAD,EAAA/kE,OAAAvD,EAAAsqC,SAEA+9B,GACAroE,EAAAuD,OAAA+kE,EAAAxuE,UAAAuuE,GAGAC,EAAAE,UAAAxkE,EAAAlK,UACAwuE,IAIApwE,EAAAC,QAAA6H,EAWAA,EAAAyoE,aAAAzoE,EAAAyF,SAUAzF,EAAAnE,QAAA,SAAAqsC,EAAAxiC,EAAAgjE,GACA,OAAAhuE,MAAAZ,UAAA+B,QAAAgO,KAAAq+B,EAAAxiC,EAAAgjE,IAUA1oE,EAAA2oE,kBAAA3oE,EAAA+F,eASA/F,EAAA4oE,yBAAA5oE,EAAAk9B,2DClVA,IAAA2rC,EAAAvwE,EAAA,QAAAwwE,EAAAxwE,EAAAyC,EAAA8tE,GAAspBC,EAAG,uCCAzpB,IAAAC,EAAAzwE,EAAA,QAAA0wE,EAAA1wE,EAAAyC,EAAAguE,GAA4qBC,EAAG,uCCA/qB,IAAAC,EAAA3wE,EAAA,QAAA4wE,EAAA5wE,EAAAyC,EAAAkuE,GAAqnBC,EAAG,uCCExnBhxE,EAAAC,QAAA,CACAgxE,UAAA,cACAC,aAAA,cACAC,KAAA,YACAC,WAAA,cACAC,MAAA,cACAC,MAAA,cACAC,OAAA,cACAC,MAAA,QACAC,eAAA,cACAC,KAAA,UACAC,WAAA,aACAC,MAAA,YACAC,UAAA,cACAC,UAAA,aACAC,WAAA,YACAC,UAAA,aACAC,MAAA,aACAC,eAAA,cACAC,SAAA,cACAC,QAAA,YACAC,KAAA,YACAC,SAAA,UACAC,SAAA,YACAC,cAAA,aACAC,SAAA,cACAC,UAAA,UACAC,SAAA,cACAC,UAAA,cACAC,YAAA,YACAC,eAAA,YACAC,WAAA,YACAC,WAAA,aACAC,QAAA,UACAC,WAAA,cACAC,aAAA,cACAC,cAAA,YACAC,cAAA,WACAC,cAAA,WACAC,cAAA,YACAC,WAAA,YACAC,SAAA,aACAC,YAAA,YACAC,QAAA,cACAC,QAAA,cACAC,WAAA,aACAC,UAAA,YACAC,YAAA,cACAC,YAAA,YACAC,QAAA,YACAC,UAAA,cACAC,WAAA,cACAC,KAAA,YACAC,UAAA,aACAC,KAAA,cACAC,MAAA,UACAC,YAAA,aACAC,KAAA,cACAC,SAAA,cACAC,QAAA,cACAC,UAAA,YACAC,OAAA,WACAC,MAAA,cACAC,MAAA,cACAC,SAAA,cACAC,cAAA,cACAC,UAAA,YACAC,aAAA,cACAC,UAAA,cACAC,WAAA,cACAC,UAAA,cACAC,qBAAA,cACAC,UAAA,cACAC,WAAA,cACAC,UAAA,cACAC,UAAA,cACAC,YAAA,cACAC,cAAA,aACAC,aAAA,cACAC,eAAA,cACAC,eAAA,cACAC,eAAA,cACAC,YAAA,cACAC,KAAA,UACAC,UAAA,YACAC,MAAA,cACAC,QAAA,YACAC,OAAA,UACAC,iBAAA,cACAC,WAAA,UACAC,aAAA,aACAC,aAAA,cACAC,eAAA,aACAC,gBAAA,cACAC,kBAAA,YACAC,gBAAA,aACAC,gBAAA,aACAC,aAAA,YACAC,UAAA,cACAC,UAAA,cACAC,SAAA,cACAC,YAAA,cACAC,KAAA,UACAC,QAAA,cACAC,MAAA,YACAC,UAAA,aACAC,OAAA,YACAC,UAAA,WACAC,OAAA,cACAC,cAAA,cACAC,UAAA,cACAC,cAAA,cACAC,cAAA,cACAC,WAAA,cACAC,UAAA,cACAC,KAAA,aACAC,KAAA,cACAC,KAAA,cACAC,WAAA,cACAC,OAAA,YACAC,cAAA,aACAC,IAAA,UACAC,UAAA,cACAC,UAAA,aACAC,YAAA,YACAC,OAAA,cACAC,WAAA,aACAC,SAAA,YACAC,SAAA,cACAC,OAAA,YACAC,OAAA,cACAC,QAAA,cACAC,UAAA,aACAC,UAAA,cACAC,UAAA,cACAC,KAAA,cACAC,YAAA,YACAC,UAAA,aACA9uD,IAAA,cACA+uD,KAAA,YACAC,QAAA,cACAC,OAAA,YACAC,UAAA,aACAC,OAAA,cACAC,MAAA,cACAC,MAAA,cACAC,WAAA,cACAC,OAAA,YACAC,YAAA,sCCtJA,IAAA7nE,EAAgBlS,EAAQ,QAAYkS,UAsDpC,SAAA8nE,EAAAxnE,EAAA43B,EAAAlkC,GAEAsM,EAAA9P,OAAAwD,GAAAsM,EAAA02B,OAAAhjC,EAAAsM,EAAA9P,QAGA,QAAAxB,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IACtCsR,EAAAtR,GAAAoD,KAAAkjB,MAAAhV,EAAAtR,GAAAkpC,KAEA,OAAA53B,EAvCA5S,EAAAC,QAAA,SAAAoH,EAAA4W,EAAA3X,EAAA84B,GAMA,GAJAnhB,OAAA3W,IAAA2W,GAAA,OAAAA,GAAAjO,MAAAiO,GAAA,EAAAA,EACA3X,OAAAgB,IAAAhB,GAAA,OAAAA,GAAA0J,MAAA1J,GAAA,EAAAA,GAGAe,EAAA,UAAAtE,MAAA,yBACA,qBAAAkb,EAAA,UAAAlb,MAAA,gCACA,qBAAAuD,EAAA,UAAAvD,MAAA,mCAGA,IAAAq8B,QAAA93B,IAAA83B,IAAA/3B,EAAA23B,KAAA5R,MAAA4R,KAAAC,UAAA53B,KAEA,IAAAmjC,EAAA9lC,KAAAulB,IAAA,GAAAhM,GAMA,OAHA3L,EAAAjL,EAAA,SAAAuL,GACAwnE,EAAAxnE,EAAA43B,EAAAlkC,KAEAe,iEC1CAjH,EAAAgB,EAAA+f,EAAA,sBAAAk5D,IAAAj6E,EAAAgB,EAAA+f,EAAA,sBAAAm5D,IAAAl6E,EAAAgB,EAAA+f,EAAA,sBAAAo5D,IAAA,IAAAC,EAAAp6E,EAAA,QAAAq6E,EAAAr6E,EAAA,QAGO,SAASi6E,EAAoB/nC,GAClC,IAAI4B,EACJ,OAAQ5B,EAAYzrC,MACpB,IAAK,OACL,IAAK,YACHqtC,EAAQ5B,EAAY4B,MACpB,MACF,IAAK,MACH,OAAQ5B,EAAYooC,WACpB,IAAK,SACHxmC,EAAQ,UACR,MAEF,QACEA,EAAQ,UACR,MAGF,MAEF,IAAK,QACHA,EAAQ,UACR,MAEF,QACEA,EAAQ,UACR,MAGF,OAAOA,GAAS,UAGX,SAASomC,EAAmBhoC,GACjC,OAAQA,EAAYzrC,MACpB,IAAK,OACL,IAAK,YAIH,OAHKyrC,EAAYI,aACfvX,QAAQw/C,MAAR,uCAAAtlE,OAAqDi9B,EAAYnnC,GAAjE,aAEKwgD,eAAS,0BAAAt2C,OAA2Bi9B,EAAYI,YAAvC,UAElB,IAAK,QACH,OAAOJ,EAAYK,kBACfC,eAAcN,EAAYK,mBAC1BgZ,eAAU,0DAEhB,IAAK,MACH,OAAOA,eAAS,yDAAAt2C,OAA0Di9B,EAAYooC,YACxF,QACE,MAAM,IAAI33E,MAAM4oD,eAAU,uEAAuEt2C,OAAjF,KAAAA,OAA6Fi9B,EAAYzrC,SAItH,SAAS0zE,EAA2BjoC,GACzC,OAAOqZ,eAAS,gEAAAt2C,OAAiEi9B,EAAYzrC,KAA7E,qCCzDlB,IAAAuzB,EAAch6B,EAAQ,QAAeg6B,QAgBrCp6B,EAAAC,QAAA,SAAA8gB,GACA,IAAA65D,EAAA,CAAA75D,EAAA,GAAAA,EAAA,IACA85D,EAAA,CAAA95D,EAAA,GAAAA,EAAA,IACA+5D,EAAA,CAAA/5D,EAAA,GAAAA,EAAA,IACAg6D,EAAA,CAAAh6D,EAAA,GAAAA,EAAA,IAEA,OAAAqZ,EAAA,EACAwgD,EACAG,EACAD,EACAD,EACAD,4BC3BA,IAAA75D,EAAW3gB,EAAQ,QACnB4D,EAAY5D,EAAQ,QAAe4D,MAuBnChE,EAAAC,QAAA,SAAAoH,EAAAoM,GACA,IAAAq5D,EAAA/rD,EAAA1Z,GACAyI,GAAAg9D,EAAA,GAAAA,EAAA,MACA/8D,GAAA+8D,EAAA,GAAAA,EAAA,MACA,OAAA9oE,EAAA,CAAA8L,EAAAC,GAAA0D,yCC1BA,IAAA7L,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QAEtB46E,EAAApzE,EAAAgG,OAEAhG,EAAAW,KAAA,UACAgH,SAAA,CACAC,KAAA,CACAy0B,QAAA,GACA95B,gBAAA6wE,EAAA9qE,aACApF,YAAA,EACAE,YAAAgwE,EAAA9qE,aACA5F,eAAA,OACAE,WAAA,GACAE,iBAAA,EACAE,gBAAA,QACAi9B,iBAAA,EACAtD,MAAA,MAKAvkC,EAAAC,QAAA4H,EAAAwD,OAAA,CACAgE,KAAA,WACA,IAOAtO,EAAAk6E,EAAAxzC,EAAAyzC,EAPApvE,EAAAnL,KACA8rD,EAAA3gD,EAAA+oC,MACAnnC,EAAA5B,EAAAolC,OAAAxjC,IACAi1B,EAAA8pB,EAAA9pB,SACAhgC,EAAAmJ,EAAAu4B,UAAAphC,QACAk4E,EAAAH,EAAAzrE,SAAAC,KACA4rE,GAAA,EA2BA,IAvBAtvE,EAAA0R,OAAA7a,EAAAG,QACAH,EAAApB,KAAAoB,EAAA,IAGA+K,EAAAuC,OAGAvC,EAAArD,QAAAoiD,EAAAniD,gBAAA6wE,EAAA7wE,eAGAoD,EAAA0C,aACA1C,EAAA0C,YAAAq8C,EAAAjiD,YAAA2wE,EAAA3wE,YAGAkD,EAAAjD,eAAAgiD,EAAA/hD,kBAAAywE,EAAAzwE,iBACAgD,EAAA/C,SAAA8hD,EAAA7hD,iBAAAuwE,EAAAvwE,gBACA8C,EAAA7C,UAAA4hD,EAAA3hD,aAAAqwE,EAAArwE,YACA4C,EAAA3C,YAAA0hD,EAAAzhD,aAAAgwE,EAAA9qE,aAGAxC,EAAAyD,YACAiqE,GAAA,EAEAr6E,EAAA,EAAiBA,EAAA4B,EAAAG,SAAuB/B,EACxCk6E,EAAAt4E,EAAA5B,GACA0mC,EAAA3/B,EAAAw/B,aAAA3kC,EAAA5B,GACAm6E,EAAAD,EAAApmC,MAGA,IAAA9zC,EACAm6E,EAAA50C,OACA54B,EAAA0D,OAAA8pE,EAAAprE,EAAAorE,EAAAnrE,GACAqrE,EAAAr6E,IAGA0mC,GAAA,IAAA2zC,EAAA3zC,EAAA9kC,EAAAy4E,GAEAF,EAAA50C,OACA80C,IAAAr6E,EAAA,IAAA4hC,IAAA,IAAAy4C,EAEA1tE,EAAA0D,OAAA8pE,EAAAprE,EAAAorE,EAAAnrE,GAGAjI,EAAA2I,OAAAY,OAAA3D,EAAA+5B,EAAAoN,MAAAomC,EAAApmC,OAEAumC,EAAAr6E,IAKA2M,EAAA4D,SACA5D,EAAAmD,gDCxFA,IAAAwqE,EAAAj7E,EAAA,QAAAk7E,EAAAl7E,EAAAyC,EAAAw4E,GAAsrBC,EAAG,uCCAzrB,IAAAC,EAAAn7E,EAAA,QAAAo7E,EAAAp7E,EAAAyC,EAAA04E,GAAyrBC,EAAG,0BCA5rB,IAAAz6D,EAAW3gB,EAAQ,QACnBgJ,EAAWhJ,EAAQ,QACnB0H,EAAc1H,EAAQ,QACtByhC,EAAgBzhC,EAAQ,QACxBorC,EAAmBprC,EAAQ,QAC3Bq7E,EAAsBr7E,EAAQ,QAC9Bs7E,EAAA5zE,EAAA4zE,gBACAppE,EAAAlJ,EAAAkJ,UACArL,EAAA46B,EAAA56B,aACAC,EAAAY,EAAAZ,kBAmEA,SAAAy0E,EAAA9vC,EAAA+vC,EAAAnwC,EAAAowC,EAAAC,GAEA,IADA,IAAAC,EAAA,GACAz6E,EAAA,EAAmBA,EAAAs6E,EAAA94E,OAAmBxB,IAAA,CACtC,IAAA05B,GAAA4gD,EAAAt6E,GAEAmS,EAAAsF,OAAA6b,OACA,GACAinD,EACAC,EAAAx6E,IAEAmS,EAAAg4B,GAAAzQ,EACA,IAAAghD,EAAAN,EAAAD,EAAA9gD,YAAAkR,EAAA7Q,GAAAvnB,GAEAsoE,EAAAx6E,KAAAy6E,GAEA,OAAAD,EAYA,SAAAE,EAAAF,EAAAlwC,EAAAlpC,GAGA,IAAAu5E,EAAAn7D,EAAApe,GACAw5E,EAAAD,EAAA,GAAAA,EAAA,GACAE,EAAAF,EAAA,GAAAA,EAAA,GAGAl4B,EAAAk4B,EAAA,GACAzgD,EAAAygD,EAAA,GAGAG,EAAAxwC,EAAA,GAAA/oC,OAAA,EACAw5E,EAAAzwC,EAAA/oC,OAAA,EAGAy5E,EAAAJ,EAAAE,EACAG,EAAAJ,EAAAE,EAEAG,EAAA,SAAAz4E,GACAA,EAAA,GAAAA,EAAA,GAAAu4E,EAAAv4B,EACAhgD,EAAA,GAAAA,EAAA,GAAAw4E,EAAA/gD,GAOA,OAHAsgD,EAAAtkE,QAAA,SAAAukE,GACA1pE,EAAA0pE,EAAAS,KAEAV,EAUA,SAAA5lE,EAAAo1B,GACA,QAAAA,KAAA/mB,cAAAzL,OAvGA/Y,EAAAC,QAAA,SAAAy8E,EAAAd,EAAAnwC,EAAAowC,EAAAC,GAQA,GANArwC,KAAA,YACAowC,KAAA,GACAC,KAAA,GAGA70E,EAAAy1E,EAAA,sCACAd,EAAA,UAAA74E,MAAA,sBACA,IAAAP,MAAAkE,QAAAk1E,GAAA,UAAA74E,MAAA,2BACA,IAAAoT,EAAA0lE,GAAA,UAAA94E,MAAA,6CACA,IAAAP,MAAAkE,QAAAo1E,GAAA,UAAA/4E,MAAA,yCACA,qBAAA0oC,EAAA,UAAA1oC,MAAA,8BAGA,IAAA8oC,EAAAL,EAAAkxC,EAAAjxC,GAAA,GACAswC,EAAAJ,EAAA9vC,EAAA+vC,EAAAnwC,EAAAowC,EAAAC,GACAa,EAAAV,EAAAF,EAAAlwC,EAAA6wC,GAEA,OAAAx1E,EAAAy1E,4BC1DA,IAAAniD,GAMA,WAAc,aAMd,SAAAoiD,EAAA58D,EAAAE,GAEA,IAAAgd,EAAAld,EAAAlQ,EAAAoQ,EAAApQ,EACAqtB,EAAAnd,EAAAjQ,EAAAmQ,EAAAnQ,EAEA,OAAAmtB,IAAAC,IAIA,SAAA0/C,EAAAhgD,EAAA7c,EAAAE,GAEA,IAAApQ,EAAAkQ,EAAAlQ,EACAC,EAAAiQ,EAAAjQ,EACAmtB,EAAAhd,EAAApQ,IACAqtB,EAAAjd,EAAAnQ,IAEA,OAAAmtB,GAAA,IAAAC,EAAA,CAEA,IAAAr7B,IAAA+6B,EAAA/sB,KAAAotB,GAAAL,EAAA9sB,KAAAotB,IAAAD,IAAAC,KAEAr7B,EAAA,GACAgO,EAAAoQ,EAAApQ,EACAC,EAAAmQ,EAAAnQ,GAESjO,EAAA,IACTgO,GAAAotB,EAAAp7B,EACAiO,GAAAotB,EAAAr7B,GAOA,OAHAo7B,EAAAL,EAAA/sB,IACAqtB,EAAAN,EAAA9sB,IAEAmtB,IAAAC,IAKA,SAAA2/C,EAAAn6E,EAAAo6E,GAMA,IAJA,IAEA/4E,EAFAg5E,EAAAr6E,EAAA,GACAs6E,EAAA,CAAAD,GAGA17E,EAAA,EAAA4sC,EAAAvrC,EAAAG,OAAwCxB,EAAA4sC,EAAS5sC,IACjD0C,EAAArB,EAAArB,GAEAs7E,EAAA54E,EAAAg5E,GAAAD,IACAE,EAAA17E,KAAAyC,GACAg5E,EAAAh5E,GAMA,OAFAg5E,IAAAh5E,GAAAi5E,EAAA17E,KAAAyC,GAEAi5E,EAGA,SAAAC,EAAAv6E,EAAA8jE,EAAAC,EAAAqW,EAAAI,GAIA,IAHA,IACAp8E,EADAq8E,EAAAL,EAGAz7E,EAAAmlE,EAAA,EAA2BnlE,EAAAolE,EAAUplE,IAAA,CACrC,IAAA+7E,EAAAR,EAAAl6E,EAAArB,GAAAqB,EAAA8jE,GAAA9jE,EAAA+jE,IAEA2W,EAAAD,IACAr8E,EAAAO,EACA87E,EAAAC,GAIAD,EAAAL,IACAh8E,EAAA0lE,EAAA,GAAAyW,EAAAv6E,EAAA8jE,EAAA1lE,EAAAg8E,EAAAI,GACAA,EAAA57E,KAAAoB,EAAA5B,IACA2lE,EAAA3lE,EAAA,GAAAm8E,EAAAv6E,EAAA5B,EAAA2lE,EAAAqW,EAAAI,IAKA,SAAAG,EAAA36E,EAAAo6E,GACA,IAAArW,EAAA/jE,EAAAG,OAAA,EAEAq6E,EAAA,CAAAx6E,EAAA,IAIA,OAHAu6E,EAAAv6E,EAAA,EAAA+jE,EAAAqW,EAAAI,GACAA,EAAA57E,KAAAoB,EAAA+jE,IAEAyW,EAIA,SAAAvpB,EAAAjxD,EAAA46E,EAAAC,GAEA,GAAA76E,EAAAG,QAAA,SAAAH,EAEA,IAAAo6E,OAAAz1E,IAAAi2E,MAAA,EAKA,OAHA56E,EAAA66E,EAAA76E,EAAAm6E,EAAAn6E,EAAAo6E,GACAp6E,EAAA26E,EAAA36E,EAAAo6E,GAEAp6E,EAIgD63B,EAAA,WAAmB,OAAAo5B,GAAmBjiD,KAAA1R,EAAAG,EAAAH,EAAAD,QAAAsH,IAAAkzB,IAAAx6B,EAAAC,QAAAu6B,IA7GtF,sCCJA,IAAA5yB,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,UACAk1E,QAAA,KAQAz9E,EAAAC,QAAA,CAKAy9E,SAAA,GAQAC,SAAA,EAMAC,SAAA,SAAAH,GACA,IAAA5gD,EAAAl8B,KAAA+8E,SACA,GAAAroE,OAAAooE,GAAAhmE,QAAA,SAAAomE,IACA,IAAAhhD,EAAAl5B,QAAAk6E,IACAhhD,EAAAt7B,KAAAs8E,KAIAl9E,KAAAg9E,YAOAG,WAAA,SAAAL,GACA,IAAA5gD,EAAAl8B,KAAA+8E,SACA,GAAAroE,OAAAooE,GAAAhmE,QAAA,SAAAomE,GACA,IAAAhvC,EAAAhS,EAAAl5B,QAAAk6E,IACA,IAAAhvC,GACAhS,EAAAyM,OAAAuF,EAAA,KAIAluC,KAAAg9E,YAOA/tB,MAAA,WACAjvD,KAAA+8E,SAAA,GACA/8E,KAAAg9E,YAQAnnD,MAAA,WACA,OAAA71B,KAAA+8E,SAAA56E,QAQAi7E,OAAA,WACA,OAAAp9E,KAAA+8E,UAYAM,OAAA,SAAA70E,EAAA80E,EAAA3tC,GACA,IAEAhvC,EAAAiY,EAAAskE,EAAAK,EAAA9tC,EAFA+tC,EAAAx9E,KAAAw9E,YAAAh1E,GACAoN,EAAA4nE,EAAAr7E,OAGA,IAAAxB,EAAA,EAAaA,EAAAiV,IAAUjV,EAIvB,GAHAiY,EAAA4kE,EAAA78E,GACAu8E,EAAAtkE,EAAAskE,OACAztC,EAAAytC,EAAAI,GACA,oBAAA7tC,IACA8tC,EAAA,CAAA/0E,GAAAkM,OAAAi7B,GAAA,IACA4tC,EAAA38E,KAAAgY,EAAAlM,UACA,IAAA+iC,EAAAltC,MAAA26E,EAAAK,IACA,SAKA,UAQAC,YAAA,SAAAh1E,GACA,IAAAi1E,EAAAj1E,EAAAk1E,WAAAl1E,EAAAk1E,SAAA,IACA,GAAAD,EAAAjzE,KAAAxK,KAAAg9E,SACA,OAAAS,EAAAD,YAGA,IAAAV,EAAA,GACAU,EAAA,GACA5yE,EAAApC,KAAAoC,QAAA,GACA8B,EAAA9B,EAAA8B,SAAA9B,EAAA8B,QAAAowE,SAAA,GA2BA,OAzBA98E,KAAA+8E,SAAAroE,OAAA9J,EAAAkyE,SAAA,IAAAhmE,QAAA,SAAAomE,GACA,IAAAhvC,EAAA4uC,EAAA95E,QAAAk6E,GACA,QAAAhvC,EAAA,CAIA,IAAA1jC,EAAA0yE,EAAA1yE,GACAsC,EAAAJ,EAAAlC,IACA,IAAAsC,KAIA,IAAAA,IACAA,EAAA3F,EAAAqiC,MAAAviC,EAAAgG,OAAA6vE,QAAAtyE,KAGAsyE,EAAAl8E,KAAAs8E,GACAM,EAAA58E,KAAA,CACAs8E,SACAxwE,QAAAI,GAAA,SAIA2wE,EAAAD,cACAC,EAAAjzE,GAAAxK,KAAAg9E,SACAQ,GASAG,YAAA,SAAAn1E,UACAA,EAAAk1E,uECnKA,SAAAE,EAAAh1E,EAAAi1E,EAAAC,GAEAA,KAAA,EAEA,IAOAC,EAAAC,EAAAC,EAAAC,EAAA/uE,EAAAC,EAAA+uE,EAPAC,EAAAP,KAAA17E,OACAk8E,EAAAD,EAAAP,EAAA,GAAAC,EAAAl1E,EAAAzG,OACAm8E,EAAAC,EAAA31E,EAAA,EAAAy1E,EAAAP,GAAA,GACA76E,EAAA,GAEA,IAAAq7E,KAAAziE,OAAAyiE,EAAAp6E,KAAA,OAAAjB,EAOA,GAHAm7E,IAAAE,EAAAE,EAAA51E,EAAAi1E,EAAAS,EAAAR,IAGAl1E,EAAAzG,OAAA,GAAA27E,EAAA,CACAC,EAAAE,EAAAr1E,EAAA,GACAo1E,EAAAE,EAAAt1E,EAAA,GAEA,QAAAjI,EAAAm9E,EAAyBn9E,EAAA09E,EAAc19E,GAAAm9E,EACvC3uE,EAAAvG,EAAAjI,GACAyO,EAAAxG,EAAAjI,EAAA,GACAwO,EAAA4uE,MAAA5uE,GACAC,EAAA4uE,MAAA5uE,GACAD,EAAA8uE,MAAA9uE,GACAC,EAAA8uE,MAAA9uE,GAIA+uE,EAAAp6E,KAAA0K,IAAAwvE,EAAAF,EAAAG,EAAAF,GACAG,EAAA,IAAAA,EAAA,EAAAA,EAAA,EAKA,OAFAM,EAAAH,EAAAr7E,EAAA66E,EAAAC,EAAAC,EAAAG,GAEAl7E,EAIA,SAAAs7E,EAAA31E,EAAA8R,EAAAE,EAAAkjE,EAAAY,GACA,IAAA/9E,EAAAolE,EAEA,GAAA2Y,IAAAC,EAAA/1E,EAAA8R,EAAAE,EAAAkjE,GAAA,EACA,IAAAn9E,EAAA+Z,EAAuB/Z,EAAAia,EAASja,GAAAm9E,EAAA/X,EAAA6Y,EAAAj+E,EAAAiI,EAAAjI,GAAAiI,EAAAjI,EAAA,GAAAolE,QAEhC,IAAAplE,EAAAia,EAAAkjE,EAA2Bn9E,GAAA+Z,EAAY/Z,GAAAm9E,EAAA/X,EAAA6Y,EAAAj+E,EAAAiI,EAAAjI,GAAAiI,EAAAjI,EAAA,GAAAolE,GAQvC,OALAA,GAAA8Y,EAAA9Y,IAAAlqD,QACAR,EAAA0qD,GACAA,IAAAlqD,MAGAkqD,EAIA,SAAA+Y,EAAApkE,EAAAE,GACA,IAAAF,EAAA,OAAAA,EACAE,MAAAF,GAEA,IACAqkE,EADA7iD,EAAAxhB,EAEA,GAGA,GAFAqkE,GAAA,EAEA7iD,EAAA8iD,UAAAH,EAAA3iD,IAAArgB,OAAA,IAAAwqB,EAAAnK,EAAAh4B,KAAAg4B,IAAArgB,MAOAqgB,IAAArgB,SAPA,CAGA,GAFAR,EAAA6gB,GACAA,EAAAthB,EAAAshB,EAAAh4B,KACAg4B,MAAArgB,KAAA,MACAkjE,GAAA,SAKKA,GAAA7iD,IAAAthB,GAEL,OAAAA,EAIA,SAAA6jE,EAAAQ,EAAAh8E,EAAA66E,EAAAC,EAAAC,EAAAG,EAAAe,GACA,GAAAD,EAAA,EAGAC,GAAAf,GAAAgB,EAAAF,EAAAlB,EAAAC,EAAAG,GAEA,IACAj6E,EAAA2X,EADArJ,EAAAysE,EAIA,MAAAA,EAAA/6E,OAAA+6E,EAAApjE,KAIA,GAHA3X,EAAA+6E,EAAA/6E,KACA2X,EAAAojE,EAAApjE,KAEAsiE,EAAAiB,EAAAH,EAAAlB,EAAAC,EAAAG,GAAAkB,EAAAJ,GAEAh8E,EAAArC,KAAAsD,EAAAvD,EAAAm9E,GACA76E,EAAArC,KAAAq+E,EAAAt+E,EAAAm9E,GACA76E,EAAArC,KAAAib,EAAAlb,EAAAm9E,GAEAziE,EAAA4jE,GAGAA,EAAApjE,OACArJ,EAAAqJ,YAQA,GAHAojE,EAAApjE,EAGAojE,IAAAzsE,EAAA,CAEA0sE,EAIa,IAAAA,GACbD,EAAAK,EAAAL,EAAAh8E,EAAA66E,GACAW,EAAAQ,EAAAh8E,EAAA66E,EAAAC,EAAAC,EAAAG,EAAA,IAGa,IAAAe,GACbK,EAAAN,EAAAh8E,EAAA66E,EAAAC,EAAAC,EAAAG,GATAM,EAAAK,EAAAG,GAAAh8E,EAAA66E,EAAAC,EAAAC,EAAAG,EAAA,GAYA,QAMA,SAAAkB,EAAAJ,GACA,IAAA3+E,EAAA2+E,EAAA/6E,KACA3D,EAAA0+E,EACAt9E,EAAAs9E,EAAApjE,KAEA,GAAAwqB,EAAA/lC,EAAAC,EAAAoB,IAAA,WAGA,IAAAu6B,EAAA+iD,EAAApjE,UAEA,MAAAqgB,IAAA+iD,EAAA/6E,KAAA,CACA,GAAAs7E,EAAAl/E,EAAA6O,EAAA7O,EAAA8O,EAAA7O,EAAA4O,EAAA5O,EAAA6O,EAAAzN,EAAAwN,EAAAxN,EAAAyN,EAAA8sB,EAAA/sB,EAAA+sB,EAAA9sB,IACAi3B,EAAAnK,EAAAh4B,KAAAg4B,IAAArgB,OAAA,WACAqgB,IAAArgB,KAGA,SAGA,SAAAujE,EAAAH,EAAAlB,EAAAC,EAAAG,GACA,IAAA79E,EAAA2+E,EAAA/6E,KACA3D,EAAA0+E,EACAt9E,EAAAs9E,EAAApjE,KAEA,GAAAwqB,EAAA/lC,EAAAC,EAAAoB,IAAA,WAGA,IAAA89E,EAAAn/E,EAAA6O,EAAA5O,EAAA4O,EAAA7O,EAAA6O,EAAAxN,EAAAwN,EAAA7O,EAAA6O,EAAAxN,EAAAwN,EAAA5O,EAAA4O,EAAAxN,EAAAwN,EAAA5O,EAAA4O,EAAAxN,EAAAwN,EACAuwE,EAAAp/E,EAAA8O,EAAA7O,EAAA6O,EAAA9O,EAAA8O,EAAAzN,EAAAyN,EAAA9O,EAAA8O,EAAAzN,EAAAyN,EAAA7O,EAAA6O,EAAAzN,EAAAyN,EAAA7O,EAAA6O,EAAAzN,EAAAyN,EACAuwE,EAAAr/E,EAAA6O,EAAA5O,EAAA4O,EAAA7O,EAAA6O,EAAAxN,EAAAwN,EAAA7O,EAAA6O,EAAAxN,EAAAwN,EAAA5O,EAAA4O,EAAAxN,EAAAwN,EAAA5O,EAAA4O,EAAAxN,EAAAwN,EACAywE,EAAAt/E,EAAA8O,EAAA7O,EAAA6O,EAAA9O,EAAA8O,EAAAzN,EAAAyN,EAAA9O,EAAA8O,EAAAzN,EAAAyN,EAAA7O,EAAA6O,EAAAzN,EAAAyN,EAAA7O,EAAA6O,EAAAzN,EAAAyN,EAGAywE,EAAAC,EAAAL,EAAAC,EAAA3B,EAAAC,EAAAG,GACA4B,EAAAD,EAAAH,EAAAC,EAAA7B,EAAAC,EAAAG,GAEAjiD,EAAA+iD,EAAAe,MACA99E,EAAA+8E,EAAAgB,MAGA,MAAA/jD,KAAAwF,GAAAm+C,GAAA39E,KAAAw/B,GAAAq+C,EAAA,CACA,GAAA7jD,IAAA+iD,EAAA/6E,MAAAg4B,IAAA+iD,EAAApjE,MACA2jE,EAAAl/E,EAAA6O,EAAA7O,EAAA8O,EAAA7O,EAAA4O,EAAA5O,EAAA6O,EAAAzN,EAAAwN,EAAAxN,EAAAyN,EAAA8sB,EAAA/sB,EAAA+sB,EAAA9sB,IACAi3B,EAAAnK,EAAAh4B,KAAAg4B,IAAArgB,OAAA,WAGA,GAFAqgB,IAAA8jD,MAEA99E,IAAA+8E,EAAA/6E,MAAAhC,IAAA+8E,EAAApjE,MACA2jE,EAAAl/E,EAAA6O,EAAA7O,EAAA8O,EAAA7O,EAAA4O,EAAA5O,EAAA6O,EAAAzN,EAAAwN,EAAAxN,EAAAyN,EAAAlN,EAAAiN,EAAAjN,EAAAkN,IACAi3B,EAAAnkC,EAAAgC,KAAAhC,IAAA2Z,OAAA,WACA3Z,IAAA+9E,MAIA,MAAA/jD,KAAAwF,GAAAm+C,EAAA,CACA,GAAA3jD,IAAA+iD,EAAA/6E,MAAAg4B,IAAA+iD,EAAApjE,MACA2jE,EAAAl/E,EAAA6O,EAAA7O,EAAA8O,EAAA7O,EAAA4O,EAAA5O,EAAA6O,EAAAzN,EAAAwN,EAAAxN,EAAAyN,EAAA8sB,EAAA/sB,EAAA+sB,EAAA9sB,IACAi3B,EAAAnK,EAAAh4B,KAAAg4B,IAAArgB,OAAA,WACAqgB,IAAA8jD,MAIA,MAAA99E,KAAAw/B,GAAAq+C,EAAA,CACA,GAAA79E,IAAA+8E,EAAA/6E,MAAAhC,IAAA+8E,EAAApjE,MACA2jE,EAAAl/E,EAAA6O,EAAA7O,EAAA8O,EAAA7O,EAAA4O,EAAA5O,EAAA6O,EAAAzN,EAAAwN,EAAAxN,EAAAyN,EAAAlN,EAAAiN,EAAAjN,EAAAkN,IACAi3B,EAAAnkC,EAAAgC,KAAAhC,IAAA2Z,OAAA,WACA3Z,IAAA+9E,MAGA,SAIA,SAAAX,EAAA5kE,EAAAzX,EAAA66E,GACA,IAAA5hD,EAAAxhB,EACA,GACA,IAAApa,EAAA47B,EAAAh4B,KACA3D,EAAA27B,EAAArgB,WAEAgjE,EAAAv+E,EAAAC,IAAAiwD,EAAAlwD,EAAA47B,IAAArgB,KAAAtb,IAAA2/E,EAAA5/E,EAAAC,IAAA2/E,EAAA3/E,EAAAD,KAEA2C,EAAArC,KAAAN,EAAAK,EAAAm9E,GACA76E,EAAArC,KAAAs7B,EAAAv7B,EAAAm9E,GACA76E,EAAArC,KAAAL,EAAAI,EAAAm9E,GAGAziE,EAAA6gB,GACA7gB,EAAA6gB,EAAArgB,MAEAqgB,EAAAxhB,EAAAna,GAEA27B,IAAArgB,WACKqgB,IAAAxhB,GAEL,OAAAwhB,EAIA,SAAAqjD,EAAA7kE,EAAAzX,EAAA66E,EAAAC,EAAAC,EAAAG,GAEA,IAAA79E,EAAAoa,EACA,GACA,IAAAna,EAAAD,EAAAub,UACA,MAAAtb,IAAAD,EAAA4D,KAAA,CACA,GAAA5D,EAAAK,IAAAJ,EAAAI,GAAAw/E,EAAA7/E,EAAAC,GAAA,CAEA,IAAAoB,EAAAy+E,EAAA9/E,EAAAC,GASA,OANAD,EAAAw+E,EAAAx+E,IAAAub,MACAla,EAAAm9E,EAAAn9E,IAAAka,MAGA4iE,EAAAn+E,EAAA2C,EAAA66E,EAAAC,EAAAC,EAAAG,QACAM,EAAA98E,EAAAsB,EAAA66E,EAAAC,EAAAC,EAAAG,GAGA59E,IAAAsb,KAEAvb,IAAAub,WACKvb,IAAAoa,GAIL,SAAA8jE,EAAA51E,EAAAi1E,EAAAS,EAAAR,GACA,IACAn9E,EAAA4sC,EAAA7yB,EAAAE,EAAAlY,EADA29E,EAAA,GAGA,IAAA1/E,EAAA,EAAA4sC,EAAAswC,EAAA17E,OAAyCxB,EAAA4sC,EAAS5sC,IAClD+Z,EAAAmjE,EAAAl9E,GAAAm9E,EACAljE,EAAAja,EAAA4sC,EAAA,EAAAswC,EAAAl9E,EAAA,GAAAm9E,EAAAl1E,EAAAzG,OACAO,EAAA67E,EAAA31E,EAAA8R,EAAAE,EAAAkjE,GAAA,GACAp7E,MAAAmZ,OAAAnZ,EAAAs8E,SAAA,GACAqB,EAAAz/E,KAAA0/E,EAAA59E,IAMA,IAHA29E,EAAAr7E,KAAAu7E,GAGA5/E,EAAA,EAAeA,EAAA0/E,EAAAl+E,OAAkBxB,IACjC6/E,EAAAH,EAAA1/E,GAAA29E,GACAA,EAAAQ,EAAAR,IAAAziE,MAGA,OAAAyiE,EAGA,SAAAiC,EAAAjgF,EAAAC,GACA,OAAAD,EAAA6O,EAAA5O,EAAA4O,EAIA,SAAAqxE,EAAAC,EAAAnC,GAEA,GADAA,EAAAoC,EAAAD,EAAAnC,GACAA,EAAA,CACA,IAAA/9E,EAAA6/E,EAAA9B,EAAAmC,GACA3B,EAAAv+E,IAAAsb,OAKA,SAAA6kE,EAAAD,EAAAnC,GACA,IAIA7gD,EAJAvB,EAAAoiD,EACAqC,EAAAF,EAAAtxE,EACAyxE,EAAAH,EAAArxE,EACAyxE,GAAAjsE,IAKA,GACA,GAAAgsE,GAAA1kD,EAAA9sB,GAAAwxE,GAAA1kD,EAAArgB,KAAAzM,GAAA8sB,EAAArgB,KAAAzM,IAAA8sB,EAAA9sB,EAAA,CACA,IAAAD,EAAA+sB,EAAA/sB,GAAAyxE,EAAA1kD,EAAA9sB,IAAA8sB,EAAArgB,KAAA1M,EAAA+sB,EAAA/sB,IAAA+sB,EAAArgB,KAAAzM,EAAA8sB,EAAA9sB,GACA,GAAAD,GAAAwxE,GAAAxxE,EAAA0xE,EAAA,CAEA,GADAA,EAAA1xE,EACAA,IAAAwxE,EAAA,CACA,GAAAC,IAAA1kD,EAAA9sB,EAAA,OAAA8sB,EACA,GAAA0kD,IAAA1kD,EAAArgB,KAAAzM,EAAA,OAAA8sB,EAAArgB,KAEA4hB,EAAAvB,EAAA/sB,EAAA+sB,EAAArgB,KAAA1M,EAAA+sB,IAAArgB,MAGAqgB,IAAArgB,WACKqgB,IAAAoiD,GAEL,IAAA7gD,EAAA,YAEA,GAAAkjD,IAAAE,EAAA,OAAApjD,EAAAv5B,KAMA,IAIA8lB,EAJAxX,EAAAirB,EACAqjD,EAAArjD,EAAAtuB,EACA4xE,EAAAtjD,EAAAruB,EACA4xE,EAAApsE,IAGAsnB,EAAAuB,EAAA5hB,KAEA,MAAAqgB,IAAA1pB,EACAmuE,GAAAzkD,EAAA/sB,GAAA+sB,EAAA/sB,GAAA2xE,GAAAH,IAAAzkD,EAAA/sB,GACAqwE,EAAAoB,EAAAG,EAAAJ,EAAAE,EAAAD,EAAAE,EAAAC,EAAAH,EAAAG,EAAAF,EAAAF,EAAAC,EAAA1kD,EAAA/sB,EAAA+sB,EAAA9sB,KAEA4a,EAAAjmB,KAAA6hB,IAAAg7D,EAAA1kD,EAAA9sB,IAAAuxE,EAAAzkD,EAAA/sB,IAEA6a,EAAAg3D,GAAAh3D,IAAAg3D,GAAA9kD,EAAA/sB,EAAAsuB,EAAAtuB,IAAA+wE,EAAAhkD,EAAAukD,KACAhjD,EAAAvB,EACA8kD,EAAAh3D,IAIAkS,IAAArgB,KAGA,OAAA4hB,EAIA,SAAA0hD,EAAAzkE,EAAAqjE,EAAAC,EAAAG,GACA,IAAAjiD,EAAAxhB,EACA,GACA,OAAAwhB,EAAAwF,IAAAxF,EAAAwF,EAAAo+C,EAAA5jD,EAAA/sB,EAAA+sB,EAAA9sB,EAAA2uE,EAAAC,EAAAG,IACAjiD,EAAA8jD,MAAA9jD,EAAAh4B,KACAg4B,EAAA+jD,MAAA/jD,EAAArgB,KACAqgB,IAAArgB,WACKqgB,IAAAxhB,GAELwhB,EAAA8jD,MAAAC,MAAA,KACA/jD,EAAA8jD,MAAA,KAEAiB,EAAA/kD,GAKA,SAAA+kD,EAAAv+E,GACA,IAAA/B,EAAAu7B,EAAAtG,EAAAxtB,EAAA84E,EAAAC,EAAAC,EAAAC,EACAC,EAAA,EAEA,GACAplD,EAAAx5B,EACAA,EAAA,KACAw+E,EAAA,KACAC,EAAA,EAEA,MAAAjlD,EAAA,CAIA,IAHAilD,IACAvrD,EAAAsG,EACAklD,EAAA,EACAzgF,EAAA,EAAuBA,EAAA2gF,EAAY3gF,IAGnC,GAFAygF,IACAxrD,IAAAqqD,OACArqD,EAAA,MAEAyrD,EAAAC,EAEA,MAAAF,EAAA,GAAAC,EAAA,GAAAzrD,EAEA,IAAAwrD,IAAA,IAAAC,IAAAzrD,GAAAsG,EAAAwF,GAAA9L,EAAA8L,IACAt5B,EAAA8zB,EACAA,IAAA+jD,MACAmB,MAEAh5E,EAAAwtB,EACAA,IAAAqqD,MACAoB,KAGAH,IAAAjB,MAAA73E,EACA1F,EAAA0F,EAEAA,EAAA43E,MAAAkB,EACAA,EAAA94E,EAGA8zB,EAAAtG,EAGAsrD,EAAAjB,MAAA,KACAqB,GAAA,QAEKH,EAAA,GAEL,OAAAz+E,EAIA,SAAAo9E,EAAA3wE,EAAAC,EAAA2uE,EAAAC,EAAAG,GAeA,OAbAhvE,EAAA,OAAAA,EAAA4uE,GAAAI,EACA/uE,EAAA,OAAAA,EAAA4uE,GAAAG,EAEAhvE,EAAA,UAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAC,EAAA,UAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAD,EAAAC,GAAA,EAIA,SAAAkxE,EAAA5lE,GACA,IAAAwhB,EAAAxhB,EACA6mE,EAAA7mE,EACA,GACAwhB,EAAA/sB,EAAAoyE,EAAApyE,IAAAoyE,EAAArlD,GACAA,IAAArgB,WACKqgB,IAAAxhB,GAEL,OAAA6mE,EAIA,SAAA/B,EAAAgC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAp3B,EAAAC,GACA,OAAAk3B,EAAAn3B,IAAAg3B,EAAA/2B,IAAA82B,EAAA/2B,IAAAo3B,EAAAn3B,IAAA,IACA82B,EAAA/2B,IAAAk3B,EAAAj3B,IAAAg3B,EAAAj3B,IAAAg3B,EAAA/2B,IAAA,IACAg3B,EAAAj3B,IAAAo3B,EAAAn3B,IAAAk3B,EAAAn3B,IAAAk3B,EAAAj3B,IAAA,EAIA,SAAAy1B,EAAA7/E,EAAAC,GACA,OAAAD,EAAAub,KAAAlb,IAAAJ,EAAAI,GAAAL,EAAA4D,KAAAvD,IAAAJ,EAAAI,IAAAmhF,EAAAxhF,EAAAC,IACA2/E,EAAA5/E,EAAAC,IAAA2/E,EAAA3/E,EAAAD,IAAAyhF,EAAAzhF,EAAAC,GAIA,SAAA8lC,EAAAnK,EAAAtG,EAAArgB,GACA,OAAAqgB,EAAAxmB,EAAA8sB,EAAA9sB,IAAAmG,EAAApG,EAAAymB,EAAAzmB,IAAAymB,EAAAzmB,EAAA+sB,EAAA/sB,IAAAoG,EAAAnG,EAAAwmB,EAAAxmB,GAIA,SAAAyvE,EAAAx/D,EAAAE,GACA,OAAAF,EAAAlQ,IAAAoQ,EAAApQ,GAAAkQ,EAAAjQ,IAAAmQ,EAAAnQ,EAIA,SAAAohD,EAAAnxC,EAAA2iE,EAAAziE,EAAA0iE,GACA,SAAApD,EAAAx/D,EAAA2iE,IAAAnD,EAAAt/D,EAAA0iE,IACApD,EAAAx/D,EAAA4iE,IAAApD,EAAAt/D,EAAAyiE,KACA37C,EAAAhnB,EAAA2iE,EAAAziE,GAAA,IAAA8mB,EAAAhnB,EAAA2iE,EAAAC,GAAA,GACA57C,EAAA9mB,EAAA0iE,EAAA5iE,GAAA,IAAAgnB,EAAA9mB,EAAA0iE,EAAAD,GAAA,EAIA,SAAAF,EAAAxhF,EAAAC,GACA,IAAA27B,EAAA57B,EACA,GACA,GAAA47B,EAAAv7B,IAAAL,EAAAK,GAAAu7B,EAAArgB,KAAAlb,IAAAL,EAAAK,GAAAu7B,EAAAv7B,IAAAJ,EAAAI,GAAAu7B,EAAArgB,KAAAlb,IAAAJ,EAAAI,GACA6vD,EAAAt0B,IAAArgB,KAAAvb,EAAAC,GAAA,SACA27B,IAAArgB,WACKqgB,IAAA57B,GAEL,SAIA,SAAA4/E,EAAA5/E,EAAAC,GACA,OAAA8lC,EAAA/lC,EAAA4D,KAAA5D,IAAAub,MAAA,EACAwqB,EAAA/lC,EAAAC,EAAAD,EAAAub,OAAA,GAAAwqB,EAAA/lC,IAAA4D,KAAA3D,IAAA,EACA8lC,EAAA/lC,EAAAC,EAAAD,EAAA4D,MAAA,GAAAmiC,EAAA/lC,IAAAub,KAAAtb,GAAA,EAIA,SAAAwhF,EAAAzhF,EAAAC,GACA,IAAA27B,EAAA57B,EACAqT,GAAA,EACA82C,GAAAnqD,EAAA6O,EAAA5O,EAAA4O,GAAA,EACAu7C,GAAApqD,EAAA8O,EAAA7O,EAAA6O,GAAA,EACA,GACA8sB,EAAA9sB,EAAAs7C,IAAAxuB,EAAArgB,KAAAzM,EAAAs7C,GAAAxuB,EAAArgB,KAAAzM,IAAA8sB,EAAA9sB,GACAq7C,GAAAvuB,EAAArgB,KAAA1M,EAAA+sB,EAAA/sB,IAAAu7C,EAAAxuB,EAAA9sB,IAAA8sB,EAAArgB,KAAAzM,EAAA8sB,EAAA9sB,GAAA8sB,EAAA/sB,IACAwE,MACAuoB,IAAArgB,WACKqgB,IAAA57B,GAEL,OAAAqT,EAKA,SAAAysE,EAAA9/E,EAAAC,GACA,IAAAmwD,EAAA,IAAAn3C,EAAAjZ,EAAAK,EAAAL,EAAA6O,EAAA7O,EAAA8O,GACAwhD,EAAA,IAAAr3C,EAAAhZ,EAAAI,EAAAJ,EAAA4O,EAAA5O,EAAA6O,GACA8yE,EAAA5hF,EAAAub,KACAsmE,EAAA5hF,EAAA2D,KAcA,OAZA5D,EAAAub,KAAAtb,EACAA,EAAA2D,KAAA5D,EAEAowD,EAAA70C,KAAAqmE,EACAA,EAAAh+E,KAAAwsD,EAEAE,EAAA/0C,KAAA60C,EACAA,EAAAxsD,KAAA0sD,EAEAuxB,EAAAtmE,KAAA+0C,EACAA,EAAA1sD,KAAAi+E,EAEAvxB,EAIA,SAAAguB,EAAAj+E,EAAAwO,EAAAC,EAAA22D,GACA,IAAA7pC,EAAA,IAAA3iB,EAAA5Y,EAAAwO,EAAAC,GAYA,OAVA22D,GAKA7pC,EAAArgB,KAAAkqD,EAAAlqD,KACAqgB,EAAAh4B,KAAA6hE,EACAA,EAAAlqD,KAAA3X,KAAAg4B,EACA6pC,EAAAlqD,KAAAqgB,IAPAA,EAAAh4B,KAAAg4B,EACAA,EAAArgB,KAAAqgB,GAQAA,EAGA,SAAA7gB,EAAA6gB,GACAA,EAAArgB,KAAA3X,KAAAg4B,EAAAh4B,KACAg4B,EAAAh4B,KAAA2X,KAAAqgB,EAAArgB,KAEAqgB,EAAA8jD,QAAA9jD,EAAA8jD,MAAAC,MAAA/jD,EAAA+jD,OACA/jD,EAAA+jD,QAAA/jD,EAAA+jD,MAAAD,MAAA9jD,EAAA8jD,OAGA,SAAAzmE,EAAA5Y,EAAAwO,EAAAC,GAEApP,KAAAW,IAGAX,KAAAmP,IACAnP,KAAAoP,IAGApP,KAAAkE,KAAA,KACAlE,KAAA6b,KAAA,KAGA7b,KAAA0hC,EAAA,KAGA1hC,KAAAggF,MAAA,KACAhgF,KAAAigF,MAAA,KAGAjgF,KAAAg/E,SAAA,EAgCA,SAAAL,EAAA/1E,EAAA8R,EAAAE,EAAAkjE,GAEA,IADA,IAAAsE,EAAA,EACAzhF,EAAA+Z,EAAA9X,EAAAgY,EAAAkjE,EAAsCn9E,EAAAia,EAASja,GAAAm9E,EAC/CsE,IAAAx5E,EAAAhG,GAAAgG,EAAAjI,KAAAiI,EAAAjI,EAAA,GAAAiI,EAAAhG,EAAA,IACAA,EAAAjC,EAEA,OAAAyhF,EApnBA/iF,EAAAC,QAAAs+E,EACAv+E,EAAAC,QAAAmyB,QAAAmsD,EAklBAA,EAAAyE,UAAA,SAAAz5E,EAAAi1E,EAAAC,EAAA76E,GACA,IAAAm7E,EAAAP,KAAA17E,OACAk8E,EAAAD,EAAAP,EAAA,GAAAC,EAAAl1E,EAAAzG,OAEAmgF,EAAAv+E,KAAA6hB,IAAA+4D,EAAA/1E,EAAA,EAAAy1E,EAAAP,IACA,GAAAM,EACA,QAAAz9E,EAAA,EAAA4sC,EAAAswC,EAAA17E,OAAiDxB,EAAA4sC,EAAS5sC,IAAA,CAC1D,IAAA+Z,EAAAmjE,EAAAl9E,GAAAm9E,EACAljE,EAAAja,EAAA4sC,EAAA,EAAAswC,EAAAl9E,EAAA,GAAAm9E,EAAAl1E,EAAAzG,OACAmgF,GAAAv+E,KAAA6hB,IAAA+4D,EAAA/1E,EAAA8R,EAAAE,EAAAkjE,IAIA,IAAAyE,EAAA,EACA,IAAA5hF,EAAA,EAAeA,EAAAsC,EAAAd,OAAsBxB,GAAA,GACrC,IAAAL,EAAA2C,EAAAtC,GAAAm9E,EACAv9E,EAAA0C,EAAAtC,EAAA,GAAAm9E,EACAn8E,EAAAsB,EAAAtC,EAAA,GAAAm9E,EACAyE,GAAAx+E,KAAA6hB,KACAhd,EAAAtI,GAAAsI,EAAAjH,KAAAiH,EAAArI,EAAA,GAAAqI,EAAAtI,EAAA,KACAsI,EAAAtI,GAAAsI,EAAArI,KAAAqI,EAAAjH,EAAA,GAAAiH,EAAAtI,EAAA,KAGA,WAAAgiF,GAAA,IAAAC,EAAA,EACAx+E,KAAA6hB,KAAA28D,EAAAD,OAaA1E,EAAAn+B,QAAA,SAAA72C,GAKA,IAJA,IAAAk1E,EAAAl1E,EAAA,MAAAzG,OACAu9B,EAAA,CAAkB7/B,SAAA,GAAA2iF,MAAA,GAAAC,WAAA3E,GAClB4E,EAAA,EAEA/hF,EAAA,EAAmBA,EAAAiI,EAAAzG,OAAiBxB,IAAA,CACpC,QAAAiC,EAAA,EAAuBA,EAAAgG,EAAAjI,GAAAwB,OAAoBS,IAC3C,QAAAnC,EAAA,EAA2BA,EAAAq9E,EAASr9E,IAAAi/B,EAAA7/B,SAAAe,KAAAgI,EAAAjI,GAAAiC,GAAAnC,IAEpCE,EAAA,IACA+hF,GAAA95E,EAAAjI,EAAA,GAAAwB,OACAu9B,EAAA8iD,MAAA5hF,KAAA8hF,IAGA,OAAAhjD,wCCtoBApgC,EAAAk1C,gBAA4B/0C,EAAQ,QACpCH,EAAAqjF,kBAA4BljF,EAAQ,QAEpC,IAAA8qB,EAAQ9qB,EAAQ,QAChB,QAAAk2D,KAAAprC,EAAAjrB,EAAAqjF,kBAAAhtB,GAAAprC,EAAAorC,GACAr2D,EAAAsjF,cAA4BnjF,EAAQ,QACpCH,EAAAujF,SAA4BpjF,EAAQ,QACpCH,EAAAy4B,IAA4Bt4B,EAAQ,QACpCH,EAAA04B,KAA4Bv4B,EAAQ,QACpCH,EAAAqoB,UAA4BloB,EAAQ,QACpCH,EAAAwjF,IAA4BrjF,EAAQ,6CCLrB+gB,EAAA,MAOf+D,WAAA,aAOAw+D,UAAA,YAOAC,QAAA,mCC5BA,IAAAC,EAAqBxjF,EAAQ,QAAiBomD,SAC9Cq9B,EAAoBzjF,EAAQ,QAAiBgoB,MAC7C07D,EAA0B1jF,EAAQ,QAClC6T,EAAe7T,EAAQ,QAAY6T,SACnCmsC,EAAchgD,EAAQ,QAItB,SAAA2jF,EAAAzzC,GACA,OAAAA,EAAAxtC,OACAN,MAAAkE,QAAA4pC,EAAA,IAAAA,EAAA,GAAA9tC,MAAAZ,UAAAqB,MAAA0O,KAAA2+B,GADA,GAIA,SAAA0zC,EAAAC,GAEA,IAAAlgC,EAAA,CACAkgC,MAAA,CACAp9E,KAAA,qBACAU,WAAAy3B,KAAA5R,MAAA4R,KAAAC,UAAAglD,MAGAC,EAAAN,EAAA7/B,GACA,OAAA8/B,EAAAK,IAAAngC,QAAAkgC,MAAA18E,YAIA,SAAA48E,EAAAF,GAEA,IADA,IAAAp9E,EAAA,KACAvF,EAAA,EAAiBA,EAAA2iF,EAAAnhF,OAAkBxB,IACnC,GAAAuF,GAEK,GAAAA,IAAAo9E,EAAA3iF,GAAAuF,KACL,iBAFAA,EAAAo9E,EAAA3iF,GAAAuF,KAKA,OAAAA,EAKA,SAAAmmE,IAEA,IAAAjpB,EAAAggC,EAAAxzC,WACA0zC,EAAAlgC,EAAAtvB,OAAA,SAAA2vD,EAAA3hF,GAEA,IAAA4hF,EAAAjkC,EAAA39C,GACAD,MAAAkE,QAAA29E,OAAA,CAAAA,IACA,QAAA/iF,EAAA,EAAmBA,EAAA+iF,EAAAvhF,OAAiBxB,IAEpC2S,EAAAowE,EAAA/iF,GAAA,SAAAmG,GACA28E,EAAA7iF,KAAAkG,KAGA,OAAA28E,GACG,IAEHv9E,EAAAs9E,EAAAF,GACA,IAAAp9E,EACA,UAAA9D,MAAA,kDAGA,OAAA8D,GACA,iBACA,OAAAi9E,EAAAG,GACA,cACA,OAAAD,EAAAC,GACA,QACA,OAAAA,GA7DAjkF,EAAAC,QAAA+sE,0BCNA,IAAAllE,EAAc1H,EAAQ,QACtBq6C,EAAer6C,EAAQ,QACvBmG,EAAgBnG,EAAQ,QAAiBmG,UACzCkQ,EAAA3O,EAAA2O,WACAilE,EAAA5zE,EAAA4zE,gBACAthD,EAAAtyB,EAAAsyB,QACAkqD,EAAAx8E,EAAAw8E,aA6CA,SAAAC,EAAA39B,EAAA7lC,GAEA,IADA,IAAAyjE,EAAA,GACAljF,EAAA,EAAmBA,EAAAslD,EAAA9jD,OAAkBxB,IAAA,CACrC,IAAAmjF,EAAAhqC,EAAArgB,QAAAwsB,EAAAtlD,GAAAyf,GACA0jE,EAAA3hF,OAAA,IACA2hF,EAAA,QAAAA,IAAA3hF,OAAA,OAAA2hF,EAAA,QAAAA,IAAA3hF,OAAA,OACA2hF,EAAAljF,KAAAkjF,EAAA,IAEAA,EAAA3hF,QAAA,GACA0hF,EAAAjjF,KAAAkjF,IAIA,OAAAD,EAGA,SAAAp9E,EAAAJ,GACA,OAAAA,EAAA,SAAAA,EAAAR,SAAAK,KAAAG,EAAAH,KA3CA7G,EAAAC,QAAA,SAAA+G,EAAA+Z,GACA,IAAAtZ,EAAAL,EAAAJ,GACA4L,EAAArM,EAAAS,GACAyM,EAAAzM,EAAAyM,WAEA,OAAAhM,GACA,iBACA,sBACA,IAAAk/C,EAAA,GAKA,MAJA,eAAAl/C,IAAAmL,EAAA,CAAAA,IACAA,EAAA6E,QAAA,SAAAjI,GACAirC,EAAAjrC,EAAAuR,EAAA4lC,KAEA,IAAAA,EAAA7jD,OAAA2T,EAAAkwC,EAAA,GAAAlzC,GACAioE,EAAA/0B,EAAAlzC,GACA,cACA,OAAA2mB,EAAAmqD,EAAA3xE,EAAAmO,GAAAtN,GACA,mBACA,OAAA6wE,EAAA1xE,EAAA9I,IAAA,SAAAswB,GACA,OAAAmqD,EAAAnqD,EAAArZ,KACStN,GACT,QACA,UAAA1Q,MAAA,YAAA0E,EAAA,gEC/CA,IAAAmR,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,qBAAyCe,MAAA,CAAOtX,OAAAoW,EAAAi1D,oBAAA,kBAAkD1Y,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,OAAAuyD,GAAA,WAAyB,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,sCAAgEo8C,OAAA,OAAev8C,EAAA,OAAYE,YAAA,qBAAgC,CAAAF,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,8CAAAN,EAAA,IAAAG,EAAAH,EAAAk1D,iBAAA,CAA+GhrE,IAAA8V,EAAAk1D,iBAAAC,IAAA,YAAAj0D,MAAA,CAAgD7mB,IAAA2lB,EAAA3lB,IAAAinB,WAAAtB,EAAAuB,WAAsCvB,EAAAgB,MAAA,QAC1iBoB,EAAA,mFCDIgzD,EAAM,WAAgB,IAAAp1D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,8BAAyC,CAAAL,EAAAq1D,kBAA+mFr1D,EAAAgB,KAA/mF,CAAAb,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,eAAAH,EAAA,OAAsHE,YAAA,sBAAiC,CAAAF,EAAA,QAAaE,YAAA,YAAuB,CAAAL,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAhD,SAAA8oB,EAAA,QAA4Ce,MAAA,CAAOo0D,MAAAt1D,EAAAS,MAAAy7B,UAAA,qCAAgE,eAAAl8B,EAAA3lB,IAAA2gC,OAAA7a,EAAA,mBAAyDe,MAAA,CAAOq0D,KAAAv1D,EAAAw1D,MAAAC,QAAApvE,KAAA,QAAsC2Z,EAAAgB,MAAA,GAAAhB,EAAA3lB,IAAAq7E,mBAAA,WAAA11D,EAAA3lB,IAAA2gC,OAAA7a,EAAA,QAAqFe,MAAA,CAAOo0D,MAAAt1D,EAAAS,MAAAy7B,UAAA,qCAAgE,CAAA/7B,EAAA,UAAeE,YAAA,SAAoB,CAAAF,EAAA,SAAAH,EAAAM,GAAA,2CAAAN,EAAAgB,KAAAhB,EAAA3lB,IAAA,OAAA8lB,EAAA,QAAqGe,MAAA,CAAOo0D,MAAAt1D,EAAAS,MAAAy7B,UAAA,mCAA8D,CAAA/7B,EAAA,UAAeE,YAAA,SAAoB,CAAAF,EAAA,SAAAH,EAAAM,GAAA,yCAAAN,EAAAgB,OAAAb,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAAsmB,YAAA,yBAAAX,EAAA3lB,IAAA,aAAA8lB,EAAA,WAAyRE,YAAA,eAAAa,MAAA,CAAkC9pB,KAAA,UAAAm+E,KAAAv1D,EAAAw1D,MAAAG,eAAgD,CAAAx1D,EAAA,QAAAA,EAAA,UAAAA,EAAA,SAAAH,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,SAAAH,EAAA,SAAAH,EAAAM,GAAA,mCAAAN,EAAAO,GAAAP,EAAA3lB,IAAAs7E,kBAAA,KAAA31D,EAAAgB,KAAAhB,EAAA41D,KAAA,8CAAA51D,EAAA3lB,IAAA2gC,OAAA,CAAA7a,EAAA,MAAAA,EAAA,WAAAA,EAAA,UAAAA,EAAA,SAAAH,EAAAM,GAAA,0DAAAH,EAAA,SAAAH,EAAAM,GAAA,wDAAAH,EAAA,SAAAH,EAAAM,GAAA,oEAAAH,EAAA,OAA+iBE,YAAA,WAAqBF,EAAA,2BAAgCe,MAAA,CAAO20D,WAAA71D,EAAA3lB,OAAoB8lB,EAAA,4BAAiCe,MAAA,CAAO20D,WAAA71D,EAAA3lB,OAAoB8lB,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,0CAAAN,EAAAM,GAAA,eAAAH,EAAA,OAA2GE,YAAA,iCAA4C,CAAAF,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,YAAiBe,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAA+1D,uBAAA/1D,EAAA3lB,IAAAqB,OAAgD,CAAAykB,EAAA,SAAAH,EAAAM,GAAA,uDAAAH,EAAA,OAAsFE,YAAA,aAAwB,CAAAF,EAAA,YAAiBe,MAAA,CAAO40D,MAAA,GAAA9vB,UAAAhmC,EAAAuB,SAAmCM,GAAA,CAAKC,MAAA,SAAAkb,GAAyBhd,EAAAg2D,+BAAA,KAA2C,CAAA71D,EAAA,SAAAH,EAAAM,GAAA,yDAAAH,EAAA,6BAA8GS,MAAA,CAAOzpB,MAAA6oB,EAAA,8BAAAliB,SAAA,SAAA+iB,GAAmEb,EAAAg2D,8BAAAn1D,GAAsCE,WAAA,oCAA6CZ,EAAA,wBAAuCe,MAAA,CAAO20D,WAAA71D,EAAA3lB,OAAoB2lB,EAAA41D,KAAA,+BAAAz1D,EAAA,eAA8De,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,KAAcumB,MAAA,CAAQzpB,MAAA6oB,EAAA,kBAAAliB,SAAA,SAAA+iB,GAAuDb,EAAAq1D,kBAAAx0D,GAA0BE,WAAA,uBAAiCf,EAAAgB,KAAAb,EAAA,YAA0Be,MAAA,CAAOgB,UAAA,CAAAlC,EAAA3lB,IAAAqB,IAAAymB,WAAA,aAA6CnC,EAAAq1D,kBAAwMr1D,EAAAgB,KAAxM,CAAAhB,EAAA41D,KAAA,oCAAAz1D,EAAA,mBAAiGe,MAAA,CAAO+0D,YAAAj2D,EAAA3lB,IAAAsnC,YAA8B3hB,EAAAgB,KAAAb,EAAA,mBAAiCe,MAAA,CAAOg1D,cAAAl2D,EAAA3lB,IAAAqB,QAA0B,IACnyGy6E,EAAe,2ECDfC,EAAM,WAAgB,IAAAp2D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,qBAAgC,CAAAL,EAAA,4BAAAA,EAAAuI,QAAA2pC,OAAqMlyC,EAAAgB,KAArMb,EAAA,2BAAwFS,MAAA,CAAOzpB,MAAA6oB,EAAA,cAAAliB,SAAA,SAAA+iB,GAAmDb,EAAAq2D,cAAAx1D,GAAsBE,WAAA,mBAA6Bf,EAAAuI,QAAA,OAAApI,EAAA,YAA+Ce,MAAA,CAAO40D,MAAA,GAAAQ,OAAA,GAAAtwB,UAAAhmC,EAAAu2D,sBAA4D10D,GAAA,CAAKC,MAAA9B,EAAAw2D,kBAA6B,CAAAr2D,EAAA,SAAAH,EAAAM,GAAA,8CAAAH,EAAA,YAAkFe,MAAA,CAAO8kC,WAAAhmC,EAAAq2D,eAAAr2D,EAAAy2D,oBAAAX,MAAA,GAAAY,QAAA,IAAkF70D,GAAA,CAAKC,MAAA9B,EAAA22D,WAAsB,CAAAx2D,EAAA,SAAAH,EAAAM,GAAA,6CAAAN,EAAAgB,KAAAhB,EAAA41D,KAAA,iCAAA51D,EAAAuI,QAAA2pC,OAAA,CAAA/xC,EAAA,YAA4Je,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAA22D,UAAA,MAA4B,CAAAx2D,EAAA,SAAAH,EAAAM,GAAA,iDAAAN,EAAAgB,KAAAb,EAAA,qBAAuG0B,GAAA,CAAI+0D,QAAA52D,EAAA62D,YAAyBta,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,GAAY,CAAExyD,IAAA,UAAAuyD,GAAA,WAA4B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qDAA+Eo8C,OAAA,GAAY,CAAExyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oDAA8Eo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,sBAAAliB,SAAA,SAAA+iB,GAA2Db,EAAA82D,sBAAAj2D,GAA8BE,WAAA,0BAAqC,CAAAZ,EAAA,SAAAH,EAAAM,GAAA,uEAClhDy2D,EAAe,qnBCqDnB,IAAAC,EAAA,CACAzyD,WAAA,CACA0yD,WAAA,KACAC,oBAAA,KACAC,0BAAA,MAEA5zD,OAAA,CACA6zD,EAAA,MAEAvtE,MAAA,CACA0e,QAAA,CACAnxB,KAAAkS,OACA4e,UAAA,IAGApuB,KAfA,WAgBA,OACAg9E,uBAAA,EACAT,eAAA,IAGAzzD,SAAA,CACAy0D,2BADA,WAEA,IAAAC,EAAApmF,KAAA0kF,KAAA,qCAAA1kF,KAAAq3B,QAAAyS,QACA,cAAA9pC,KAAAq3B,QAAAyS,QAAA,eAAA9pC,KAAAq3B,QAAAI,WAAAz3B,KAAA0kF,KAAA,2BAAA1kF,KAAA0kF,KAAA,yBAEA,OAAA0B,GAAApmF,KAAAqmF,mBAEAd,mBAPA,WAQA,IAAAa,EAAA,eAAApmF,KAAAq3B,QAAAI,UAAAz3B,KAAA0kF,KAAA,wBAEA,OAAA0B,GAAApmF,KAAAqmF,mBAEAhB,qBAZA,WAaA,IAAAe,EAAA,eAAApmF,KAAAq3B,QAAAI,UAAAz3B,KAAA0kF,KAAA,0BAEA,OAAA0B,GAAApmF,KAAAqmF,mBAEAA,kBAjBA,WAkBA,qBAAArmF,KAAAq3B,QAAAI,UAAAz3B,KAAA0kF,KAAA,2BAGAnwD,QAAA0C,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,kBACA,sBAHA,CAKAktE,gBALA,WAMAtlF,KAAA4lF,uBAAA,GAEAD,WARA,eAAAW,EAAAluE,OAAAmuE,EAAA,KAAAnuE,CAAAouE,mBAAAC,KAAA,SAAAC,IAAA,OAAAF,mBAAAG,KAAA,SAAAC,GAAA,eAAAA,EAAA1iF,KAAA0iF,EAAA/qE,MAAA,OASA7b,KAAA6mF,kBAAA,CAAA9vD,UAAA/2B,KAAAq3B,QAAA7sB,KATA,wBAAAo8E,EAAAp0E,SAAAk0E,EAAA1mF,SAAA,SAAA2lF,IAAA,OAAAW,EAAA/jF,MAAAvC,KAAA4vC,WAAA,OAAA+1C,EAAA,GAWAF,SAXA,SAWAqB,GACA9mF,KAAA+mF,gBAAA,CAAAhwD,UAAA/2B,KAAAq3B,QAAA7sB,GAAAs8E,eC5G2bE,EAAA,0BCQ3bl1D,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd4uE,EACA9B,EACAW,GACF,EACA,KACA,WACA,MAIeoB,EAAAn1D,UCnBXo1D,EAAM,WAAgB,IAAAp4D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,sBAAiC,CAAAL,EAAA,iBAAAG,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,6CAAAN,EAAAM,GAAA,eAAAN,EAAAq4D,aAAyRr4D,EAAAgB,KAAzRb,EAAA,YAA8Je,MAAA,CAAO40D,MAAA,GAAAP,KAAAv1D,EAAAw1D,MAAA8C,eAA0Cz2D,GAAA,CAAKC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAAu4D,oBAAA,cAA4C,CAAAp4D,EAAA,SAAAH,EAAAM,GAAA,wDAAAH,EAAA,YAAqGe,MAAA,CAAO40D,MAAA,GAAAP,KAAAv1D,EAAAw1D,MAAAgD,YAAuC32D,GAAA,CAAKC,MAAA9B,EAAAy4D,iBAA4B,CAAAt4D,EAAA,SAAAH,EAAAM,GAAA,2DAAAN,EAAAgB,MAAA,IACplB03D,EAAe,yjBC4BnB,IAAAC,EAAA,CACAp0D,WAAA,CACA0yD,WAAA,MAEA1zD,OAAA,CACA6zD,EAAA,MAEAvtE,MAAA,CACA0e,QAAAjf,QAEAsZ,SAAAg2D,EAAA,GACAtvE,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,YAFA,CAIAksE,MAJA,WAKA,OACA8C,cAAAO,EAAA,MACAL,WAAAK,EAAA,OAGAR,aAVA,WAWA,qBAAAnnF,KAAAq3B,QAAAI,UAEAmwD,gBAbA,WAcA,IAAAC,EAAA7nF,KAAAqwB,SAAA,sBAAArwB,KAAAq3B,QAAAyS,QAAA9pC,KAAA0kF,KAAA,iCAAA1kF,KAAAmnF,aACAW,EAAA9nF,KAAAqwB,SAAArwB,KAAAmnF,cAAAnnF,KAAA0kF,KAAA,yBAEA,OAAAmD,GAAAC,KAGAvzD,QAAA,CACA8yD,oBADA,SACAnlD,GACAliC,KAAAo1B,OAAAC,OAAA,4DACAr1B,KAAA+nF,QAAAnnF,KAAA,CAAAuF,KAAA,oBAAAo3E,OAAAmK,EAAA,GAAA1nF,KAAAgoF,OAAAzK,OAAA,CAAAr7C,YAEA+lD,cALA,WAKA,IACA1K,EAAAv9E,KAAAgoF,OAAAzK,cACAv9E,KAAA+nF,QAAAnnF,KAAA,CAAAuF,KAAA,cAAAo3E,OAAAmK,EAAA,GAAAnK,MAEAgK,eATA,WAUAvnF,KAAAmnF,aACAnnF,KAAAioF,gBAEAjoF,KAAAqnF,oBAAA,WCxE4ba,EAAA,ECQxbC,aAAY/vE,OAAA2Z,EAAA,KAAA3Z,CACd8vE,EACAhB,EACAM,GACF,EACA,KACA,WACA,OAIeY,EAAAD,UCnBXE,EAAM,WAAgB,IAAAv5D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,uBAAiCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uCAAiEo8C,OAAA,MAAe,CAAA18C,EAAA41D,KAAA,uCAAAz1D,EAAA,sBAA6Ee,MAAA,CAAOtjB,QAAAoiB,EAAAw5D,gBAAAn/E,IAAA2lB,EAAAuI,SAAgD3H,MAAA,CAAQzpB,MAAA6oB,EAAA,eAAAliB,SAAA,SAAA+iB,GAAoDb,EAAAyI,eAAA5H,GAAuBE,WAAA,oBAA8Bf,EAAAgB,KAAAb,EAAA,yBAAuCe,MAAA,CAAOg1D,cAAAl2D,EAAAuI,QAAA7sB,MAA8BykB,EAAA,wBAA6Be,MAAA,CAAO7mB,IAAA2lB,EAAAuI,QAAAT,QAAA9H,EAAAyI,mBAAgD,IAC3oBgxD,EAAe,eCDfC,EAAM,WAAgB,IAAA15D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,QAAAG,EAAA,aAAqCe,MAAA,CAAO20D,WAAA71D,EAAAuI,QAAApxB,MAAA,KAAA2wB,QAAA9H,EAAAyI,kBAAkEzI,EAAAgB,MACnM24D,EAAe,qkBCanB,IAAAC,EAAA,CACAr1D,WAAA,CACAs1D,YAAA,MAEAhwE,MAAA,CACAoe,UAAA,CACA7wB,KAAAwmB,OACAsK,UAAA,IAGAtF,SAAAk3D,EAAA,GACAxwE,OAAA8e,EAAA,KAAA9e,CAAA,mCACA+e,cAAA,SAAAC,GAAA,OAAAA,EAAAxuB,KAAAyuB,QAAAC,WACAC,eAAA,SAAAH,GAAA,OAAAA,EAAAI,GAAAD,kBAHA,CAKAF,QALA,WAMA,OAAAr3B,KAAAm3B,cAAAn3B,KAAA+2B,eC9B0a8xD,EAAA,ECOtaC,EAAY1wE,OAAA2Z,EAAA,KAAA3Z,CACdywE,EACAL,EACAC,GACF,EACA,KACA,WACA,MAIeM,EAAAD,sBClBXE,EAAM,WAAgB,IAAAl6D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,0BAAqC,CAAAF,EAAA,MAAAH,EAAAoD,GAAA,cAAApD,EAAAoD,GAAA,gBAC3I+2D,EAAe,GCUnBC,EAAA,GCXubC,GAAA,ECQnbC,cAAYhxE,OAAA2Z,EAAA,KAAA3Z,CACd+wE,GACAH,EACAC,GACF,EACA,KACA,WACA,OAIeI,GAAAD,WCnBXE,GAAM,WAAgB,IAAAx6D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,iBAAqCe,MAAA,CAAOsB,OAAAxC,EAAAwC,QAAoB+5C,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,aAAAuyD,GAAA,WAA+B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yCAAmEo8C,OAAA,GAAY,CAAExyD,IAAA,WAAAuyD,GAAA,WAA6B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,0CAAoEo8C,OAAA,QAAe,IAC3Y+d,GAAe,6BCgBnBC,GAAA,CACAn2D,WAAA,CACAo2D,iBAAA,MAEA9wE,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,OACA4e,UAAA,GAEAJ,QAAA,CACA1wB,KAAAwmB,OACAsK,UAAA,IAGAtF,SAAA,CACAJ,OADA,WAEA,OAAAlZ,OAAA4oB,GAAA,KAAA5oB,CAAApY,KAAAmJ,IAAAnJ,KAAA42B,YCjCuc8yD,GAAA,GCOncC,GAAYvxE,OAAA2Z,EAAA,KAAA3Z,CACdsxE,GACAJ,GACAC,IACF,EACA,KACA,WACA,MAIeK,GAAAD,qkBCYf,IAAAE,GAAA,CACAx2D,WAAA,CACAg2D,uBACAN,wBACAe,qBAAA,KACAF,yBAEAv3D,OAAA,CACA6zD,EAAA,MAEAvtE,MAAA,CACA0e,QAAA,CACAnxB,KAAAkS,OACA4e,UAAA,IAGAtF,SAAAq4D,GAAA,GACA3xE,OAAAyzD,EAAA,KAAAzzD,CAAA,mCACA,sBAFA,GAIAA,OAAA8e,EAAA,KAAA9e,CAAA,mCACAkwE,gBAAA,SAAAlxD,GAAA,OAAAA,EAAAI,GAAA8wD,qBCnDwb0B,GAAA,GCOpbC,GAAY7xE,OAAA2Z,EAAA,KAAA3Z,CACd4xE,GACA3B,EACAE,GACF,EACA,KACA,WACA,MAIe2B,GAAAD,WClBXE,GAAM,WAAgB,IAAAr7D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gBAA2B,CAAAL,EAAA,OAAAG,EAAA,aAA+BE,YAAA,WAAAa,MAAA,CAA8B7pB,KAAA,UAAA6wB,SAAA,IAA+Bq0C,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,gDAA0Eo8C,OAAA,IAAY,iBAAA97C,MAAA,CAA6BzpB,MAAA6oB,EAAA,QAAAliB,SAAA,SAAA+iB,GAA6Cb,EAAAs7D,QAAAz6D,GAAgBE,WAAA,aAAuBf,EAAAs7D,UAAAt7D,EAAA3lB,IAAAhD,KAAA8oB,EAAA,WAA+Ce,MAAA,CAAO9pB,KAAA,YAAkB,CAAA+oB,EAAA,SAAAH,EAAAM,GAAA,2EAAAN,EAAAgB,KAAA,UAAAhB,EAAAu7D,YAAAC,kBAAAr7D,EAAA,WAAuKe,MAAA,CAAO9pB,KAAA,WAAiB,CAAA+oB,EAAA,SAAAH,EAAAM,GAAA,yDAAAN,EAAAgB,KAAAb,EAAA,OAAiGE,YAAA,iCAA4C,CAAAF,EAAA,OAAYE,YAAA,aAAwB,CAAAF,EAAA,YAAiBe,MAAA,CAAO1gB,KAAA,GAAAs1E,MAAA,IAAqBj0D,GAAA,CAAKC,MAAA9B,EAAAxf,OAAkB,CAAA2f,EAAA,SAAAH,EAAAM,GAAA,iDAAAH,EAAA,OAAgFE,YAAA,aAAwB,CAAAF,EAAA,YAAiBe,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA9B,EAAAs2D,SAAoB,CAAAn2D,EAAA,SAAAH,EAAAM,GAAA,2DAAAH,EAAA,0BAA6Ge,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,KAAcumB,MAAA,CAAQzpB,MAAA6oB,EAAA,uBAAAliB,SAAA,SAAA+iB,GAA4Db,EAAAy7D,uBAAA56D,GAA+BE,WAAA,6BAAsC,CAAAZ,EAAA,YAAmBe,MAAA,CAAO40D,MAAA,GAAA9vB,UAAAhmC,EAAA3lB,IAAA63D,OAAAojB,MAAAt1D,EAAA07D,SAA0D75D,GAAA,CAAKC,MAAA9B,EAAApU,QAAmB,CAAAuU,EAAA,SAAAH,EAAAM,GAAA,qDAAAH,EAAA,uBAAoGe,MAAA,CAAO0pB,QAAA5qB,EAAA27D,SAAAC,OAAA,OAAoC,IAC1nDC,GAAe,2HCDfC,GAAM,WAAgB,IAAA97D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,iBAAqCe,MAAA,CAAO0G,YAAA,CAAA5H,EAAA+7D,YAAAj0D,QAAA9H,EAAAyI,kBAA2DtI,EAAA,oBAAyBe,MAAA,CAAOO,cAAAzB,EAAA0B,YAA6BG,GAAA,CAAKC,MAAA9B,EAAA3mB,WAAqB2mB,EAAA,aAAAG,EAAA,sBAA8Ce,MAAA,CAAO20D,WAAA71D,EAAA3lB,IAAAytB,QAAA9H,EAAAyI,eAAAxvB,SAAA+mB,EAAAg8D,gBAAAC,SAAA,IAA6Fp6D,GAAA,CAAKq6D,OAAAl8D,EAAArH,SAAoBqH,EAAAgB,MAAA,IAC9bm7D,GAAe,8HCDfC,GAAM,WAAgB,IAAAp8D,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,wBAAmCL,EAAAsC,GAAAtC,EAAAuI,QAAA,eAAArD,EAAArzB,GAA6C,OAAAsuB,EAAA,UAAoBjW,IAAAgb,EAAAxpB,GAAA2kB,YAAA,qBAAAhN,MAAA,CAAqD3Y,gBAAAslB,EAAAwC,OAAA3wB,GAAA4yC,MAAAzkB,EAAAq8D,WAAAxqF,IAAyDgwB,GAAA,CAAMC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAAkd,MAAA,SAAAhY,EAAAxpB,OAAsC,CAAAskB,EAAAM,GAAA,SAAAN,EAAAO,GAAA2E,EAAA09B,QAAA,YAAgD,IAC7a05B,GAAe,8BCkBnBC,GAAA,CACAh5D,OAAA,CACAC,GAAA,MAEA3Z,MAAA,CACA0e,QAAA,CACAnxB,KAAAkS,OACA4e,UAAA,GAEAJ,QAAA,CACA1wB,KAAAwmB,OACAsK,UAAA,IAGAtF,SAAA,CACAJ,OADA,WAEA,OAAAlZ,OAAA4oB,GAAA,KAAA5oB,CAAApY,KAAAq3B,QAAAr3B,KAAA42B,UAEAu0D,WAJA,WAKA,OAAAnrF,KAAAsxB,OAAAnoB,IAAAoqC,GAAA,SCtCsb+3C,GAAA,GCQlbC,cAAYnzE,OAAA2Z,EAAA,KAAA3Z,CACdkzE,GACAJ,GACAE,IACF,EACA,KACA,WACA,OAIeI,GAAAD,klBCef,IAAAE,GAAA,CACAp4D,WAAA,CACAyD,iBAAA,KACAtD,oBAAA,KACAg4D,uBAEAn5D,OAAA,CACAq5D,GAAA,MAEA/yE,MAAA,CACA1S,MAAAmS,OACAjP,IAAA,CACAjD,KAAAkS,OACA4e,UAAA,IAGApuB,KAhBA,WAiBA,OACA+iF,aAAA,OAGAj6D,SAAAk6D,GAAA,GACAxzE,OAAA8e,EAAA,KAAA9e,CAAA,mCACAmf,eAAA,SAAAH,GAAA,OAAAA,EAAAI,GAAAD,kBAFA,CAIAs0D,4BAJA,WAIA,IAAA/wE,EAAA9a,KACA,OAAAoY,OAAAy9C,GAAA,aAAAz9C,CAAApY,KAAAmJ,IAAA0qB,MAAA1qB,IAAA,SAAA6qB,GAAA,OAAAA,EAAAxpB,GAAAsQ,EAAAgxE,kBAAA1zE,OAAA2zE,GAAA,SAAA3zE,CAAA4b,EAAAnuB,gBAEAmmF,gBAPA,WAQA,OAAAhsF,KAAAiG,OAAAjG,KAAA6rF,6BAEAI,sBAVA,WAUA,IAAAhxE,EAAAjb,KACA,OAAAoY,OAAAy9C,GAAA,aAAAz9C,CAAApY,KAAAgsF,gBAAA,SAAAplF,EAAAslF,GACA,IAAAl4D,EAAA/Y,EAAA9R,IAAA0qB,MAAAgb,KAAA,SAAA1/B,GAAA,OAAAA,EAAA3E,KAAA0hF,IAEA,OAAAtlF,EAAAuC,IAAA,SAAAtD,EAAAlF,GAAA,OAAAirF,GAAA,GACA53D,EADA,CAEAxpB,GAAA,GAAAkK,OAAAw3E,EAAA,KAAAx3E,OAAA/T,GACAkF,SAAAuS,OAAA2zE,GAAA,aAAA3zE,CAAAvS,UAIAglF,WArBA,WAsBA,OAAae,GAAA,GACb5rF,KAAAmJ,IADA,CAEA0qB,MAAAzb,OAAAy9C,GAAA,WAAAz9C,QAAAoP,OAAAxnB,KAAAisF,2BAGAz7D,WA3BA,WA4BA,WAAA27D,GAAA,YACAx7E,OAAA,IAAAy7E,GAAA,YACA74C,MAAA,qBACAvnC,MAAA,IAEA43B,KAAA,IAAAyoD,GAAA,YACA94C,MAAA,gCAIA+4C,aAtCA,WAsCA,IAAAhxE,EAAAtb,KACA,OAAAoY,OAAA2C,KAAA/a,KAAAgsF,iBACAn9C,KAAA,SAAAq9C,GAAA,OAAA5wE,EAAA0wE,gBAAAE,GAAA73D,SAAA/Y,EAAAqwE,iBAEAb,gBA1CA,WA2CA,OAAA9qF,KAAA2rF,aAEAvzE,OAAAm0E,GAAA,KAAAn0E,CAAApY,KAAA2rF,cAAA9lF,SAAAF,YAFA,QAKA4uB,QAAA,CACApsB,QADA,SAAAqsB,GACA,IAAAnuB,EAAAmuB,EAAAnuB,QACA,GAAAA,EAAA,CAKA,IAAAmmF,EAAAnmF,EAAAiS,IAAA,UANAm0E,EAOA,cAAA7uD,KAAA4uD,GAAAlqF,MAAA,GAPAoqF,EAAAt0E,OAAAu0E,GAAA,KAAAv0E,CAAAq0E,EAAA,GAOAP,EAPAQ,EAAA,GAOAE,EAPAF,EAAA,GASAG,EAAAlrC,SAAAirC,GAEA5sF,KAAA2rF,aAAA3rF,KAAAgsF,gBAAAE,GACAr9C,KAAA,SAAAi+C,EAAA1sF,GAAA,OAAAA,IAAAysF,SAVA7sF,KAAA2rF,aAAA,MAYAG,kBAfA,SAeAiB,GACA,OAAAA,EAAApnF,YAAAwD,IAAA,SAAAxD,GAAA,OACAO,KAAA,UACAP,kBAGA8hB,MArBA,SAqBAulE,GAAA,IAAAC,EAAAtxE,EAAA3b,KACAA,KAAAgsC,MAAA,QAAA4/C,GAAA,GACA5rF,KAAAgsF,iBADAiB,EAAA,GAAA70E,OAAAC,EAAA,KAAAD,CAAA60E,EAEAjtF,KAAAssF,aAAAtsF,KAAAgsF,gBAAAhsF,KAAAssF,cAAA5qF,OAAA,SAAAyN,GAAA,OAAAA,IAAAwM,EAAAgwE,gBAFAvzE,OAAAC,EAAA,KAAAD,CAAA60E,EAGAD,EAAAhtF,KAAAgsF,gBAAAgB,GAAAt4E,OAAA1U,KAAA2rF,eAHAsB,KAMAjtF,KAAA2rF,aAAA,QCnI0buB,GAAA,GCOtbC,GAAY/0E,OAAA2Z,EAAA,KAAA3Z,CACd80E,GACAtC,GACAK,IACF,EACA,KACA,WACA,MAIemC,GAAAD,+lBCkDf,IAAAE,GAAA,CACAh6D,WAAA,CACA0yD,WAAA,KACAuH,aAAA,KACA/5D,UAAA,KACAg6D,uBAAA,KACAH,2BAEA/6D,OAAA,CACAm7D,GAAA,KACAC,GAAA,KACAC,EAAA,MAEA/0E,MAAA,CACA1S,MAAAkmC,QACAhjC,IAAA,CACAjD,KAAAkS,OACA4e,UAAA,IAGApuB,KApBA,WAqBA,OACAwhF,QAAA,KACAG,uBAAA,KACAE,UAAA,IAGA/4D,SAAA,CACAy5C,WAAAU,EAAA,KACA2e,QAFA,WAGA,OAAAxqF,KAAAmJ,IAAA63D,OAAA,KAAAhhE,KAAAuvB,MAAAy7B,UAAA,sDAEA2iC,+BALA,WAMA,OAAA3tF,KAAAuqF,uBAEAnyE,OAAAy9C,GAAA,aAAAz9C,CAAApY,KAAAuqF,uBAAA,SAAA3jF,EAAAslF,GACA,OAAAtlF,EAAAzE,OAAA,OAAAiW,OAAAm0E,GAAA,KAAAn0E,CAAA,IAAAvS,SAEA,IAAA+nF,EAEA,OAAAhnF,EAAAzE,OACAyrF,EAAAx1E,OAAAm0E,GAAA,KAAAn0E,CAAA,CAAAxR,EAAA,GAAAjB,kBACA,CACA,IAAAa,EAAAI,EAAAuC,IAAA,SAAAtD,GAAA,OAAAuS,OAAAm0E,GAAA,KAAAn0E,CAAAvS,EAAAF,eAEAioF,EAAArB,GAAA,KAAAhqF,WAAA,EAAA6V,OAAA2oB,GAAA,KAAA3oB,CAAA5R,IAGA,YAAAonF,EAAA/nF,SAAAK,OACA0nF,EAAA/nF,SAAAK,KAAA,eACA0nF,EAAA/nF,SAAAF,YAAA,CAAAioF,EAAA/nF,SAAAF,cAKA,IAAAA,EAAA,GACAkoF,EAAA,EACAC,EAAA,KAtBAC,GAAA,EAAAC,GAAA,EAAAC,OAAAtnF,EAAA,IAwBA,IAxBA,IAwBAunF,EAxBArxE,EAAA,eAwBA4c,EAxBAy0D,EAAAjoF,MAyBAkoF,EAAA,GAzBAC,GAAA,EAAAC,GAAA,EAAAC,OAAA3nF,EAAA,IA0BA,QAAA4nF,EAAAC,EAAA/0D,EAAAg1D,OAAAC,cAAAN,GAAAG,EAAAC,EAAA3yE,QAAA8yE,MAAAP,GAAA,OAAA32E,EAAA82E,EAAAtoF,MAEAwR,IAAAgiB,EAAA,KAGAhiB,EAAAtV,QAAA0rF,EAAA,GAAAz1E,OAAAm0E,GAAA,KAAAn0E,CAAA,CACAlS,KAAA,UACAL,SAAA,CACAK,KAAA,UACAP,YAAA,CAAA8R,OAEAq2E,GACAK,EAAAvtF,KAAA6W,KAtCA,MAAAsrC,GAAAsrC,GAAA,EAAAC,EAAAvrC,EAAA,YAAAqrC,GAAA,MAAAI,EAAAI,QAAAJ,EAAAI,SAAA,WAAAP,EAAA,MAAAC,GA0CAH,EAAAhsF,QACAq4B,QAAAw/C,MAAA,SAAAtlE,OAAAy5E,EAAAhsF,OAAA,0CAAAuS,OAAAm5E,EAAA,kCAAAn5E,OAAAo5E,EAAA,wCACAnoF,EAAA/E,KAAA64B,EAAA/3B,OAAA,SAAAyN,GAAA,OAAAg/E,EAAA95D,SAAAllB,OAEAxJ,EAAA/E,KAAA64B,IAtBAo1D,EAAAjB,EAAA/nF,SAAAF,YAAA8oF,OAAAC,cAAAX,GAAAG,EAAAW,EAAAhzE,QAAA8yE,MAAAZ,GAAA,EAAAlxE,IAxBA,MAAAkmC,GAAAirC,GAAA,EAAAC,EAAAlrC,EAAA,YAAAgrC,GAAA,MAAAc,EAAAD,QAAAC,EAAAD,SAAA,WAAAZ,EAAA,MAAAC,GAwDA,OANAL,EAAA/nF,SAAAF,cAIAyS,OAAAm0E,GAAA,KAAAn0E,CAAAw1E,EAAA/nF,SAAA,YAEA,IAAA+nF,EAAA/nF,SAAAF,YAAAxD,OAAAiW,OAAAm0E,GAAA,KAAAn0E,CAAA,IAAAvS,SAEA+nF,EAAA/nF,WA5DA,OAgEA0uB,QAAAu6D,GAAA,GACA12E,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,wBAFA,GAIAA,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,iBALA,CAOAsC,MAPA,WAQA1a,KAAAmrE,YAAA,GAEA4jB,uBAVA,WAWA/uF,KAAAgvF,KAAAhvF,KAAAqqF,YAAA,oBAAArqF,KAAAuqF,uBAAA,oBAEAj7E,KAbA,eAAA2/E,EAAA72E,OAAAmuE,EAAA,KAAAnuE,CAAAouE,mBAAAC,KAAA,SAAAC,IAAA,IAAA0D,EAAA8E,EAAAC,EAAA,OAAA3I,mBAAAG,KAAA,SAAAC,GAAA,eAAAA,EAAA1iF,KAAA0iF,EAAA/qE,MAAA,cAcA7b,KAAAovF,WACApvF,KAAA+uF,yBAfAnI,EAAA/qE,KAAA,EAiBA7b,KAAAqvF,YAjBA,UAmBA,YAAArvF,KAAAo3B,MAnBA,CAAAwvD,EAAA/qE,KAAA,eAAA+qE,EAAA0I,OAAA,wBAqBAlF,EAAApqF,KAAAoqF,QACA8E,EAAAlvF,KAAA2tF,+BAtBA/G,EAAA1iF,KAAA,EAyBAlE,KAAAyqF,UAAA,EACA0E,EAAAnvF,KAAAgoF,OAAAzK,OAAA4R,MA1BAvI,EAAA/qE,KAAA,GA2BA7b,KAAAuvF,oBAAA,CAAAnF,UAAA8E,qBAAAC,UA3BA,QA4BAnjB,GAAA,iBAAAwjB,QAAAxvF,KAAAuvB,MAAAy7B,UAAA,uDAEAhrD,KAAA+nF,QAAAnnF,KAAA,CAAAuF,KAAAnG,KAAA+jF,oBAAA,iBAAAxG,OAAAuR,GAAA,GAAA9uF,KAAAgoF,OAAAzK,UA9BAqJ,EAAA/qE,KAAA,iBAAA+qE,EAAA1iF,KAAA,GAAA0iF,EAAA6I,GAAA7I,EAAA,YAgCA5a,GAAA,iBAAAgO,MAAAh6E,KAAAuvB,MAAAy7B,UAAA,qDACAxwB,QAAAw/C,MAAA4M,EAAA6I,IAjCA,eAAA7I,EAAA1iF,KAAA,GAmCAlE,KAAAyqF,UAAA,EAnCA7D,EAAA8I,OAAA,6BAAA9I,EAAAp0E,SAAAk0E,EAAA1mF,KAAA,4BAAAsP,IAAA,OAAA2/E,EAAA1sF,MAAAvC,KAAA4vC,WAAA,OAAAtgC,EAAA,GAsCA81E,OAtCA,WAuCAplF,KAAA+iC,QACA/iC,KAAAgvF,KAAAhvF,KAAAqqF,YAAA,yBAAA1jF,GACA3G,KAAAmrE,YAAA,KAGAzzC,MAAA,CACAzxB,MADA,WAEAjG,KAAAoqF,QAAApqF,KAAAmJ,IAAAhD,KACAnG,KAAAuqF,uBAAA,QCpN+aoF,GAAA,GCQ3aC,cAAYx3E,OAAA2Z,EAAA,KAAA3Z,CACdu3E,GACAxF,GACAQ,IACF,EACA,KACA,WACA,OAIekF,GAAAD,WCnBXE,GAAM,WAAgB,IAAAhhE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,sBAAgCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,+CAAyEo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,YAAAliB,SAAA,SAAA+iB,GAAiDb,EAAAihE,YAAApgE,GAAoBE,WAAA,gBAA2B,CAAAf,EAAA,SAAAG,EAAA,SAA6BslC,MAAAzlC,EAAAkhE,OAAArkC,QAAwB,CAAA18B,EAAA,SAAce,MAAA,CAAOra,QAAA,CAAWg2C,OAAA78B,EAAA2hB,SAAAw/C,WAA+B,CAAAnhE,EAAAM,GAAA,iDAAAN,EAAAgB,KAAAb,EAAAH,EAAAohE,kBAAA,CAA6FjM,IAAA,YAAAj0D,MAAA,CAAuB+0D,YAAAj2D,EAAA2hB,YAA0B3hB,EAAA2hB,UAAA3hB,EAAA2hB,SAAA0/C,eAAAlhE,EAAA,SAA4DslC,MAAAzlC,EAAAkhE,OAAArkC,QAAwB,CAAA78B,EAAAM,GAAA,SAAAN,EAAAO,GAAAP,EAAA2hB,SAAA0/C,gBAAA,UAAArhE,EAAAgB,MAAA,IAC1rBsgE,GAAe,gBCDfC,GAAM,WAAgB,IAAAvhE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,gBAAoCe,MAAA,CAAOsgE,cAAA,GAAAC,QAAA,GAAA7jF,QAAAoiB,EAAA0hE,YAAAC,OAAA3hE,EAAA4hE,YAAgFrlB,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mCAA6Do8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,eAAAliB,SAAA,SAAA+iB,GAAoDb,EAAA6hE,eAAAhhE,GAAuBE,WAAA,oBAA8Bf,EAAA0hE,YAAA,OAAAvhE,EAAA,OAAAH,EAAA,eAAAG,EAAA,iBAA8Ee,MAAA,CAAO4gE,YAAA9hE,EAAA6hE,kBAAgC7hE,EAAAgB,MAAA,GAAAhB,EAAAgB,MAAA,IACjjB+gE,GAAe,gBCDfC,GAAM,WAAgB,IAAAhiE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,UAAoB4lC,IAAA,YACzGk8B,GAAe,mDCQnBC,GAAA,CACAr4E,MAAA,CACA,YAEA+Y,SAAA,CACAu/D,eADA,WAEA,OAAA74E,OAAAy9C,GAAA,WAAAz9C,CAAApY,KAAAkxF,SAAAD,eAAA,WAEAE,UAJA,WAIA,IAAAr2E,EAAA9a,KACA6I,EAAA,GACAuoF,EAAA,CACA9nF,MAAAtJ,KAAAuvB,MAAAy7B,UAAA,oCACA3gD,YAAA,UACAzB,KAAA,IAEAyoF,EAAA,CACA/nF,MAAAtJ,KAAAuvB,MAAAy7B,UAAA,uCACA3gD,YAAA,UACAzB,KAAA,CACA,CACAzH,EAAAmwF,KAAAtxF,KAAAkxF,SAAAK,eACAniF,EAAApP,KAAAuvB,MAAA9C,MAAAzsB,KAAAuvB,MAAAC,OAAAxvB,KAAAkxF,SAAAM,KAAA,mBAiBA,OAZAxxF,KAAAixF,eAAA9nF,IAAA,SAAA0D,GAAA,OACA1L,EAAAmwF,KAAAzkF,EAAA4kF,MACAriF,EAAA0L,EAAAyU,MAAA9C,MAAA3R,EAAAyU,MAAAC,OAAA3iB,EAAA6kF,UAAAC,KAAA,mBAGAP,EAAAxoF,KAAA5I,KAAAixF,eAAA9nF,IAAA,SAAA0D,GAAA,OACA1L,EAAAmwF,KAAAzkF,EAAA4kF,MACAriF,EAAA0L,EAAAyU,MAAA9C,MAAA3R,EAAAyU,MAAAC,OAAA3iB,EAAA6kF,UAAAC,KAAA,mBAGA9oF,EAAA,CAAAwoF,EAAAD,GAEA,CACAlrF,KAAA,OACA0C,KAAA,CAEAC,YAEA6D,QAAA,CACAy1B,OAAA,CACAC,MAAA,EACA8iC,MAAA,CACAgE,YAAA,GACA0oB,YAAA,IAEA1rF,KAAA,SAEAm8B,MAAA,EACA6iC,MAAA,CACA2sB,aAAA,EACAC,aAAA,GAEAC,WAAA,CACAjqF,SAAA,EACAkqF,YAAA,OACA5kF,UAAA,eAQAsqB,MAAA,CACAw5D,SADA,WAEAlxF,KAAAwI,OACAxI,KAAAwI,MAAA4nC,UAEApwC,KAAAwI,MAAA,IAAAypF,GAAA3xF,EAAAN,KAAA+1D,MAAAjmD,OAAA9P,KAAAmxF,aAGApmF,aA7EA,WA8EA/K,KAAAwI,MAAA0pF,gBAEAC,QAhFA,WAiFAnyF,KAAAwI,MAAA4pF,cAEA98D,cAnFA,WAoFAt1B,KAAAwI,OACAxI,KAAAwI,MAAA4nC,WAGAjb,QAxFA,WAyFAn1B,KAAAwI,MAAA,IAAAypF,GAAA3xF,EAAAN,KAAA+1D,MAAAjmD,OAAA9P,KAAAmxF,aClGibkB,GAAA,GCO7aC,GAAYl6E,OAAA2Z,EAAA,KAAA3Z,CACdi6E,GACAvB,GACAC,IACF,EACA,KACA,WACA,MAIewB,GAAAD,qkBCMf,IAAAE,GAAA,CACAn/D,WAAA,CACAk/D,iBACAE,gBAAA,MAEA95E,MAAA,CACA64E,KAAA,CACAtrF,KAAArE,MACAm1B,UAAA,IAGApuB,KAXA,WAYA,OACA+nF,eAAA,OAGAj/D,SAAA,CACA8+D,YADA,WAEA,OAAAxwF,KAAAwxF,KAAA9yE,MAAA,SAAAvP,GAAA,cAAAA,EAAA4iC,cACA/xC,KAAAwxF,KAAAroF,IAAA,SAAAgG,GACA,IAAA8zD,EAAAquB,KAAAniF,EAAAoiF,eAAAtuB,OAEA,OAAiByvB,GAAA,GACjBvjF,EADA,CAEA8zD,OACAz4D,GAAA,GAAAkK,OAAAuuD,EAAA,KAAAvuD,OAAAvF,EAAA4iC,iBAIA,IAGA2+C,WAhBA,WAgBA,IAAA51E,EAAA9a,KACA,OACAqJ,KAAA,SAAA8F,GAAA,OAAA2L,EAAAyU,MAAAy7B,UAAA,0BAAAt2C,OAAAvF,EAAA4iC,YAAA,WACA9rC,MAAA,SAAAkJ,GAAA,OAAAA,EAAA3E,IACAlB,MAAA,SAAA6F,GAAA,OAAAA,EAAA8zD,UC5D+b0vB,GAAA,GCO3bC,GAAYx6E,OAAA2Z,EAAA,KAAA3Z,CACdu6E,GACAtC,GACAQ,IACF,EACA,KACA,WACA,MAIegC,GAAAD,WClBXE,GAAM,WAAgB,IAAAhkE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,SAAAH,EAAAM,GAAA,4CACrF2jE,GAAe,GCQnBC,GAAA,CACA3/D,WAAA,CACAE,UAAA,MAEA5a,MAAA,CACA83B,SAAA,CACAvqC,KAAAkS,UCfkc66E,GAAA,GCO9bC,GAAY96E,OAAA2Z,EAAA,KAAA3Z,CACd66E,GACAH,GACAC,IACF,EACA,KACA,WACA,MAIeI,GAAAD,WClBXE,GAAM,WAAgB,IAAAtkE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAAA,EAAA,SAAiCe,MAAA,CAAOra,QAAA,CAAWg2C,OAAA78B,EAAA2hB,SAAAw/C,WAA+B,CAAAnhE,EAAAM,GAAA,gDACvKikE,GAAe,GCQnBC,GAAA,CACAjgE,WAAA,CACAE,UAAA,MAEA5a,MAAA,CACA83B,SAAA,CACAvqC,KAAAkS,UCfscm7E,GAAA,GCOlcC,GAAYp7E,OAAA2Z,EAAA,KAAA3Z,CACdm7E,GACAH,GACAC,IACF,EACA,KACA,WACA,MAIeI,GAAAD,WClBXE,GAAM,WAAgB,IAAA5kE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,uBAA2Co8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qCAA+Do8C,OAAA,MAAe,CAAAv8C,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,iBAAAH,EAAA,SAAAH,EAAAM,GAAA,iCAAAN,EAAAO,GAAAP,EAAA2hB,SAAAkjD,iBAAA,UAAA1kE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmjD,gBAAA,qBAAA3kE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,2CAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAAojD,mBAAA,qBAAA5kE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAAqjD,oBAAA,qBAAA7kE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAsjD,cAAA,qBAAA9kE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAujD,kBAAA,qBAAAllE,EAAA2hB,SAAA,mBAAAxhB,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,4CAAAN,EAAAM,GAAA,mBAAAN,EAAAM,GAAA,aAAAN,EAAAO,GAAAP,EAAA2hB,SAAA+zC,mBAAA,aAAA11D,EAAAgB,MAAA,KAAAhB,EAAA2hB,SAAAwjD,0BAAAnlE,EAAA2hB,SAAAwjD,yBAAA9xF,OAAA8sB,EAAA,uBAAi7Co8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,iDAA2Eo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAAyjD,YAAA,cAAAjlE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,qCAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAA0jD,YAAA,cAAAllE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,gDAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAA2jD,4BAAA,cAAAnlE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,oDAAAN,EAAAM,GAAA,iBAAAN,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA2hB,SAAA4jD,yCAAA,cAAAplE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,mDAAAN,EAAAM,GAAA,iBAAAH,EAAA,OAA6yBE,YAAA,cAAyBL,EAAAsC,GAAAtC,EAAA2hB,SAAAwjD,yBAAA3xF,MAAA,EAAAwsB,EAAA2hB,SAAAwjD,yBAAA9xF,OAAA,YAAAgN,EAAAxO,GAAyH,OAAAsuB,EAAA,QAAkBjW,IAAArY,GAAM,CAAAmuB,EAAAM,GAAA,eAAAN,EAAAO,GAAAP,EAAA2hB,SAAAwjD,yBAAA9xF,OAAAxB,EAAA,SAAAmuB,EAAAO,GAAAP,EAAAS,MAAAC,OAAArgB,IAAA,MAAA2f,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAwjD,yBAAAtzF,EAAA,wBAAqN,OAAAmuB,EAAAgB,KAAAb,EAAA,uBAA4Co8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8CAAwEo8C,OAAA,MAAe18C,EAAAsC,GAAAtC,EAAA2hB,SAAA,iBAAA6jD,EAAA3zF,GAAiD,OAAAsuB,EAAA,OAAiBjW,IAAArY,GAAM,CAAAsuB,EAAA,cAAmBe,MAAA,CAAOukE,UAAAD,MAAiB,KAAM,GAAArlE,EAAA,uBAA+Bo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,0CAAoEo8C,OAAA,MAAe18C,EAAAsC,GAAAtC,EAAA2hB,SAAA,uBAAA6jD,EAAA3zF,GAAuD,OAAAsuB,EAAA,OAAiBjW,IAAArY,GAAM,CAAAsuB,EAAA,cAAmBe,MAAA,CAAOukE,UAAAD,MAAiB,KAAM,GAAAxlE,EAAA,SAAAG,EAAA,+BAAsDe,MAAA,CAAOwhE,KAAA1iE,EAAAoiE,YAAqBpiE,EAAAgB,KAAAhB,EAAA2hB,SAAA+jD,wBAAA1lE,EAAA2hB,SAAA+jD,uBAAAryF,OAAA,CAAA8sB,EAAA,MAAAA,EAAA,uBAAmIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yCAAmEo8C,OAAA,IAAY,qBAAyB18C,EAAAsC,GAAAtC,EAAA2hB,SAAA,gCAAAgkD,EAAA9zF,GAAsE,OAAAsuB,EAAA,OAAiBjW,IAAArY,GAAM,CAAAmuB,EAAAM,GAAA,aAAAN,EAAAO,GAAAolE,EAAAC,UAAA,KAAA5lE,EAAAO,GAAAolE,EAAAxuF,OAAA,gBAAgG,IAAA6oB,EAAAgB,MAAA,IAChrI6kE,GAAe,GCDfC,GAAM,WAAgB,IAAA9lE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBslC,MAAAzlC,EAAAkhE,OAAA3mF,MAAsB,QAAAylB,EAAA+lE,OAAA5lE,EAAA,SAAAH,EAAAM,GAAA,uCAAAH,EAAA,SAA8Fe,MAAA,CAAOra,QAAA,CACrOxP,KAAA2oB,EAAA+lE,OAAAC,SACArD,KAAA3iE,EAAAS,MAAAC,OAAAV,EAAA+lE,OAAAtD,cAAA,eACS,CAAAziE,EAAAM,GAAA,+DAAAN,EAAA+lE,OAAA,iBAAA5lE,EAAA,QAAAH,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAA+lE,OAAAE,kBAAA,OAAAjmE,EAAAgB,KAAAhB,EAAA+lE,OAAA,cAAA5lE,EAAA,SAAuNe,MAAA,CAAOra,QAAA,CAAWq/E,MAAAlmE,EAAAS,MAAAC,OAAAV,EAAA+lE,OAAAI,aAAAC,cAA6D,CAAApmE,EAAAM,GAAA,iCAAAH,EAAA,SAAsDe,MAAA,CAAOra,QAAA,CAAW67E,KAAA1iE,EAAAS,MAAAC,OAAAV,EAAA+lE,OAAAI,aAAAE,aAA2D,CAAArmE,EAAAM,GAAA,gCAAAN,EAAAgB,OAAA,IAC9aslE,GAAe,GCkBnBC,GAAA,CACA18E,MAAA,CACAk8E,OAAAz8E,SCxB2dk9E,GAAA,gBCQ3d,SAAAC,GAAA5/E,GAEA3V,KAAA,UAAoBw1F,GAAA,WAAMC,QAAWD,GAAA,WAMrC,IAAIE,GAAYt9E,OAAA2Z,EAAA,KAAA3Z,CACdk9E,GACAV,GACAQ,IACF,EACAG,GACA,KACA,MAIeI,GAAAD,WCwGfE,GAAA,CACAviE,WAAA,CACAw/D,+BACAxJ,uBACAsM,eAEAtjE,OAAA,CACA6zD,EAAA,MAEAvtE,MAAA,CACA83B,SAAAr4B,QAEAsZ,SAAA,CACAw/D,SADA,WAEA,OAAAlxF,KAAAywC,SAAAolD,cAAAj3E,KAAA,SAAAzP,GAAA,OAAAA,EAAA8lF,eAEAj1F,KAAAywC,SAAAolD,cAAA1sF,IAAA,SAAAmrF,GAAA,OACAviD,YAAAuiD,EAAAW,aAAAljD,YACAw/C,cAAA+C,EAAA/C,cACAC,KAAA8C,EAAAW,aAAAE,SACAlE,eAAAqD,EAAAW,aAAAhE,kBANA,QCjJgd6E,GAAA,GCQ5cC,cAAY39E,OAAA2Z,EAAA,KAAA3Z,CACd09E,GACApC,GACAiB,IACF,EACA,KACA,WACA,OAIeqB,GAAAD,WCnBXE,GAAM,WAAgB,IAAAnnE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,iBAA2Be,MAAA,CAAO+0D,YAAAj2D,EAAA2hB,UAAyB46B,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,uBAAkCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uDAAiFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAYslC,MAAAzlC,EAAAkhE,OAAAtjF,SAAyB,CAAAuiB,EAAA,SAAce,MAAA,CAAOra,QAAA,CACjbupB,OAAApQ,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAylD,mBAAAxpF,QAAAypF,uBAAA,YACAC,eAAAtnE,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAylD,mBAAAxpF,QAAA2pF,uBAAA,WACAC,QAAAxnE,EAAAS,MAAAC,OAAAV,EAAAwnE,QAAA,MACAC,QAAAznE,EAAAS,MAAAC,OAAAV,EAAAynE,QAAA,MACAC,eAAA1nE,EAAAS,MAAAC,OAAAV,EAAA0nE,eAAA,MACAC,eAAA3nE,EAAAS,MAAAC,OAAAV,EAAA2nE,eAAA,SACa,CAAA3nE,EAAAM,GAAA,8EAAAH,EAAA,SAAmGe,MAAA,CAAOra,QAAA,CACvH+gF,iBAAA5nE,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAylD,mBAAAxpF,QAAAgqF,iBAAA,WACAC,YAAA7nE,EAAAS,MAAAC,OAAAV,EAAA2hB,SAAAylD,mBAAAxpF,QAAAkqF,sCAAA,SACa,CAAA9nE,EAAAM,GAAA,oFAAAH,EAAA,uBAAuHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uDAAiFo8C,OAAA,MAAe,CAAAv8C,EAAA,gBAAqBe,MAAA,CAAOugE,QAAA,GAAA7jF,QAAAoiB,EAAA2hB,SAAAylD,mBAAAW,qBAAApG,OAAA3hE,EAAAgoE,iBAAyGzrB,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8CAAwEo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,2BAAAliB,SAAA,SAAA+iB,GAAgEb,EAAAioE,2BAAApnE,GAAmCE,WAAA,gCAA0CZ,EAAA,sBAA2Be,MAAA,CAAOgnE,QAAAloE,EAAAioE,+BAA0C,KAAOvrB,OAAA,GAAY,CAAExyD,IAAA,kBAAAuyD,GAAA,SAAA1W,GACrxB,IAAAnd,EAAAmd,EAAAnd,MACA,OAAAzoB,EAAA,oCAA+Ce,MAAA,CAAO0nB,QAAAu/C,WAAAnoE,EAAAooE,YAAAx/C,EAAA,kBAAAA,EAAA,kBAAoG,CAAE1+B,IAAA,YAAAuyD,GAAA,WAA8B,OAAAt8C,EAAA,QAAAA,EAAA,SAA+Be,MAAA,CAAOra,QAAA,CAChOwhF,UAAAroE,EAAAS,MAAAC,OAAAV,EAAAqoE,UAAA,SACW,CAAAroE,EAAAM,GAAA,6EAAqFo8C,OAAA,QAC5F4rB,GAAe,GCffC,GAAM,WAAgB,IAAAvoE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAAA,EAAA,2BAAgDe,MAAA,CAAO0nB,MAAA5oB,EAAA4oB,SAAmB5oB,EAAA,WAAAG,EAAA,QAAAA,EAAA,SAA0Ce,MAAA,CAAOra,QAAA,CACpN2hF,MAAAxoE,EAAAS,MAAAC,OAAAV,EAAAmoE,WAAA,SACS,CAAAnoE,EAAAM,GAAA,mEAAAN,EAAAgB,MAAA,IACLynE,GAAe,GCHfC,GAAM,WAAgB,IAAA1oE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAAA,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA4oB,MAAA65C,cAAA,YAAAziE,EAAAM,GAAA,SAAAH,EAAA,QAA4HslC,MAAAzlC,EAAAkhE,OAAA9yE,OAAA8S,MAAA,CAA+Bo0D,MAAAt1D,EAAA4oB,MAAA+/C,aAA8B,CAAA3oE,EAAAM,GAAA,SAAAN,EAAAO,GAAAP,EAAA4oE,aAAA5oE,EAAA4oB,MAAA+/C,aAAA,UAAA3oE,EAAAM,GAAA,UAC9QuoE,GAAe,GCSnBC,GAAA,CACAj/E,MAAA,CACA++B,MAAA,CACAxxC,KAAAkS,OACA4e,UAAA,IAGAtF,SAAA,CACAgmE,aADA,WAEA,OACAG,kCAAA,SACAC,UAAA,SACAC,QAAA,IACAC,SAAA,KACAC,MAAA,QCxBweC,GAAA,gBCQxe,SAASC,GAAYxiF,GAErB3V,KAAA,UAAoBo4F,GAAA,WAAM3C,QAAW2C,GAAA,WAMrC,IAAIC,GAAYjgF,OAAA2Z,EAAA,KAAA3Z,CACd8/E,GACAV,GACAG,IACF,EACEQ,GACF,KACA,MAIeG,GAAAD,WCTfE,GAAA,CACAllE,WAAA,CACAilE,4BAEA3/E,MAAA,CACA++B,MAAA,CACAxxC,KAAAkS,OACA4e,UAAA,GAEAigE,WAAA,MAEAvlE,SAAA,IC7Bif8mE,GAAA,GCO7eC,GAAYrgF,OAAA2Z,EAAA,KAAA3Z,CACdogF,GACAnB,GACAE,IACF,EACA,KACA,KACA,MAIemB,GAAAD,WClBXE,GAAM,WAAgB,IAAA7pE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBslC,MAAAzlC,EAAAkhE,OAAAgH,SAAyB,CAAA/nE,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,gDAAAH,EAAA,uBAAwGo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uCAAiEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAYslC,MAAAzlC,EAAAkhE,OAAA4I,YAA4B,CAAA3pE,EAAA,QAAAA,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAgP,KAAAC,UAAAxP,EAAA+pE,mBAAA/pE,EAAA2hB,SAAAmoD,WAAA9pE,EAAAgqE,iBAAA,gBAAA7pE,EAAA,cAA+Je,MAAA,CAAOwkC,OAAA,IAAY9kC,MAAA,CAAQzpB,MAAA6oB,EAAA,mBAAAliB,SAAA,SAAA+iB,GAAwDb,EAAA+pE,mBAAAlpE,GAA2BE,WAAA,uBAAkC,CAAAZ,EAAA,SAAAH,EAAAM,GAAA,4DAAAH,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,qDAAAN,EAAAoD,GAAA,UAAAjD,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,sDAAAH,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,wCAAAN,EAAAM,GAAA,aAAAH,EAAA,SAAAH,EAAAM,GAAA,iCAAAN,EAAAO,GAAAP,EAAA2hB,SAAAsoD,iBAAAC,kBAAA/pE,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,yCAAAN,EAAAM,GAAA,aAAAN,EAAAM,GAAA,OAAAN,EAAAO,GAAAP,EAAA2hB,SAAAsoD,iBAAAE,mBAAA,UAAAhqE,EAAA,uBAAipBo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8CAAwEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAYslC,MAAAzlC,EAAAkhE,OAAAkJ,OAAuBpqE,EAAAsC,GAAAtC,EAAA2hB,SAAAsoD,iBAAA,yBAAArhD,EAAA/2C,GAC7/C,IAAAw4F,EACA,OAAAlqE,EAAA,OAAiBjW,IAAArY,EAAA4zD,OAAA4kC,EAAA,GAAuBA,EAAArqE,EAAAkhE,OAAAoJ,UAAAtqE,EAAA2hB,SAAAsoD,iBAAAM,WAAAxqD,KAAA,SAAA1/B,GAA0F,OAAAA,EAAAoiF,gBAAA75C,EAAA65C,eAAApiF,EAAAsoF,aAAA//C,EAAA+/C,aAAuF0B,IAAU,CAAArqE,EAAAoD,GAAA,wBAAiCwlB,WAAc,KAAM,GAAA5oB,EAAAoD,GAAA,iBAAApD,EAAA2hB,SAAAsoD,iBAAAO,aAAA,OAAArqE,EAAA,uBAA2Go8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yCAAmEo8C,OAAA,IAAY,qBAAyB18C,EAAAsC,GAAAtC,EAAA2hB,SAAAsoD,iBAAA,sBAAAtE,EAAA9zF,GAA6E,OAAAsuB,EAAA,OAAiBjW,IAAArY,GAAM,CAAAmuB,EAAAM,GAAA,WAAAN,EAAAO,GAAAolE,EAAAt6E,KAAAo3E,cAAAgI,UAAA,YAAAzqE,EAAAO,GAAAolE,EAAAr6E,GAAAm3E,cAAAgI,UAAA,WAAAzqE,EAAAO,GAAAP,EAAAS,MAAAC,OAAAilE,EAAA+E,uBAAA,mBAAA/E,EAAA+E,wBAAA1qE,EAAA2hB,SAAAsoD,iBAAAU,mBAAAxqE,EAAA,QAAAH,EAAAM,GAAA,QAAAH,EAAA,QAAAH,EAAAM,GAAA,WAAwW,GAAAN,EAAAgB,MAAA,IACn+B4pE,GAAe,gBCoEnBC,GAAA,CACAtmE,WAAA,CACAC,cAAA,KACA+1D,wBAEA1wE,MAAA,CACA83B,SAAA,CACAvqC,KAAAkS,OACA4e,UAAA,IAGApuB,KAXA,WAYA,OACAiwF,oBAAA,IAGAnnE,SAAA,CACAonE,iBADA,WACA,IAAAh+E,EAAA9a,KACA45F,EAAA,CACA,WACA,eACA,gBACA,kBAGA,OAAAxhF,OAAA2C,KAAA/a,KAAAywC,SAAAmoD,YAAA9kE,OAAA,SAAApuB,EAAAsT,GAKA,OAJAtT,EAAAsT,GAAA4gF,EAAAvlE,SAAArb,GACA,MACA8B,EAAA21B,SAAAmoD,WAAA5/E,GAEAtT,GACA,OCtG8dm0F,GAAA,gBCQ9d,SAASC,GAAYnkF,GAErB3V,KAAA,UAAoB+5F,GAAA,WAAMtE,QAAWsE,GAAA,WAMrC,IAAIC,GAAY5hF,OAAA2Z,EAAA,KAAA3Z,CACdyhF,GACAlB,GACAe,IACF,EACEI,GACF,KACA,MAIeG,GAAAD,WC3BXE,GAAM,WAAgB,IAAAprE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBslC,MAAAzlC,EAAAkhE,OAAAgH,SAAyB,CAAA/nE,EAAA,SAAce,MAAA,CAAOra,QAAA,CACxJwkF,MAAArrE,EAAAkoE,QAAAoD,gBAAAj4F,OACAk4F,OAAAvrE,EAAAkoE,QAAAoD,gBAAA14F,OAAA,SAAAyN,GAA+D,oBAAAA,EAAAmrF,UAAoCn4F,UAC5F,CAAA2sB,EAAAM,GAAA,iEAAAH,EAAA,iBAA8Fe,MAAA,CAAO4gE,YAAA9hE,EAAAoiE,aAA0B,IAClIqJ,GAAe,GCcnBC,cAAA,CACAnnE,WAAA,CACAk/D,kBAEA55E,MAAA,CACAq+E,QAAA,CACA9wF,KAAAkS,OACA4e,UAAA,IAGAtF,SAAA,CACAw/D,SADA,WAEA,IAAAuJ,EAAAz6F,KAAAg3F,QAAAoD,gBAAA14F,OAAA,SAAAyN,GAAA,oBAAAA,EAAAmrF,UAKA,OAJAG,EAAAz1F,KAAA,SAAA1E,EAAAC,GACA,OAAAD,EAAAixF,cAAAmJ,cAAAn6F,EAAAgxF,iBAGA,CACAx/C,YAAA/xC,KAAAg3F,QAAArlD,YAAAI,YACAw/C,cAAAvxF,KAAAg3F,QAAA2D,cAAApJ,cACAC,KAAAxxF,KAAAg3F,QAAA2D,cAAAnJ,KAAAG,KACAV,eAAAwJ,EAAAtxF,IAAA,SAAAgG,GAAA,OACAsiF,KAAAtiF,EAAAoiF,cACAG,UAAA,CAAAC,KAAAxiF,EAAAqiF,KAAAG,cCzCmeiJ,GAAA,gBCQne,SAASC,GAAYllF,GAErB3V,KAAA,UAAoB86F,GAAA,WAAMrF,QAAWqF,GAAA,WAMrC,IAAIC,GAAY3iF,OAAA2Z,EAAA,KAAA3Z,CACdwiF,GACAV,GACAK,IACF,EACEM,GACF,KACA,MAIeG,GAAAD,WCiDfE,GAAA,CACA5nE,WAAA,CACAo/D,gBAAA,KACApJ,uBACA2R,sBACAf,iBACAvB,qCAEA//E,MAAA,CACA83B,SAAAr4B,QAEAxP,KAXA,WAYA,OACAmuF,2BAAA/2F,KAAAywC,SAAAylD,mBAAAW,qBAAA,KAGAnlE,SAAA,CACAolE,gBADA,WACA,IAAAh8E,EAAA9a,KACA,OACAqJ,KAAA,SAAA8F,GAAA,OAAA2L,EAAAyU,MAAAy7B,UAAA,0BAAAt2C,OAAAvF,EAAAwiC,YAAAI,YAAA,WACA9rC,MAAA,SAAAuuB,GAAA,IAAA0mE,EAAA1mE,EAAAmd,YAAAI,EAAAmpD,EAAAnpD,YAAAopD,EAAAD,EAAAC,YAAA,SAAAzmF,OAAAymF,EAAA,KAAAzmF,OAAAq9B,IACAzoC,MAAA,SAAA6F,GAAA,OAAAA,EAAAwiC,YAAAwpD,eAGAjE,YARA,WAQA,IAAAj8E,EAAAjb,KACA+a,EAAA3C,OAAA2C,KAAA/a,KAAAywC,SAAAylD,mBAAAW,sBACAuE,EAAA,GAOA,OANArgF,EAAAjE,QAAA,SAAAkC,GACA,IAAAohF,EAAAn/E,EAAAw1B,SAAAylD,mBAAAW,qBAAA79E,GAAAohF,gBACAA,EAAAtjF,QAAA,SAAA4gC,GACA0jD,EAAA,GAAA1mF,OAAAgjC,EAAA65C,cAAA,KAAA78E,OAAAgjC,EAAA+/C,aAAA//C,EAAA85C,KAAA8F,UAGA8D,GAEAjE,UAnBA,WAmBA,IAAA77E,EAAAtb,KACAq5F,EAAAr5F,KAAAywC,SAAAsoD,iBAAAM,WACA1H,EAAA,EAKA,OAJA0H,EAAAviF,QAAA,SAAA4gC,GACAi6C,GAAAr2E,EAAA47E,YAAA,GAAAxiF,OAAAgjC,EAAA65C,cAAA,KAAA78E,OAAAgjC,EAAA+/C,eAGA9F,EAAA0H,EAAAl3F,QAEAm0F,QA5BA,WA6BA,IAAA5pF,EAAA1M,KAAAywC,SAAAylD,mBAAAxpF,QAEA,OAAAA,EAAA2uF,sBAAA,OAEA9E,QAjCA,WAkCA,IAAA7pF,EAAA1M,KAAAywC,SAAAylD,mBAAAxpF,QAEA,OAAAA,EAAA4uF,sBAAA,OAEA9E,eAtCA,WAuCA,IAAA9pF,EAAA1M,KAAAywC,SAAAylD,mBAAAxpF,QAEA,OAAAA,EAAA6uF,6BAAA,OAEA9E,eA3CA,WA4CA,IAAA/pF,EAAA1M,KAAAywC,SAAAylD,mBAAAxpF,QAEA,OAAAA,EAAA8uF,6BAAA,SC1I8cC,GAAA,gBCQ9c,SAASC,GAAY/lF,GAErB3V,KAAA,UAAoB27F,GAAA,WAAMlG,QAAWkG,GAAA,WAMrC,IAAIC,GAAYxjF,OAAA2Z,EAAA,KAAA3Z,CACdqjF,GACAxF,GACAmB,IACF,EACEsE,GACF,KACA,MAIeG,GAAAD,WC3BXE,GAAM,WAAgB,IAAAhtE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,iBAA2Be,MAAA,CAAO+0D,YAAAj2D,EAAA2hB,UAAyB46B,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,OAAkBslC,MAAAzlC,EAAAkhE,OAAA+L,QAAwBjtE,EAAAsC,GAAAtC,EAAA2hB,SAAAmoD,WAAA,wBAAAlhD,EAAA/2C,GAAmE,OAAAsuB,EAAA,2BAAqCjW,IAAArY,EAAAqvB,MAAA,CAAa0nB,aAAiB,KAAM8zB,OAAA,GAAY,CAAExyD,IAAA,kBAAAuyD,GAAA,SAAA1W,GACzY,IAAAnd,EAAAmd,EAAAnd,MACA,OAAAzoB,EAAA,2BAAsCe,MAAA,CAAO0nB,mBACzCskD,GAAe,GCiBnBC,GAAA,CACA5oE,WAAA,CACA4mE,iBACA3B,4BAEA3/E,MAAA,CACA83B,SAAAr4B,SC1Bid8jF,GAAA,gBCQjd,SAASC,GAAYxmF,GAErB3V,KAAA,UAAoBo8F,GAAA,WAAM3G,QAAW2G,GAAA,WAMrC,IAAIC,GAAYjkF,OAAA2Z,EAAA,KAAA3Z,CACd8jF,GACAJ,GACAE,IACF,EACEG,GACF,KACA,MAIeG,GAAAD,WC3BXE,GAAM,WAAgB,IAAAztE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,iBAA2Be,MAAA,CAAO+0D,YAAAj2D,EAAA2hB,UAAyB46B,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,2BAAsCe,MAAA,CAAO0nB,MAAA5oB,EAAA2hB,SAAAmoD,WAAA+B,mBAAkDnvB,OAAA,GAAY,CAAExyD,IAAA,kBAAAuyD,GAAA,SAAA1W,GAClT,IAAAnd,EAAAmd,EAAAnd,MACA,OAAAzoB,EAAA,2BAAsCe,MAAA,CAAO0nB,mBACzC8kD,GAAe,GCYnBC,GAAA,CACAppE,WAAA,CACA4mE,iBACA3B,4BAEA3/E,MAAA,CACA83B,SAAAr4B,SCrBidskF,GAAA,GCO7cC,GAAYvkF,OAAA2Z,EAAA,KAAA3Z,CACdskF,GACAH,GACAC,IACF,EACA,KACA,KACA,MAIeI,GAAAD,WCgBfE,GAAA,CACAxpE,WAAA,CACAw/D,+BACAxJ,uBACA91D,UAAA,KACAo4C,sBAAA,MAEAt5C,OAAA,CACA6zD,EAAA,MAEAvtE,MAAA,CACA83B,SAAAr4B,QAEAxP,KAbA,WAcA,OACAmnF,aAAA,IAGAr+D,SAAA,CACAw+D,kBADA,WAEA,OAAAlwF,KAAAywC,SAAAw/C,SAEA,iFACA,iFACA,iFACA,iFACA,iFACA,mFACA,OAAA+F,GACA,+EACA,+EACA,+EACA,OAAA6F,GACA,kFACA,OAAAS,GACA,kFACA,OAAAM,GACA,UACA,OAAAzJ,GACA,QACA,OAAAM,OC1EmbqJ,GAAA,gBCQnb,SAASC,GAAYpnF,GAErB3V,KAAA,UAAoBg9F,GAAA,WAAMvH,QAAWuH,GAAA,WAMrC,IAAIC,GAAY7kF,OAAA2Z,EAAA,KAAA3Z,CACd0kF,GACAhN,GACAM,IACF,EACE2M,GACF,KACA,MAIeG,GAAAD,WC3BXE,GAAM,WAAgB,IAAAruE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mFAA6Go8C,OAAA,GAAY,CAAExyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,YAAuBe,MAAA,CAAO40D,MAAA,GAAAQ,OAAA,IAAuBz0D,GAAA,CAAKC,MAAA,SAAAkb,GAAyBhd,EAAAq8C,YAAA,KAAyB,CAAAl8C,EAAA,SAAAH,EAAAM,GAAA,kEAAAH,EAAA,YAAsGe,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA9B,EAAAsuE,SAAoB,CAAAnuE,EAAA,SAAAH,EAAAM,GAAA,gFAAAH,EAAA,uBAA+He,MAAA,CAAO0pB,QAAA5qB,EAAA47D,YAAyBlf,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,WAAAliB,SAAA,SAAA+iB,GAAgDb,EAAAq8C,WAAAx7C,GAAmBE,WAAA,eAA0B,CAAAZ,EAAA,WAAgBe,MAAA,CAAO9pB,KAAA,YAAkB,CAAA+oB,EAAA,SAAAH,EAAAM,GAAA,yEAAAH,EAAA,uBAAwHe,MAAA,CAAO7pB,KAAA,kBAAAiqB,WAAAtB,EAAAuB,QAAAgtE,aAAA,GAAA/M,cAAA,GAAAt5D,SAAA,IAA+Fq0C,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wEAAkGo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,gBAAAliB,SAAA,SAAA+iB,GAAqDb,EAAAwuE,gBAAA3tE,GAAwBE,WAAA,sBAA+B,IACz1C0tE,GAAe,ulBC+CnB,IAAAC,GAAA,CACAnqE,WAAA,CACAE,UAAA,KACAwyD,WAAA,KACA0X,WAAA,KACAC,uBAAA,KACAnQ,uBAAA,MAEAl7D,OAAA,CACAm7D,GAAA,MAEA70E,MAAA,CACA1S,MAAAkmC,SAEAvjC,KAdA,WAeA,OACA00F,gBAAA,KACA5S,QAAA,IAGAh5D,SAAAisE,GAAA,CACAxyB,WAAAU,EAAA,MACAzzD,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,YAHA,GAKAA,OAAAyzD,EAAA,KAAAzzD,CAAA,CACA,6DAGAmc,QAAAopE,GAAA,GACAvlF,OAAA8e,EAAA,KAAA9e,CAAA,2DACA,aAFA,CAIAglF,OAJA,eAAAQ,EAAAxlF,OAAAmuE,EAAA,KAAAnuE,CAAAouE,mBAAAC,KAAA,SAAAC,IAAA,IAAA4W,EAAAO,EAAA,OAAArX,mBAAAG,KAAA,SAAAC,GAAA,eAAAA,EAAA1iF,KAAA0iF,EAAA/qE,MAAA,cAKA7b,KAAAovF,WALAxI,EAAA/qE,KAAA,EAOA7b,KAAAqvF,YAPA,UASA,YAAArvF,KAAAo3B,MATA,CAAAwvD,EAAA/qE,KAAA,eAUAmwD,GAAA,iBAAA8xB,QAAA99F,KAAA+9F,cAAAC,iBAVApX,EAAA0I,OAAA,wBAcAtvF,KAAA0qF,QAAA,EAdA9D,EAAA1iF,KAAA,EAiBAo5F,EAAAt9F,KAAAs9F,gBACAO,EAAA79F,KAAAgoF,OAAAzK,OAAA4R,MAlBAvI,EAAA/qE,KAAA,GAmBA7b,KAAAi+F,SAAA,CAAAX,kBAAAO,oBAnBA,QAoBA7xB,GAAA,iBAAAwjB,QAAAxvF,KAAA+9F,cAAAG,aApBAtX,EAAA/qE,KAAA,iBAAA+qE,EAAA1iF,KAAA,GAAA0iF,EAAA6I,GAAA7I,EAAA,YAsBApsD,QAAAw/C,MAAA4M,EAAA6I,IACAzjB,GAAA,iBAAAgO,MAAAh6E,KAAA+9F,cAAAI,WAvBA,eAAAvX,EAAA1iF,KAAA,GAyBAlE,KAAA0qF,QAAA,EACA1qF,KAAAs9F,gBAAA,KACAt9F,KAAAmrE,YAAA,EA3BAyb,EAAA8I,OAAA,6BAAA9I,EAAAp0E,SAAAk0E,EAAA1mF,KAAA,4BAAAo9F,IAAA,OAAAQ,EAAAr7F,MAAAvC,KAAA4vC,WAAA,OAAAwtD,EAAA,MC7E6bgB,GAAA,GCOzbC,GAAYjmF,OAAA2Z,EAAA,KAAA3Z,CACdgmF,GACAjB,GACAI,IACF,EACA,KACA,WACA,MAIee,GAAAD,klBCoFf,IAAAE,GAAA,CACAlrE,WAAA,CACA4zD,0BACAmB,2BACA8B,wBACA2F,eACAqN,mBACAoB,6BACA7qE,WAAA,KACA+qE,kBAAA,KACAzY,WAAA,KACAxyD,UAAA,KACAkrE,gBAAAC,EAAA,oBAEArsE,OAAA,CACAwsB,GAAA,KACA6uC,EAAA,KACAxH,EAAA,MAEAvtE,MAAA,CACAxP,IAAAiP,QAEAxP,KAtBA,WAuBA,OACAk8E,+BAAA,EACAX,mBAAA,IAGAzyD,SAAAitE,GAAA,GACAvmF,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,YAFA,CAIAksE,MAJA,WAKA,OACAC,QAAAoD,EAAA,MACAiX,QAAAjX,EAAA,KACAkX,MAAAlX,EAAA,MACAlD,aAAAkD,EAAA,SAIApzD,QAAA,CACAswD,uBADA,SACAsK,GACAnvF,KAAA+nF,QAAAnnF,KAAA,CAAAuF,KAAAnG,KAAA+jF,oBAAA,2BAAAxG,OAAAohB,GAAA,GAAA3+F,KAAAgoF,OAAAzK,aCjJkbuhB,GAAA,GCQ9aC,cAAY3mF,OAAA2Z,EAAA,KAAA3Z,CACd0mF,GACA5a,EACAe,GACF,EACA,KACA,WACA,OAIe+Z,GAAAD,qCCnBXE,GAAM,WAAgB,IAAAnwE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,8BAAyC,CAAAL,EAAAq1D,kBAAm1Cr1D,EAAAgB,KAAn1C,CAAAb,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,2BAAAN,EAAAM,GAAA,eAAAH,EAAA,OAAsHE,YAAA,sBAAiC,CAAAF,EAAA,QAAaE,YAAA,YAAuB,CAAAL,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAhD,SAAA2oB,EAAA3lB,IAAAq7E,mBAAA,WAAA11D,EAAA3lB,IAAA2gC,OAAA7a,EAAA,QAAuGe,MAAA,CAAOo0D,MAAAt1D,EAAAS,MAAAy7B,UAAA,qCAAgE,CAAA/7B,EAAA,UAAeE,YAAA,SAAoB,CAAAF,EAAA,SAAAH,EAAAM,GAAA,2CAAAN,EAAAgB,KAAAhB,EAAA3lB,IAAA,OAAA8lB,EAAA,QAAqGe,MAAA,CAAOo0D,MAAAt1D,EAAAS,MAAAy7B,UAAA,mCAA8D,CAAA/7B,EAAA,UAAeE,YAAA,SAAoB,CAAAF,EAAA,SAAAH,EAAAM,GAAA,yCAAAN,EAAAgB,OAAAb,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,gCAAAN,EAAAM,GAAA,eAAAN,EAAAM,GAAA,SAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAAsmB,YAAA,yBAAAX,EAAA3lB,IAAA,cAAA8lB,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,mCAAAN,EAAAM,GAAA,iBAAAH,EAAA,SAAAH,EAAAM,GAAA,mCAAAN,EAAAO,GAAAP,EAAA3lB,IAAAs7E,kBAAA31D,EAAAgB,KAAAb,EAAA,2BAAoee,MAAA,CAAO20D,WAAA71D,EAAA3lB,OAAoB8lB,EAAA,4BAAiCe,MAAA,CAAO20D,WAAA71D,EAAA3lB,OAAoB8lB,EAAA,6BAAkCS,MAAA,CAAOzpB,MAAA6oB,EAAA,8BAAAliB,SAAA,SAAA+iB,GAAmEb,EAAAg2D,8BAAAn1D,GAAsCE,WAAA,oCAA6CZ,EAAA,wBAAuCe,MAAA,CAAO20D,WAAA71D,EAAA3lB,OAAoB2lB,EAAA41D,KAAA,yBAAAz1D,EAAA,eAAwDe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,KAAcumB,MAAA,CAAQzpB,MAAA6oB,EAAA,kBAAAliB,SAAA,SAAA+iB,GAAuDb,EAAAq1D,kBAAAx0D,GAA0BE,WAAA,uBAAiCf,EAAAgB,KAAAb,EAAA,YAA0Be,MAAA,CAAOgB,UAAA,CAAAlC,EAAA3lB,IAAAqB,IAAAymB,WAAA,aAA6CnC,EAAAq1D,kBAAwMr1D,EAAAgB,KAAxM,CAAAhB,EAAA41D,KAAA,oCAAAz1D,EAAA,mBAAiGe,MAAA,CAAO+0D,YAAAj2D,EAAA3lB,IAAAsnC,YAA8B3hB,EAAAgB,KAAAb,EAAA,mBAAiCe,MAAA,CAAOg1D,cAAAl2D,EAAA3lB,IAAAqB,QAA0B,IACjgE00F,GAAe,6jBC8DnB,IAAAC,GAAA,CACA9rE,WAAA,CACA4zD,0BACAmB,2BACA8B,wBACA2F,eACAqN,mBACAoB,6BACA7qE,WAAA,KACA+qE,kBAAA,MAEAnsE,OAAA,CACAwsB,GAAA,KACA6uC,EAAA,KACAxH,EAAA,MAEAvtE,MAAA,CACAxP,IAAAiP,QAEAxP,KAnBA,WAoBA,OACAk8E,+BAAA,EACAX,mBAAA,IAGAzyD,SAAA0tE,GAAA,GACAhnF,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,aAGAmc,QAAA,CACAswD,uBADA,SACAsK,GACAnvF,KAAA+nF,QAAAnnF,KAAA,CAAAuF,KAAAnG,KAAA+jF,oBAAA,2BAAAxG,OAAA6hB,GAAA,GAAAp/F,KAAAgoF,OAAAzK,aC/Fqb8hB,GAAA,GCQjbC,cAAYlnF,OAAA2Z,EAAA,KAAA3Z,CACdinF,GACAJ,GACAC,IACF,EACA,KACA,WACA,OAIeK,GAAAD,WCnBXE,GAAM,WAAgB,IAAA1wE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,8BAAyC,CAAAF,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,6CAAAN,EAAAO,GAAA,eAAAP,EAAA3lB,IAAA,iBAAA8lB,EAAA,iBAAoJe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,OAAe8lB,EAAA,sBAA2Bo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,6BAAAz8C,EAAA3lB,IAAAsuB,UAAA,wBAAA3I,EAAA3lB,IAAAsuB,SAAAxI,EAAA,SAAAH,EAAAM,GAAA,+DAAAH,EAAA,SAAAH,EAAAM,GAAA,wDAA6Po8C,OAAA,MAAe,CAAAv8C,EAAA,OAAYE,YAAA,oBAA+B,CAAAF,EAAA,cAAmBe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,QAAe,KAAA2lB,EAAA3lB,IAAA,aAAA8lB,EAAA,sBAAwDo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uDAAiFo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,gBAAqBe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,QAAe,GAAA2lB,EAAAgB,KAAAhB,EAAA3lB,IAAA,SAAA8lB,EAAA,+BAAAH,EAAA3lB,IAAAsuB,SAAAxI,EAAA,OAAAA,EAAA,sBAA4Ho8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,2BAAgCe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,QAAe,OAAA2lB,EAAAgB,KAAA,sBAAAhB,EAAA3lB,IAAAsuB,SAAAxI,EAAA,OAAAA,EAAA,sBAAiGo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,yBAA8Be,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,QAAe,OAAA2lB,EAAAgB,KAAAhB,EAAA3lB,IAAAsnC,SAAA,WAAAxhB,EAAA,OAAAA,EAAA,sBAAoFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,qBAA0Be,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,QAAe,OAAA2lB,EAAAgB,OAAAhB,EAAAgB,KAAAb,EAAA,gBAAiDe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,IAAAy3B,aAAA,OAA+B,IACr/D6+D,GAAe,gBCDfC,GAAM,WAAgB,IAAA5wE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,OAAAA,EAAA,mBAAiDo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6BAAuDo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAhD,WAAA8oB,EAAA,mBAAmEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,kCAA4Do8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAAsmB,YAAA,sBAAAX,EAAAgB,MACpe6vE,GAAe,gBCkBnBC,GAAA,CACAvsE,WAAA,CACAqiC,mBAAA,MAEA/8C,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,UCzBgcynF,GAAA,GCO5bC,GAAY1nF,OAAA2Z,EAAA,KAAA3Z,CACdynF,GACAH,GACAC,IACF,EACA,KACA,WACA,MAIeI,GAAAD,WClBXE,GAAM,WAAgB,IAAAlxE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,OAAAA,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,6CAAAN,EAAAO,GAAA,mBAAAP,EAAA3lB,IAAA,iBAAA2lB,EAAAsC,GAAAtC,EAAA,eAAAkF,EAAAka,GAAmM,OAAAjf,EAAA,OAAiBjW,IAAAk1B,EAAA/e,YAAA,cAAiC,CAAAF,EAAA,OAAYE,YAAA,aAAAhN,MAAA,CAAiC3Y,gBAAAslB,EAAAmxE,SAAAjsE,EAAA/tB,MAAAioC,MAAiDjf,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,sCAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsuB,UAAA,uBAAA3I,EAAAM,GAAA,aAAAN,EAAAO,GAAA2E,EAAA/tB,OAAA,gBAAAgpB,EAAA,SAA0LE,YAAA,aAAwB,CAAAL,EAAAM,GAAA,KAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAwE,EAAAqS,KAAA,eAAAvX,EAAAO,GAAAP,EAAAS,MAAAC,OAAAwE,EAAAqS,KAAAvX,EAAAoxE,UAAA,yBAA0IpxE,EAAA+E,MAA8H/E,EAAAgB,KAA9Hb,EAAA,OAAyBE,YAAA,cAAyB,CAAAF,EAAA,OAAYE,YAAA,uBAAiCF,EAAA,OAAYE,YAAA,QAAmB,CAAAF,EAAA,SAAAH,EAAAM,GAAA,oEAAAN,EAAAgB,MACj6BqwE,GAAe,GC2BnBC,GAAA,CACAznF,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,SAGAsZ,SAAA,CACAwuE,UADA,WAEA,OAAAlgG,KAAA6zB,MAAAC,OAAA,SAAAqmE,EAAAnmE,GAAA,OAAAmmE,EAAAnmE,EAAAqS,MAAA,IAEAxS,MAJA,WAKA,OAAAzb,OAAA2oB,GAAA,KAAA3oB,CAAApY,KAAAmJ,IAAA0qB,OAAA7uB,KAAA,SAAA1E,EAAAC,GACA,OAAAs9B,WAAAv9B,EAAA2F,OAAA43B,WAAAt9B,EAAA0F,WAIAsuB,QAAA,CACA0rE,SADA,SACAI,EAAAjgG,GACA,OAAA4gC,GAAA,KAAAs/D,KAAAD,EAAAjgG,EAAAJ,KAAA6zB,MAAA1xB,OAAAnC,KAAAmJ,IAAAsuB,aC9C6b8oE,GAAA,GCQzbC,cAAYpoF,OAAA2Z,EAAA,KAAA3Z,CACdmoF,GACAP,GACAG,IACF,EACA,KACA,WACA,OAIeM,GAAAD,WCnBXE,GAAM,WAAgB,IAAA5xE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,eAAmCe,MAAA,CAAO2wE,mBAAA,GAAAC,QAAA9xE,EAAA+xE,kBAAAj4F,KAAAkmB,EAAAgyE,gBAAgFz1B,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,SAAA1W,GACzO,IAAA5uD,EAAA4uD,EAAA5uD,MACA,OAAAgpB,EAAA,SAAAH,EAAAM,GAAAN,EAAAO,GAAA,yDAAAppB,SAA2G,CAAE+S,IAAA,OAAAuyD,GAAA,SAAA1W,GAC7G,IAAA5uD,EAAA4uD,EAAA5uD,MACA,OAAA6oB,EAAAM,GAAA,SAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAvpB,EAAA,cAAA6oB,EAAAO,GAAAP,EAAAS,MAAAC,OAAAvpB,EAAA6oB,EAAAoxE,UAAA,yBAA2I,sBAAyBpxE,EAAAgB,MAChKixE,GAAe,gBCcnBC,GAAA,CACA3tE,WAAA,CACA4tE,eAAA,MAEAtoF,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,SAGAsZ,SAAA,CACAwuE,UADA,WAEA,OAAAlgG,KAAA6zB,MAAAC,OAAA,SAAAqmE,EAAAnmE,GAAA,OAAAmmE,EAAAnmE,EAAAqS,MAAA,IAEAxS,MAJA,WAKA,OAAAzb,OAAA2oB,GAAA,KAAA3oB,CAAApY,KAAAmJ,IAAA0qB,OAAA7uB,KAAA,SAAA1E,EAAAC,GACA,OAAAs9B,WAAAv9B,EAAA2F,OAAA43B,WAAAt9B,EAAA0F,UAGA46F,kBATA,WAUA,OACA58B,MAAA,CAAAmgB,MAAA,gEACA/9C,KAAA,CAAA+9C,MAAA,iEAGA0c,eAfA,WAeA,IAAAhmF,EAAA9a,KACA,OAAAoY,OAAA2C,KAAA/a,KAAAmJ,IAAA+3F,cAAA/3F,IAAA,SAAAg4F,GACA,OACAl9B,MAAAk9B,EACA96D,KAAAvrB,EAAA3R,IAAA+3F,aAAAC,GAAArtE,OAAA,SAAAqmE,EAAAnmE,GAAA,OAAAmmE,EAAAnmE,EAAAqS,MAAA,SC/C+b+6D,GAAA,GCO3bC,GAAYjpF,OAAA2Z,EAAA,KAAA3Z,CACdgpF,GACAV,GACAK,IACF,EACA,KACA,WACA,MAIeO,GAAAD,WClBXE,GAAM,WAAgB,IAAAzyE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,OAAAA,EAAA,mBAAiDo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8DAAAN,EAAAM,GAAA,aAA4Go8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAkjD,sBAAA1kE,EAAA,mBAAuFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,+DAAAN,EAAAM,GAAA,aAA6Go8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA+wD,qBAAAvyE,EAAA,mBAAsFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,aAAkHo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAgxD,kBAAAxyE,EAAA,mBAAmFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,aAAkHo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,oBAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAixD,oBAAA,qBAAAzyE,EAAA,mBAA8Io8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yDAAAN,EAAAM,GAAA,aAAuGo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6yE,cAAA,kBAAA1yE,EAAA,mBAAoFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,sDAAAN,EAAAM,GAAA,aAAoGo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6yE,cAAA,eAAA1yE,EAAA,mBAAiFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,aAA2Go8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6yE,cAAA,sBAAA7yE,EAAA3lB,IAAAsnC,SAAA,QAAAxhB,EAAA,mBAAmHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wDAAAN,EAAAM,GAAA,aAAsGo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6yE,cAAA,iBAAA7yE,EAAAgB,MAAA,GAAAhB,EAAAgB,MACpyE8xE,GAAe,6jBC4DnB,IAAAC,GAAA,CACAxuE,WAAA,CACAqiC,mBAAA,MAEA/8C,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,SAGAsZ,SAAAowE,GAAA,GACA1pF,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,wBAFA,CAIA2pF,SAJA,WAKA,OAAA/hG,KAAAgiG,oBAAAC,QACA7pF,OAAAoP,OAAAxnB,KAAAgiG,oBAAAC,SAAAve,OADA,MAIAnvD,QAAA,CACAotE,cADA,SACAO,GAAA,IAAApnF,EAAA9a,KACAmiG,EAAAniG,KAAA+hG,SAAAlzD,KAAA,SAAA1/B,GAAA,OAAAA,EAAA3E,KAAAsQ,EAAA3R,IAAAsnC,SAAAyxD,KACA,OAAA9pF,OAAAy9C,GAAA,OAAAz9C,CAAA+pF,EAAA,iBClF0cC,GAAA,GCOtcC,GAAYjqF,OAAA2Z,EAAA,KAAA3Z,CACdgqF,GACAb,GACAK,IACF,EACA,KACA,WACA,MAIeU,GAAAD,WClBXE,GAAM,WAAgB,IAAAzzE,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,OAAAA,EAAA,mBAAiDo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,aAAiHo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA+xD,iBAAAvzE,EAAA,mBAAkFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,aAA0Ho8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAgyD,wBAAA3zE,EAAAS,MAAAy7B,UAAA,4EAAAl8B,EAAAS,MAAAy7B,UAAA,oFAAA/7B,EAAA,mBAAqSo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,aAAmHo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAiyD,sBAAA,UAAA5zE,EAAA3lB,IAAAsnC,SAAAgyD,yBAAA,WAAA3zE,EAAA3lB,IAAAsnC,SAAA+xD,WAAAvzE,EAAA,mBAAwLo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAAN,EAAAM,GAAA,aAA2Go8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAkyD,cAAA,UAAA7zE,EAAAgB,KAAAhB,EAAA3lB,IAAAsnC,SAAA,wBAAAxhB,EAAA,mBAA6Io8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wEAAAN,EAAAM,GAAA,aAAsHo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAmyD,yBAAA,UAAA9zE,EAAAgB,MAAA,GAAAhB,EAAAgB,MACpyD+yE,GAAe,GCoCnBC,GAAA,CACAzvE,WAAA,CACAqiC,mBAAA,MAEA/8C,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,UC3Cwc2qF,GAAA,GCOpcC,GAAY5qF,OAAA2Z,EAAA,KAAA3Z,CACd2qF,GACAR,GACAM,IACF,EACA,KACA,WACA,MAIeI,GAAAD,WClBXE,GAAM,WAAgB,IAAAp0E,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,MAAAH,EAAAsC,GAAAtC,EAAA3lB,IAAAsnC,SAAA,oBAAA0yD,EAAA/iG,GAA0F,OAAA6uB,EAAA,eAAyBjW,IAAA5Y,EAAA4vB,MAAA,CAAiB4wE,QAAA,CAAWz6F,KAAA,CAAOi+E,MAAA,OAAAgf,UAAA,GAA8Bn9F,MAAA,CAAUm+E,MAAA,SAAex7E,KAAAwP,OAAA2C,KAAAooF,GAAAh6F,IAAA,SAAAgG,GAAkD,OAAUhJ,KAAAgJ,EAAAlJ,MAAAk9F,EAAAh0F,WAAuC,GAAA2f,EAAAgB,MACrYuzE,GAAe,GCYnBC,GAAA,CACAjwE,WAAA,CACA4tE,eAAA,MAEAtoF,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,UCnBocmrF,GAAA,GCOhcC,GAAYprF,OAAA2Z,EAAA,KAAA3Z,CACdmrF,GACAL,GACAG,IACF,EACA,KACA,WACA,MAIeI,GAAAD,WCgDfE,GAAA,CACArwE,WAAA,CACAs4C,sBAAA,KACAg4B,gBAAA,KACA5D,iBACAU,cACAa,gBACAgB,2BACAsB,sBAAAX,GACAQ,sBAEA9qF,MAAA,CACAxP,IAAAiP,SC9EkbyrF,GAAA,GCQ9aC,cAAY1rF,OAAA2Z,EAAA,KAAA3Z,CACdyrF,GACArE,GACAC,IACF,EACA,KACA,WACA,OAIesE,GAAAD,WCnBXE,GAAM,WAAgB,IAAAl1E,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,6CAAAN,EAAAO,GAAA,eAAAP,EAAA3lB,IAAA,iBAAA8lB,EAAA,mBAAqKo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6BAAuDo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAhD,WAAA8oB,EAAA,mBAAmEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,+DAAyFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAA86F,YAAA,cAAAh1E,EAAA,mBAAoGo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,kCAA4Do8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAA61C,UAAA,cAAA/vB,EAAA,mBAAkGo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yDAAmFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAA+6F,gBAAAj1E,EAAA,mBAAwEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAuFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAg7F,gBAAAl1E,EAAA,mBAAwEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAuFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAi7F,gBAAAn1E,EAAA,mBAAwEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8DAAwFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAk7F,YAAA,WAAAp1E,EAAA,mBAA+Eo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,kEAA4Fo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA3lB,IAAAm7F,aAAA,MAAAx1E,EAAAO,GAAAP,EAAA3lB,IAAAo7F,YAAA,oBAAAz1E,EAAA,UAAAG,EAAA,mBAAqJo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mEAA6Fo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAYE,YAAA,yBAAoC,CAAAF,EAAA,OAAYE,YAAA,cAAAa,MAAA,CAAiC6pB,IAAA,yBAAuB/qB,EAAA01E,WAA0B7zE,GAAA,CAAKC,MAAA,SAAAkb,GAAyBA,EAAAqzB,iBAAwBrwC,EAAA21E,WAAA,UAAuB31E,EAAAgB,KAAAb,EAAA,WAA6Be,MAAA,CAAO7a,KAAA,UAAgBk2D,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mEAA6Fo8C,OAAA,GAAY,CAAExyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,YAAuBe,MAAA,CAAO40D,MAAA,GAAAY,QAAA,IAAwB70D,GAAA,CAAKC,MAAA,SAAAkb,GAAyBhd,EAAA21E,WAAA,KAAwB,CAAAx1E,EAAA,SAAAH,EAAAM,GAAA,uEAA2Fo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,UAAAliB,SAAA,SAAA+iB,GAA+Cb,EAAA21E,UAAA90E,GAAkBE,WAAA,cAAyB,CAAAf,EAAA,UAAAG,EAAA,OAA4BE,YAAA,cAAAa,MAAA,CAAiC6pB,IAAA,yBAAuB/qB,EAAA01E,aAA2B11E,EAAAgB,OAAAb,EAAA,MAAAA,EAAA,2BAAoDe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,OAAe8lB,EAAA,yBAA8Be,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,QAAe,IAC1sGu7F,GAAe,6BCDfC,GAAM,WAAgB,IAAA71E,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,iBAAqCe,MAAA,CAAOsB,OAAAxC,EAAAwC,QAAoB+5C,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,aAAAuyD,GAAA,WAA+B,OAAAt8C,EAAA,SAAoBe,MAAA,CAAOra,QAAA,CAAWivF,SAAA91E,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAAy7F,SAAA,SAAqD,CAAA91E,EAAAM,GAAA,8DAAsEo8C,OAAA,GAAY,CAAExyD,IAAA,WAAAuyD,GAAA,WAA6B,OAAAt8C,EAAA,SAAoBe,MAAA,CAAOra,QAAA,CAAWkvF,SAAA/1E,EAAAS,MAAAC,OAAAV,EAAA3lB,IAAA07F,SAAA,SAAqD,CAAA/1E,EAAAM,GAAA,6DAAqEo8C,OAAA,QAAe,IACrkBs5B,GAAe,GCenBC,GAAA,CACA1xE,WAAA,CACAo2D,iBAAA,MAEA9wE,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,OACA4e,UAAA,IAGAtF,SAAA,CACAJ,OADA,WAEA,mDC5B0c0zE,GAAA,GCOtcC,GAAY7sF,OAAA2Z,EAAA,KAAA3Z,CACd4sF,GACAL,GACAG,IACF,EACA,KACA,WACA,MAIeI,GAAAD,WCyFfE,GAAA,CACA9xE,WAAA,CACAqiC,mBAAA,KACA+nC,WAAA,KACA1X,WAAA,KACAqf,yBAAA,KACAF,4BAEAvsF,MAAA,CACAxP,IAAAiP,QAEAxP,KAXA,WAYA,OACA67F,WAAA,EACAD,UAAA,OAGAjwE,QAAA,CACA8wE,iBADA,eAAAC,EAAAltF,OAAAmuE,EAAA,KAAAnuE,CAAAouE,mBAAAC,KAAA,SAAAC,IAAA,OAAAF,mBAAAG,KAAA,SAAAC,GAAA,eAAAA,EAAA1iF,KAAA0iF,EAAA/qE,MAAA,cAAA+qE,EAAA/qE,KAAA,EAEA7b,KAAA+1D,MAAAwvC,MAAA7qF,QAFA,wBAAAksE,EAAAp0E,SAAAk0E,EAAA1mF,SAAA,SAAAqlG,IAAA,OAAAC,EAAA/iG,MAAAvC,KAAA4vC,WAAA,OAAAy1D,EAAA,IAKAlwE,QAtBA,WAsBA,IAAAra,EAAA9a,KACAoY,OAAAotF,GAAA,KAAAptF,CAAA,+DACA5N,GAAA,8BACAkL,OAAA,CACAy5E,MAAA,kBAAAr0E,EAAA3R,IAAAqB,KAEAi7F,SAAA,SAAAjB,GACA1pF,EAAA0pF,iBCxI2bkB,GAAA,GCQvbC,cAAYvtF,OAAA2Z,EAAA,KAAA3Z,CACdstF,GACA1B,GACAU,IACF,EACA,KACA,WACA,OAIekB,GAAAD,qkBCaf,IAAAE,GAAA,CACAxyE,WAAA,CACAyyE,oBAAA,KACA9G,kBACA4E,yBAAA,KACAG,kBACAgC,sBAAA,KACAxG,qBACAqG,4BAEAvzE,OAAA,CACAq7D,EAAA,MAEA9kF,KAbA,WAcA,OACAo7E,iBAAA,OAGAtyD,SAAAs0E,GAAA,GACA5tF,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,YAFA,GAIAA,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,cALA,CAOAjP,IAPA,WAQA,OAAAnJ,KAAAs3B,UAAAt3B,KAAAgoF,OAAAzK,OAAA4R,UAGA56D,QAAAyxE,GAAA,GACA5tF,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,4BACA,yBACA,qBACA,wBAGA6tF,iBArCA,SAqCA7rF,EAAAD,EAAA0B,GACAA,EAAA,SAAAiwC,GACA,IAAAqjC,EAAA/0E,EAAAmjE,OAAA4R,MACA,OAAA/0E,EAAAmjE,OAAA2kB,SACA,uBACAp2C,EAAAo6C,0BAAA/W,GACArjC,EAAAk4B,iBAAA,wBACA,MACA,oBACAl4B,EAAAq6C,uBAAAhX,GACArjC,EAAAk4B,iBAAA,qBACA,MACA,gBACAl4B,EAAAj0B,mBAAAs3D,GACArjC,EAAAk4B,iBAAA,iBACA,MACA,mBACAl4B,EAAAj0B,mBAAAs3D,GACArjC,EAAAk4B,iBAAA,oBACA,MACA,gBACAl4B,EAAAs6C,mBAAAjX,GACArjC,EAAAk4B,iBAAA,iBACA,MACA,yBACAl4B,EAAAk4B,iBAAA,0BACA,MACA,kBAAA5hF,MAAA,sBAAAsS,OAAA0F,EAAAmjE,OAAA2kB,QAAA,WChG+ZmE,GAAA,GCQ3ZC,cAAYluF,OAAA2Z,EAAA,KAAA3Z,CACdiuF,GACApuF,EACAiZ,GACF,EACA,KACA,WACA,OAIe1Q,EAAA,WAAA8lF,mCChBf,IAAAhkE,EAAY7iC,EAAQ,OAARA,GAEZ6iC,EAAAn7B,QAAgB1H,EAAQ,QAGxBA,EAAQ,OAARA,CAA6B6iC,GAE7BA,EAAAikE,UAAkB9mG,EAAQ,QAC1B6iC,EAAAkkE,iBAAyB/mG,EAAQ,QACjC6iC,EAAAr7B,SAAiBxH,EAAQ,QACzB6iC,EAAAp7B,QAAgBzH,EAAQ,QACxB6iC,EAAA1zB,SAAiBnP,EAAQ,QACzB6iC,EAAAi8B,YAAoB9+D,EAAQ,QAC5B6iC,EAAAl7B,QAAgB3H,EAAQ,QACxB6iC,EAAAmkE,SAAiBhnG,EAAQ,QACzB6iC,EAAAw6C,QAAgBr9E,EAAQ,QACxB6iC,EAAA4/B,MAAcziE,EAAQ,QACtB6iC,EAAA6/B,aAAqB1iE,EAAQ,QAC7B6iC,EAAAokE,MAAcjnG,EAAQ,QACtB6iC,EAAAqkE,QAAgBlnG,EAAQ,QAExBA,EAAQ,OAARA,CAAgC6iC,GAChC7iC,EAAQ,OAARA,CAAuC6iC,GAEvC7iC,EAAQ,OAARA,CAAmC6iC,GACnC7iC,EAAQ,OAARA,CAAiC6iC,GACjC7iC,EAAQ,OAARA,CAA+B6iC,GAC/B7iC,EAAQ,OAARA,CAAoC6iC,GACpC7iC,EAAQ,OAARA,CAAqC6iC,GACrC7iC,EAAQ,OAARA,CAA6B6iC,GAI7B7iC,EAAQ,OAARA,CAAsC6iC,GACtC7iC,EAAQ,OAARA,CAAyC6iC,GACzC7iC,EAAQ,OAARA,CAA2C6iC,GAC3C7iC,EAAQ,OAARA,CAAuC6iC,GACvC7iC,EAAQ,OAARA,CAA4C6iC,GAC5C7iC,EAAQ,OAARA,CAAwC6iC,GACxC7iC,EAAQ,OAARA,CAA0C6iC,GAE1C7iC,EAAQ,OAARA,CAA4B6iC,GAC5B7iC,EAAQ,OAARA,CAA+B6iC,GAC/B7iC,EAAQ,OAARA,CAAiC6iC,GACjC7iC,EAAQ,OAARA,CAA6B6iC,GAC7B7iC,EAAQ,OAARA,CAAkC6iC,GAClC7iC,EAAQ,OAARA,CAA8B6iC,GAC9B7iC,EAAQ,OAARA,CAAgC6iC,GAGhC,IAAAw6C,EAAcr9E,EAAQ,QACtB,QAAAsD,KAAA+5E,EACAA,EAAA/+D,eAAAhb,IACAu/B,EAAAw6C,QAAAG,SAAAH,EAAA/5E,IAIAu/B,EAAAmkE,SAAA97F,aAEAtL,EAAAC,QAAAgjC,EACA,qBAAA9b,SACAA,OAAA8b,SAYAA,EAAA73B,OAAAqyE,EAAAj1E,OAAAyJ,SASAgxB,EAAAskE,MAAA9pB,EAAAsH,MAAA9yE,SASAgxB,EAAAukE,cAAAvkE,EAAAw6C,QAUAx6C,EAAAwkE,WAAAxkE,EAAAp7B,QAAAwD,OAAA,IASA43B,EAAAykE,cAAAzkE,EAAAn7B,QAAA2I,OASAwyB,EAAA0kE,cAAA1kE,EAAAl7B,gCC1HA,IAAAuM,EAAalU,EAAQ,QACrBwnG,EAAexnG,EAAQ,QACvB69C,EAAoB79C,EAAQ,QAC5ByhC,EAAgBzhC,EAAQ,QACxBgH,EAAAy6B,EAAAz6B,QACAb,EAAAs7B,EAAAt7B,UACAiB,EAAAq6B,EAAAr6B,YAyEA,SAAAqgG,EAAAr9B,EAAAxmE,GACA,IAAA1C,EACAupD,GAAA,EACA,IAAAvpD,EAAA,EAAeA,EAAAkpE,EAAAlkE,YAAAxD,OAAmCxB,IAClD,GAAA08C,EAAAwsB,EAAAlkE,YAAAhF,GAAA0C,EAAAsC,aAAA,CACAukD,GAAA,EACA,MAGA,OAAAA,EAGA,SAAAi9C,EAAAC,EAAAC,GACA,QAAA1mG,EAAA,EAAmBA,EAAA0mG,EAAA1hG,YAAAxD,OAAoCxB,IAAA,CAEvD,IADA,IAAA2mG,GAAA,EACAtpD,EAAA,EAAwBA,EAAAopD,EAAAzhG,YAAAxD,OAAqC67C,IAC7D,GAAAX,EAAAgqD,EAAA1hG,YAAAhF,GAAAymG,EAAAzhG,YAAAq4C,IAAA,CACAspD,GAAA,EACA,MAGA,IAAAA,EACA,SAGA,SAIA,SAAAC,EAAAzxF,EAAA+zD,GAEA,IADA,IAAA29B,GAAA,EACA7mG,EAAA,EAAmBA,EAAAkpE,EAAAlkE,YAAAxD,OAAmCxB,IAItD,GAHA28C,EAAAusB,EAAAlkE,YAAAhF,GAAAmV,GAAA,KACA0xF,GAAA,IAEAlqD,EAAAusB,EAAAlkE,YAAAhF,GAAAmV,GACA,SAGA,QAAA0xF,EAMA,SAAAC,EAAAhuE,EAAAowC,GACA,QAAAlpE,EAAA,EAAmBA,EAAAkpE,EAAAlkE,YAAAxD,OAAmCxB,IACtD,IAAAgT,EAAAk2D,EAAAlkE,YAAAhF,GAAA84B,GAAA,GACA,SAGA,SAGA,SAAA8jB,EAAAI,EAAAC,GAEA,IADA,IAAA4pD,GAAA,EACA7mG,EAAA,EAAmBA,EAAAi9C,EAAAj4C,YAAAxD,OAAoCxB,IAIvD,GAHA28C,EAAA,CAA2Bp3C,KAAA,QAAAP,YAAAi4C,EAAAj4C,YAAAhF,IAAuDg9C,GAAA,KAClF6pD,GAAA,IAEAlqD,EAAA,CAA4Bp3C,KAAA,QAAAP,YAAAi4C,EAAAj4C,YAAAhF,IAAuDg9C,GAAA,GACnF,SAGA,OAAA6pD,EAGA,SAAAhqD,EAAA/jB,EAAA5jB,GACA,IAAAq0C,GAAA,EACAvpD,EAAA,EAEA+mG,EAAAT,EAAAxtE,GACAkuE,EAAAV,EAAApxF,GACA,IAAA+xF,EAAAF,EAAAC,GACA,SAEA,IAAAhnG,EAAWA,EAAAkV,EAAAlQ,YAAAxD,OAAA,EAAuCxB,IAAA,CAClD,IAAAknG,EAAAC,EAAAjyF,EAAAlQ,YAAAhF,GAAAkV,EAAAlQ,YAAAhF,EAAA,IACA,GAAAgT,EAAA,CAAoBzN,KAAA,QAAAP,YAAAkiG,GAAqCpuE,GAAA,IACzDywB,GAAA,EACA,OAGA,OAAAA,EAYA,SAAAzM,EAAAK,EAAAC,GACA,IAAAgqD,EAAAd,EAAAnpD,GACAkqD,EAAAf,EAAAlpD,GACA,IAAA6pD,EAAAG,EAAAC,GACA,SAEA,QAAArnG,EAAA,EAAmBA,EAAAo9C,EAAAp4C,YAAA,GAAAxD,OAAoCxB,IACvD,IAAAgT,EAAAoqC,EAAAp4C,YAAA,GAAAhF,GAAAm9C,GACA,SAGA,SAGA,SAAA8pD,EAAAK,EAAAC,GACA,QAAAD,EAAA,GAAAC,EAAA,QACAD,EAAA,GAAAC,EAAA,QACAD,EAAA,GAAAC,EAAA,OACAD,EAAA,GAAAC,EAAA,MAYA,SAAA7qD,EAAAmB,EAAAC,GACA,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAGA,SAAAqpD,EAAAtpD,EAAAC,GACA,QAAAD,EAAA,GAAAC,EAAA,OAAAD,EAAA,GAAAC,EAAA,OAxLAp/C,EAAAC,QAAA,SAAAw+C,EAAAC,GACA,IAAA2O,EAAA7lD,EAAAi3C,GACA6O,EAAA9lD,EAAAk3C,GACAZ,EAAA12C,EAAAq3C,GACAV,EAAA32C,EAAAs3C,GACA+O,EAAAlnD,EAAAk4C,GACAiP,EAAAnnD,EAAAm4C,GAEA,OAAA2O,GACA,YACA,OAAAC,GACA,YACA,OAAAtP,EAAAyP,EAAAC,GACA,QACA,UAAA3qD,MAAA,YAAAuqD,EAAA,2BAEA,iBACA,OAAAA,GACA,YACA,OAAAu6C,EAAA/pD,EAAAC,GACA,iBACA,OAAA+pD,EAAAhqD,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,iBACA,OAAAA,GACA,YACA,OAAArP,EAAAF,EAAAD,GAAA,GACA,iBACA,OAAAI,EAAAJ,EAAAC,GACA,iBACA,OAAAmqD,EAAApqD,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,cACA,OAAAA,GACA,YACA,OAAAh5C,EAAAypC,EAAAD,GAAA,GACA,iBACA,OAAAK,EAAAL,EAAAC,GACA,cACA,OAAAK,EAAAN,EAAAC,GACA,iBACA,OAAAqqD,EAAAtqD,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,QACA,UAAAvqD,MAAA,YAAAsqD,EAAA,kECzEA,IAAAzlD,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,YACAugG,UAAA,CAEAC,eAAA,EAEAC,cAAA,GAEApmE,MAAA,CACAC,KAAA,UAEA33B,eAAA,SAAA/B,GACA,IAAAa,EAAA,GACAA,EAAAzI,KAAA,cAAA4H,EAAAgC,GAAA,aAEA,IAAA5B,EAAAJ,EAAAI,KACAC,EAAAD,EAAAC,SACAG,EAAAJ,EAAAI,OAEA,GAAAH,EAAA1G,OACA,QAAAxB,EAAA,EAAkBA,EAAAkI,EAAA,GAAAD,KAAAzG,SAA6BxB,EAC/C0I,EAAAzI,KAAA,qCAAAiI,EAAA,GAAAW,gBAAA7I,GAAA,aACAqI,EAAArI,IACA0I,EAAAzI,KAAAoI,EAAArI,IAEA0I,EAAAzI,KAAA,SAKA,OADAyI,EAAAzI,KAAA,SACAyI,EAAAtI,KAAA,KAEA8G,OAAA,CACAmB,OAAA,CACAE,eAAA,SAAAV,GACA,IAAAI,EAAAJ,EAAAI,KACA,OAAAA,EAAAI,OAAA7G,QAAAyG,EAAAC,SAAA1G,OACAyG,EAAAI,OAAAG,IAAA,SAAAG,EAAA3I,GACA,IAAA8H,EAAAD,EAAAE,eAAA,GACAk9B,EAAAh9B,EAAAC,SAAA,GACAo/C,EAAAx/C,EAAAG,KAAAjI,GACAqiC,EAAAilB,KAAAjlB,QAAA,GACAqB,EAAAl9B,EAAAk9B,sBACAikE,EAAA9/F,EAAAkE,QAAAkC,SAAAq5C,IACArkB,EAAAZ,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAA66B,EAAAuB,EAAAp8B,gBAAA7I,EAAA2nG,EAAA9+F,iBACAmH,EAAAqyB,EAAA34B,YAAA24B,EAAA34B,YAAAg6B,EAAAuB,EAAAv7B,YAAA1J,EAAA2nG,EAAAj+F,aACA0zD,EAAA/6B,EAAA74B,YAAA64B,EAAA74B,YAAAk6B,EAAAuB,EAAAz7B,YAAAxJ,EAAA2nG,EAAAn+F,aAEA,OACAd,KAAAC,EACAC,UAAAq6B,EACAx5B,YAAAuG,EACAzG,UAAA6zD,EACAp1D,OAAA0G,MAAAu2B,EAAAh9B,KAAAjI,KAAA8H,EAAAG,KAAAjI,GAAAgI,OAGAvI,MAAAO,KAIA,KAIAwH,QAAA,SAAAC,EAAAC,GACA,IAEA1H,EAAAiV,EAAAnN,EAFArI,EAAAiI,EAAAjI,MACAoI,EAAAxI,KAAAwI,MAGA,IAAA7H,EAAA,EAAAiV,GAAApN,EAAAI,KAAAC,UAAA,IAAA1G,OAAyDxB,EAAAiV,IAAUjV,EACnE8H,EAAAD,EAAAE,eAAA/H,GAEA8H,EAAAG,KAAAxI,KACAqI,EAAAG,KAAAxI,GAAAuI,QAAAF,EAAAG,KAAAxI,GAAAuI,QAIAH,EAAAM,WAKAy/F,iBAAA,GAGA3jE,UAAA,GAAA7gC,KAAAsvC,GAGAm1D,cAAA,EAAAzkG,KAAAsvC,GAGAo1D,SAAA,CACAC,UAAA,CACAtkB,MAAA,WACA,UAEA96E,MAAA,SAAAq/F,EAAA//F,GACA,IAAAggG,EAAAhgG,EAAAI,OAAA2/F,EAAAvoG,OACA6F,EAAA,KAAA2C,EAAAC,SAAA8/F,EAAArgG,cAAAM,KAAA+/F,EAAAvoG,OAWA,OATA+G,EAAApB,QAAA6iG,IAGAA,IAAAtmG,QACAsmG,EAAA,IAAA3iG,GAEA2iG,GAAA3iG,EAGA2iG,OAMA3hG,EAAAW,KAAA,MAAAT,EAAAqiC,MAAAviC,EAAA4hG,WACA5hG,EAAAW,KAAA,OACA2gG,iBAAA,IAGAlpG,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAG,YAAAomE,SAAAvmE,EAAAG,YAAAqmE,IAAAxmE,EAAAI,kBAAAh4B,OAAA,CAEAm4B,gBAAAj0B,EAAAm6F,IAEA/4D,WAAA7oC,EAAAE,KAGA2hG,aAAA,SAAA1gG,GAGA,IAFA,IAAA2gG,EAAA,EAEArmG,EAAA,EAAkBA,EAAA0F,IAAkB1F,EACpC5C,KAAAwI,MAAAiB,iBAAA7G,MACAqmG,EAIA,OAAAA,GAGAngG,OAAA,SAAAi6B,GACA,IAAA53B,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACA89B,EAAA99B,EAAA89B,UACAx5B,EAAAtE,EAAAkE,QACA47F,EAAAx7F,EAAA8B,SAAAq5C,IACAihD,EAAA5iE,EAAAp6B,MAAAo6B,EAAAr6B,KAAAq8F,EAAAn+F,YACAg/F,EAAA7iE,EAAAj6B,OAAAi6B,EAAAl6B,IAAAk8F,EAAAn+F,YACA2B,EAAA/H,KAAAyiC,IAAA0iE,EAAAC,GACA5lF,EAAA,CAAiBpU,EAAA,EAAAC,EAAA,GACjB3G,EAAA0C,EAAA83B,UACAslE,EAAAz7F,EAAAy7F,iBACAC,EAAA17F,EAAA07F,cAGA,GAAAA,EAAA,EAAAzkG,KAAAsvC,GAAA,CACA,IAAA+1D,EAAAt8F,EAAA83B,UAAA,EAAA7gC,KAAAsvC,IACA+1D,GAAA,EAAArlG,KAAAsvC,IAAA+1D,GAAArlG,KAAAsvC,IAAA,EAAA+1D,GAAArlG,KAAAsvC,GAAA,KACA,IAAAg2D,EAAAD,EAAAZ,EACA9tF,EAAA,CAAiBvL,EAAApL,KAAAklB,IAAAmgF,GAAAh6F,EAAArL,KAAAolB,IAAAigF,IACjBxuF,EAAA,CAAezL,EAAApL,KAAAklB,IAAAogF,GAAAj6F,EAAArL,KAAAolB,IAAAkgF,IACfC,EAAAF,GAAA,GAAAC,GAAA,GAAAD,GAAA,EAAArlG,KAAAsvC,IAAA,EAAAtvC,KAAAsvC,IAAAg2D,EACAE,EAAAH,GAAA,GAAArlG,KAAAsvC,IAAA,GAAAtvC,KAAAsvC,IAAAg2D,GAAAD,GAAA,IAAArlG,KAAAsvC,IAAA,IAAAtvC,KAAAsvC,IAAAg2D,EACAG,EAAAJ,IAAArlG,KAAAsvC,KAAAtvC,KAAAsvC,IAAAg2D,GAAAD,GAAArlG,KAAAsvC,IAAAtvC,KAAAsvC,IAAAg2D,EACAI,EAAAL,GAAA,IAAArlG,KAAAsvC,IAAA,IAAAtvC,KAAAsvC,IAAAg2D,GAAAD,GAAA,IAAArlG,KAAAsvC,IAAA,IAAAtvC,KAAAsvC,IAAAg2D,EACAK,EAAAnB,EAAA,IACA/hE,EAAA,CAAer3B,EAAAq6F,GAAA,EAAAzlG,KAAAyiC,IAAA9rB,EAAAvL,GAAAuL,EAAAvL,EAAA,IAAAu6F,GAAA9uF,EAAAzL,GAAAyL,EAAAzL,EAAA,IAAAu6F,IAAAt6F,EAAAq6F,GAAA,EAAA1lG,KAAAyiC,IAAA9rB,EAAAtL,GAAAsL,EAAAtL,EAAA,IAAAs6F,GAAA9uF,EAAAxL,GAAAwL,EAAAxL,EAAA,IAAAs6F,KACfj7F,EAAA,CAAeU,EAAAm6F,EAAA,EAAAvlG,KAAA0K,IAAAiM,EAAAvL,GAAAuL,EAAAvL,EAAA,IAAAu6F,GAAA9uF,EAAAzL,GAAAyL,EAAAzL,EAAA,IAAAu6F,IAAAt6F,EAAAm6F,EAAA,EAAAxlG,KAAA0K,IAAAiM,EAAAtL,GAAAsL,EAAAtL,EAAA,IAAAs6F,GAAA9uF,EAAAxL,GAAAwL,EAAAxL,EAAA,IAAAs6F,KACfv0F,EAAA,CAAgBnJ,MAAA,IAAAyC,EAAAU,EAAAq3B,EAAAr3B,GAAAhD,OAAA,IAAAsC,EAAAW,EAAAo3B,EAAAp3B,IAChBtD,EAAA/H,KAAAyiC,IAAA0iE,EAAA/zF,EAAAnJ,MAAAm9F,EAAAh0F,EAAAhJ,QACAoX,EAAA,CAAcpU,GAAA,IAAAV,EAAAU,EAAAq3B,EAAAr3B,GAAAC,GAAA,IAAAX,EAAAW,EAAAo3B,EAAAp3B,IAGd5G,EAAA2B,YAAAgB,EAAAw+F,kBAAAlhG,EAAAG,MACAJ,EAAAohG,YAAA7lG,KAAA0K,KAAA3C,EAAAtD,EAAA2B,aAAA,KACA3B,EAAAqhG,YAAA9lG,KAAA0K,IAAA85F,EAAA//F,EAAAohG,YAAA,WACAphG,EAAAshG,cAAAthG,EAAAohG,YAAAphG,EAAAqhG,aAAArhG,EAAAuhG,yBACAvhG,EAAA+d,QAAAhD,EAAApU,EAAA3G,EAAAohG,YACAphG,EAAAke,QAAAnD,EAAAnU,EAAA5G,EAAAohG,YAEAnhG,EAAA0xF,MAAAhvF,EAAA6+F,iBAEA7+F,EAAAy+F,YAAAphG,EAAAohG,YAAAphG,EAAAshG,aAAA3+F,EAAA69F,aAAA79F,EAAA/K,OACA+K,EAAA0+F,YAAA9lG,KAAA0K,IAAAtD,EAAAy+F,YAAAphG,EAAAshG,aAAA,GAEA3iG,EAAA6G,KAAAvF,EAAAG,KAAA,SAAAq/C,EAAA7nD,GACA+K,EAAA84B,cAAAgkB,EAAA7nD,EAAA2iC,MAIAkB,cAAA,SAAAgkB,EAAA7nD,EAAA2iC,GACA,IAAA53B,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACA89B,EAAA99B,EAAA89B,UACAx5B,EAAAtE,EAAAkE,QACAu9F,EAAAn9F,EAAAq7F,UACAv4F,GAAA02B,EAAAr6B,KAAAq6B,EAAAp6B,OAAA,EACA2D,GAAAy2B,EAAAl6B,IAAAk6B,EAAAj6B,QAAA,EACA+8F,EAAAt8F,EAAA83B,SACAykE,EAAAv8F,EAAA83B,SACAx7B,EAAA+B,EAAAk4B,aACAmlE,EAAAzlE,GAAAknE,EAAA7B,cAAA,EAAAngD,EAAAt/C,OAAA,EAAAwC,EAAA++F,uBAAA9gG,EAAAR,KAAAxI,KAAA0M,EAAA07F,eAAA,EAAAzkG,KAAAsvC,KACAw2D,EAAA9mE,GAAAknE,EAAA5B,aAAA,EAAAl9F,EAAA0+F,YACAD,EAAA7mE,GAAAknE,EAAA5B,aAAA,EAAAl9F,EAAAy+F,YACAvlE,EAAAl9B,EAAAk9B,sBAEAl9B,EAAAuD,OAAAu9C,EAAA,CAEAxkB,cAAAt4B,EAAA/K,MACAslC,OAAAtlC,EAGAujC,OAAA,CACAx0B,EAAAS,EAAApH,EAAA+d,QACAnX,EAAAS,EAAArH,EAAAke,QACA0iF,aACAC,WACAb,gBACAoB,cACAC,cACAvgG,MAAA+6B,EAAAj7B,EAAAE,MAAAlJ,EAAAoI,EAAAI,KAAAI,OAAA5I,OAIA,IAAAsvB,EAAAu4B,EAAAtkB,OAGAX,EAAAilB,EAAAjlB,QAAA,GACA91B,EAAA/F,EAAAk9B,sBACA8lE,EAAAnqG,KAAAwI,MAAAkE,QAAAkC,SAAAq5C,IACAv4B,EAAAlmB,gBAAAw5B,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAA0D,EAAA9D,EAAAI,gBAAApJ,EAAA+pG,EAAA3gG,iBACAkmB,EAAArlB,YAAA24B,EAAA34B,YAAA24B,EAAA34B,YAAA6C,EAAA9D,EAAAiB,YAAAjK,EAAA+pG,EAAA9/F,aACAqlB,EAAAvlB,YAAA64B,EAAA74B,YAAA64B,EAAA74B,YAAA+C,EAAA9D,EAAAe,YAAA/J,EAAA+pG,EAAAhgG,aAGA44B,GAAAknE,EAAA7B,gBAEA14E,EAAA05E,WADA,IAAAhpG,EACA0M,EAAA83B,SAEAz5B,EAAA83B,UAAAr6B,KAAAxI,EAAA,GAAAujC,OAAA0lE,SAGA35E,EAAA25E,SAAA35E,EAAA05E,WAAA15E,EAAA84E,eAGAvgD,EAAAjkB,SAGAgmE,eAAA,WACA,IAGA/jG,EAHAmD,EAAApJ,KAAAqjC,aACA56B,EAAAzI,KAAAijC,UACAk3D,EAAA,EAcA,OAXAhzF,EAAA6G,KAAAvF,EAAAG,KAAA,SAAAkZ,EAAA1hB,GACA6F,EAAAmD,EAAAR,KAAAxI,GACAiP,MAAApJ,IAAA6b,EAAAnZ,SACAwxF,GAAAp2F,KAAA6hB,IAAA3f,MAQAk0F,GAGA+P,uBAAA,SAAAjkG,GACA,IAAAk0F,EAAAn6F,KAAAijC,UAAAk3D,MACA,OAAAA,EAAA,IAAA9qF,MAAApJ,GACA,EAAAlC,KAAAsvC,IAAAtvC,KAAA6hB,IAAA3f,GAAAk0F,GAEA,GAIAwP,kBAAA,SAAA9lD,GAOA,IANA,IAGA15C,EACAigG,EAJA37F,EAAA,EACArO,EAAAJ,KAAAI,MACA+B,EAAA0hD,EAAA1hD,OAIAxB,EAAA,EAAkBA,EAAAwB,EAAYxB,IAC9BwJ,EAAA05C,EAAAljD,GAAAgjC,OAAAkgB,EAAAljD,GAAAgjC,OAAAx5B,YAAA,EACAigG,EAAAvmD,EAAAljD,GAAA4vC,OAAAsT,EAAAljD,GAAA4vC,OAAA3lC,OAAAhC,KAAAC,SAAAzI,GAAAynC,iBAAA,EAEAp5B,EAAAtE,EAAAsE,EAAAtE,EAAAsE,EACAA,EAAA27F,EAAA37F,EAAA27F,EAAA37F,EAEA,OAAAA,2CCzSA,IAAA47F,EAAA5qG,EAAA,SAAA6qG,EAAA7qG,EAAAyC,EAAAmoG,GAAumBC,EAAG,gECE1mB,IAAArjG,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,UACAgH,SAAA,CACAq5C,IAAA,CACAz+C,gBAAAvC,EAAAgG,OAAAsC,aACAlF,YAAA,OACAF,YAAA,MAKA9K,EAAAC,QAAA4H,EAAAwD,OAAA,CACAwhD,aAAA,SAAAL,GACA,IAAAC,EAAA9rD,KAAAk0C,MAEA,QAAA4X,GACA/nD,KAAAulB,IAAAuiC,EAAAC,EAAA38C,EAAA,GAAApL,KAAAulB,IAAAwiC,EAAAp8C,OAAAo8C,EAAA/jB,YAAA,IAKAkkB,QAAA,SAAAs+C,EAAAC,GACA,IAAA1+C,EAAA9rD,KAAAk0C,MAEA,GAAA4X,EAAA,CACA,IAAA2+C,EAAAtjG,EAAAujG,kBAAA5+C,EAAA,CAA8D38C,EAAAo7F,EAAAn7F,EAAAo7F,IAC9DvhC,EAAAwhC,EAAAxhC,MACAv1D,EAAA+2F,EAAA/2F,SAGA01F,EAAAt9C,EAAAs9C,WACAC,EAAAv9C,EAAAu9C,SACA,MAAAA,EAAAD,EACAC,GAAA,EAAAtlG,KAAAsvC,GAEA,MAAA41B,EAAAogC,EACApgC,GAAA,EAAAllE,KAAAsvC,GAEA,MAAA41B,EAAAmgC,EACAngC,GAAA,EAAAllE,KAAAsvC,GAIA,IAAAs3D,EAAA1hC,GAAAmgC,GAAAngC,GAAAogC,EACAuB,EAAAl3F,GAAAo4C,EAAA+9C,aAAAn2F,GAAAo4C,EAAA89C,YAEA,OAAAe,GAAAC,EAEA,UAGAv+C,eAAA,WACA,IAAAP,EAAA9rD,KAAAk0C,MACA22D,GAAA/+C,EAAAs9C,WAAAt9C,EAAAu9C,UAAA,EACAyB,GAAAh/C,EAAA+9C,YAAA/9C,EAAA89C,aAAA,EACA,OACAz6F,EAAA28C,EAAA38C,EAAApL,KAAAklB,IAAA4hF,GAAAC,EACA17F,EAAA08C,EAAA18C,EAAArL,KAAAolB,IAAA0hF,GAAAC,IAIAx+C,QAAA,WACA,IAAAR,EAAA9rD,KAAAk0C,MACA,OAAAnwC,KAAAsvC,KAAAyY,EAAAu9C,SAAAv9C,EAAAs9C,aAAA,EAAArlG,KAAAsvC,MAAAtvC,KAAAulB,IAAAwiC,EAAA89C,YAAA,GAAA7lG,KAAAulB,IAAAwiC,EAAA+9C,YAAA,KAGAz1D,gBAAA,WACA,IAAA0X,EAAA9rD,KAAAk0C,MACA62D,EAAAj/C,EAAAs9C,YAAAt9C,EAAAu9C,SAAAv9C,EAAAs9C,YAAA,EACA4B,GAAAl/C,EAAA89C,YAAA99C,EAAA+9C,aAAA,EAAA/9C,EAAA+9C,YAEA,OACA16F,EAAA28C,EAAA38C,EAAApL,KAAAklB,IAAA8hF,GAAAC,EACA57F,EAAA08C,EAAA18C,EAAArL,KAAAolB,IAAA4hF,GAAAC,IAIAt8F,KAAA,WACA,IAAA3B,EAAA/M,KAAAuwC,OAAAxjC,IACA++C,EAAA9rD,KAAAk0C,MACA+2D,EAAAn/C,EAAAs9C,WACA8B,EAAAp/C,EAAAu9C,SAEAt8F,EAAAyD,YAEAzD,EAAAk7C,IAAA6D,EAAA38C,EAAA28C,EAAA18C,EAAA08C,EAAA89C,YAAAqB,EAAAC,GACAn+F,EAAAk7C,IAAA6D,EAAA38C,EAAA28C,EAAA18C,EAAA08C,EAAA+9C,YAAAqB,EAAAD,GAAA,GAEAl+F,EAAAogE,YACApgE,EAAA3C,YAAA0hD,EAAAzhD,YACA0C,EAAA7C,UAAA4hD,EAAA3hD,YAEA4C,EAAAxD,UAAAuiD,EAAAtiD,gBAEAuD,EAAA62B,OACA72B,EAAA/C,SAAA,QAEA8hD,EAAA3hD,aACA4C,EAAA4D,kCCvGA,IAAA/K,EAAgBnG,EAAQ,QAAiBmG,UACzCuB,EAAc1H,EAAQ,QACtB8G,EAAAY,EAAAZ,kBAkDA,SAAA4kG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,QAAA9qG,EAAA,EAAmBA,EAAAyqG,EAAAjpG,OAA0BxB,IAAA,CAC7C,IAAAiS,EAAAw4F,EAAAzqG,GACA+qG,EAAAN,EAAAzqG,EAAA,GACAA,IAAAyqG,EAAAjpG,OAAA,IACAupG,EAAAN,EAAA,IAEAG,EAAAI,EAAA/4F,EAAA84F,EAAAL,GACAC,GAAA,GAAAC,EAAA,IACAK,EAAAP,EAAAz4F,EAAA44F,KACAA,EAAA54F,IAGA04F,EAAA,GAAAC,GAAA,IACAM,EAAAR,EAAAz4F,EAAA64F,KACAA,EAAA74F,IAGA04F,EAAAC,EAEA,OAAAC,EAAAC,GAGA,SAAAI,EAAAC,EAAAC,EAAAC,GACA,OAAAL,EAAAG,EAAAC,EAAAC,IAAA,EAGA,SAAAJ,EAAAE,EAAAC,EAAAC,GACA,OAAAL,EAAAG,EAAAC,EAAAC,IAAA,EAGA,SAAAL,EAAAG,EAAAC,EAAAC,GACA,OAAAD,EAAA,GAAAD,EAAA,KAAAE,EAAA,GAAAF,EAAA,KAAAE,EAAA,GAAAF,EAAA,KAAAC,EAAA,GAAAD,EAAA,IAIA,SAAAjlG,EAAAH,GACA,OAAAA,EAAA,SAAAA,EAAAb,SAAAK,KAAAQ,EAAAR,KArEA7G,EAAAC,QAAA,SAAA+D,EAAAo2B,GACA,IAAA6xE,EACAC,EACAC,EACAC,EACAQ,EAAArmG,EAAAvC,GACA6oG,EAAAtmG,EAAA6zB,GAEAvzB,EAAAW,EAAA4yB,GACA,OAAAvzB,GACA,cACAslG,EAAA,EACAC,EAAA,EACAH,EAAAK,EAAAO,EAAA,MAAAA,EAAA,MAAAD,GACA,IAAA3oC,EAAA6nC,EAAAe,EAAA,GAAAD,EAAAX,EAAAC,EAAAC,EAAAC,GACAD,EAAAloC,EAAA,GACAmoC,EAAAnoC,EAAA,GACA,MACA,mBACAkoC,EAAA,EACAC,EAAA,EACAH,EAAAK,EAAAO,EAAA,SAAAA,EAAA,SAAAD,GACAC,EAAAp1F,QAAA,SAAAW,GACA,IAAA6rD,EAAA6nC,EAAA1zF,EAAA,GAAAw0F,EAAAX,EAAAC,EAAAC,EAAAC,GACAD,EAAAloC,EAAA,GACAmoC,EAAAnoC,EAAA,KAEA,MAEA,OAAA/8D,EAAA,CAAAY,EAAA9D,MAAAmoG,GAAArkG,EAAA9D,MAAAooG,8BChDApsG,EAAAC,QAAA,CAAkBy8F,OAAA,qECClB,IAAA90F,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB0iE,EAAmB1iE,EAAQ,QAC3BinG,EAAYjnG,EAAQ,QAEpBJ,EAAAC,QAAA,SAAAgjC,GAEA,IAAAkkC,EAAA,CACAz+D,SAAA,OACAm9D,MAAA,CACAt4D,SAAA85F,EAAA5jD,WAAA0T,SAIA21C,EAAA7pE,EAAA8pE,gBAAA1hG,OAAA,CAEAs8D,oBAAA,WACA,IAAA77D,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACAlE,EAAA2C,EAAA3C,MACAI,EAAAJ,EAAAI,KACAC,EAAAD,EAAAC,SACAkD,EAAAZ,EAAAY,eACAsgG,EAAA,EACAC,EAAA,EAEA,SAAAC,EAAA9jG,GACA,OAAAsD,EAAAtD,EAAAs8B,UAAA55B,EAAAX,GAAA/B,EAAA26B,UAAAj4B,EAAAX,GAIAW,EAAAq7B,IAAA,KACAr7B,EAAAsD,IAAA,KAEA,IAAA+9F,EAAA1/F,EAAAk5B,QAeA,QAdAr/B,IAAA6lG,GACArlG,EAAA6G,KAAAnF,EAAA,SAAAO,EAAAd,GACA,IAAAkkG,EAAA,CAIA,IAAA/jG,EAAAD,EAAAE,eAAAJ,GACAE,EAAAiB,iBAAAnB,IAAAikG,EAAA9jG,SACA9B,IAAA8B,EAAAgkG,QACAD,GAAA,MAKA1/F,EAAAk5B,SAAAwmE,EAAA,CACA,IAAAE,EAAA,GAEAvlG,EAAA6G,KAAAnF,EAAA,SAAAO,EAAAd,GACA,IAAAG,EAAAD,EAAAE,eAAAJ,GACA0Q,EAAA,CACAvQ,EAAAvC,UAEAS,IAAAmG,EAAAk5B,cAAAr/B,IAAA8B,EAAAgkG,MAAAnkG,EAAA,GACAG,EAAAgkG,OACA1rG,KAAA,UAEA4F,IAAA+lG,EAAA1zF,KACA0zF,EAAA1zF,GAAA,CACA2zF,eAAA,GACAC,eAAA,KAKA,IAAAD,EAAAD,EAAA1zF,GAAA2zF,eACAC,EAAAF,EAAA1zF,GAAA4zF,eAEApkG,EAAAiB,iBAAAnB,IAAAikG,EAAA9jG,IACAtB,EAAA6G,KAAA5E,EAAAR,KAAA,SAAAm+D,EAAA3mE,GACA,IAAA6F,GAAAkF,EAAA+6B,cAAA6gC,GACA13D,MAAApJ,IAAAwC,EAAAG,KAAAxI,GAAAuI,SAIAgkG,EAAAvsG,GAAAusG,EAAAvsG,IAAA,EACAwsG,EAAAxsG,GAAAwsG,EAAAxsG,IAAA,EAEA0M,EAAA+/F,eACAF,EAAAvsG,GAAA,IACQ6F,EAAA,EACR2mG,EAAAxsG,IAAA6F,EAEA0mG,EAAAvsG,IAAA6F,OAMAkB,EAAA6G,KAAA0+F,EAAA,SAAAI,GACA,IAAAtlF,EAAAslF,EAAAH,eAAAj4F,OAAAo4F,EAAAF,gBACAG,EAAA5lG,EAAAq/B,IAAAhf,GACAwlF,EAAA7lG,EAAAsH,IAAA+Y,GACArc,EAAAq7B,IAAA,OAAAr7B,EAAAq7B,IAAAumE,EAAAhpG,KAAAyiC,IAAAr7B,EAAAq7B,IAAAumE,GACA5hG,EAAAsD,IAAA,OAAAtD,EAAAsD,IAAAu+F,EAAAjpG,KAAA0K,IAAAtD,EAAAsD,IAAAu+F,UAIA7lG,EAAA6G,KAAAnF,EAAA,SAAAO,EAAAd,GACA,IAAAG,EAAAD,EAAAE,eAAAJ,GACAE,EAAAiB,iBAAAnB,IAAAikG,EAAA9jG,IACAtB,EAAA6G,KAAA5E,EAAAR,KAAA,SAAAm+D,EAAA3mE,GACA,IAAA6F,GAAAkF,EAAA+6B,cAAA6gC,GACA13D,MAAApJ,IAAAwC,EAAAG,KAAAxI,GAAAuI,SAIA,OAAAwC,EAAAq7B,IACAr7B,EAAAq7B,IAAAvgC,EACQA,EAAAkF,EAAAq7B,MACRr7B,EAAAq7B,IAAAvgC,GAGA,OAAAkF,EAAAsD,IACAtD,EAAAsD,IAAAxI,EACQA,EAAAkF,EAAAsD,MACRtD,EAAAsD,IAAAxI,QAOAkF,EAAAq7B,IAAAwN,SAAA7oC,EAAAq7B,OAAAn3B,MAAAlE,EAAAq7B,KAAAr7B,EAAAq7B,IAAA6lE,EACAlhG,EAAAsD,IAAAulC,SAAA7oC,EAAAsD,OAAAY,MAAAlE,EAAAsD,KAAAtD,EAAAsD,IAAA69F,EAGAtsG,KAAAitG,0BAEAC,aAAA,WACA,IAAAC,EACAhiG,EAAAnL,KACAsoE,EAAAn9D,EAAAuB,QAAAw4D,MAEA,GAAA/5D,EAAAY,eACAohG,EAAAppG,KAAAyiC,IAAA8hC,EAAA8kC,cAAA9kC,EAAA8kC,cAAA,GAAArpG,KAAAo6B,KAAAhzB,EAAAa,MAAA,SACI,CAEJ,IAAAq9D,EAAAliE,EAAA+F,eAAAo7D,EAAA9gE,SAAAP,EAAAgG,OAAAE,iBACAggG,EAAAppG,KAAAyiC,IAAA8hC,EAAA8kC,cAAA9kC,EAAA8kC,cAAA,GAAArpG,KAAAo6B,KAAAhzB,EAAAgB,QAAA,EAAAk9D,KAGA,OAAA8jC,GAGAE,yBAAA,WACArtG,KAAA+L,gBAEA/L,KAAAklE,MAAAj9D,WAGA2/D,iBAAA,SAAAxnE,EAAAkI,GACA,OAAAtI,KAAAkmC,cAAAlmC,KAAAwI,MAAAI,KAAAC,SAAAP,GAAAM,KAAAxI,KAGAglC,iBAAA,SAAAn/B,GAGA,IAIA6gB,EAJA3b,EAAAnL,KACA0a,EAAAvP,EAAAuP,MAEAyrB,GAAAh7B,EAAA+6B,cAAAjgC,GAEAg+D,EAAA94D,EAAAyP,IAAAF,EAOA,OAJAoM,EADA3b,EAAAY,eACAZ,EAAAc,KAAAd,EAAAa,MAAAi4D,GAAA99B,EAAAzrB,GAEAvP,EAAAkB,OAAAlB,EAAAgB,OAAA83D,GAAA99B,EAAAzrB,GAEAoM,GAEA+hD,iBAAA,SAAA/hD,GACA,IAAA3b,EAAAnL,KACA+L,EAAAZ,EAAAY,eACAuhG,EAAAvhG,EAAAZ,EAAAa,MAAAb,EAAAgB,OACAoX,GAAAxX,EAAA+a,EAAA3b,EAAAc,KAAAd,EAAAkB,OAAAya,GAAAwmF,EACA,OAAAniG,EAAAuP,OAAAvP,EAAAyP,IAAAzP,EAAAuP,OAAA6I,GAEAolD,gBAAA,SAAAvoE,GACA,OAAAJ,KAAAolC,iBAAAplC,KAAAutG,eAAAntG,OAIA+hE,EAAAsH,kBAAA,SAAA0iC,EAAA3lC,4BC5LA,IAAA/gE,EAAehG,EAAQ,QAAiBgG,SACxC0B,EAAc1H,EAAQ,QACtB4D,EAAA8D,EAAA9D,MACA47B,EAAA93B,EAAA83B,kBAwBA5/B,EAAAC,QAAA,SAAAwqC,EAAAp2B,EAAAw2B,EAAA/K,GACA,IAAAquE,EAAAzpG,KAAAsvC,GAAA,IACAo6D,EAAA,IAAA1pG,KAAAsvC,GACAq6D,EAAAjoG,EAAAqkC,GACA6jE,EAAAH,EAAAE,EAAA,GACAE,EAAAJ,EAAAE,EAAA,GACAG,EAAAL,EAAAtjE,EAEA4jE,EAAA7uE,EAAAvrB,EAAAyrB,GAEA4uE,EAAAhqG,KAAAkuD,KAAAluD,KAAAolB,IAAAykF,GAAA7pG,KAAAklB,IAAA6kF,GACA/pG,KAAAklB,IAAA2kF,GAAA7pG,KAAAolB,IAAA2kF,GAAA/pG,KAAAklB,IAAA4kF,IACAG,EAAAL,EAAA5pG,KAAAg4C,MAAAh4C,KAAAolB,IAAA0kF,GAAA9pG,KAAAolB,IAAA2kF,GAAA/pG,KAAAklB,IAAA2kF,GACA7pG,KAAAklB,IAAA6kF,GAAA/pG,KAAAolB,IAAAykF,GAAA7pG,KAAAolB,IAAA4kF,IAEA,OAAA1qG,EAAA,CAAAoqG,EAAAO,EAAAP,EAAAM,2BC5CA,IAAAtlG,EAAWhJ,EAAQ,QACnB0H,EAAc1H,EAAQ,QACtBwuG,EAAoBxuG,EAAQ,QAC5BsH,EAAA0B,EAAA1B,YACAkM,EAAAxK,EAAAwK,YACAwmB,EAAAtyB,EAAAsyB,QACAlzB,EAAAY,EAAAZ,kBAiBAlH,EAAAC,QAAA,SAAAoH,GACA,IAAAF,EAAA,GAOA,OANAO,EAAAL,EAAA,SAAAL,GACA,YAAAA,EAAAR,SAAAK,MACA+M,EAAAg7F,EAAA5nG,GAAA,SAAA+qD,GACA5qD,EAAA5F,KAAA64B,EAAA23B,EAAAvrD,SAAAF,YAAAU,EAAAyM,iBAGAvM,EAAAC,uCCvBA,GAA8BnH,EAAAC,QAAA,IAAAujF,EAAmCpjF,EAAQ,QACzE,GAA8BJ,EAAAC,QAAA,IAAAwjF,EAA8BrjF,EAAQ,QA4BpE,SAAAioB,EAAAU,EAAAG,EAAAP,GAEA,KAAAhoB,gBAAA0nB,GAAA,WAAAA,EAAAU,EAAAG,EAAAP,QAEArhB,IAAAqhB,MAAAN,EAAAM,MAAAmD,OAEAnrB,KAAAooB,IAAAN,OAAAM,GACApoB,KAAAuoB,IAAAT,OAAAS,GACAvoB,KAAAgoB,QAOAN,EAAA8zB,UAAA,CACArwB,MAAA,CAAoB7qB,EAAA,QAAAC,EAAA,eAAAiU,EAAA,iBACpB05F,SAAA,CAAoB5tG,EAAA,YAAAC,EAAA,YAAAiU,EAAA,eACpB25F,aAAA,CAAoB7tG,EAAA,YAAAC,EAAA,YAAAiU,EAAA,eACpB45F,WAAA,CAAoB9tG,EAAA,YAAAC,EAAA,eAAAiU,EAAA,eACpB65F,WAAA,CAAoB/tG,EAAA,UAAAC,EAAA,UAAAiU,EAAA,iBACpB85F,cAAA,CAAoBhuG,EAAA,UAAAC,EAAA,QAAAiU,EAAA,iBACpB+5F,MAAA,CAAoBjuG,EAAA,QAAAC,EAAA,cAAAiU,EAAA,iBACpBg6F,SAAA,CAAoBluG,EAAA,QAAAC,EAAA,YAAAiU,EAAA,OACpBi6F,MAAA,CAAoBnuG,EAAA,QAAAC,EAAA,UAAAiU,EAAA,WAWpBkT,EAAAM,MAAA,CAEA0mF,KAAA,CAAiBlzD,UAAA9zB,EAAA8zB,UAAAgzD,SAAArjD,UAAA,iCACjBwjD,QAAA,CAAiBnzD,UAAA9zB,EAAA8zB,UAAA2yD,aAAAhjD,UAAA,qDACjByjD,MAAA,CAAiBpzD,UAAA9zB,EAAA8zB,UAAA6yD,WAAAljD,UAAA,uBACjB0jD,MAAA,CAAiBrzD,UAAA9zB,EAAA8zB,UAAA+yD,MAAApjD,UAAA,6CACjB2jD,IAAA,CAAiBtzD,UAAA9zB,EAAA8zB,UAAA8yD,cAAAnjD,UAAA,uBACjBljC,OAAA,CAAiBuzB,UAAA9zB,EAAA8zB,UAAA0yD,SAAA/iD,UAAA,wDACjB4jD,QAAA,CAAiBvzD,UAAA9zB,EAAA8zB,UAAA4yD,WAAAjjD,UAAA,sCACjB6jD,WAAA,CAAiBxzD,UAAA9zB,EAAA8zB,UAAA4yD,WAAAjjD,UAAA,yBACjBsjD,MAAA,CAAiBjzD,UAAA9zB,EAAA8zB,UAAAizD,MAAAtjD,UAAA,0BACjBhgC,MAAA,CAAiBqwB,UAAA9zB,EAAA8zB,UAAArwB,MAAAggC,UAAA,kBA8BjBzjC,EAAAzmB,UAAAinB,aAAA,SAAA+mF,GACA,IAAAC,EAAAlvG,KACAmrD,EAAA,KAMA,GAJA+jD,EAAAlnF,OAAAN,EAAAM,MAAAmD,QAEAggC,EAAA8jD,EAAA9jD,WAEA8jD,GAAAvnF,EAAAM,MAAAmD,MAAA,CAEAggC,EAAA,GACA,QAAAjvB,EAAA,EAAqBA,EAAA,EAAKA,IAAAivB,EAAAjvB,IAAAgzE,EAAAlnF,MAAAmjC,UAAAjvB,GAE1B,MAAAivB,IAEA+jD,EAAAlvG,KAAAkoB,aAAAR,EAAAM,MAAAmD,OACAggC,EAAA8jD,EAAA9jD,WAGA,IAAAgkD,EAAAD,EAAAE,cACAC,EAAAF,EAAAG,eAAAnkD,GACAokD,EAAAF,EAAA92E,UAAA02E,GAEA,OAAAM,GAUA7nF,EAAAzmB,UAAAmuG,YAAA,WACA,IAAAjnF,EAAAnoB,KAAAooB,IAAAC,YAAAC,EAAAtoB,KAAAuoB,IAAAF,YACAqV,EAAA,EACAp9B,EAAAN,KAAAgoB,MAAAwzB,UAAAl7C,EAAAkU,EAAAxU,KAAAgoB,MAAAwzB,UAAAhnC,EAEA0U,EAAAnlB,KAAAolB,IAAAhB,GAAAa,EAAAjlB,KAAAklB,IAAAd,GACAs0B,EAAA14C,KAAAolB,IAAAb,GAAAo0B,EAAA34C,KAAAklB,IAAAX,GAEAknF,EAAA,EAAAh7F,MACA4U,EAAA9oB,EAAAyD,KAAAgR,KAAA,EAAAy6F,EAAAtmF,KAEA/Z,GAAAia,EAAAsU,GAAA1U,EAAA0zB,EACAttC,GAAAga,EAAAsU,GAAA1U,EAAAyzB,EACA/a,GAAAtY,GAAA,EAAAomF,GAAA9xE,GAAAxU,EAEA7lB,EAAA,IAAAw/E,EAAA1zE,EAAAC,EAAAsyB,GAEA,OAAAr+B,GAYAw/E,EAAA5hF,UAAAs3B,UAAA,SAAAvQ,GACA,IAAA7Y,EAAAnP,KAAAmP,EAAAC,EAAApP,KAAAoP,EAAAsyB,EAAA1hC,KAAA0hC,EACAphC,EAAA0nB,EAAAwzB,UAAAl7C,EAAAC,EAAAynB,EAAAwzB,UAAAj7C,EAAAiU,EAAAwT,EAAAwzB,UAAAhnC,EAEAqU,EAAA,EAAArU,MACAi7F,EAAA5mF,GAAA,EAAAA,GACAqT,EAAAn4B,KAAAgR,KAAA5F,IAAAC,KACAsgG,EAAA3rG,KAAAgR,KAAAmnB,IAAAwF,KAGAiuE,EAAApvG,EAAAmhC,GAAAphC,EAAA47B,IAAA,EAAAuzE,EAAAlvG,EAAAmvG,GACAE,EAAAD,EAAA5rG,KAAAgR,KAAA,EAAA46F,KACAE,EAAAD,EAAAD,EAGAxnF,EAAA9Y,MAAAwgG,GAAA,EAAA9rG,KAAAg4C,MAAAra,EAAA+tE,EAAAlvG,EAAAqvG,MAAA1zE,EAAArT,EAAAvoB,EAAAuvG,OAGAvnF,EAAAvkB,KAAAg4C,MAAA3sC,EAAAD,GAGA+Z,EAAAnlB,KAAAolB,IAAAhB,GAIA9kB,GAJAU,KAAAklB,IAAAd,GACApkB,KAAAgR,KAAA,EAAA8T,EAAAK,KAGA,IAAAxB,EAAAS,EAAAqE,YAAAlE,EAAAkE,YAAAxE,IAEA,OAAA3kB,GAUAw/E,EAAA5hF,UAAAquG,eAAA,SAAAnuG,GAEA,IAAA8S,EAAAjU,KAAAmP,EAAA+E,EAAAlU,KAAAoP,EAAAiyB,EAAArhC,KAAA0hC,EAGAouE,EAAA3uG,EAAA,GACA4uG,EAAA5uG,EAAA,GACA6uG,EAAA7uG,EAAA,GACA8uG,EAAA9uG,EAAA,SACA+uG,GAAA/uG,EAAA,SAAAknB,YACA8nF,GAAAhvG,EAAA,SAAAknB,YACA+nF,GAAAjvG,EAAA,SAAAknB,YAGAlU,EAAA27F,EAAA77F,EAAAg8F,EAAA/7F,EAAAk8F,EAAA/uE,EAAA8uE,EACA/7F,EAAA27F,EAAA97F,EAAAm8F,EAAAl8F,EAAA+7F,EAAA5uE,EAAA6uE,EACA5uE,EAAA0uE,EAAA/7F,EAAAk8F,EAAAj8F,EAAAg8F,EAAA7uE,EAAA4uE,EAEA,WAAAptB,EAAA1uE,EAAAC,EAAAktB,IAYA5Z,EAAAzmB,UAAAmsB,SAAA,SAAAoC,EAAA6gF,GACA,OAAAvtB,EAAAwtB,MAAAtwG,KAAAooB,IAAAoH,EAAA6gF,GAAA,KAAAvtB,EAAAytB,MAAAvwG,KAAAuoB,IAAAiH,EAAA6gF,SAOA1pG,IAAAmhB,OAAA7mB,UAAAonB,YACAP,OAAA7mB,UAAAonB,UAAA,WAA6C,OAAAroB,KAAA+D,KAAAsvC,GAAA,WAI7C1sC,IAAAmhB,OAAA7mB,UAAAurB,YACA1E,OAAA7mB,UAAAurB,UAAA,WAA6C,WAAAxsB,KAAA+D,KAAAsvC,KAIbh0C,EAAAC,UAAAD,EAAAC,QAAAooB,EAAAroB,EAAAC,QAAAujF,+CClQhC,IAAA17E,EAAc1H,EAAQ,QACtByiE,EAAYziE,EAAQ,QACpB0iE,EAAmB1iE,EAAQ,QAC3BinG,EAAYjnG,EAAQ,QAQpB,SAAA+wG,EAAAC,EAAAC,GACA,IAWA1vD,EAAA2vD,EAXAzrC,EAAA,GACAh4D,EAAA/F,EAAA+F,eAMA0jG,EAAA1jG,EAAAujG,EAAAjqE,IAAAziC,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAAH,EAAAlqE,QAEAsqE,EAAA/sG,KAAAuS,MAAAnP,EAAA0pG,MAAAH,EAAAjiG,MACAsiG,EAAAhtG,KAAAo6B,KAAAuyE,EAAAjiG,IAAA1K,KAAAulB,IAAA,GAAAwnF,IAGA,IAAAF,GACA5vD,EAAAj9C,KAAAuS,MAAAnP,EAAA0pG,MAAAH,EAAAM,aACAL,EAAA5sG,KAAAuS,MAAAo6F,EAAAM,WAAAjtG,KAAAulB,IAAA,GAAA03B,IAEAkkB,EAAAtkE,KAAAgwG,GACAA,EAAAD,EAAA5sG,KAAAulB,IAAA,GAAA03B,KAEAA,EAAAj9C,KAAAuS,MAAAnP,EAAA0pG,MAAAD,IACAD,EAAA5sG,KAAAuS,MAAAs6F,EAAA7sG,KAAAulB,IAAA,GAAA03B,KAEA,IAAA1jC,EAAA0jC,EAAA,EAAAj9C,KAAAulB,IAAA,GAAAvlB,KAAA6hB,IAAAo7B,IAAA,EAEA,GACAkkB,EAAAtkE,KAAAgwG,KAEAD,EACA,KAAAA,IACAA,EAAA,IACA3vD,EACA1jC,EAAA0jC,GAAA,IAAA1jC,GAGAszF,EAAA7sG,KAAAkjB,MAAA0pF,EAAA5sG,KAAAulB,IAAA,GAAA03B,GAAA1jC,WACE0jC,EAAA8vD,GAAA9vD,IAAA8vD,GAAAH,EAAAI,GAEF,IAAAE,EAAA/jG,EAAAujG,EAAAhiG,IAAAmiG,GAGA,OAFA1rC,EAAAtkE,KAAAqwG,GAEA/rC,EAIA7lE,EAAAC,QAAA,SAAAgjC,GAEA,IAAAkkC,EAAA,CACAz+D,SAAA,OAGAm9D,MAAA,CACAt4D,SAAA85F,EAAA5jD,WAAAouD,cAIAC,EAAAjvC,EAAAx3D,OAAA,CACAs8D,oBAAA,WACA,IAAA77D,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACAlE,EAAA2C,EAAA3C,MACAI,EAAAJ,EAAAI,KACAC,EAAAD,EAAAC,SACAkD,EAAAZ,EAAAY,eACA,SAAAwgG,EAAA9jG,GACA,OAAAsD,EAAAtD,EAAAs8B,UAAA55B,EAAAX,GAAA/B,EAAA26B,UAAAj4B,EAAAX,GAIAW,EAAAq7B,IAAA,KACAr7B,EAAAsD,IAAA,KACAtD,EAAA6lG,WAAA,KAEA,IAAAxE,EAAA1/F,EAAAk5B,QAeA,QAdAr/B,IAAA6lG,GACArlG,EAAA6G,KAAAnF,EAAA,SAAAO,EAAAd,GACA,IAAAkkG,EAAA,CAIA,IAAA/jG,EAAAD,EAAAE,eAAAJ,GACAE,EAAAiB,iBAAAnB,IAAAikG,EAAA9jG,SACA9B,IAAA8B,EAAAgkG,QACAD,GAAA,MAKA1/F,EAAAk5B,SAAAwmE,EAAA,CACA,IAAAE,EAAA,GAEAvlG,EAAA6G,KAAAnF,EAAA,SAAAO,EAAAd,GACA,IAAAG,EAAAD,EAAAE,eAAAJ,GACA0Q,EAAA,CACAvQ,EAAAvC,UAEAS,IAAAmG,EAAAk5B,cAAAr/B,IAAA8B,EAAAgkG,MAAAnkG,EAAA,GACAG,EAAAgkG,OACA1rG,KAAA,KAEAyH,EAAAiB,iBAAAnB,IAAAikG,EAAA9jG,UACA9B,IAAA+lG,EAAA1zF,KACA0zF,EAAA1zF,GAAA,IAGA7R,EAAA6G,KAAA5E,EAAAR,KAAA,SAAAm+D,EAAA3mE,GACA,IAAAonB,EAAAklF,EAAA1zF,GACA/S,GAAAkF,EAAA+6B,cAAA6gC,GAEA13D,MAAApJ,IAAAwC,EAAAG,KAAAxI,GAAAuI,QAAA1C,EAAA,IAGAuhB,EAAApnB,GAAAonB,EAAApnB,IAAA,EACAonB,EAAApnB,IAAA6F,QAKAkB,EAAA6G,KAAA0+F,EAAA,SAAAI,GACA,GAAAA,EAAA3qG,OAAA,GACA,IAAA4qG,EAAA5lG,EAAAq/B,IAAAsmE,GACAE,EAAA7lG,EAAAsH,IAAAq+F,GACA3hG,EAAAq7B,IAAA,OAAAr7B,EAAAq7B,IAAAumE,EAAAhpG,KAAAyiC,IAAAr7B,EAAAq7B,IAAAumE,GACA5hG,EAAAsD,IAAA,OAAAtD,EAAAsD,IAAAu+F,EAAAjpG,KAAA0K,IAAAtD,EAAAsD,IAAAu+F,WAKA7lG,EAAA6G,KAAAnF,EAAA,SAAAO,EAAAd,GACA,IAAAG,EAAAD,EAAAE,eAAAJ,GACAE,EAAAiB,iBAAAnB,IAAAikG,EAAA9jG,IACAtB,EAAA6G,KAAA5E,EAAAR,KAAA,SAAAm+D,EAAA3mE,GACA,IAAA6F,GAAAkF,EAAA+6B,cAAA6gC,GAEA13D,MAAApJ,IAAAwC,EAAAG,KAAAxI,GAAAuI,QAAA1C,EAAA,IAIA,OAAAkF,EAAAq7B,IACAr7B,EAAAq7B,IAAAvgC,EACQA,EAAAkF,EAAAq7B,MACRr7B,EAAAq7B,IAAAvgC,GAGA,OAAAkF,EAAAsD,IACAtD,EAAAsD,IAAAxI,EACQA,EAAAkF,EAAAsD,MACRtD,EAAAsD,IAAAxI,GAGA,IAAAA,IAAA,OAAAkF,EAAA6lG,YAAA/qG,EAAAkF,EAAA6lG,cACA7lG,EAAA6lG,WAAA/qG,QAQAjG,KAAAitG,0BAEAA,uBAAA,WACA,IAAA9hG,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACA47D,EAAAx7D,EAAAo4D,MACAh4D,EAAA/F,EAAA+F,eACAm/F,EAAA,EACAC,EAAA,GAEAnhG,EAAAq7B,IAAAt5B,EAAAo7D,EAAA9hC,IAAAr7B,EAAAq7B,KACAr7B,EAAAsD,IAAAvB,EAAAo7D,EAAA75D,IAAAtD,EAAAsD,KAEAtD,EAAAq7B,MAAAr7B,EAAAsD,MACA,IAAAtD,EAAAq7B,KAAA,OAAAr7B,EAAAq7B,KACAr7B,EAAAq7B,IAAAziC,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAA1lG,EAAAq7B,MAAA,GACAr7B,EAAAsD,IAAA1K,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAA1lG,EAAAsD,MAAA,KAEAtD,EAAAq7B,IAAA6lE,EACAlhG,EAAAsD,IAAA69F,IAGA,OAAAnhG,EAAAq7B,MACAr7B,EAAAq7B,IAAAziC,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAA1lG,EAAAsD,MAAA,IAEA,OAAAtD,EAAAsD,MACAtD,EAAAsD,IAAA,IAAAtD,EAAAq7B,IACAziC,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAA1lG,EAAAq7B,MAAA,GACA8lE,GAEA,OAAAnhG,EAAA6lG,aACA7lG,EAAAq7B,IAAA,EACAr7B,EAAA6lG,WAAA7lG,EAAAq7B,IACKr7B,EAAAsD,IAAA,EACLtD,EAAA6lG,WAAAjtG,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAA1lG,EAAAsD,OAEAtD,EAAA6lG,WAAA3E,IAIA/kC,WAAA,WACA,IAAAn8D,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACA47D,EAAAx7D,EAAAo4D,MACAj9D,GAAAkD,EAAAY,eAEA0kG,EAAA,CACAjqE,IAAA8hC,EAAA9hC,IACA/3B,IAAA65D,EAAA75D,KAEAy2D,EAAA/5D,EAAA+5D,MAAAsrC,EAAAC,EAAAtlG,GAIAA,EAAAsD,IAAAtH,EAAAsH,IAAAy2D,GACA/5D,EAAAq7B,IAAAr/B,EAAAq/B,IAAA0+B,GAEAoD,EAAArgE,SACAA,KACAkD,EAAAuP,MAAAvP,EAAAsD,IACAtD,EAAAyP,IAAAzP,EAAAq7B,MAEAr7B,EAAAuP,MAAAvP,EAAAq7B,IACAr7B,EAAAyP,IAAAzP,EAAAsD,KAEAxG,GACAi9D,EAAAj9D,WAGAwgE,qBAAA,WACAzoE,KAAAoxG,WAAApxG,KAAAklE,MAAA5iE,QAEA4/D,EAAAjhE,UAAAwnE,qBAAAz3D,KAAAhR,OAGA4nE,iBAAA,SAAAxnE,EAAAkI,GACA,OAAAtI,KAAAkmC,cAAAlmC,KAAAwI,MAAAI,KAAAC,SAAAP,GAAAM,KAAAxI,KAEAuoE,gBAAA,SAAAvoE,GACA,OAAAJ,KAAAolC,iBAAAplC,KAAAoxG,WAAAhxG,KAQAixG,mBAAA,SAAAprG,GACA,IAAA+6C,EAAAj9C,KAAAuS,MAAAnP,EAAA0pG,MAAA5qG,IACA0qG,EAAA5sG,KAAAuS,MAAArQ,EAAAlC,KAAAulB,IAAA,GAAA03B,IAEA,OAAA2vD,EAAA5sG,KAAAulB,IAAA,GAAA03B,IAEA5b,iBAAA,SAAAn/B,GACA,IAKAqnG,EAAAxmF,EAAApM,EAAAE,EAAAgmC,EALAz1C,EAAAnL,KACAiI,EAAAkD,EAAAuB,QAAAw4D,MAAAj9D,QACA4oG,EAAA1pG,EAAA0pG,MACAS,EAAAnmG,EAAAkmG,mBAAAlmG,EAAA6lG,YACAztF,EAAA,EAmCA,OAhCAtd,GAAAkF,EAAA+6B,cAAAjgC,GACAgC,GACAyS,EAAAvP,EAAAyP,IACAA,EAAAzP,EAAAuP,MACAkmC,GAAA,IAEAlmC,EAAAvP,EAAAuP,MACAE,EAAAzP,EAAAyP,IACAgmC,EAAA,GAEAz1C,EAAAY,gBACAuhG,EAAAniG,EAAAa,MACA8a,EAAA7e,EAAAkD,EAAAe,MAAAf,EAAAc,OAEAqhG,EAAAniG,EAAAgB,OACAy0C,IAAA,EACA95B,EAAA7e,EAAAkD,EAAAiB,IAAAjB,EAAAkB,QAEApG,IAAAyU,IACA,IAAAA,IACA6I,EAAApc,EAAA2oE,kBACA3kE,EAAAuB,QAAAw4D,MAAA19D,SACA86B,EAAAr7B,SAAAgG,OAAAE,iBAEAmgG,GAAA/pF,EACA7I,EAAA42F,GAEA,IAAArrG,IACAsd,GAAA+pF,GAAAuD,EAAAj2F,GAAAi2F,EAAAn2F,KAAAm2F,EAAA5qG,GAAA4qG,EAAAn2F,KAEAoM,GAAA85B,EAAAr9B,GAEAuD,GAEA+hD,iBAAA,SAAA/hD,GACA,IAIAwmF,EAAA5yF,EAAAE,EAAA3U,EAJAkF,EAAAnL,KACAiI,EAAAkD,EAAAuB,QAAAw4D,MAAAj9D,QACA4oG,EAAA1pG,EAAA0pG,MACAS,EAAAnmG,EAAAkmG,mBAAAlmG,EAAA6lG,YAiBA,GAdA/oG,GACAyS,EAAAvP,EAAAyP,IACAA,EAAAzP,EAAAuP,QAEAA,EAAAvP,EAAAuP,MACAE,EAAAzP,EAAAyP,KAEAzP,EAAAY,gBACAuhG,EAAAniG,EAAAa,MACA/F,EAAAgC,EAAAkD,EAAAe,MAAA4a,IAAA3b,EAAAc,OAEAqhG,EAAAniG,EAAAgB,OACAlG,EAAAgC,EAAA6e,EAAA3b,EAAAiB,IAAAjB,EAAAkB,OAAAya,GAEA7gB,IAAAyU,EAAA,CACA,OAAAA,EAAA,CACA,IAAA6I,EAAApc,EAAA2oE,kBACA3kE,EAAAuB,QAAAw4D,MAAA19D,SACA86B,EAAAr7B,SAAAgG,OAAAE,iBAEAlH,GAAAsd,EACA+pF,GAAA/pF,EACA7I,EAAA42F,EAEArrG,GAAA4qG,EAAAj2F,GAAAi2F,EAAAn2F,GACAzU,GAAAqnG,EACArnG,EAAAlC,KAAAulB,IAAA,GAAAunF,EAAAn2F,GAAAzU,GAEA,OAAAA,KAIAk8D,EAAAsH,kBAAA,cAAA0nC,EAAA3qC,uCCzVA,IAAAv/D,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAiGtB,SAAA8xG,EAAA77E,EAAA87E,GACA,IAEAttG,EAAAy/D,EAAAhjE,EAAAiV,EAFA4wB,EAAA9Q,EAAA3pB,eAAA2pB,EAAA1pB,MAAA0pB,EAAAvpB,OACA+4D,EAAAxvC,EAAAkzC,WAGA,IAAAjoE,EAAA,EAAAiV,EAAA47F,EAAArvG,OAAkCxB,EAAAiV,IAAUjV,EAC5C6lC,EAAAziC,KAAAyiC,MAAAgrE,EAAA7wG,GAAA6wG,EAAA7wG,EAAA,IAGA,IAAAA,EAAA,EAAAiV,EAAAsvD,EAAA/iE,OAAiCxB,EAAAiV,IAAUjV,EAC3CgjE,EAAAjuC,EAAAizC,gBAAAhoE,GACA6lC,EAAA7lC,EAAA,EAAAoD,KAAAyiC,MAAAm9B,EAAAz/D,GAAAsiC,EACAtiC,EAAAy/D,EAGA,OAAAn9B,EASA,SAAAirE,EAAArxG,EAAAsxG,EAAAhlG,GACA,IAGAyI,EAAAgvD,EAHAwtC,EAAAjlG,EAAAklG,aACA/7E,EAAA67E,EAAAG,WACAluC,EAAA+tC,EAAAF,OAAApxG,GAcA,OAXA+G,EAAAo9D,cAAAotC,IACAx8F,EAAAu8F,EAAAlrE,IAAA95B,EAAAolG,mBACA3tC,EAAAz3D,EAAAqlG,gBAKA58F,EAAAw8F,EAAA97E,EACAsuC,EAAA,GAGA,CACA6tC,MAAA78F,EAAA0gB,EACAsuC,QACAzpD,MAAAipD,EAAAxuD,EAAA,GAUA,SAAA88F,EAAA7xG,EAAAsxG,EAAAhlG,GACA,IAKAgO,EAAAvF,EALAq8F,EAAAE,EAAAF,OACA7tC,EAAA6tC,EAAApxG,GACA8D,EAAA9D,EAAA,EAAAoxG,EAAApxG,EAAA,QACAyb,EAAAzb,EAAAoxG,EAAArvG,OAAA,EAAAqvG,EAAApxG,EAAA,QACA8xG,EAAAxlG,EAAAolG,mBAiBA,OAdA,OAAA5tG,IAGAA,EAAAy/D,GAAA,OAAA9nD,EAAA61F,EAAA92F,IAAA+oD,EAAA9nD,EAAA8nD,IAGA,OAAA9nD,IAEAA,EAAA8nD,IAAAz/D,GAGAwW,EAAAipD,KAAAz/D,GAAA,EAAAguG,EACA/8F,GAAA0G,EAAA3X,GAAA,EAAAguG,EAEA,CACAF,MAAA78F,EAAAu8F,EAAAG,WACA1tC,MAAAz3D,EAAAqlG,cACAr3F,SA9KAzT,EAAAW,KAAA,OACAq6B,MAAA,CACAC,KAAA,SAGAC,OAAA,CACAC,MAAA,EACAl8B,KAAA,WAGA4rG,mBAAA,GACAC,cAAA,GAGAxuF,QAAA,EAGA4uF,UAAA,CACAC,iBAAA,KAIA/vE,MAAA,EACAn8B,KAAA,cAKAe,EAAAW,KAAA,iBACAq6B,MAAA,CACAC,KAAA,QACAmwE,KAAA,KAGAlwE,OAAA,CACAC,MAAA,EACAl8B,KAAA,SACA6B,SAAA,WAGAs6B,MAAA,EACAt6B,SAAA,OACA7B,KAAA,WAGA4rG,mBAAA,GACAC,cAAA,GAGAxuF,QAAA,EAGA4uF,UAAA,CACAC,iBAAA,MAKAxjG,SAAA,CACAwjD,UAAA,CACAkgD,cAAA,SAIA7J,SAAA,CACAC,UAAA,CACAtkB,MAAA,SAAAv3E,EAAAjE,GAEA,IAAAw7E,EAAA,GAUA,OARAv3E,EAAA1K,OAAA,IACA0K,EAAA,GAAA0lG,OACAnuB,EAAAv3E,EAAA,GAAA0lG,OACM3pG,EAAAI,OAAA7G,OAAA,GAAA0K,EAAA,GAAAzM,MAAAwI,EAAAI,OAAA7G,SACNiiF,EAAAx7E,EAAAI,OAAA6D,EAAA,GAAAzM,SAIAgkF,GAGA96E,MAAA,SAAAuD,EAAAjE,GACA,IAAA4pG,EAAA5pG,EAAAC,SAAAgE,EAAAvE,cAAAgB,OAAA,GACA,OAAAkpG,EAAA,KAAA3lG,EAAA4lG,SAGAvwE,KAAA,QACAmwE,KAAA,OA2FAhzG,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAG,YAAAiwE,IAAApwE,EAAAI,kBAAAh4B,OAAA,CAEAm4B,gBAAAj0B,EAAA+jG,UAEAhoG,WAAA,WACA,IACAlC,EADA0C,EAAAnL,KAGAsiC,EAAAI,kBAAAzhC,UAAA0J,WAAApI,MAAA4I,EAAAykC,WAEAnnC,EAAA0C,EAAA83B,UACAx6B,EAAAgkG,MAAAthG,EAAAk4B,aAAAopE,MACAhkG,EAAAiqG,KAAA,GAGA5pG,OAAA,SAAAi6B,GACA,IAEApiC,EAAAiV,EAFAzK,EAAAnL,KACA4yG,EAAAznG,EAAA83B,UAAAr6B,KAKA,IAFAuC,EAAA0nG,OAAA1nG,EAAA2nG,WAEAnyG,EAAA,EAAAiV,EAAAg9F,EAAAzwG,OAAmCxB,EAAAiV,IAAUjV,EAC7CwK,EAAA84B,cAAA2uE,EAAAjyG,KAAAoiC,IAIAkB,cAAA,SAAAmuB,EAAAhyD,EAAA2iC,GACA,IAAA53B,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAC,EAAA0C,EAAA83B,UACA75B,EAAA+B,EAAAk4B,aACAL,EAAAovB,EAAApvB,QAAA,GACA+vE,EAAAvqG,EAAAkE,QAAAkC,SAAAwjD,UAEAA,EAAA5sB,QAAAr6B,EAAAg4B,cAAA16B,EAAAs8B,SACAqtB,EAAA3sB,QAAAt6B,EAAAg4B,cAAA16B,EAAA26B,SACAgvB,EAAA3uB,cAAAt4B,EAAA/K,MACAgyD,EAAA1sB,OAAAtlC,EAEAgyD,EAAAzuB,OAAA,CACA6uE,aAAAppG,EAAAE,MACAA,MAAAd,EAAAI,KAAAI,OAAA5I,GACAkyG,cAAAtvE,EAAAsvE,cAAAtvE,EAAAsvE,cAAAS,EAAAT,cACA9oG,gBAAAw5B,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAArC,EAAAk9B,sBAAAj7B,EAAAI,gBAAApJ,EAAA2yG,EAAAvpG,iBACAa,YAAA24B,EAAA34B,YAAA24B,EAAA34B,YAAAlD,EAAAk9B,sBAAAj7B,EAAAiB,YAAAjK,EAAA2yG,EAAA1oG,aACAF,YAAA64B,EAAA74B,YAAA64B,EAAA74B,YAAAhD,EAAAk9B,sBAAAj7B,EAAAe,YAAA/J,EAAA2yG,EAAA5oG,cAGAgB,EAAA6nG,sBAAA5gD,EAAAhyD,EAAA2iC,GAEAqvB,EAAApuB,SAMAgvE,sBAAA,SAAA5gD,EAAAhyD,EAAA2iC,GACA,IAAA53B,EAAAnL,KACA0vB,EAAA0iC,EAAAzuB,OACAsvE,EAAA9nG,EAAA+nG,gBACAxjE,EAAAujE,EAAA3tE,eACA6tE,EAAAF,EAAAlnG,eACA2lG,EAAAvmG,EAAA0nG,QAAA1nG,EAAA2nG,WACAM,EAAAjoG,EAAAkoG,wBAAAloG,EAAA/K,SACAkzG,EAAAnoG,EAAAooG,wBAAApoG,EAAA/K,QAAAsxG,GAEAhiF,EAAAyjF,aACAzjF,EAAAggB,KAAA3M,EAAA2M,EAAA0jE,EAAA1jE,KACAhgB,EAAAvgB,EAAAgkG,EAAApwE,EAAA2M,EAAA0jE,EAAAI,KAAAF,EAAAztF,OACA6J,EAAAtgB,EAAA+jG,EAAAG,EAAAztF,OAAAkd,EAAA2M,EAAA0jE,EAAAI,KACA9jF,EAAAvjB,OAAAgnG,EAAAG,EAAAn+F,UAAAxO,EACA+oB,EAAA1jB,MAAAmnG,OAAAxsG,EAAA2sG,EAAAn+F,MAMAs+F,gBAAA,WACA,OAAAzzG,KAAAijC,UAAAG,SAMAswE,gBAAA,WACA,OAAA1zG,KAAAijC,UAAA8B,SAMAmuE,cAAA,WACA,OAAAlzG,KAAAmjC,cAAAnjC,KAAAyzG,oBAMAE,cAAA,WACA,OAAA3zG,KAAAmjC,cAAAnjC,KAAA0zG,oBASAE,WAAA,SAAA7tC,GACA,IAMAplE,EAAA8H,EANA0C,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAktB,EAAAvqB,EAAAwoG,gBACA3tE,EAAAtQ,EAAAhpB,QAAAs5B,QACApwB,OAAAjP,IAAAo/D,EAAAv9D,EAAAI,KAAAC,SAAA1G,OAAA4jE,EAAA,EACA8tC,EAAA,GAGA,IAAAlzG,EAAA,EAAcA,EAAAiV,IAAUjV,EACxB8H,EAAAD,EAAAE,eAAA/H,GACA8H,EAAAiqG,KAAAlqG,EAAAiB,iBAAA9I,MACA,IAAAqlC,IACA,IAAAA,IAAA,IAAA6tE,EAAA7wG,QAAAyF,EAAAgkG,aACA9lG,IAAAq/B,SAAAr/B,IAAA8B,EAAAgkG,QAAA,IAAAoH,EAAA7wG,QAAAyF,EAAAgkG,UACAoH,EAAAjzG,KAAA6H,EAAAgkG,OAIA,OAAAoH,GAOAC,cAAA,WACA,OAAA9zG,KAAA4zG,aAAAzxG,QAUA4xG,cAAA,SAAAzrG,EAAAnC,GACA,IAAA0tG,EAAA7zG,KAAA4zG,WAAAtrG,GACAlI,OAAAuG,IAAAR,EACA0tG,EAAA7wG,QAAAmD,IACA,EAEA,WAAA/F,EACAyzG,EAAA1xG,OAAA,EACA/B,GAMA0yG,SAAA,WACA,IAQAnyG,EAAAiV,EAAA4wB,EARAr7B,EAAAnL,KACA01B,EAAAvqB,EAAAwoG,gBACA9B,EAAA1mG,EAAA2oG,gBACAxrG,EAAA6C,EAAA/K,MACA2L,EAAA2pB,EAAA3pB,eACA2O,EAAA3O,EAAA2pB,EAAAzpB,KAAAypB,EAAAtpB,IACAwO,EAAAF,GAAA3O,EAAA2pB,EAAA1pB,MAAA0pB,EAAAvpB,QACAqlG,EAAA,GAGA,IAAA7wG,EAAA,EAAAiV,EAAAzK,EAAA83B,UAAAr6B,KAAAzG,OAA+CxB,EAAAiV,IAAUjV,EACzD6wG,EAAA5wG,KAAA80B,EAAA0P,iBAAA,KAAAzkC,EAAA2H,IAOA,OAJAk+B,EAAAr/B,EAAAo9D,cAAA7uC,EAAAhpB,QAAAklG,cACAL,EAAA77E,EAAA87E,IACA,EAEA,CACAhrE,MACAgrE,SACA92F,QACAE,MACAi3F,aACAn8E,UAQA29E,wBAAA,SAAA/qG,EAAAlI,GACA,IASAO,EAAAqzG,EAAAC,EAAAvkE,EAAA8jE,EAAAr+F,EATAhK,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAC,EAAA0C,EAAA83B,UACAvN,EAAAvqB,EAAA+nG,gBACArqG,EAAAL,EAAAI,KAAAC,SACA5C,EAAAyvB,EAAAwQ,cAAAr9B,EAAAP,GAAAM,KAAAxI,IACA4lC,EAAAtQ,EAAAhpB,QAAAs5B,QACAymE,EAAAhkG,EAAAgkG,MACA/xF,EAAA,EAGA,GAAAsrB,QAAAr/B,IAAAq/B,QAAAr/B,IAAA8lG,EACA,IAAA9rG,EAAA,EAAeA,EAAA2H,IAAkB3H,EACjCqzG,EAAAxrG,EAAAE,eAAA/H,GAEAqzG,EAAAtB,KACAsB,EAAAvH,WACAuH,EAAAE,WAAAT,oBAAA/9E,EAAAlrB,IACAhC,EAAAiB,iBAAA9I,KAEAszG,EAAAv+E,EAAAwQ,cAAAr9B,EAAAlI,GAAAiI,KAAAxI,KACA6F,EAAA,GAAAguG,EAAA,GAAAhuG,GAAA,GAAAguG,EAAA,KACAv5F,GAAAu5F,IAUA,OAJAvkE,EAAAha,EAAA0P,iBAAA1qB,GACA84F,EAAA99E,EAAA0P,iBAAA1qB,EAAAzU,GACAkP,GAAAq+F,EAAA9jE,GAAA,EAEA,CACAv6B,OACAu6B,OACA8jE,OACA3tF,OAAA2tF,EAAAr+F,EAAA,IAOAo+F,wBAAA,SAAAjrG,EAAAlI,EAAAsxG,GACA,IAAAvmG,EAAAnL,KACA0M,EAAAglG,EAAAh8E,MAAAhpB,QACAu3D,EAAA,SAAAv3D,EAAAklG,aACAK,EAAA7xG,EAAAsxG,EAAAhlG,GACA+kG,EAAArxG,EAAAsxG,EAAAhlG,GAEAynG,EAAAhpG,EAAA4oG,cAAAzrG,EAAA6C,EAAA83B,UAAAwpE,OACA5mF,EAAAo+C,EAAAvpD,MAAAupD,EAAA+tC,MAAAmC,EAAAlwC,EAAA+tC,MAAA,EACA78F,EAAApR,KAAAyiC,IACAr/B,EAAA+F,eAAAR,EAAA0nG,gBAAAx/F,KACAqvD,EAAA+tC,MAAA/tC,EAAAE,OAEA,OACAz0B,KAAA7pB,EAAA1Q,EAAA,EACAq+F,KAAA3tF,EAAA1Q,EAAA,EACA0Q,SACA1Q,SAIAzG,KAAA,WACA,IAAAvD,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAktB,EAAAvqB,EAAA+nG,gBACAN,EAAAznG,EAAA83B,UAAAr6B,KACAQ,EAAA+B,EAAAk4B,aACAztB,EAAAg9F,EAAAzwG,OACAxB,EAAA,EAIA,IAFAwG,EAAA2I,OAAAs3B,SAAA5+B,EAAAuE,IAAAvE,EAAA89B,WAES3lC,EAAAiV,IAAUjV,EACnB0O,MAAAqmB,EAAAwQ,cAAA98B,EAAAR,KAAAjI,MACAiyG,EAAAjyG,GAAA+N,OAIAvH,EAAA2I,OAAAu3B,WAAA7+B,EAAAuE,QAIAu1B,EAAAG,YAAA4xE,cAAA/xE,EAAAG,YAAAiwE,IAAAhoG,OAAA,CAIA+oG,gBAAA,WACA,OAAAzzG,KAAAijC,UAAA8B,SAMA2uE,gBAAA,WACA,OAAA1zG,KAAAijC,UAAAG,+CC7dA,IAAAkxE,EAAA70G,EAAA,QAAA80G,EAAA90G,EAAAyC,EAAAoyG,GAA+qBC,EAAG,wBCAlrBl1G,EAAAC,QAAAk1G,OAAA,QACAn1G,EAAAC,QAAAm1G,WAAA,gBACAp1G,EAAAC,QAAAo1G,aAAA,gDCFA,IAAAC,EAAAl1G,EAAA,QAAAm1G,EAAAn1G,EAAAyC,EAAAyyG,GAAqqBC,EAAG,8DCAxqB,IAAAC,EAAAp1G,EAAA,QAAAq1G,EAAAr1G,EAAA,QAAAs1G,EAAAt1G,EAAA,QAAAu1G,EAAAv1G,EAAA,QAAAw1G,EAAAx1G,EAAA,QA6BAy1G,EAAA,SAAArgE,GACA,SAAAqgE,EAAA5vF,EAAAtP,EAAAm/B,EAAA0E,EAAAs7D,EAAAC,GAEAvgE,EAAA7jC,KAAAhR,KAAAslB,EAAAtP,EAAAm/B,EAAyD2/D,EAAA,KAAUz+D,MAMnEr2C,KAAAq1G,KAAAx7D,EAMA75C,KAAAs1G,OAAA,IAAAt9D,MACA,OAAAm9D,IACAn1G,KAAAs1G,OAAAH,eAOAn1G,KAAAu1G,mBAAA,KAMAv1G,KAAAo3B,MAAiB09E,EAAA,KAAUz+D,KAM3Br2C,KAAAw1G,mBAAAJ,EA+EA,OA3EAvgE,IAAAqgE,EAAAvxF,UAAAkxB,GACAqgE,EAAAj0G,UAAAmX,OAAAwL,OAAAixB,KAAA5zC,WACAi0G,EAAAj0G,UAAA4iB,YAAAqxF,EAMAA,EAAAj0G,UAAAm2C,SAAA,WACA,OAAAp3C,KAAAs1G,QAQAJ,EAAAj0G,UAAAw0G,kBAAA,WACAz1G,KAAAo3B,MAAiB09E,EAAA,KAAUl9D,MAC3B53C,KAAA01G,iBACA11G,KAAA6Q,WAQAqkG,EAAAj0G,UAAA00G,iBAAA,gBACAhvG,IAAA3G,KAAAgW,aACAhW,KAAAgW,WAAwBoC,OAAA68F,EAAA,KAAA78F,CAASpY,KAAAslB,QAAAtlB,KAAAs1G,OAAAnpG,QAEjCnM,KAAAo3B,MAAiB09E,EAAA,KAAU1+D,OAC3Bp2C,KAAA01G,iBACA11G,KAAA6Q,WAUAqkG,EAAAj0G,UAAA02C,KAAA,WACA33C,KAAAo3B,OAAsB09E,EAAA,KAAUz+D,MAAAr2C,KAAAo3B,OAAuB09E,EAAA,KAAUl9D,QACjE53C,KAAAo3B,MAAmB09E,EAAA,KAAU59D,QAC7Bl3C,KAAA6Q,UACA7Q,KAAAu1G,mBAAA,CACQn9F,OAAA28F,EAAA,KAAA38F,CAAUpY,KAAAs1G,OAAcN,EAAA,KAASp9D,MACzC53C,KAAAy1G,kBAAAz1G,MACQoY,OAAA28F,EAAA,KAAA38F,CAAUpY,KAAAs1G,OAAcN,EAAA,KAASY,KACzC51G,KAAA21G,iBAAA31G,OAEAA,KAAAw1G,mBAAAx1G,UAAAq1G,QAOAH,EAAAj0G,UAAA40G,SAAA,SAAAn+D,GACA13C,KAAAs1G,OAAA59D,GAQAw9D,EAAAj0G,UAAAy0G,eAAA,WACA11G,KAAAu1G,mBAAAz+F,QAAoCi+F,EAAA,MACpC/0G,KAAAu1G,mBAAA,MAGAL,EAnHA,CAoHEL,EAAA,MAGar0F,EAAA,0CCpJf,IAAAvI,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBe,MAAA,CAAO7pB,KAAA,OAAaklE,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,+DAAyFo8C,OAAA,GAAY,CAAExyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,YAAuBe,MAAA,CAAOo1D,OAAA,GAAAR,MAAA,IAAuBj0D,GAAA,CAAKC,MAAA,SAAAkb,GAAyBhd,EAAAq8C,YAAA,MAAyBl8C,EAAA,YAAiBe,MAAA,CAAO40D,MAAA,GAAAt1E,KAAA,IAAqBqhB,GAAA,CAAKC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAAgnF,mBAA6B,CAAA7mF,EAAA,SAAAH,EAAAM,GAAA,0BAA8Co8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAA,WAAAliB,SAAA,SAAA+iB,GAAgDb,EAAAq8C,WAAAx7C,GAAmBE,WAAA,eAA0B,CAAAf,EAAA,WAAAG,EAAA,gBAAsCe,MAAA,CAAOtjB,QAAAoiB,EAAAinF,WAAAtkF,QAAA3C,EAAAinF,WAAA,GAAAzlB,cAAA,GAAAt5D,SAAA,GAAA7wB,KAAA,cAAwGklE,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wDAAkFo8C,OAAA,IAAY,mBAAA97C,MAAA,CAA+BzpB,MAAA6oB,EAAA,YAAAliB,SAAA,SAAA+iB,GAAiDb,EAAAknF,YAAArmF,GAAoBE,WAAA,iBAA2Bf,EAAAgB,KAAAb,EAAA,aAA2Be,MAAA,CAAO7pB,KAAA,OAAA6wB,SAAA,IAA4Bq0C,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yDAAmFo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAAmnF,KAAA,KAAArpG,SAAA,SAAA+iB,GAA+Cb,EAAAkgE,KAAAlgE,EAAAmnF,KAAA,OAAAtmF,IAAgCE,WAAA,eAAyBZ,EAAA,aAAkBe,MAAA,CAAOkmF,UAAA,GAAAn7E,KAAAjM,EAAAiM,KAAA50B,KAAA,eAAoDklE,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,gEAA0Fo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAAmnF,KAAA,YAAArpG,SAAA,SAAA+iB,GAAsDb,EAAAkgE,KAAAlgE,EAAAmnF,KAAA,cAAAtmF,IAAuCE,WAAA,sBAAgCZ,EAAA,OAAYE,YAAA,OAAkB,CAAAF,EAAA,OAAYE,YAAA,YAAuB,CAAAF,EAAA,qBAA0BjW,IAAA,kBAAAgX,MAAA,CAA6BmmF,IAAA,GAAAhwG,KAAA,YAAA6wB,SAAA,IAA0Cq0C,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8DAAwFo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAAmnF,KAAA,UAAArpG,SAAA,SAAA+iB,GAAoDb,EAAAkgE,KAAAlgE,EAAAmnF,KAAA,YAAAtmF,IAAqCE,WAAA,qBAA8B,GAAAZ,EAAA,OAAgBE,YAAA,YAAuB,CAAAF,EAAA,qBAA0BjW,IAAA,gBAAAgX,MAAA,CAA2BmmF,IAAA,GAAAhwG,KAAA,UAAAqgC,IAAA1X,EAAAmnF,KAAAG,WAAmD/qC,YAAAv8C,EAAAw8C,GAAA,EAAsBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,4DAAsFo8C,OAAA,KAAY97C,MAAA,CAAUzpB,MAAA6oB,EAAAmnF,KAAA,QAAArpG,SAAA,SAAA+iB,GAAkDb,EAAAkgE,KAAAlgE,EAAAmnF,KAAA,UAAAtmF,IAAmCE,WAAA,mBAA4B,UACvkFqB,EAAA,mvBCmFA,IAAAmlF,EAAA,CACAhjF,WAAA,CACAi6D,YAAA,KACAmF,eAAA,KACA6jB,oBAAA,KACA7Y,UAAA,KACA1X,WAAA,MAEA1zD,OAAA,CACAm7D,EAAA,MAEA70E,MAAA,CACA1S,MAAAkmC,QACAoqE,kBAAA10G,MACA20G,YAAA30G,OAEA+G,KAhBA,WAiBA,OACAmyB,KAAA,IAGArJ,SAAAuF,EAAA,CACAk0C,WAAAU,EAAA,MACAzzD,OAAAyzD,EAAA,KAAAzzD,CAAA,oBACA,QACA,SAJA,CAMA29F,WANA,WAOA,OAAA/1G,KAAAy2G,MAAAt0G,OACAnC,KAAAy2G,MAAAttG,IAAA,SAAAkd,GACA,OAAApgB,MAAAogB,EAAA7b,GAAAnB,KAAAgd,EAAA7b,GAAAlB,MAAA,IAAAoL,OAAA2R,EAAAqwF,YAFA,MAKAV,YAAA,CACA19F,IADA,WACA,IAAAwC,EAAA9a,KACA,WAAAA,KAAA+1G,WAAA5zG,QAAA,OAAAnC,KAAAi2G,KAAAU,MAAA,KAEA32G,KAAA+1G,WAAAlnE,KAAA,SAAA+nE,GAAA,OAAAA,EAAA3wG,QAAA6U,EAAAm7F,KAAAU,SAEAp+F,IANA,SAMAtS,GACAjG,KAAAi2G,KAAAU,MAAA1wG,YAIAsuB,QAAA0C,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,oBACA,aACA,cAHA,CAKA09F,cALA,eAAAe,EAAAz+F,OAAAmuE,EAAA,KAAAnuE,CAAAouE,mBAAAC,KAAA,SAAAC,IAAA,IAAAzrE,EAAAjb,KAAA,OAAAwmF,mBAAAG,KAAA,SAAAC,GAAA,eAAAA,EAAA1iF,KAAA0iF,EAAA/qE,MAAA,cAMA7b,KAAAovF,WANAxI,EAAA/qE,KAAA,EAOA7b,KAAAqvF,YAPA,UASA,YAAArvF,KAAAo3B,MATA,CAAAwvD,EAAA/qE,KAAA,eAAA+qE,EAAA/qE,KAAA,EAUA7b,KAAA82G,aACAvnD,KAAA,WACAt0C,EAAAkwD,YAAA,IAEA5b,KAAA,kBAAAyc,EAAA,iBAAAwjB,QAAAv0E,EAAAsU,MAAAy7B,UAAA,sBACA+rD,MAAA,kBAAA/qC,EAAA,iBAAAgO,MAAA/+D,EAAAsU,MAAAy7B,UAAA,6BAfA,wBAAA47B,EAAAp0E,SAAAk0E,EAAA1mF,SAAA,SAAA81G,IAAA,OAAAe,EAAAt0G,MAAAvC,KAAA4vC,WAAA,OAAAkmE,EAAA,KAmBAxmD,QA/DA,WAgEAtvD,KAAAg3G,aAEA7hF,QAlEA,WAmEAn1B,KAAAi2G,KAAAM,kBAAAv2G,KAAAu2G,kBACAv2G,KAAAi2G,KAAAO,YAAAx2G,KAAAw2G,cCxJ+XS,EAAA,0BCQ/XnlF,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd6+F,EACAh/F,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,6CCnBf,IAAA7Z,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,aAAwB,CAAAF,EAAA,KAAUe,MAAA,CAAOo7C,KAAA,KAAWz6C,GAAA,CAAKC,MAAA,SAAAkb,GAAiD,OAAxBA,EAAAqzB,iBAAwBrwC,EAAAooF,eAAAprE,MAAoC,CAAAhd,EAAAoD,GAAA,QAAAjD,EAAA,SAAAH,EAAAM,GAAA,8BACxP8B,EAAA,GCUAimF,EAAA,CACAx+F,MAAA,CACAD,OAAA,CACAxS,KAAAwmB,OACAsK,UAAA,IAGAzC,QAAA,CACA2iF,eADA,WAEAl3G,KAAA+nF,QAAAnnF,KAAA,CAAAuF,KAAAnG,KAAA0Y,YCpBsa0+F,EAAA,0BCQtatlF,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdg/F,EACAn/F,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,+CCnBf,IAAA7Z,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,gBAAAolC,MAAA,CAAmCI,QAAA7lC,EAAA7oB,QAAoB,CAAA6oB,EAAA,kBAAAG,EAAA,OAAoCE,YAAA,yBAAAwB,GAAA,CAAyCC,MAAA,SAAAkb,GAAyBhd,EAAAq8C,YAAA,KAAyB,CAAAr8C,EAAAoD,GAAA,YAAApD,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAAuoF,UAAA,gBAAAvoF,EAAAgB,KAAAb,EAAA,OAA+FE,YAAA,SAAAolC,MAAA,CAA4B+iD,aAAAxoF,EAAA7oB,OAAwB0qB,GAAA,CAAKC,MAAA,SAAAkb,GAAyBhd,EAAAq8C,YAAAr8C,EAAAq8C,cAAmC,CAAAl8C,EAAA,SAAcwc,WAAA,EAAatlC,KAAA,QAAAulC,QAAA,UAAAzlC,MAAA6oB,EAAA,WAAAe,WAAA,eAA8EG,MAAA,CAAS9pB,KAAA,YAAkB6uD,SAAA,CAAWJ,QAAA9yD,MAAAkE,QAAA+oB,EAAAq8C,YAAAr8C,EAAAkmC,GAAAlmC,EAAAq8C,WAAA,SAAAr8C,EAAA,YAAwF6B,GAAA,CAAKskC,OAAA,SAAAnpB,GAA0B,IAAAopB,EAAApmC,EAAAq8C,WAAAhW,EAAArpB,EAAApzB,OAAA08C,IAAAD,EAAAR,QAA0E,GAAA9yD,MAAAkE,QAAAmvD,GAAA,CAAuB,IAAAvlC,EAAA,KAAA0lC,EAAAvmC,EAAAkmC,GAAAE,EAAAvlC,GAAiCwlC,EAAAR,QAAiBU,EAAA,IAAAvmC,EAAAq8C,WAAAjW,EAAAxgD,OAAA,CAAAib,KAA+C0lC,GAAA,IAAAvmC,EAAAq8C,WAAAjW,EAAA5yD,MAAA,EAAA+yD,GAAA3gD,OAAAwgD,EAAA5yD,MAAA+yD,EAAA,UAAyEvmC,EAAAq8C,WAAA/V,MAAsBnmC,EAAA,QAAaslC,MAAA,CAAOgjD,QAAA,EAAAvsD,UAAAl8B,EAAA7oB,WAAoCgpB,EAAA,OAAcE,YAAA,wBAAAwB,GAAA,CAAwCC,MAAA,SAAAkb,GAAyBhd,EAAAq8C,aAAAr8C,EAAA0oF,oBAAA1oF,EAAAq8C,cAAqE,CAAAr8C,EAAAoD,GAAA,kBACvuChB,EAAA,eCmBAumF,EAAA,CACA9+F,MAAA,CACA1S,MAAAkmC,QACAkrE,SAAA3qF,QAEAgF,SAAA,CACA8lF,kBADA,WAEA,OAAAx3G,KAAAu1D,OAAA8hD,UAAAr3G,KAAAq3G,UAEAlsC,WAAAU,EAAA,OC7BmY6rC,EAAA,0BCQnY5lF,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACds/F,EACAz/F,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,+CCjBf,IAAA7qB,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,SACA8tB,MAAA,CACAxvB,KAAA,gBAEA0I,SAAA,CACAC,KAAA,CACAy0B,QAAA,MAKAjkC,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAG,YAAAk1E,MAAAr1E,EAAAI,kBAAAh4B,OAAA,CAEAi4B,mBAAA/zB,EAAAg0B,KAEAC,gBAAAj0B,EAAAk0B,MAEAkN,WAAA7oC,EAAAE,KAEAyB,OAAA,SAAAi6B,GACA,IAAA53B,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAp0B,EAAApG,EAAAW,QACApH,EAAAyG,EAAAG,KACAo6B,EAAAn0B,EAAAm0B,QAAA,GACA55B,EAAA+B,EAAAk4B,aACAH,EAAA/3B,EAAA3C,MAAAkE,QAAAkC,SAAAC,KACA6mB,EAAAvqB,EAAA3C,MAAAktB,WAGA/uB,IAAAyC,EAAAk6B,cAAA38B,IAAAyC,EAAAm6B,cACAn6B,EAAAm6B,YAAAn6B,EAAAk6B,SAGAn8B,EAAAuD,OAAAjC,EAAAW,QAAA,CAEAq6B,cAAAt4B,EAAA/K,MACAojC,OAAA9N,EAEAgO,UAAA1hC,EACA6a,OAAA,EAEA8mB,OAAA,CAEAL,QAAAN,EAAAM,QAAAN,EAAAM,QAAAn8B,EAAA+F,eAAA9D,EAAAm6B,YAAAL,EAAAI,SACA95B,gBAAAw5B,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAAJ,EAAAI,iBAAA05B,EAAA15B,gBACAW,YAAA64B,EAAA74B,YAAA64B,EAAA74B,YAAAf,EAAAe,aAAA+4B,EAAA/4B,YACAE,YAAA24B,EAAA34B,YAAA24B,EAAA34B,YAAAjB,EAAAiB,aAAA64B,EAAA74B,YACAu5B,KAAAZ,EAAAY,KAAAZ,EAAAY,UAAAj9B,IAAAyC,EAAAw6B,KAAAx6B,EAAAw6B,KAAAV,EAAAU,KACAj6B,eAAAq5B,EAAAr5B,eAAAq5B,EAAAr5B,eAAAP,EAAAO,gBAAAu5B,EAAAv5B,eACAE,WAAAm5B,EAAAn5B,WAAAm5B,EAAAn5B,WAAAT,EAAAS,YAAAq5B,EAAAr5B,WACAE,iBAAAi5B,EAAAj5B,iBAAAi5B,EAAAj5B,iBAAAX,EAAAW,kBAAAm5B,EAAAn5B,iBACAE,gBAAA+4B,EAAA/4B,gBAAA+4B,EAAA/4B,gBAAAb,EAAAa,iBAAAi5B,EAAAj5B,mBAIAxB,EAAAW,QAAA46B,QAGA78B,EAAA6G,KAAAhM,EAAA,SAAAqB,EAAAjD,GACA+K,EAAA84B,cAAA5gC,EAAAjD,EAAA2iC,IACI53B,GAGJA,EAAA+4B,6BAEAD,cAAA,SAAA5gC,EAAAjD,EAAA2iC,GACA,IAAA53B,EAAAnL,KACAgjC,EAAA3/B,EAAA2/B,QAAA,GACA55B,EAAA+B,EAAAk4B,aACA3N,EAAAvqB,EAAA3C,MAAAktB,MACAkiF,EAAAzsG,EAAA3C,MAAAkE,QAAAkC,SAAAvL,MACAw0G,EAAAniF,EAAAoiF,yBAAA13G,EAAAgJ,EAAAR,KAAAxI,SAGAuG,IAAAyC,EAAAsG,aAAA/I,IAAAyC,EAAA67B,cACA77B,EAAA67B,YAAA77B,EAAAsG,aAEA/I,IAAAyC,EAAA87B,gBAAAv+B,IAAAyC,EAAA+7B,iBACA/7B,EAAA+7B,eAAA/7B,EAAA87B,WAGA/9B,EAAAuD,OAAArH,EAAA,CAEAogC,cAAAt4B,EAAA/K,MACAslC,OAAAtlC,EACAojC,OAAA9N,EAGAiO,OAAA,CACAx0B,EAAA4zB,EAAArN,EAAAqiF,QAAAF,EAAA1oG,EACAC,EAAA2zB,EAAArN,EAAAsiF,QAAAH,EAAAzoG,EAGAk0B,QAAAN,EAAAM,QAAAN,EAAAM,QAAAn8B,EAAA+F,eAAA9D,EAAAm6B,YAAAp4B,EAAA3C,MAAAkE,QAAAkC,SAAAC,KAAAy0B,SACA5zB,OAAAszB,EAAAtzB,OAAAszB,EAAAtzB,OAAAvI,EAAAk9B,sBAAAj7B,EAAA67B,YAAA7kC,EAAAw3G,EAAAloG,QACAlG,gBAAAw5B,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAArC,EAAAk9B,sBAAAj7B,EAAAg7B,qBAAAhkC,EAAAw3G,EAAApuG,iBACAa,YAAA24B,EAAA34B,YAAA24B,EAAA34B,YAAAlD,EAAAk9B,sBAAAj7B,EAAAm7B,iBAAAnkC,EAAAw3G,EAAAvtG,aACAF,YAAA64B,EAAA74B,YAAA64B,EAAA74B,YAAAhD,EAAAk9B,sBAAAj7B,EAAAq7B,iBAAArkC,EAAAw3G,EAAAztG,aACAG,WAAA04B,EAAA14B,WAAA04B,EAAA14B,WAAAnD,EAAAk9B,sBAAAj7B,EAAAkB,WAAAlK,EAAAw3G,EAAAttG,YACAs6B,SAAA5B,EAAA4B,SAAA5B,EAAA4B,SAAAz9B,EAAAk9B,sBAAAj7B,EAAAu7B,cAAAvkC,EAAAw3G,EAAAhzE,UAGAM,UAAAlC,EAAAkC,UAAAlC,EAAAkC,UAAA/9B,EAAAk9B,sBAAAj7B,EAAA+7B,eAAA/kC,EAAAw3G,EAAA1yE,cAIA7hC,EAAAsgC,OAAAgC,KAAA3C,EAAA2C,KAAA3C,EAAA2C,KAAAt2B,MAAAhM,EAAAsgC,OAAAx0B,IAAAE,MAAAhM,EAAAsgC,OAAAv0B,IAEA80B,0BAAA,WACA,IAAAoC,EAAAtmC,KAAAwI,MAAA89B,UACA79B,EAAAzI,KAAAijC,UAEA97B,EAAA6G,KAAAvF,EAAAG,KAAA,SAAAvF,EAAAjD,GACA,IAAAsvB,EAAArsB,EAAAsgC,OACAyC,EAAAj/B,EAAAu/B,YACAv/B,EAAAw/B,aAAAl+B,EAAAG,KAAAxI,GAAA,GAAAujC,OACAjU,EACAvoB,EAAAy/B,SAAAn+B,EAAAG,KAAAxI,GAAA,GAAAujC,OACAjU,EAAA4T,SAIA5T,EAAAmX,sBAAA9iC,KAAA0K,IAAA1K,KAAAyiC,IAAAJ,EAAAU,SAAA33B,EAAAm3B,EAAAp6B,OAAAo6B,EAAAr6B,MACAyjB,EAAAqX,sBAAAhjC,KAAA0K,IAAA1K,KAAAyiC,IAAAJ,EAAAU,SAAA13B,EAAAk3B,EAAAj6B,QAAAi6B,EAAAl6B,KAEAsjB,EAAAsX,kBAAAjjC,KAAA0K,IAAA1K,KAAAyiC,IAAAJ,EAAAvqB,KAAA1M,EAAAm3B,EAAAp6B,OAAAo6B,EAAAr6B,MACAyjB,EAAAuX,kBAAAljC,KAAA0K,IAAA1K,KAAAyiC,IAAAJ,EAAAvqB,KAAAzM,EAAAk3B,EAAAj6B,QAAAi6B,EAAAl6B,KAGA/I,EAAA2gC,WAIAsD,cAAA,SAAAjkC,GAEA,IAAA+F,EAAApJ,KAAAwI,MAAAI,KAAAC,SAAAxF,EAAAogC,eACAT,EAAA3/B,EAAA2/B,QAAA,GACA5iC,EAAAiD,EAAAqiC,OACAhW,EAAArsB,EAAAsgC,OAEAtgC,EAAAkkC,eAAA,CACA/9B,gBAAAkmB,EAAAlmB,gBACAa,YAAAqlB,EAAArlB,YACAF,YAAAulB,EAAAvlB,YACAuF,OAAAggB,EAAAhgB,QAGAggB,EAAAhgB,OAAAszB,EAAA+E,YAAA/E,EAAA+E,YAAA5gC,EAAAk9B,sBAAAj7B,EAAA4+B,iBAAA5nC,EAAAJ,KAAAwI,MAAAkE,QAAAkC,SAAAvL,MAAA0kC,aACArY,EAAAlmB,gBAAAw5B,EAAAwE,qBAAAxE,EAAAwE,qBAAArgC,EAAAk9B,sBAAAj7B,EAAAq+B,0BAAArnC,EAAA+G,EAAAugC,cAAAhY,EAAAlmB,kBACAkmB,EAAArlB,YAAA24B,EAAA2E,iBAAA3E,EAAA2E,iBAAAxgC,EAAAk9B,sBAAAj7B,EAAAw+B,sBAAAxnC,EAAA+G,EAAAugC,cAAAhY,EAAArlB,cACAqlB,EAAAvlB,YAAA64B,EAAA6E,iBAAA7E,EAAA6E,iBAAA1gC,EAAAk9B,sBAAAj7B,EAAA0+B,sBAAA1nC,EAAAsvB,EAAAvlB,yCC/JA,IAAA1B,EAAWhJ,EAAQ,QAoBnBJ,EAAAC,QAAA,SAAAwU,GACA,IAAAmkG,EAAA,CACAv0D,WAAA,CAAqB/9C,YAAA,GAAAmN,WAAA,IACrBgxC,gBAAA,CAA0Bn+C,YAAA,GAAAmN,WAAA,IAC1BkxC,aAAA,CAAuBr+C,YAAA,GAAAmN,WAAA,KAGvBolG,EAAA9/F,OAAA2C,KAAAk9F,GAAAnkF,OAAA,SAAAqkF,EAAAtrG,GAEA,OADAsrG,EAAAtrG,EAAA8Q,QAAA,aAAA9Q,EACAsrG,GACK,IAEL,SAAAC,EAAA/xG,EAAA2S,EAAAxB,GACAA,EAGAygG,EAAAj/F,GAAArT,YAAAsyG,EAAAj/F,GAAArT,YAAA+O,OAAArO,EAAAR,SAAAF,aAFAsyG,EAAAj/F,GAAArT,YAAA/E,KAAAyF,EAAAR,SAAAF,aAIAsyG,EAAAj/F,GAAAlG,WAAAlS,KAAAyF,EAAAyM,YAYA,OATArK,EAAAwK,YAAAa,EAAA,SAAAzN,GACAA,EAAAR,WACAoyG,EAAA5xG,EAAAR,SAAAK,MACAkyG,EAAA/xG,IAAAR,SAAAK,MAAA,GACSgyG,EAAA7xG,EAAAR,SAAAK,OACTkyG,EAAA/xG,EAAA6xG,EAAA7xG,EAAAR,SAAAK,OAAA,MAIA,CACAA,KAAA,oBACAM,SAAA4R,OAAA2C,KAAAk9F,GACAv2G,OAAA,SAAAsX,GACA,OAAAi/F,EAAAj/F,GAAArT,YAAAxD,SAEA6C,OACAmE,IAAA,SAAA6P,GACA,OACA9S,KAAA,UACA4M,WAAA,CACAulG,oBAAAJ,EAAAj/F,GAAAlG,YAEAjN,SAAA,CACAK,KAAA8S,EACArT,YAAAsyG,EAAAj/F,GAAArT,wCCjEA,IAAA2yG,EAAY74G,EAAQ,QACpBgJ,EAAWhJ,EAAQ,QACnBwT,EAAAxK,EAAAwK,YACAtB,EAAAlJ,EAAAkJ,UA2QA,SAAA4mG,EAAAn4F,GACA,IAAA65D,EAAA,CAAA75D,EAAA,GAAAA,EAAA,IACA85D,EAAA,CAAA95D,EAAA,GAAAA,EAAA,IACA+5D,EAAA,CAAA/5D,EAAA,GAAAA,EAAA,IACAg6D,EAAA,CAAAh6D,EAAA,GAAAA,EAAA,IACAza,EAAA,EAAAs0E,EAAAG,EAAAD,EAAAD,EAAAD,IAEA,OACA/zE,KAAA,UACAka,OACAtN,WAAA,GACAjN,SAAA,CACAK,KAAA,UACAP,gBAoBA,SAAA8jC,EAAA/iC,GACA,IAAA0Z,EAAA,CAAAxL,mBAOA,OANAjD,EAAAjL,EAAA,SAAA2M,GACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,MAEA+M,EAvSA/gB,EAAAC,QAAA,SAAAk5G,GACA,IAAAj+C,EAAA+9C,EAAAE,GA2OA,OA1NAj+C,EAAAp3D,OAAA,SAAAkD,GACA,GAAAxE,MAAAkE,QAAAM,GAAA,CACA,IAAA+Z,EAAA/Z,EACAA,EAAAkyG,EAAAn4F,GACA/Z,EAAA+Z,YAEA/Z,EAAA+Z,KAAA/Z,EAAA+Z,KAAA/Z,EAAA+Z,KAAAqpB,EAAApjC,GAEA,OAAAiyG,EAAAr3G,UAAAkC,OAAA6N,KAAAhR,KAAAqG,IAgCAk0D,EAAA5iB,KAAA,SAAAnxC,GACA,IAAAmxC,EAAA,GAeA,OAbA91C,MAAAkE,QAAAS,GACAA,EAAAsQ,QAAA,SAAAsJ,GACA,IAAA/Z,EAAAkyG,EAAAn4F,GACA/Z,EAAA+Z,OACAu3B,EAAA/2C,KAAAyF,KAIA4M,EAAAzM,EAAA,SAAAH,GACAA,EAAA+Z,KAAA/Z,EAAA+Z,KAAA/Z,EAAA+Z,KAAAqpB,EAAApjC,GACAsxC,EAAA/2C,KAAAyF,KAGAiyG,EAAAr3G,UAAA02C,KAAA3mC,KAAAhR,KAAA23C,IAmBA4iB,EAAAk+C,OAAA,SAAApyG,GACA,GAAAxE,MAAAkE,QAAAM,GAAA,CACA,IAAA+Z,EAAA/Z,EACAA,EAAAkyG,EAAAn4F,GACA/Z,EAAA+Z,OAEA,OAAAk4F,EAAAr3G,UAAAw3G,OAAAznG,KAAAhR,KAAAqG,IAUAk0D,EAAAtL,MAAA,WACA,OAAAqpD,EAAAr3G,UAAAguD,MAAAj+C,KAAAhR,OAmBAu6D,EAAAm+C,OAAA,SAAAhyG,GACA,IAAAF,EAAA8xG,EAAAr3G,UAAAy3G,OAAA1nG,KAAAhR,UAAA24G,OAAAjyG,IACA,OACAR,KAAA,oBACAM,aAoBA+zD,EAAAq+C,SAAA,SAAAlyG,GACA,OAAA4xG,EAAAr3G,UAAA23G,SAAA5nG,KAAAhR,UAAA24G,OAAAjyG,KAWA6zD,EAAAs+C,IAAA,WACA,IAAAryG,EAAA8xG,EAAAr3G,UAAA43G,IAAA7nG,KAAAhR,MACA,OACAkG,KAAA,oBACAM,aAYA+zD,EAAAu+C,OAAA,WACA,OAAAR,EAAAr3G,UAAA63G,OAAA9nG,KAAAhR,OA8BAu6D,EAAAw+C,SAAA,SAAAC,GACA,OAAAV,EAAAr3G,UAAA83G,SAAA/nG,KAAAhR,KAAAg5G,IAUAz+C,EAAAo+C,OAAA,SAAAjyG,GACA,IAAA0Z,EAKA,OAJAA,EAAA1Z,EAAA0Z,KAAA1Z,EAAA0Z,KACAve,MAAAkE,QAAAW,IAAA,IAAAA,EAAAvE,OAAAuE,EACA+iC,EAAA/iC,GAEA,CACAq3E,KAAA39D,EAAA,GACA49D,KAAA59D,EAAA,GACA69D,KAAA79D,EAAA,GACA89D,KAAA99D,EAAA,KAGAm6C,2BC5PA,IAAA7mD,EAAejU,EAAQ,QACvBgqC,EAAehqC,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB4D,EAAA8D,EAAA9D,MACAo2B,EAAAtyB,EAAAsyB,QACAlzB,EAAAY,EAAAZ,kBAqBAlH,EAAAC,QAAA,SAAA8gB,EAAA64F,EAAA95E,EAAA+5E,GACA,IAAAlyG,EAAA,GAGA,IAAAoZ,EAAA,UAAAhe,MAAA,oBAEA,GADAP,MAAAkE,QAAAqa,OAAAqpB,EAAArpB,IACA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,+BAEA,IAAA4zB,EAAA5V,EAAA,GACA6V,EAAA7V,EAAA,GACA8V,EAAA9V,EAAA,GACA+V,EAAA/V,EAAA,GAGA+4F,EAAAzlG,EAAArQ,EAAA,CAAA2yB,EAAAC,IAAA5yB,EAAA,CAAA6yB,EAAAD,IAAAkJ,GACAi6E,EAAA1lG,EAAArQ,EAAA,CAAA2yB,EAAAC,IAAA5yB,EAAA,CAAA2yB,EAAAG,IAAAgJ,GAGAyhE,EAAA78F,KAAAo6B,KAAAg7E,EAAAF,GACAl+E,EAAAh3B,KAAAo6B,KAAAi7E,EAAAH,GAGAI,EAAAJ,EAAAE,EACAlrC,EAAAorC,GAAAnjF,EAAAF,IACA,IAAAkjF,IAAAjrC,GAAAkrC,EAAAF,EAAArY,GAGA,IAAA0Y,EAAAL,EAAAG,EACAG,EAAAD,GAAAnjF,EAAAF,IACA,IAAAijF,IAAAK,GAAAH,EAAAH,EAAAl+E,GAIA,IADA,IAAAy+E,EAAAxjF,EACAyjF,EAAA,EAAwBA,EAAA7Y,EAAkB6Y,IAAA,CAE1C,IADA,IAAAC,EAAAzjF,EACAyC,EAAA,EAAyBA,EAAAqC,EAAYrC,IAAA,CACrC,IAAAihF,EAAAlgF,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,MAEA1yG,EAAApG,KAAA+4G,GAEAD,GAAAH,EAEAC,GAAAvrC,EAEA,OAAA1nE,EAAAS,yCC3EA,IAAA4yG,EAAAn6G,EAAA,QAAAo6G,EAAAp6G,EAAAyC,EAAA03G,GAAwqBC,EAAG,mDCA3qB,IAAAnmG,EAAejU,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtBg6B,EAAAtyB,EAAAsyB,QACAlzB,EAAAY,EAAAZ,kBAoBAlH,EAAAC,QAAA,SAAA8gB,EAAA64F,EAAA95E,GACA,IAAArrB,EAAAvN,EAAA,IACA8yG,EAAAJ,EAAAvlG,EAAA,CAAA0M,EAAA,GAAAA,EAAA,KAAAA,EAAA,GAAAA,EAAA,IAAA+e,GACA8uC,EAAAorC,GAAAj5F,EAAA,GAAAA,EAAA,IACAk5F,EAAAL,EAAAvlG,EAAA,CAAA0M,EAAA,GAAAA,EAAA,KAAAA,EAAA,GAAAA,EAAA,IAAA+e,GACAo6E,EAAAD,GAAAl5F,EAAA,GAAAA,EAAA,IAEA05F,EAAA,EACAN,EAAAp5F,EAAA,GACA,MAAAo5F,GAAAp5F,EAAA,IACA,IAAA25F,EAAA,EACAL,EAAAt5F,EAAA,GACA,MAAAs5F,GAAAt5F,EAAA,GACA05F,EAAA,OAAAC,EAAA,MACAjmG,EAAAtN,SAAA5F,KAAA64B,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,MACAjgF,EAAA,EACA,CAAA+/E,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,EAAAH,OAEaO,EAAA,OAAAC,EAAA,MACbjmG,EAAAtN,SAAA5F,KAAA64B,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,MACAjgF,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAE,OAEaK,EAAA,OAAAD,EAAA,MACbhmG,EAAAtN,SAAA5F,KAAA64B,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAE,MACAjgF,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,OAEaK,EAAA,OAAAD,EAAA,OACbhmG,EAAAtN,SAAA5F,KAAA64B,EAAA,EACA,CAAA+/E,EAAAE,GACA,CAAAF,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,MACAjgF,EAAA,EACA,CAAA+/E,EAAAE,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,EAAAH,GACA,CAAAC,EAAAvrC,EAAAyrC,GACA,CAAAF,EAAAE,EAAAH,OAGAG,GAAAH,EACAQ,IAEAD,IACAN,GAAAvrC,EAEA,OAAAn6D,2BC1FAzU,EAAAC,QAAA,CAAkB03F,QAAA,4DCAlB,IAAAr4D,EAAWl/B,EAAQ,QACnBg6E,EAAeh6E,EAAQ,QACvB4G,EAAc5G,EAAQ,QAAe4G,QAkCrChH,EAAAC,QAAA,SAAA06G,EAAAC,GACA,IAAA98D,EAAA,YAAA68D,EAAA9zG,KAAA8zG,EAAAn0G,SAAAm0G,EACA58D,EAAA,YAAA68D,EAAA/zG,KAAA+zG,EAAAp0G,SAAAo0G,EAEAt6E,EAAA,IAAAhB,EAAAiB,GAAAC,cACAv/B,EAAAq/B,EAAAG,KAAA25C,EAAAt8B,IACA58C,EAAAo/B,EAAAG,KAAA25C,EAAAr8B,IACA88D,EAAA55G,EAAA45G,aAAA35G,GAGA,GAAA25G,EAAAC,UAAA,YAEA,IAAAp6E,EAAA,IAAApB,EAAAiB,GAAAI,cACAl5B,EAAAi5B,EAAAE,MAAAi6E,GACA,OAAA7zG,EAAAS,yCCjDA,IAAAG,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,UACAq6B,MAAA,CACAC,KAAA,UAGAC,OAAA,CACAC,MAAA,EACAl8B,KAAA,SACA6B,SAAA,SACAyC,GAAA,aAEA63B,MAAA,EACAn8B,KAAA,SACA6B,SAAA,OACAyC,GAAA,cAIAi+F,SAAA,CACAC,UAAA,CACAtkB,MAAA,WAEA,UAEA96E,MAAA,SAAAuD,EAAAjE,GACA,IAAA4pG,EAAA5pG,EAAAC,SAAAgE,EAAAvE,cAAAgB,OAAA,GACA8wG,EAAAxxG,EAAAC,SAAAgE,EAAAvE,cAAAM,KAAAiE,EAAAzM,OACA,OAAAoyG,EAAA,MAAA3lG,EAAA4lG,OAAA,KAAA5lG,EAAA0lG,OAAA,KAAA6H,EAAA7kG,EAAA,SAOAlW,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAG,YAAA43E,OAAA/3E,EAAAI,kBAAAh4B,OAAA,CAIAm4B,gBAAAj0B,EAAAk0B,MAKAh6B,OAAA,SAAAi6B,GACA,IAAA53B,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAjhC,EAAAyG,EAAAG,KAGAzB,EAAA6G,KAAAhM,EAAA,SAAAqB,EAAAjD,GACA+K,EAAA84B,cAAA5gC,EAAAjD,EAAA2iC,MAOAkB,cAAA,SAAA5gC,EAAAjD,EAAA2iC,GACA,IAAA53B,EAAAnL,KACAyI,EAAA0C,EAAA83B,UACAD,EAAA3/B,EAAA2/B,QAAA,GACA8B,EAAA35B,EAAAg4B,cAAA16B,EAAAs8B,SACAF,EAAA15B,EAAAg4B,cAAA16B,EAAA26B,SACA12B,EAAAvB,EAAAmvG,uBAAAj3G,EAAAjD,GACAwI,EAAAuC,EAAAk4B,aAAAz6B,KAAAxI,GACAm6G,EAAApvG,EAAA/K,MAEA+O,EAAA4zB,EAAA+B,EAAA01E,mBAAA,IAAA11E,EAAAM,iBAAA,kBAAAx8B,IAAAy8B,IAAAjlC,EAAAm6G,GACAnrG,EAAA2zB,EAAA8B,EAAAS,eAAAT,EAAAO,iBAAAx8B,EAAAxI,EAAAm6G,GAEAl3G,EAAAmiC,QAAAV,EACAzhC,EAAAoiC,QAAAZ,EACAxhC,EAAAo3G,SAAA/tG,EACArJ,EAAAogC,cAAA82E,EACAl3G,EAAAqiC,OAAAtlC,EACAiD,EAAAsgC,OAAA,CACAn6B,gBAAAkD,EAAAlD,gBACAa,YAAAqC,EAAArC,YACAF,YAAAuC,EAAAvC,YACA+6B,UAAAx4B,EAAAw4B,UACA56B,WAAAoC,EAAApC,WACAs6B,SAAAl4B,EAAAk4B,SACAl1B,OAAAqzB,EAAA,EAAAr2B,EAAAgD,OACAi2B,KAAA3C,EAAA2C,MAAAt2B,MAAAF,IAAAE,MAAAD,GACAD,IACAC,KAGA/L,EAAA2gC,SAMAsD,cAAA,SAAAjkC,GACA,IAAAqsB,EAAArsB,EAAAsgC,OACAj3B,EAAArJ,EAAAo3G,SACAp3G,EAAAkkC,eAAA,CACA/9B,gBAAAkmB,EAAAlmB,gBACAa,YAAAqlB,EAAArlB,YACAF,YAAAulB,EAAAvlB,YACAuF,OAAAggB,EAAAhgB,QAEAggB,EAAAlmB,gBAAArC,EAAA+F,eAAAR,EAAA86B,qBAAArgC,EAAAugC,cAAAh7B,EAAAlD,kBACAkmB,EAAArlB,YAAAlD,EAAA+F,eAAAR,EAAAi7B,iBAAAxgC,EAAAugC,cAAAh7B,EAAArC,cACAqlB,EAAAvlB,YAAAhD,EAAA+F,eAAAR,EAAAm7B,iBAAAn7B,EAAAvC,aACAulB,EAAAhgB,OAAAhD,EAAAgD,OAAAhD,EAAAq7B,aAMAuyE,uBAAA,SAAAj3G,EAAAjD,GACA,IASAO,EAAAiV,EAAAoD,EATA7N,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAK,EAAAL,EAAAI,KAAAC,SACAO,EAAAP,EAAAsC,EAAA/K,OACA4iC,EAAA3/B,EAAA2/B,QAAA,GACAt2B,EAAAlE,EAAAkE,QAAAkC,SAAAvL,MACAoS,EAAAtO,EAAAuF,QAAA+I,QACA7M,EAAAQ,EAAAR,KAAAxI,GACAonB,EAAA,GAIA7R,EAAA,CACAnN,QACAkyG,UAAAt6G,EACAgJ,UACAd,aAAA6C,EAAA/K,OAGA2a,EAAA,CACA,kBACA,cACA,cACA,uBACA,mBACA,mBACA,cACA,YACA,aACA,YAGA,IAAApa,EAAA,EAAAiV,EAAAmF,EAAA5Y,OAAkCxB,EAAAiV,IAAUjV,EAC5CqY,EAAA+B,EAAApa,GACA6mB,EAAAxO,GAAAvD,EAAA,CACAutB,EAAAhqB,GACA5P,EAAA4P,GACAtM,EAAAsM,IACArD,EAAAvV,GAUA,OANAonB,EAAA9X,OAAA+F,EAAA,CACAutB,EAAAtzB,OACA9G,IAAA2M,OAAA5O,EACAyC,EAAAsG,OACAhD,EAAAgD,QACAiG,EAAAvV,GACAonB,yCCzKA,IAAAmzF,EAAAl7G,EAAA,QAAAm7G,EAAAn7G,EAAAyC,EAAAy4G,GAA4qBC,EAAG,uCC6ExqB,SAAAjpG,EAAAjL,EAAAkG,EAAAiF,GAEP,UAAAnL,EAAA,CACA,IAAA6P,EAAAC,EAAA5T,EAAAG,EAAAgP,EAAAlM,EAAAmM,EAAAC,EACAC,EAGAC,EAFAC,EAAA,EACAqE,EAAA,EAEAvQ,EAAAQ,EAAAR,KACAoM,EAAA,sBAAApM,EACAqM,EAAA,YAAArM,EACAsM,EAAAF,EAAA5L,EAAAF,SAAArE,OAAA,EAcA,IAAAoU,EAAA,EAA0BA,EAAA/D,EAAqB+D,IAM/C,IALArE,EAAAI,EAAA5L,EAAAF,SAAA+P,GAAA1Q,SACA0M,EAAA7L,EAAAb,SAAAa,EACAyL,IAAA,0BAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEAqU,EAAA,EAA+BA,EAAAxE,EAAuBwE,IAAA,CACtD,IAAAE,EAAA,EAKA,GAJA7Q,EAAAsM,EACAD,EAAAtL,WAAA4P,GAAAtE,EAGA,OAAArM,EAAA,CACAoM,EAAApM,EAAAF,YACA,IAAAgR,EAAA9Q,EAAAK,KAIA,OAFAkM,GAAAP,GAAA,YAAA8E,GAAA,iBAAAA,EAAA,IAEAA,GACA,UACA,MACA,YACA/J,EAAAqF,EAAAwE,EAAAF,EAAAG,GACAD,IACAC,IACA,MACA,iBACA,iBACA,IAAA9T,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAC9CgK,EAAAqF,EAAArP,GAAA6T,EAAAF,EAAAG,GACAD,IACA,eAAAE,GAAAD,IAEA,eAAAC,GAAAD,IACA,MACA,cACA,sBACA,IAAA9T,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAAA,CAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAAiQ,EAAmCrP,IAClE6J,EAAAqF,EAAArP,GAAAG,GAAA0T,EAAAF,EAAAG,GACAD,IAEA,oBAAAE,GAAAD,IAEA,YAAAC,GAAAD,IACA,MACA,mBACA,IAAA9T,EAAA,EAA2BA,EAAAqP,EAAA9P,OAAmBS,IAAA,CAC9C,IAAAG,EAAA,EAA+BA,EAAAkP,EAAArP,GAAAT,OAAsBY,IACrD,IAAAgP,EAAA,EAAmCA,EAAAE,EAAArP,GAAAG,GAAAZ,OAAAiQ,EAAsCL,IACzEnF,EAAAqF,EAAArP,GAAAG,GAAAgP,GAAA0E,EAAAF,EAAAG,GACAD,IAEAC,IAEA,MACA,yBACA,IAAA9T,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3D+O,EAAA9L,EAAAe,WAAAhE,GAAAgK,EAAAiF,GACA,MACA,QACA,UAAAzP,MAAA,6BAsDO,SAAAqQ,EAAA/L,EAAAkG,EAAA8F,EAAAb,GACP,IAAAc,EAAAD,EAKA,OAJAf,EAAAjL,EAAA,SAAAkQ,EAAAH,EAAAF,EAAAG,GACA/D,EAAA,IAAA8D,QAAA9P,IAAA+L,EAAAkE,EACAhK,EAAA+F,EAAAiE,EAAAH,EAAAF,EAAAG,IACK7E,GACLc,EA6BO,SAAAE,EAAAnM,EAAAkG,GACP,IAAAjM,EACA,OAAA+F,EAAAR,MACA,wBACA,IAAAvF,EAAA,EAAmBA,EAAA+F,EAAAF,SAAArE,OAA6BxB,IAChDiM,EAAAlG,EAAAF,SAAA7F,GAAAmS,WAAAnS,GAEA,MACA,cACAiM,EAAAlG,EAAAoM,WAAA,GACA,OAkDO,SAAAC,EAAArM,EAAAkG,EAAA8F,GACP,IAAAC,EAAAD,EAKA,OAJAG,EAAAnM,EAAA,SAAAsM,EAAAuD,GACA5D,EAAA,IAAA4D,QAAA5P,IAAA+L,EAAAM,EACApG,EAAA+F,EAAAK,EAAAuD,KAEA5D,EA8BO,SAAAM,EAAAvM,EAAAkG,GACP,eAAAlG,EAAAR,KACA0G,EAAAlG,EAAA,QACK,yBAAAA,EAAAR,KACL,QAAAvF,EAAA,EAAuBA,EAAA+F,EAAAF,SAAArE,OAA6BxB,IACpDiM,EAAAlG,EAAAF,SAAA7F,MAgDO,SAAAuS,EAAAxM,EAAAkG,EAAA8F,GACP,IAAAC,EAAAD,EAKA,OAJAO,EAAAvM,EAAA,SAAAyM,EAAAoD,GACA5D,EAAA,IAAA4D,QAAA5P,IAAA+L,EAAAS,EACAvG,EAAA+F,EAAAQ,EAAAoD,KAEA5D,EAkBO,SAAAS,EAAA1M,GACP,IAAAuL,EAAA,GAIA,OAHAN,EAAAjL,EAAA,SAAA2M,GACApB,EAAArR,KAAAyS,KAEApB,EA+BO,SAAAqB,EAAA5M,EAAAkG,GACP,IAAAjM,EAAAiC,EAAAkP,EAAAjM,EAAAmM,EACAE,EACAC,EACA0E,EACAN,EAAA,EACAjE,EAAA,sBAAA5L,EAAAR,KACAqM,EAAA,YAAA7L,EAAAR,KACAsM,EAAAF,EAAA5L,EAAAF,SAAArE,OAAA,EAcA,IAAAxB,EAAA,EAAeA,EAAA6R,EAAU7R,IAAA,CASzB,IAPAuR,EAAAI,EAAA5L,EAAAF,SAAA7F,GAAAkF,SACA0M,EAAA7L,EAAAb,SAAAa,EACAmQ,EAAAvE,EAAA5L,EAAAF,SAAA7F,GAAAmS,WACAP,EAAA7L,EAAAoM,WAAA,GACAX,IAAA,0BAAAD,EAAAhM,KACA8L,EAAAG,EAAAD,EAAAtL,WAAAzE,OAAA,EAEA2P,EAAA,EAAmBA,EAAAE,EAAWF,IAK9B,GAJAjM,EAAAsM,EACAD,EAAAtL,WAAAkL,GAAAI,EAGA,OAAArM,EAIA,OAAAA,EAAAK,MACA,YACA,iBACA,iBACA,cACA,sBACA,mBACA0G,EAAA/G,EAAA0Q,EAAAM,GACA,MAEA,yBACA,IAAAjU,EAAA,EAA2BA,EAAAiD,EAAAe,WAAAzE,OAAgCS,IAC3DgK,EAAA/G,EAAAe,WAAAhE,GAAA2T,EAAAM,GAEA,MAEA,QACA,UAAAzU,MAAA,8BApBAwK,EAAA,KAAA2J,EAAAM,GAwBAN,KAiDO,SAAAhD,EAAA7M,EAAAkG,EAAA8F,GACP,IAAAC,EAAAD,EAKA,OAJAY,EAAA5M,EAAA,SAAA8M,EAAAnB,EAAAW,GACAL,EAAA,IAAAN,QAAA1L,IAAA+L,EAAAc,EACA5G,EAAA+F,EAAAa,EAAAnB,EAAAW,KAEAL,EAiCO,SAAA5L,EAAAL,EAAAkG,GACP0G,EAAA5M,EAAA,SAAAb,EAAA0Q,EAAAzD,GAEA,IAUA6D,EAVAzQ,EAAA,OAAAL,EAAA,KAAAA,EAAAK,KACA,OAAAA,GACA,UACA,YACA,iBACA,cAEA,YADA0G,EAAAvG,EAAAR,EAAAiN,GAAAyD,EAAA,GAOA,OAAArQ,GACA,iBACAyQ,EAAA,QACA,MACA,sBACAA,EAAA,aACA,MACA,mBACAA,EAAA,UACA,MAGA9Q,EAAAF,YAAAmR,QAAA,SAAAC,EAAAL,GACA,IAAA5P,EAAA,CACAZ,KAAAyQ,EACAhR,YAAAoR,GAEAnK,EAAAvG,EAAAS,EAAAgM,GAAAyD,EAAAG,OAoDO,SAAAM,EAAAtQ,EAAAkG,EAAA8F,GACP,IAAAC,EAAAD,EAKA,OAJA3L,EAAAL,EAAA,SAAAyM,EAAAoD,EAAAG,GACA/D,EAAA,IAAA4D,GAAA,IAAAG,QAAA/P,IAAA+L,EAAAS,EACAvG,EAAA+F,EAAAQ,EAAAoD,EAAAG,KAEA/D,EAsCO,SAAAsE,EAAAvQ,EAAAkG,GACP7F,EAAAL,EAAA,SAAAL,EAAAkQ,EAAAG,GACA,IAAAmkG,EAAA,EAGA,GAAAx0G,EAAAR,SAAA,CAEA,IAAAK,EAAAG,EAAAR,SAAAK,KACA,UAAAA,GAAA,eAAAA,GAGAuM,EAAApM,EAAA,SAAA6Q,EAAAN,GACA,IAAAO,EAAArB,EAAA,CAAAoB,EAAAN,GAAAvQ,EAAAyM,YAGA,OAFAlG,EAAAuK,EAAAZ,EAAAG,EAAAmkG,GACAA,IACAjkG,OAwDO,SAAAQ,EAAA1Q,EAAAkG,EAAA8F,GACP,IAAAC,EAAAD,EACAooG,GAAA,EAMA,OALA7jG,EAAAvQ,EAAA,SAAAyQ,EAAAZ,EAAAG,EAAAmkG,GACAloG,GAAA,IAAAmoG,QAAAn0G,IAAA+L,EAAAyE,EACAvK,EAAA+F,EAAAwE,EAAAZ,EAAAG,EAAAmkG,GACAC,GAAA,IAEAnoG,EAWO,SAAAtM,EAAAR,EAAAiN,GACP,QAAAnM,IAAAd,EAAA,UAAAzD,MAAA,sBAEA,OACA8D,KAAA,UACA4M,cAAA,GACAjN,YAYO,SAAAiQ,EAAAnQ,EAAAmN,GACP,IAAAnN,EAAA,UAAAvD,MAAA,yBACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,yDAEA,OACA8D,KAAA,UACA4M,cAAA,GACAjN,SAAA,CACAK,KAAA,aACAP,gBAiCO,SAAA2R,EAAA5Q,EAAAkG,GAEP,IAAAlG,EAAA,UAAAtE,MAAA,uBACA,IAAA8D,EAAAQ,EAAAb,SAAAa,EAAAb,SAAAK,KAAAQ,EAAAR,KACA,IAAAA,EAAA,UAAA9D,MAAA,mBACA,yBAAA8D,EAAA,UAAA9D,MAAA,sCACA,0BAAA8D,EAAA,UAAA9D,MAAA,uCACA,IAAAuD,EAAAe,EAAAb,SAAAa,EAAAb,SAAAF,YAAAe,EAAAf,YACA,IAAAA,EAAA,UAAAvD,MAAA,oCAEA,OAAA8D,GACA,iBAEA,YADA0G,EAAAjH,EAAA,KAEA,cACA,sBAEA,IADA,IAAA4R,EAAA,EACA1I,EAAA,EAA0BA,EAAAlJ,EAAAxD,OAA2B0M,IACrD,oBAAA3I,IAAAqR,EAAA1I,GACAjC,EAAAjH,EAAAkJ,KAAA0I,GAEA,OACA,mBACA,QAAAC,EAAA,EAA2BA,EAAA7R,EAAAxD,OAA4BqV,IACvD,QAAAC,EAAA,EAA8BA,EAAA9R,EAAA6R,GAAArV,OAAkCsV,IAChE7K,EAAAjH,EAAA6R,GAAAC,KAAAD,GAGA,OACA,QACA,UAAApV,MAAA8D,EAAA,4BAiDO,SAAAwR,EAAAhR,EAAAkG,EAAA8F,GACP,IAAAC,EAAAD,EAKA,OAJA4E,EAAA5Q,EAAA,SAAAiR,EAAAC,EAAAC,GACAlF,EAAA,IAAAiF,QAAAjR,IAAA+L,EAAAiF,EACA/K,EAAA+F,EAAAgF,EAAAC,EAAAC,KAEAlF,EA98BAlT,EAAA8V,EAAAiL,GAAA/gB,EAAAgB,EAAA+f,EAAA,8BAAA7O,IAAAlS,EAAAgB,EAAA+f,EAAA,gCAAA/N,IAAAhT,EAAAgB,EAAA+f,EAAA,6BAAA3N,IAAApT,EAAAgB,EAAA+f,EAAA,+BAAAzN,IAAAtT,EAAAgB,EAAA+f,EAAA,gCAAAvN,IAAAxT,EAAAgB,EAAA+f,EAAA,kCAAAtN,IAAAzT,EAAAgB,EAAA+f,EAAA,6BAAApN,IAAA3T,EAAAgB,EAAA+f,EAAA,6BAAAlN,IAAA7T,EAAAgB,EAAA+f,EAAA,+BAAAjN,IAAA9T,EAAAgB,EAAA+f,EAAA,gCAAAzZ,IAAAtH,EAAAgB,EAAA+f,EAAA,kCAAAxJ,IAAAvX,EAAAgB,EAAA+f,EAAA,gCAAAvJ,IAAAxX,EAAAgB,EAAA+f,EAAA,kCAAApJ,IAAA3X,EAAAgB,EAAA+f,EAAA,4BAAAna,IAAA5G,EAAAgB,EAAA+f,EAAA,+BAAA1K,IAAArW,EAAAgB,EAAA+f,EAAA,6BAAAlJ,IAAA7X,EAAAgB,EAAA+f,EAAA,+BAAA9I,yCCEA,IAAAzQ,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QACtBinG,EAAYjnG,EAAQ,QA8DpB,SAAAs7G,EAAA71C,GACA,IACAvkE,EAAAiV,EADA5M,EAAA,GAGA,IAAArI,EAAA,EAAAiV,EAAAsvD,EAAA/iE,OAAiCxB,EAAAiV,IAAUjV,EAC3CqI,EAAApI,KAAAskE,EAAAvkE,GAAA2I,OAGA,OAAAN,EAGA,SAAAgyG,EAAAtlF,EAAAt1B,EAAAgyG,GACA,IAAA6I,EAAAvlF,EAAAizC,gBAAAvoE,GASA,OAPAgyG,IAEA6I,GADA,IAAA76G,GACAs1B,EAAAizC,gBAAA,GAAAsyC,GAAA,GAEAA,EAAAvlF,EAAAizC,gBAAAvoE,EAAA,OAGA66G,EAGA,SAAAC,EAAAvlG,EAAAoyD,EAAAp6D,GACA,OAAAxG,EAAApB,QAAAgiE,GACA5gE,EAAAg0G,YAAAxlG,EAAAhI,EAAAo6D,GACApyD,EAAA1H,YAAA85D,GAAA/7D,MAGA,SAAAovG,EAAA1uG,GACA,IAAAQ,EAAA/F,EAAA+F,eACAmtE,EAAApzE,EAAAgG,OACAkI,EAAAjI,EAAAR,EAAAlF,SAAA6yE,EAAAltE,iBACAgV,EAAAjV,EAAAR,EAAAU,UAAAitE,EAAAhtE,kBACAguG,EAAAnuG,EAAAR,EAAAY,WAAA+sE,EAAA9sE,mBAEA,OACA4H,OACAgN,QACAk5F,SACA1tG,KAAAxG,EAAAsG,WAAA0H,EAAAgN,EAAAk5F,IAIA,SAAAC,EAAA5uG,GACA,OAAAvF,EAAAuF,QAAAwI,aACA/N,EAAA+F,eAAAR,EAAA6uG,WAAA,KACAp0G,EAAA+F,eAAAR,EAAAlF,SAAAP,EAAAgG,OAAAE,kBA5GAlG,EAAAW,KAAA,SACAE,SAAA,EACAC,SAAA,OACAwb,QAAA,EAGA4uF,UAAA,CACArqG,SAAA,EACAyrC,MAAA,qBACArpC,UAAA,EACAsxG,YAAA,EACAC,iBAAA,EACAC,WAAA,EACAC,eAAA,GACAC,cAAA,EACAC,cAAA,mBACAC,mBAAA,GACAC,yBAAA,EACA3J,iBAAA,EACAvoG,WAAA,GACAE,iBAAA,GAIAgoF,WAAA,CAEAjqF,SAAA,EAGAkqF,YAAA,GAGAupB,WAAA,IAGAtyG,QAAA,CACAmD,IAAA,EACAC,OAAA,IAKA64D,MAAA,CACA82C,aAAA,EACApqB,YAAA,EACA1oB,YAAA,GACA+yC,QAAA,EACAhzG,QAAA,EACAhB,SAAA,EACAH,SAAA,EACA6+D,UAAA,EACAu1C,gBAAA,EACAC,YAAA,EAEAvvG,SAAA85F,EAAA5jD,WAAAt7B,OACA89C,MAAA,GACAC,MAAA,MAuDAlmE,EAAAC,QAAA4H,EAAAwD,OAAA,CAOA0xG,WAAA,WACA,IAAAjxG,EAAAnL,KACA,OACAiM,KAAAd,EAAAmB,aAAA,EACAF,IAAAjB,EAAAoB,YAAA,EACAL,MAAAf,EAAAqB,cAAA,EACAH,OAAAlB,EAAAsB,eAAA,IAQAm8D,SAAA,WACA,OAAA5oE,KAAAq8G,QAOAx1C,kBAAA,WACA,IAAA3B,EAAAllE,KAAA0M,QAAAw4D,MAWA,QAAAlsD,KAVA,IAAAksD,EAAAI,QACAJ,EAAAI,MAAA,CACAx9D,SAAA,KAGA,IAAAo9D,EAAAK,QACAL,EAAAK,MAAA,CACAz9D,SAAA,IAGAo9D,EACA,UAAAlsD,GAAA,UAAAA,IACA,qBAAAksD,EAAAI,MAAAtsD,KACAksD,EAAAI,MAAAtsD,GAAAksD,EAAAlsD,IAEA,qBAAAksD,EAAAK,MAAAvsD,KACAksD,EAAAK,MAAAvsD,GAAAksD,EAAAlsD,MAKAjO,aAAA,WACA5D,EAAAyF,SAAA5M,KAAA0M,QAAA3B,aAAA,CAAA/K,QAGA8I,OAAA,SAAAkC,EAAAC,EAAAC,GACA,IACAvK,EAAAiV,EAAA5M,EAAAM,EAAA47D,EAAA6C,EADA58D,EAAAnL,KAwDA,IApDAmL,EAAAJ,eAGAI,EAAAH,WACAG,EAAAF,YACAE,EAAAD,QAAA/D,EAAAuD,OAAA,CACAuB,KAAA,EACAC,MAAA,EACAE,IAAA,EACAC,OAAA,GACGnB,GACHC,EAAAmxG,iBAAAnxG,EAAAmxG,kBAAA,GAGAnxG,EAAAC,sBACAD,EAAAE,gBACAF,EAAAG,qBAGAH,EAAAoxG,mBACApxG,EAAA67D,sBACA77D,EAAAqxG,kBASArxG,EAAAsxG,mBAIAv3C,EAAA/5D,EAAAm8D,cAAA,GAEAn8D,EAAAuxG,kBAEAvxG,EAAAwxG,8BAKA3zG,EAAAmC,EAAAs9D,qBAAAvD,IAAA/5D,EAAA+5D,MAEA/5D,EAAAyxG,6BAEAzxG,EAAA+5D,MAAAl8D,EAKArI,EAAA,EAAAiV,EAAA5M,EAAA7G,OAAmCxB,EAAAiV,IAAUjV,EAC7C2I,EAAAN,EAAArI,GACAonE,EAAA7C,EAAAvkE,GACAonE,EAMAA,EAAAz+D,QALA47D,EAAAtkE,KAAAmnE,EAAA,CACAz+D,QACAi8D,OAAA,IAoBA,OAbAp6D,EAAAkxG,OAAAn3C,EAGA/5D,EAAA0xG,8BACA1xG,EAAA2xG,wBACA3xG,EAAA4xG,6BAEA5xG,EAAAO,YACAP,EAAAQ,MACAR,EAAAS,WAEAT,EAAAU,cAEAV,EAAAW,SAGAD,YAAA,WACA1E,EAAAyF,SAAA5M,KAAA0M,QAAAb,YAAA,CAAA7L,QAKAoL,oBAAA,WACAjE,EAAAyF,SAAA5M,KAAA0M,QAAAtB,oBAAA,CAAApL,QAEAqL,cAAA,WACA,IAAAF,EAAAnL,KAEAmL,EAAAY,gBAEAZ,EAAAa,MAAAb,EAAAH,SACAG,EAAAc,KAAA,EACAd,EAAAe,MAAAf,EAAAa,QAEAb,EAAAgB,OAAAhB,EAAAF,UAGAE,EAAAiB,IAAA,EACAjB,EAAAkB,OAAAlB,EAAAgB,QAIAhB,EAAAmB,YAAA,EACAnB,EAAAoB,WAAA,EACApB,EAAAqB,aAAA,EACArB,EAAAsB,cAAA,GAEAnB,mBAAA,WACAnE,EAAAyF,SAAA5M,KAAA0M,QAAApB,mBAAA,CAAAtL,QAIAu8G,iBAAA,WACAp1G,EAAAyF,SAAA5M,KAAA0M,QAAA6vG,iBAAA,CAAAv8G,QAEAgnE,oBAAA7/D,EAAAE,KACAm1G,gBAAA,WACAr1G,EAAAyF,SAAA5M,KAAA0M,QAAA8vG,gBAAA,CAAAx8G,QAIAy8G,iBAAA,WACAt1G,EAAAyF,SAAA5M,KAAA0M,QAAA+vG,iBAAA,CAAAz8G,QAEAsnE,WAAAngE,EAAAE,KACAq1G,gBAAA,WACAv1G,EAAAyF,SAAA5M,KAAA0M,QAAAgwG,gBAAA,CAAA18G,QAGA28G,4BAAA,WACAx1G,EAAAyF,SAAA5M,KAAA0M,QAAAiwG,4BAAA,CAAA38G,QAEAyoE,qBAAA,WACA,IAAAt9D,EAAAnL,KAEAsoE,EAAAn9D,EAAAuB,QAAAw4D,MACA/5D,EAAA+5D,MAAA/5D,EAAA+5D,MAAA/7D,IAAAm/D,EAAAE,cAAAF,EAAA17D,SAAA5M,OAEA48G,2BAAA,WACAz1G,EAAAyF,SAAA5M,KAAA0M,QAAAkwG,2BAAA,CAAA58G,QAKA68G,4BAAA,WACA11G,EAAAyF,SAAA5M,KAAA0M,QAAAmwG,4BAAA,CAAA78G,QAEA88G,sBAAA,WACA,IAAA3xG,EAAAnL,KACA2V,EAAAxK,EAAA4B,IACAu7D,EAAAn9D,EAAAuB,QAAAw4D,MACAl8D,EAAA+xG,EAAA5vG,EAAAkxG,QAIAW,EAAA5B,EAAA9yC,GACA3yD,EAAAhI,KAAAqvG,EAAArvG,KAEA,IAAAsvG,EAAA30C,EAAAspB,aAAA,EAEA,GAAA5oF,EAAA7G,QAAAgJ,EAAAuB,QAAA5E,SAAAqD,EAAAY,eAAA,CACA,IAEAo9D,EAAAC,EAFA8zC,EAAA/1G,EAAAg0G,YAAAxlG,EAAAqnG,EAAArvG,KAAA3E,EAAAmC,EAAAmxG,kBACAa,EAAAD,EAIAE,EAAAjyG,EAAAw9D,gBAAA,GAAAx9D,EAAAw9D,gBAAA,KAGA,MAAAw0C,EAAAC,GAAAH,EAAA30C,EAAAY,YAAA,CACA,IAAAm0C,EAAAl2G,EAAAkhB,UAAA40F,GAIA,GAHA9zC,EAAAplE,KAAAklB,IAAAo0F,GACAj0C,EAAArlE,KAAAolB,IAAAk0F,GAEAj0C,EAAA8zC,EAAA/xG,EAAAF,UAAA,CAEAgyG,IACA,MAGAA,IACAE,EAAAh0C,EAAA+zC,GAIA/xG,EAAA8xG,iBAEAF,2BAAA,WACA51G,EAAAyF,SAAA5M,KAAA0M,QAAAqwG,2BAAA,CAAA/8G,QAKA0L,UAAA,WACAvE,EAAAyF,SAAA5M,KAAA0M,QAAAhB,UAAA,CAAA1L,QAEA2L,IAAA,WACA,IAAAR,EAAAnL,KAEA8L,EAAAX,EAAAW,QAAA,CACAE,MAAA,EACAG,OAAA,GAGAnD,EAAA+xG,EAAA5vG,EAAAkxG,QAEAvvG,EAAA3B,EAAAuB,QACA47D,EAAAx7D,EAAAo4D,MACAo4C,EAAAxwG,EAAAilF,WACAwrB,EAAAzwG,EAAAqlG,UACArqG,EAAAgF,EAAAhF,QACAiE,EAAAZ,EAAAY,eAEAixG,EAAA5B,EAAA9yC,GACAqzC,EAAA7uG,EAAAqlG,UAAAwJ,eAkBA,GAbA7vG,EAAAE,MAFAD,EAEAZ,EAAAqyG,cAAAryG,EAAAH,SAAAG,EAAAD,QAAAe,KAAAd,EAAAD,QAAAgB,MAAAf,EAAAH,SAEAlD,GAAAy1G,EAAA7B,UAAAC,EAAA,EAKA7vG,EAAAK,OADAJ,EACAjE,GAAAy1G,EAAA7B,UAAAC,EAAA,EAEAxwG,EAAAF,UAIAqyG,EAAAx1G,WAAA,CACA,IAAA21G,EAAAnC,EAAAgC,GACAI,EAAAv2G,EAAAuF,QAAA4I,UAAAgoG,EAAAr0G,SACA00G,EAAAF,EAAAC,EAAAvxG,OAEAJ,EACAD,EAAAK,QAAAwxG,EAEA7xG,EAAAE,OAAA2xG,EAKA,GAAAr1C,EAAAxgE,WAAA,CACA,IAAA81G,EAAAz2G,EAAAg0G,YAAAhwG,EAAA4B,IAAAiwG,EAAArvG,KAAA3E,EAAAmC,EAAAmxG,kBACAuB,EAAA12G,EAAA22G,mBAAA90G,GACA+0G,EAAA,GAAAf,EAAA7nG,KACA6oG,EAAA7yG,EAAAuB,QAAAw4D,MAAAj8D,QAEA,GAAA8C,EAAA,CAEAZ,EAAA8yG,kBAAAL,EAEA,IAAAP,EAAAl2G,EAAAkhB,UAAAld,EAAA8xG,eACA9zC,EAAAplE,KAAAklB,IAAAo0F,GACAj0C,EAAArlE,KAAAolB,IAAAk0F,GAGAa,EAAA90C,EAAAw0C,EACAZ,EAAA7nG,KAAA0oG,EACAE,GAAAF,EAAA,GACAE,EAEAjyG,EAAAK,OAAApI,KAAAyiC,IAAAr7B,EAAAF,UAAAa,EAAAK,OAAA+xG,EAAAF,GAEA7yG,EAAA4B,IAAAY,KAAAqvG,EAAArvG,KACA,IAAAwwG,EAAAjD,EAAA/vG,EAAA4B,IAAA/D,EAAA,GAAAg0G,EAAArvG,MACAywG,EAAAlD,EAAA/vG,EAAA4B,IAAA/D,IAAA7G,OAAA,GAAA66G,EAAArvG,MAIA,IAAAxC,EAAA8xG,eACA9xG,EAAAmB,YAAA,WAAAQ,EAAA/E,SAAAohE,EAAAg1C,EAAA,EAAAh1C,EAAA40C,EAAA,EACA5yG,EAAAqB,aAAA,WAAAM,EAAA/E,SAAAohE,EAAA40C,EAAA,EAAA50C,EAAAi1C,EAAA,IAEAjzG,EAAAmB,YAAA6xG,EAAA,IACAhzG,EAAAqB,aAAA4xG,EAAA,UAKA91C,EAAA2zC,OACA2B,EAAA,EAIAA,GAAAI,EAAAD,EAGAjyG,EAAAE,MAAAjI,KAAAyiC,IAAAr7B,EAAAH,SAAAc,EAAAE,MAAA4xG,GAEAzyG,EAAAoB,WAAAywG,EAAA7nG,KAAA,EACAhK,EAAAsB,cAAAuwG,EAAA7nG,KAAA,EAIAhK,EAAAkzG,gBAEAlzG,EAAAa,MAAAF,EAAAE,MACAb,EAAAgB,OAAAL,EAAAK,QAOAkyG,cAAA,WACA,IAAAlzG,EAAAnL,KACAmL,EAAAD,UACAC,EAAAmB,YAAAvI,KAAA0K,IAAAtD,EAAAmB,YAAAnB,EAAAD,QAAAe,KAAA,GACAd,EAAAoB,WAAAxI,KAAA0K,IAAAtD,EAAAoB,WAAApB,EAAAD,QAAAkB,IAAA,GACAjB,EAAAqB,aAAAzI,KAAA0K,IAAAtD,EAAAqB,aAAArB,EAAAD,QAAAgB,MAAA,GACAf,EAAAsB,cAAA1I,KAAA0K,IAAAtD,EAAAsB,cAAAtB,EAAAD,QAAAmB,OAAA,KAIAT,SAAA,WACAzE,EAAAyF,SAAA5M,KAAA0M,QAAAd,SAAA,CAAA5L,QAIA+L,aAAA,WACA,cAAA/L,KAAA0M,QAAA3E,UAAA,WAAA/H,KAAA0M,QAAA3E,UAEAy1G,YAAA,WACA,OAAAx9G,KAAA0M,QAAA,WAIAw5B,cAAA,SAAA6gC,GAEA,GAAA5/D,EAAAo9D,cAAAwC,GACA,OAAA1hC,IAGA,qBAAA0hC,IAAA/yB,SAAA+yB,GACA,OAAA1hC,IAGA,GAAA0hC,EACA,GAAA/mE,KAAA+L,gBACA,QAAApF,IAAAogE,EAAA53D,EACA,OAAAnP,KAAAkmC,cAAA6gC,EAAA53D,QAEI,QAAAxI,IAAAogE,EAAA33D,EACJ,OAAApP,KAAAkmC,cAAA6gC,EAAA33D,GAKA,OAAA23D,GAQAa,iBAAAzgE,EAAAE,KASA+9B,iBAAAj+B,EAAAE,KAOAwhE,iBAAA1hE,EAAAE,KAMAshE,gBAAA,SAAAvoE,GACA,IAAA+K,EAAAnL,KACAujB,EAAApY,EAAAuB,QAAA6W,OACA,GAAApY,EAAAY,eAAA,CACA,IAAAy9D,EAAAr+D,EAAAa,OAAAb,EAAAmB,YAAAnB,EAAAqB,cACA4wG,EAAA5zC,EAAAzlE,KAAA0K,IAAAtD,EAAAkxG,OAAAl6G,QAAAohB,EAAA,QACAuD,EAAAs2F,EAAAh9G,EAAA+K,EAAAmB,YAEAiX,IACAuD,GAAAs2F,EAAA,GAGA,IAAAkB,EAAAnzG,EAAAc,KAAAlI,KAAAkjB,MAAAH,GAEA,OADAw3F,GAAAnzG,EAAAqyG,cAAAryG,EAAAD,QAAAe,KAAA,EACAqyG,EAEA,IAAAC,EAAApzG,EAAAgB,QAAAhB,EAAAoB,WAAApB,EAAAsB,eACA,OAAAtB,EAAAiB,IAAAhM,GAAAm+G,GAAApzG,EAAAkxG,OAAAl6G,OAAA,KAOAq4G,mBAAA,SAAAgE,GACA,IAAArzG,EAAAnL,KACA,GAAAmL,EAAAY,eAAA,CACA,IAAAy9D,EAAAr+D,EAAAa,OAAAb,EAAAmB,YAAAnB,EAAAqB,cACAiyG,EAAAj1C,EAAAg1C,EAAArzG,EAAAmB,YAEAgyG,EAAAnzG,EAAAc,KAAAlI,KAAAkjB,MAAAw3F,GAEA,OADAH,GAAAnzG,EAAAqyG,cAAAryG,EAAAD,QAAAe,KAAA,EACAqyG,EAEA,OAAAnzG,EAAAiB,IAAAoyG,EAAArzG,EAAAgB,QAOAm5B,aAAA,WACA,OAAAtlC,KAAAolC,iBAAAplC,KAAA0+G,iBAGAA,aAAA,WACA,IAAAvzG,EAAAnL,KACAwmC,EAAAr7B,EAAAq7B,IACA/3B,EAAAtD,EAAAsD,IAEA,OAAAtD,EAAA6wG,YAAA,EACAx1E,EAAA,GAAA/3B,EAAA,EAAAA,EACA+3B,EAAA,GAAA/3B,EAAA,EAAA+3B,EACA,GAOAm4E,UAAA,SAAAz5C,GACA,IAAA05C,EASAj+G,EAAAonE,EAAA82C,EAGA1R,EAXAhiG,EAAAnL,KACA+L,EAAAZ,EAAAY,eACA+yG,EAAA3zG,EAAAuB,QAAAw4D,MAAAI,MACAy5C,EAAA75C,EAAA/iE,OACA68G,EAAA73G,EAAAkhB,UAAAld,EAAA8xG,eACA9zC,EAAAplE,KAAAklB,IAAA+1F,GACAC,EAAA9zG,EAAA8yG,kBAAA90C,EACAzpC,EAAA,GAuBA,IAlBAo/E,EAAA1R,gBACAD,EAAA2R,EAAA1R,eAGArhG,IACA6yG,GAAA,GAEAK,EAAAH,EAAA5C,iBAAA6C,EAAA5zG,EAAAa,OAAAb,EAAAmB,YAAAnB,EAAAqB,gBACAoyG,EAAA,EAAA76G,KAAAuS,OAAA2oG,EAAAH,EAAA5C,iBAAA6C,GAAA5zG,EAAAa,OAAAb,EAAAmB,YAAAnB,EAAAqB,iBAKA2gG,GAAA4R,EAAA5R,IACAyR,EAAA76G,KAAA0K,IAAAmwG,EAAA76G,KAAAuS,MAAAyoG,EAAA5R,MAIAxsG,EAAA,EAAaA,EAAAo+G,EAAep+G,IAC5BonE,EAAA7C,EAAAvkE,GAGAk+G,EAAAD,EAAA,GAAAj+G,EAAAi+G,EAAA,GAAAj+G,EAAAi+G,IAAA,GAAAj+G,EAAAi+G,GAAAG,EACAF,GAAAl+G,IAAAo+G,EAAA,UAEAh3C,EAAAz+D,MAEAo2B,EAAA9+B,KAAAmnE,GAEA,OAAAroC,GAKAhxB,KAAA,SAAA43B,GACA,IAAAn7B,EAAAnL,KACA0M,EAAAvB,EAAAuB,QACA,GAAAA,EAAA5E,QAAA,CAIA,IAAA6N,EAAAxK,EAAA4B,IACAstE,EAAApzE,EAAAgG,OACA6xG,EAAApyG,EAAAw4D,MAAAI,MACA45C,EAAAxyG,EAAAw4D,MAAAK,OAAAu5C,EACA3M,EAAAzlG,EAAAylG,UACApgB,EAAArlF,EAAAqlF,WAEAotB,EAAA,IAAAh0G,EAAA8xG,cACAlxG,EAAAZ,EAAAY,eAEAm5D,EAAA45C,EAAAn4C,SAAAx7D,EAAAwzG,UAAAxzG,EAAAy9D,YAAAz9D,EAAAy9D,WACAw2C,EAAAj4G,EAAA+F,eAAA4xG,EAAA9vG,UAAAqrE,EAAAprE,kBACA+tG,EAAA5B,EAAA0D,GACAO,EAAAl4G,EAAA+F,eAAAgyG,EAAAlwG,UAAAqrE,EAAAprE,kBACAqwG,EAAAlE,EAAA8D,GAEA/jF,EAAAg3E,EAAAuJ,UAAAvJ,EAAAwJ,eAAA,EAEA4D,EAAAp4G,EAAA+F,eAAA6kF,EAAA/iF,UAAAqrE,EAAAprE,kBACAuwG,EAAApE,EAAArpB,GACA2rB,EAAAv2G,EAAAuF,QAAA4I,UAAAy8E,EAAA9oF,SACA+1G,EAAA73G,EAAAkhB,UAAAld,EAAA8xG,eAEAwC,EAAA,GAEAC,EAAAv0G,EAAAuB,QAAAylG,UAAAjoG,UACAy1G,EAAA,UAAAjzG,EAAA3E,SAAAoD,EAAAc,KAAAd,EAAAe,MAAAwzG,EAAAvkF,EACAykF,EAAA,UAAAlzG,EAAA3E,SAAAoD,EAAAc,KAAAkvB,EAAAhwB,EAAAe,MACA2zG,EAAA,WAAAnzG,EAAA3E,SAAAoD,EAAAiB,IAAAszG,EAAAv0G,EAAAkB,OAAA8uB,EAAAukF,EACAI,EAAA,WAAApzG,EAAA3E,SAAAoD,EAAAiB,IAAAszG,EAAAvkF,EAAAhwB,EAAAkB,OAAAqzG,EAqKA,GAnKAv4G,EAAA6G,KAAAk3D,EAAA,SAAA6C,EAAA3nE,GAEA,IAAA+G,EAAAo9D,cAAAwD,EAAAz+D,OAAA,CAIA,IACAY,EAAA61G,EAAAl2G,EAAAE,EAeAi2G,EAAAC,EAAAC,EAAAC,EAAAlsG,EAAAC,EAAAC,EAAAC,EAAAgsG,EAAAC,EAhBA/2G,EAAAy+D,EAAAz+D,MAEAlJ,IAAA+K,EAAAm1G,eAAA5zG,EAAA6W,SAAA4uF,EAAAC,iBAEAloG,EAAAioG,EAAAyJ,cACAmE,EAAA5N,EAAA0J,cACAhyG,EAAAsoG,EAAA2J,mBACA/xG,EAAAooG,EAAA4J,2BAEA7xG,EAAA/C,EAAAk9B,sBAAA8tE,EAAAjoG,UAAA9J,GACA2/G,EAAA54G,EAAAk9B,sBAAA8tE,EAAA5+D,MAAAnzC,GACAyJ,EAAA1C,EAAA+F,eAAAilG,EAAAtoG,WAAAwwE,EAAAxwE,YACAE,EAAA5C,EAAA+F,eAAAilG,EAAApoG,iBAAAswE,EAAAtwE,mBAKA,IAAA+D,EAAA,SACAC,EAAA,SACAiwG,EAAAc,EAAA71G,QAEA,GAAA8C,EAAA,CACA,IAAAw0G,EAAAplF,EAAA6iF,EAEA,WAAAtxG,EAAA3E,UAEAgG,EAAAoxG,EAAA,eACArxG,EAAAqxG,EAAA,iBACAkB,EAAAl1G,EAAAiB,IAAAm0G,IAGAxyG,EAAAoxG,EAAA,kBACArxG,EAAAqxG,EAAA,gBACAkB,EAAAl1G,EAAAkB,OAAAk0G,GAGA,IAAAC,EAAAxF,EAAA7vG,EAAA/K,EAAA+xG,EAAAC,iBAAAltC,EAAA/iE,OAAA,GACAq+G,EAAAr1G,EAAAc,OACA8zG,EAAA,iBAEAS,GAAAr5G,EAAAs5G,WAAAv2G,GAEAk2G,EAAAj1G,EAAAw9D,gBAAAvoE,GAAA0+G,EAAA3C,YAEA6D,EAAAE,EAAAjsG,EAAAE,EAAAqsG,EACAP,EAAAJ,EACAM,EAAAL,EACA5rG,EAAAoyB,EAAAl6B,IACAgI,EAAAkyB,EAAAj6B,OAAAqzG,MACI,CACJ,IACAgB,EADA/U,EAAA,SAAAj/F,EAAA3E,SAGA+2G,EAAA7C,QACAnuG,EAAA69F,EAAA,eACA+U,EAAA1C,IAEAlwG,EAAA69F,EAAA,eACA+U,EAAAvlF,EAAA6iF,GAGAoC,EAAAzU,EAAAxgG,EAAAe,MAAAw0G,EAAAv1G,EAAAc,KAAAy0G,EAEA,IAAAC,EAAA3F,EAAA7vG,EAAA/K,EAAA+xG,EAAAC,iBAAAltC,EAAA/iE,OAAA,GACAw+G,EAAAx1G,EAAAiB,MACA2zG,EAAA,iBAEAY,GAAAx5G,EAAAs5G,WAAAv2G,GAEAm2G,EAAAl1G,EAAAw9D,gBAAAvoE,GAAA0+G,EAAA3C,YAEA6D,EAAAL,EACAO,EAAAN,EACA3rG,EAAAqyB,EAAAr6B,KACAkI,EAAAmyB,EAAAp6B,MAAAwzG,EACAO,EAAAE,EAAAjsG,EAAAE,EAAAusG,EAGAlB,EAAA7+G,KAAA,CACAo/G,MACAC,MACAC,MACAC,MACAlsG,KACAC,KACAC,KACAC,KACAgsG,SACAC,SACAO,QAAA12G,EACA22G,QAAAd,EACAe,aAAAj3G,EACAk3G,mBAAAh3G,EACA66B,UAAA,EAAAo6E,EACA11G,QACAi8D,MAAAwC,EAAAxC,MACAx3D,eACAD,iBAKA3G,EAAA6G,KAAAyxG,EAAA,SAAAuB,GA0BA,GAzBA7O,EAAArqG,UACA6N,EAAArG,OACAqG,EAAAzL,UAAA82G,EAAAJ,QACAjrG,EAAAvL,YAAA42G,EAAAH,QACAlrG,EAAAlG,cACAkG,EAAAlG,YAAAuxG,EAAAF,cACAnrG,EAAA7L,eAAAk3G,EAAAD,oBAGAprG,EAAAnF,YAEA2hG,EAAAuJ,YACA/lG,EAAAlF,OAAAuwG,EAAAhB,IAAAgB,EAAAf,KACAtqG,EAAAjF,OAAAswG,EAAAd,IAAAc,EAAAb,MAGAhO,EAAAsJ,kBACA9lG,EAAAlF,OAAAuwG,EAAA/sG,GAAA+sG,EAAA9sG,IACAyB,EAAAjF,OAAAswG,EAAA7sG,GAAA6sG,EAAA5sG,KAGAuB,EAAAhF,SACAgF,EAAAzF,WAGA4uG,EAAAh3G,QAAA,CAEA6N,EAAArG,OACAqG,EAAAq1C,UAAAg2D,EAAAZ,OAAAY,EAAAX,QACA1qG,EAAA0qB,OAAA2gF,EAAAp8E,UACAjvB,EAAAhI,KAAAqzG,EAAAz7C,MAAA+5C,EAAA3xG,KAAAqvG,EAAArvG,KACAgI,EAAApM,UAAAy3G,EAAAz7C,MAAA85C,EAAAD,EACAzpG,EAAA5H,aAAAizG,EAAAjzG,aACA4H,EAAA7H,UAAAkzG,EAAAlzG,UAEA,IAAAxE,EAAA03G,EAAA13G,MACA,GAAAnC,EAAApB,QAAAuD,GAKA,IAJA,IAAA23G,EAAA33G,EAAAnH,OACAo5G,EAAA,IAAAyB,EAAA7nG,KACA/F,EAAAjE,EAAAY,eAAA,GAAAwvG,GAAA0F,EAAA,KAEAtgH,EAAA,EAAoBA,EAAAsgH,IAAetgH,EAEnCgV,EAAAxF,SAAA,GAAA7G,EAAA3I,GAAA,EAAAyO,GAEAA,GAAAmsG,OAGA5lG,EAAAxF,SAAA7G,EAAA,KAEAqM,EAAAzF,aAIA6hF,EAAAjqF,QAAA,CAEA,IAAAo5G,EACAC,EACAv8E,EAAA,EACAw8E,EAAA9F,EAAAvpB,GAAA,EAEA,GAAAhmF,EACAm1G,EAAA/1G,EAAAc,MAAAd,EAAAe,MAAAf,EAAAc,MAAA,EACAk1G,EAAA,WAAAz0G,EAAA3E,SACAoD,EAAAkB,OAAA+0G,EAAA1D,EAAArxG,OACAlB,EAAAiB,IAAAg1G,EAAA1D,EAAAtxG,QACI,CACJ,IAAAu/F,EAAA,SAAAj/F,EAAA3E,SACAm5G,EAAAvV,EACAxgG,EAAAc,KAAAm1G,EAAA1D,EAAAtxG,IACAjB,EAAAe,MAAAk1G,EAAA1D,EAAAtxG,IACA+0G,EAAAh2G,EAAAiB,KAAAjB,EAAAkB,OAAAlB,EAAAiB,KAAA,EACAw4B,EAAA+mE,GAAA,GAAA5nG,KAAAsvC,GAAA,GAAAtvC,KAAAsvC,GAGA19B,EAAArG,OACAqG,EAAAq1C,UAAAk2D,EAAAC,GACAxrG,EAAA0qB,OAAAuE,GACAjvB,EAAA7H,UAAA,SACA6H,EAAA5H,aAAA,SACA4H,EAAApM,UAAAg2G,EACA5pG,EAAAhI,KAAA6xG,EAAA7xG,KACAgI,EAAAxF,SAAA4hF,EAAAC,YAAA,KACAr8E,EAAAzF,UAGA,GAAAiiG,EAAAqJ,WAAA,CAEA7lG,EAAAzL,UAAA/C,EAAAk9B,sBAAA8tE,EAAAjoG,UAAA,GACAyL,EAAAvL,YAAAjD,EAAAk9B,sBAAA8tE,EAAA5+D,MAAA,GACA,IAAAt/B,EAAA9I,EAAAc,KACAkI,EAAAhJ,EAAAe,MAAAwzG,EACAxrG,EAAA/I,EAAAiB,IACAgI,EAAAjJ,EAAAkB,OAAAqzG,EAEAe,EAAAt5G,EAAAs5G,WAAA9qG,EAAAzL,WACA6B,GACAmI,EAAAE,EAAA,QAAA1H,EAAA3E,SAAAoD,EAAAkB,OAAAlB,EAAAiB,IACA8H,GAAAusG,EACArsG,GAAAqsG,IAEAxsG,EAAAE,EAAA,SAAAzH,EAAA3E,SAAAoD,EAAAe,MAAAf,EAAAc,KACAgI,GAAAwsG,EACAtsG,GAAAssG,GAGA9qG,EAAAnF,YACAmF,EAAAlF,OAAAwD,EAAAC,GACAyB,EAAAjF,OAAAyD,EAAAC,GACAuB,EAAAhF,iDC/5BA,IAAA1J,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,UACAugG,UAAA,CACA/xF,SAAA,IACA4B,OAAA,eACAqpG,WAAAl6G,EAAAE,KACAi6G,WAAAn6G,EAAAE,QAIAhI,EAAAC,QAAA,CACAiiH,cAAA,GACAC,WAAA,GACAC,WAAA,EACAC,QAAA,KAQAC,aAAA,SAAAn5G,EAAA2/F,EAAA/xF,EAAAwrG,GACA,IACAjhH,EAAAiV,EADA4rG,EAAAxhH,KAAAwhH,WASA,IANArZ,EAAA3/F,QAEAo5G,IACAp5G,EAAAq5G,WAAA,GAGAlhH,EAAA,EAAAiV,EAAA4rG,EAAAr/G,OAAuCxB,EAAAiV,IAAUjV,EACjD,GAAA6gH,EAAA7gH,GAAA6H,UAEA,YADAg5G,EAAA7gH,GAAAwnG,GAKAqZ,EAAA5gH,KAAAunG,GAGA,IAAAqZ,EAAAr/G,QACAnC,KAAA8hH,yBAIAC,gBAAA,SAAAv5G,GACA,IAAApI,EAAA+G,EAAA66G,UAAAhiH,KAAAwhH,WAAA,SAAArZ,GACA,OAAAA,EAAA3/F,aAGA,IAAApI,IACAJ,KAAAwhH,WAAA74E,OAAAvoC,EAAA,GACAoI,EAAAq5G,WAAA,IAIAC,sBAAA,WACA,IAAA32G,EAAAnL,KACA,OAAAmL,EAAAu2G,UAIAv2G,EAAAu2G,QAAAv6G,EAAA86G,iBAAAjxG,KAAAwV,OAAA,WACArb,EAAAu2G,QAAA,KACAv2G,EAAA+2G,kBAQAA,YAAA,WACA,IAAA/2G,EAAAnL,KACAmiH,EAAAC,KAAAC,MACAC,EAAA,EAEAn3G,EAAAs2G,WAAA,IACAa,EAAAv+G,KAAAuS,MAAAnL,EAAAs2G,YACAt2G,EAAAs2G,WAAAt2G,EAAAs2G,WAAA,GAGAt2G,EAAAo3G,QAAA,EAAAD,GAEA,IAAAE,EAAAJ,KAAAC,MAEAl3G,EAAAs2G,aAAAe,EAAAL,GAAAh3G,EAAAo2G,cAGAp2G,EAAAq2G,WAAAr/G,OAAA,GACAgJ,EAAA22G,yBAOAS,QAAA,SAAA1sF,GACA,IACAsyE,EAAA3/F,EADAg5G,EAAAxhH,KAAAwhH,WAEA7gH,EAAA,EAEA,MAAAA,EAAA6gH,EAAAr/G,OACAgmG,EAAAqZ,EAAA7gH,GACA6H,EAAA2/F,EAAA3/F,MAEA2/F,EAAArwF,aAAAqwF,EAAArwF,aAAA,GAAA+d,EACAsyE,EAAArwF,YAAA/T,KAAAyiC,IAAA2hE,EAAArwF,YAAAqwF,EAAApwF,UAEA5Q,EAAAyF,SAAAu7F,EAAAlwF,OAAA,CAAAzP,EAAA2/F,GAAA3/F,GACArB,EAAAyF,SAAAu7F,EAAAjwF,oBAAA,CAAAiwF,GAAA3/F,GAEA2/F,EAAArwF,aAAAqwF,EAAApwF,UACA5Q,EAAAyF,SAAAu7F,EAAAhwF,oBAAA,CAAAgwF,GAAA3/F,GACAA,EAAAq5G,WAAA,EACAL,EAAA74E,OAAAhoC,EAAA,MAEAA,4BC5HA,IAAAupC,EAAczqC,EAAQ,QACtBi1C,EAAkBj1C,EAAQ,QAC1BiU,EAAejU,EAAQ,QAoBvBJ,EAAAC,QAAA,SAAAwsG,EAAAC,GACA,IAAAl3F,EAAAnB,EAAAo4F,EAAAC,EAAA,SACA0W,EAAAv4E,EAAA4hE,EAAAC,GACA2W,EAAAhuE,EAAAo3D,EAAAj3F,EAAA,EAAA4tG,EAAA,SAEA,OAAAC,sCC3BA,IAAAzqG,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,wBAAmC,CAAAF,EAAA,SAAAA,EAAA,SAAAH,EAAAM,GAAA,mDAAAH,EAAA,MAAAH,EAAAsC,GAAAtC,EAAA,iBAAA8nF,EAAAj2G,GAAqI,OAAAsuB,EAAA,WAAqBjW,IAAA49F,EAAA5mF,MAAA,CAAkB/pB,MAAA2wG,EAAApiD,OAAA,IAA2B9kC,MAAA,CAAQzpB,MAAA6oB,EAAA,WAAAliB,SAAA,SAAA+iB,GAAgDb,EAAAq8C,WAAAx7C,GAAmBE,WAAA,eAA0B,CAAAZ,EAAA,OAAYE,YAAA,kBAA6B,CAAAF,EAAA,OAAYE,YAAA,gBAA2B,CAAAF,EAAA,SAAAH,EAAAM,GAAA,+BAAAN,EAAAO,GAAAunF,OAAA,GAAA3nF,EAAA,OAAoFE,YAAA,mBAA8BL,EAAAsC,GAAAtC,EAAAwC,OAAA3wB,GAAA,SAAA4yC,EAAA3wC,GAA0C,OAAAqsB,EAAA,OAAiBjW,IAAApW,EAAAusB,YAAA,eAAAhN,MAAA,CAAyC3Y,gBAAA+pC,OAA2B,SAAStkB,EAAA,WAAgBE,YAAA,uBAAkC,CAAAF,EAAA,SAAAH,EAAAM,GAAA,+BAAAN,EAAAO,GAAAP,EAAA7oB,OAAA,2BACrzBirB,EAAA,6sBCwCA,IAAAyxF,EAAA,CACAtvF,WAAA,CACAE,UAAA,KACAqvF,UAAA,MAEAvwF,OAAA,CACA6zD,EAAA,MAEAvtE,MAAA,CACAjM,QAAA7K,MACAoE,MAAAymB,OACAvjB,IAAAiP,QAEAsZ,SAAA,CACAy5C,WAAAU,EAAA,KACAv6C,OAFA,WAEA,IAAAxW,EAAA9a,KACA,OAAAA,KAAAmJ,IACAnJ,KAAA0M,QACAhL,OAAA,SAAAk1G,GAAA,2BAAAA,GAAA97F,EAAA4pE,KAAA,kCACAv7E,IAAA,SAAAytG,GACA,IAAAiM,EAAA,SAAAviH,EAAAC,GAAA,OAAAD,EAAAoxD,QAAA5pC,OAAAxnB,EAAA6F,QAAA5F,EAAAmxD,QAAA5pC,OAAAvnB,EAAA4F,QACA28G,EAAA,SAAAxiH,EAAAC,GAAA,YAAAoG,IAAArG,EAAA2F,MAAA3F,EAAAoxD,OAAApxD,EAAA2F,aAAAU,IAAApG,EAAA0F,MAAA1F,EAAAmxD,OAAAnxD,EAAA0F,QAEA4tB,EAAAzb,OAAA2oB,EAAA,KAAA3oB,CAAA0C,EAAA3R,IAAA0qB,OAAA7uB,KAAA,YAAA4xG,EAAAiM,EAAAC,GACAC,EAAA9rF,EAAA,GAAAnc,EAAA3R,IAAA,CAAA0qB,UAEA,OAAAzb,OAAA4oB,EAAA,KAAA5oB,CAAA2qG,EAAAnM,KAVA,KAcAzhF,QA9BA,WA+BAn1B,KAAAmrE,WAAA,YCxE0X63C,EAAA,0BCQ1XlxF,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd4qG,EACA/qG,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,gCCnBf,IAAAlsB,EAAgBnG,EAAQ,QAAiBmG,UACzCuB,EAAc1H,EAAQ,QACtBqW,EAAA3O,EAAA2O,WACAilE,EAAA5zE,EAAA4zE,gBACAx0E,EAAAY,EAAAZ,kBAsCA,SAAA08G,EAAAhxG,EAAAa,GACA,OAAAb,EAAA9P,OAAA,EAAA44E,EAAA9oE,EAAAa,GACAgD,EAAA7D,EAAA,GAAAa,GAGA,SAAAjM,EAAAR,GACA,OAAAA,EAAA,SAAAA,EAAAR,SAAAK,KAAAG,EAAAH,KA3BA7G,EAAAC,QAAA,SAAAm6B,EAAA3mB,GACA,IAAAhM,EAAAD,EAAA4yB,GACAxnB,EAAArM,EAAA6zB,GAGA,GAFA3mB,KAAA2mB,EAAA3mB,YAAA,IAEAb,EAAA9P,OAAA,UAAAC,MAAA,oCAEA,OAAA0E,GACA,cACA,OAAAm8G,EAAAhxG,EAAAa,GACA,mBACA,IAAAkzC,EAAA,GAIA,OAHA/zC,EAAA6E,QAAA,SAAAzD,GACA2yC,EAAAplD,KAAAqiH,EAAA5vG,EAAAP,MAEAvM,EAAAy/C,GACA,QACA,UAAA5jD,MAAA,QAAA0E,EAAA,yDCtCA,IAAAo8G,EAAAzjH,EAAA,QAAA0jH,EAAA1jH,EAAAyC,EAAAghH,GAA0tB1iG,EAAA,WAAA2iG,EAAG,qCCE7tB9jH,EAAAC,QAAA8jH,EAEA,IAAA5jH,EAAaC,EAAQ,QAErB,SAAA4jH,EAAArhH,EAAAvB,GAEA,IADA,IAAA6iH,EAAA,IAAAzhH,MAAApB,EAAA,GACAE,EAAA,EAAcA,EAAAqB,EAAAG,SAAiBxB,EAC/B2iH,EAAA3iH,GAAAqB,EAAArB,GAEA,IAAAA,EAAA,EAAcA,GAAAqB,EAAAG,SAAkBxB,EAAA,CAChC,QAAAiC,EAAAZ,EAAAG,OAA4BS,GAAAnC,IAAMmC,EAAA,CAElC,IADA,IAAAuM,EAAA,IAAAtN,MAAApB,GACAsC,EAAA,EAAkBA,EAAAtC,IAAKsC,EACvBoM,EAAApM,GAAAgB,KAAAulB,IAAA1mB,EAAA,EAAAjC,EAAAoC,GAEAugH,EAAA1gH,GAAAuM,EAEA,IAAArN,EAAAtC,EAAA+C,WAAA,EAAA+gH,GACA,GAAAxhH,EACA,SAGA,SAGA,SAAAshH,EAAAphH,GACA,IAAAE,EAAAF,EAAAG,OACA,OAAAD,EACA,SAEA,OAAAA,EACA,UAKA,IAHA,IAAAzB,EAAAuB,EAAA,GAAAG,OACAohH,EAAA,CAAAvhH,EAAA,IACA5B,EAAA,IACAO,EAAA,EAAcA,EAAAuB,IAAKvB,EAEnB,GADA4iH,EAAA3iH,KAAAoB,EAAArB,IACA0iH,EAAAE,EAAA9iH,IAKA,GADAL,EAAAQ,KAAAD,GACAP,EAAA+B,SAAA1B,EAAA,EACA,OAAAL,OALAmjH,EAAAhgH,MAQA,OAAAnD,wCCjDA,IAAA6X,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAH,EAAA3lB,KAAA2lB,EAAA3lB,IAAA0qB,MAAoF/E,EAAAgB,KAApFb,EAAA,WAA4De,MAAA,CAAO9pB,KAAA,WAAiB,CAAA4oB,EAAAM,GAAA,2BAAAH,EAAA,gBAAgEe,MAAA,CAAOwzF,SAAA,GAAA7wF,MAAA7D,EAAA20F,aAAAt9G,KAAA,gBAA6DupB,MAAA,CAAQzpB,MAAA6oB,EAAA,YAAAliB,SAAA,SAAA+iB,GAAiDb,EAAA40F,YAAA/zF,GAAoBE,WAAA,gBAA2B,CAAAZ,EAAA,YAAiBqmC,KAAA,SAAa,CAAArmC,EAAA,SAAAH,EAAAM,GAAA,0BAAAH,EAAA,SAA2DE,YAAA,cAAyB,CAAAL,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAA60F,UAAA,kCAC3gBzyF,EAAA,qECqBA0yF,EAAA,CACAvwF,WAAA,CACAwwF,eAAA,KACAtwF,UAAA,MAEA5a,MAAA,CACAxP,IAAA,CACAjD,KAAAkS,OACA4e,UAAA,IAGAtF,SAAA,CACAiyF,UADA,WAEA,OAAAvrG,OAAA2C,KAAA/a,KAAAmJ,KAAAhH,aAAAwE,IAAA3G,KAAAmJ,IAAA0qB,MAEA7zB,KAAAmJ,IAAA0qB,MAAAC,OAAA,SAAAxzB,EAAAC,GAAA,OAAAD,EAAAC,EAAAujH,gBAAA,GAFA,GAIAJ,YANA,WAMA,IAAA5oG,EAAA9a,KACAoiF,EAAA,EAEA,OAAAhqE,OAAA2C,KAAA/a,KAAAmJ,KAAAhH,aAAAwE,IAAA3G,KAAAmJ,IAAA0qB,OAEA7zB,KAAAmJ,IAAA0qB,MAAA/c,QAAA,SAAAkd,GACAlZ,EAAAipG,iBAGA3hC,GAAApuD,EAAA8vF,eAAA9vF,EAAA/tB,MAFAm8E,GAAApuD,EAAA8vF,eAAA,IAAA9vF,EAAA/tB,QAMAm8E,GAVAA,GAYAqhC,aArBA,WAsBA,OAAArrG,OAAA2C,KAAA/a,KAAAmJ,KAAAhH,OAEAnC,KAAAmJ,IAAAw7D,KAAAhnD,QAAA,YAFA,MAIAomG,iBA1BA,WA2BA,QAAA3rG,OAAA2C,KAAA/a,KAAAmJ,KAAAhH,QAEAnC,KAAAmJ,IAAAw7D,KAAAq/C,SAAA,SC9D8aC,EAAA,cCO9anyF,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd6rG,EACAhsG,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,+CChBf,IAAA3qB,EAAc1H,EAAQ,QAEtB,SAAAykH,EAAA70E,EAAAtnC,GACA,OAAAZ,EAAAg9G,MAAA90E,EAAA,SAAAvsC,GACA,OAAAA,EAAAiF,eAIA,SAAAq8G,EAAA/0E,EAAApnC,GACAonC,EAAAv4B,QAAA,SAAAhU,EAAAnC,GAEA,OADAmC,EAAAuhH,WAAA1jH,EACAmC,IAEAusC,EAAArqC,KAAA,SAAA1E,EAAAC,GACA,IAAAm2D,EAAAzuD,EAAA1H,EAAAD,EACAq2D,EAAA1uD,EAAA3H,EAAAC,EACA,OAAAm2D,EAAAxuD,SAAAyuD,EAAAzuD,OACAwuD,EAAA2tD,WAAA1tD,EAAA0tD,WACA3tD,EAAAxuD,OAAAyuD,EAAAzuD,SAEAmnC,EAAAv4B,QAAA,SAAAhU,UACAA,EAAAuhH,aAwBAhlH,EAAAC,QAAA,CACA2H,SAAA,GAQAoK,OAAA,SAAA7I,EAAAqE,GACArE,EAAAiuG,QACAjuG,EAAAiuG,MAAA,IAIA5pG,EAAA7E,UAAA6E,EAAA7E,YAAA,EACA6E,EAAA9E,SAAA8E,EAAA9E,UAAA,MACA8E,EAAA3E,OAAA2E,EAAA3E,QAAA,EAEAM,EAAAiuG,MAAA71G,KAAAiM,IAQA4E,UAAA,SAAAjJ,EAAA87G,GACA,IAAAlkH,EAAAoI,EAAAiuG,MAAAjuG,EAAAiuG,MAAAzzG,QAAAshH,IAAA,GACA,IAAAlkH,GACAoI,EAAAiuG,MAAA9tE,OAAAvoC,EAAA,IAUAgR,UAAA,SAAA5I,EAAAqE,EAAAH,GAMA,IALA,IAGAipD,EAHAh9C,EAAA,kCACA/C,EAAA+C,EAAAxW,OACAxB,EAAA,EAGQA,EAAAiV,IAAUjV,EAClBg1D,EAAAh9C,EAAAhY,GACA+L,EAAAqR,eAAA43C,KACA9oD,EAAA8oD,GAAAjpD,EAAAipD,KAYA7sD,OAAA,SAAAN,EAAAwD,EAAAG,GACA,GAAA3D,EAAA,CAIA,IAAA+7G,EAAA/7G,EAAAkE,QAAA83G,QAAA,GACAv7G,EAAA9B,EAAAuF,QAAA4I,UAAAivG,EAAAt7G,SACAw7G,EAAAx7G,EAAAgD,KACAy4G,EAAAz7G,EAAAiD,MACAy4G,EAAA17G,EAAAmD,IACAw4G,EAAA37G,EAAAoD,OAEAw4G,EAAAX,EAAA17G,EAAAiuG,MAAA,QACAqO,EAAAZ,EAAA17G,EAAAiuG,MAAA,SACAsO,EAAAb,EAAA17G,EAAAiuG,MAAA,OACAuO,EAAAd,EAAA17G,EAAAiuG,MAAA,UACAwO,EAAAf,EAAA17G,EAAAiuG,MAAA,aAGA2N,EAAAS,GAAA,GACAT,EAAAU,GAAA,GACAV,EAAAW,GAAA,GACAX,EAAAY,GAAA,GAwCA,IAAAE,EAAAl5G,EAAAy4G,EAAAC,EACAS,EAAAh5G,EAAAw4G,EAAAC,EACAQ,EAAAF,EAAA,EACAG,EAAAF,EAAA,EAGAG,GAAAt5G,EAAAo5G,IAAAP,EAAA1iH,OAAA2iH,EAAA3iH,QAGAojH,GAAAp5G,EAAAk5G,IAAAN,EAAA5iH,OAAA6iH,EAAA7iH,QAGAqjH,EAAAN,EACAO,EAAAN,EACAO,EAAA,GAqBAv+G,EAAA6G,KAAA62G,EAAAnwG,OAAAowG,EAAAC,EAAAC,GAAAW,GAGA,IAAAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EAEA5+G,EAAA6G,KAAA+2G,EAAArwG,OAAAswG,GAAA,SAAAgB,GACA,GAAAA,EAAA5J,WAAA,CACA,IAAA6J,EAAAD,EAAA5J,aACAwJ,EAAA7hH,KAAA0K,IAAAm3G,EAAAK,EAAAh6G,MACA45G,EAAA9hH,KAAA0K,IAAAo3G,EAAAI,EAAA/5G,UAIA/E,EAAA6G,KAAA62G,EAAAnwG,OAAAowG,GAAA,SAAAoB,GACA,GAAAA,EAAA9J,WAAA,CACA,IAAA6J,EAAAC,EAAA9J,aACA0J,EAAA/hH,KAAA0K,IAAAq3G,EAAAG,EAAA75G,KACA25G,EAAAhiH,KAAA0K,IAAAs3G,EAAAE,EAAA55G,WAOA,IAAA85G,EAAA1B,EACA2B,EAAA1B,EACA2B,EAAA1B,EACA2B,EAAA1B,EA2BAz9G,EAAA6G,KAAA62G,EAAAnwG,OAAAowG,GAAAyB,GAEAp/G,EAAA6G,KAAA62G,EAAA,SAAAx+F,GACA8/F,GAAA9/F,EAAAra,QAGA7E,EAAA6G,KAAA82G,EAAA,SAAAz+F,GACA+/F,GAAA//F,EAAAra,QAIA7E,EAAA6G,KAAA+2G,EAAArwG,OAAAswG,GAAAuB,GAGAp/G,EAAA6G,KAAA+2G,EAAA,SAAA1+F,GACAggG,GAAAhgG,EAAAla,SAGAhF,EAAA6G,KAAAg3G,EAAA,SAAA3+F,GACAigG,GAAAjgG,EAAAla,SAqBAhF,EAAA6G,KAAA62G,EAAAnwG,OAAAowG,GAAA0B,GAGAL,EAAA1B,EACA2B,EAAA1B,EACA2B,EAAA1B,EACA2B,EAAA1B,EAEAz9G,EAAA6G,KAAA62G,EAAA,SAAAx+F,GACA8/F,GAAA9/F,EAAAra,QAGA7E,EAAA6G,KAAA82G,EAAA,SAAAz+F,GACA+/F,GAAA//F,EAAAra,QAGA7E,EAAA6G,KAAA+2G,EAAA,SAAA1+F,GACAggG,GAAAhgG,EAAAla,SAEAhF,EAAA6G,KAAAg3G,EAAA,SAAA3+F,GACAigG,GAAAjgG,EAAAla,SAIA,IAAAs6G,EAAA1iH,KAAA0K,IAAAm3G,EAAAO,EAAA,GACAA,GAAAM,EACAL,GAAAriH,KAAA0K,IAAAo3G,EAAAO,EAAA,GAEA,IAAAM,EAAA3iH,KAAA0K,IAAAq3G,EAAAO,EAAA,GACAA,GAAAK,EACAJ,GAAAviH,KAAA0K,IAAAs3G,EAAAO,EAAA,GAKA,IAAAK,EAAAx6G,EAAAk6G,EAAAC,EACAM,EAAA56G,EAAAm6G,EAAAC,EAEAQ,IAAApB,GAAAmB,IAAAlB,IACAt+G,EAAA6G,KAAA62G,EAAA,SAAAx+F,GACAA,EAAAla,OAAAw6G,IAGAx/G,EAAA6G,KAAA82G,EAAA,SAAAz+F,GACAA,EAAAla,OAAAw6G,IAGAx/G,EAAA6G,KAAA+2G,EAAA,SAAA1+F,GACAA,EAAAre,YACAqe,EAAAra,MAAA46G,KAIAz/G,EAAA6G,KAAAg3G,EAAA,SAAA3+F,GACAA,EAAAre,YACAqe,EAAAra,MAAA46G,KAIAnB,EAAAkB,EACAnB,EAAAoB,GAIA,IAAA36G,EAAAw4G,EAAAgC,EACAr6G,EAAAu4G,EAAA+B,EAwBAv/G,EAAA6G,KAAA62G,EAAAnwG,OAAAqwG,GAAA8B,GAGA56G,GAAAu5G,EACAp5G,GAAAq5G,EAEAt+G,EAAA6G,KAAA82G,EAAA+B,GACA1/G,EAAA6G,KAAAg3G,EAAA6B,GAGAr+G,EAAA89B,UAAA,CACAr6B,KAAAk6G,EACA/5G,IAAAi6G,EACAn6G,MAAAi6G,EAAAX,EACAn5G,OAAAg6G,EAAAZ,GAIAt+G,EAAA6G,KAAAi3G,EAAA,SAAA5+F,GACAA,EAAApa,KAAAzD,EAAA89B,UAAAr6B,KACAoa,EAAAja,IAAA5D,EAAA89B,UAAAl6B,IACAia,EAAAna,MAAA1D,EAAA89B,UAAAp6B,MACAma,EAAAha,OAAA7D,EAAA89B,UAAAj6B,OAEAga,EAAAvd,OAAA08G,EAAAC,KArOA,SAAAE,EAAAt/F,GACA,IAAAva,EACAC,EAAAsa,EAAAta,eAEAA,GACAD,EAAAua,EAAAvd,OAAAud,EAAAre,UAAAk9G,EAAAM,EAAAD,GACAE,GAAA35G,EAAAK,SAEAL,EAAAua,EAAAvd,OAAAw8G,EAAAG,GACAD,GAAA15G,EAAAE,OAGA05G,EAAA9kH,KAAA,CACAuyG,WAAApnG,EACAD,UACAua,QAqCA,SAAAkgG,EAAAlgG,GACA,IAAAygG,EAAA3/G,EAAA4/G,cAAArB,EAAA,SAAAsB,GACA,OAAAA,EAAA3gG,UAGA,GAAAygG,EACA,GAAAzgG,EAAAta,eAAA,CACA,IAAAk7G,EAAA,CACAh7G,KAAAlI,KAAA0K,IAAA03G,EAAAP,GACA15G,MAAAnI,KAAA0K,IAAA23G,EAAAP,GACAz5G,IAAA,EACAC,OAAA,GAKAga,EAAAvd,OAAAud,EAAAre,UAAAk9G,EAAAM,EAAAL,EAAA,EAAA8B,QAEA5gG,EAAAvd,OAAAg+G,EAAAh7G,QAAAE,MAAAy5G,GA4BA,SAAAe,EAAAngG,GACA,IAAAygG,EAAA3/G,EAAA4/G,cAAArB,EAAA,SAAA55G,GACA,OAAAA,EAAAua,UAGA4gG,EAAA,CACAh7G,KAAA,EACAC,MAAA,EACAE,IAAAi6G,EACAh6G,OAAAi6G,GAGAQ,GACAzgG,EAAAvd,OAAAg+G,EAAAh7G,QAAAE,MAAAy5G,EAAAwB,GAwEA,SAAAJ,EAAAxgG,GACAA,EAAAta,gBACAsa,EAAApa,KAAAoa,EAAAre,UAAAy8G,EAAA0B,EACA9/F,EAAAna,MAAAma,EAAAre,UAAAgE,EAAA04G,EAAAyB,EAAAX,EACAn/F,EAAAja,MACAia,EAAAha,OAAAD,EAAAia,EAAAla,OAGAC,EAAAia,EAAAha,SAIAga,EAAApa,OACAoa,EAAAna,MAAAD,EAAAoa,EAAAra,MACAqa,EAAAja,IAAAi6G,EACAhgG,EAAAha,OAAAg6G,EAAAZ,EAGAx5G,EAAAoa,EAAAna,kCCnYA,IAAAwH,EAAejU,EAAQ,QACvB2X,EAAoB3X,EAAQ,QAAY2X,cAiBxC/X,EAAAC,QAAA,SAAAoH,EAAAy4B,GAEA,IAAAz4B,EAAA,UAAAtE,MAAA,uBAGA,OAAAgV,EAAA1Q,EAAA,SAAAiM,EAAAq9C,GACA,IAAA/9C,EAAA+9C,EAAAnqD,SAAAF,YACA,OAAAgN,EAAAe,EAAAzB,EAAA,GAAAA,EAAA,GAAAktB,IACK,iEC1BC+nF,EAAc,QACdC,EAAY,MAEH3mG,EAAA,MACb+T,QAAS,CASPwvD,oBATO,SAScqjC,GACnB,IAAM/2F,EAAUrwB,KAAKo1B,OAAOgC,MAAMwoB,kBAAkBynE,WAAWC,SAASj3F,QACxE,SAAA3b,OAAU0yG,GAAV1yG,OAAkB2b,EAAU62F,EAAcC,IAM5CI,kBAjBO,SAiBYC,GACjB,GAAIA,EAAcxD,SAASkD,GACzB,OAAOM,EAAc7pG,QAAQupG,EAAaC,GACrC,GAAIK,EAAcxD,SAASmD,GAChC,OAAOK,EAAc7pG,QAAQwpG,EAAWD,GAExC,MAAM,IAAI9kH,MAAJ,SAAAsS,OAAmB8yG,EAAnB,+GC3Bd,IAAAC,EAAA5lH,MAAAZ,UAAAqB,MACAolH,EAAiBjoH,EAAQ,QACzBkoH,EAAkBloH,EAAQ,QAE1B0d,EAAA9d,EAAAC,QAAA,SAAAq0C,EAAAi0E,EAAA96G,GAGA,OAFAA,MAAA,IAEA6mC,IAAAi0E,IAGGj0E,aAAAyuE,MAAAwF,aAAAxF,KACHzuE,EAAAk0E,YAAAD,EAAAC,WAIGl0E,IAAAi0E,GAAA,iBAAAj0E,GAAA,iBAAAi0E,EACH96G,EAAAoR,OAAAy1B,IAAAi0E,EAAAj0E,GAAAi0E,EASAE,EAAAn0E,EAAAi0E,EAAA96G,KAIA,SAAAi7G,EAAA9hH,GACA,cAAAA,QAAAU,IAAAV,EAGA,SAAA+hH,EAAA74G,GACA,SAAAA,GAAA,kBAAAA,GAAA,kBAAAA,EAAAhN,UACA,oBAAAgN,EAAA84G,MAAA,oBAAA94G,EAAA7M,SAGA6M,EAAAhN,OAAA,qBAAAgN,EAAA,KAIA,SAAA24G,EAAAxnH,EAAAC,EAAAuM,GACA,IAAAnM,EAAAqY,EACA,GAAA+uG,EAAAznH,IAAAynH,EAAAxnH,GACA,SAEA,GAAAD,EAAAW,YAAAV,EAAAU,UAAA,SAGA,GAAA0mH,EAAArnH,GACA,QAAAqnH,EAAApnH,KAGAD,EAAAmnH,EAAAz2G,KAAA1Q,GACAC,EAAAknH,EAAAz2G,KAAAzQ,GACA4c,EAAA7c,EAAAC,EAAAuM,IAEA,GAAAk7G,EAAA1nH,GAAA,CACA,IAAA0nH,EAAAznH,GACA,SAEA,GAAAD,EAAA6B,SAAA5B,EAAA4B,OAAA,SACA,IAAAxB,EAAA,EAAeA,EAAAL,EAAA6B,OAAcxB,IAC7B,GAAAL,EAAAK,KAAAJ,EAAAI,GAAA,SAEA,SAEA,IACA,IAAAwoD,EAAAu+D,EAAApnH,GACA8oD,EAAAs+D,EAAAnnH,GACG,MAAA6H,GACH,SAIA,GAAA+gD,EAAAhnD,QAAAinD,EAAAjnD,OACA,SAKA,IAHAgnD,EAAAnkD,OACAokD,EAAApkD,OAEArE,EAAAwoD,EAAAhnD,OAAA,EAAyBxB,GAAA,EAAQA,IACjC,GAAAwoD,EAAAxoD,IAAAyoD,EAAAzoD,GACA,SAIA,IAAAA,EAAAwoD,EAAAhnD,OAAA,EAAyBxB,GAAA,EAAQA,IAEjC,GADAqY,EAAAmwC,EAAAxoD,IACAwc,EAAA7c,EAAA0Y,GAAAzY,EAAAyY,GAAAlM,GAAA,SAEA,cAAAxM,WAAAC,2BC5FA,IAAAsV,EAAiBpW,EAAQ,QAAeqW,WACxCoyG,EAAkBzoH,EAAQ,QA+B1BJ,EAAAC,QAAA,SAAA6oH,EAAAC,EAAAv5G,GACA,IAAAoD,EACA,eAAApD,EAAA3I,KACA+L,EAAApD,EAAAhJ,SAAAF,gBACK,mBAAAkJ,EAAA3I,KAGL,UAAA9D,MAAA,kDAFA6P,EAAApD,EAAAlJ,YAKA,IAEA0iH,EAFAC,EAAAJ,EAAAr5G,EAAAs5G,GACAI,EAAAL,EAAAr5G,EAAAu5G,GAGAC,EADAC,EAAAx1G,WAAA1S,OAAAmoH,EAAAz1G,WAAA1S,MACA,CAAAkoH,EAAAC,GAEA,CAAAA,EAAAD,GAGA,IADA,IAAAE,EAAA,CAAAH,EAAA,GAAAxiH,SAAAF,aACAhF,EAAA0nH,EAAA,GAAAv1G,WAAA1S,MAAA,EAA8CO,EAAA0nH,EAAA,GAAAv1G,WAAA1S,MAAA,EAAkCO,IAChF6nH,EAAA5nH,KAAAqR,EAAAtR,IAGA,OADA6nH,EAAA5nH,KAAAynH,EAAA,GAAAxiH,SAAAF,aACAkQ,EAAA2yG,EAAA35G,EAAAiE,21BC1BA,IAAA21G,EAAA,SAAA7/G,EAAA8/G,GACA,OAAA9/G,EAAAU,MACA,cAAAoL,OAAAg0G,EAAA9/G,EAAAS,MAAA,gDAAAqL,OAAAg0G,EAAA9/G,EAAAU,OAAA,iBAEA,cAAAoL,OAAAg0G,EAAA9/G,EAAAS,MAAA,kBAIAs/G,EAAA,SAAA//G,EAAA8/G,GACA,OAAA9/G,EAAAU,MACA,cAAAoL,OAAAg0G,EAAA9/G,EAAAS,MAAA,8CAAAqL,OAAAg0G,EAAA9/G,EAAAU,OAAA,iBAEA,cAAAoL,OAAAg0G,EAAA9/G,EAAAS,MAAA,kBAIAu/G,EAAAn6B,OAAA,qCACAo6B,EAAA,CACAx/G,KAAA,KACApD,MAAA,KACAqD,MAAA,KACAw/G,MAAA,MAGAtoG,EAAA,MACA6S,WAAA,CACAqiC,gBAAAqzD,EAAA,MAEA12F,OAAA,CACA22F,EAAA,KACAC,EAAA,KACAC,EAAA,KACAC,EAAA,MAEAxwG,MAAA,CACAjM,QAAA,CACAxG,KAAArE,MACAm1B,UAAA,GAEAihF,OAAAp2G,MACAoE,MAAA,GACAmjH,SAAAj9E,QACAskD,OAAAr4E,OACAixG,SAAAvhG,OACAlE,OAAA,CAAAuoB,QAAArrC,UACAi/C,YAAArzB,OACApjB,MAAAojB,OACA48F,WAAAn9E,QACAokD,QAAApkD,QACAo9E,UAAA,GACAC,gBAAA,CACA/3F,SAAA,EACAvrB,KAAAimC,SAEA2oB,SAAA,CACA5uD,KAAAimC,QACA1a,SAAA,GAEA4iC,YAAA3nC,OACAsK,SAAAmV,QACAhmC,KAAAumB,OACA+8F,WAAA,GACAhB,sBAAA,CACAviH,KAAApF,SACA2wB,QAAA,kBAAAg3F,IAEAE,oBAAA,CACAziH,KAAApF,WAGA4wB,SAAAuF,EAAA,GACA7e,OAAAsxG,EAAA,KAAAtxG,CAAA,CACA,kCAFA,CAKAuxG,qBALA,WAKA,IAAA7uG,EAAA9a,KACA,OAAAoY,OAAAwxG,EAAA,KAAAxxG,CAAAywG,EAAA,SAAA15G,EAAA6J,GAAA,OAAA8B,EAAA21E,QAAA,IAAAz3E,SAGA6wG,kBATA,WAUA,OAAA7pH,KAAAqpH,WAAArpH,KAAAopH,SAAA,SAEAU,UAZA,WAaA,OAAA9pH,KAAA+1D,MAAAi1B,OAAA8+B,WAEAC,gBAfA,WAeA,IAAA9uG,EAAAjb,KACA,IAAAA,KAAAspH,aAAAtpH,KAAA0M,QAAAvK,OACA,UAAAC,MAAA,mEAGA,IAAA4nH,EAAAhqH,KAAAuwF,QACAvwF,KAAA0M,QACA0L,OAAA6xG,EAAA,UAAA7xG,CAAApY,KAAA0M,QAAA,CAAA1M,KAAAupH,WAAA,SAAAp6G,GAAA,OAAA8L,EAAAivG,aAAA/6G,EAAA,WAEAzC,EAAAs9G,EAAA7gH,IAAAnJ,KAAAmqH,eAMA,OAJAnqH,KAAAspH,YAAA,IAAAtpH,KAAA6pH,oBAAA7pH,KAAAg3B,UACAtqB,EAAA4vB,QAAAt8B,KAAAoqH,aAGA19G,GAEA09G,YAhCA,WAiCA,OACAC,OAAA,EACApkH,MAAA2iH,EAAAx7F,WACA/jB,KAAArJ,KAAA+/C,YAAA//C,KAAA+/C,YAAA3yB,WAAAptB,KAAAsqH,gBAAAC,cAGAC,eAvCA,WAwCA,GAAAxqH,KAAAi4G,OAAA,OAAAj4G,KAAAi4G,OAAA9uG,IAAA,SAAAgG,GAAA,iBAAAiJ,OAAAqyG,EAAA,KAAAryG,CAAAjJ,KAAA,CAAAlJ,MAAAkJ,EAAA7F,MAAA6F,KAEA,IAAA8oG,EAAA,GAWA,OAVAj4G,KAAA+pH,gBAAAjzG,QAAA,SAAA8/F,GACAA,EAAAkS,QACA,WAAA1wG,OAAAqyG,EAAA,KAAAryG,CAAAw+F,EAAAkS,OACA7Q,EAAArB,EAAAkS,MAAA7iH,OAAA2wG,EAAAkS,MAEA7Q,EAAArB,EAAAkS,OAAA,CAAA7iH,MAAA2wG,EAAAkS,MAAAx/G,MAAAstG,EAAAkS,UAKA1wG,OAAA2C,KAAAk9F,GAAA9uG,IAAA,SAAAgG,GAAA,OAAA8oG,EAAA9oG,MAEAu7G,cAvDA,WAuDA,IAKArnD,EALA/nD,EAAAtb,KACAqtC,EAAA,SAAApnC,GAAA,iBAAAmS,OAAAqyG,EAAA,KAAAryG,CAAAnS,GACAqV,EAAA4uG,aAAAjkH,EAAA,SACAA,GAIA,OAAAjG,KAAA6pH,kBACA,UAAA7pH,KAAAiG,MACAo9D,EAAA,CAAAh2B,EAAArtC,KAAAiG,YACA,KAAAjG,KAAAspH,YAAA,OAAAtpH,KAAAiG,MAGA,UAAA7D,MAAA,oDAAAsS,OAAA1U,KAAAiG,MAAA,MAFAo9D,EAAA,OAIA,CACA,IAAAxhE,MAAAkE,QAAA/F,KAAAiG,OACA,UAAA7D,MAAA,sDAAAsS,OAAA1U,KAAAiG,MAAA,MAGA,IAAAjG,KAAAspH,aAAAtpH,KAAAiG,MAAA9D,OACA,UAAAC,MAAA,qEAGAihE,EAAArjE,KAAAiG,MAAAkD,IAAAkkC,GAGA,IAAAs9E,EAAAtnD,EAAAl6D,IAAA,SAAAgG,GAAA,OAAAmM,EAAAyuG,gBAAAl7E,KAAA,SAAA+nE,GAAA,OAAAA,EAAA3wG,QAAAkJ,MAEA,GAAAw7G,EAAA/rG,KAAA,SAAAzP,GAAA,OAAAA,IAAA,CACA,IAAAy7G,EAAAD,EAAAxhH,IAAA,SAAAgG,EAAAxO,GAAA,QAAAwO,EAAAxO,KAAAe,OAAA,SAAAyN,GAAA,OAAAA,EAAA,KAAAhG,IAAA,SAAAgG,GAAA,OAAAA,EAAA,KAEA,UAAA/M,MAAA,qEAAAsS,OAAAk2G,EAAA,iBAAAl2G,OAAA1U,KAAAiG,MAAA,MAGA,OAAAo9D,GAEA/O,oBA5FA,WA6FA,OAAAt0D,KAAA6qH,gBAAA7qH,KAAAq0D,aAAA3yD,OAAA,SAAAyN,GAAA,OAAAA,KAEA6zC,QA/FA,WAgGA,IAAA8nE,EAAA,CACA9wC,MAAAh6E,KAAAsqH,gBAAAS,eAEAC,EAAA5yG,OAAA6b,OAAA62F,EAAA9qH,KAAAirH,cAEA,OAAAD,EAAAhrH,KAAAo3B,QAEAA,MAvGA,WAyGA,GAAAp3B,KAAA00D,MAAA,CAIA,IAAAw2D,EAAA,GAYA,OAVAlrH,KAAAg3B,WACA,OAAAh3B,KAAAiG,MACAilH,EAAAl0F,SAAA,UAEAk0F,EAAAl0F,SAAA,SAGAk0F,EAAAC,KAAAnrH,KAAAorH,UAGAprH,KAAAqrH,cAAAH,IAAA,cAGA32F,QAAA,CACA21F,aADA,SACAtT,EAAA/2D,GAAA,IAAAlkC,EAAA3b,KACAyV,EAAA,SAAAoqC,GACA,IAAAyrE,EAAA3vG,EAAAguG,qBAAA9pE,GAEA,OAAAyrE,aAAAxqH,SACAwqH,EAAA1U,GACA,WAAAx+F,OAAAqyG,EAAA,KAAAryG,CAAAw+F,GACAA,EAAA0U,GAEA,UAAAzrE,GAAA,SAAAA,EACA+2D,OACAjwG,GAGA4kH,EAAA91G,EAAAoqC,GAEA,YAAAl5C,IAAA4kH,GAAA,UAAA1rE,EACApqC,EAAA,aAEA9O,IAAA4kH,GAAA,SAAA1rE,EACApqC,EAAA,SAGA81G,GAGApB,cA3BA,SA2BAvT,GAAA,IAAAt6F,EAAAtc,KACA,OAAAoY,OAAAwxG,EAAA,KAAAxxG,CAAApY,KAAA2pH,qBAAA,SAAAx6G,EAAA0wC,GAAA,OAAAvjC,EAAA4tG,aAAAtT,EAAA/2D,MAGA2rE,UA/BA,SA+BAvlH,GAAA,IAAA+W,EAAAhd,KACA,OAAAA,KAAA0M,QAAAmiC,KAAA,SAAA+nE,GAAA,iBAAAx+F,OAAAqyG,EAAA,KAAAryG,CAAAw+F,GACA55F,EAAAktG,aAAAtT,EAAA,WAAA3wG,EACA2wG,IAAA3wG,KAGAwlH,mBArCA,WAqCA,IAAAC,EAAA1rH,KACA,IAAAA,KAAA2rH,8BAAA,CAIA,IAAAC,EAAA5rH,KAAA8pH,UAAAzmD,MACA3hE,OAAA,SAAAyN,GAAA,OAAAA,IAAAy5G,IACAz/G,IAAA,SAAAgG,GAAA,OAAAu8G,EAAA5B,UAAAp9G,QAAAyC,GAAAlJ,QACAkD,IAAAnJ,KAAAwrH,WACA9pH,OAAA,SAAAyN,GAAA,YAAAxI,IAAAwI,IAEA08G,EAAA,IAAA7rH,KAAA6pH,uBACAljH,IAAAilH,EAAA,GACA5rH,KAAAspH,WACA,KACAtpH,KAAAiG,MACA2lH,EAAA,GACAA,EAAAzpH,QAAAnC,KAAAspH,WAEAsC,EADA5rH,KAAAiG,MAGAjG,KAAAiG,QAAA4lH,EACA7rH,KAAAgsC,MAAA,QAAA6/E,GAIA7rH,KAAA8rH,iBAKAC,gBApEA,SAoEAC,GACAhsH,KAAA2rH,gCACAK,EAAA7sD,iBACA6sD,EAAAjgF,oBAGAkgF,OA1EA,SA0EAtuF,GACA39B,KAAAgsC,MAAA,OAAArO,IAGAuuF,cA9EA,WA8EA,IAAAC,EAAAnsH,KACAA,KAAA2rH,+BAAA,EAEA3rH,KAAA8pH,UAAAsC,eACApsH,KAAA8pH,UAAAuC,UAAArsH,KAAA+pH,iBACA/pH,KAAA8pH,UAAAwC,gBAAA,GAEAtsH,KAAA8pH,UAAAyC,oBACAvsH,KAAAwqH,eAAA1zG,QAAA,SAAAgyG,GACAqD,EAAArC,UAAA0C,eAAA1D,EAAA7iH,MAAA6iH,KAGA9oH,KAAA2rH,+BAAA,EAEA3rH,KAAA8rH,gBAGAA,aA/FA,WA+FA,IAAAW,EAAAzsH,KACAA,KAAA2rH,+BAAA,EAEA3rH,KAAA8pH,UAAA76D,OAAA,GAEAjvD,KAAA0qH,cAAA5zG,QAAA,SAAAjK,GACA4/G,EAAA3C,UAAA4C,QAAA7/G,GAAA,KAGA7M,KAAA2rH,+BAAA,GAEAgB,MA1GA,WA2GA3sH,KAAA8pH,UAAA6C,SAEAC,WA7GA,WA8GA5sH,KAAA80D,SACA90D,KAAA8pH,UAAA+C,UAEA7sH,KAAA8pH,UAAA7mE,WAKAvrB,MAAA,CACAzxB,MAAA,eACAyG,QAAA,gBACA48G,WAAA,gBACAx0D,SAJA,WAKA90D,KAAA4sH,eAIAz3F,QAzSA,WAySA,IAAA23F,EAAA9sH,KACA0M,EAAA,CACAqgH,cAAA,QACAnpG,OAAA5jB,KAAA4jB,OACAylG,SAAArpH,KAAA6pH,kBACAmD,aAAA,EACAjtE,YAAA//C,KAAA+/C,YACA//C,KAAA+/C,YAAA3yB,WACAptB,KAAAspH,WACAtpH,KAAAsqH,gBAAAC,YACAvqH,KAAAsqH,gBAAA2C,sBACAC,iBAAAltH,KAAAspH,WACA6D,eAAAntH,KAAAwpH,gBAAA,aAGA98G,EAAAuL,OAAA,CACA2+F,OAAA6R,EACA57G,KAAA7M,KAAA2oH,wBAGAj8G,EAAA0gH,YAAA,iBAEA,IAAAptH,KAAA6pH,oBACAn9G,EAAAowE,QAAA,CAAAuwC,cAAA,CAAA/jH,MAAA,iCAGA,IAAAgkH,EAAAC,EAAAvtH,KAAA+1D,MAAAi1B,QAKA,GAJAsiC,EAAAxD,UAAAp9G,GAEA1M,KAAA4sH,aAEA5sH,KAAA6pH,kBAAA,GACA,IAAA2D,EAAAD,EAAA,qDACAE,UAAAH,EAAAzxG,QAGA,OAAAzD,OAAAs1G,EAAA,sBAAAt1G,IACA,SACAo1G,EAAAnkH,KAAA,yBACA,MACA,QACAmkH,EAAAnkH,KAAA,2BAGAikH,EAAA38F,GAAA,oBACAm8F,EAAAhD,UAAAzmD,MAAAlhE,SAAAuK,EAAA28G,SACAmE,EAAAG,SAAA,MAEAH,EAAAI,YAAA,QAMA5tH,KAAA8pH,UAAAn5F,GAAA,SAAA3wB,KAAAyrH,oBAGAzrH,KAAA8pH,UAAAn5F,GAAA,OAAAvY,OAAA6xG,EAAA,YAAA7xG,CAAApY,KAAAisH,OAAA,MAGAqB,EAAA38F,GAAA,SAAA3wB,KAAA+rH,iBAKA/rH,KAAAksH,cAAAlsH,KAAA0M,UAEA4oB,cA5WA,WA6WAi4F,EAAAvtH,KAAA+1D,MAAAi1B,QAAA6iC,IAAA,UAEA7tH,KAAA8pH,UAAA15E,sECpaA,IAAAn4B,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,iBAAqCe,MAAA,CAAOxpB,SAAAsoB,EAAAtoB,SAAAg6B,eAAA1R,EAAA3M,MAAAue,UAAA,EAAAC,WAAA,iBAAAC,aAAA,OAA0G,IAC/O1P,EAAA,yoBCgBA,IAAA48F,EAAA,CACAz6F,WAAA,CACAyN,gBAAA,MAEAnoB,MAAA,CACAxP,IAAAiP,QAEAsZ,SAAAuF,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,mCACA21G,sBAAA,SAAA32F,GAAA,OAAAA,EAAAI,GAAAu2F,yBAFA,CAIAvnH,SAJA,WAKA,OAAAxG,KAAAmJ,KACAiP,OAAA2C,KAAA/a,KAAAmJ,KAAAhH,OAEAiW,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAAmJ,IAAAnJ,KAAA+tH,uBAHA,IAKA5rG,MAVA,WAWA,OAAA/J,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAAmJ,IAAAnJ,KAAA+tH,2BCnC2aC,EAAA,cCO3al8F,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd41G,EACA/1G,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,+CChBf,IAAA3qB,EAAc1H,EAAQ,QAMtBJ,EAAAC,QAAA,CAKAwjD,WAAA,CAOAt7B,OAAA,SAAAvhB,GACA,OAAAkB,EAAApB,QAAAE,KAAA,GAAAA,GAWAuwD,OAAA,SAAAy3D,EAAA7tH,EAAA8kE,GAEA,IAAAv/C,EAAAu/C,EAAA/iE,OAAA,EAAA+iE,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAGAnhE,KAAA6hB,IAAAD,GAAA,GACAsoG,IAAAlqH,KAAAuS,MAAA23G,KAEAtoG,EAAAsoG,EAAAlqH,KAAAuS,MAAA23G,IAIA,IAAAC,EAAA/mH,EAAA0pG,MAAA9sG,KAAA6hB,IAAAD,IACAwoG,EAAA,GAEA,OAAAF,EAAA,CACA,IAAAG,EAAArqH,KAAA0K,IAAA1K,KAAA6hB,IAAAs/C,EAAA,IAAAnhE,KAAA6hB,IAAAs/C,IAAA/iE,OAAA,KACA,GAAAisH,EAAA,MACA,IAAAC,EAAAlnH,EAAA0pG,MAAA9sG,KAAA6hB,IAAAqoG,IACAE,EAAAF,EAAAK,cAAAvqH,KAAAuS,MAAA+3G,GAAAtqH,KAAAuS,MAAA43G,QACK,CACL,IAAAK,GAAA,EAAAxqH,KAAAuS,MAAA43G,GACAK,EAAAxqH,KAAA0K,IAAA1K,KAAAyiC,IAAA+nF,EAAA,OACAJ,EAAAF,EAAAjvG,QAAAuvG,SAGAJ,EAAA,IAGA,OAAAA,GAGAjd,YAAA,SAAA+c,EAAA7tH,EAAA8kE,GACA,IAAAspD,EAAAP,EAAAlqH,KAAAulB,IAAA,GAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAAod,KAEA,WAAAA,EACA,IACI,IAAAO,GAAA,IAAAA,GAAA,IAAAA,GAAA,IAAApuH,OAAA8kE,EAAA/iE,OAAA,EACJ8rH,EAAAK,gBAEA,4BCxEA,IAAAG,EAAgBhvH,EAAQ,QACxBivH,EAAqBjvH,EAAQ,QAC7BkvH,EAAelvH,EAAQ,QACvBmvH,EAAYnvH,EAAQ,QACpBwwD,EAAUxwD,EAAQ,QAClBovH,EAAiBpvH,EAAQ,QA0HzB,SAAAqvH,EAAAr1F,GACA,UAAAA,QAAA9yB,IAAA8yB,EAAA,UAAAr3B,MAAA,yBACAq3B,EAAA5zB,SAAAK,KAAA,aACA,IAAA6oH,EAAA,GAAAr6G,OAAAnS,MAAA,GAAAk3B,EAAA5zB,SAAAF,aAEA,OADA8zB,EAAA5zB,SAAAF,YAAAopH,EACAt1F,EA1GAp6B,EAAAC,QAAA,SAAAiH,EAAAyoH,GAKA,IAHA,IAAAC,EAAA,GACAC,EAAA,GACAC,EAAA,IAAAP,EACAQ,EAAA,EAA2BA,EAAA7oH,EAAAC,SAAArE,OAA+CitH,IAAA,CAC1E,IAAAC,EAAAV,EAAApoH,EAAAC,SAAA4oH,IACAE,EAAA,CACAvxC,KAAAsxC,EAAA,GACArxC,KAAAqxC,EAAA,GACApxC,KAAAoxC,EAAA,GACAnxC,KAAAmxC,EAAA,GACAE,kBAAAH,GAEAF,EAAAtuH,KAAA0uH,GAEAH,EAAAx3E,KAAAu3E,GAEA,QAAAvuH,EAAA,EAAmBA,EAAA4F,EAAAC,SAAArE,OAAuCxB,IAAA,CAc1D,IAbA,IAAA84B,EAAAlzB,EAAAC,SAAA7F,GAEA6uH,EAAAb,EAAAl1F,GACAg2F,EAAA,CACA1xC,KAAAyxC,EAAA,GACAxxC,KAAAwxC,EAAA,GACAvxC,KAAAuxC,EAAA,GACAtxC,KAAAsxC,EAAA,IAEAE,EAAAP,EAAAzW,OAAA+W,GAEAE,GAAA,EAEAC,EAAA,EAAiCA,EAAAF,EAAAvtH,OAAgDytH,IAAA,CACjFn2F,EAAAlzB,EAAAC,SAAA7F,GAEA,IAAAkvH,EAAAH,EAAAE,GAAAL,kBAEA,GAAAN,EAAA9sH,OAAA,OAAA0tH,EACA,GAAAA,EAAAZ,IAAA9sH,OAAA,GACA0tH,GAAAZ,EAAA,WACiB,CACjB,IAAAa,EAAAjB,EAAAkB,cAAAF,EAAAZ,GACA,IAAAa,IACAD,GAAAC,GAKA,GAAAD,IAAAlvH,EAAA,CAGA,IAAAqvH,EAAAzpH,EAAAC,SAAAqpH,GAEA,QAAAlpH,WAAAqoH,GACAgB,EAAAl9G,WAAAk8G,KAAAv1F,EAAA3mB,WAAAk8G,GADA,CAMA,IAAAiB,EAAAvB,EAAAj1F,EAAAu2F,GAEA,IAAAC,EAAA,CACA,IAAAC,EAAA7xF,KAAAC,UAAA7E,GACA02F,EAAA9xF,KAAAC,UAAA0xF,GACAI,EAAAtB,EAAAzwF,KAAA5R,MAAAyjG,IACAG,EAAAvB,EAAAzwF,KAAA5R,MAAA0jG,IACAF,EAAAhgE,EAAAM,qBAAA6/D,EAAAvqH,SAAAwqH,EAAAxqH,UAEAoqH,IAIA1pH,EAAAC,SAAA7F,GAAA8tH,EAAAh1F,EAAAu2F,GACAf,EAAAruH,KAAA8uH,EAAAE,GAAAL,mBACAN,EAAAjqH,KAAA,SAAA1E,EAAAC,GACA,OAAAD,EAAAC,IAGA4uH,EAAA1W,OAAAiX,EAAAE,IACArpH,EAAAC,SAAAmiC,OAAAknF,EAAA,GACAJ,EAAAF,kBAAA5uH,EACAwuH,EAAA1W,OAAAgX,EAAA,SAAAnvH,EAAAC,GACA,OAAAD,EAAAivH,oBAAAhvH,EAAAgvH,oBAEAI,GAAA,KAEA,GAAAA,EAAA,CACA,IAAAW,EAAA3B,EAAAl1F,GACA01F,EAAAhsH,OAAA,CACA46E,KAAAuyC,EAAA,GACAtyC,KAAAsyC,EAAA,GACAryC,KAAAqyC,EAAA,GACApyC,KAAAoyC,EAAA,GACAf,kBAAA5uH,IAEAA,KAGA,OAAA4F,yBC5HA,IAAA26B,EAAgBzhC,EAAQ,QACxBgG,EAAAy7B,EAAAz7B,SACAG,EAAAs7B,EAAAt7B,UAuEA,SAAA2qH,EAAAp6G,EAAAsB,EAAA+4G,GACA,IAAAhjE,GAAA,EACA/1C,EAAA,QAAAA,IAAAtV,OAAA,OAAAsV,EAAA,QAAAA,IAAAtV,OAAA,QAAAsV,IAAAnV,MAAA,EAAAmV,EAAAtV,OAAA,IAEA,QAAAxB,EAAA,EAAAiC,EAAA6U,EAAAtV,OAAA,EAAwCxB,EAAA8W,EAAAtV,OAAiBS,EAAAjC,IAAA,CACzD,IAAAm5G,EAAAriG,EAAA9W,GAAA,GAAAo5G,EAAAtiG,EAAA9W,GAAA,GACA8vH,EAAAh5G,EAAA7U,GAAA,GAAA8tH,EAAAj5G,EAAA7U,GAAA,GACA+tH,EAAAx6G,EAAA,IAAA2jG,EAAA2W,GAAA1W,GAAA0W,EAAAt6G,EAAA,IAAAu6G,GAAAv6G,EAAA,GAAA2jG,KAAA,IACAA,EAAA3jG,EAAA,KAAAs6G,EAAAt6G,EAAA,SAAA4jG,EAAA5jG,EAAA,KAAAu6G,EAAAv6G,EAAA,OACA,GAAAw6G,EAAA,OAAAH,EACA,IAAAr2E,EAAA4/D,EAAA5jG,EAAA,KAAAu6G,EAAAv6G,EAAA,IACAA,EAAA,IAAAs6G,EAAA3W,IAAA3jG,EAAA,GAAA4jG,IAAA2W,EAAA3W,GAAAD,EACA3/D,IAAAqT,MAEA,OAAAA,EAWA,SAAAojE,EAAAz6G,EAAAiK,GACA,OAAAA,EAAA,IAAAjK,EAAA,IACAiK,EAAA,IAAAjK,EAAA,IACAiK,EAAA,IAAAjK,EAAA,IACAiK,EAAA,IAAAjK,EAAA,GAxEA9W,EAAAC,QAAA,SAAA+D,EAAAo2B,EAAA+2F,GAEA,IAAAntH,EAAA,UAAAjB,MAAA,qBACA,IAAAq3B,EAAA,UAAAr3B,MAAA,uBAEA,IAAA+T,EAAA1Q,EAAApC,GACAwtH,EAAAjrH,EAAA6zB,GACAvzB,EAAAuzB,EAAA,SAAAA,EAAA5zB,SAAAK,KAAAuzB,EAAAvzB,KACAka,EAAAqZ,EAAArZ,KAGA,GAAAA,IAAA,IAAAwwG,EAAAz6G,EAAAiK,GAAA,SAGA,YAAAla,IAAA2qH,EAAA,CAAAA,IAEA,QAAAlwH,EAAA,EAAA2wD,GAAA,EAAuC3wD,EAAAkwH,EAAA1uH,SAAAmvD,EAAiC3wD,IAExE,GAAA4vH,EAAAp6G,EAAA06G,EAAAlwH,GAAA,GAAA6vH,GAAA,CACA,IAAAM,GAAA,EACA/tH,EAAA,EAEA,MAAAA,EAAA8tH,EAAAlwH,GAAAwB,SAAA2uH,EACAP,EAAAp6G,EAAA06G,EAAAlwH,GAAAoC,IAAAytH,KACAM,GAAA,GAEA/tH,IAEA+tH,IAAAx/D,GAAA,GAGA,OAAAA,sCC7DA,IAAAy/D,EAAAtxH,EAAA,QAAAuxH,EAAAvxH,EAAA,QAAAwxH,EAAAxxH,EAAA,QAUAo1C,EAAA,SAAAq8E,GACA,SAAAr8E,EAAAvvB,EAAAtP,EAAAm/B,EAAA/d,GAEA85F,EAAAlgH,KAAAhR,MAMAA,KAAAslB,SAMAtlB,KAAAmxH,YAAAh8E,EAMAn1C,KAAAgW,aAMAhW,KAAAo3B,QA2DA,OAvDA85F,IAAAr8E,EAAAlxB,UAAAutG,GACAr8E,EAAA5zC,UAAAmX,OAAAwL,OAAAstG,KAAAjwH,WACA4zC,EAAA5zC,UAAA4iB,YAAAgxB,EAKAA,EAAA5zC,UAAA4P,QAAA,WACA7Q,KAAA25C,cAAuBs3E,EAAA,KAASn5E,SAMhCjD,EAAA5zC,UAAAq0C,UAAA,WACA,OAAAt1C,KAAAslB,QAOAuvB,EAAA5zC,UAAAm2C,SAAA,WACA,OAAWh/B,OAAA24G,EAAA,KAAA34G,IAMXy8B,EAAA5zC,UAAAs1C,cAAA,WACA,OAAAv2C,KAAAmxH,aAMAt8E,EAAA5zC,UAAAw2C,cAAA,WACA,OAA6Bz3C,KAAA,YAM7B60C,EAAA5zC,UAAAu2C,SAAA,WACA,OAAAx3C,KAAAo3B,OAOAyd,EAAA5zC,UAAA02C,KAAA,WACIv/B,OAAA24G,EAAA,KAAA34G,IAGJy8B,EAtFA,CAuFEm8E,EAAA,MAGaxwG,EAAA,4CCpGf,IAAA4wG,EAAA3xH,EAAA,QAAA4xH,EAAA5xH,EAAAyC,EAAAkvH,GAAutB5wG,EAAA,WAAA6wG,EAAG,uCCE1tB,IAAAlqH,EAAc1H,EAAQ,QACtB6xH,EAAY7xH,EAAQ,QACpB2kB,EAAU3kB,EAAQ,QAGlB8xH,EAAAntG,EAAAotG,SAAAptG,EAAAktG,EAOAjyH,EAAAC,QAAA6H,EAAAuD,OAAA,CAIAC,WAAA,aASA2/B,eAAA,aAQAmnF,eAAA,aASAC,iBAAA,aAQAC,oBAAA,cAECJ,yBCtDD,IAAAnxG,EAAW3gB,EAAQ,QACnB84G,EAAkB94G,EAAQ,QAoB1BJ,EAAAC,QAAA,SAAAoH,GACA,OAAA6xG,EAAAn4F,EAAA1Z,wCCpBArH,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAsvF,MAAA,SAAAj8G,EAAA/K,GAGA,OAFAA,EAAA1E,KAAA,QAEA,IAAAo8B,EAAA3sB,EAAA/K,oMCkCAinH,GAAA,EAEAC,EAAA,CACAxH,gBAAA,iCAEA90D,EAAA,EACAh1C,EAAA,MACA6S,WAAA,CACAqiC,gBAAAq8D,EAAA,KACAC,iBAAAC,EAAA,MAEA5/F,OAAA,CACA6/F,EAAA,KACAC,EAAA,KACA/5G,OAAAg6G,EAAA,KAAAh6G,CAAA05G,GACAO,EAAA,KACAC,EAAA,MAIA35G,MAAA,CACAxS,KAAAumB,OACAzmB,MAAA,GACAugC,IAAA,GACA/3B,IAAA,GACA+gB,OAAA,CACAtpB,KAAAwmB,OACA+E,QAAA,KAGA0kF,IAAAhqE,QACA0W,MAAA1W,QACAq3E,SAAAr3E,QACA4T,YAAArzB,OACApjB,MAAAojB,OACA2nC,YAAA3nC,OACAsK,SAAAmV,QACAR,SAAA,CACAzlC,KAAA4hB,OACA2J,QAAA,GAEA8gG,mBAAApmF,SAEAvjC,KArCA,WAsCA,OACA4B,GAAA,mBAAAkK,OAAA8gD,KACAg9D,OAAA,OAGA9gG,SAAA,CACA+gG,cADA,WAEA,OAAAzyH,KAAA0yH,gBAAA1yH,KAAAiG,QAEAquD,oBAJA,WAKA,OAAAt0D,KAAA6qH,gBAAA7qH,KAAAq0D,aAAA3yD,OAAA,SAAAyN,GAAA,OAAAA,KAEA6zC,QAPA,WAQA,IAAA8nE,EAAA,CACA9wC,MAAAh6E,KAAAsqH,gBAAAS,eAEAC,EAAA5yG,OAAA6b,OAAA62F,EAAA9qH,KAAAirH,cAEA,OAAAD,EAAAhrH,KAAAo3B,QAEAA,MAfA,WAiBA,GAAAp3B,KAAA00D,MAAA,CAIA,IAAAw2D,EAAA,GAYA,OAVAlrH,KAAAg3B,WACAh3B,KAAAiG,MACAilH,EAAAl0F,SAAA,UAEAk0F,EAAAl0F,SAAA,SAGAk0F,EAAAC,KAAAnrH,KAAAorH,UAGAprH,KAAAqrH,cAAAH,IAAA,aAGA32F,QAAA,CACA06B,MADA,WAEAjvD,KAAAgsC,MAAA,eAEA0mF,gBAJA,SAIAzsH,GAeA,OAdAA,KAAAjG,KAAAm2G,IACA0b,EACA,MAAA7xH,KAAAwvB,OACAxvB,KAAA6iD,MACA8vE,IAAA1sH,GAAA48C,QAAA2hB,QAAA,KACAmuD,IAAA1sH,GAAA2sH,MAAApuD,QAAA,KACAxkE,KAAA6iD,MACA8vE,IAAA1sH,GAAA48C,QACA8vE,IAAA1sH,GAAA2sH,MACA,MAAA5yH,KAAAwvB,OACAmjG,QAAA1sH,GAAAw+D,WAAAD,QAAA,KACAmuD,IAAA1sH,GACAA,GAAA,KAEAA,GAEA4sH,SArBA,WAsBA,IAAA7yH,KAAA8yH,UAAA,CACA,UAAA9yH,KAAAwyH,OAAA/gC,OAAA,OAAAzxF,KAAAivD,QAEA,IAAAwiC,EAGAA,EADAogC,EACA,MAAA7xH,KAAAwvB,OACAxvB,KAAA6iD,MACA7iD,KAAAwyH,OAAA/gC,OAAAjtB,QAAA,KAAA3hB,QACA7iD,KAAAwyH,OAAA/gC,OAAAjtB,QAAA,KAAAouD,MACA5yH,KAAA6iD,MACA7iD,KAAAwyH,OAAA/gC,OAAA5uC,QACA7iD,KAAAwyH,OAAA/gC,OAAAmhC,MAEA,MAAA5yH,KAAAwvB,OACAxvB,KAAAwyH,OAAA/gC,OAAAjtB,QAAA,KACAxkE,KAAAwyH,OAAA/gC,OAGA,IAAAshC,EAAAthC,GAAAzxF,KAAAm2G,IACA1kB,EAAAuhC,YAAAhzH,KAAA6iD,OAAAgvE,GACApgC,EAEAshC,IAAA/yH,KAAAiG,OAEAjG,KAAAgsC,MAAA,QAAA+mF,MAGAr7F,MAAA,CACAzxB,MADA,SACAgtH,GACAjzH,KAAA8yH,WAAA,EACA9yH,KAAAwyH,OAAA/gC,KAAAzxF,KAAAyyH,eACAzyH,KAAA8yH,WAAA,GAEAtsF,IANA,SAMA0sF,GACAlzH,KAAAwyH,OAAAW,QAAAnzH,KAAA0yH,gBAAAQ,KAAA,IAEAzkH,IATA,SASA2kH,GACApzH,KAAAwyH,OAAAa,QAAArzH,KAAA0yH,gBAAAU,KAAA,IAEA5jG,OAZA,SAYA8jG,GACAtzH,KAAAwyH,OAAAhjG,OAAA8jG,KAGAn+F,QAjJA,WAkJA,IAAAzoB,EAAA,CACA6mH,YAAAvzH,KAAAuyH,mBACA/iG,OAAAxvB,KAAAwvB,OACAgkG,OAAAp7G,OAAAq7G,EAAA,oBAAAr7G,GACA+6G,QAAAnzH,KAAA0yH,gBAAA1yH,KAAAwmC,OAAA,EACA6sF,QAAArzH,KAAA0yH,gBAAA1yH,KAAAyO,OAAA,EACAgjF,KAAAzxF,KAAAiG,OAAAjG,KAAA0yH,gBAAA1yH,KAAAiG,QAGAytH,EAAAnG,EAAAvtH,KAAA+1D,MAAAy8D,QACAxyH,KAAAwyH,OAAAkB,EAAAC,eAAAjnH,GAAA9D,KAAA,kBAEA5I,KAAAiG,OAAA,MAAAjG,KAAAwvB,QACAxvB,KAAA6yH,WAIAa,EAAA/iG,GAAA,YAAA3wB,KAAA6yH,WAEAv9F,cArKA,WAsKAt1B,KAAAwyH,OAAApiF,2DCrNA,IAAAlP,EAAgBzhC,EAAQ,QAqDxB,SAAA8wH,EAAAp6G,EAAAsB,EAAA+4G,GACA,IAAAhjE,GAAA,EACA/1C,EAAA,QAAAA,IAAAtV,OAAA,OAAAsV,EAAA,QAAAA,IAAAtV,OAAA,QAAAsV,IAAAnV,MAAA,EAAAmV,EAAAtV,OAAA,IAEA,QAAAxB,EAAA,EAAAiC,EAAA6U,EAAAtV,OAAA,EAAwCxB,EAAA8W,EAAAtV,OAAiBS,EAAAjC,IAAA,CACzD,IAAAm5G,EAAAriG,EAAA9W,GAAA,GAAAo5G,EAAAtiG,EAAA9W,GAAA,GACA8vH,EAAAh5G,EAAA7U,GAAA,GAAA8tH,EAAAj5G,EAAA7U,GAAA,GACA+tH,EAAAx6G,EAAA,IAAA2jG,EAAA2W,GAAA1W,GAAA0W,EAAAt6G,EAAA,IAAAu6G,GAAAv6G,EAAA,GAAA2jG,KAAA,IACAA,EAAA3jG,EAAA,KAAAs6G,EAAAt6G,EAAA,SAAA4jG,EAAA5jG,EAAA,KAAAu6G,EAAAv6G,EAAA,OACA,GAAAw6G,EAAA,OAAAH,EACA,IAAAr2E,EAAA4/D,EAAA5jG,EAAA,KAAAu6G,EAAAv6G,EAAA,IACAA,EAAA,IAAAs6G,EAAA3W,IAAA3jG,EAAA,GAAA4jG,IAAA2W,EAAA3W,GAAAD,EACA3/D,IAAAqT,MAEA,OAAAA,EAvCAnuD,EAAAC,QAAA,SAAA+D,EAAAo2B,GACA,IAAAtjB,EAAA+qB,EAAAz7B,SAAApC,GACAwtH,EAAAp3F,EAAA5zB,SAAAF,YAEA,YAAA8zB,EAAA5zB,SAAAK,OAAA2qH,EAAA,CAAAA,IAEA,QAAAlwH,EAAA,EAAA2wD,GAAA,EAAuC3wD,EAAAkwH,EAAA1uH,SAAAmvD,EAAiC3wD,IAExE,GAAA4vH,EAAAp6G,EAAA06G,EAAAlwH,GAAA,KACA,IAAAmwH,GAAA,EACA/tH,EAAA,EAEA,MAAAA,EAAA8tH,EAAAlwH,GAAAwB,SAAA2uH,EACAP,EAAAp6G,EAAA06G,EAAAlwH,GAAAoC,IAAA,KACA+tH,GAAA,GAEA/tH,IAEA+tH,IAAAx/D,GAAA,GAGA,OAAAA,2BCjDA,IAAApnB,EAAczqC,EAAQ,QACtBiU,EAAejU,EAAQ,QACvBi1C,EAAkBj1C,EAAQ,QAC1BqW,EAAiBrW,EAAQ,QAAeqW,WAwBxCzW,EAAAC,QAAA,SAAAuP,EAAA+kH,EAAAC,EAAA10F,GACA,IAAAltB,EACA3P,EAAA,GACA,eAAAuM,EAAA3I,KAAA+L,EAAApD,EAAAhJ,SAAAF,gBACA,mBAAAkJ,EAAA3I,KACA,UAAA9D,MAAA,kDADA6P,EAAApD,EAAAlJ,YAKA,IAFA,IACAmuH,EAAAv2G,EAAAw2G,EADAC,EAAA,EAEArzH,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IAAA,CACtC,GAAAizH,GAAAI,GAAArzH,IAAAsR,EAAA9P,OAAA,QACA,GAAA6xH,EAAAJ,GAAA,IAAAtxH,EAAAH,OAAA,CAEA,GADA2xH,EAAAF,EAAAI,GACAF,EAEA,OADAxxH,EAAA1B,KAAAqR,EAAAtR,IACAmV,EAAAxT,GAEAib,EAAA2sB,EAAAj4B,EAAAtR,GAAAsR,EAAAtR,EAAA,QACAozH,EAAAr/E,EAAAziC,EAAAtR,GAAAmzH,EAAAv2G,EAAA4hB,GACA78B,EAAA1B,KAAAmzH,EAAAluH,SAAAF,aAGA,GAAAquH,GAAAH,EAEA,OADAC,EAAAD,EAAAG,EACAF,GAIAv2G,EAAA2sB,EAAAj4B,EAAAtR,GAAAsR,EAAAtR,EAAA,QACAozH,EAAAr/E,EAAAziC,EAAAtR,GAAAmzH,EAAAv2G,EAAA4hB,GACA78B,EAAA1B,KAAAmzH,EAAAluH,SAAAF,aACAmQ,EAAAxT,KANAA,EAAA1B,KAAAqR,EAAAtR,IACAmV,EAAAxT,IAYA,GAJA0xH,GAAAJ,GACAtxH,EAAA1B,KAAAqR,EAAAtR,IAGAA,IAAAsR,EAAA9P,OAAA,EACA,OAAA2T,EAAAxT,GAGA0xH,GAAAtgH,EAAAzB,EAAAtR,GAAAsR,EAAAtR,EAAA,GAAAw+B,GAEA,OAAArpB,EAAA7D,IAAA9P,OAAA,0CCrEA9C,EAAAC,QAAA,GACAD,EAAAC,QAAA20H,OAAwBx0H,EAAQ,QAChCJ,EAAAC,QAAAuI,OAAwBpI,EAAQ,QAChCJ,EAAAC,QAAA8kF,MAAuB3kF,EAAQ,6CCL/B,IAAAwY,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBe,MAAA,CAAOo0D,MAAAt1D,EAAAs1D,MAAAn+E,MAAA6oB,EAAA7oB,OAAoC0qB,GAAA,CAAKia,MAAA,SAAAkB,GAAyBA,EAAAhd,EAAA42D,UAAA52D,EAAAs2D,YAAwC,CAAAn2D,EAAA,OAAYE,YAAA,WAAsB,CAAAL,EAAAoD,GAAA,eAAAjD,EAAA,YAAuCqmC,KAAA,UAAc,CAAArmC,EAAA,OAAYE,YAAA,UAAqB,CAAAF,EAAA,YAAiBe,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA9B,EAAA42D,UAAqB,CAAA52D,EAAAoD,GAAA,WAAAjD,EAAA,SAAgCe,MAAA,CAAOkkG,SAAAplG,EAAAqlG,YAA0B,CAAArlG,EAAAM,GAAA,yCAAAH,EAAA,YAAiEe,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA9B,EAAAs2D,SAAoB,CAAAt2D,EAAAoD,GAAA,UAAAjD,EAAA,SAA+Be,MAAA,CAAOkkG,SAAAplG,EAAAqlG,YAA0B,CAAArlG,EAAAM,GAAA,8CAAAN,EAAAoD,GAAA,cAA4EojC,KAAA,WAAe,IAC5tBpkC,EAAA,uCC+BA4gG,EAAA,CACAqC,UAAA,oBAEAC,EAAA,CACA/gG,WAAA,CACAoqE,UAAA,KACA1X,WAAA,MAEA1zD,OAAA,CAAAja,OAAAi8G,EAAA,KAAAj8G,CAAA05G,IACAn5G,MAAA,CACAyrE,MAAA13D,OACAzmB,MAAAkmC,SAEA5X,QAAA,CACAmxD,QADA,WAEA1lF,KAAAgsC,MAAA,YACAhsC,KAAAgsC,MAAA,WAEAhsC,KAAAyV,UACAzV,KAAAyV,UACAzV,KAAAyV,QAAA,OAGA2vE,OAVA,WAWAplF,KAAAgsC,MAAA,YACAhsC,KAAAgsC,MAAA,UAEAhsC,KAAAs0H,SACAt0H,KAAAs0H,SACAt0H,KAAAs0H,OAAA,OAGApoF,KAnBA,WAmBA,IAAApxB,EAAA9a,KAGA,OAFAA,KAAAgsC,MAAA,YAEA,IAAAuoF,QAAA,SAAA9+G,EAAA6+G,GACAx5G,EAAArF,UACAqF,EAAAw5G,cCrEwYE,EAAA,0BCQxY1iG,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdo8G,EACAv8G,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,kCCnBf,IAAAngB,EAAgBlS,EAAQ,QAAYkS,UACpCtO,EAAY5D,EAAQ,QAAe4D,MAkBnChE,EAAAC,QAAA,SAAAoH,EAAAoM,GACA,IAAA2hH,EAAA,EACAC,EAAA,EACAnnF,EAAA,EAMA,OALA57B,EAAAjL,EAAA,SAAA2M,GACAohH,GAAAphH,EAAA,GACAqhH,GAAArhH,EAAA,GACAk6B,MACK,GACLlqC,EAAA,CAAAoxH,EAAAlnF,EAAAmnF,EAAAnnF,GAAAz6B,0BCfA,SAAAgC,EAAAk7C,GACA,IAAAt1C,EAAAs1C,EAAA,GACAp1C,EAAAo1C,EAAA,GACA,OAAAp1C,EAAA,GAAAF,EAAA,GAAAE,EAAA,GAAAF,EAAA,IAWA,SAAAi6G,EAAAh+D,EAAAi+D,GACA,OAAAj+D,EAAA,GAAAi+D,EAAA,GAAAA,EAAA,GAAAj+D,EAAA,GAWA,SAAAnS,EAAAmS,EAAAi+D,GACA,OAAAj+D,EAAA,GAAAi+D,EAAA,GAAAj+D,EAAA,GAAAi+D,EAAA,IAWA,SAAAC,EAAAl+D,EAAAi+D,GACA,OAAAj+D,EAAA,GAAAi+D,EAAA,GAAAj+D,EAAA,GAAAi+D,EAAA,IAWA,SAAAE,EAAAt3F,EAAA16B,GACA,OAAA06B,EAAA16B,EAAA,GAAA06B,EAAA16B,EAAA,IAWA,SAAAiyH,EAAAz0H,EAAAC,GACA,IAAA27B,EAAA57B,EAAA,GACAiV,EAAAT,EAAAxU,GACAs1B,EAAAr1B,EAAA,GACAi9B,EAAA1oB,EAAAvU,GAEAg+C,EAAAo2E,EAAAp/G,EAAAioB,GACAw3F,EAAAH,EAAAj/F,EAAAsG,GACA+4F,EAAAN,EAAAK,EAAAx3F,GACAr8B,EAAA8zH,EAAA12E,EACA27D,EAAA11D,EAAAtoB,EAAA44F,EAAA3zH,EAAAoU,IACA,OAAA2kG,EAWA,SAAAgb,EAAA50H,EAAAC,GACA,IAAAgV,EAAAT,EAAAxU,GACAk9B,EAAA1oB,EAAAvU,GACA,WAAAo0H,EAAAp/G,EAAAioB,GAWA,SAAA08E,EAAA55G,EAAAC,GACA,OAAA20H,EAAA50H,EAAAC,IACAw0H,EAAAz0H,EAAAC,GAGAlB,EAAAC,QAAA46G,2BC/GA,SAAA/4G,EAAAiH,GAAmEA,EAAA9I,GAAnE,CAAgKU,EAAA,SAAAmB,GAAkB,aAAa,SAAAiH,EAAAjH,EAAAiH,GAAgB,QAAAlG,KAAAkG,IAAA2V,eAAA7b,KAAAf,EAAAe,GAAAkG,EAAAlG,IAAgD,SAAAA,KAAc,SAAAvB,KAAc,SAAA4U,KAAc,SAAAioB,KAAc,SAAA17B,KAAc,SAAAxB,KAAc,SAAAc,KAAc,SAAA2Q,EAAA5Q,GAAcnB,KAAAmG,KAAA,mBAAAnG,KAAAgjD,QAAA7hD,EAAAnB,KAAAysG,OAAA,IAAArqG,OAAAqqG,MAAArqG,MAAA4O,KAAAhR,KAAAmB,GAA4F,SAAAu8B,EAAAv8B,EAAAiH,GAAgBjH,EAAAF,UAAAmX,OAAAwL,OAAAxb,EAAAnH,WAAAE,EAAAF,UAAA4iB,YAAA1iB,EAAiE,SAAAQ,IAAa,OAAAiuC,UAAAztC,OAAA4P,EAAAf,KAAAhR,WAAqC,OAAA4vC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB79B,EAAAf,KAAAhR,KAAAmB,IAAgB,SAAAqT,KAAc,SAAA1C,IAAa,GAAA9R,KAAAmP,EAAA,KAAAnP,KAAAoP,EAAA,KAAApP,KAAA0hC,EAAA,SAAAkO,UAAAztC,OAAA2P,EAAAd,KAAAhR,KAAA,UAA6E,OAAA4vC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB99B,EAAAd,KAAAhR,KAAAmB,EAAAgO,EAAAhO,EAAAiO,EAAAjO,EAAAugC,QAAyB,OAAAkO,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC99B,EAAAd,KAAAhR,KAAAoI,EAAAlG,EAAA4P,EAAAqjH,oBAAiC,OAAAvlF,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD5vC,KAAAmP,EAAAxO,EAAAX,KAAAoP,EAAAmG,EAAAvV,KAAA0hC,EAAAlE,GAA4B,SAAA/8B,IAAa,GAAAT,KAAAo1H,iBAAA,MAAAxlF,UAAAztC,OAAA1B,EAAAuQ,KAAAhR,KAAA,QAA+D,OAAA4vC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAzuC,GAAA,IAAAA,EAAA,UAAAR,EAAA,2CAAuEX,KAAAo1H,iBAAAj0H,GAAyB,SAAA+6B,KAAc,SAAAp5B,KAAc,SAAA26B,EAAAt8B,GAAcnB,KAAAgjD,QAAA7hD,GAAA,GAAmB,SAAAiO,KAAc,SAAAD,EAAAhO,GAAcnB,KAAAgjD,QAAA7hD,GAAA,GAAmB,SAAA6pB,EAAA7pB,GAAcnB,KAAAgjD,QAAA7hD,GAAA,GAAmB,SAAA+oB,IAAalqB,KAAAq1H,OAAA,GAAAzlF,UAAA,aAAA9sC,GAAA9C,KAAAs1H,OAAA1lF,UAAA,IAAmE,SAAA7kB,IAAa,GAAAb,EAAA3nB,MAAAvC,MAAA,IAAA4vC,UAAAztC,aAAuC,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAu1H,eAAAp0H,EAAAgB,QAAAnC,KAAAwkD,IAAArjD,GAAA,QAA6C,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAu1H,eAAAntH,EAAAjG,QAAAnC,KAAAwkD,IAAAp8C,EAAAlG,IAA6C,SAAAmmC,IAAa,GAAAroC,KAAAw1H,KAAA,KAAAx1H,KAAAy1H,KAAA,KAAAz1H,KAAA01H,KAAA,KAAA11H,KAAA21H,KAAA,SAAA/lF,UAAAztC,OAAAnC,KAAAuuD,YAAgG,OAAA3e,UAAAztC,QAA8B,GAAAytC,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAmB5vC,KAAAuuD,KAAAptD,EAAAgO,EAAAhO,EAAAgO,EAAAhO,EAAAiO,EAAAjO,EAAAiO,QAA2B,GAAAwgC,UAAA,aAAAvH,EAAA,CAAkC,IAAAjgC,EAAAwnC,UAAA,GAAmB5vC,KAAAuuD,KAAAnmD,SAAc,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAAuuD,KAAArsD,EAAAiN,EAAAxO,EAAAwO,EAAAjN,EAAAkN,EAAAzO,EAAAyO,QAA2B,OAAAwgC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAgE5vC,KAAAuuD,KAAAh5C,EAAAioB,EAAA17B,EAAAxB,IAAoB,SAAAs1H,KAAc,SAAAtnD,IAAasnD,EAAA5kH,KAAAhR,KAAA,8DAA0E,SAAAs8C,KAAc,SAAAozD,EAAAvuG,EAAAiH,GAAgB,OAAAjH,EAAA00H,aAAA10H,EAAA00H,cAAA7yH,QAAAoF,IAAA,EAAoD,SAAA0tH,KAAc,SAAAC,EAAA50H,GAAcnB,KAAA29B,IAAAx8B,EAAW,SAAAZ,EAAAY,GAAcnB,KAAAiG,MAAA9E,EAAa,SAAA60H,KAAc,SAAAC,IAAa,GAAAj2H,KAAAyqC,GAAA,EAAAzqC,KAAAwqC,GAAA,MAAAoF,UAAAztC,OAAAnC,KAAAuuD,KAAA,QAAyD,OAAA3e,UAAAztC,QAA8B,oBAAAytC,UAAA,IAAkC,IAAAzuC,EAAAyuC,UAAA,GAAmB5vC,KAAAuuD,KAAAptD,QAAa,GAAAyuC,UAAA,aAAAqmF,EAAA,CAAkC,IAAA7tH,EAAAwnC,UAAA,GAAmB5vC,KAAAuuD,KAAAnmD,QAAa,oBAAAwnC,UAAA,IAAuC,IAAA1tC,EAAA0tC,UAAA,GAAmBqmF,EAAAjlH,KAAAhR,KAAAi2H,EAAAxpG,MAAAvqB,UAAyB,OAAA0tC,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC5vC,KAAAuuD,KAAA5tD,EAAA4U,IAAgB,SAAAqU,KAAc,SAAA0e,KAAc,SAAAH,KAAc,SAAAI,IAAa,GAAAvoC,KAAAmP,EAAA,KAAAnP,KAAAoP,EAAA,KAAApP,KAAAsuE,EAAA,SAAA1+B,UAAAztC,OAAAnC,KAAAmP,EAAA,EAAAnP,KAAAoP,EAAA,EAAApP,KAAAsuE,EAAA,OAAuF,OAAA1+B,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAmP,EAAAhO,EAAAgO,EAAAnP,KAAAoP,EAAAjO,EAAAiO,EAAApP,KAAAsuE,EAAA,OAA+B,OAAA1+B,UAAAztC,QAA8B,oBAAAytC,UAAA,qBAAAA,UAAA,IAAiE,IAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAmP,EAAA/G,EAAApI,KAAAoP,EAAAlN,EAAAlC,KAAAsuE,EAAA,OAA2B,GAAA1+B,UAAA,aAAArH,GAAAqH,UAAA,aAAArH,EAAA,CAA4D,IAAA5nC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC5vC,KAAAmP,EAAAxO,EAAAyO,EAAAmG,EAAA+4D,EAAA/4D,EAAAnG,EAAAzO,EAAA2tE,EAAAtuE,KAAAoP,EAAAmG,EAAApG,EAAAxO,EAAA2tE,EAAA3tE,EAAAwO,EAAAoG,EAAA+4D,EAAAtuE,KAAAsuE,EAAA3tE,EAAAwO,EAAAoG,EAAAnG,EAAAmG,EAAApG,EAAAxO,EAAAyO,OAAqE,GAAAwgC,UAAA,aAAA99B,GAAA89B,UAAA,aAAA99B,EAAA,CAA4D,IAAA0rB,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAkC5vC,KAAAmP,EAAAquB,EAAApuB,EAAAtN,EAAAsN,EAAApP,KAAAoP,EAAAtN,EAAAqN,EAAAquB,EAAAruB,EAAAnP,KAAAsuE,EAAA9wC,EAAAruB,EAAArN,EAAAsN,EAAAtN,EAAAqN,EAAAquB,EAAApuB,QAAsD,OAAAwgC,UAAAztC,OAAA,CAA8B,IAAA7B,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAiD5vC,KAAAmP,EAAA7O,EAAAN,KAAAoP,EAAAhO,EAAApB,KAAAsuE,EAAAv8D,OAA2B,OAAA69B,UAAAztC,OAAA,CAA8B,IAAAu7B,EAAAkS,UAAA,GAAAjuC,EAAAiuC,UAAA,GAAAp7B,EAAAo7B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAAwB,EAAAtuB,EAAAzN,EAAAyN,EAAAtM,EAAAnB,EAAAwN,EAAAuuB,EAAAvuB,EAAAsuB,EAAAC,EAAAvuB,EAAAxN,EAAAyN,EAAAzN,EAAAwN,EAAAuuB,EAAAtuB,IAAAoF,EAAApF,EAAA3O,EAAA2O,EAAAD,EAAA1O,EAAA0O,EAAAqF,EAAArF,EAAA6b,EAAAxW,EAAArF,EAAA1O,EAAA2O,EAAA3O,EAAA0O,EAAAqF,EAAApF,EAA4IpP,KAAAmP,EAAArM,EAAAkoB,EAAA7b,EAAAsuB,EAAAz9B,KAAAoP,IAAAquB,EAAAvB,EAAAlR,EAAAhrB,KAAAsuE,EAAApyC,EAAA/sB,EAAAC,EAAAtM,GAA8C,SAAA0lC,KAAc,SAAA5S,KAAc,SAAAwS,IAAapoC,KAAA8pE,SAAA,KAAA9pE,KAAA+5B,QAAA,KAAA/5B,KAAAk2H,KAAA,KAAAl2H,KAAAm2H,SAAA,KAAuE,IAAAh1H,EAAAyuC,UAAA,GAAmB5vC,KAAA+5B,QAAA54B,EAAAnB,KAAAk2H,KAAA/0H,EAAAi1H,UAAqC,SAAA10F,KAAc,SAAAnX,KAAc,SAAAxnB,KAAc,SAAAszH,KAAc,SAAAC,KAAc,SAAAzqG,KAAc,SAAA0qG,KAAc,SAAAC,KAAc,SAAA5zH,KAAc,SAAA6zH,KAAc,SAAAC,KAAc,SAAAC,KAAc,SAAAC,IAAa52H,KAAAq1H,OAAA,GAAAzlF,UAAA,aAAA9sC,GAAA9C,KAAAs1H,OAAA1lF,UAAA,IAAmE,SAAA29E,EAAApsH,GAAc,aAAAA,EAAA01H,GAAA11H,EAAAoyC,MAA0B,SAAAujF,GAAA31H,GAAe,aAAAA,EAAA,KAAAA,EAAA41H,OAA6B,SAAAC,GAAA71H,EAAAiH,GAAiB,OAAAjH,MAAAoyC,MAAAnrC,GAAsB,SAAA6uH,GAAA91H,GAAe,aAAAA,EAAA,KAAAA,EAAA8K,KAA2B,SAAAirH,GAAA/1H,GAAe,aAAAA,EAAA,KAAAA,EAAA+K,MAA4B,SAAAotD,KAAct5D,KAAAm3H,MAAA,KAAAn3H,KAAAo3H,MAAA,EAA6B,SAAAC,MAAe,SAAAC,MAAe,SAAAC,KAAcv3H,KAAAq1H,OAAA,GAAAzlF,UAAA,aAAA9sC,GAAA9C,KAAAs1H,OAAA1lF,UAAA,IAAmE,SAAA4nF,MAAe,SAAAn+D,MAAe,SAAAo+D,MAAe,SAAAC,MAAe,SAAAC,KAAc33H,KAAA4G,WAAA,KAAqB,IAAAzF,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,GAAAxH,EAAAp3B,KAAAhR,KAAAoI,GAAA,OAAAjH,MAAA,IAAAinC,EAAAwvF,gBAAAz2H,GAAA,UAAAR,EAAA,6CAAiHX,KAAA4G,WAAAzF,EAAkB,SAAA02H,KAAc,IAAA12H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+nF,GAAA3mH,KAAAhR,KAAAmB,EAAAiH,GAAkB,SAAA0vH,KAAc,GAAA93H,KAAA8G,KAAA,KAAA9G,KAAA+3H,SAAA,KAAA/3H,KAAAg4H,OAAA,KAAAh4H,KAAAi4H,YAAA,SAAAroF,UAAAztC,OAAA,CAAkG,IAAAhB,EAAAyuC,UAAA,GAAmBkoF,GAAA9mH,KAAAhR,KAAAmB,EAAAopB,EAAA2tG,yBAAqC,OAAAtoF,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAA8G,KAAAsB,EAAApI,KAAA+3H,SAAA3vH,EAAA+vH,aAAAn4H,KAAAg4H,OAAA91H,GAAwD,SAAAiU,KAAcnW,KAAA61B,MAAA,KAAgB,SAAAuiG,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,KAAc54H,KAAAgC,OAAA,KAAiB,IAAAb,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCxH,EAAAp3B,KAAAhR,KAAAoI,GAAApI,KAAAuuD,KAAAptD,GAA4B,SAAA03H,MAAe,SAAAC,KAAc94H,KAAA2F,YAAA,KAAsB,IAAAxE,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCxH,EAAAp3B,KAAAhR,KAAAoI,GAAApI,KAAAuuD,KAAAptD,GAA4B,SAAA43H,MAAe,SAAAC,KAAch5H,KAAA4qE,MAAA,KAAA5qE,KAAAwiF,MAAA,KAAgC,IAAArhF,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD,GAAAxH,EAAAp3B,KAAAhR,KAAAkC,GAAA,OAAAf,MAAAnB,KAAAm4H,aAAAc,oBAAA,OAAA7wH,MAAA,IAAAggC,EAAAwvF,gBAAAxvH,GAAA,UAAAzH,EAAA,wCAA+J,GAAAQ,EAAAg5G,WAAA/xE,EAAA8wF,oBAAA9wH,GAAA,UAAAzH,EAAA,oCAAyFX,KAAA4qE,MAAAzpE,EAAAnB,KAAAwiF,MAAAp6E,EAA0B,SAAA+wH,KAAc,IAAAh4H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+nF,GAAA3mH,KAAAhR,KAAAmB,EAAAiH,GAAkB,SAAAgxH,KAAc,GAAAxpF,UAAA,aAAA99B,GAAA89B,UAAA,aAAAypF,GAAA,CAAwD,IAAAl4H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCwpF,GAAApoH,KAAAhR,KAAAoI,EAAAkxH,+BAAA11G,OAAAziB,GAAAiH,QAA2D,GAAAsnG,EAAA9/D,UAAA,GAAAtH,IAAAsH,UAAA,aAAAypF,GAAA,CAAsD,IAAAn3H,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkCgpF,GAAA5nH,KAAAhR,KAAAkC,EAAAvB,GAAAX,KAAAu5H,wBAA+C,SAAAC,KAAc,IAAAr4H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+nF,GAAA3mH,KAAAhR,KAAAmB,EAAAiH,GAAkB,SAAA8pB,KAAc,GAAAlyB,KAAA+5B,QAAA,KAAA/5B,KAAAy5H,kBAAA,MAAA7pF,UAAAztC,aAAoE,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA+5B,QAAA54B,GAAgB,SAAAu4H,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,KAAc,GAAA95H,KAAAuB,UAAA,EAAAvB,KAAA2F,YAAA,SAAAiqC,UAAAztC,QAAgE,GAAAytC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmBkqF,GAAA9oH,KAAAhR,KAAAmB,EAAA,QAAkB,GAAA2mB,OAAAiyG,UAAAnqF,UAAA,KAAwC,IAAAxnC,EAAAwnC,UAAA,GAAmB5vC,KAAA2F,YAAA,IAAA9D,MAAAuG,GAAAw7B,KAAA,MAAyC,QAAA1hC,EAAA,EAAYA,EAAAkG,EAAIlG,IAAAlC,KAAA2F,YAAAzD,GAAA,IAAA4P,OAA8B,GAAA49F,EAAA9/D,UAAA,GAAAtH,GAAA,CAA2B,IAAA3nC,EAAAivC,UAAA,GAAmB,UAAAjvC,EAAA,OAAAX,KAAA2F,YAAA,IAAA9D,MAAA,GAAA+hC,KAAA,WAAiE5jC,KAAAuB,UAAAZ,EAAAq5H,eAAAh6H,KAAA2F,YAAA,IAAA9D,MAAAlB,EAAAwU,QAAAyuB,KAAA,MAAgF,IAAA1hC,EAAA,EAAYA,EAAAlC,KAAA2F,YAAAxD,OAA0BD,IAAAlC,KAAA2F,YAAAzD,GAAAvB,EAAAs5H,kBAAA/3H,SAAgD,OAAA0tC,UAAAztC,OAAA,GAAAytC,UAAA,aAAA/tC,OAAAimB,OAAAiyG,UAAAnqF,UAAA,KAA8F,IAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAkC5vC,KAAA2F,YAAA4P,EAAAvV,KAAAuB,UAAAi8B,EAAA,OAAAjoB,IAAAvV,KAAA2F,YAAA,IAAA9D,MAAA,GAAA+hC,KAAA,YAAyF,GAAA9b,OAAAiyG,UAAAnqF,UAAA,KAAA9nB,OAAAiyG,UAAAnqF,UAAA,KAAwE,IAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAkC5vC,KAAA2F,YAAA,IAAA9D,MAAAC,GAAA8hC,KAAA,MAAA5jC,KAAAuB,UAAAjB,EAA0D,IAAA4B,EAAA,EAAYA,EAAAJ,EAAII,IAAAlC,KAAA2F,YAAAzD,GAAA,IAAA4P,GAA+B,SAAAooH,MAAe,SAAAC,GAAAh5H,EAAAiH,GAAiB,OAAAjH,IAAAiH,GAAAjH,OAAAiH,MAA2B,SAAAgyH,GAAAj5H,EAAAiH,GAAiB,SAAAlG,EAAAf,GAAc,OAAAnB,WAAA6jB,cAAA3hB,GAAAlC,KAAAq6H,MAAA,GAAAr6H,KAAAs6H,QAAA,GAAAt6H,KAAAu6H,KAAA,GAAAv6H,KAAAw6H,WAAApyH,OAAAjH,GAAAs5H,GAAAzpH,KAAAhR,KAAAmB,KAAA,IAAAe,EAAAf,GAAmI,OAAAiH,GAAAw3B,GAAAz+B,EAAA,QAAuBmX,IAAAoiH,KAAOv5H,EAAA0iB,YAAA3hB,IAAAjB,UAAAE,EAAAe,EAAkC,SAAAu4H,GAAAt5H,GAAenB,KAAAwkD,IAAArjD,EAAA2V,QAAA9W,KAAAwkD,IAAAxkD,MAAAmB,EAAA2V,QAAA,SAAA3V,GAAwDnB,KAAAuY,IAAApX,EAAA,GAAAA,EAAA,KAAoBnB,MAAO,SAAA26H,GAAAx5H,GAAe,OAAAnB,KAAA0kD,IAAAvjD,KAAAnB,KAAAq6H,MAAA1xF,OAAAiyF,GAAA,GAAA56H,KAAAs6H,QAAA3xF,OAAAiyF,GAAA,GAAA56H,KAAAu6H,KAAAzjH,QAAA,SAAA3V,GAAqGy5H,GAAAz5H,EAAA,IAAAA,EAAA,QAAgBy5H,IAAA,EAAS,SAAAC,GAAA15H,GAAe,OAAAnB,KAAA0kD,IAAAvjD,GAAAnB,KAAAs6H,QAAAM,SAAA,EAA2C,SAAAE,GAAA35H,EAAAiH,GAAiB,GAAApI,KAAAw6H,YAAApyH,IAAAgQ,OAAAhQ,GAAA,UAAAkR,UAAA,6CAAmG,GAAAlR,OAAA,IAAAA,EAAA,IAAAwyH,GAAAz5H,EAAAgB,OAAgCy4H,OAAAT,GAAAh5H,EAAAy5H,IAAAxyH,UAAqBwyH,GAAAz5H,EAAA6B,QAAAoF,GAAqB,OAAAwyH,IAAA,EAAa,SAAAG,GAAA55H,GAAe,OAAA25H,GAAA9pH,KAAAhR,UAAAq6H,MAAAl5H,GAAkC,SAAA65H,GAAA75H,EAAAiH,GAAiB,OAAApI,KAAA0kD,IAAAvjD,GAAAnB,KAAAs6H,QAAAM,IAAAxyH,EAAApI,KAAAs6H,QAAAt6H,KAAAq6H,MAAAz5H,KAAAO,GAAA,GAAAiH,EAAApI,KAAgF,SAAAi7H,MAAcj7H,KAAAq6H,OAAA,GAAAl4H,OAAAnC,KAAAs6H,QAAAn4H,OAAA,EAA6C,SAAA+4H,KAAc,OAAAC,GAAAn7H,KAAAu6H,KAAAv6H,KAAAq6H,OAAgC,SAAAe,KAAc,OAAAD,GAAAn7H,KAAAu6H,KAAAv6H,KAAAs6H,SAAkC,SAAAe,KAAc,OAAAF,GAAAn7H,KAAAu6H,KAAAv6H,KAAAq6H,MAAAr6H,KAAAs6H,SAA6C,SAAAa,GAAAh6H,EAAAiH,EAAAlG,GAAmB,IAAAvB,EAAA,IAAA4U,GAAA,EAAe,OAAApU,EAAAP,KAAAD,GAAA,CAAkBkb,KAAA,WAAgB,IAAA2hB,EAAA17B,EAAAnB,EAAA,GAAa,OAAA4U,GAAAzT,EAAAsG,EAAAjG,QAAAq7B,EAAAt7B,EAAA,CAAAkG,EAAAtG,GAAAI,EAAAJ,IAAAsG,EAAAtG,GAAAnB,EAAA,OAAA4U,GAAA,EAAApU,EAAAwnC,OAAAxnC,EAAA6B,QAAArC,GAAA,KAAoFguF,KAAAp5E,EAAAtP,MAAAu3B,KAAkB,SAAAk9F,KAAc,OAAA16H,KAAAs6H,QAAAn4H,OAA2B,SAAAm5H,GAAAn6H,EAAAiH,GAAiB,QAAAlG,EAAAlC,KAAAu7H,YAA0B,CAAE,IAAA56H,EAAAuB,EAAA2Z,OAAe,GAAAlb,EAAAguF,KAAA,MAAgBxtF,EAAA6P,KAAA5I,EAAAzH,EAAAsF,MAAA,GAAAtF,EAAAsF,MAAA,GAAAjG,OAAsC,SAAAw7H,KAAcx7H,KAAA4gE,KAAA,IAAA66D,GAAiB,SAAAjjE,KAAc,GAAAx4D,KAAA07H,UAAA,KAAA17H,KAAA01B,MAAA,SAAAka,UAAAztC,OAAAnC,KAAA07H,UAAAljE,GAAAmjE,cAAuF,OAAA/rF,UAAAztC,OAAA,GAAAytC,UAAA,aAAAgsF,GAAA,CAA2D,IAAAz6H,EAAAyuC,UAAA,GAAmB5vC,KAAA07H,UAAAv6H,MAAAq3D,GAAAqjE,OAAA77H,KAAA87H,SAAA,QAAgD,oBAAAlsF,UAAA,IAAuC,IAAAxnC,EAAAwnC,UAAA,GAAmB5vC,KAAA07H,UAAAljE,GAAAqjE,MAAA77H,KAAA87H,SAAA1zH,QAAyC,GAAAwnC,UAAA,aAAA4oB,GAAA,CAAmC,IAAAt2D,EAAA0tC,UAAA,GAAmB5vC,KAAA07H,UAAAx5H,EAAAw5H,UAAA17H,KAAA01B,MAAAxzB,EAAAwzB,OAA+C,SAAAkmG,KAAc57H,KAAAmG,KAAA,KAAe,IAAAhF,EAAAyuC,UAAA,GAAmB5vC,KAAAmG,KAAAhF,EAAAy6H,GAAAG,cAAAC,IAAA76H,EAAAnB,MAAyC,SAAAq5H,KAAc,GAAAr5H,KAAAi8H,eAAA,KAAAj8H,KAAAk8H,0BAAA,KAAAl8H,KAAAk2H,KAAA,SAAAtmF,UAAAztC,OAAAk3H,GAAAroH,KAAAhR,KAAA,IAAAw4D,GAAA,QAA2H,OAAA5oB,UAAAztC,QAA8B,GAAAutG,EAAA9/D,UAAA,GAAApH,GAAA,CAAsB,IAAArnC,EAAAyuC,UAAA,GAAmBypF,GAAAroH,KAAAhR,KAAA,IAAAw4D,GAAA,EAAAr3D,QAAyB,GAAAyuC,UAAA,aAAA4oB,GAAA,CAAmC,IAAApwD,EAAAwnC,UAAA,GAAmBypF,GAAAroH,KAAAhR,KAAAoI,EAAA,EAAAixH,GAAA8C,6CAA4D,OAAAvsF,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkCypF,GAAAroH,KAAAhR,KAAAkC,EAAAvB,EAAA04H,GAAA8C,4CAA2D,OAAAvsF,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD5vC,KAAAi8H,eAAA1mH,EAAAvV,KAAAk8H,0BAAAp6H,EAAA9B,KAAAk2H,KAAA14F,GAAoE,SAAA4+F,GAAAj7H,GAAenB,KAAAq8H,gBAAAl7H,GAAA,IAAAk4H,GAA+B,SAAAiD,GAAAn7H,GAAenB,KAAAqkE,OAAA,IAAA+3D,GAAAj7H,GAAsB,SAAAo7H,KAAcv8H,KAAA0/B,OAAA,KAAA1/B,KAAAw8H,WAAA36H,MAAA,GAAA+hC,OAAAz6B,IAAA,WAAgE,OAAAtH,MAAA,KAAgB7B,KAAAy8H,MAAA,IAAA56H,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAA08H,aAAA,KAAA18H,KAAA28H,UAAA,KAAA38H,KAAA48H,GAAA,KAAA58H,KAAAiV,GAAA,KAAAjV,KAAAi8H,eAAA,KAAAj8H,KAAAy8H,MAAA,OAAA3qH,EAAA9R,KAAAy8H,MAAA,OAAA3qH,EAAA9R,KAAA48H,GAAA58H,KAAAy8H,MAAA,GAAAz8H,KAAAiV,GAAAjV,KAAAy8H,MAAA,GAAAz8H,KAAA0/B,OAAA,EAAqO,SAAAm9F,KAAcN,GAAAh6H,MAAAvC,MAAe,SAAA88H,MAAe,SAAAC,KAAc/8H,KAAAk8B,EAAA,KAAAl8B,KAAAg9H,cAAA,EAAAh9H,KAAAi9H,kBAAA,EAA0D,IAAA97H,EAAAyuC,UAAA,GAAmB5vC,KAAAk8B,EAAA/6B,EAAS,SAAA+7H,MAAe,SAAAC,KAAc,GAAAn9H,KAAAo9H,GAAA,KAAAp9H,KAAAqf,GAAA,SAAAuwB,UAAAztC,OAAAg7H,GAAAnsH,KAAAhR,KAAA,IAAA8R,EAAA,IAAAA,QAA4E,OAAA89B,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmButF,GAAAnsH,KAAAhR,KAAAmB,EAAAi8H,GAAAj8H,EAAAke,SAAwB,OAAAuwB,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAo9H,GAAAh1H,EAAApI,KAAAqf,GAAAnd,OAAoB,OAAA0tC,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAgEutF,GAAAnsH,KAAAhR,KAAA,IAAA8R,EAAAnR,EAAA4U,GAAA,IAAAzD,EAAA0rB,EAAA17B,KAAqC,SAAAu7H,KAAc,GAAAr9H,KAAAkrC,OAAA,SAAA0E,UAAAztC,OAAAnC,KAAAkrC,OAAArpC,MAAA,GAAA+hC,OAAAz6B,IAAA,WAAoF,OAAAtH,MAAA,KAAgB7B,KAAAs9H,OAAAjkE,GAAAkkE,YAAwB,OAAA3tF,UAAAztC,OAAA,oBAAAytC,UAAA,IAA+D,IAAAzuC,EAAAyuC,UAAA,GAAmBytF,GAAArsH,KAAAhR,WAAAuY,IAAApX,QAA0B,GAAAyuC,UAAA,aAAAytF,GAAA,CAAmC,IAAAj1H,EAAAwnC,UAAA,GAAmBytF,GAAArsH,KAAAhR,WAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,UAAAp1H,EAAA8iC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,UAAAx9H,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAmhF,UAAAr1H,EAAA8iC,OAAAoR,EAAAkhF,UAAAlhF,EAAAmhF,UAAAz9H,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,UAAAt1H,EAAA8iC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,UAAA19H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAkhF,UAAAp1H,EAAA8iC,OAAAoR,EAAAmhF,UAAAnhF,EAAAkhF,UAAAx9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAmhF,UAAAr1H,EAAA8iC,OAAAoR,EAAAmhF,UAAAnhF,EAAAmhF,UAAAz9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAohF,UAAAt1H,EAAA8iC,OAAAoR,EAAAmhF,UAAAnhF,EAAAohF,UAAA19H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,UAAAp1H,EAAA8iC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,UAAAx9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAmhF,UAAAr1H,EAAA8iC,OAAAoR,EAAAohF,UAAAphF,EAAAmhF,UAAAz9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAohF,UAAAt1H,EAAA8iC,OAAAoR,EAAAohF,UAAAphF,EAAAohF,WAA4nB,SAAAC,KAAc39H,KAAA49H,WAAA,KAAA59H,KAAA69H,cAAA,IAAA/rH,EAAA9R,KAAA89H,SAAA,EAAA99H,KAAA+9H,IAAA,IAAAjsH,EAAA9R,KAAAg+H,YAAA,IAAAlsH,EAAA9R,KAAAi+H,YAAA,EAAAj+H,KAAAk+H,QAAA,EAAAl+H,KAAAm+H,UAAA,IAAArsH,EAA2J,IAAA3Q,EAAAyuC,UAAA,GAAmB5vC,KAAA49H,WAAA,KAAA59H,KAAAwkD,IAAArjD,GAAiC,SAAA6a,GAAA7a,GAAenB,KAAAgjD,QAAA7hD,GAAA,GAAmB,SAAAi9H,KAAcp+H,KAAAq1H,OAAA,GAAe,SAAA58D,KAAcz4D,KAAAq+H,QAAA,IAAA9G,GAAAv3H,KAAA0C,KAAA,IAAAwnB,EAAoC,SAAA/e,KAAc,GAAAnL,KAAAs+H,YAAA,KAAAt+H,KAAAu+H,SAAA,SAAA3uF,UAAAztC,OAAA,CAAkE,IAAAhB,EAAAyuC,UAAA,GAAmBzkC,GAAA6F,KAAAhR,KAAAmL,GAAAqzH,mBAAAr9H,KAAAg3H,mBAAsD,OAAAvoF,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAu+H,SAAA9lE,GAAAgmE,kBAAAr2H,GAAApI,KAAAs+H,YAAAp8H,GAA0D,SAAAw8H,KAAc1+H,KAAA8pC,OAAA,KAAiB,IAAA3oC,EAAAyuC,UAAA,GAAmB5vC,KAAA8pC,OAAA3oC,EAAc,SAAAw9H,KAAc3+H,KAAA4+H,UAAA,KAAA5+H,KAAA+5B,QAAA,KAAA/5B,KAAA6+H,oBAAA,EAAA7+H,KAAA8+H,gCAAA,EAAA9+H,KAAA++H,qBAAA,EAAA/+H,KAAAg/H,cAAA,EAAyJ,SAAAC,KAAc,GAAAj/H,KAAAk/H,cAAA,EAAAl/H,KAAAm/H,OAAA,KAAAn/H,KAAAo/H,IAAA,IAAAjC,GAAAn9H,KAAAq/H,+BAAA,EAAAr/H,KAAAs/H,WAAA,EAAA1vF,UAAA,aAAAgpF,IAAA,iBAAAhpF,UAAA,IAA2K,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCqvF,GAAAjuH,KAAAhR,KAAAmB,EAAAyzB,iBAAAxsB,QAAmC,GAAAwnC,UAAA,aAAA/tC,OAAA,iBAAA+tC,UAAA,IAAqE,IAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAAm/H,OAAAj9H,EAAAlC,KAAAs/H,UAAAL,GAAAM,SAAAr9H,GAAAlC,KAAAk/H,cAAAv+H,GAAkE,SAAA6+H,KAAcx/H,KAAAy/H,QAAA,KAAkB,IAAAt+H,EAAAyuC,UAAA,GAAmB5vC,KAAAy/H,QAAAt+H,EAAe,SAAAu+H,KAAc,GAAAf,GAAAp8H,MAAAvC,WAAAk/H,cAAA,KAAAl/H,KAAA2/H,QAAA,KAAA3/H,KAAA4/H,YAAA,MAAAhwF,UAAAztC,OAAA,CAAqG,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAk/H,cAAA/9H,EAAAnB,KAAA2/H,QAAAv3H,OAAoC,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAAk/H,cAAAh9H,EAAAlC,KAAA2/H,QAAAh/H,EAAAX,KAAA4/H,WAAArqH,GAAuD,SAAAsqH,KAAc7/H,KAAA8/H,SAAA,EAAA9/H,KAAA+/H,wBAAA,GAAA//H,KAAAggI,WAAA,EAAAhgI,KAAAigI,cAAA,KAA0F,SAAAC,KAAclgI,KAAAmgI,YAAA,KAAAngI,KAAAogI,SAAA,IAAAC,GAA2C,SAAAA,KAAcrgI,KAAAsgI,YAAA,IAAAT,GAAA7/H,KAAAugI,YAAA,IAAAV,GAAgD,SAAAW,KAAcxgI,KAAAygI,MAAA,KAAgB,IAAAt/H,EAAAyuC,UAAA,GAAmB5vC,KAAAygI,MAAAt/H,EAAa,SAAAu/H,KAAc1gI,KAAA+2H,OAAA,KAAA/2H,KAAA2gI,QAAA,KAAA3gI,KAAAyO,IAAA,KAAAzO,KAAAI,MAAA,KAAAJ,KAAA4gI,sBAAA,KAAiG,IAAAz/H,EAAAyuC,UAAA,GAAmB5vC,KAAA+2H,OAAA51H,EAAAnB,KAAA2gI,SAAA,EAAA3gI,KAAAI,MAAA,EAAAJ,KAAAyO,IAAAtN,EAAA0/H,mBAAyE,SAAAC,KAAc,GAAA9gI,KAAA+gI,aAAAx2G,EAAAy2G,sBAAAhhI,KAAAihI,KAAA,KAAAjhI,KAAAkhI,cAAA,SAAAtxF,UAAAztC,aAA0G,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB,UAAAzuC,EAAA,UAAAR,EAAA,yBAAiDX,KAAA+gI,aAAA5/H,GAAqB,SAAAggI,MAAe,SAAAC,MAAe,SAAAC,KAAcrhI,KAAAshI,IAAA,KAAAthI,KAAA4I,KAAA,KAA6B,IAAAzH,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAshI,IAAAngI,EAAAnB,KAAA4I,KAAAR,EAAuB,SAAA0nB,MAAe,SAAAyxG,KAAcvhI,KAAAmjD,OAAA,KAAAnjD,KAAA6M,KAAA,KAAgC,IAAA1L,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAmjD,OAAAhiD,EAAAnB,KAAA6M,KAAAzE,EAA0B,SAAAo5H,KAAcxhI,KAAAyhI,MAAA,KAAAzhI,KAAAqjE,MAAA,KAAArjE,KAAAyhI,MAAA,EAAAzhI,KAAAqjE,MAAA,IAAAn5C,EAAAlqB,KAAAqjE,MAAA7e,IAAA,MAAmF,SAAAk9E,MAAe,SAAAC,MAAe,SAAAC,KAAc,GAAA5hI,KAAA6hI,gBAAA,IAAA33G,EAAAlqB,KAAAmjD,OAAA,KAAAnjD,KAAA8hI,MAAA,SAAAlyF,UAAAztC,aAAqF,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA8hI,MAAA3gI,GAAc,SAAA4gI,KAAc/hI,KAAAgiI,WAAA,KAAAhiI,KAAAiiI,WAAA,KAAAjiI,KAAAkiI,UAAA,KAAAliI,KAAAmiI,aAAA,KAAqF,IAAAhhI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAgiI,WAAA7gI,EAAAnB,KAAAiiI,WAAA75H,EAAApI,KAAAmiI,aAAAjgI,EAAAlC,KAAAkiI,UAAAliI,KAAA0T,WAAuF,SAAA0uH,KAAc,GAAApiI,KAAA85B,KAAA,KAAA95B,KAAAqiI,OAAA,EAAAriI,KAAAsiI,eAAA,IAAAp4G,EAAAlqB,KAAAuiI,aAAA,SAAA3yF,UAAAztC,OAAAigI,GAAApxH,KAAAhR,KAAAoiI,GAAAI,4BAA6I,OAAA5yF,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmBp7B,EAAAiuH,OAAAthI,EAAA,0CAAAnB,KAAAuiI,aAAAphI,GAA0E,SAAAuhI,MAAe,SAAAC,MAAe,SAAAC,KAAc,OAAAhzF,UAAAztC,OAAAygI,GAAA5xH,KAAAhR,KAAA4iI,GAAAJ,4BAA+D,OAAA5yF,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmBwyF,GAAApxH,KAAAhR,KAAAmB,IAAiB,SAAA0hI,KAAc,IAAA1hI,EAAAyuC,UAAA,GAAmBgyF,GAAA5wH,KAAAhR,KAAAmB,GAAgB,SAAA2hI,MAAe,SAAAC,KAAc/iI,KAAAgjI,UAAA,KAAAhjI,KAAAqT,MAAA,KAAArT,KAAA66G,aAAA,KAAA76G,KAAAijI,cAAA,KAAAjjI,KAAAkjI,YAAA,KAAyG,IAAA/hI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgE5vC,KAAAgjI,UAAA7hI,EAAAnB,KAAAqT,MAAA,IAAAvB,EAAA1J,GAAApI,KAAA66G,aAAA34G,EAAAlC,KAAAijI,cAAAtiI,EAAAX,KAAAkjI,aAAA96H,EAAA+6H,SAAAhiI,EAAAiiI,cAAAlhI,IAA+H,SAAAmhI,KAAcrjI,KAAAsjI,QAAA,IAAAhqE,GAAAt5D,KAAAqa,KAAA,KAAmC,IAAAlZ,EAAAyuC,UAAA,GAAmB5vC,KAAAqa,KAAAlZ,EAAY,SAAAoiI,KAAcvjI,KAAAwjI,SAAA,KAAAxjI,KAAAqa,KAAA,KAAAra,KAAAyjI,OAAA,KAAAzjI,KAAA0jI,SAAA,KAAA1jI,KAAA2jI,SAAA,KAAA3jI,KAAA4jI,aAAA,EAA6G,IAAAziI,EAAAyuC,UAAA,GAAmB5vC,KAAAwjI,SAAAriI,EAAAnB,KAAAqa,KAAAlZ,EAAA0iI,UAAA7jI,KAAAyjI,OAAAtiI,EAAAutF,WAAA1uF,KAAA8jI,eAAmF,SAAAC,MAAe,SAAAC,KAAchkI,KAAAwjI,SAAA,IAAAH,GAAArjI,WAAAshI,IAAA,KAAAthI,KAAA4I,KAAA,KAAwD,IAAAzH,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAshI,IAAAngI,EAAAnB,KAAA4I,KAAAR,EAAuB,SAAA67H,KAAcjkI,KAAAkkI,SAAA,IAAA77F,EAAAroC,KAAAmkI,SAAA,IAAA97F,EAAAroC,KAAAokI,YAAA,IAAAjH,GAAAn9H,KAAAqkI,YAAA,IAAAlH,GAAwF,SAAAmH,KAActkI,KAAAshI,IAAA,KAAAthI,KAAA0a,MAAA,KAAA1a,KAAA4a,IAAA,KAAA5a,KAAAukI,IAAA,KAAAvkI,KAAA2V,QAAA,KAAA3V,KAAAwK,GAAA,KAAyF,IAAArJ,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgE5vC,KAAAshI,IAAAngI,EAAAnB,KAAA0a,MAAAtS,EAAApI,KAAA4a,IAAA1Y,EAAAlC,KAAA2V,QAAAhV,EAAkD,SAAA6jI,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAx3G,KAAc,GAAAltB,KAAA2kI,OAAA,SAAA/0F,UAAAztC,aAA0C,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA4kI,sBAAAzjI,IAA+B,SAAA0jI,KAAc,GAAA7kI,KAAA8kI,WAAA,IAAA56G,EAAAlqB,KAAAI,MAAA,IAAAwiI,GAAA5iI,KAAA+kI,UAAA,EAAA/kI,KAAAglI,gBAAA,KAAAhlI,KAAAilI,UAAA,MAAAr1F,UAAAztC,aAA6H,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB1iB,GAAAlc,KAAAhR,KAAAmB,IAAiB,SAAA+jI,KAAcjB,GAAA1hI,MAAAvC,WAAAmlI,GAAA,KAA4B,IAAAhkI,EAAAyuC,UAAA,GAAmB5vC,KAAAmlI,GAAAhkI,EAAU,SAAAikI,KAAc,GAAAplI,KAAAmW,GAAA,SAAAy5B,UAAAztC,OAAA,CAAsC,IAAAhB,EAAAyuC,UAAA,GAAmB79B,EAAAf,KAAAhR,KAAAmB,QAAe,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC79B,EAAAf,KAAAhR,KAAAolI,GAAAC,aAAAj9H,EAAAlG,IAAAlC,KAAAmG,KAAA,oBAAAnG,KAAAmW,GAAA,IAAArE,EAAA5P,IAAkF,SAAAyuB,MAAe,SAAAuxD,KAAcliF,KAAAslI,sBAAA,EAAAtlI,KAAAulI,wBAAA,EAAAvlI,KAAAwlI,GAAA,KAAAxlI,KAAAylI,qBAAA,KAAAzlI,KAAA0lI,YAAA,KAAA1lI,KAAA2lI,cAAA,IAAAz7G,EAAAlqB,KAAA4lI,kBAAA,EAAA5lI,KAAA6lI,mBAAA,EAA0M,IAAA1kI,EAAAyuC,UAAA,GAAmB5vC,KAAAwlI,GAAArkI,EAAAnB,KAAAylI,qBAAA,KAAyC,SAAAK,KAAc9lI,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAA+lI,WAAA,KAAA/lI,KAAAslI,sBAAA,EAAAtlI,KAAA2kI,OAAA,KAAA3kI,KAAAgmI,UAAA,EAAmG,IAAA7kI,EAAAyuC,UAAA,GAAmB5vC,KAAA+lI,WAAA5kI,EAAkB,SAAA8kI,KAAcjmI,KAAA0D,GAAA,KAAa,IAAAvC,EAAAyuC,UAAA,GAAmB5vC,KAAA0D,GAAA,IAAAoiI,GAAAG,GAAAC,iBAAA/kI,IAAuC,SAAAglI,KAAcnmI,KAAAomI,MAAA,KAAgB,IAAAjlI,EAAAyuC,UAAA,GAAmB5vC,KAAAomI,MAAAjlI,EAAa,SAAAklI,MAAe,SAAA96D,KAAc,GAAAvrE,KAAAsnH,SAAA,SAAA13E,UAAAztC,QAA4C,GAAAytC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmB5vC,KAAAuuD,KAAAptD,EAAAgB,aAAoB,GAAA2lB,OAAAiyG,UAAAnqF,UAAA,KAAwC,IAAAxnC,EAAAwnC,UAAA,GAAmB5vC,KAAAuuD,KAAA,GAAAvuD,KAAAsnH,SAAA+e,GAAAC,IAAAl+H,OAAoC,GAAAwnC,UAAA,aAAA27B,GAAA,CAAmC,IAAArpE,EAAA0tC,UAAA,GAAmB,GAAA5vC,KAAAuuD,KAAArsD,EAAAolH,SAAAnlH,QAAA,OAAAD,EAAA,QAAAvB,EAAA,EAAqDA,EAAAX,KAAAsnH,SAAAnlH,OAAuBxB,IAAAX,KAAAsnH,SAAA3mH,GAAAuB,EAAAolH,SAAA3mH,SAAoC,OAAAivC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD5vC,KAAAuuD,KAAA,GAAAvuD,KAAAsnH,SAAA+e,GAAAC,IAAA/wH,EAAAvV,KAAAsnH,SAAA+e,GAAAE,MAAA/oG,EAAAx9B,KAAAsnH,SAAA+e,GAAAG,OAAA1kI,GAAwF,SAAA2kI,KAAc,GAAAzmI,KAAA0mI,IAAA,IAAA7kI,MAAA,GAAA+hC,KAAA,UAAAgM,UAAAztC,QAA0D,GAAA2lB,OAAAiyG,UAAAnqF,UAAA,KAAmC,IAAAzuC,EAAAyuC,UAAA,GAAmB5vC,KAAA0mI,IAAA,OAAAn7D,GAAApqE,GAAAnB,KAAA0mI,IAAA,OAAAn7D,GAAApqE,QAA4C,GAAAyuC,UAAA,aAAA62F,GAAA,CAAmC,IAAAr+H,EAAAwnC,UAAA,GAAmB5vC,KAAA0mI,IAAA,OAAAn7D,GAAAnjE,EAAAs+H,IAAA,IAAA1mI,KAAA0mI,IAAA,OAAAn7D,GAAAnjE,EAAAs+H,IAAA,UAA2D,OAAA92F,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAA0mI,IAAA,OAAAn7D,GAAAjvB,EAAAqqF,MAAA3mI,KAAA0mI,IAAA,OAAAn7D,GAAAjvB,EAAAqqF,MAAA3mI,KAAA0mI,IAAAxkI,GAAA0kI,YAAAjmI,QAAiF,OAAAivC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD5vC,KAAA0mI,IAAA,OAAAn7D,GAAAh2D,EAAAioB,EAAA17B,GAAA9B,KAAA0mI,IAAA,OAAAn7D,GAAAh2D,EAAAioB,EAAA17B,QAAoD,OAAA8tC,UAAAztC,OAAA,CAA8B,IAAA7B,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,EAAAkS,UAAA,GAAgE5vC,KAAA0mI,IAAA,OAAAn7D,GAAAjvB,EAAAqqF,KAAArqF,EAAAqqF,KAAArqF,EAAAqqF,MAAA3mI,KAAA0mI,IAAA,OAAAn7D,GAAAjvB,EAAAqqF,KAAArqF,EAAAqqF,KAAArqF,EAAAqqF,MAAA3mI,KAAA0mI,IAAApmI,GAAAumI,aAAAzlI,EAAA2Q,EAAA2rB,IAAmH,SAAAopG,KAAc9mI,KAAA+mI,QAAA,KAAA/mI,KAAAgnI,eAAA,EAAAhnI,KAAA+Z,MAAA,IAAAmQ,EAAAlqB,KAAAshI,IAAA,IAAAp3G,EAAAlqB,KAAAsJ,MAAA,IAAAm9H,GAAAnqF,EAAAqqF,MAAA3mI,KAAAyX,KAAA,KAAAzX,KAAAinI,QAAA,KAAAjnI,KAAA4qE,MAAA,KAAA5qE,KAAAwiF,MAAA,IAAAt4D,EAAAlqB,KAAAq8H,gBAAA,KAA8L,IAAAl7H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAq8H,gBAAAj0H,EAAApI,KAAAknI,cAAA/lI,GAAAnB,KAAAmnI,cAAgE,SAAAC,KAAc,IAAAjmI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCk3F,GAAA91H,KAAAhR,KAAAmB,EAAAiH,GAAkB,SAAAi/H,KAAc,IAAAlmI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCk3F,GAAA91H,KAAAhR,KAAAmB,EAAAiH,GAAkB,SAAAk/H,KAAc,GAAAtnI,KAAAsJ,MAAA,KAAAtJ,KAAAunI,aAAA,EAAAvnI,KAAAwnI,YAAA,EAAAxnI,KAAAynI,eAAA,EAAAznI,KAAA0nI,YAAA,MAAA93F,UAAAztC,aAAyH,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAsJ,MAAAnI,GAAc,SAAAwmI,KAAcL,GAAA/kI,MAAAvC,WAAAqT,MAAA,KAAArT,KAAA+Z,MAAA,KAA+C,IAAA5Y,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAqT,MAAAlS,EAAAnB,KAAA+Z,MAAA3R,EAAApI,KAAAsJ,MAAA,IAAAm9H,GAAA,EAAAnqF,EAAAqqF,MAAsD,SAAAiB,KAAc5nI,KAAAsjI,QAAA,IAAAhqE,GAAAt5D,KAAA6nI,SAAA,KAAuC,IAAA1mI,EAAAyuC,UAAA,GAAmB5vC,KAAA6nI,SAAA1mI,EAAgB,SAAA2mI,KAAc,GAAA9nI,KAAAqa,KAAA,KAAAra,KAAAsJ,MAAA,KAAAtJ,KAAAka,KAAA,KAAAla,KAAAo9H,GAAA,KAAAp9H,KAAAqf,GAAA,KAAArf,KAAAu8B,GAAA,KAAAv8B,KAAAw8B,GAAA,KAAAx8B,KAAA+nI,SAAA,SAAAn4F,UAAAztC,OAAA,CAA8I,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAqa,KAAAlZ,OAAY,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAiDk4F,GAAA92H,KAAAhR,KAAAoI,EAAAlG,EAAAvB,EAAA,WAAyB,OAAAivC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAgEk4F,GAAA92H,KAAAhR,KAAAuV,GAAAvV,KAAAuuD,KAAA/wB,EAAA17B,GAAA9B,KAAAsJ,MAAAhJ,GAA6C,SAAA0nI,KAAchoI,KAAAioI,WAAA,KAAAjoI,KAAAunI,aAAA,EAAAvnI,KAAA0nI,YAAA,EAAA1nI,KAAAic,IAAA,KAAAjc,KAAA6b,KAAA,KAAA7b,KAAAkoI,QAAA,KAAAloI,KAAA+c,SAAA,KAAA/c,KAAAmoI,YAAA,KAAAnoI,KAAAooI,MAAA,cAA6K,IAAAjnI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,GAAAk4F,GAAA92H,KAAAhR,KAAAmB,GAAAnB,KAAAioI,WAAA7/H,IAAApI,KAAAuuD,KAAAptD,EAAAiiI,cAAA,GAAAjiI,EAAAiiI,cAAA,QAAwF,CAAK,IAAAlhI,EAAAf,EAAAknI,eAAA,EAAyBroI,KAAAuuD,KAAAptD,EAAAiiI,cAAAlhI,GAAAf,EAAAiiI,cAAAlhI,EAAA,IAAmDlC,KAAAsoI,uBAA4B,SAAAC,MAAe,SAAAC,KAAc,GAAAxoI,KAAA+Z,MAAA,IAAAmQ,EAAAlqB,KAAAga,MAAA,KAAAha,KAAAyoI,YAAA,IAAAv+G,EAAA,IAAA0lB,UAAAztC,OAAAnC,KAAAga,MAAA,IAAA4tH,GAAA,IAAAW,SAA0G,OAAA34F,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAga,MAAA,IAAA4tH,GAAAzmI,IAAsB,SAAAunI,KAAc1oI,KAAAq8H,gBAAA,KAAAr8H,KAAAuqE,UAAA,IAAArgD,EAA+C,IAAA/oB,EAAAyuC,UAAA,GAAmB5vC,KAAAq8H,gBAAAl7H,EAAuB,SAAAwnI,KAAc3oI,KAAA4oI,GAAA,KAAA5oI,KAAAq8H,gBAAA,KAAAr8H,KAAA6oI,UAAA,KAAA7oI,KAAA8oI,cAAA,IAAA5+G,EAAAlqB,KAAA+oI,eAAA,IAAA7+G,EAA8G,IAAA/oB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAA4oI,GAAAznI,EAAAnB,KAAAq8H,gBAAAj0H,EAAApI,KAAA6oI,UAAA3mI,EAAkD,SAAA8mI,KAAchpI,KAAA4oI,GAAA,KAAA5oI,KAAAq8H,gBAAA,KAAAr8H,KAAAipI,gBAAA,IAAA/+G,EAAkE,IAAA/oB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCA,UAAA,GAAa5vC,KAAA4oI,GAAAznI,EAAAnB,KAAAq8H,gBAAAj0H,EAAiC,SAAA8gI,MAAe,SAAAC,KAAcnpI,KAAA8G,KAAA,KAAe,IAAA3F,EAAAyuC,UAAA,GAAmB5vC,KAAA8G,KAAA3F,EAAY,SAAAioI,KAAcppI,KAAAqpI,QAAA,IAAA/vE,GAAAt5D,KAAAspI,SAAA,KAAAtpI,KAAAupI,iBAAA,CAAAjtF,EAAAqqF,KAAArqF,EAAAqqF,MAA6E,SAAA6C,KAAcJ,GAAA7mI,MAAAvC,WAAAypI,mBAAA,KAAAzpI,KAAAsJ,MAAA,KAAAtJ,KAAA0pI,sBAAA,EAAA1pI,KAAA2pI,oBAAA,EAAoH,SAAAC,KAAcrB,GAAAhmI,MAAAvC,MAAe,SAAA6pI,KAAc7pI,KAAA8pI,IAAA,KAAA9pI,KAAA+pI,WAAA,KAAmC,IAAA5oI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA8pI,IAAA3oI,EAAAnB,KAAA+pI,WAAA3hI,EAA6B,SAAA4hI,KAAc,GAAAhqI,KAAAsJ,MAAA,KAAAtJ,KAAAiqI,OAAA,KAAAjqI,KAAAkqI,UAAA,KAAAlqI,KAAAmqI,YAAA,KAAAnqI,KAAAoqI,iBAAA,KAAApqI,KAAA0F,IAAA,SAAAkqC,UAAAztC,OAAA,CAA6I,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAkqI,UAAAF,GAAAK,OAAArqI,KAAAiqI,OAAA9oI,EAAAnB,KAAAmqI,YAAA/hI,OAA0D,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAAkqI,UAAAF,GAAAM,OAAAtqI,KAAAsJ,MAAApH,EAAAlC,KAAAiqI,OAAAtpI,EAAAX,KAAA0F,IAAA6P,GAAgE,SAAAg1H,MAAe,SAAAC,KAAcxqI,KAAAyqI,kBAAA,EAAAzqI,KAAA0qI,WAAA,EAAA1qI,KAAA2qI,mBAAA,EAAA3qI,KAAA4qI,wBAAA,KAAA5qI,KAAAwlI,GAAA,KAAAxlI,KAAA6qI,cAAA,KAAA7qI,KAAA8qI,eAAA,KAAA9qI,KAAA+qI,mBAAA,KAAA/qI,KAAAgrI,iBAAA,EAAAhrI,KAAAirI,SAAA,EAAAjrI,KAAAkrI,SAAA,KAAAlrI,KAAAmrI,SAAA,EAAAnrI,KAAAorI,qBAAA,EAAyS,IAAAjqI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAwlI,GAAArkI,EAAAnB,KAAA6qI,cAAAziI,EAAApI,KAAA8qI,eAAA5oI,EAAqD,SAAAmpI,KAAcd,GAAAhoI,MAAAvC,WAAA8iB,OAAA,IAAAoH,EAAAlqB,KAAAilI,UAAA,KAAqD,SAAAqG,KAActrI,KAAAwmC,IAAAjxB,EAAAg2H,kBAAAvrI,KAAAyO,IAAA8G,EAAAi2H,kBAA0D,SAAAC,MAAe,SAAAC,KAAcJ,GAAA/oI,MAAAvC,WAAA6M,KAAA,KAA8B,IAAA1L,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAwmC,IAAArlC,EAAAnB,KAAAyO,IAAArG,EAAApI,KAAA6M,KAAA3K,EAAkC,SAAAypI,KAAcL,GAAA/oI,MAAAvC,WAAA4rI,MAAA,KAAA5rI,KAAA6rI,MAAA,KAA+C,IAAA1qI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA4rI,MAAAzqI,EAAAnB,KAAA6rI,MAAAzjI,EAAApI,KAAA8rI,YAAA9rI,KAAA4rI,MAAA5rI,KAAA6rI,OAAkE,SAAAE,KAAc/rI,KAAAgsI,OAAA,IAAA9hH,EAAAlqB,KAAA85B,KAAA,KAAA95B,KAAA8hI,MAAA,EAA8C,SAAA9zF,KAAc,GAAAhuC,KAAAgmD,MAAA,KAAAhmD,KAAAisI,sBAAA,MAAAr8F,UAAAztC,OAAA,CAAsE,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAgmD,MAAA7kD,OAAa,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAgmD,MAAA59C,EAAApI,KAAAisI,qBAAA/pI,GAA0C,SAAAgqI,KAAclsI,KAAAqjE,MAAA,IAAAn5C,EAAiB,SAAAiiH,KAAcnsI,KAAAI,MAAA,KAAgB,IAAAe,EAAAyuC,UAAA,GAAmB,IAAA8/D,EAAAvuG,EAAA43H,IAAA,UAAAp4H,EAAA,8BAAsDX,KAAAI,MAAA,IAAAgsI,GAAAjrI,GAAqB,SAAAkrI,KAAcrsI,KAAAw1D,QAAA,KAAkB,IAAAr0D,EAAAyuC,UAAA,GAAmB5vC,KAAAw1D,QAAAr0D,EAAe,SAAAirI,KAAcpsI,KAAAI,MAAA,IAAA2rI,GAAkB,IAAA5qI,EAAAyuC,UAAA,GAAmB5vC,KAAAuuD,KAAAptD,GAAa,SAAAmrI,KAActsI,KAAAqT,MAAA,KAAArT,KAAA66G,aAAA,KAAA76G,KAAA6U,KAAA,KAAsD,IAAA1T,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAqT,MAAA,IAAAvB,EAAA3Q,GAAAnB,KAAA66G,aAAAzyG,EAAApI,KAAA6U,KAAA3S,EAAoD,SAAAqqI,KAAcvsI,KAAAsjI,QAAA,IAAAhqE,GAAAt5D,KAAAqa,KAAA,KAAmC,IAAAlZ,EAAAyuC,UAAA,GAAmB5vC,KAAAqa,KAAAlZ,EAAY,SAAAqrI,MAAe,SAAAC,KAAczsI,KAAAoI,EAAA,KAAApI,KAAAshI,IAAA,KAAAthI,KAAA0sI,WAAA,KAAA1sI,KAAA2sI,KAAA,IAAAtkG,EAAAroC,KAAA4sI,KAAA,IAAAvkG,EAA+E,IAAAlnC,EAAAyuC,UAAA,GAAmB5vC,KAAAoI,EAAAjH,EAAAnB,KAAAshI,IAAAngI,EAAAyzB,iBAAqC,IAAAxsB,EAAA,IAAAokI,GAAaxsI,KAAA0sI,WAAAtkI,EAAAykI,qBAAA7sI,KAAAshI,KAAiD,SAAAwL,KAAc9sI,KAAAooI,MAAAvmI,MAAA,GAAA+hC,OAAAz6B,IAAA,WAA0C,OAAAtH,MAAA,KAAkB,QAAAV,EAAA,EAAYA,EAAA,EAAIA,IAAA,QAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAApI,KAAAooI,MAAAjnI,GAAAiH,GAAA0kI,GAAAC,WAAmC,SAAAC,KAAc,GAAA1F,GAAA/kI,MAAAvC,WAAAshI,IAAA,KAAAthI,KAAAukI,IAAA,KAAAvkI,KAAAitI,OAAA,IAAAV,GAAAvsI,WAAAmG,KAAA,KAAAnG,KAAA8pI,IAAA,KAAA9pI,KAAAktI,aAAA,EAAAltI,KAAAooI,MAAA,IAAA0E,GAAA9sI,KAAAmtI,WAAA,MAAAv9F,UAAAztC,OAAA,CAAkL,IAAAhB,EAAAyuC,UAAA,GAAmBo9F,GAAAh8H,KAAAhR,KAAAmB,EAAA,WAAqB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAshI,IAAAl5H,EAAApI,KAAAsJ,MAAApH,GAAyB,SAAAkrI,KAAc,GAAA5E,GAAAjmI,MAAAvC,WAAAqtI,WAAA,KAAArtI,KAAAstI,YAAA,IAAA9R,GAAAx7H,KAAAutI,iBAAA,KAAAvtI,KAAAwtI,8BAAA,EAAAxtI,KAAAytI,SAAA,KAAAztI,KAAA0tI,cAAA,KAAA1tI,KAAA2tI,kBAAA,EAAA3tI,KAAA4tI,aAAA,KAAA5tI,KAAA6tI,cAAA,KAAA7tI,KAAA6oI,UAAA,IAAA/H,GAAA,IAAAlxF,UAAAztC,OAAA,CAA8R,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCw9F,GAAAp8H,KAAAhR,KAAAmB,EAAAiH,EAAAmiB,EAAAy2G,4BAA0C,OAAApxF,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAAytI,SAAAvrI,EAAAlC,KAAAqtI,WAAA1sI,EAAAX,KAAAutI,iBAAAh4H,EAAA,OAAA5U,GAAAX,KAAAwkD,IAAA7jD,IAAiF,SAAAmtI,KAAc,GAAA9tI,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAA+tI,qBAAA,KAAA/tI,KAAAguI,IAAA,SAAAp+F,UAAAztC,OAAA,CAAqF,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAiuI,wBAAA9sI,EAAA+sI,qBAAAluI,KAAAguI,IAAA,IAAAnsI,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAAguI,IAAA,OAAAZ,GAAA,EAAAjsI,QAA6G,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkCk+F,GAAA98H,KAAAhR,KAAAoI,EAAAlG,EAAAqoB,EAAAy2G,4BAA0C,OAAApxF,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiDjvC,EAAAutI,oBAAAC,UAAA54H,EAAA24H,sBAAA,EAAAluI,KAAAiuI,wBAAAttI,EAAAutI,qBAAAluI,KAAAiuI,wBAAA14H,EAAA24H,qBAAAluI,KAAAguI,IAAA,IAAAnsI,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAAguI,IAAA,OAAAZ,GAAA,EAAAzsI,EAAA68B,GAAAx9B,KAAAguI,IAAA,OAAAZ,GAAA,EAAA73H,EAAAioB,IAAwP,SAAA4wG,KAAcpuI,KAAAshI,IAAA,KAAAthI,KAAAquI,aAAA,KAAqC,IAAAltI,EAAAyuC,UAAA,GAAmB5vC,KAAAshI,IAAAngI,EAAAnB,KAAAquI,aAAAD,GAAAE,YAAAntI,GAA+C,SAAAotI,KAAcvuI,KAAA+Z,MAAA,IAAAmQ,EAAAlqB,KAAAwuI,OAAA,IAAAl1E,GAAoC,SAAAm1E,KAAczuI,KAAA6oI,UAAA,IAAA/H,GAAA9gI,KAAA+3H,SAAA,KAAA/3H,KAAA0uI,WAAA,KAAA1uI,KAAAwa,MAAA,KAAAxa,KAAAspI,SAAA,IAAAiF,GAAAvuI,KAAA2uI,eAAA,IAAAzkH,EAAAlqB,KAAA+oI,eAAA,IAAA7+G,EAAAlqB,KAAAipI,gBAAA,IAAA/+G,EAAkL,IAAA/oB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCk+F,GAAA98H,KAAAhR,KAAAmB,EAAAiH,GAAApI,KAAAwa,MAAA,IAAAguH,GAAA,IAAAoB,IAAA5pI,KAAA+3H,SAAA52H,EAAAg3H,aAAyE,SAAAyW,KAAc5uI,KAAA8G,KAAA,IAAAjF,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAAk/H,cAAA,KAAAl/H,KAAA6uI,IAAA,KAAwE,IAAA1tI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA8G,KAAA,GAAA3F,EAAAnB,KAAA8G,KAAA,GAAAsB,EAAApI,KAAA8uI,uBAA0D,SAAA3J,KAAcnlI,KAAA8G,KAAA,IAAAjF,MAAA,GAAA+hC,KAAA,MAAkC,IAAAziC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA8G,KAAA,GAAA3F,EAAAnB,KAAA8G,KAAA,GAAAsB,EAA8B,SAAA2mI,KAAc/uI,KAAA+5B,QAAA,KAAA/5B,KAAAgvI,cAAA,KAAAhvI,KAAAgL,SAAA,EAA0D,IAAA7J,EAAAyuC,UAAA,GAAmB5vC,KAAA+5B,QAAA54B,EAAAg3H,aAAAn4H,KAAAwkD,IAAArjD,GAAwC,SAAA8D,KAAcjF,KAAAoxD,KAAA,KAAApxD,KAAAivI,QAAA,KAAAjvI,KAAAkvI,IAAA35H,EAAA45H,UAAAnvI,KAAAovI,KAAA75H,EAAA45H,UAA4E,IAAAhuI,EAAAyuC,UAAA,GAAmB5vC,KAAAoxD,KAAAjwD,EAAAnB,KAAAkvI,IAAA/tI,EAAAkuI,sBAAAC,UAAAtvI,KAAAovI,IAAAjuI,EAAAkuI,sBAAAE,UAAAvvI,KAAAivI,QAAAF,GAAAS,IAAAxvI,KAAAovI,IAAApvI,KAAAkvI,KAAyI,SAAA13G,KAAcx3B,KAAAyT,SAAA,KAAAzT,KAAAyvI,YAAAl6H,EAAA45H,UAAAnvI,KAAAgvI,cAAA,KAAwE,IAAA7tI,EAAAyuC,UAAA,GAAmB5vC,KAAAyT,SAAAtS,EAAAuuI,cAAAtM,gBAAApjI,KAAA2vI,YAAAxuI,GAAA,OAAAnB,KAAAgvI,eAAAhvI,KAAA4vI,aAAAzuI,GAAkH,SAAAqkI,KAAcxlI,KAAAyT,SAAA,KAAAzT,KAAAyvI,YAAAl6H,EAAA45H,UAAAnvI,KAAAgvI,cAAA,KAAwE,IAAA7tI,EAAAyuC,UAAA,GAAmB5vC,KAAAyT,SAAAtS,EAAAuuI,cAAAtM,gBAAApjI,KAAAwkD,IAAArjD,GAA0D,SAAAspC,KAAczqC,KAAAkkI,SAAA,IAAA77F,EAAAroC,KAAA6vI,gBAAA,IAAA1S,GAAgD,SAAA50H,KAAcvI,KAAAqjE,MAAA,IAAAn5C,EAAAlqB,KAAA8vI,QAAA,YAA0C,SAAAC,KAAc,GAAA/vI,KAAAwmC,IAAA,KAAAxmC,KAAAyO,IAAA,SAAAmhC,UAAAztC,OAAAnC,KAAAwmC,IAAA,EAAAxmC,KAAAyO,IAAA,OAA0E,OAAAmhC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAuuD,KAAAptD,EAAAqlC,IAAArlC,EAAAsN,UAAuB,OAAAmhC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAuuD,KAAAnmD,EAAAlG,IAAgB,SAAA8tI,MAAe,SAAAC,GAAA9uI,EAAAiH,GAAiB,IAAAlG,EAAAvB,EAAA4U,EAAAioB,EAAA17B,EAAA,CAAeouI,GAAA,CAAIzvI,EAAA,IAAAkB,EAAA,IAAApB,EAAA,EAAAD,EAAA,GAAoB6vI,GAAA,CAAK1vI,EAAA,MAAAkB,EAAA,EAAApB,EAAA,EAAAD,EAAA,IAAqBA,EAAA,CAAI4vI,GAAA,EAAAC,GAAA,IAAWhvI,GAAI,GAAAq8B,IAAAt7B,EAAAkG,EAAA,KAAAA,EAAA,EAAA4rC,SAAA5rC,KAAAo1B,EAAA17B,EAAAX,GAAAe,IAAAs7B,EAAA/8B,GAAA,GAAAU,EAAA,KAAAR,EAAAoD,KAAAulB,IAAA,EAAAhpB,GAAA,EAAAiV,EAAA,KAAAioB,EAAA,CAAwF,IAAA78B,EAAA,CAAOuvI,GAAA,IAAAC,GAAA,MAAehvI,GAAAoU,EAAAxR,KAAA6hB,IAAAxd,GAAkBmN,GAAA,GAAK5U,IAAA4U,GAAA,EAAU,KAAKA,EAAA,GAAA5U,EAAA,GAASA,IAAA4U,GAAA,EAAU5U,GAAA,IAAA4U,GAAA,QAAApU,GAAAR,EAAA,MAAA68B,EAAA,CAAgC/8B,EAAAyB,EAAA,QAAAP,EAAA,IAAApB,EAAA,EAAAD,EAAA,GAA0BK,EAAAoD,KAAAulB,IAAA,EAAAhpB,GAAA,EAAAiV,EAAA,GAAwB,OAAA5U,EAAS,SAAA6pD,KAAcxqD,KAAAmW,GAAA,EAAAnW,KAAA8hI,MAAA,EAAA9hI,KAAA6kE,SAAA,KAA0C,IAAA1jE,EAAAyuC,UAAA,GAAmB5vC,KAAAowI,WAAAjvI,GAAmB,SAAAkvI,KAAc9nI,GAAAhG,MAAAvC,WAAA6kE,SAAA,KAAA7kE,KAAAswI,OAAA,KAAAtwI,KAAA8hI,MAAA,KAAmE,IAAA3gI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA6kE,SAAA1jE,EAAAnB,KAAA8hI,MAAA15H,EAAApI,KAAAswI,QAAAnvI,EAAAovI,SAAApvI,EAAAqvI,UAAA,EAAmE,SAAAC,MAAe,SAAA12B,KAAcxxG,GAAAhG,MAAAvC,MAAe,SAAA85G,KAAc95G,KAAA85B,KAAA,KAAA95B,KAAA0wI,UAAA,EAAA1wI,KAAA85B,KAAA,IAAAigF,GAAiD,SAAA42B,MAAe,SAAAC,KAAc5wI,KAAAyX,KAAA,KAAAzX,KAAAu6D,KAAA,KAAAv6D,KAAA6wI,UAAA,EAAA7wI,KAAA6kE,SAAA,IAAAkrE,GAAoE,IAAA5uI,EAAAyuC,UAAA,GAAmB5vC,KAAAyX,KAAAtW,EAAAnB,KAAA8wI,aAA8B,SAAAC,KAActmG,GAAAloC,MAAAvC,WAAAgxI,IAAA,KAAAhxI,KAAAk8B,EAAA,KAAyC,IAAA/6B,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAgxI,IAAA7vI,EAAAnB,KAAAk8B,EAAA9zB,EAAoB,SAAA6oI,MAAe,SAAAC,KAAclxI,KAAAo9H,GAAA,KAAAp9H,KAAAqf,GAAA,KAAArf,KAAAuf,GAAA,KAAuC,IAAApe,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAo9H,GAAAj8H,EAAAnB,KAAAqf,GAAAjX,EAAApI,KAAAuf,GAAArd,EAA8B,SAAAivI,KAAcnxI,KAAA4qC,MAAA,KAAA5qC,KAAAoxI,YAAA,KAAApxI,KAAAswI,OAAA,KAAAtwI,KAAA0P,OAAA,EAAqE,IAAAvO,EAAAyuC,UAAA,GAAmB5vC,KAAA4qC,MAAAzpC,EAAa,SAAAkwI,KAAc,GAAArxI,KAAA4+H,UAAA,KAAA5+H,KAAAsxI,SAAA,KAAAtxI,KAAAuxI,cAAA,KAAAvxI,KAAAwxI,WAAA,IAAArU,GAAAn9H,KAAAyxI,WAAA,KAAAzxI,KAAA0xI,WAAA,KAAA1xI,KAAA2xI,SAAA,MAAA/hG,UAAAztC,OAAA,CAAyK,IAAAhB,EAAAyuC,UAAA,GAAmByhG,GAAArgI,KAAAhR,KAAAmB,GAAA,QAAmB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAA4+H,UAAAx2H,EAAApI,KAAAsxI,SAAApvI,GAAkC,SAAA0vI,KAAc5xI,KAAA4+H,UAAA,KAAA5+H,KAAA6xI,kBAAA,KAAgD,IAAA1wI,EAAAyuC,UAAA,GAAmB5vC,KAAA4+H,UAAAz9H,EAAiB,SAAA2wI,KAAcnT,GAAAp8H,MAAAvC,WAAA6xI,kBAAA,KAA2C,IAAA1wI,EAAAyuC,UAAA,GAAmB5vC,KAAA6xI,kBAAA1wI,EAAyB,SAAA4wI,KAAc/xI,KAAAgyI,MAAA,KAAAhyI,KAAAiyI,KAAA,KAAAjyI,KAAAkyI,MAAA,KAA+C,IAAA/wI,EAAAyuC,UAAA,GAAmB5vC,KAAAgyI,MAAA7wI,EAAa,SAAA+D,KAAclF,KAAAmyI,WAAA,EAAkB,IAAAhxI,EAAAyuC,UAAA,GAAmBmiG,GAAA/gI,KAAAhR,KAAAmB,GAAgB,SAAAixI,KAAcpyI,KAAAqyI,UAAA,IAAA7W,GAAsB,SAAAxmE,KAAch1D,KAAAsyI,UAAA,EAAiB,IAAAnxI,EAAAyuC,UAAA,GAAmB1qC,GAAA8L,KAAAhR,KAAAmB,GAAgB,SAAAoxI,KAAcH,GAAA7vI,MAAAvC,MAAe,SAAAwyI,KAAcxyI,KAAA0/B,OAAA,KAAA1/B,KAAA+5B,QAAA,KAAA/5B,KAAAwa,MAAA,KAAAxa,KAAAgmD,MAAA,IAAA97B,EAAAlqB,KAAAyyI,cAAA,IAAArU,GAAAp+H,KAAA0yI,cAAA,KAAA1yI,KAAAwa,MAAA,IAAA+3H,GAAwI,SAAAI,KAAc3yI,KAAAqjE,MAAA,IAAAn5C,EAAAlqB,KAAA8vI,QAAA,IAAAjuI,MAAA,GAAA+hC,KAAA,MAAsD,SAAAgvG,KAAc5yI,KAAAmW,GAAA,IAAArE,EAAA9R,KAAA8hI,MAAA,EAAA9hI,KAAAukI,IAAA,KAAyC,IAAApjI,EAAAyuC,UAAA,GAAmB5vC,KAAAowI,WAAAjvI,GAAmB,SAAA0xI,KAAcF,GAAApwI,MAAAvC,WAAAukI,IAAA,KAAAvkI,KAAA8yI,QAAA,KAAA9yI,KAAA+yI,QAAA,KAAA/yI,KAAA8hI,MAAA,KAAiF,IAAA3gI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAukI,IAAApjI,EAAAnB,KAAA8hI,MAAA15H,EAAApI,KAAA8yI,SAAA3xI,EAAA6xI,UAAA7xI,EAAA8xI,WAAA,EAAAjzI,KAAA+yI,SAAA5xI,EAAAouI,UAAApuI,EAAAmuI,WAAA,EAA0G,SAAA4D,KAAcP,GAAApwI,MAAAvC,MAAe,SAAAmzI,KAAcnzI,KAAA85B,KAAA,KAAA95B,KAAA0wI,UAAA,EAAA1wI,KAAA85B,KAAA,IAAAo5G,GAAiD,SAAAE,GAAAjyI,GAAenB,KAAAq8H,gBAAAl7H,GAAA,IAAAk4H,GAA+B,SAAAga,GAAAlyI,GAAenB,KAAAq8H,gBAAAl7H,GAAA,IAAAk4H,GAAAr5H,KAAAi8H,eAAAj8H,KAAAq8H,gBAAA6R,oBAAAluI,KAAAqkE,OAAA,IAAA+uE,GAAApzI,KAAAq8H,iBAAqI,SAAAiX,KAActzI,KAAAqkE,OAAA,IAAA+uE,GAAApzI,KAAAq8H,iBAAyC,SAAAkX,GAAApyI,GAAenB,KAAAq8H,gBAAAl7H,GAAA,IAAAk4H,GAAAr5H,KAAAi8H,eAAAj8H,KAAAq8H,gBAAA6R,oBAAAluI,KAAAqkE,OAAA,IAAA+3D,GAAAp8H,KAAAq8H,iBAAqI,SAAAmX,GAAAryI,GAAe,OAAAA,EAAAgO,EAAAhO,EAAAiO,GAAgB,SAAAqkI,GAAAtyI,EAAAiH,GAAiBpI,KAAAq8H,gBAAAl7H,GAAA,IAAAk4H,GAAAr5H,KAAA0zI,GAAAtrI,GAAA,oBAAAsrI,OAAqE,SAAAC,KAAc,GAAA3zI,KAAA4zI,MAAA,KAAA5zI,KAAA6zI,YAAA,KAAA7zI,KAAAumB,QAAA,KAAAvmB,KAAA0mB,QAAA,KAAA1mB,KAAA8zI,UAAA,MAAAlkG,UAAAztC,OAAA,CAAoH,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+jG,GAAA3iI,KAAAhR,KAAAmB,EAAAiH,EAAA,UAAsB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkCA,UAAA,GAAAA,UAAA,GAA0B5vC,KAAA4zI,MAAA1xI,EAAAlC,KAAA6zI,YAAAlzI,EAAAX,KAAA8zI,UAAA9zI,KAAA+zI,sBAA0E,SAAAC,KAAc,GAAAh0I,KAAA4+H,UAAA,KAAA5+H,KAAAi0I,6BAAA,EAAAj0I,KAAAk0I,kBAAA,SAAAtkG,UAAAztC,OAAA,CAA6G,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA4+H,UAAAz9H,OAAiB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAC7v+B5vC,KAAA4+H,UAAAx2H,EAAApI,KAAAi0I,6BAAA/xI,EAAAiyI,aAAA,IAAsE,SAAAC,KAAcp0I,KAAAmW,GAAA,KAAAnW,KAAAu/H,SAAA,KAAAv/H,KAAA8c,OAAA,KAAiD,IAAA3b,EAAAyuC,UAAA,GAAmB5vC,KAAAmW,GAAAhV,EAAAnB,KAAAu/H,UAAA,EAAAv/H,KAAA8c,OAAA,EAAyC,SAAAu3H,KAAc,GAAAr0I,KAAAs0I,iBAAAD,GAAAE,0BAAAv0I,KAAAw0I,YAAAH,GAAAI,UAAAz0I,KAAA00I,UAAAL,GAAAM,WAAA30I,KAAA40I,WAAAP,GAAAQ,oBAAA70I,KAAA80I,gBAAA,EAAA90I,KAAA+0I,eAAAV,GAAAW,wBAAA,IAAAplG,UAAAztC,aAAoP,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAi1I,oBAAA9zI,QAA4B,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAi1I,oBAAA7sI,GAAApI,KAAAk1I,eAAAhzI,QAAmD,OAAA0tC,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAgE5vC,KAAAi1I,oBAAAt0I,GAAAX,KAAAk1I,eAAA3/H,GAAAvV,KAAAm1I,aAAA33G,GAAAx9B,KAAAo1I,cAAAtzI,IAA+F,SAAAuzI,KAAcr1I,KAAAs1I,UAAA,EAAAt1I,KAAAu1I,SAAA,KAAAv1I,KAAAw1I,MAAA,KAAAx1I,KAAAy1I,WAAA,KAAyE,SAAAC,KAAc11I,KAAAq1H,OAAA,GAAe,SAAAsgB,KAAc31I,KAAA41I,OAAA,KAAA51I,KAAA61I,YAAA,IAAA3rH,EAAAlqB,KAAAga,MAAA,IAAAkQ,EAAAlqB,KAAA81I,eAAA,KAAA91I,KAAAukI,IAAA,KAAAvkI,KAAA41I,OAAA,IAAAP,GAAmH,SAAAU,KAAc/1I,KAAAg2I,UAAA,KAAAh2I,KAAAi2I,YAAA,KAAAj2I,KAAAk2I,UAAA,KAAAl2I,KAAAm2I,iBAAAjZ,GAAAkZ,iBAAwG,IAAAj1I,EAAAyuC,UAAA,GAAmB5vC,KAAAg2I,UAAA70I,EAAiB,SAAAi6B,KAAcp7B,KAAAq2I,OAAA,KAAAr2I,KAAAi8H,eAAA,KAAAj8H,KAAAs2I,sBAAA,EAAAt2I,KAAAq2I,OAAA,IAAAnsH,EAAyF,SAAAqsH,KAAcv2I,KAAAw2I,qBAAA,EAAAx2I,KAAAy2I,mBAAA,KAAAz2I,KAAA02I,uBAAA,EAAA12I,KAAA22I,QAAA,KAAA32I,KAAA0T,SAAA,EAAA1T,KAAAi8H,eAAA,KAAAj8H,KAAA42I,UAAA,KAAA52I,KAAAwlI,GAAA,KAAAxlI,KAAA62I,GAAA,KAAA72I,KAAAiwG,GAAA,KAAAjwG,KAAA82I,GAAA,KAAA92I,KAAA+2I,KAAA,IAAA5Z,GAAAn9H,KAAAg3I,KAAA,IAAA7Z,GAAAn9H,KAAAi3I,QAAA,IAAA9Z,GAAAn9H,KAAAk3I,QAAA,IAAA/Z,GAAAn9H,KAAAm3I,KAAA,EAAAn3I,KAAAo3I,wBAAA,EAA+U,IAAAj2I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAi8H,eAAA96H,EAAAnB,KAAA42I,UAAAxuI,EAAApI,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAAy2I,mBAAA1yI,KAAAsvC,GAAA,EAAAjrC,EAAAivI,sBAAAjvI,EAAAivI,uBAAA,GAAAjvI,EAAAkvI,iBAAAjD,GAAAM,aAAA30I,KAAA02I,uBAAAH,GAAAgB,4BAAAv3I,KAAAuuD,KAAArsD,GAAuP,SAAAs1I,KAAcx3I,KAAA0T,SAAA,EAAA1T,KAAAi8H,eAAA,KAAAj8H,KAAA42I,UAAA,KAA6D,IAAAz1I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAi8H,eAAA96H,EAAAnB,KAAA42I,UAAAxuI,EAAuC,SAAAqvI,KAAcz3I,KAAA03I,UAAA,KAAA13I,KAAAo/H,IAAA,IAAAjC,GAAAn9H,KAAA23I,IAAA,IAAAza,GAAoD,IAAA/7H,EAAAyuC,UAAA,GAAmB5vC,KAAA03I,UAAAv2I,EAAiB,SAAAy2I,KAAc53I,KAAA63I,UAAA,KAAA73I,KAAA83I,UAAA,KAAwC,IAAA32I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA63I,UAAA,IAAA1a,GAAAh8H,GAAAnB,KAAA83I,UAAA1vI,EAA0C,SAAA2vI,KAAc/3I,KAAA4+H,UAAA,KAAA5+H,KAAA0T,SAAA,KAAA1T,KAAAg4I,aAAA,KAAAh4I,KAAAi4I,UAAA,IAAA/tH,EAAmF,IAAA/oB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAA4+H,UAAAz9H,EAAAnB,KAAA0T,SAAAtL,EAAApI,KAAAg4I,aAAA91I,EAAqD,SAAAg2I,KAAcl4I,KAAAyqI,kBAAA,EAAAzqI,KAAA0qI,WAAA,EAAA1qI,KAAA2qI,mBAAA,EAAA3qI,KAAAm4I,aAAA,EAAAn4I,KAAA4qI,wBAAA,KAAA5qI,KAAAwlI,GAAA,KAAAxlI,KAAA+qI,mBAAA,KAAA/qI,KAAAgrI,iBAAA,EAAAhrI,KAAAo4I,yBAAA,EAAAp4I,KAAAq4I,uBAAA,EAAAr4I,KAAAirI,SAAA,EAA2Q,IAAA9pI,EAAAyuC,UAAA,GAAmB5vC,KAAAwlI,GAAArkI,EAAU,SAAAm3I,KAAct4I,KAAA42I,UAAA,KAAA52I,KAAAu4I,sBAAA,KAAAv4I,KAAAw4I,aAAA,KAAAx4I,KAAA+3H,SAAA,KAAA/3H,KAAAwa,MAAA,KAAAxa,KAAAspI,SAAA,IAAAiF,GAAmI,IAAAptI,EAAAyuC,UAAA,GAAmB5vC,KAAA42I,UAAAz1I,EAAiB,SAAAs3I,KAAcz4I,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAA+lI,WAAA,KAAoC,IAAA5kI,EAAAyuC,UAAA,GAAmB5vC,KAAA+lI,WAAA5kI,EAAkB,SAAAu3I,KAAc14I,KAAAwlI,GAAA,KAAAxlI,KAAAmW,GAAA,KAAAnW,KAAA24I,WAAA,KAAA34I,KAAA44I,SAAA,KAAA54I,KAAA64I,SAAA,KAAA74I,KAAA84I,SAAA,KAAA94I,KAAA6zI,YAAA,KAAA7zI,KAAAw1H,KAAA,KAAAx1H,KAAAy1H,KAAA,KAAAz1H,KAAA01H,KAAA,KAAA11H,KAAA21H,KAAA,KAAA31H,KAAA+4I,OAAA,IAAAl3I,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAAg5I,QAAA,KAAgP,IAAA73I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD,GAAA5vC,KAAA24I,WAAAx3I,EAAAnB,KAAAmW,GAAAhV,EAAAnB,KAAA6zI,YAAAzrI,EAAApI,KAAAwlI,GAAAtjI,EAAAkG,GAAA,YAAAzH,EAAA,iCAA8G,IAAAyH,IAAApI,KAAAmW,GAAA,IAAArE,EAAA9R,KAAA01B,MAAAv0B,EAAAgO,GAAAnP,KAAA01B,MAAAv0B,EAAAiO,IAAApP,KAAA64I,SAAA,IAAA/mI,EAAA9R,KAAA84I,SAAA,IAAAhnI,GAAA9R,KAAAi5I,YAAAj5I,KAAAmW,IAA0H,SAAA+iI,KAAcl5I,KAAAI,MAAA,KAAgB,IAAAe,EAAAyuC,UAAA,GAAmB5vC,KAAAI,MAAAe,EAAa,SAAAg4I,KAAc1uG,GAAAloC,MAAAvC,WAAAo5I,SAAA,KAAAp5I,KAAAq5I,WAAA,KAAAr5I,KAAAs5I,oBAAA,KAAAt5I,KAAAu5I,cAAA,EAA0G,IAAAp4I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD5vC,KAAAo5I,SAAAj4I,EAAAnB,KAAAq5I,WAAAjxI,EAAApI,KAAAs5I,oBAAAp3I,EAA6D,SAAAs3I,KAAcx5I,KAAAwlI,GAAA,KAAAxlI,KAAAy5I,sBAAA,KAA6C,IAAAt4I,EAAAyuC,UAAA,GAAmB5vC,KAAAwlI,GAAArkI,EAAAnB,KAAAy5I,sBAAA,IAAAvvH,EAA2C,SAAAwvH,KAAc15I,KAAA25I,GAAA,KAAA35I,KAAAwlI,GAAA,KAAAxlI,KAAA6zI,YAAA,KAAA7zI,KAAA4zI,MAAA,KAAA5zI,KAAA45I,aAAA,KAAA55I,KAAAglI,gBAAA,KAAiH,IAAA7jI,EAAAyuC,UAAA,GAAmB5vC,KAAA25I,GAAAx4I,EAAAnB,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAAwlI,GAAAqU,kBAAA14I,GAAAnB,KAAA6zI,YAAA1yI,EAAA24I,WAAoF,SAAAC,KAAc,GAAA/5I,KAAAg6I,QAAA,KAAAh6I,KAAA0T,SAAA,KAAA1T,KAAA42I,UAAA,IAAAvC,GAAAr0I,KAAAi6I,eAAA,KAAAj6I,KAAAk6I,cAAA,SAAAtqG,UAAAztC,OAAA,CAAqI,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAg6I,QAAA74I,OAAe,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAg6I,QAAA5xI,EAAApI,KAAA42I,UAAA10I,GAAiC,SAAAi4I,KAAcn6I,KAAAo6I,MAAA,KAAgB,IAAAj5I,EAAAyuC,UAAA,GAAmB5vC,KAAAo6I,MAAAj5I,EAAa,SAAAk5I,KAAc,GAAAr6I,KAAA8xB,UAAA,KAAA9xB,KAAAs6I,SAAA,KAAAt6I,KAAAmW,GAAA,SAAAy5B,UAAAztC,OAAA,CAA6E,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCyqG,GAAArpI,KAAAhR,KAAAmB,EAAAk5I,GAAAE,YAAAnyI,QAAiC,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAA8xB,UAAA5vB,EAAAlC,KAAAs6I,SAAA35I,EAAAX,KAAAmW,GAAAZ,GAA4C,SAAAilI,KAAcx6I,KAAAshI,IAAA,KAAc,IAAAngI,EAAAyuC,UAAA,GAAmB5vC,KAAAshI,IAAAngI,EAAW,SAAAs5I,KAAcz6I,KAAA06I,UAAA,KAAoB,IAAAv5I,EAAAyuC,UAAA,GAAmB5vC,KAAA06I,UAAAv5I,EAAiB,SAAAw5I,KAAc,GAAA36I,KAAA8G,KAAA,KAAA9G,KAAA46I,kBAAA,EAAA56I,KAAA6oI,UAAA,IAAA/H,GAAA9gI,KAAA66I,oBAAA,KAAA76I,KAAAyvI,YAAAl6H,EAAA45H,UAAA,IAAAv/F,UAAAztC,OAAA,CAAkJ,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+qG,GAAA3pI,KAAAhR,KAAAmB,EAAAiH,EAAA,QAAoB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAApS,EAAAoS,UAAA,GAAiD5vC,KAAA8G,KAAA,IAAAjF,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAA8G,KAAA,GAAA5E,EAAAlC,KAAA8G,KAAA,GAAAnG,EAAAX,KAAA46I,kBAAAp9G,GAA0F,SAAAs9G,KAAc96I,KAAA+5B,QAAA,KAAA/5B,KAAA+6I,cAAA,IAAA7wH,EAAAlqB,KAAA2F,YAAA,KAAiE,IAAAxE,EAAAyuC,UAAA,GAAmB5vC,KAAA+5B,QAAA54B,EAAe,SAAA65I,KAAch7I,KAAAmyI,WAAA,EAAAnyI,KAAA0nI,YAAA,EAAA1nI,KAAA4I,KAAA,KAAoD,SAAAqyI,KAAcD,GAAAz4I,MAAAvC,WAAAq5I,WAAA,KAAAr5I,KAAAma,KAAA,KAAAna,KAAAoa,GAAA,KAAApa,KAAAo9H,GAAA,KAAAp9H,KAAAqf,GAAA,KAAArf,KAAAic,IAAA,KAAAjc,KAAAk7I,cAAA,KAAAl7I,KAAA+nI,SAAA,KAAA/nI,KAAAipE,MAAA,KAAmK,IAAA9nE,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgE5vC,KAAAma,KAAAhZ,EAAAnB,KAAAoa,GAAAhS,EAAApI,KAAAk7I,cAAAv6I,EAAAX,KAAAo9H,GAAAj8H,EAAAiiI,gBAAApjI,KAAAqf,GAAAnd,EAA+E,IAAAqT,EAAAvV,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,EAAAquB,EAAAx9B,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,EAAgDpP,KAAA+nI,SAAAvD,GAAAuD,SAAAxyH,EAAAioB,GAAAx9B,KAAAipE,MAAAllE,KAAAg4C,MAAAve,EAAAjoB,GAA0D,SAAA4lI,KAAc,IAAAh6I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgEqrG,GAAAjqI,KAAAhR,KAAAmB,EAAAiH,EAAAlG,EAAAvB,GAAsB,SAAAy6I,KAAc,GAAAJ,GAAAz4I,MAAAvC,WAAAq7I,QAAA,SAAAzrG,UAAAztC,aAA0D,OAAAytC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAs7I,iBAAAn6I,EAAAiH,IAA4B,SAAAmzI,KAAcv7I,KAAAw7I,SAAA,IAAAtxH,EAAAlqB,KAAAsyC,QAAA,EAAmC,SAAAmpG,KAAc,GAAAT,GAAAz4I,MAAAvC,WAAAmW,GAAA,KAAAnW,KAAA07I,OAAA,SAAA9rG,UAAAztC,OAAA,CAAsE,IAAAhB,EAAAyuC,UAAA,GAAmB6rG,GAAAzqI,KAAAhR,KAAAmB,EAAA,IAAAo6I,SAAuB,OAAA3rG,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAmW,GAAA/N,EAAApI,KAAA07I,OAAAx5I,GAAyB,SAAAy5I,KAAcP,GAAA74I,MAAAvC,WAAA6O,KAAA,KAA8B,IAAA1N,EAAAyuC,UAAA,GAAmB5vC,KAAA6O,KAAA1N,EAAY,SAAAy6I,KAAc57I,KAAAsjI,QAAA,IAAAhqE,GAAoB,SAAAuiF,KAAc77I,KAAA+Z,MAAA,IAAA68G,EAAA52H,KAAA87I,SAAA,IAAAllB,EAAA52H,KAAAsjI,QAAA,IAAAsY,GAAyD,SAAAvgH,KAAcwgH,GAAAt5I,MAAAvC,MAAe,SAAA+7I,KAAc/7I,KAAAwa,MAAA,IAAA6gB,GAAAr7B,KAAAg8I,kBAAA,KAAAh8I,KAAA+5B,QAAA,KAAA/5B,KAAAi8I,YAAA,KAAsF,SAAAC,KAAcl8I,KAAA+c,SAAA,KAAA/c,KAAA6b,KAAA,KAAA7b,KAAAsJ,OAAA,EAAgD,IAAAnI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgEqrG,GAAAjqI,KAAAhR,KAAAmB,EAAAiH,EAAAlG,EAAAvB,GAAsB,SAAAw7I,KAAcf,GAAA74I,MAAAvC,WAAA6O,KAAA,KAA8B,IAAA1N,EAAAyuC,UAAA,GAAmB5vC,KAAA6O,KAAA1N,EAAY,SAAAi7I,KAAcp8I,KAAAq8H,gBAAA,IAAAhD,GAAAr5H,KAAAq8I,UAAA,KAAAr8I,KAAAs8I,sBAAA,KAAgF,IAAAn7I,EAAAyuC,UAAA,GAAmB5vC,KAAAq8I,UAAAl7I,EAAiB,SAAAo7I,MAAe,SAAAC,KAAc,GAAAx8I,KAAAy8I,SAAA,IAAAvyH,EAAA,IAAA0lB,UAAAztC,OAAA,CAA6C,IAAAhB,EAAAyuC,UAAA,GAAmB4sG,GAAAxrI,KAAAhR,KAAA,KAAAmB,QAAqB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,GAAAwnC,UAAA,GAAAA,UAAA,IAAkCk4F,GAAA92H,KAAAhR,KAAAoI,EAAAy7H,UAAAz7H,EAAAg7H,gBAAAh7H,EAAAs0I,wBAAA,IAAAjW,GAAAr+H,EAAAu0I,aAAA38I,KAAAmD,OAAAiF,IAA2G,SAAAw0I,KAAcxT,GAAA7mI,MAAAvC,MAAe,SAAA68I,KAAc,IAAA17I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+3F,GAAA32H,KAAAhR,KAAAmB,EAAAiH,GAAkB,SAAA00I,KAAcvU,GAAAhmI,MAAAvC,MAAe,SAAA+8I,KAAc/8I,KAAAga,MAAA,IAAA4tH,GAAA,IAAAkV,IAA0B,SAAAE,KAAch9I,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAAq8I,UAAA,KAAAr8I,KAAAi9I,UAAA,IAAAF,GAAA/8I,KAAA4tI,aAAA,KAAgF,IAAAzsI,EAAAyuC,UAAA,GAAmB5vC,KAAAq8I,UAAAl7I,EAAiB,SAAA+7I,KAAcl9I,KAAAwa,MAAA,KAAAxa,KAAAimD,MAAA,IAAA/7B,EAAAlqB,KAAAm9I,SAAA,IAAA90G,EAAAroC,KAAAI,MAAA,KAAAJ,KAAAo9I,SAAA,KAAwF,IAAAj8I,EAAAyuC,UAAA,GAAmB5vC,KAAAwa,MAAArZ,EAAa,SAAAk8I,KAAc,GAAAr9I,KAAAs9I,UAAA,KAAAt9I,KAAAmW,GAAA,SAAAy5B,UAAAztC,OAAA,CAA0D,IAAAhB,EAAAyuC,UAAA,GAAmBytG,GAAArsI,KAAAhR,KAAAmB,EAAA,WAAqB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAs9I,UAAAl1I,EAAA,OAAAlG,IAAAlC,KAAAmW,GAAAjU,EAAA+lH,SAA+C,SAAAs1B,KAAcv9I,KAAAw9I,eAAA,KAAAx9I,KAAAy9I,oCAAA,EAAAz9I,KAAA09I,SAAA,KAAuF,IAAAv8I,EAAAyuC,UAAA,GAAmB5vC,KAAAw9I,eAAAr8I,EAAsB,SAAAw8I,KAAc39I,KAAA+5B,QAAA,KAAA/5B,KAAA49I,OAAA,IAAA1zH,EAAAlqB,KAAA69I,WAAA,KAAA79I,KAAAyX,KAAA,KAAAzX,KAAA89I,QAAA,KAAA99I,KAAAwiF,MAAA,KAAAxiF,KAAA4qE,MAAA,KAAA5qE,KAAAinI,QAAA,KAAAjnI,KAAA+9I,cAAA,EAAA/9I,KAAAg+I,gBAAA,EAAAh+I,KAAAi+I,aAAA,EAA4M,IAAA98I,EAAAyuC,UAAA,GAAmB5vC,KAAA+5B,QAAA54B,EAAe,SAAA+8I,MAAe,SAAAC,KAActC,GAAAt5I,MAAAvC,WAAA+5B,QAAA,KAAiC,IAAA54B,EAAAyuC,UAAA,GAAmB5vC,KAAA+5B,QAAA54B,EAAe,SAAAi9I,KAAc,GAAAp+I,KAAAq+I,gBAAA,IAAAC,GAAAt+I,WAAAwa,MAAA,KAAAxa,KAAAu+I,QAAA,IAAAr0H,EAAAlqB,KAAAw+I,SAAA,IAAAt0H,EAAAlqB,KAAAy+I,iBAAA,IAAAv0H,EAAAlqB,KAAA0+I,SAAA,KAAA1+I,KAAAuqE,UAAA,KAAAvqE,KAAA2+I,SAAA,KAAA3+I,KAAA4+I,sBAAA,EAAA5+I,KAAA6+I,qBAAA,KAAA7+I,KAAAs+H,YAAA,SAAA1uF,UAAAztC,OAAAi8I,GAAAptI,KAAAhR,MAAA,QAA0S,OAAA4vC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA6+I,qBAAA19I,GAA6B,SAAAm9I,KAAct+I,KAAAk8B,EAAA,KAAY,IAAA/6B,EAAAyuC,UAAA,GAAmB5vC,KAAAk8B,EAAA/6B,EAAS,SAAA29I,KAAc9+I,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAA6oI,UAAA,IAAA/H,GAAA9gI,KAAAguI,IAAA,KAAAhuI,KAAAga,MAAA,IAAA4tH,GAAA,IAAAkV,IAAA98I,KAAA++I,GAAA,KAAA/+I,KAAAg/I,cAAA,IAAA90H,EAAAlqB,KAAA4tI,aAAA,KAA0I,IAAAzsI,EAAAyuC,UAAA,GAAmB5vC,KAAAguI,IAAA7sI,EAAW,SAAA89I,KAAcj/I,KAAAk/I,QAAA,KAAkB,IAAA/9I,EAAAyuC,UAAA,GAAmB5vC,KAAAk/I,QAAA/9I,EAAAkuI,sBAAqC,SAAA8P,KAAcn/I,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAAk/I,QAAA,KAAAl/I,KAAAo/I,QAAA,KAAAp/I,KAAAq/I,QAAA,KAAAr/I,KAAAs/I,UAAA,KAAAt/I,KAAAu/I,UAAA,KAA6G,IAAAp+I,EAAAyuC,UAAA,GAAmB5vC,KAAAk/I,QAAA/9I,EAAAnB,KAAAo/I,QAAA,IAAAttI,EAAA3Q,EAAA6xI,UAAA7xI,EAAAouI,WAAAvvI,KAAAq/I,QAAA,IAAAvtI,EAAA3Q,EAAA8xI,UAAA9xI,EAAAmuI,WAAAtvI,KAAAs/I,UAAA,IAAAxtI,EAAA3Q,EAAA6xI,UAAA7xI,EAAAmuI,WAAAtvI,KAAAu/I,UAAA,IAAAztI,EAAA3Q,EAAA8xI,UAAA9xI,EAAAouI,WAAmM,SAAAiQ,KAAcx/I,KAAAmrI,SAAA,EAAgB,SAAAx1G,KAAc31B,KAAAoyD,UAAA,KAAApyD,KAAAk/I,QAAA,KAAsC,IAAA/9I,EAAAyuC,UAAA,GAAmB5vC,KAAAoyD,UAAAjxD,EAAAnB,KAAAk/I,QAAA/9I,EAAAkuI,sBAAsD,SAAAoQ,KAAcD,GAAAj9I,MAAAvC,WAAAk/I,QAAA,KAAAl/I,KAAA0/I,aAAA,EAAqD,IAAAv+I,EAAAyuC,UAAA,GAAmB5vC,KAAAk/I,QAAA/9I,EAAe,SAAAw+I,KAAcH,GAAAj9I,MAAAvC,WAAA4/I,QAAA,KAAA5/I,KAAAk/I,QAAA,KAAAl/I,KAAA6/I,gBAAA,EAA0E,IAAA1+I,EAAAyuC,UAAA,GAAmB5vC,KAAA4/I,QAAAz+I,EAAA2+I,kBAAAC,wBAAA//I,KAAAk/I,QAAA/9I,EAAAkuI,sBAA8F,SAAA2Q,KAAcR,GAAAj9I,MAAAvC,WAAAk/I,QAAA,KAAAl/I,KAAAigJ,gBAAA,KAAAjgJ,KAAAkgJ,iBAAA,EAAAlgJ,KAAAo9H,GAAA,IAAAtrH,EAAA9R,KAAAqf,GAAA,IAAAvN,EAA+G,IAAA3Q,EAAAyuC,UAAA,GAAmB5vC,KAAAk/I,QAAA/9I,EAAAkuI,sBAAArvI,KAAAigJ,gBAAA,IAAAd,GAAAn/I,KAAAk/I,SAA+E,SAAAiB,KAAc,GAAAngJ,KAAAogJ,QAAA,SAAAxwG,UAAAztC,OAAA,CAA2C,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCk+F,GAAA98H,KAAAhR,KAAAmB,EAAAiH,GAAApI,KAAAogJ,QAAA,IAAAtB,GAAA9+I,KAAAguI,UAAgD,OAAAp+F,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiDk+F,GAAA98H,KAAAhR,KAAAkC,EAAAvB,EAAA4U,GAAAvV,KAAAogJ,QAAA,IAAAtB,GAAA9+I,KAAAguI,MAAmD,SAAAqS,KAAcrgJ,KAAAs+H,YAAA,KAAAt+H,KAAAsgJ,WAAA,EAAAtgJ,KAAAugJ,WAAA,KAA6D,IAAAp/I,EAAAyuC,UAAA,GAAmB5vC,KAAAs+H,YAAA+hB,GAAAG,eAAAr/I,GAAAnB,KAAAugJ,WAAAp/I,EAAwD,SAAAs/I,KAAczgJ,KAAA0gJ,UAAA,KAAA1gJ,KAAA2gJ,UAAA,KAAA3gJ,KAAA+3H,SAAA,KAA2D,IAAA52H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA0gJ,UAAAv/I,EAAAnB,KAAA2gJ,UAAAv4I,EAAApI,KAAA+3H,SAAA3vH,EAAA+vH,aAA+D,SAAAjrF,KAAcltC,KAAA4gJ,WAAA,EAAA5gJ,KAAAo6I,MAAA,KAAkC,IAAAj5I,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA4gJ,UAAAz/I,EAAAnB,KAAAo6I,MAAAhyI,EAA8B,SAAAy4I,KAAc7gJ,KAAA8gJ,WAAA,KAAA9gJ,KAAAs+H,YAAA,KAA2C,IAAAn9H,EAAAyuC,UAAA,GAAmB5vC,KAAA8gJ,WAAA3/I,EAAA,OAAAnB,KAAA8gJ,aAAA9gJ,KAAA8gJ,WAAA,IAAA52H,GAAkE,SAAA62H,KAAc,GAAA/gJ,KAAAstD,SAAA,IAAApjC,EAAAlqB,KAAAgmD,MAAA,IAAA97B,EAAAlqB,KAAAgC,OAAA,IAAAkoB,EAAAlqB,KAAA+3H,SAAA,SAAAnoF,UAAAztC,QAAmG,GAAAutG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAsB,IAAA3B,EAAAyuC,UAAA,GAAmB5vC,KAAAupD,QAAApoD,QAAgB,GAAAyuC,UAAA,aAAAxH,EAAA,CAAkC,IAAAhgC,EAAAwnC,UAAA,GAAmB5vC,KAAAupD,QAAAnhD,SAAiB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAA+3H,SAAAp3H,EAAAX,KAAAupD,QAAArnD,IAAiC,SAAA8+I,KAAc9uH,GAAA+uH,oBAAA1+I,MAAAvC,WAAAkhJ,SAAA,KAAAlhJ,KAAAmhJ,iBAAA,EAA8E,IAAAhgJ,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAkhJ,SAAA//I,EAAAnB,KAAAmhJ,gBAAA/4I,EAAuC,SAAAg5I,KAAcphJ,KAAAkhJ,SAAA,KAAAlhJ,KAAAmhJ,iBAAA,EAAAnhJ,KAAAqhJ,sBAAA,EAAArhJ,KAAAshJ,aAAA,EAA4F,IAAAngJ,EAAAyuC,UAAA,GAAmB5vC,KAAAkhJ,SAAA//I,EAAgB,SAAAogJ,KAAcvhJ,KAAAshI,IAAA,KAAAthI,KAAAwhJ,MAAA,KAAAxhJ,KAAA6xI,kBAAA,KAAA7xI,KAAAo/H,IAAA,IAAAjC,GAA0E,IAAAh8H,EAAAyuC,UAAA,GAAmB5vC,KAAAshI,IAAAngI,EAAW,SAAAsgJ,KAAczhJ,KAAA4+H,UAAA,KAAA5+H,KAAA6xI,kBAAA,KAAA7xI,KAAA0hJ,uBAAA,EAA8E,IAAAvgJ,EAAAyuC,UAAA,GAAmB5vC,KAAA4+H,UAAAz9H,EAAiB,SAAAykC,KAAc+4F,GAAAp8H,MAAAvC,WAAA0hJ,uBAAA,EAAA1hJ,KAAA6xI,kBAAA,KAAyE,IAAA1wI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA0hJ,sBAAAvgJ,EAAAnB,KAAA6xI,kBAAAzpI,EAAsD,SAAAu5I,KAAc,GAAA3hJ,KAAA+2H,OAAA,KAAA/2H,KAAAI,MAAA,SAAAwvC,UAAAztC,OAAA,CAA0D,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC+xG,GAAA3wI,KAAAhR,KAAAmB,EAAAiH,EAAA,cAA0B,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAgEutF,GAAAnsH,KAAAhR,KAAAkC,EAAAvB,GAAAX,KAAA+2H,OAAAxhH,EAAAvV,KAAAI,MAAAo9B,GAA8C,SAAAokH,KAAc,GAAA5hJ,KAAA6hJ,WAAA,KAAA7hJ,KAAA8hJ,KAAA,KAAA9hJ,KAAA+hJ,WAAA,IAAA73H,EAAAlqB,KAAAgiJ,YAAA,SAAApyG,UAAAztC,OAAA,CAAyG,IAAAhB,EAAAyuC,UAAA,GAAmBgyG,GAAA5wI,KAAAhR,KAAAmB,EAAA,QAAkB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAA6hJ,WAAAz5I,EAAApI,KAAAgiJ,YAAA9/I,EAAAlC,KAAAuuD,QAAkD,SAAAvwB,KAAch+B,KAAAI,MAAA,IAAA+yI,GAAkB,SAAA8O,KAAcjiJ,KAAAkiJ,SAAA,KAAAliJ,KAAAqjE,MAAA,IAAAn5C,EAAoC,IAAA/oB,EAAAyuC,UAAA,GAAmB5vC,KAAAkiJ,SAAA/gJ,EAAgB,SAAAghJ,KAAcniJ,KAAAwlI,GAAA,IAAA3I,GAAA78H,KAAAoiJ,WAAA,IAAApkH,GAAAh+B,KAAAqiJ,YAAA,IAAArkH,GAAAh+B,KAAA6O,KAAA,KAAA7O,KAAAsiJ,QAAA,KAAAtiJ,KAAA6xI,kBAAA,EAAwH,IAAA1wI,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAoiJ,WAAAjhJ,EAAAnB,KAAAqiJ,YAAAj6I,EAAqC,SAAAm6I,KAAcviJ,KAAAoiJ,WAAA,IAAApkH,GAAAh+B,KAAAqiJ,YAAA,IAAArkH,GAAAh+B,KAAA6xI,kBAAA,EAAwE,SAAA2Q,KAAcxiJ,KAAA4+H,UAAA,KAAA5+H,KAAAyiJ,eAAA,IAAAF,GAAAviJ,KAAA0iJ,cAAA,KAAuE,IAAAvhJ,EAAAyuC,UAAA,GAAmB5vC,KAAA4+H,UAAAz9H,EAAiB,SAAAwhJ,KAAchkB,GAAAp8H,MAAAvC,WAAA0iJ,cAAA,KAAuC,IAAAvhJ,EAAAyuC,UAAA,GAAmB5vC,KAAA0iJ,cAAAvhJ,EAAqB,SAAAyhJ,KAAc5iJ,KAAA6iJ,IAAA,KAAc,IAAA1hJ,EAAAyuC,UAAA,GAAmB5vC,KAAA6iJ,IAAA1hJ,EAAW,SAAA2hJ,KAAc9iJ,KAAAo/H,IAAA,KAAAp/H,KAAA+iJ,OAAA,KAAA/iJ,KAAAgjJ,QAAA,KAAAhjJ,KAAAijJ,WAAA,EAAmE,IAAA9hJ,EAAAyuC,UAAA,GAAmB5vC,KAAAo/H,IAAAj+H,EAAAnB,KAAA+iJ,OAAA5hJ,EAAA+hJ,YAAqC,SAAAC,MAAe,SAAAC,MAAe,SAAAC,MAAe,SAAAC,KAAc,GAAAtjJ,KAAAk8B,EAAA,SAAA0T,UAAAztC,OAAA,CAAqC,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAk8B,EAAA,IAAApqB,EAAA3Q,QAAgB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAk8B,EAAA,IAAApqB,EAAA1J,EAAAlG,QAAkB,OAAA0tC,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD5vC,KAAAk8B,EAAA,IAAApqB,EAAAnR,EAAA4U,EAAAioB,IAAqB,SAAA+lH,KAAcvjJ,KAAAwjJ,gBAAA,KAAAxjJ,KAAAyjJ,WAAA,KAA+C,IAAAtiJ,EAAAyuC,UAAA,GAAmB0zG,GAAAtyI,KAAAhR,KAAAmB,GAAgB,SAAAgsC,KAAcntC,KAAA0jJ,KAAA,KAAA1jJ,KAAA2jJ,OAAA,KAAA3jJ,KAAA6b,KAAA,KAAA7b,KAAA4I,KAAA,KAA8D,SAAAg7I,KAAc5jJ,KAAA6jJ,OAAA,KAAA7jJ,KAAA8jJ,kBAAA,EAA0C,IAAA3iJ,EAAAyuC,UAAA,GAAmB5vC,KAAA6jJ,OAAA1iJ,EAAAnB,KAAA8jJ,iBAAA3iJ,EAAA4iJ,eAAA,EAAuD,SAAA10H,MAAe,SAAA20H,KAAchkJ,KAAA6jJ,OAAA,KAAA7jJ,KAAAikJ,SAAA,KAAoC,IAAA9iJ,EAAAyuC,UAAA,GAAmB5vC,KAAA6jJ,OAAA1iJ,EAAAnB,KAAAuuD,OAA0B,SAAA21F,KAAc,GAAAlkJ,KAAAo/H,IAAA,SAAAxvF,UAAAztC,QAAuC,oBAAAytC,UAAA,IAAkC,IAAAzuC,EAAAyuC,UAAA,GAAmB79B,EAAAf,KAAAhR,KAAAmB,QAAe,GAAAyuC,UAAA,aAAAutF,GAAA,CAAmC,IAAA/0H,EAAAwnC,UAAA,GAAmB79B,EAAAf,KAAAhR,KAAA,uCAAAoI,EAAA,gFAAApI,KAAAo/H,IAAA,IAAAjC,GAAA/0H,SAAyJ,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC79B,EAAAf,KAAAhR,KAAAkkJ,GAAAC,eAAAjiJ,EAAAvB,IAAAX,KAAAo/H,IAAA,IAAAjC,GAAAx8H,IAAwD,SAAAyjJ,MAAe,SAAAC,KAAcrkJ,KAAAskJ,WAAA,EAAAtkJ,KAAAukJ,UAAA,IAAAr6H,EAAAlqB,KAAAwkJ,aAAA,KAAAxkJ,KAAA48E,UAAA,KAAA58E,KAAAykJ,yBAAA,KAAAzkJ,KAAA0kJ,YAAA,IAAA7iJ,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAA2kJ,SAAA,KAAA3kJ,KAAA4kJ,QAAA,KAAA5kJ,KAAAo/H,IAAA,IAAAjC,GAAAn9H,KAAA6kJ,SAAA,IAAAhjJ,MAAA,GAAA+hC,KAAA,MAAyP,IAAAziC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA48E,UAAAx0E,EAAApI,KAAAykJ,yBAAAr8I,EAAAi8I,GAAAS,4BAAA9kJ,KAAA+kJ,YAAA5jJ,GAAAnB,KAAAwkJ,aAAAxkJ,KAAAglJ,aAAAhlJ,KAAA4kJ,QAAA,IAAAZ,GAAAhkJ,MAAkK,SAAAilJ,MAAe,SAAAC,KAAcllJ,KAAAmlJ,QAAA,IAAAj7H,EAAmB,SAAAk7H,KAAcplJ,KAAAmlJ,QAAA,IAAAj7H,EAAmB,SAAAm7H,KAAcrlJ,KAAAslJ,UAAA,IAAAv6H,EAAA/qB,KAAAulJ,UAAA,IAAAr7H,EAA0C,SAAAs7H,KAAc,GAAAxlJ,KAAA+gJ,GAAA,KAAA/gJ,KAAA4I,KAAA,SAAAgnC,UAAAztC,OAAA,CAAqD,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA+gJ,GAAA,IAAA5jB,GAAAh8H,EAAAiH,QAAoB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAA+gJ,GAAA,IAAA5jB,GAAAj7H,EAAAvB,GAAAX,KAAA4I,KAAA2M,OAAgC,OAAAq6B,UAAAztC,OAAA,CAA8B,IAAAq7B,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,EAAAkS,UAAA,GAA8F41G,GAAAx0I,KAAAhR,KAAA,IAAA8R,EAAA0rB,EAAA17B,EAAAxB,GAAA,IAAAwR,EAAA1Q,EAAA2Q,EAAA2rB,SAAwC,OAAAkS,UAAAztC,OAAA,CAA8B,IAAAR,EAAAiuC,UAAA,GAAAp7B,EAAAo7B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAA0T,UAAA,GAAA9sC,EAAA8sC,UAAA,GAAAnS,EAAAmS,UAAA,GAAAxgC,EAAAwgC,UAAA,GAA6G41G,GAAAx0I,KAAAhR,KAAA,IAAA8R,EAAAnQ,EAAA6S,EAAA/T,GAAA,IAAAqR,EAAAoqB,EAAAp5B,EAAA26B,GAAAruB,IAA2C,SAAAq2I,MAAe,SAAAC,KAAc,GAAA1lJ,KAAAk8B,EAAA,KAAAl8B,KAAA4I,KAAA,KAAA5I,KAAAiM,KAAA,KAAAjM,KAAAkM,MAAA,KAAAlM,KAAA61B,MAAA,SAAA+Z,UAAAztC,OAAA,CAAmG,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAk8B,EAAA,IAAApqB,EAAA3Q,GAAAnB,KAAAiM,KAAA,KAAAjM,KAAAkM,MAAA,KAAAlM,KAAA61B,MAAA,EAAA71B,KAAA4I,KAAAR,OAAwE,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAAk8B,EAAA,IAAApqB,EAAA5P,EAAAvB,GAAAX,KAAAiM,KAAA,KAAAjM,KAAAkM,MAAA,KAAAlM,KAAA61B,MAAA,EAAA71B,KAAA4I,KAAA2M,GAA2E,SAAAowI,KAAc,GAAA3lJ,KAAA85B,KAAA,KAAA95B,KAAA4lJ,cAAA,KAAA5lJ,KAAA48E,UAAA,SAAAhtC,UAAAztC,OAAAwjJ,GAAA30I,KAAAhR,KAAA,QAAmG,OAAA4vC,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA48E,UAAAz7E,GAAkB,SAAA0kJ,KAAc7lJ,KAAA48E,UAAA,KAAA58E,KAAA8lJ,UAAA,KAAA9lJ,KAAA+lJ,UAAA,EAAA/lJ,KAAAk8B,EAAA,KAAqE,IAAA/6B,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAk8B,EAAA/6B,EAAAnB,KAAA48E,UAAAx0E,EAA0B,SAAA49I,KAAchmJ,KAAAimJ,gBAAA,KAAAjmJ,KAAAkmJ,YAAA,KAAAlmJ,KAAAmmJ,SAAA,IAAAj8H,EAAAlqB,KAAA6jJ,OAAA,KAAA7jJ,KAAAomJ,OAAA,KAAApmJ,KAAA8hC,WAAA,KAAA9hC,KAAAqmJ,YAAA,IAAAjD,GAAApjJ,KAAAsmJ,IAAA,KAAAtmJ,KAAAumJ,cAAA,KAAAvmJ,KAAAwmJ,eAAA,KAAAxmJ,KAAAgjJ,QAAA,KAAAhjJ,KAAA48E,UAAA,KAAwP,IAAAz7E,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAAimJ,gBAAA,IAAA/7H,EAAA/oB,GAAAnB,KAAA48E,UAAAx0E,EAAApI,KAAAsmJ,IAAA,IAAAX,GAAAv9I,GAAkE,SAAAq+I,KAAczmJ,KAAA0mJ,WAAA,KAAA1mJ,KAAA48E,UAAA,EAAA58E,KAAA6jJ,OAAA,KAAuD,SAAA8C,KAAc3mJ,KAAA0mJ,WAAA,KAAA1mJ,KAAA4mJ,gBAAA,KAAA5mJ,KAAA48E,UAAA,EAAA58E,KAAA6jJ,OAAA,KAAA7jJ,KAAA6mJ,oBAAA,IAAAvtF,GAAiH,SAAAwtF,KAAc9mJ,KAAA0mJ,WAAA,KAAA1mJ,KAAA48E,UAAA,EAAA58E,KAAA6jJ,OAAA,KAAA7jJ,KAAA+mJ,QAAA,KAAA/mJ,KAAAgnJ,WAAA,KAA8F,SAAAC,MAAe,SAAAplJ,MAAAZ,WAAAmX,OAAAC,eAAAxW,MAAAZ,UAAA,QAAwE6X,cAAA,EAAA7S,MAAA,SAAA9E,GAAkC,YAAAnB,MAAA,OAAAA,KAAA,UAAAsZ,UAAAtZ,KAAA,qBAA4E,IAAAoI,EAAAgQ,OAAApY,MAAAkC,EAAA6B,KAAA0K,IAAA1K,KAAAyiC,IAAAp+B,EAAAjG,OAAA,wBAAAxB,EAAA,KAAAivC,WAAA+R,SAAA75B,OAAA8nB,UAAA,WAAgIjvC,IAAA,EAAAoD,KAAA0K,IAAAvM,EAAAvB,EAAA,GAAAoD,KAAAyiC,IAAA7lC,EAAAuB,GAAoC,IAAAqT,EAAA,KAAAq6B,gBAAA,IAAAA,UAAA,GAAA+R,SAAA75B,OAAA8nB,UAAA,WAAA1tC,EAAmF,IAAAqT,IAAA,EAAAxR,KAAA0K,IAAAvM,EAAA0tC,UAAA,MAAA7rC,KAAAyiC,IAAAjxB,EAAArT,GAAmDvB,EAAA4U,GAAInN,EAAAzH,GAAAQ,IAAAR,EAAY,OAAAyH,GAAS2Q,UAAA,IAAa+O,OAAAksB,SAAAlsB,OAAAksB,UAAA,SAAA7yC,GAA+C,uBAAAA,GAAA6yC,SAAA7yC,IAAsC2mB,OAAAiyG,UAAAjyG,OAAAiyG,WAAA,SAAA54H,GAAgD,uBAAAA,GAAA6yC,SAAA7yC,IAAA4C,KAAAuS,MAAAnV,QAAyD2mB,OAAA+V,WAAA/V,OAAA+V,uBAAA/V,OAAAzY,MAAAyY,OAAAzY,OAAA,SAAAlO,GAAwF,OAAAA,OAAa4C,KAAAmjJ,MAAAnjJ,KAAAmjJ,OAAA,SAAA/lJ,GAAoC,OAAAA,EAAA,EAAA4C,KAAAo6B,KAAAh9B,GAAA4C,KAAAuS,MAAAnV,IAAsCiH,EAAAlG,EAAAjB,UAAA,CAAgB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAjlJ,KAAUA,EAAAklJ,oBAAA,SAAAjmJ,EAAAiH,EAAAlG,GAAwC,OAAA6B,KAAA6hB,IAAAzkB,EAAAiH,IAAAlG,GAAwBqT,EAAAlG,MAAA,SAAAlO,GAAqB,OAAA2mB,OAAAzY,MAAAlO,IAAuBoU,EAAA8xI,iBAAA,SAAAlmJ,GAAgC,OAAAA,GAASoU,EAAA+xI,iBAAA,SAAAnmJ,GAAgC,OAAAA,GAASoU,EAAAgyI,WAAA,SAAApmJ,GAA0B,OAAA2mB,OAAAksB,SAAA7yC,IAA0BoU,EAAA45H,UAAArnH,OAAAqnH,UAAAp9H,EAAA9Q,UAAAmX,OAAAwL,OAAAxhB,MAAAnB,WAAA8Q,EAAA9Q,UAAA4iB,YAAAzhB,MAAAs7B,EAAA/7B,EAAAoQ,GAAA3J,EAAAzG,EAAAV,UAAA,CAA6H40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAxlJ,KAAUyG,EAAAoM,EAAAvT,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA3yI,KAAUA,EAAAgzI,qBAAA,WAAoC,OAAA53G,UAAAztC,OAAAqS,EAAAgzI,qBAAA,WAAqD,OAAA53G,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB,UAAAjuC,EAAA,kCAAAR,EAAA,KAAAA,EAAA,OAA6DqT,EAAAiuH,OAAA,WAAqB,OAAA7yF,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmBp7B,EAAAiuH,OAAAthI,EAAA,WAAiB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,IAAAxnC,EAAA,aAAAlG,EAAA,IAAAP,EAAA,IAAAA,EAAAO,KAAqCsS,EAAAqqE,OAAA,WAAqB,OAAAjvC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCp7B,EAAAqqE,OAAA19E,EAAAiH,EAAA,WAAmB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD,IAAAjvC,EAAAk+E,OAAA38E,GAAA,UAAAP,EAAA,YAAAO,EAAA,oBAAAvB,GAAA,OAAA4U,EAAA,KAAAA,EAAA,OAAuFnN,EAAA0J,EAAA7Q,UAAA,CAAgBwmJ,YAAA,SAAAtmJ,EAAAiH,GAA0B,OAAAjH,GAAU,KAAA2Q,EAAA+Z,EAAA7rB,KAAAmP,EAAA/G,EAAkB,MAAM,KAAA0J,EAAAukH,EAAAr2H,KAAAoP,EAAAhH,EAAkB,MAAM,KAAA0J,EAAA4kH,EAAA12H,KAAA0hC,EAAAt5B,EAAkB,MAAM,kBAAAzH,EAAA,2BAAAQ,KAAmDgiI,SAAA,WAAqB,OAAAvzF,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAmP,IAAAhO,EAAAgO,GAAAnP,KAAAoP,IAAAjO,EAAAiO,EAAkC,OAAAwgC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,QAAA1tC,EAAAklJ,oBAAApnJ,KAAAmP,EAAA/G,EAAA+G,EAAAxO,MAAAuB,EAAAklJ,oBAAApnJ,KAAAoP,EAAAhH,EAAAgH,EAAAzO,KAAoF+mJ,YAAA,SAAAvmJ,GAAyB,OAAAA,GAAU,KAAA2Q,EAAA+Z,EAAA,OAAA7rB,KAAAmP,EAAuB,KAAA2C,EAAAukH,EAAA,OAAAr2H,KAAAoP,EAAuB,KAAA0C,EAAA4kH,EAAA,OAAA12H,KAAA0hC,EAAuB,UAAA/gC,EAAA,2BAAAQ,IAA0CwmJ,SAAA,SAAAxmJ,GAAsB,OAAAnB,KAAAmP,IAAAhO,EAAAgO,GAAAnP,KAAAoP,IAAAjO,EAAAiO,IAAApP,KAAA0hC,IAAAvgC,EAAAugC,GAAAnsB,EAAAlG,MAAArP,KAAA0hC,IAAAnsB,EAAAlG,MAAAlO,EAAAugC,KAAiFm9C,OAAA,SAAA19E,GAAoB,OAAAA,aAAA2Q,GAAA9R,KAAAmjI,SAAAhiI,IAAwCymJ,SAAA,SAAAzmJ,EAAAiH,GAAwB,OAAAlG,EAAAklJ,oBAAApnJ,KAAA0hC,EAAAvgC,EAAAugC,EAAAt5B,IAA2C+lI,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAmP,EAAA/G,EAAA+G,GAAA,EAAAnP,KAAAmP,EAAA/G,EAAA+G,EAAA,EAAAnP,KAAAoP,EAAAhH,EAAAgH,GAAA,EAAApP,KAAAoP,EAAAhH,EAAAgH,EAAA,KAA+Do6B,MAAA,WAAkB,IAAI,IAAAroC,EAAA,KAAW,OAAAA,EAAS,MAAAA,GAAS,GAAAA,aAAA0mJ,2BAAA,OAAArzI,EAAAgzI,qBAAA,8DAAuI,MAAArmJ,IAAkB8mH,KAAA,WAAiB,WAAAn2G,EAAA9R,OAAmBotB,SAAA,WAAqB,UAAAptB,KAAAmP,EAAA,KAAAnP,KAAAoP,EAAA,KAAApP,KAAA0hC,EAAA,KAA6ComH,WAAA,SAAA3mJ,GAAwB,IAAAiH,EAAApI,KAAAmP,EAAAhO,EAAAgO,EAAAjN,EAAAlC,KAAAoP,EAAAjO,EAAAiO,EAAAzO,EAAAX,KAAA0hC,EAAAvgC,EAAAugC,EAA2C,OAAA39B,KAAAgR,KAAA3M,IAAAlG,IAAAvB,MAA8B+S,SAAA,SAAAvS,GAAsB,IAAAiH,EAAApI,KAAAmP,EAAAhO,EAAAgO,EAAAjN,EAAAlC,KAAAoP,EAAAjO,EAAAiO,EAA8B,OAAArL,KAAAgR,KAAA3M,IAAAlG,MAA0B6lJ,SAAA,WAAqB,IAAA5mJ,EAAA,GAAS,OAAAA,EAAA,GAAAA,EAAA2Q,EAAAi2I,SAAA/nJ,KAAAmP,GAAA,GAAAhO,EAAA2Q,EAAAi2I,SAAA/nJ,KAAAoP,IAA2D44I,cAAA,SAAA7mJ,GAA2BnB,KAAAmP,EAAAhO,EAAAgO,EAAAnP,KAAAoP,EAAAjO,EAAAiO,EAAApP,KAAA0hC,EAAAvgC,EAAAugC,GAAiCm0F,YAAA,WAAwB,OAAAr4F,EAAA17B,EAAAV,IAAc+lJ,SAAA,WAAqB,OAAAr1I,KAAUA,EAAAi2I,SAAA,WAAwB,OAAAn4G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAmN,EAAA8xI,iBAAAlmJ,GAA2C,OAAA4C,KAAAmjJ,MAAA9+I,MAAA,MAA6BA,EAAA3H,EAAAQ,UAAA,CAAgBkd,QAAA,SAAAhd,EAAAiH,GAAsB,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAAmN,EAAA9U,EAAA0d,QAAAjc,EAAAiN,EAAAxO,EAAAwO,GAAiC,OAAAoG,EAAA,OAAAA,EAAkB,IAAAioB,EAAA/8B,EAAA0d,QAAAjc,EAAAkN,EAAAzO,EAAAyO,GAAyB,OAAAouB,EAAA,OAAAA,EAAkB,GAAAx9B,KAAAo1H,kBAAA,WAAqC,IAAAtzH,EAAArB,EAAA0d,QAAAjc,EAAAw/B,EAAA/gC,EAAA+gC,GAAyB,OAAA5/B,GAAS+zH,YAAA,WAAwB,OAAAv1H,IAAU6mJ,SAAA,WAAqB,OAAA1mJ,KAAUA,EAAA0d,QAAA,SAAAhd,EAAAiH,GAA0B,OAAAjH,EAAAiH,GAAA,EAAAjH,EAAAiH,EAAA,EAAAmN,EAAAlG,MAAAlO,GAAAoU,EAAAlG,MAAAjH,GAAA,KAAAmN,EAAAlG,MAAAjH,GAAA,KAA8D0J,EAAAm2I,sBAAAxnJ,EAAAqR,EAAAo2I,iBAAA,mBAAAp2I,EAAAqjH,cAAA5/G,EAAA8vB,IAAAvzB,EAAA+Z,EAAA,EAAA/Z,EAAAukH,EAAA,EAAAvkH,EAAA4kH,EAAA,EAAAx6F,EAAAj7B,UAAAknJ,QAAA,aAAyIjsH,EAAAj7B,UAAA4a,KAAA,aAA8BqgB,EAAAj7B,UAAAw3G,OAAA,aAAgC31G,EAAA7B,UAAAujD,IAAA,aAA6B1hD,EAAA7B,UAAAq0H,OAAA,aAAgCxyH,EAAA7B,UAAAk5G,QAAA,aAAiCr3G,EAAA7B,UAAAytF,SAAA,aAAkC5rF,EAAA7B,UAAAkU,KAAA,aAA8BrS,EAAA7B,UAAAmiF,QAAA,aAAiCtgF,EAAA7B,UAAAw3G,OAAA,aAAgCh7E,EAAAx8B,UAAA,IAAAmB,MAAAq7B,EAAAx8B,UAAAkF,KAAA,4BAAAiJ,EAAAnO,UAAAmX,OAAAwL,OAAA9gB,EAAA7B,WAAAmO,EAAAnO,UAAA4iB,YAAAzU,IAAAnO,UAAAqX,IAAA,aAAiKlJ,EAAAnO,UAAAsX,IAAA,aAA6BnJ,EAAAnO,UAAAk5G,QAAA,aAAiChrG,EAAAlO,UAAA,IAAAmB,MAAA+M,EAAAlO,UAAAkF,KAAA,yBAAA6kB,EAAA/pB,UAAA,IAAAmB,MAAA4oB,EAAA/pB,UAAAkF,KAAA,wBAAA+jB,EAAAjpB,UAAAmX,OAAAwL,OAAAxU,EAAAnO,WAAAipB,EAAAjpB,UAAA4iB,YAAAqG,IAAAjpB,UAAAs0H,eAAA,aAAwOrrG,EAAAjpB,UAAA40H,YAAA,WAAoC,OAAAzmH,EAAAtM,IAAYonB,EAAAjpB,UAAAujD,IAAA,SAAArjD,GAA6B,WAAAyuC,UAAAztC,OAAAnC,KAAAq1H,OAAAz0H,KAAAO,GAAAnB,KAAAq1H,OAAA1sF,OAAAiH,UAAA,GAAAA,UAAA,QAAiG1lB,EAAAjpB,UAAAguD,MAAA,WAA8BjvD,KAAAq1H,OAAA,IAAenrG,EAAAjpB,UAAAq0H,OAAA,SAAAn0H,GAAgC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAYnoJ,KAAAwkD,IAAAp8C,EAAAyT,QAAoB,UAASqO,EAAAjpB,UAAAsX,IAAA,SAAApX,EAAAiH,GAA+B,IAAAlG,EAAAlC,KAAAq1H,OAAAl0H,GAAqB,OAAAnB,KAAAq1H,OAAAl0H,GAAAiH,EAAAlG,GAA0BgoB,EAAAjpB,UAAAytF,SAAA,WAAiC,WAAA05D,GAAApoJ,OAAoBkqB,EAAAjpB,UAAAqX,IAAA,SAAAnX,GAA6B,GAAAA,EAAA,GAAAA,GAAAnB,KAAAmV,OAAA,UAAAsoB,EAAmC,OAAAz9B,KAAAq1H,OAAAl0H,IAAsB+oB,EAAAjpB,UAAAk5G,QAAA,WAAgC,WAAAn6G,KAAAq1H,OAAAlzH,QAA8B+nB,EAAAjpB,UAAAkU,KAAA,WAA6B,OAAAnV,KAAAq1H,OAAAlzH,QAA0B+nB,EAAAjpB,UAAAmiF,QAAA,WAAgC,QAAAjiF,EAAA,GAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAsCiG,EAAAlG,EAAIkG,IAAAjH,EAAAP,KAAAZ,KAAAq1H,OAAAjtH,IAA2B,OAAAjH,GAAS+oB,EAAAjpB,UAAAw3G,OAAA,SAAAt3G,GAAgC,QAAAiH,GAAA,EAAAlG,EAAA,EAAAvB,EAAAX,KAAAq1H,OAAAlzH,OAAsCD,EAAAvB,EAAIuB,IAAA,GAAAlC,KAAAq1H,OAAAnzH,KAAAf,EAAA,CAA2BnB,KAAAq1H,OAAA1sF,OAAAzmC,EAAA,GAAAkG,GAAA,EAA6B,MAAM,OAAAA,GAAU,IAAAggJ,GAAA,SAAAjnJ,GAAmBnB,KAAAqoJ,WAAAlnJ,EAAAnB,KAAAsoJ,UAAA,GAAoCF,GAAAnnJ,UAAA4a,KAAA,WAA6B,GAAA7b,KAAAsoJ,YAAAtoJ,KAAAqoJ,WAAAlzI,OAAA,UAAAhG,EAAuD,OAAAnP,KAAAqoJ,WAAA/vI,IAAAtY,KAAAsoJ,cAA6CF,GAAAnnJ,UAAAknJ,QAAA,WAAiC,OAAAnoJ,KAAAsoJ,UAAAtoJ,KAAAqoJ,WAAAlzI,QAA6CizI,GAAAnnJ,UAAAsX,IAAA,SAAApX,GAA8B,OAAAnB,KAAAqoJ,WAAA9vI,IAAAvY,KAAAsoJ,UAAA,EAAAnnJ,IAA+CinJ,GAAAnnJ,UAAAw3G,OAAA,WAAgCz4G,KAAAqoJ,WAAA5vC,OAAAz4G,KAAAqoJ,WAAA/vI,IAAAtY,KAAAsoJ,aAA4D5qH,EAAA3S,EAAAb,GAAA9hB,EAAA2iB,EAAA9pB,UAAA,CAAuBmiI,cAAA,SAAAjiI,GAA0B,OAAAnB,KAAAsY,IAAAnX,IAAmBm0H,OAAA,WAAmB,OAAA1lF,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,GAAA,EAAAvB,EAAAQ,EAAAutF,WAA0D/tF,EAAAwnJ,WAAYnoJ,KAAAwkD,IAAA7jD,EAAAkb,OAAAzT,GAAAlG,GAAA,EAA2B,OAAAA,EAAS,OAAAgoB,EAAAjpB,UAAAq0H,OAAA/yH,MAAAvC,KAAA4vC,YAAgDpG,MAAA,WAAoB,QAAAroC,EAAA+oB,EAAAjpB,UAAAuoC,MAAAx4B,KAAAhR,MAAAoI,EAAA,EAA2CA,EAAApI,KAAAmV,OAAc/M,IAAAjH,EAAAqjD,IAAAp8C,EAAApI,KAAAsY,IAAAlQ,GAAA6/G,QAAgC,OAAA9mH,GAASonJ,kBAAA,WAA8B,OAAAvoJ,KAAAojF,QAAAr4D,EAAAy9H,iBAAsChkG,IAAA,WAAgB,OAAA5U,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB1lB,EAAAjpB,UAAAujD,IAAAxzC,KAAAhR,KAAAmB,QAA6B,OAAAyuC,UAAAztC,OAAA,CAA8B,GAAAytC,UAAA,aAAA/tC,OAAA,kBAAA+tC,UAAA,IAAiE,IAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAA5vC,KAAAwkD,IAAAp8C,EAAAlG,GAAA,MAA2B,GAAA0tC,UAAA,aAAA99B,GAAA,kBAAA89B,UAAA,IAA6D,IAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC,IAAAr6B,GAAAvV,KAAAmV,QAAA,GAAuB,IAAAqoB,EAAAx9B,KAAAsY,IAAAtY,KAAAmV,OAAA,GAA8B,GAAAqoB,EAAA2lG,SAAAxiI,GAAA,YAA6BupB,EAAAjpB,UAAAujD,IAAAxzC,KAAAhR,KAAAW,QAA6B,GAAAivC,UAAA,aAAAx3B,QAAA,kBAAAw3B,UAAA,IAAuE,IAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAkC,OAAA5vC,KAAAwkD,IAAA1iD,EAAAxB,IAAA,QAAyB,OAAAsvC,UAAAztC,OAAA,CAA8B,qBAAAytC,UAAA,IAAAA,UAAA,aAAA/tC,OAAA,kBAAA+tC,UAAA,IAAiG,IAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,EAAAkS,UAAA,GAAiD,GAAAlS,EAAA,QAAA/7B,EAAA,EAAiBA,EAAAP,EAAAe,OAAWR,IAAA3B,KAAAwkD,IAAApjD,EAAAO,GAAAoQ,QAAqB,IAAApQ,EAAAP,EAAAe,OAAA,EAA0BR,GAAA,EAAKA,IAAA3B,KAAAwkD,IAAApjD,EAAAO,GAAAoQ,GAAqB,SAAS,qBAAA69B,UAAA,IAAA9nB,OAAAiyG,UAAAnqF,UAAA,KAAAA,UAAA,aAAA99B,EAAA,CAA6F,IAAA0C,EAAAo7B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAA0T,UAAA,GAAiD,IAAA1T,EAAA,CAAO,IAAAp5B,EAAA9C,KAAAmV,OAAkB,GAAArS,EAAA,GAAQ,GAAA0R,EAAA,GAAQ,IAAAipB,EAAAz9B,KAAAsY,IAAA9D,EAAA,GAAoB,GAAAipB,EAAA0lG,SAAA1iI,GAAA,YAA6B,GAAA+T,EAAA1R,EAAA,CAAQ,IAAAsM,EAAApP,KAAAsY,IAAA9D,GAAkB,GAAApF,EAAA+zH,SAAA1iI,GAAA,cAA+BypB,EAAAjpB,UAAAujD,IAAAxzC,KAAAhR,KAAAwU,EAAA/T,SAAgC,OAAAmvC,UAAAztC,OAAA,CAA8B,IAAAgN,EAAAygC,UAAA,GAAA5kB,EAAA4kB,UAAA,GAAA7kB,EAAA6kB,UAAA,GAAAvH,EAAAuH,UAAA,GAAAgmF,EAAA,EAAoE7qG,EAAAsd,IAAAutF,GAAA,GAAY,IAAAj0H,EAAAopB,EAAYppB,IAAA0mC,EAAM1mC,GAAAi0H,EAAA51H,KAAAwkD,IAAAr1C,EAAAxN,GAAAqpB,GAAsB,WAAUy9H,UAAA,WAAsBzoJ,KAAAmV,OAAA,GAAAnV,KAAAwkD,IAAA,IAAA1yC,EAAA9R,KAAAsY,IAAA,SAA+Cu9G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAp8H,KAAUA,EAAAy9H,eAAA,IAAA3mJ,MAAA,GAAA+hC,KAAA,MAAAx7B,EAAAigC,EAAApnC,UAAA,CAA0DqrD,QAAA,WAAmB,OAAAtsD,KAAA0oJ,WAAA1oJ,KAAA2oJ,aAAwC9pE,OAAA,SAAA19E,GAAoB,KAAAA,aAAAknC,GAAA,SAA8B,IAAAjgC,EAAAjH,EAAQ,OAAAnB,KAAA4oJ,SAAAxgJ,EAAAwgJ,SAAA5oJ,KAAAy1H,OAAArtH,EAAA6qI,WAAAjzI,KAAA21H,OAAAvtH,EAAAknI,WAAAtvI,KAAAw1H,OAAAptH,EAAA4qI,WAAAhzI,KAAA01H,OAAAttH,EAAAmnI,WAAmIr1B,aAAA,SAAA/4G,GAA0B,GAAAnB,KAAA4oJ,UAAAznJ,EAAAynJ,WAAA5oJ,KAAAwwD,WAAArvD,GAAA,WAAAknC,EAA+D,IAAAjgC,EAAApI,KAAAw1H,KAAAr0H,EAAAq0H,KAAAx1H,KAAAw1H,KAAAr0H,EAAAq0H,KAAAtzH,EAAAlC,KAAA01H,KAAAv0H,EAAAu0H,KAAA11H,KAAA01H,KAAAv0H,EAAAu0H,KAAA/0H,EAAAX,KAAAy1H,KAAAt0H,EAAAs0H,KAAAz1H,KAAAy1H,KAAAt0H,EAAAs0H,KAAAlgH,EAAAvV,KAAA21H,KAAAx0H,EAAAw0H,KAAA31H,KAAA21H,KAAAx0H,EAAAw0H,KAAoJ,WAAAttF,EAAAjgC,EAAAzH,EAAAuB,EAAAqT,IAAsBqzI,OAAA,WAAmB,OAAA5oJ,KAAAy1H,KAAAz1H,KAAAw1H,MAA2Byd,QAAA,WAAoB,OAAAjzI,KAAAy1H,MAAiBozB,OAAA,WAAmB,OAAAj5G,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA6oJ,OAAA1nJ,EAAAgO,EAAAhO,EAAAiO,GAA4B,GAAAwgC,UAAA,aAAAvH,EAAA,CAA6B,IAAAjgC,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAA4oJ,WAAAxgJ,EAAAwgJ,UAAAxgJ,EAAA4qI,WAAAhzI,KAAAw1H,MAAAptH,EAAA6qI,WAAAjzI,KAAAy1H,MAAArtH,EAAAmnI,WAAAvvI,KAAA01H,MAAAttH,EAAAknI,WAAAtvI,KAAA21H,WAAqI,OAAA/lF,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,OAAA5vC,KAAA4oJ,UAAA1mJ,GAAAlC,KAAAw1H,MAAAtzH,GAAAlC,KAAAy1H,MAAA90H,GAAAX,KAAA01H,MAAA/0H,GAAAX,KAAA21H,OAAgFnlE,WAAA,WAAuB,OAAA5gB,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAvH,EAAA,CAA6B,IAAAlnC,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA4oJ,WAAAznJ,EAAAynJ,YAAAznJ,EAAAq0H,KAAAx1H,KAAAy1H,MAAAt0H,EAAAs0H,KAAAz1H,KAAAw1H,MAAAr0H,EAAAu0H,KAAA11H,KAAA21H,MAAAx0H,EAAAw0H,KAAA31H,KAAA01H,MAA6G,GAAA9lF,UAAA,aAAA99B,EAAA,CAA6B,IAAA1J,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAwwD,WAAApoD,EAAA+G,EAAA/G,EAAAgH,SAAiC,OAAAwgC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,OAAA5vC,KAAA4oJ,YAAA1mJ,EAAAlC,KAAAy1H,MAAAvzH,EAAAlC,KAAAw1H,MAAA70H,EAAAX,KAAA21H,MAAAh1H,EAAAX,KAAA01H,QAA6E6Z,QAAA,WAAoB,OAAAvvI,KAAA01H,MAAiBsd,QAAA,WAAoB,OAAAhzI,KAAAw1H,MAAiBszB,gBAAA,WAA4B,OAAAl5G,UAAAztC,QAAyB,GAAAytC,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAmB5vC,KAAA8oJ,gBAAA3nJ,EAAAgO,EAAAhO,EAAAiO,QAA8B,GAAAwgC,UAAA,aAAAvH,EAAA,CAAkC,IAAAjgC,EAAAwnC,UAAA,GAAmB,GAAAxnC,EAAAwgJ,SAAA,YAA0B5oJ,KAAA4oJ,UAAA5oJ,KAAAw1H,KAAAptH,EAAA4qI,UAAAhzI,KAAAy1H,KAAArtH,EAAA6qI,UAAAjzI,KAAA01H,KAAAttH,EAAAmnI,UAAAvvI,KAAA21H,KAAAvtH,EAAAknI,YAAAlnI,EAAAotH,KAAAx1H,KAAAw1H,OAAAx1H,KAAAw1H,KAAAptH,EAAAotH,MAAAptH,EAAAqtH,KAAAz1H,KAAAy1H,OAAAz1H,KAAAy1H,KAAArtH,EAAAqtH,MAAArtH,EAAAstH,KAAA11H,KAAA01H,OAAA11H,KAAA01H,KAAAttH,EAAAstH,MAAAttH,EAAAutH,KAAA31H,KAAA21H,OAAA31H,KAAA21H,KAAAvtH,EAAAutH,aAA+P,OAAA/lF,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAA4oJ,UAAA5oJ,KAAAw1H,KAAAtzH,EAAAlC,KAAAy1H,KAAAvzH,EAAAlC,KAAA01H,KAAA/0H,EAAAX,KAAA21H,KAAAh1H,IAAAuB,EAAAlC,KAAAw1H,OAAAx1H,KAAAw1H,KAAAtzH,KAAAlC,KAAAy1H,OAAAz1H,KAAAy1H,KAAAvzH,GAAAvB,EAAAX,KAAA01H,OAAA11H,KAAA01H,KAAA/0H,KAAAX,KAAA21H,OAAA31H,KAAA21H,KAAAh1H,MAA+K+vI,UAAA,WAAsB,GAAA1wI,KAAA4oJ,SAAA,SAA0B,IAAAznJ,EAAAnB,KAAA0oJ,WAAAtgJ,EAAApI,KAAA2oJ,YAAyC,OAAAxnJ,EAAAiH,EAAAjH,EAAAiH,GAAesgJ,SAAA,WAAqB,OAAA1oJ,KAAA4oJ,SAAA,EAAA5oJ,KAAAy1H,KAAAz1H,KAAAw1H,MAA2C2Y,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAA4oJ,SAAAxgJ,EAAAwgJ,SAAA,KAAAxgJ,EAAAwgJ,SAAA,EAAA5oJ,KAAAw1H,KAAAptH,EAAAotH,MAAA,EAAAx1H,KAAAw1H,KAAAptH,EAAAotH,KAAA,EAAAx1H,KAAA01H,KAAAttH,EAAAstH,MAAA,EAAA11H,KAAA01H,KAAAttH,EAAAstH,KAAA,EAAA11H,KAAAy1H,KAAArtH,EAAAqtH,MAAA,EAAAz1H,KAAAy1H,KAAArtH,EAAAqtH,KAAA,EAAAz1H,KAAA21H,KAAAvtH,EAAAutH,MAAA,EAAA31H,KAAA21H,KAAAvtH,EAAAutH,KAAA,KAAgN3qE,UAAA,SAAA7pD,EAAAiH,GAAyB,OAAApI,KAAA4oJ,SAAA,UAAA5oJ,KAAAuuD,KAAAvuD,KAAAgzI,UAAA7xI,EAAAnB,KAAAizI,UAAA9xI,EAAAnB,KAAAuvI,UAAAnnI,EAAApI,KAAAsvI,UAAAlnI,IAA8GglB,SAAA,WAAqB,aAAAptB,KAAAw1H,KAAA,MAAAx1H,KAAAy1H,KAAA,KAAAz1H,KAAA01H,KAAA,MAAA11H,KAAA21H,KAAA,KAA0EozB,UAAA,WAAsB/oJ,KAAAw1H,KAAA,EAAAx1H,KAAAy1H,MAAA,EAAAz1H,KAAA01H,KAAA,EAAA11H,KAAA21H,MAAA,GAAkDgzB,UAAA,WAAsB,OAAA3oJ,KAAA4oJ,SAAA,EAAA5oJ,KAAA21H,KAAA31H,KAAA01H,MAA2CszB,UAAA,WAAsB,GAAAhpJ,KAAA4oJ,SAAA,SAA0B,IAAAznJ,EAAAnB,KAAA0oJ,WAAAtgJ,EAAApI,KAAA2oJ,YAAyC,OAAAxnJ,EAAAiH,EAAAjH,EAAAiH,GAAe6gJ,SAAA,WAAqB,OAAAr5G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAipJ,SAAA9nJ,UAAmB,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,GAAA5vC,KAAA4oJ,SAAA,YAA6B5oJ,KAAAw1H,MAAAptH,EAAApI,KAAAy1H,MAAArtH,EAAApI,KAAA01H,MAAAxzH,EAAAlC,KAAA21H,MAAAzzH,GAAAlC,KAAAw1H,KAAAx1H,KAAAy1H,MAAAz1H,KAAA01H,KAAA11H,KAAA21H,OAAA31H,KAAA+oJ,cAAkHG,SAAA,WAAqB,OAAAt5G,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAvH,EAAA,CAA6B,IAAAlnC,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA6oJ,OAAA1nJ,GAAsB,GAAAyuC,UAAA,aAAA99B,EAAA,CAA6B,IAAA1J,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAA6oJ,OAAAzgJ,SAAuB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,OAAA5vC,KAAA6oJ,OAAA3mJ,EAAAvB,KAAyB2vI,OAAA,WAAmB,OAAAtwI,KAAA4oJ,SAAA,SAAA92I,GAAA9R,KAAAgzI,UAAAhzI,KAAAizI,WAAA,GAAAjzI,KAAAuvI,UAAAvvI,KAAAsvI,WAAA,IAAqG/gF,KAAA,WAAiB,OAAA3e,UAAAztC,OAAAnC,KAAA+oJ,iBAAyC,OAAAn5G,UAAAztC,QAA8B,GAAAytC,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAmB5vC,KAAAuuD,KAAAptD,EAAAgO,EAAAhO,EAAAgO,EAAAhO,EAAAiO,EAAAjO,EAAAiO,QAA2B,GAAAwgC,UAAA,aAAAvH,EAAA,CAAkC,IAAAjgC,EAAAwnC,UAAA,GAAmB5vC,KAAAw1H,KAAAptH,EAAAotH,KAAAx1H,KAAAy1H,KAAArtH,EAAAqtH,KAAAz1H,KAAA01H,KAAAttH,EAAAstH,KAAA11H,KAAA21H,KAAAvtH,EAAAutH,WAAqE,OAAA/lF,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAAuuD,KAAArsD,EAAAiN,EAAAxO,EAAAwO,EAAAjN,EAAAkN,EAAAzO,EAAAyO,QAA2B,OAAAwgC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAgEr6B,EAAAioB,GAAAx9B,KAAAw1H,KAAAjgH,EAAAvV,KAAAy1H,KAAAj4F,IAAAx9B,KAAAw1H,KAAAh4F,EAAAx9B,KAAAy1H,KAAAlgH,GAAAzT,EAAAxB,GAAAN,KAAA01H,KAAA5zH,EAAA9B,KAAA21H,KAAAr1H,IAAAN,KAAA01H,KAAAp1H,EAAAN,KAAA21H,KAAA7zH,KAAiHwtI,QAAA,WAAoB,OAAAtvI,KAAA21H,MAAiBjiH,SAAA,SAAAvS,GAAsB,GAAAnB,KAAAwwD,WAAArvD,GAAA,SAA+B,IAAAiH,EAAA,EAAQpI,KAAAy1H,KAAAt0H,EAAAq0H,KAAAptH,EAAAjH,EAAAq0H,KAAAx1H,KAAAy1H,KAAAz1H,KAAAw1H,KAAAr0H,EAAAs0H,OAAArtH,EAAApI,KAAAw1H,KAAAr0H,EAAAs0H,MAA2E,IAAAvzH,EAAA,EAAQ,OAAAlC,KAAA21H,KAAAx0H,EAAAu0H,KAAAxzH,EAAAf,EAAAu0H,KAAA11H,KAAA21H,KAAA31H,KAAA01H,KAAAv0H,EAAAw0H,OAAAzzH,EAAAlC,KAAA01H,KAAAv0H,EAAAw0H,MAAA,IAAAvtH,EAAAlG,EAAA,IAAAA,EAAAkG,EAAArE,KAAAgR,KAAA3M,IAAAlG,MAAqH6lJ,SAAA,WAAqB,IAAA5mJ,EAAA,GAAS,OAAAA,EAAA,GAAAA,EAAA2Q,EAAAi2I,SAAA/nJ,KAAAw1H,MAAAr0H,EAAA,GAAAA,EAAA2Q,EAAAi2I,SAAA/nJ,KAAAy1H,MAAAt0H,EAAA,GAAAA,EAAA2Q,EAAAi2I,SAAA/nJ,KAAA01H,MAAA,GAAAv0H,EAAA2Q,EAAAi2I,SAAA/nJ,KAAA21H,OAA2HE,YAAA,WAAwB,OAAAr4F,EAAAp8B,IAAY+lJ,SAAA,WAAqB,OAAA9+G,KAAUA,EAAAmoB,WAAA,WAA0B,OAAA5gB,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD,OAAA1tC,EAAAiN,IAAAhO,EAAAgO,EAAA/G,EAAA+G,EAAAhO,EAAAgO,EAAA/G,EAAA+G,IAAAjN,EAAAiN,IAAAhO,EAAAgO,EAAA/G,EAAA+G,EAAAhO,EAAAgO,EAAA/G,EAAA+G,IAAAjN,EAAAkN,IAAAjO,EAAAiO,EAAAhH,EAAAgH,EAAAjO,EAAAiO,EAAAhH,EAAAgH,IAAAlN,EAAAkN,IAAAjO,EAAAiO,EAAAhH,EAAAgH,EAAAjO,EAAAiO,EAAAhH,EAAAgH,GAAsG,OAAAwgC,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAyD,KAAAyiC,IAAAhJ,EAAAruB,EAAArN,EAAAqN,GAAA/N,EAAA2C,KAAA0K,IAAA+uB,EAAAruB,EAAArN,EAAAqN,GAAA4C,EAAAhO,KAAAyiC,IAAA7lC,EAAAwO,EAAAoG,EAAApG,GAAAuuB,EAAA35B,KAAA0K,IAAA9N,EAAAwO,EAAAoG,EAAApG,GAAgJ,QAAA4C,EAAA3Q,MAAAs8B,EAAAp9B,OAAAyD,KAAAyiC,IAAAhJ,EAAApuB,EAAAtN,EAAAsN,GAAAhO,EAAA2C,KAAA0K,IAAA+uB,EAAApuB,EAAAtN,EAAAsN,GAAA2C,EAAAhO,KAAAyiC,IAAA7lC,EAAAyO,EAAAmG,EAAAnG,GAAAsuB,EAAA35B,KAAA0K,IAAA9N,EAAAyO,EAAAmG,EAAAnG,KAAA2C,EAAA3Q,MAAAs8B,EAAAp9B,MAA0H+nC,EAAA6/G,iBAAA,mBAAAxqH,EAAA4wC,EAAAsnD,GAAAxtH,EAAAkmE,EAAArtE,UAAA,CAA6D40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA74E,KAAUlmE,EAAAk0C,EAAAr7C,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA7qG,KAAUA,EAAA6sG,iBAAA,SAAAhoJ,GAAiC,OAAAA,GAAU,KAAAm7C,EAAAohF,SAAA,UAA0B,KAAAphF,EAAAmhF,SAAA,UAA0B,KAAAnhF,EAAAkhF,SAAA,UAA0B,KAAAlhF,EAAAqqF,KAAA,UAAsB,UAAAhmI,EAAA,2BAAAQ,IAA0Cm7C,EAAAkhF,SAAA,EAAAlhF,EAAAmhF,SAAA,EAAAnhF,EAAAohF,SAAA,EAAAphF,EAAAqqF,MAAA,EAAAv+H,EAAA0tH,EAAA70H,UAAA,CAAiE40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAArxB,KAAUA,EAAAjlB,MAAA,SAAA1vG,GAAsB,IAAAiH,EAAArE,KAAA02B,IAAAt5B,GAAkB,OAAAoU,EAAAgyI,WAAAn/I,KAAAmN,EAAAlG,MAAAjH,OAAA0tH,EAAAszB,QAAiDtzB,EAAAtvF,IAAA,SAAArlC,EAAAiH,EAAAlG,EAAAvB,GAAyB,IAAA4U,EAAApU,EAAQ,OAAAiH,EAAAmN,MAAAnN,GAAAlG,EAAAqT,MAAArT,GAAAvB,EAAA4U,MAAA5U,GAAA4U,GAA0CugH,EAAAuzB,MAAA,WAAoB,oBAAAz5G,UAAA,qBAAAA,UAAA,qBAAAA,UAAA,IAAgG,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAChw+B,OAAAzuC,EAAAiH,IAAAjH,EAAAe,IAAAf,EAAqB,GAAA2mB,OAAAiyG,UAAAnqF,UAAA,KAAA9nB,OAAAiyG,UAAAnqF,UAAA,KAAA9nB,OAAAiyG,UAAAnqF,UAAA,KAAmG,IAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD,OAAAjvC,EAAA4U,IAAA5U,EAAA68B,IAAA78B,IAAsBm1H,EAAAnvC,KAAA,SAAAxlF,EAAAiH,GAAsB,OAAAjH,EAAA,EAAAiH,IAAAjH,EAAAiH,EAAAjH,EAAAiH,GAAuB0tH,EAAArnH,IAAA,WAAkB,OAAAmhC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAQ,EAAqD,OAAAiH,EAAAzH,MAAAyH,GAAAlG,EAAAvB,MAAAuB,GAAAvB,EAA+B,OAAAivC,UAAAztC,OAAA,CAAyB,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAjvC,EAAA4U,EAAoE,OAAAioB,EAAA78B,MAAA68B,GAAA17B,EAAAnB,MAAAmB,GAAAxB,EAAAK,MAAAL,GAAAK,IAA2Cm1H,EAAAt6F,QAAA,SAAAr6B,EAAAiH,GAAyB,OAAAjH,EAAAiH,GAAA,GAAc0tH,EAAAszB,OAAArlJ,KAAA02B,IAAA,IAAAs7F,EAAA90H,UAAAqoJ,OAAA,SAAAnoJ,GAAsDnB,KAAA29B,KAAAx8B,GAAY40H,EAAA90H,UAAAsoJ,UAAA,SAAApoJ,EAAAiH,GAAqCpI,KAAA29B,IAAA39B,KAAA29B,IAAA6rH,OAAA,EAAAroJ,GAAAiH,EAAApI,KAAA29B,IAAA6rH,OAAAroJ,EAAA,IAAqD40H,EAAA90H,UAAAmsB,SAAA,SAAAjsB,GAAkC,OAAAnB,KAAA29B,KAAgBp9B,EAAAU,UAAAwoJ,SAAA,WAAiC,OAAAzpJ,KAAAiG,OAAkB1F,EAAAU,UAAAktI,UAAA,SAAAhtI,GAAmC,OAAAnB,KAAAiG,MAAA9E,GAAA,EAAAnB,KAAAiG,MAAA9E,EAAA,KAAwCZ,EAAA8O,MAAA,SAAAlO,GAAqB,OAAA2mB,OAAAzY,MAAAlO,IAAuB60H,EAAA0zB,aAAA,SAAAvoJ,GAA4B,OAAAA,GAAA,IAAAA,GAAA,QAAAA,GAA2B60H,EAAAnpG,YAAA,SAAA1rB,GAA2B,OAAAA,EAAA0rB,eAAuBzkB,EAAA6tH,EAAAh1H,UAAA,CAAgB87H,GAAA,SAAA57H,GAAe,OAAAnB,KAAAyqC,GAAAtpC,EAAAspC,IAAAzqC,KAAAyqC,KAAAtpC,EAAAspC,IAAAzqC,KAAAwqC,IAAArpC,EAAAqpC,IAAmDm/G,yBAAA,SAAAxoJ,EAAAiH,GAAwC,IAAAlG,EAAAlC,KAAA4lB,MAAAjlB,EAAAs1H,EAAA2zB,UAAA1nJ,EAAAuoC,IAAAl1B,EAAA0gH,EAAA4zB,IAAAvgI,IAAA3oB,GAAoDuB,IAAA4nJ,OAAAv0I,GAAArT,EAAA21H,GAAA5B,EAAA4zB,MAAA3nJ,IAAA4nJ,OAAA7zB,EAAA4zB,KAAAlpJ,GAAA,GAAAuB,EAAAm3D,GAAA48D,EAAA8zB,OAAA7nJ,IAAA8nJ,SAAA/zB,EAAA4zB,KAAAlpJ,GAAA,GAA2F,QAAA68B,EAAA78B,EAAA,EAAAmB,EAAA,IAAAi0H,EAAAz1H,EAAA21H,EAAAg0B,iBAAA,EAAA7oJ,EAAA,EAAiDA,GAAAd,EAAKc,IAAA,CAAKD,GAAAC,IAAAo8B,GAAA17B,EAAAwnJ,OAAA,KAAwB,IAAAv3I,EAAAhO,KAAAmjJ,MAAAhlJ,EAAAuoC,IAAuB,GAAA14B,EAAA,QAAa,IAAA2rB,GAAA,EAAA/7B,EAAA,EAAaoQ,EAAA,GAAA2rB,GAAA,EAAA/7B,EAAA,KAAAA,EAAA,IAAAoQ,EAAAjQ,EAAAwnJ,OAAA3nJ,GAAAO,IAAAgoJ,SAAAj0B,EAAAxxD,QAAA1yD,IAAAi4I,SAAA/zB,EAAA4zB,KAAAnsH,GAAAx7B,EAAAioJ,QAAAl0B,EAAA4zB,KAAoG,IAAAr1I,GAAA,EAAA1C,EAAAmkH,EAAA2zB,UAAA1nJ,EAAAuoC,IAA6B,GAAA34B,EAAA,GAAA/N,KAAA6hB,IAAA9T,IAAAxR,EAAAc,IAAAoT,GAAA,IAAAA,EAAA,MAA0C,OAAApM,EAAA,GAAAzH,EAAAmB,EAAAsrB,YAA2Bg9H,IAAA,WAAgB,OAAApqJ,KAAAgqJ,SAAAhqJ,OAA2BqqJ,YAAA,WAAwB,OAAArqJ,KAAAyqC,GAAAzqC,KAAAwqC,IAAuB0/G,SAAA,WAAqB,GAAAt6G,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAwkD,IAAArjD,EAAAmpJ,UAA4B,oBAAA16G,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAwkD,KAAAp8C,KAAqBy2E,OAAA,WAAmB,OAAAjvC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAyqC,KAAAtpC,EAAAspC,IAAAzqC,KAAAwqC,KAAArpC,EAAAqpC,KAAuC+/G,OAAA,WAAmB,WAAAvqJ,KAAAyqC,IAAA,IAAAzqC,KAAAwqC,IAAgCggH,aAAA,WAAyB,GAAA56G,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAqP,QAAArP,UAAAmqJ,SAAAhpJ,EAAAspC,IAAAtpC,EAAAqpC,IAAmD,oBAAAoF,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAqP,QAAArP,UAAAmqJ,SAAA/hJ,EAAA,KAA6CqiJ,uBAAA,WAAmC,OAAAzqJ,KAAAuqJ,SAAA,MAAAvqJ,KAAAqP,QAAA,aAAoDm3B,IAAA,SAAArlC,GAAiB,OAAAnB,KAAA+8H,GAAA57H,GAAAnB,KAAAmB,GAAyBupJ,WAAA,WAAuB,OAAA96G,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA0qJ,WAAAvpJ,EAAAspC,GAAAtpC,EAAAqpC,IAAkC,oBAAAoF,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAA0qJ,WAAAtiJ,EAAA,SAA6B,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAAxB,EAAA,KAAAc,EAAA,KAAA2Q,EAAA,KAAA2rB,EAAA,KAAA/7B,EAAA,KAA0F,OAAAP,EAAApB,KAAAyqC,GAAAvoC,EAAA6P,EAAAkkH,EAAA00B,MAAAvpJ,EAAAmU,EAAAxD,EAAA3Q,EAAAO,EAAAs0H,EAAA00B,MAAAzoJ,EAAAqT,EAAAxD,EAAAwD,EAAAioB,EAAAp8B,EAAAmU,EAAAzT,EAAAH,EAAAO,EAAAw7B,EAAAt8B,EAAAc,EAAAJ,EAAAH,EAAAG,EAAAxB,EAAA4B,EAAAJ,EAAAH,EAAA4T,EAAAzT,EAAA47B,EAAAnoB,EAAAjV,EAAAk9B,EAAA17B,EAAA07B,EAAAl9B,EAAAyR,GAAA/R,KAAAyqC,GAAA/M,EAAA/7B,EAAA3B,KAAAwqC,GAAAppC,EAAAT,GAAAuB,EAAAP,EAAAP,EAAA2Q,EAAA/R,KAAAyqC,GAAA9oC,EAAA3B,KAAAwqC,GAAAppC,EAAAO,EAAAoQ,EAAA/R,OAA2K4qJ,KAAA,WAAiB,YAAA5qJ,KAAAyqC,GAAA,KAAAzqC,KAAAwqC,GAAA,KAAqCs/G,OAAA,WAAmB,GAAAl6G,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAAxnC,EAAA,KAAAlG,EAAA,KAAAvB,EAAA,KAAA68B,EAAA,KAAA17B,EAAA,KAAAxB,EAAA,KAAAc,EAAA,KAAA2Q,EAAA,KAA2EjQ,EAAA9B,KAAAyqC,GAAAtpC,EAAAspC,GAAAnqC,EAAA21H,EAAA00B,MAAA7oJ,EAAAsG,EAAA9H,EAAAwB,EAAAiQ,EAAAkkH,EAAA00B,MAAAxpJ,EAAAspC,GAAAriC,EAAA9H,EAAA8H,EAAAlG,EAAAJ,EAAAsG,EAAAzH,EAAAoR,EAAA5Q,EAAAspC,GAAArpC,EAAAU,EAAAX,EAAAspC,GAAA9pC,EAAAoR,EAAApR,EAAA68B,EAAAr8B,EAAAspC,GAAA9pC,EAAAoR,EAAA3J,EAAAzH,EAAAS,EAAAgH,EAAAo1B,EAAAt7B,EAAAvB,EAAAuB,EAAAs7B,EAAAl9B,GAAAN,KAAAyqC,GAAArpC,EAAA2Q,EAAA/R,KAAAwqC,GAAA1oC,EAAAX,EAAAqpC,IAAArpC,EAAAspC,GAAA14B,EAAAjQ,EAAAxB,EAA2J,IAAAo9B,EAAA3rB,EAAApQ,EAAAG,EAAAiQ,EAAAzR,EAAgB,WAAA21H,EAAAv4F,EAAA/7B,GAAkB,oBAAAiuC,UAAA,IAAkC,IAAAp7B,EAAAo7B,UAAA,GAAmB,OAAAr6B,EAAAlG,MAAAmF,GAAAyhH,EAAA40B,YAAA50B,EAAAhO,KAAAjoH,MAAA0qJ,WAAAl2I,EAAA,KAA8DmpH,GAAA,SAAAx8H,GAAgB,OAAAnB,KAAAyqC,GAAAtpC,EAAAspC,IAAAzqC,KAAAyqC,KAAAtpC,EAAAspC,IAAAzqC,KAAAwqC,IAAArpC,EAAAqpC,IAAmDlhB,IAAA,SAAAnoB,GAAiB,OAAAA,EAAA,OAAA80H,EAAAxxD,QAAA,GAA6B,IAAAr8D,EAAA,IAAA6tH,EAAAj2H,MAAAkC,EAAA+zH,EAAAxxD,QAAA,GAAA9jE,EAAAoD,KAAA6hB,IAAAzkB,GAA+C,GAAAR,EAAA,OAAYA,EAAA,GAAIA,EAAA,OAAAuB,EAAA4oJ,aAAA1iJ,GAAAzH,GAAA,EAAAA,EAAA,IAAAyH,IAAAgiJ,YAAkDloJ,EAAAkG,EAAS,OAAAjH,EAAA,EAAAe,EAAA6oJ,aAAA7oJ,GAA4Bi8B,KAAA,WAAiB,GAAAn+B,KAAAqP,QAAA,OAAA4mH,EAAA5wF,IAA6B,IAAAlkC,EAAA4C,KAAAo6B,KAAAn+B,KAAAyqC,IAAAriC,EAAA,EAA6B,OAAAjH,IAAAnB,KAAAyqC,KAAAriC,EAAArE,KAAAo6B,KAAAn+B,KAAAwqC,KAAA,IAAAyrF,EAAA90H,EAAAiH,IAAsD+lI,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAyqC,GAAAriC,EAAAqiC,IAAA,EAAAzqC,KAAAyqC,GAAAriC,EAAAqiC,GAAA,EAAAzqC,KAAAwqC,GAAApiC,EAAAoiC,IAAA,EAAAxqC,KAAAwqC,GAAApiC,EAAAoiC,GAAA,KAAuEwgH,KAAA,WAAiB,GAAAhrJ,KAAAqP,QAAA,OAAArP,KAA4B,IAAAmB,EAAAnB,KAAAwkD,IAAA,IAAmB,OAAArjD,EAAAmV,SAAiB20I,SAAA,WAAqB,GAAAr7G,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAuuD,KAAAptD,GAAAnB,KAAyB,oBAAA4vC,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAuuD,KAAAnmD,GAAApI,OAA0ByO,IAAA,SAAAtN,GAAiB,OAAAnB,KAAA29H,GAAAx8H,GAAAnB,KAAAmB,GAAyB4T,KAAA,WAAiB,GAAA/U,KAAAuqJ,SAAA,OAAAt0B,EAAAxxD,QAAA,GAAqC,GAAAzkE,KAAAkrJ,aAAA,OAAAj1B,EAAA5wF,IAAkC,IAAAlkC,EAAA,EAAA4C,KAAAgR,KAAA/U,KAAAyqC,IAAAriC,EAAApI,KAAAyqC,GAAAtpC,EAAAe,EAAA+zH,EAAAxxD,QAAAr8D,GAAAzH,EAAAX,KAAAkqJ,SAAAhoJ,EAAAkoJ,OAAA70I,EAAA5U,EAAA8pC,IAAA,GAAAtpC,GAA6F,OAAAe,EAAAsiD,IAAAjvC,IAAgB40I,QAAA,WAAoB,OAAAv6G,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAmqJ,QAAAhpJ,EAAAspC,GAAAtpC,EAAAqpC,IAA+B,oBAAAoF,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA,KAAAvB,EAAA,KAAA4U,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAAxB,EAAA,KAA6D,OAAAiV,EAAAvV,KAAAyqC,GAAAriC,EAAAtG,EAAAyT,EAAAvV,KAAAyqC,GAAAjN,EAAAjoB,EAAAzT,EAAA07B,EAAAp1B,EAAAtG,GAAA9B,KAAAyqC,GAAAjN,GAAAl9B,EAAAk9B,EAAAx9B,KAAAwqC,GAAAtoC,EAAAqT,EAAAjV,EAAAK,EAAAL,GAAAiV,EAAArT,GAAAlC,KAAAyqC,GAAAvoC,EAAAvB,EAAAX,KAAAwqC,GAAA7pC,GAAAuB,EAAAlC,KAAAyqC,IAAAzqC,WAA2H,OAAA4vC,UAAAztC,OAAA,CAA8B,IAAAf,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,GAAAx7B,EAAA,KAAAvB,EAAA,WAAAgB,EAAA,KAAA4T,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAAxB,EAAA,KAA0FiV,EAAAvV,KAAAyqC,GAAArpC,EAAAs8B,EAAA19B,KAAAwqC,GAAAz4B,EAAAjQ,EAAAyT,EAAAvV,KAAAyqC,GAAAnqC,EAAAo9B,EAAA19B,KAAAwqC,GAAAhN,EAAAjoB,EAAAzT,EAAAH,EAAA+7B,EAAAp9B,EAAAk9B,EAAAp8B,EAAAU,GAAA9B,KAAAyqC,GAAAjN,GAAA77B,EAAAoQ,EAAAzR,GAAAN,KAAAwqC,GAAA7oC,GAAAG,EAAA07B,EAAAE,EAAAx7B,EAAAqT,EAAAzT,EAAAnB,EAAAmB,GAAAyT,EAAArT,GAAAJ,EAAAH,EAAAhB,EAA4H,IAAA6T,EAAAtS,EAAAJ,EAAAgQ,EAAAhQ,GAAAI,EAAAsS,GAAoB,OAAAxU,KAAAyqC,GAAAj2B,EAAAxU,KAAAwqC,GAAA14B,EAAA9R,OAAiC8qJ,aAAA,WAAyB,OAAAl7G,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA8qJ,aAAA3pJ,EAAAspC,GAAAtpC,EAAAqpC,IAAoC,oBAAAoF,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAA8qJ,aAAA1iJ,EAAA,SAA+B,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAAxB,EAAA,KAAAc,EAAA,KAAA2Q,EAAA,KAA4E3Q,EAAA60H,EAAA00B,MAAA3qJ,KAAAyqC,GAAAl1B,EAAAnU,EAAApB,KAAAyqC,GAAA14B,EAAAkkH,EAAA00B,MAAAzoJ,EAAAqT,EAAAnU,EAAAmU,EAAAioB,EAAAx9B,KAAAyqC,GAAAl1B,EAAAzT,EAAAiQ,EAAA7P,EAAAd,EAAApB,KAAAyqC,GAAAvoC,EAAAJ,EAAAiQ,EAAAjQ,EAAAxB,EAAA4B,EAAAJ,EAAAiQ,EAAAwD,EAAAzT,EAAAV,EAAAmU,EAAAjV,EAAAk9B,EAAA17B,EAAA07B,EAAAl9B,GAAAN,KAAAyqC,GAAA9pC,EAAAX,KAAAwqC,GAAAtoC,GAAoI,IAAAw7B,EAAAt8B,EAAA2Q,EAAUwD,EAAAnU,EAAAs8B,EAAM,IAAA/7B,EAAAoQ,EAAAwD,EAAU,OAAAvV,KAAAyqC,GAAA/M,EAAA19B,KAAAwqC,GAAA7oC,EAAA3B,OAAiCmrJ,QAAA,WAAoB,OAAAnrJ,KAAA8qJ,aAAA9qJ,OAA+BsW,MAAA,WAAkB,GAAAtW,KAAAqP,QAAA,OAAA4mH,EAAA5wF,IAA6B,IAAAlkC,EAAA4C,KAAAuS,MAAAtW,KAAAyqC,IAAAriC,EAAA,EAA8B,OAAAjH,IAAAnB,KAAAyqC,KAAAriC,EAAArE,KAAAuS,MAAAtW,KAAAwqC,KAAA,IAAAyrF,EAAA90H,EAAAiH,IAAuDkiJ,OAAA,WAAmB,OAAAtqJ,KAAAqP,QAAArP,KAAA,IAAAi2H,GAAAj2H,KAAAyqC,IAAAzqC,KAAAwqC,KAAsDhB,MAAA,WAAkB,IAAI,YAAY,MAAAroC,GAAS,GAAAA,aAAA0mJ,2BAAA,YAAuD,MAAA1mJ,IAAkB6oJ,SAAA,WAAqB,GAAAp6G,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAAzuC,EAAAkO,QAAA4mH,EAAA40B,YAAA50B,EAAAhO,KAAAjoH,MAAA8qJ,aAAA3pJ,GAA4D,oBAAAyuC,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAAr6B,EAAAlG,MAAAjH,GAAA6tH,EAAA40B,YAAA50B,EAAAhO,KAAAjoH,MAAA8qJ,aAAA1iJ,EAAA,KAAgEiH,MAAA,WAAkB,OAAAkG,EAAAlG,MAAArP,KAAAyqC,KAAwBg/G,SAAA,WAAqB,OAAA1lJ,KAAAmjJ,MAAAlnJ,KAAAyqC,KAA2Brd,SAAA,WAAqB,IAAAjsB,EAAA80H,EAAA2zB,UAAA5pJ,KAAAyqC,IAA2B,OAAAtpC,IAAA,GAAAA,GAAA,GAAAnB,KAAAorJ,qBAAAprJ,KAAAqrJ,iBAAmED,mBAAA,WAA+B,IAAAjqJ,EAAAnB,KAAAyqJ,yBAAoC,UAAAtpJ,EAAA,OAAAA,EAAqB,IAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAAA1hC,EAAAlC,KAAA2pJ,0BAAA,EAAAvhJ,GAAAzH,EAAAyH,EAAA,KAAAmN,EAAArT,EAAiF,SAAAA,EAAAs2B,OAAA,GAAAjjB,EAAA,IAAArT,OAA6B,GAAAvB,EAAA,EAAA4U,EAAA,KAAA0gH,EAAAq1B,aAAA,KAAA3qJ,GAAAuB,OAA4C,QAAAA,EAAAc,QAAA,MAA6B,IAAAw6B,EAAA78B,EAAAuB,EAAAC,OAAAL,EAAAm0H,EAAAq1B,aAAA,IAAA9tH,GAAyCjoB,EAAArT,EAAAJ,EAAA,KAAW,OAAA9B,KAAAkrJ,aAAA,IAAA31I,KAAiCw1I,WAAA,WAAuB,IAAA5pJ,EAAA,KAAAiH,EAAA,KAAAlG,EAAA,KAAAvB,EAAA,KAAA4U,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAAxB,EAAA,KAA4DiV,EAAA,EAAAvV,KAAAyqC,GAAAjN,EAAAy4F,EAAA00B,MAAAp1I,EAAApU,EAAAq8B,EAAAjoB,EAAAjV,EAAA21H,EAAA00B,MAAA3qJ,KAAAyqC,GAAAtpC,EAAAq8B,EAAAr8B,EAAAiH,EAAAmN,EAAApU,EAAAe,EAAA5B,EAAAN,KAAAyqC,GAAA3oC,EAAAyT,EAAAvV,KAAAyqC,GAAAvoC,EAAA5B,EAAA4B,EAAAvB,EAAAX,KAAAyqC,GAAAvoC,EAAA5B,EAAAa,EAAAe,EAAAJ,EAAAX,EAAAR,EAAAyH,EAAAlG,EAAAkG,EAAAzH,EAAA68B,GAAA,EAAA17B,EAAAxB,EAAAiV,EAAAvV,KAAAwqC,IAAAxqC,KAAAyqC,GAAsJ,IAAArpC,EAAAmU,EAAAioB,EAAAzrB,EAAAwD,EAAAnU,EAAAo8B,EAAkB,WAAAy4F,EAAA70H,EAAA2Q,IAAkBs5I,cAAA,WAA0B,GAAArrJ,KAAAuqJ,SAAA,OAAAt0B,EAAAs1B,aAAuC,IAAApqJ,EAAAnB,KAAAyqJ,yBAAoC,UAAAtpJ,EAAA,OAAAA,EAAqB,IAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAAA1hC,EAAAlC,KAAA2pJ,0BAAA,EAAAvhJ,GAAAzH,EAAAs1H,EAAAu1B,sBAAApjJ,EAAA,GAAmG,SAAAlG,EAAAs2B,OAAA,aAAAizH,sBAAA,uBAAAvpJ,GAA+E,IAAAqT,EAAA,GAASrT,EAAAC,OAAA,IAAAoT,EAAArT,EAAAq3F,UAAA,IAA+B,IAAA/7D,EAAAt7B,EAAAs2B,OAAA,OAAAjjB,EAAwB,OAAAvV,KAAAkrJ,aAAA,IAAA1tH,EAAA78B,EAAA68B,EAAA78B,GAAqCilB,IAAA,WAAgB,OAAA5lB,KAAAqP,QAAA4mH,EAAA5wF,IAAArlC,KAAAkrJ,aAAAlrJ,KAAAsqJ,SAAA,IAAAr0B,EAAAj2H,OAAsE0rJ,WAAA,WAAuB,OAAA1rJ,KAAAyqC,GAAA,OAAAzqC,KAAAyqC,IAAAzqC,KAAAwqC,GAAA,GAAyC6uB,GAAA,SAAAl4D,GAAgB,OAAAnB,KAAAyqC,GAAAtpC,EAAAspC,IAAAzqC,KAAAyqC,KAAAtpC,EAAAspC,IAAAzqC,KAAAwqC,GAAArpC,EAAAqpC,IAAkDga,IAAA,WAAgB,GAAA5U,UAAA,aAAAqmF,EAAA,CAA6B,IAAA90H,EAAAyuC,UAAA,GAAmB,OAAAqmF,EAAAhO,KAAAjoH,MAAAmqJ,QAAAhpJ,GAA+B,oBAAAyuC,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAAqmF,EAAAhO,KAAAjoH,MAAAmqJ,QAAA/hJ,KAAgCmmD,KAAA,WAAiB,OAAA3e,UAAAztC,QAAyB,oBAAAytC,UAAA,IAAkC,IAAAzuC,EAAAyuC,UAAA,GAAmB5vC,KAAAyqC,GAAAtpC,EAAAnB,KAAAwqC,GAAA,OAAoB,GAAAoF,UAAA,aAAAqmF,EAAA,CAAkC,IAAA7tH,EAAAwnC,UAAA,GAAmB5vC,KAAAyqC,GAAAriC,EAAAqiC,GAAAzqC,KAAAwqC,GAAApiC,EAAAoiC,SAA2B,OAAAoF,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAAyqC,GAAAvoC,EAAAlC,KAAAwqC,GAAA7pC,IAAqBk3H,GAAA,SAAA12H,GAAgB,OAAAnB,KAAAyqC,GAAAtpC,EAAAspC,IAAAzqC,KAAAyqC,KAAAtpC,EAAAspC,IAAAzqC,KAAAwqC,GAAArpC,EAAAqpC,IAAkD0gH,WAAA,WAAuB,OAAAlrJ,KAAAyqC,GAAA,OAAAzqC,KAAAyqC,IAAAzqC,KAAAwqC,GAAA,GAAyC08G,MAAA,WAAkB,OAAAlnJ,KAAAqP,QAAA4mH,EAAA5wF,IAAArlC,KAAA0rJ,aAAA1rJ,KAAAsW,QAAAtW,KAAAm+B,QAAqEwtH,OAAA,WAAmB,OAAA3rJ,KAAAyqC,GAAA,IAAAzqC,KAAAyqC,GAAA,KAAAzqC,KAAAwqC,GAAA,IAAAxqC,KAAAwqC,GAAA,QAA2DqrF,YAAA,WAAwB,OAAAz0H,EAAAo8B,EAAA17B,IAAcqlJ,SAAA,WAAqB,OAAAlxB,KAAUA,EAAAm0B,IAAA,SAAAjpJ,GAAoB,OAAA80H,EAAAxxD,QAAAtjE,GAAA2pJ,aAAA3pJ,IAAoC80H,EAAAxxD,QAAA,WAAsB,oBAAA70B,UAAA,IAAkC,IAAAzuC,EAAAyuC,UAAA,GAAmB,OAAAqmF,EAAAxpG,MAAAtrB,GAAkB,oBAAAyuC,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,WAAAqmF,EAAA7tH,KAAiB6tH,EAAAlhH,KAAA,SAAA5T,GAAoB,OAAA80H,EAAAxxD,QAAAtjE,GAAA4T,QAA2BkhH,EAAAxpG,MAAA,SAAAtrB,GAAqB,QAAAiH,EAAA,EAAAlG,EAAAf,EAAAgB,OAAuB6zH,EAAA0zB,aAAAvoJ,EAAAq3B,OAAApwB,KAA4BA,IAAK,IAAAzH,GAAA,EAAS,GAAAyH,EAAAlG,EAAA,CAAQ,IAAAqT,EAAApU,EAAAq3B,OAAApwB,GAAkB,MAAAmN,GAAA,MAAAA,IAAAnN,IAAA,MAAAmN,IAAA5U,GAAA,IAAwC,QAAA68B,EAAA,IAAAy4F,EAAAn0H,EAAA,EAAAxB,EAAA,EAAAc,EAAA,IAA6B,CAAE,GAAAgH,GAAAlG,EAAA,MAAc,IAAA6P,EAAA5Q,EAAAq3B,OAAApwB,GAAkB,GAAAA,IAAA4tH,EAAA41B,QAAA75I,GAAA,CAAqB,IAAA2rB,EAAA3rB,EAAA,IAAYyrB,EAAAstH,aAAA70B,EAAA4zB,KAAArsH,EAAA2sH,QAAAzsH,GAAA57B,QAAuC,CAAK,SAAAiQ,EAAA,CAAY,SAAAA,GAAA,MAAAA,EAAA,CAAqB,IAAApQ,EAAAR,EAAAo4F,UAAAnxF,GAAqB,IAAIhH,EAAAb,EAAAohD,SAAAhgD,GAAgB,MAAAyG,GAAS,MAAAA,aAAAyjJ,sBAAA,IAAAA,sBAAA,oBAAAlqJ,EAAA,cAAAR,GAAAiH,EAAqH,MAAM,UAAAyjJ,sBAAA,yBAAA95I,EAAA,iBAAA3J,EAAA,cAAAjH,GAA+Fb,EAAAwB,GAAK,IAAA0S,EAAAgpB,EAAA1rB,EAAAhQ,EAAAxB,EAAAc,EAAgB,OAAA0Q,EAAA0C,EAAAgpB,OAAa,GAAA1rB,EAAA,GAAa,IAAArR,EAAAw1H,EAAA4zB,IAAAvgI,IAAAxX,GAAmB0C,EAAAgpB,EAAAssH,OAAArpJ,QAAc,GAAAqR,EAAA,GAAarR,EAAAw1H,EAAA4zB,IAAAvgI,KAAAxX,GAAoB0C,EAAAgpB,EAAAwsH,SAAAvpJ,GAAgB,OAAAE,EAAA6T,EAAA81I,SAAA91I,GAAsByhH,EAAA40B,UAAA,WAAwB,WAAA50B,EAAA1gH,EAAA8vB,IAAA9vB,EAAA8vB,MAA0B4wF,EAAAhO,KAAA,SAAA9mH,GAAoB,WAAA80H,EAAA90H,IAAgB80H,EAAA2zB,UAAA,SAAAzoJ,GAAyB,IAAAiH,EAAArE,KAAA6hB,IAAAzkB,GAAAe,EAAA6B,KAAA02B,IAAAryB,GAAArE,KAAA02B,IAAA,IAAA95B,EAAAoD,KAAAmjJ,MAAAnjJ,KAAAuS,MAAApU,IAAAqT,EAAAxR,KAAAulB,IAAA,GAAA3oB,GAA0F,UAAA4U,GAAAnN,IAAAzH,GAAA,GAAAA,GAAyBs1H,EAAAq1B,aAAA,SAAAnqJ,EAAAiH,GAA8B,QAAAlG,EAAA,IAAA6zH,EAAAp1H,EAAA,EAAoBA,EAAAyH,EAAIzH,IAAAuB,EAAAonJ,OAAAnoJ,GAAgB,OAAAe,EAAAkrB,YAAoB6oG,EAAA5iF,GAAA,IAAA4iF,EAAA,yCAAAA,EAAA61B,OAAA,IAAA71B,EAAA,yCAAAA,EAAA81B,KAAA,IAAA91B,EAAA,yCAAAA,EAAAjrG,EAAA,IAAAirG,EAAA,yCAAAA,EAAA5wF,IAAA,IAAA4wF,EAAA1gH,EAAA8vB,IAAA9vB,EAAA8vB,KAAA4wF,EAAA+1B,IAAA,oBAAA/1B,EAAA00B,MAAA,UAAA10B,EAAAg0B,iBAAA,GAAAh0B,EAAA4zB,IAAA5zB,EAAAxxD,QAAA,IAAAwxD,EAAA8zB,IAAA9zB,EAAAxxD,QAAA,GAAAwxD,EAAAu1B,sBAAA,IAAAv1B,EAAAs1B,aAAA,QAAAnjJ,EAAAwhB,EAAA3oB,UAAA,CAA+Z40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAv9H,KAAUA,EAAAmT,iBAAA,SAAA57B,EAAAiH,EAAAlG,GAAqC,IAAAvB,EAAAipB,EAAAqiI,uBAAA9qJ,EAAAiH,EAAAlG,GAAsC,GAAAvB,GAAA,SAAAA,EAAiB,IAAA4U,EAAA0gH,EAAAxxD,QAAAr8D,EAAA+G,GAAAg7I,SAAAhpJ,EAAAgO,GAAAquB,EAAAy4F,EAAAxxD,QAAAr8D,EAAAgH,GAAA+6I,SAAAhpJ,EAAAiO,GAAAtN,EAAAm0H,EAAAxxD,QAAAviE,EAAAiN,GAAAg7I,SAAA/hJ,EAAA+G,GAAA7O,EAAA21H,EAAAxxD,QAAAviE,EAAAkN,GAAA+6I,SAAA/hJ,EAAAgH,GAAgI,OAAAmG,EAAAu1I,aAAAxqJ,GAAAkqJ,aAAAhtH,EAAAstH,aAAAhpJ,IAAA6pJ,UAAkE/hI,EAAAsiI,aAAA,SAAA/qJ,EAAAiH,EAAAlG,EAAAvB,GAAkC,IAAA4U,EAAApU,EAAA6oJ,SAAArpJ,GAAA6pJ,aAAApiJ,EAAA4hJ,SAAA9nJ,IAAgD,OAAAqT,EAAAo2I,UAAkB/hI,EAAAswF,aAAA,SAAA/4G,EAAAiH,EAAAlG,EAAAvB,GAAkC,IAAA4U,EAAA0gH,EAAAxxD,QAAA9jE,EAAAyO,GAAAo7I,aAAAtoJ,EAAAkN,GAAA07I,aAAA70B,EAAAxxD,QAAAr8D,EAAA+G,GAAAq7I,aAAArpJ,EAAAgO,IAAAquB,EAAAy4F,EAAAxxD,QAAA9jE,EAAAwO,GAAAq7I,aAAAtoJ,EAAAiN,GAAA27I,aAAA70B,EAAAxxD,QAAAr8D,EAAAgH,GAAAo7I,aAAArpJ,EAAAiO,IAAAtN,EAAAyT,EAAA20I,SAAA1sH,GAAAl9B,EAAA21H,EAAAxxD,QAAA9jE,EAAAwO,GAAAq7I,aAAAtoJ,EAAAiN,GAAA27I,aAAA70B,EAAAxxD,QAAAtjE,EAAAiO,GAAAo7I,aAAAtoJ,EAAAkN,IAAAhO,EAAA60H,EAAAxxD,QAAA9jE,EAAAyO,GAAAo7I,aAAAtoJ,EAAAkN,GAAA07I,aAAA70B,EAAAxxD,QAAAtjE,EAAAgO,GAAAq7I,aAAAtoJ,EAAAiN,IAAA4C,EAAAzR,EAAA4pJ,SAAA9oJ,GAAAs8B,EAAA3rB,EAAA24I,WAAA5oJ,GAAAuoJ,cAAA1oJ,EAAAs0H,EAAAxxD,QAAAtjE,EAAAgO,GAAAg7I,QAAAl0B,EAAAxxD,QAAAr8D,EAAA+G,GAAAq7I,aAAArpJ,EAAAgO,GAAA27I,aAAAptH,IAAA2sH,cAAA71I,EAAAyhH,EAAAxxD,QAAAr8D,EAAA+G,GAAAq7I,aAAArpJ,EAAAgO,GAAA27I,aAAA70B,EAAAxxD,QAAAtjE,EAAAiO,GAAAo7I,aAAAtoJ,EAAAkN,IAAA3O,EAAAw1H,EAAAxxD,QAAAr8D,EAAAgH,GAAAo7I,aAAArpJ,EAAAiO,GAAA07I,aAAA70B,EAAAxxD,QAAAtjE,EAAAgO,GAAAq7I,aAAAtoJ,EAAAiN,IAAA+sB,EAAA1nB,EAAA01I,SAAAzpJ,GAAAqC,EAAAo5B,EAAAwuH,WAAA5oJ,GAAAuoJ,cAAA5sH,EAAAw4F,EAAAxxD,QAAAviE,EAAAkN,GAAA+6I,QAAAl0B,EAAAxxD,QAAA9jE,EAAAyO,GAAAo7I,aAAAtoJ,EAAAkN,GAAA07I,aAAAhoJ,IAAAunJ,cAAkxB,WAAAv4I,EAAAnQ,EAAA87B,IAAkB7T,EAAAqiI,uBAAA,SAAA9qJ,EAAAiH,EAAAlG,GAA0C,IAAAvB,EAAA,KAAA4U,GAAApU,EAAAgO,EAAAjN,EAAAiN,IAAA/G,EAAAgH,EAAAlN,EAAAkN,GAAAouB,GAAAr8B,EAAAiO,EAAAlN,EAAAkN,IAAAhH,EAAA+G,EAAAjN,EAAAiN,GAAArN,EAAAyT,EAAAioB,EAA6D,GAAAjoB,EAAA,GAAQ,GAAAioB,GAAA,SAAA5T,EAAA+hI,OAAA7pJ,GAA2BnB,EAAA4U,EAAAioB,MAAM,CAAK,KAAAjoB,EAAA,UAAAqU,EAAA+hI,OAAA7pJ,GAA6B,GAAA07B,GAAA,SAAA5T,EAAA+hI,OAAA7pJ,GAA2BnB,GAAA4U,EAAAioB,EAAO,IAAAl9B,EAAAspB,EAAAuiI,gBAAAxrJ,EAA0B,OAAAmB,GAAAxB,IAAAwB,GAAAxB,EAAAspB,EAAA+hI,OAAA7pJ,GAAA,GAAiC8nB,EAAA+hI,OAAA,SAAAxqJ,GAAsB,OAAAA,EAAA,IAAAA,EAAA,QAAsByoB,EAAAuiI,gBAAA,MAAA/jJ,EAAAkgC,EAAArnC,UAAA,CAAwCwmJ,YAAA,SAAAtmJ,EAAAiH,EAAAlG,KAA6BiT,KAAA,aAAkBuyI,YAAA,SAAAvmJ,EAAAiH,KAA4Bg7H,cAAA,WAA0B,IAAAxzF,UAAAztC,OAAyBytC,UAAA,GAAa,IAAAA,UAAAztC,SAA8BytC,UAAA,GAAAA,UAAA,KAA2BqqF,kBAAA,SAAA94H,KAAgC64H,aAAA,aAA0BoyB,KAAA,SAAAjrJ,KAAmBqoC,MAAA,aAAmB6iH,eAAA,SAAAlrJ,KAA6B8mH,KAAA,aAAkBqkC,KAAA,SAAAnrJ,KAAmBonJ,kBAAA,aAA+B1yB,YAAA,WAAwB,OAAA/zH,IAAUqlJ,SAAA,WAAqB,OAAA7+G,KAAUA,EAAAzc,EAAA,EAAAyc,EAAA+tF,EAAA,EAAA/tF,EAAAouF,EAAA,EAAApuF,EAAA1e,EAAA,EAAAue,EAAAokH,UAAA,SAAAprJ,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAA0D,QAAAioB,EAAA,EAAA17B,EAAAsG,EAAgBtG,EAAAsG,EAAAmN,EAAMzT,IAAAI,EAAAvB,EAAA68B,GAAAr8B,EAAAW,GAAA07B,KAAoB2K,EAAAqkH,YAAA,SAAArrJ,GAA2B,OAAOsrJ,iBAAA,MAAsBtrJ,IAAIiH,EAAAmgC,EAAAtnC,UAAA,CAAgBqrJ,KAAA,WAAgB,IAAAnrJ,EAAAnB,KAAAoP,EAAApP,KAAAsuE,EAAoB,GAAA/4D,EAAAlG,MAAAlO,IAAAoU,EAAAgyI,WAAApmJ,GAAA,UAAAmtE,EAA2C,OAAAntE,GAASirJ,KAAA,WAAiB,IAAAjrJ,EAAAnB,KAAAmP,EAAAnP,KAAAsuE,EAAoB,GAAA/4D,EAAAlG,MAAAlO,IAAAoU,EAAAgyI,WAAApmJ,GAAA,UAAAmtE,EAA2C,OAAAntE,GAASiiI,cAAA,WAA0B,IAAAjiI,EAAA,IAAA2Q,EAAY,OAAA3Q,EAAAgO,EAAAnP,KAAAosJ,OAAAjrJ,EAAAiO,EAAApP,KAAAssJ,OAAAnrJ,GAAyC00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5+G,KAAUA,EAAA2xE,aAAA,SAAA/4G,EAAAiH,EAAAlG,EAAAvB,GAAmC,IAAA68B,EAAAr8B,EAAAiO,EAAAhH,EAAAgH,EAAAtN,EAAAsG,EAAA+G,EAAAhO,EAAAgO,EAAA7O,EAAAa,EAAAgO,EAAA/G,EAAAgH,EAAAhH,EAAA+G,EAAAhO,EAAAiO,EAAAhO,EAAAc,EAAAkN,EAAAzO,EAAAyO,EAAA2C,EAAApR,EAAAwO,EAAAjN,EAAAiN,EAAAuuB,EAAAx7B,EAAAiN,EAAAxO,EAAAyO,EAAAzO,EAAAwO,EAAAjN,EAAAkN,EAAAzN,EAAAG,EAAA47B,EAAA3rB,EAAAzR,EAAAkU,EAAApT,EAAAd,EAAAk9B,EAAAE,EAAAj9B,EAAA+8B,EAAAzrB,EAAA3Q,EAAAU,EAAAo6B,EAAAv6B,EAAAlB,EAAAqC,EAAA0R,EAAA/T,EAA0H,GAAA8U,EAAAlG,MAAA6sB,IAAA3mB,EAAAgyI,WAAArrH,IAAA3mB,EAAAlG,MAAAvM,IAAAyS,EAAAgyI,WAAAzkJ,GAAA,UAAAwrE,EAAwE,WAAAx8D,EAAAoqB,EAAAp5B,IAAkBsF,EAAAogC,EAAAvnC,UAAA,CAAgB2iB,OAAA,WAAkB,IAAAgsB,UAAAztC,OAAyBytC,UAAA,aAAA/tC,MAAiC+tC,UAAA,GAAa8/D,EAAA9/D,UAAA,GAAAtH,IAA2BsH,UAAA,GAAc,IAAAA,UAAAztC,SAA8BytC,UAAA,GAAAA,UAAA,KAA2BimF,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3+G,KAAUpgC,EAAAwtB,EAAA30B,UAAA,CAAiBS,OAAA,SAAAP,KAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvxH,KAAUxtB,EAAAggC,EAAAnnC,UAAA,CAAiBkR,qBAAA,WAAgC,OAAAnS,KAAA0sJ,iBAAAtkH,EAAAukH,8BAA4Dx0B,WAAA,WAAuB,OAAAn4H,KAAA+5B,SAAoB6yH,aAAA,SAAAzrJ,GAA0B,OAAAnB,MAAYssD,QAAA,WAAoB,UAASugG,YAAA,WAAwB,UAAShuE,OAAA,WAAmB,OAAAjvC,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmB,cAAAzuC,GAAAnB,KAAA8sJ,WAAA3rJ,GAAoC,GAAAyuC,UAAA,aAAAx3B,OAAA,CAAkC,IAAAhQ,EAAAwnC,UAAA,GAAmB,KAAAxnC,aAAAggC,GAAA,SAA8B,IAAAlmC,EAAAkG,EAAQ,OAAApI,KAAA+sJ,YAAA7qJ,MAA6B6qJ,YAAA,SAAA5rJ,GAAyB,OAAAnB,OAAAmB,GAAAnB,KAAA+sJ,YAAA5rJ,EAAA,IAAuC6rJ,gBAAA,WAA4BhtJ,KAAAuC,MAAA6lC,EAAA6kH,wBAAoCC,sBAAA,WAAkCltJ,KAAA8pE,SAAA,MAAmBqjF,WAAA,SAAAhsJ,GAAwB,cAAAA,GAAAnB,KAAAotJ,OAAAL,YAAA5rJ,EAAAisJ,SAAmDlK,UAAA,WAAsB,UAASriB,iBAAA,WAA6B,UAASsN,UAAA,WAAsB,OAAAv+F,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAuB,OAAAnB,KAAA0sJ,iBAAAtkJ,EAAAskJ,eAAA1sJ,KAAA0sJ,eAAAtkJ,EAAAskJ,eAAA1sJ,KAAAm6G,WAAA/xG,EAAA+xG,UAAA,EAAAn6G,KAAAm6G,WAAA,EAAA/xG,EAAA+xG,UAAA,EAAAn6G,KAAAqtJ,mBAAAlsJ,GAA4K,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAxnC,EAAAlG,EAAsC,OAAAlC,KAAA0sJ,iBAAAtkJ,EAAAskJ,eAAA1sJ,KAAA0sJ,eAAAtkJ,EAAAskJ,eAAA1sJ,KAAAm6G,WAAA/xG,EAAA+xG,UAAA,EAAAn6G,KAAAm6G,WAAA,EAAA/xG,EAAA+xG,UAAA,EAAAn6G,KAAAqtJ,mBAAAnrJ,EAAAvB,KAA+K2sJ,YAAA,WAAwB,OAAAttJ,KAAAm2H,UAAqBC,QAAA,WAAoB,OAAAp2H,KAAAk2H,MAAiBzrD,YAAA,WAAwB,OAAAzqE,KAAAm4H,aAAAo1B,WAAAvtJ,KAAAqvI,wBAAgEme,2BAAA,SAAArsJ,GAAwC,GAAAA,EAAAurJ,iBAAAtkH,EAAAukH,6BAAA,UAAAhsJ,EAAA,8DAA8HyjD,MAAA,SAAAjjD,EAAAiH,EAAAlG,GAAuB,WAAAA,EAAAf,EAAA09E,OAAAz2E,GAAAjH,EAAAuS,SAAAtL,IAAAlG,GAA0CkrJ,KAAA,WAAiB,IAAAjsJ,EAAAnB,KAAAioH,OAAkB,OAAA9mH,EAAAksC,YAAAlsC,GAAuB+sI,kBAAA,WAA8B,OAAAluI,KAAA+5B,QAAAm0G,qBAAwCmB,oBAAA,WAAgC,cAAArvI,KAAA8pE,WAAA9pE,KAAA8pE,SAAA9pE,KAAAytJ,2BAAA,IAAAplH,EAAAroC,KAAA8pE,WAAiG4jF,QAAA,SAAAvsJ,GAAqBnB,KAAAk2H,KAAA/0H,GAAYwsJ,YAAA,SAAAxsJ,GAAyBnB,KAAAm2H,SAAAh1H,GAAgBgd,QAAA,SAAAhd,EAAAiH,GAAuB,QAAAlG,EAAAf,EAAAutF,WAAA/tF,EAAAyH,EAAAsmF,WAAsCxsF,EAAAimJ,WAAAxnJ,EAAAwnJ,WAAyB,CAAE,IAAA5yI,EAAArT,EAAA2Z,OAAA2hB,EAAA78B,EAAAkb,OAAA/Z,EAAAyT,EAAA44H,UAAA3wG,GAA2C,OAAA17B,EAAA,OAAAA,EAAkB,OAAAI,EAAAimJ,UAAA,EAAAxnJ,EAAAwnJ,WAAA,KAAsCJ,SAAA,WAAqB,OAAA/nJ,KAAAqvI,sBAAA0Y,YAA6C6F,8BAAA,WAA0C,OAAA5tJ,KAAA0sJ,iBAAAtkH,EAAAukH,8BAAA3sJ,KAAA0sJ,iBAAAtkH,EAAAylH,sBAAA7tJ,KAAA0sJ,iBAAAtkH,EAAA0lH,2BAAA9tJ,KAAA0sJ,iBAAAtkH,EAAA2lH,wBAA6Ml4B,YAAA,WAAwB,OAAA/zH,EAAA07B,EAAAp8B,IAAc+lJ,SAAA,WAAqB,OAAA/+G,KAAUA,EAAA8wF,oBAAA,SAAA/3H,GAAoC,QAAAiH,EAAA,EAAYA,EAAAjH,EAAAgB,OAAWiG,IAAA,IAAAjH,EAAAiH,GAAA+xG,UAAA,SAAgC,UAAS/xE,EAAAwvF,gBAAA,SAAAz2H,GAA+B,QAAAiH,EAAA,EAAYA,EAAAjH,EAAAgB,OAAWiG,IAAA,UAAAjH,EAAAiH,GAAA,SAA4B,UAASggC,EAAA8/G,iBAAA,mBAAA9/G,EAAA4lH,gBAAA,EAAA5lH,EAAAylH,qBAAA,EAAAzlH,EAAA6lH,qBAAA,EAAA7lH,EAAA8lH,qBAAA,EAAA9lH,EAAA0lH,0BAAA,EAAA1lH,EAAA+lH,kBAAA,EAAA/lH,EAAA2lH,uBAAA,EAAA3lH,EAAAukH,6BAAA,EAAAvkH,EAAA6kH,sBAAA,CAA+Qp3B,YAAA,WAAuB,OAAAjgG,IAAUl0B,OAAA,SAAAP,GAAoBA,EAAA+rJ,0BAA2B9kJ,EAAAs5B,EAAAzgC,UAAA,CAAgBS,OAAA,SAAAP,KAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAzlH,KAAUt5B,EAAAmiB,EAAAtpB,UAAA,CAAiBkzI,aAAA,SAAAhzI,KAA0B00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA58H,KAAUniB,EAAArF,EAAA9B,UAAA,CAAiBkzI,aAAA,SAAAhzI,GAAyB,OAAAA,EAAA,OAAe00H,YAAA,WAAwB,OAAAtrG,IAAU48H,SAAA,WAAqB,OAAApkJ,KAAUqF,EAAAiuH,EAAAp1H,UAAA,CAAiBkzI,aAAA,SAAAhzI,GAAyB,OAAAA,EAAA,GAAW00H,YAAA,WAAwB,OAAAtrG,IAAU48H,SAAA,WAAqB,OAAA9wB,KAAUjuH,EAAAkuH,EAAAr1H,UAAA,CAAiBkzI,aAAA,SAAAhzI,GAAyB,OAAAA,EAAA,GAAW00H,YAAA,WAAwB,OAAAtrG,IAAU48H,SAAA,WAAqB,OAAA7wB,KAAUluH,EAAAyjB,EAAA5qB,UAAA,CAAiBkzI,aAAA,SAAAhzI,GAAyB,WAAAA,GAAa00H,YAAA,WAAwB,OAAAtrG,IAAU48H,SAAA,WAAqB,OAAAt7H,KAAUtB,EAAA6jI,qBAAArrJ,EAAAwnB,EAAA8jI,yBAAAh4B,EAAA9rG,EAAA+jI,oCAAAh4B,EAAA/rG,EAAAgkI,mCAAA1iI,EAAAtB,EAAA2tG,mBAAA,IAAAn1H,EAAAwnB,EAAAikI,uBAAA,IAAAn4B,EAAA9rG,EAAAkkI,mCAAA,IAAAn4B,EAAA/rG,EAAAmkI,kCAAA,IAAA7iI,EAAAtB,EAAAy2G,sBAAAz2G,EAAA2tG,mBAAA9vH,EAAAmuH,EAAAt1H,UAAA,CAAkV40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA5wB,KAAUA,EAAAo4B,OAAA,SAAAxtJ,GAAuB,QAAAA,EAAAgB,OAAA,MAAAhB,EAAA,GAAAgiI,SAAAhiI,IAAAgB,OAAA,KAAoDo0H,EAAAq4B,YAAA,SAAAztJ,EAAAiH,GAA6B,QAAAlG,EAAA,EAAYA,EAAAf,EAAAgB,OAAWD,IAAA,CAAK,IAAAvB,EAAAQ,EAAAe,GAAW,GAAAq0H,EAAAvzH,QAAArC,EAAAyH,GAAA,SAAAzH,EAA6B,aAAY41H,EAAAs4B,OAAA,SAAA1tJ,EAAAiH,GAAwB,IAAAlG,EAAAq0H,EAAAvzH,QAAAoF,EAAAjH,GAAqB,GAAAe,EAAA,cAAmB,IAAAvB,EAAA,IAAAkB,MAAAV,EAAAgB,QAAAyhC,KAAA,MAAqCuE,EAAAokH,UAAAprJ,EAAAe,EAAAvB,EAAA,EAAAQ,EAAAgB,OAAAD,GAAAimC,EAAAokH,UAAAprJ,EAAA,EAAAR,EAAAQ,EAAAgB,OAAAD,KAAAimC,EAAAokH,UAAA5rJ,EAAA,EAAAQ,EAAA,EAAAA,EAAAgB,SAA8Fo0H,EAAA13C,OAAA,WAAqB,OAAAjvC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,GAAAzuC,IAAAiH,EAAA,SAAkB,UAAAjH,GAAA,OAAAiH,EAAA,SAA+B,GAAAjH,EAAAgB,SAAAiG,EAAAjG,OAAA,SAAgC,QAAAD,EAAA,EAAYA,EAAAf,EAAAgB,OAAWD,IAAA,IAAAf,EAAAe,GAAA28E,OAAAz2E,EAAAlG,IAAA,SAAmC,SAAS,OAAA0tC,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD,GAAAjvC,IAAA4U,EAAA,SAAkB,UAAA5U,GAAA,OAAA4U,EAAA,SAA+B,GAAA5U,EAAAwB,SAAAoT,EAAApT,OAAA,SAAgC,IAAAD,EAAA,EAAYA,EAAAvB,EAAAwB,OAAWD,IAAA,OAAAs7B,EAAArf,QAAAxd,EAAAuB,GAAAqT,EAAArT,IAAA,SAAyC,WAAUq0H,EAAArc,aAAA,SAAA/4G,EAAAiH,GAA8B,QAAAlG,EAAA,IAAA6oB,EAAApqB,EAAA,EAAoBA,EAAAQ,EAAAgB,OAAWxB,IAAAyH,EAAAooD,WAAArvD,EAAAR,KAAAuB,EAAAsiD,IAAArjD,EAAAR,IAAA,GAAuC,OAAAuB,EAAAqmJ,qBAA6BhyB,EAAAu4B,kBAAA,SAAA3tJ,GAAiC,QAAAiH,EAAA,EAAYA,EAAAjH,EAAAgB,OAAWiG,IAAA,GAAAjH,EAAAiH,EAAA,GAAAy2E,OAAA19E,EAAAiH,IAAA,SAAoC,UAASmuH,EAAAw4B,qBAAA,SAAA5tJ,GAAoC,IAAAo1H,EAAAu4B,kBAAA3tJ,GAAA,OAAAA,EAAoC,IAAAiH,EAAA,IAAA2iB,EAAA5pB,GAAA,GAAoB,OAAAiH,EAAAmgJ,qBAA6BhyB,EAAAtuH,QAAA,SAAA9G,GAAuB,QAAAiH,EAAAjH,EAAAgB,OAAA,EAAAD,EAAA6B,KAAAmjJ,MAAA9+I,EAAA,GAAAzH,EAAA,EAA2CA,GAAAuB,EAAKvB,IAAA,CAAK,IAAA4U,EAAApU,EAAAR,GAAWQ,EAAAR,GAAAQ,EAAAiH,EAAAzH,GAAAQ,EAAAiH,EAAAzH,GAAA4U,IAAsBghH,EAAAy4B,WAAA,SAAA7tJ,GAA0B,QAAAiH,EAAA,EAAAlG,EAAA,EAAgBA,EAAAf,EAAAgB,OAAWD,IAAA,OAAAf,EAAAe,IAAAkG,IAAqB,IAAAzH,EAAA,IAAAkB,MAAAuG,GAAAw7B,KAAA,MAA8B,OAAAx7B,EAAA,OAAAzH,EAAkB,IAAA4U,EAAA,MAAArT,EAAA,EAAgBA,EAAAf,EAAAgB,OAAWD,IAAA,OAAAf,EAAAe,KAAAvB,EAAA4U,KAAApU,EAAAe,IAA+B,OAAAvB,GAAS41H,EAAA04B,SAAA,WAAuB,OAAAr/G,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAAvG,MAAAV,EAAAgB,QAAAyhC,KAAA,MAAA1hC,EAAA,EAA4DA,EAAAf,EAAAgB,OAAWD,IAAAkG,EAAAlG,GAAA,IAAA4P,EAAA3Q,EAAAe,IAAqB,OAAAkG,EAAS,OAAAwnC,UAAAztC,OAAA,KAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,OAAA1tC,EAAA,EAA+GA,EAAA5B,EAAI4B,IAAAs7B,EAAA17B,EAAAI,GAAA,IAAA4P,EAAAnR,EAAA4U,EAAArT,MAAyBq0H,EAAA24B,gBAAA,SAAA/tJ,EAAAiH,GAAiC,QAAAlG,EAAA,EAAYA,EAAAf,EAAAgB,OAAWD,IAAA,CAAK,IAAAvB,EAAAQ,EAAAe,GAAAqT,EAAAnN,EAAAjH,EAAAgB,OAAAD,EAAA,GAA6B,OAAAvB,EAAAwtI,UAAA54H,GAAA,SAA+B,UAASghH,EAAAzsD,SAAA,SAAA3oE,GAAwB,QAAAiH,EAAA,IAAAigC,EAAAnmC,EAAA,EAAoBA,EAAAf,EAAAgB,OAAWD,IAAAkG,EAAA0gJ,gBAAA3nJ,EAAAe,IAA4B,OAAAkG,GAASmuH,EAAAgyB,kBAAA,SAAApnJ,GAAiC,OAAAA,EAAAiiF,QAAAmzC,EAAAiyB,iBAAmCjyB,EAAA44B,6BAAA,SAAAhuJ,EAAAiH,GAA8C,OAAAA,EAAAjG,QAAAhB,EAAAiH,EAAA,IAAwBmuH,EAAAvzH,QAAA,SAAA7B,EAAAiH,GAAyB,QAAAlG,EAAA,EAAYA,EAAAkG,EAAAjG,OAAWD,IAAA,GAAAf,EAAA09E,OAAAz2E,EAAAlG,IAAA,OAAAA,EAA+B,UAASq0H,EAAA64B,oBAAA,SAAAjuJ,GAAmC,QAAAiH,EAAA,EAAYA,EAAArE,KAAAmjJ,MAAA/lJ,EAAAgB,OAAA,GAAyBiG,IAAA,CAAK,IAAAlG,EAAAf,EAAAgB,OAAA,EAAAiG,EAAAzH,EAAAQ,EAAAiH,GAAA+lI,UAAAhtI,EAAAe,IAA0C,OAAAvB,EAAA,OAAAA,EAAkB,UAAS41H,EAAAp4G,QAAA,SAAAhd,EAAAiH,GAAyB,QAAAlG,EAAA,EAAYA,EAAAf,EAAAgB,QAAAD,EAAAkG,EAAAjG,QAAuB,CAAE,IAAAxB,EAAAQ,EAAAe,GAAAisI,UAAA/lI,EAAAlG,IAA2B,OAAAvB,EAAA,OAAAA,EAAkBuB,IAAI,OAAAA,EAAAkG,EAAAjG,QAAA,EAAAD,EAAAf,EAAAgB,OAAA,KAAoCo0H,EAAA84B,cAAA,SAAAluJ,GAA6B,QAAAiH,EAAA,KAAAlG,EAAA,EAAmBA,EAAAf,EAAAgB,OAAWD,KAAA,OAAAkG,KAAA+lI,UAAAhtI,EAAAe,IAAA,KAAAkG,EAAAjH,EAAAe,IAA8C,OAAAkG,GAASmuH,EAAAhtE,QAAA,SAAApoD,EAAAiH,EAAAlG,GAA2BkG,EAAA0tH,EAAAuzB,MAAAjhJ,EAAA,EAAAjH,EAAAgB,QAAAD,EAAA4zH,EAAAuzB,MAAAnnJ,GAAA,EAAAf,EAAAgB,QAAiD,IAAAxB,EAAAuB,EAAAkG,EAAA,EAAYlG,EAAA,IAAAvB,EAAA,GAAAyH,GAAAjH,EAAAgB,SAAAxB,EAAA,GAAAuB,EAAAkG,IAAAzH,EAAA,GAAyC,IAAA4U,EAAA,IAAA1T,MAAAlB,GAAAijC,KAAA,MAA8B,OAAAjjC,EAAA,OAAA4U,EAAkB,QAAAioB,EAAA,EAAA17B,EAAAsG,EAAgBtG,GAAAI,EAAKJ,IAAAyT,EAAAioB,KAAAr8B,EAAAW,GAAgB,OAAAyT,GAASnN,EAAAouH,EAAAv1H,UAAA,CAAgBkd,QAAA,SAAAhd,EAAAiH,GAAsB,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAY,OAAAmuH,EAAAp4G,QAAAjc,EAAAvB,IAAsBk1H,YAAA,WAAwB,OAAAv1H,IAAU6mJ,SAAA,WAAqB,OAAA3wB,KAAUpuH,EAAAxF,EAAA3B,UAAA,CAAiBkd,QAAA,SAAAhd,EAAAiH,GAAsB,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAY,GAAAlG,EAAAC,OAAAxB,EAAAwB,OAAA,SAA8B,GAAAD,EAAAC,OAAAxB,EAAAwB,OAAA,SAA8B,OAAAD,EAAAC,OAAA,SAAyB,IAAAoT,EAAAghH,EAAAp4G,QAAAjc,EAAAvB,GAAA68B,EAAA+4F,EAAA24B,gBAAAhtJ,EAAAvB,GAA8C,OAAA68B,EAAA,EAAAjoB,GAAa+5I,WAAA,SAAAnuJ,EAAAiH,GAA0B,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAY,GAAAlG,EAAAC,OAAAxB,EAAAwB,OAAA,SAA8B,GAAAD,EAAAC,OAAAxB,EAAAwB,OAAA,SAA8B,OAAAD,EAAAC,OAAA,SAAyB,QAAAoT,EAAAghH,EAAA64B,oBAAAltJ,GAAAs7B,EAAA+4F,EAAA64B,oBAAAzuJ,GAAAmB,EAAAyT,EAAA,IAAArT,EAAAC,OAAA,EAAA7B,EAAAk9B,EAAA,IAAAt7B,EAAAC,OAAA,EAAAf,EAAA,EAAwGA,EAAAc,EAAAC,OAAWf,IAAA,CAAK,IAAA2Q,EAAA7P,EAAAJ,GAAAqsI,UAAAxtI,EAAAL,IAA2B,OAAAyR,EAAA,OAAAA,EAAkBjQ,GAAAyT,EAAAjV,GAAAk9B,EAAU,UAASq4F,YAAA,WAAwB,OAAAv1H,IAAU6mJ,SAAA,WAAqB,OAAAvkJ,KAAU2zH,EAAAg5B,kBAAA/4B,EAAAD,EAAAi5B,wBAAA5sJ,EAAA2zH,EAAAiyB,eAAA,IAAA3mJ,MAAA,GAAA+hC,KAAA,MAAA6yF,EAAAx1H,UAAAqX,IAAA,aAAyHm+G,EAAAx1H,UAAA+6H,IAAA,aAA6BvF,EAAAx1H,UAAAkU,KAAA,aAA8BshH,EAAAx1H,UAAAumB,OAAA,aAAgCivG,EAAAx1H,UAAAwuJ,SAAA,aAAkC/4B,EAAAz1H,UAAA,IAAAw1H,EAAAE,EAAA11H,UAAA,IAAA6B,EAAA6zH,EAAA11H,UAAAioJ,SAAA,aAAsEtyB,EAAA31H,UAAA,IAAA01H,EAAAC,EAAA31H,UAAAioJ,SAAA,SAAA/nJ,GAAoD,QAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAiCiG,EAAAlG,EAAIkG,IAAA,CAAK,IAAAzH,EAAAX,KAAAq1H,OAAAjtH,GAAqB,GAAAzH,IAAAQ,EAAA,SAAkB,UAASy1H,EAAA31H,UAAAujD,IAAA,SAAArjD,GAA6B,OAAAnB,KAAAkpJ,SAAA/nJ,KAAAnB,KAAAq1H,OAAAz0H,KAAAO,IAAA,IAAkDy1H,EAAA31H,UAAAq0H,OAAA,SAAAn0H,GAAgC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAYnoJ,KAAAwkD,IAAAp8C,EAAAyT,QAAoB,UAAS+6G,EAAA31H,UAAAw3G,OAAA,SAAAt3G,GAAgC,UAAAuuJ,WAAAn2G,KAAAo2G,uBAAgD/4B,EAAA31H,UAAAkU,KAAA,WAA6B,OAAAnV,KAAAq1H,OAAAlzH,QAA0By0H,EAAA31H,UAAAk5G,QAAA,WAAgC,WAAAn6G,KAAAq1H,OAAAlzH,QAA8By0H,EAAA31H,UAAAmiF,QAAA,WAAgC,QAAAjiF,EAAA,GAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAsCiG,EAAAlG,EAAIkG,IAAAjH,EAAAP,KAAAZ,KAAAq1H,OAAAjtH,IAA2B,OAAAjH,GAASy1H,EAAA31H,UAAAytF,SAAA,WAAiC,WAAAkhE,GAAA5vJ,OAAqB,IAAA4vJ,GAAA,SAAAzuJ,GAAmBnB,KAAA6vJ,SAAA1uJ,EAAAnB,KAAAsoJ,UAAA,GAAkCsH,GAAA3uJ,UAAA4a,KAAA,WAA6B,GAAA7b,KAAAsoJ,YAAAtoJ,KAAA6vJ,SAAA16I,OAAA,UAAAhG,EAAqD,OAAAnP,KAAA6vJ,SAAAx6B,OAAAr1H,KAAAsoJ,cAA8CsH,GAAA3uJ,UAAAknJ,QAAA,WAAiC,OAAAnoJ,KAAAsoJ,UAAAtoJ,KAAA6vJ,SAAA16I,QAA2Cy6I,GAAA3uJ,UAAAw3G,OAAA,WAAgC,UAAAztF,GAAa,IAAA6rG,GAAA,EAAAz8G,GAAA,EAAck/C,GAAAr4D,UAAA,IAAAy1H,EAAAp9D,GAAAr4D,UAAAqX,IAAA,SAAAnX,GAAgD,QAAAiH,EAAApI,KAAAm3H,MAAqB,OAAA/uH,GAAS,CAAE,IAAAlG,EAAAf,EAAAgtI,UAAA/lI,EAAA4Q,KAAyB,GAAA9W,EAAA,EAAAkG,IAAA6D,SAAgB,CAAK,KAAA/J,EAAA,UAAAkG,EAAAnC,MAAyBmC,IAAA8D,OAAW,aAAYotD,GAAAr4D,UAAA+6H,IAAA,SAAA76H,EAAAiH,GAAgC,UAAApI,KAAAm3H,MAAA,OAAAn3H,KAAAm3H,MAAA,CAAwCn+G,IAAA7X,EAAA8E,MAAAmC,EAAA6D,KAAA,KAAAC,MAAA,KAAA6qH,OAAA,KAAAxjF,MAAAsjF,GAAAi5B,SAAA,WAA4E,OAAA9vJ,KAAAiG,OAAkB8pJ,OAAA,WAAmB,OAAA/vJ,KAAAgZ,MAAiBhZ,KAAAo3H,MAAA,OAAmB,IAAAl1H,EAAAvB,EAAA4U,EAAAvV,KAAAm3H,MAAqB,MAAAj1H,EAAAqT,EAAA5U,EAAAQ,EAAAgtI,UAAA54H,EAAAyD,KAAArY,EAAA,EAAA4U,IAAAtJ,SAA4C,CAAK,KAAAtL,EAAA,IAAW,IAAA68B,EAAAjoB,EAAAtP,MAAc,OAAAsP,EAAAtP,MAAAmC,EAAAo1B,EAAmBjoB,IAAArJ,aAAU,OAAAqJ,GAAgB,IAAAzT,EAAA,CAAOkX,IAAA7X,EAAA8K,KAAA,KAAAC,MAAA,KAAAjG,MAAAmC,EAAA2uH,OAAA70H,EAAAqxC,MAAAsjF,GAAAi5B,SAAA,WAAyE,OAAA9vJ,KAAAiG,OAAkB8pJ,OAAA,WAAmB,OAAA/vJ,KAAAgZ,MAAkB,OAAArY,EAAA,EAAAuB,EAAA+J,KAAAnK,EAAAI,EAAAgK,MAAApK,EAAA9B,KAAAgwJ,kBAAAluJ,GAAA9B,KAAAo3H,QAAA,MAA0E99D,GAAAr4D,UAAA+uJ,kBAAA,SAAA7uJ,GAA4C,IAAAA,EAAAoyC,MAAAn5B,GAAe,MAAAjZ,MAAAnB,KAAAm3H,OAAAh2H,EAAA41H,OAAAxjF,OAAAn5B,IAA2C,GAAA08G,GAAA31H,IAAA81H,GAAAH,MAAA31H,KAAA,CAA0B,IAAAiH,EAAA8uH,GAAAJ,MAAA31H,KAAoBosH,EAAAnlH,IAAAgS,IAAA48G,GAAAF,GAAA31H,GAAA01H,IAAAG,GAAA5uH,EAAAyuH,IAAAG,GAAAF,MAAA31H,IAAAiZ,IAAAjZ,EAAA21H,MAAA31H,SAAA+1H,GAAAJ,GAAA31H,QAAA21H,GAAA31H,GAAAnB,KAAAiwJ,WAAA9uJ,IAAA61H,GAAAF,GAAA31H,GAAA01H,IAAAG,GAAAF,MAAA31H,IAAAiZ,IAAApa,KAAAkwJ,YAAAp5B,MAAA31H,UAAqK,CAAKiH,EAAA6uH,GAAAH,MAAA31H,KAAoBosH,EAAAnlH,IAAAgS,IAAA48G,GAAAF,GAAA31H,GAAA01H,IAAAG,GAAA5uH,EAAAyuH,IAAAG,GAAAF,MAAA31H,IAAAiZ,IAAAjZ,EAAA21H,MAAA31H,SAAA81H,GAAAH,GAAA31H,QAAA21H,GAAA31H,GAAAnB,KAAAkwJ,YAAA/uJ,IAAA61H,GAAAF,GAAA31H,GAAA01H,IAAAG,GAAAF,MAAA31H,IAAAiZ,IAAApa,KAAAiwJ,WAAAn5B,MAAA31H,MAAqKnB,KAAAm3H,MAAA5jF,MAAAsjF,IAAoBv9D,GAAAr4D,UAAAumB,OAAA,WAAgC,IAAArmB,EAAA,IAAA+oB,EAAA9hB,EAAApI,KAAAmwJ,gBAAmC,UAAA/nJ,EAAA,IAAAjH,EAAAqjD,IAAAp8C,EAAAnC,OAA+B,QAAAmC,EAAAkxD,GAAA82F,UAAAhoJ,KAA2BjH,EAAAqjD,IAAAp8C,EAAAnC,OAAgB,OAAA9E,GAASm4D,GAAAr4D,UAAAwuJ,SAAA,WAAkC,IAAAtuJ,EAAA,IAAAy1H,EAAAxuH,EAAApI,KAAAmwJ,gBAAmC,UAAA/nJ,EAAA,IAAAjH,EAAAqjD,IAAAp8C,GAAyB,QAAAA,EAAAkxD,GAAA82F,UAAAhoJ,KAA2BjH,EAAAqjD,IAAAp8C,GAAU,OAAAjH,GAASm4D,GAAAr4D,UAAAgvJ,WAAA,SAAA9uJ,GAAqC,SAAAA,EAAA,CAAY,IAAAiH,EAAAjH,EAAA+K,MAAc/K,EAAA+K,MAAA9D,EAAA6D,KAAA,MAAA7D,EAAA6D,OAAA7D,EAAA6D,KAAA8qH,OAAA51H,GAAAiH,EAAA2uH,OAAA51H,EAAA41H,OAAA,MAAA51H,EAAA41H,OAAA/2H,KAAAm3H,MAAA/uH,EAAAjH,EAAA41H,OAAA9qH,MAAA9K,IAAA41H,OAAA9qH,KAAA7D,EAAAjH,EAAA41H,OAAA7qH,MAAA9D,IAAA6D,KAAA9K,IAAA41H,OAAA3uH,IAAoKkxD,GAAAr4D,UAAAivJ,YAAA,SAAA/uJ,GAAsC,SAAAA,EAAA,CAAY,IAAAiH,EAAAjH,EAAA8K,KAAa9K,EAAA8K,KAAA7D,EAAA8D,MAAA,MAAA9D,EAAA8D,QAAA9D,EAAA8D,MAAA6qH,OAAA51H,GAAAiH,EAAA2uH,OAAA51H,EAAA41H,OAAA,MAAA51H,EAAA41H,OAAA/2H,KAAAm3H,MAAA/uH,EAAAjH,EAAA41H,OAAA7qH,OAAA/K,IAAA41H,OAAA7qH,MAAA9D,EAAAjH,EAAA41H,OAAA9qH,KAAA7D,IAAA8D,MAAA/K,IAAA41H,OAAA3uH,IAAwKkxD,GAAAr4D,UAAAkvJ,cAAA,WAAuC,IAAAhvJ,EAAAnB,KAAAm3H,MAAiB,SAAAh2H,EAAA,KAAgB,MAAAA,EAAA8K,MAAa9K,IAAA8K,KAAU,OAAA9K,GAASm4D,GAAA82F,UAAA,SAAAjvJ,GAA0B,UAAAA,EAAA,YAAwB,UAAAA,EAAA+K,MAAA,CAAmB,QAAA9D,EAAAjH,EAAA+K,MAAkB,OAAA9D,EAAA6D,MAAc7D,IAAA6D,KAAU,OAAA7D,EAASA,EAAAjH,EAAA41H,OAAA,QAAA70H,EAAAf,EAAuB,OAAAiH,GAAAlG,IAAAkG,EAAA8D,OAAsBhK,EAAAkG,MAAA2uH,OAAgB,OAAA3uH,GAASkxD,GAAAr4D,UAAAkU,KAAA,WAA8B,OAAAnV,KAAAo3H,OAAkBhvH,EAAAivH,GAAAp2H,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA9vB,MAAWC,GAAAr2H,UAAA,IAAA01H,EAAAY,GAAAt2H,UAAA,IAAAq2H,GAAAC,GAAAt2H,UAAAioJ,SAAA,SAAA/nJ,GAA2E,QAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAiCiG,EAAAlG,EAAIkG,IAAA,CAAK,IAAAzH,EAAAX,KAAAq1H,OAAAjtH,GAAqB,OAAAzH,EAAAwtI,UAAAhtI,GAAA,SAA+B,UAASo2H,GAAAt2H,UAAAujD,IAAA,SAAArjD,GAA8B,GAAAnB,KAAAkpJ,SAAA/nJ,GAAA,SAA6B,QAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAiCiG,EAAAlG,EAAIkG,IAAA,CAAK,IAAAzH,EAAAX,KAAAq1H,OAAAjtH,GAAqB,OAAAzH,EAAAwtI,UAAAhtI,GAAA,OAAAnB,KAAAq1H,OAAA1sF,OAAAvgC,EAAA,EAAAjH,IAAA,EAA0D,OAAAnB,KAAAq1H,OAAAz0H,KAAAO,IAAA,GAA8Bo2H,GAAAt2H,UAAAq0H,OAAA,SAAAn0H,GAAiC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAYnoJ,KAAAwkD,IAAAp8C,EAAAyT,QAAoB,UAAS07G,GAAAt2H,UAAAw3G,OAAA,SAAAt3G,GAAiC,UAAA6pB,GAAYusG,GAAAt2H,UAAAkU,KAAA,WAA8B,OAAAnV,KAAAq1H,OAAAlzH,QAA0Bo1H,GAAAt2H,UAAAk5G,QAAA,WAAiC,WAAAn6G,KAAAq1H,OAAAlzH,QAA8Bo1H,GAAAt2H,UAAAmiF,QAAA,WAAiC,QAAAjiF,EAAA,GAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAsCiG,EAAAlG,EAAIkG,IAAAjH,EAAAP,KAAAZ,KAAAq1H,OAAAjtH,IAA2B,OAAAjH,GAASo2H,GAAAt2H,UAAAytF,SAAA,WAAkC,WAAA2hE,GAAArwJ,OAAqB,IAAAqwJ,GAAA,SAAAlvJ,GAAmBnB,KAAAswJ,SAAAnvJ,EAAAnB,KAAAsoJ,UAAA,GAAkC+H,GAAApvJ,UAAA4a,KAAA,WAA6B,GAAA7b,KAAAsoJ,YAAAtoJ,KAAAswJ,SAAAn7I,OAAA,UAAAhG,EAAqD,OAAAnP,KAAAswJ,SAAAj7B,OAAAr1H,KAAAsoJ,cAA8C+H,GAAApvJ,UAAAknJ,QAAA,WAAiC,OAAAnoJ,KAAAsoJ,UAAAtoJ,KAAAswJ,SAAAn7I,QAA2Ck7I,GAAApvJ,UAAAw3G,OAAA,WAAgC,UAAAztF,GAAYwsG,GAAAxyH,KAAA,WAAoB,IAAA7D,EAAAiH,EAAAlG,EAAAvB,EAAA4U,EAAAq6B,UAAA,GAA2B,OAAAA,UAAAztC,OAAA,OAAAxB,EAAA,SAAAQ,EAAAiH,GAA+C,OAAAjH,EAAAgtI,UAAA/lI,SAAsBmN,EAAAvQ,KAAArE,GAAgB,OAAAivC,UAAAztC,OAAAD,EAAA0tC,UAAA,GAAAjvC,EAAA,SAAAQ,EAAAiH,GAAuD,OAAAlG,EAAAic,QAAAhd,EAAAiH,IAAsBmN,EAAAvQ,KAAArE,OAAW,CAAK,OAAAivC,UAAAztC,OAAA,CAAyBiG,EAAAmN,EAAAjT,MAAAstC,UAAA,GAAAA,UAAA,IAAAxnC,EAAApD,OAA8C,IAAAw4B,EAAAjoB,EAAAjT,MAAA,EAAAstC,UAAA,IAAAl7B,OAAAtM,EAAAmN,EAAAjT,MAAAstC,UAAA,GAAAr6B,EAAApT,SAAuE,IAAAoT,EAAAozB,OAAA,EAAApzB,EAAApT,QAAAhB,EAAA,EAA6BA,EAAAq8B,EAAAr7B,OAAWhB,IAAAoU,EAAA3U,KAAA48B,EAAAr8B,IAAiB,OAAO,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAmN,EAAAjT,MAAAstC,UAAA,GAAAA,UAAA,IAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAA,SAAAQ,EAAAiH,GAAwE,OAAAlG,EAAAic,QAAAhd,EAAAiH,IAAsBA,EAAApD,KAAArE,GAAA68B,EAAAjoB,EAAAjT,MAAA,EAAAstC,UAAA,IAAAl7B,OAAAtM,EAAAmN,EAAAjT,MAAAstC,UAAA,GAAAr6B,EAAApT,SAAAoT,EAAAozB,OAAA,EAAApzB,EAAApT,QAAAhB,EAAA,EAAuGA,EAAAq8B,EAAAr7B,OAAWhB,IAAAoU,EAAA3U,KAAA48B,EAAAr8B,IAAiB,UAASq2H,GAAA+4B,OAAA,SAAApvJ,GAAuB,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAA,EAAAvB,EAAAQ,EAAAgB,OAA+BD,EAAAvB,EAAIuB,IAAAkG,EAAAo8C,IAAArjD,EAAAe,IAAgB,OAAAkG,GAASA,EAAAixD,GAAAp4D,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA9tF,MAAWA,GAAAm3F,kBAAA,SAAArvJ,GAAmC,OAAAA,GAAU,KAAAk4D,GAAAkkE,MAAA,OAAAlkE,GAAAo3F,UAAkC,KAAAp3F,GAAAq3F,KAAA,OAAAr3F,GAAAs3F,SAAgC,KAAAt3F,GAAAu3F,SAAA,OAAAv3F,GAAAw3F,aAAwC,KAAAx3F,GAAA08D,EAAA,OAAA18D,GAAAy3F,MAA0B,KAAAz3F,GAAA/c,EAAA,OAAA+c,GAAA03F,MAA0B,KAAA13F,GAAAlxB,EAAA,OAAAkxB,GAAA23F,MAA0B,UAAArwJ,EAAA,4BAAAQ,IAA2Ck4D,GAAA43F,iBAAA,SAAA9vJ,GAAiC,OAAA60H,EAAAnpG,YAAA1rB,IAAyB,KAAAk4D,GAAAo3F,UAAA,OAAAp3F,GAAAkkE,MAAkC,KAAAlkE,GAAAs3F,SAAA,OAAAt3F,GAAAq3F,KAAgC,KAAAr3F,GAAAw3F,aAAA,OAAAx3F,GAAAu3F,SAAwC,KAAAv3F,GAAAy3F,MAAA,OAAAz3F,GAAA08D,EAA0B,KAAA18D,GAAA03F,MAAA,OAAA13F,GAAA/c,EAA0B,KAAA+c,GAAA23F,MAAA,OAAA33F,GAAAlxB,EAA0B,UAAAxnC,EAAA,6BAAAQ,IAA4Ck4D,GAAA08D,EAAA,EAAA18D,GAAA/c,EAAA,EAAA+c,GAAAlxB,EAAA,EAAAkxB,GAAAkkE,OAAA,EAAAlkE,GAAAq3F,MAAA,EAAAr3F,GAAAu3F,UAAA,EAAAv3F,GAAAo3F,UAAA,IAAAp3F,GAAAs3F,SAAA,IAAAt3F,GAAAw3F,aAAA,IAAAx3F,GAAAy3F,MAAA,IAAAz3F,GAAA03F,MAAA,IAAA13F,GAAA23F,MAAA,IAAA5oJ,EAAAqvH,GAAAx2H,UAAA,CAAwKS,OAAA,SAAAP,KAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1vB,MAAWrvH,EAAAsvH,GAAAz2H,UAAA,CAAkBS,OAAA,SAAAP,EAAAiH,KAAsB8oJ,OAAA,aAAoBC,kBAAA,aAA+Bt7B,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAzvB,MAAWh6F,EAAAi6F,GAAAvvF,GAAAhgC,EAAAuvH,GAAA12H,UAAA,CAA0BwsJ,wBAAA,WAAmC,QAAAtsJ,EAAA,IAAAknC,EAAAjgC,EAAA,EAAoBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,EAAA2nJ,gBAAA9oJ,KAAA4G,WAAAwB,GAAAinI,uBAAgE,OAAAluI,GAASyrJ,aAAA,SAAAzrJ,GAA0B,OAAAnB,KAAA4G,WAAAzF,IAA0BurJ,aAAA,WAAyB,OAAAtkH,EAAAukH,8BAAsC/3H,eAAA,WAA2B,QAAAzzB,EAAA,IAAAU,MAAA7B,KAAAqoI,gBAAAzkG,KAAA,MAAAx7B,GAAA,EAAAlG,EAAA,EAA6DA,EAAAlC,KAAA4G,WAAAzE,OAAyBD,IAAA,QAAAvB,EAAAX,KAAA4G,WAAA1E,GAAA0yB,iBAAArf,EAAA,EAAsDA,EAAA5U,EAAAwB,OAAWoT,IAAAnN,IAAAjH,EAAAiH,GAAAzH,EAAA4U,GAAkB,OAAApU,GAASmrD,QAAA,WAAoB,QAAAnrD,EAAA,EAAAiH,EAAA,EAAgBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,GAAAnB,KAAA4G,WAAAwB,GAAAkkD,UAAoC,OAAAnrD,GAAS4rJ,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,IAAA5vC,KAAAoxJ,kBAAAjwJ,GAAA,SAAuC,IAAAe,EAAAf,EAAQ,GAAAnB,KAAA4G,WAAAzE,SAAAD,EAAA0E,WAAAzE,OAAA,SAAyD,QAAAxB,EAAA,EAAYA,EAAAX,KAAA4G,WAAAzE,OAAyBxB,IAAA,IAAAX,KAAA4G,WAAAjG,GAAAosJ,YAAA7qJ,EAAA0E,WAAAjG,GAAAyH,GAAA,SAAmE,SAAS,OAAAggC,EAAAnnC,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAqDvC,UAAA,WAAsB,QAAAlsC,EAAA,EAAYA,EAAAnB,KAAA4G,WAAAzE,OAAyBhB,IAAAnB,KAAA4G,WAAAzF,GAAAksC,YAAmCmqF,GAAAxyH,KAAAhF,KAAA4G,aAAyBw8H,cAAA,WAA0B,OAAApjI,KAAAm6G,UAAA,KAAAn6G,KAAA4G,WAAA,GAAAw8H,iBAA8DiuB,qBAAA,WAAiC,QAAAlwJ,EAAAk4D,GAAAkkE,MAAAn1H,EAAA,EAAuBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,EAAA4C,KAAA0K,IAAAtN,EAAAnB,KAAA4G,WAAAwB,GAAAipJ,wBAA4D,OAAAlwJ,GAAS64H,aAAA,WAAyB,QAAA74H,EAAAk4D,GAAAkkE,MAAAn1H,EAAA,EAAuBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,EAAA4C,KAAA0K,IAAAtN,EAAAnB,KAAA4G,WAAAwB,GAAA4xH,gBAAoD,OAAA74H,GAAS+hJ,UAAA,WAAsB,QAAA/hJ,EAAA,EAAAiH,EAAA,EAAgBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,GAAAnB,KAAA4G,WAAAwB,GAAA86I,YAAsC,OAAA/hJ,GAASknI,aAAA,WAAyB,QAAAlnI,EAAA,EAAAiH,EAAA,EAAgBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,GAAAnB,KAAA4G,WAAAwB,GAAAigI,eAAyC,OAAAlnI,GAAS0/H,iBAAA,WAA6B,OAAA7gI,KAAA4G,WAAAzE,QAA8B8F,QAAA,WAAoB,QAAA9G,EAAAnB,KAAA4G,WAAAzE,OAAAiG,EAAA,IAAAvG,MAAAV,GAAAyiC,KAAA,MAAA1hC,EAAA,EAA+DA,EAAAlC,KAAA4G,WAAAzE,OAAyBD,IAAAkG,EAAAlG,GAAAlC,KAAA4G,WAAA1E,GAAA+F,UAAsC,OAAAjI,KAAAm4H,aAAAm5B,yBAAAlpJ,IAAqDilJ,mBAAA,WAA+B,OAAAz9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAAmvH,GAAAC,GAAA+4B,OAAAvwJ,KAAA4G,aAAA1E,EAAA,IAAAq1H,GAAAC,GAAA+4B,OAAApvJ,EAAAyF,aAA0F,OAAA5G,KAAAme,QAAA/V,EAAAlG,GAAyB,OAAA0tC,UAAAztC,OAAA,CAAyB,QAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAA78B,EAAAmB,EAAA9B,KAAA6gI,mBAAAvgI,EAAAk9B,EAAAqjG,mBAAAz/H,EAAA,EAA+FA,EAAAU,GAAAV,EAAAd,GAAS,CAAE,IAAAyR,EAAA/R,KAAA4sJ,aAAAxrJ,GAAAs8B,EAAAF,EAAAovH,aAAAxrJ,GAAAO,EAAAoQ,EAAAs7I,mBAAA3vH,EAAAnoB,GAA2E,OAAA5T,EAAA,OAAAA,EAAkBP,IAAI,OAAAA,EAAAU,EAAA,EAAAV,EAAAd,GAAA,MAAuBiC,MAAA,WAAkB,GAAAmtG,EAAA9/D,UAAA,GAAAlO,GAAA,QAAAvgC,EAAAyuC,UAAA,GAAAxnC,EAAA,EAAgDA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAApI,KAAA4G,WAAAwB,GAAA7F,MAAApB,QAAgC,GAAAuuG,EAAA9/D,UAAA,GAAA8nF,IAAA,CAA4B,IAAAx1H,EAAA0tC,UAAA,GAAmB,OAAA5vC,KAAA4G,WAAAzE,OAAA,YAA0C,IAAAiG,EAAA,EAAYA,EAAApI,KAAA4G,WAAAzE,SAAAnC,KAAA4G,WAAAwB,GAAA7F,MAAAL,MAAAgvJ,UAAoE9oJ,KAAKlG,EAAAivJ,qBAAAnxJ,KAAAgtJ,uBAA8C,GAAAt9C,EAAA9/D,UAAA,GAAA6nF,IAAA,CAA4B,IAAA92H,EAAAivC,UAAA,GAAmBjvC,EAAAe,OAAA1B,MAAe,IAAAoI,EAAA,EAAYA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAApI,KAAA4G,WAAAwB,GAAA7F,MAAA5B,QAAgC,GAAA+uG,EAAA9/D,UAAA,GAAAha,GAAA,CAA2B,IAAArgB,EAAAq6B,UAAA,GAAmBr6B,EAAA7T,OAAA1B,MAAe,IAAAoI,EAAA,EAAYA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAApI,KAAA4G,WAAAwB,GAAA7F,MAAAgT,KAAiCg8I,YAAA,WAAwB,OAAAvxJ,KAAAwtJ,2BAAAxtJ,MAAAwU,EAAAgzI,uBAAA,MAA2Eh+G,MAAA,WAAkB,IAAAroC,EAAAinC,EAAAnnC,UAAAuoC,MAAAx4B,KAAAhR,MAAmCmB,EAAAyF,WAAA,IAAA/E,MAAA7B,KAAA4G,WAAAzE,QAAAyhC,KAAA,MAA0D,QAAAx7B,EAAA,EAAYA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAAjH,EAAAyF,WAAAwB,GAAApI,KAAA4G,WAAAwB,GAAAohC,QAA+C,OAAAroC,GAASqwJ,gBAAA,WAA4B,4BAA2BvpC,KAAA,WAAiB,QAAA9mH,EAAA,IAAAU,MAAA7B,KAAA4G,WAAAzE,QAAAyhC,KAAA,MAAAx7B,EAAA,EAA2DA,EAAAjH,EAAAgB,OAAWiG,IAAAjH,EAAAiH,GAAApI,KAAA4G,WAAAwB,GAAA6/G,OAAmC,WAAA0P,GAAAx2H,EAAAnB,KAAA+5B,UAA8BogF,QAAA,WAAoB,QAAAh5G,EAAA,EAAYA,EAAAnB,KAAA4G,WAAAzE,OAAyBhB,IAAA,IAAAnB,KAAA4G,WAAAzF,GAAAg5G,UAAA,SAA8C,UAAS0b,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxvB,MAAWA,GAAAuwB,kBAAA,mBAAAxqH,EAAAm6F,GAAAF,IAAAvvH,EAAAyvH,GAAA52H,UAAA,CAAmEyrJ,aAAA,WAAwB,OAAAtkH,EAAA0lH,2BAAmCf,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,QAAA5vC,KAAAoxJ,kBAAAjwJ,IAAAw2H,GAAA12H,UAAA8rJ,YAAA/7I,KAAAhR,KAAAmB,EAAAiH,GAA2E,OAAAuvH,GAAA12H,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAsDyhH,qBAAA,WAAiC,OAAArxJ,KAAAu/H,WAAAlmE,GAAAkkE,MAAA,GAAkCgC,SAAA,WAAqB,GAAAv/H,KAAAm6G,UAAA,SAA2B,QAAAh5G,EAAA,EAAYA,EAAAnB,KAAA4G,WAAAzE,OAAyBhB,IAAA,IAAAnB,KAAA4G,WAAAzF,GAAAo+H,WAAA,SAA+C,UAC/v+BvF,aAAA,WAAyB,UAAS/xH,QAAA,WAAoB,QAAA9G,EAAAnB,KAAA4G,WAAAzE,OAAAiG,EAAA,IAAAvG,MAAAV,GAAAyiC,KAAA,MAAA1hC,EAAA,EAA+DA,EAAAlC,KAAA4G,WAAAzE,OAAyBD,IAAAkG,EAAAjH,EAAA,EAAAe,GAAAlC,KAAA4G,WAAA1E,GAAA+F,UAA0C,OAAAjI,KAAAm4H,aAAAs5B,sBAAArpJ,IAAkDmpJ,YAAA,WAAwB,WAAAz5B,GAAA93H,MAAAuxJ,eAAkCC,gBAAA,WAA4B,yBAAwBvpC,KAAA,WAAiB,QAAA9mH,EAAA,IAAAU,MAAA7B,KAAA4G,WAAAzE,QAAAyhC,KAAA,MAAAx7B,EAAA,EAA2DA,EAAAjH,EAAAgB,OAAWiG,IAAAjH,EAAAiH,GAAApI,KAAA4G,WAAAwB,GAAA6/G,OAAmC,WAAA4P,GAAA12H,EAAAnB,KAAA+5B,UAA8B87F,YAAA,WAAwB,OAAAwB,KAAW8vB,SAAA,WAAqB,OAAAtvB,MAAWA,GAAAqwB,iBAAA,mBAAA9/I,EAAA0vH,GAAA72H,UAAA,CAAyDywJ,wBAAA,SAAAvwJ,GAAoC,GAAAnB,KAAA8G,KAAAqzG,UAAA,OAAAn6G,KAAA2xJ,qBAAwD,IAAAvpJ,EAAApI,KAAA4xJ,2BAAAzwJ,GAAyC,WAAAiH,EAAAjG,OAAAnC,KAAA+3H,SAAA85B,YAAAzpJ,EAAA,IAAApI,KAAA+3H,SAAA+5B,2BAAA1pJ,IAAgGmpJ,YAAA,WAAwB,OAAAvxJ,KAAA8G,gBAAA8xH,GAAA54H,KAAA+xJ,mBAAA/xJ,KAAA8G,MAAA9G,KAAA8G,gBAAA+wH,GAAA73H,KAAA0xJ,wBAAA1xJ,KAAA8G,MAAA9G,KAAA8G,KAAAyqJ,eAA0JQ,mBAAA,SAAA5wJ,GAAgC,GAAAnB,KAAA8G,KAAAqzG,UAAA,OAAAn6G,KAAA2xJ,qBAAwD,GAAAxwJ,EAAAo+H,WAAA,CAAiB,IAAAn3H,EAAApI,KAAAg4H,OAAAmc,aAAA,GAAkC,OAAA/rI,EAAAjH,EAAA6wJ,gBAAAhyJ,KAAA+3H,SAAAk6B,mBAA4D,OAAAjyJ,KAAA+3H,SAAAk6B,iBAAA,CAAA9wJ,EAAA6wJ,gBAAA7wJ,EAAA+wJ,iBAA2EP,mBAAA,WAA+B,OAAA3xJ,KAAA+3H,SAAAk6B,oBAAwCL,2BAAA,SAAAzwJ,GAAwC,IAAAiH,EAAA,IAAA8hB,EAAYlqB,KAAAi4H,YAAA,IAAA3+D,GAAwB,QAAAp3D,EAAA,EAAYA,EAAAf,EAAA0/H,mBAAuB3+H,IAAA,CAAK,IAAAvB,EAAAQ,EAAAyrJ,aAAA1qJ,GAAwB,IAAAvB,EAAA0nI,iBAAAroI,KAAAmyJ,YAAAxxJ,EAAAyxJ,eAAA,IAAApyJ,KAAAmyJ,YAAAxxJ,EAAAyxJ,eAAAzxJ,EAAA0nI,eAAA,KAAqH,QAAA9yH,EAAAvV,KAAAi4H,YAAAw3B,WAAA/gE,WAAiDn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA07B,EAAAsyH,WAAAxvJ,EAAAwB,EAAA+zB,MAAwC71B,KAAAg4H,OAAAmc,aAAA7zI,IAAA8H,EAAAo8C,IAAAhnB,EAAAuyH,UAA+C,OAAAx5B,EAAAgyB,kBAAAngJ,IAA8B+pJ,YAAA,SAAAhxJ,GAAyB,IAAAiH,EAAApI,KAAAi4H,YAAA3/G,IAAAnX,GAA8B,OAAAiH,MAAA,IAAA+N,GAAAnW,KAAAi4H,YAAA+D,IAAA76H,EAAAiH,MAAAytB,SAAyDggG,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArvB,MAAWA,GAAAy5B,YAAA,WAA4B,OAAA3hH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA0vH,GAAA32H,GAA+B,OAAAiH,EAAAmpJ,cAAuB,OAAA3hH,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAxnC,EAAA,IAAA0vH,GAAA51H,EAAAvB,GAAgD,OAAAyH,EAAAmpJ,gBAAwBnpJ,EAAA+N,GAAAlV,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAhxI,MAAW/N,EAAAswH,GAAAz3H,UAAA,CAAkB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAzuB,MAAWA,GAAA25B,MAAA,SAAAlxJ,EAAAiH,GAAyB,QAAAlG,EAAA,IAAAL,MAAAuG,GAAAw7B,KAAA,MAAAjjC,EAAA,EAAsCA,EAAAyH,EAAIzH,IAAAuB,EAAAvB,GAAAQ,EAAW,WAAAurB,OAAAxqB,IAAqBw2H,GAAA45B,cAAA,WAA6B,OAAA1iH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAAmwH,GAAAr2H,EAAA,IAAAk2H,GAAAhwH,GAAwC,OAAAjH,EAAAoxJ,gBAAArwJ,GAAAkG,EAAAglB,WAAyC,OAAAwiB,UAAAztC,OAAA,CAAyB,QAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAA,GAAA17B,EAAA,IAAAu2H,GAAAK,GAAA45B,cAAA3xJ,IAAAL,EAAA,IAAAm4H,GAAA32H,GAAAV,EAAA,EAAyFA,EAAAmU,EAAInU,IAAA,IAAQo8B,GAAAl9B,EAAAkyJ,WAAA95B,GAAA+5B,QAA2B,MAAAtxJ,GAAS,KAAAA,aAAAq3H,IAAA,MAAAr3H,EAA8BqT,EAAAgzI,uBAAkC,OAAAhqH,IAAUk7F,GAAAvrG,MAAA,SAAAhsB,EAAAiH,GAAwB,QAAAlG,EAAAkG,EAAAjG,OAAAxB,EAAA,IAAAupB,EAAA3U,EAAA,GAAApU,EAAAq8B,EAAAjoB,EAAAvS,QAAAoF,GAAiDo1B,GAAA,GAAK,CAAE,IAAA17B,EAAAyT,EAAAgkF,UAAA,EAAA/7D,GAAuB78B,EAAA6jD,IAAA1iD,GAAAyT,IAAAgkF,UAAA/7D,EAAAt7B,GAAAs7B,EAAAjoB,EAAAvS,QAAAoF,GAA2CmN,EAAApT,OAAA,GAAAxB,EAAA6jD,IAAAjvC,GAAqB,QAAAjV,EAAA,IAAAuB,MAAAlB,EAAAwU,QAAAyuB,KAAA,MAAAxiC,EAAA,EAA6CA,EAAAd,EAAA6B,OAAWf,IAAAd,EAAAc,GAAAT,EAAA2X,IAAAlX,GAAkB,OAAAd,GAASo4H,GAAAtrG,SAAA,WAAwB,OAAAwiB,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA8oF,GAAAg6B,uBAAAljI,OAAAruB,KAA4Cu3H,GAAAi6B,OAAA,SAAAxxJ,GAAuB,OAAAu3H,GAAA25B,MAAA,IAAAlxJ,IAAuBu3H,GAAA+5B,QAAAtqH,EAAAqkH,YAAA,kBAAA9zB,GAAAg6B,uBAAA,IAAAp6B,GAAA,OAAAlwH,EAAAuwH,GAAA13H,UAAA,CAAoG40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAxuB,MAAWA,GAAAi6B,UAAA,SAAAzxJ,EAAAiH,EAAAlG,EAAAvB,GAAiC,QAAA4U,EAAAxR,KAAAyiC,IAAArlC,EAAA64H,eAAA93H,EAAA83H,gBAAAx8F,EAAA,EAA0DA,EAAAjoB,EAAIioB,IAAAt7B,EAAAulJ,YAAA9mJ,EAAA68B,EAAAr8B,EAAAumJ,YAAAt/I,EAAAo1B,KAA0Cm7F,GAAAg2B,OAAA,SAAAxtJ,GAAuB,IAAAiH,EAAAjH,EAAAgU,OAAe,WAAA/M,QAAA,IAAAjH,EAAAumJ,YAAA,EAAAp/G,EAAAzc,KAAA1qB,EAAAumJ,YAAAt/I,EAAA,EAAAkgC,EAAAzc,IAAA1qB,EAAAumJ,YAAA,EAAAp/G,EAAA+tF,KAAAl1H,EAAAumJ,YAAAt/I,EAAA,EAAAkgC,EAAA+tF,IAAsHsC,GAAAt8G,QAAA,SAAAlb,EAAAiH,GAA0B,IAAAlG,EAAAf,EAAAgU,OAAAxU,EAAAyH,EAAA+M,OAA0B,GAAAjT,IAAAvB,EAAA,SAAkB,QAAA68B,EAAAz5B,KAAAyiC,IAAArlC,EAAA64H,eAAA5xH,EAAA4xH,gBAAAl4H,EAAA,EAA0DA,EAAAI,EAAIJ,IAAA,QAAAxB,EAAA,EAAgBA,EAAAk9B,EAAIl9B,IAAA,CAAK,IAAAc,EAAAD,EAAAumJ,YAAA5lJ,EAAAxB,GAAAyR,EAAA3J,EAAAs/I,YAAA5lJ,EAAAxB,GAA8C,KAAAa,EAAAumJ,YAAA5lJ,EAAAxB,KAAA8H,EAAAs/I,YAAA5lJ,EAAAxB,IAAAiV,EAAAlG,MAAAjO,IAAAmU,EAAAlG,MAAA0C,IAAA,SAA+E,UAAS4mH,GAAAjuH,OAAA,SAAAvJ,EAAAiH,EAAAlG,GAA2B,IAAAvB,EAAAQ,EAAAyiB,OAAA1hB,EAAAkG,EAAA4xH,gBAAAzkH,EAAAnN,EAAA+M,OAA8C,GAAAwjH,GAAA1Q,KAAA7/G,EAAA,EAAAzH,EAAA,EAAA4U,KAAA,UAAAioB,EAAAjoB,EAAsCioB,EAAAt7B,EAAIs7B,IAAAm7F,GAAA1Q,KAAA7/G,EAAAmN,EAAA,EAAA5U,EAAA68B,EAAA,GAAyB,OAAA78B,GAASg4H,GAAA1wH,QAAA,SAAA9G,GAAwB,QAAAiH,EAAAjH,EAAAgU,OAAA,EAAAjT,EAAA6B,KAAAmjJ,MAAA9+I,EAAA,GAAAzH,EAAA,EAA2CA,GAAAuB,EAAKvB,IAAAg4H,GAAAk6B,KAAA1xJ,EAAAR,EAAAyH,EAAAzH,IAAqBg4H,GAAAk6B,KAAA,SAAA1xJ,EAAAiH,EAAAlG,GAAyB,GAAAkG,IAAAlG,EAAA,YAAqB,QAAAvB,EAAA,EAAYA,EAAAQ,EAAA64H,eAAmBr5H,IAAA,CAAK,IAAA4U,EAAApU,EAAAumJ,YAAAt/I,EAAAzH,GAAyBQ,EAAAsmJ,YAAAr/I,EAAAzH,EAAAQ,EAAAumJ,YAAAxlJ,EAAAvB,IAAAQ,EAAAsmJ,YAAAvlJ,EAAAvB,EAAA4U,KAA4DojH,GAAA1Q,KAAA,SAAA9mH,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAA6B,QAAAioB,EAAA,EAAYA,EAAAjoB,EAAIioB,IAAAm7F,GAAAi6B,UAAAzxJ,EAAAiH,EAAAo1B,EAAAt7B,EAAAvB,EAAA68B,IAA8Bm7F,GAAAvrG,SAAA,WAAwB,OAAAwiB,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAgU,OAA8B,OAAA/M,EAAA,WAAoB,IAAAlG,EAAAf,EAAA64H,eAAAr5H,EAAA,IAAAo1H,EAA+Bp1H,EAAA2oJ,OAAA,KAAc,QAAA/zI,EAAA,EAAYA,EAAAnN,EAAImN,IAAA,CAAKA,EAAA,GAAA5U,EAAA2oJ,OAAA,KAAmB,QAAA9rH,EAAA,EAAYA,EAAAt7B,EAAIs7B,MAAA,GAAA78B,EAAA2oJ,OAAA,KAAA3oJ,EAAA2oJ,OAAA5wB,GAAAtrG,SAAAjsB,EAAAumJ,YAAAnyI,EAAAioB,KAAiE,OAAA78B,EAAA2oJ,OAAA,KAAA3oJ,EAAAysB,aAAmCurG,GAAAm6B,gBAAA,SAAA3xJ,EAAAiH,GAAkC,IAAAlG,EAAAkG,EAAA+M,OAAe,OAAAjT,EAAA,OAAAkG,EAAkB,GAAAlG,GAAA,SAAAy2H,GAAAo6B,iBAAA5xJ,EAAAiH,EAAA,GAA0C,IAAAzH,EAAAyH,EAAAs/I,YAAA,EAAAp/G,EAAAzc,KAAAzjB,EAAAs/I,YAAAxlJ,EAAA,EAAAomC,EAAAzc,IAAAzjB,EAAAs/I,YAAA,EAAAp/G,EAAA+tF,KAAAjuH,EAAAs/I,YAAAxlJ,EAAA,EAAAomC,EAAA+tF,GAAmG,OAAA11H,EAAAyH,EAAAuwH,GAAAo6B,iBAAA5xJ,EAAAiH,EAAAlG,EAAA,IAAwCy2H,GAAAo6B,iBAAA,SAAA5xJ,EAAAiH,EAAAlG,GAAqC,IAAAvB,EAAAQ,EAAAyiB,OAAA1hB,EAAAkG,EAAA4xH,gBAAAzkH,EAAAnN,EAAA+M,OAA8CwjH,GAAA1Q,KAAA7/G,EAAA,EAAAzH,EAAA,EAAA4U,GAAmB,QAAAioB,EAAAjoB,EAAYioB,EAAAt7B,EAAIs7B,IAAAm7F,GAAA1Q,KAAA7/G,EAAA,EAAAzH,EAAA68B,EAAA,GAAuB,OAAA78B,GAAS+8B,EAAAk7F,GAAAxwF,GAAAhgC,EAAAwwH,GAAA33H,UAAA,CAAyBwsJ,wBAAA,WAAmC,OAAAztJ,KAAAm6G,UAAA,IAAA9xE,EAAAroC,KAAAgC,OAAAqqJ,eAAA,IAAAhkH,IAA8DsmH,OAAA,WAAmB,OAAA3uJ,KAAAu/H,YAAAv/H,KAAAgzJ,YAAwCtG,aAAA,WAAyB,OAAAtkH,EAAA6lH,sBAA8Br5H,eAAA,WAA2B,OAAA50B,KAAAgC,OAAAumJ,qBAAuCwE,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,IAAA5vC,KAAAoxJ,kBAAAjwJ,GAAA,SAAuC,IAAAe,EAAAf,EAAQ,GAAAnB,KAAAgC,OAAAmT,SAAAjT,EAAAF,OAAAmT,OAAA,SAAiD,QAAAxU,EAAA,EAAYA,EAAAX,KAAAgC,OAAAmT,OAAqBxU,IAAA,IAAAX,KAAAokD,MAAApkD,KAAAgC,OAAAohI,cAAAziI,GAAAuB,EAAAF,OAAAohI,cAAAziI,GAAAyH,GAAA,SAAsF,SAAS,OAAAggC,EAAAnnC,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAqDvC,UAAA,WAAsB,QAAAlsC,EAAA,EAAYA,EAAA4C,KAAAmjJ,MAAAlnJ,KAAAgC,OAAAmT,OAAA,GAAmChU,IAAA,CAAK,IAAAiH,EAAApI,KAAAgC,OAAAmT,OAAA,EAAAhU,EAA6B,IAAAnB,KAAAgC,OAAAohI,cAAAjiI,GAAA09E,OAAA7+E,KAAAgC,OAAAohI,cAAAh7H,IAAA,OAAApI,KAAAgC,OAAAohI,cAAAjiI,GAAAgtI,UAAAnuI,KAAAgC,OAAAohI,cAAAh7H,IAAA,GAAAuwH,GAAA1wH,QAAAjI,KAAAgC,QAAA,OAAmLohI,cAAA,WAA0B,OAAApjI,KAAAm6G,UAAA,KAAAn6G,KAAAgC,OAAAohI,cAAA,IAAwDiuB,qBAAA,WAAiC,OAAArxJ,KAAAu/H,WAAAlmE,GAAAkkE,MAAA,GAAkCgC,SAAA,WAAqB,OAAAv/H,KAAAm6G,WAAAn6G,KAAAoyJ,eAAA,GAAAjvB,SAAAnjI,KAAAoyJ,eAAApyJ,KAAAqoI,eAAA,KAAmG6pB,YAAA,WAAwB,OAAAlyJ,KAAAm6G,UAAA,KAAAn6G,KAAAizJ,UAAAjzJ,KAAAqoI,eAAA,IAAiErO,aAAA,WAAyB,UAASkpB,UAAA,WAAsB,OAAAhmB,GAAAg2B,cAAAlzJ,KAAAgC,SAAqCqmI,aAAA,WAAyB,OAAAroI,KAAAgC,OAAAmT,QAA0BlN,QAAA,WAAoB,IAAA9G,EAAAnB,KAAAgC,OAAAimH,OAAyB0Q,GAAA1wH,QAAA9G,GAAc,IAAAiH,EAAApI,KAAAm4H,aAAAg7B,iBAAAhyJ,GAA4C,OAAAiH,GAASilJ,mBAAA,WAA+B,OAAAz9G,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAe,EAAA,EAAAvB,EAAA,EAAmCuB,EAAAlC,KAAAgC,OAAAmT,QAAAxU,EAAAyH,EAAApG,OAAAmT,QAAwC,CAAE,IAAAI,EAAAvV,KAAAgC,OAAAohI,cAAAlhI,GAAAisI,UAAA/lI,EAAApG,OAAAohI,cAAAziI,IAAwE,OAAA4U,EAAA,OAAAA,EAAkBrT,IAAAvB,IAAQ,OAAAuB,EAAAlC,KAAAgC,OAAAmT,OAAA,EAAAxU,EAAAyH,EAAApG,OAAAmT,QAAA,IAAqD,OAAAy6B,UAAAztC,OAAA,CAAyB,IAAAq7B,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAxnC,EAAAo1B,EAAsC,OAAA17B,EAAAqc,QAAAne,KAAAgC,OAAAoG,EAAApG,UAAwCO,MAAA,WAAkB,GAAAmtG,EAAA9/D,UAAA,GAAAlO,GAAA,QAAAvgC,EAAAyuC,UAAA,GAAAxnC,EAAA,EAAgDA,EAAApI,KAAAgC,OAAAmT,OAAqB/M,IAAAjH,EAAAO,OAAA1B,KAAAgC,OAAAohI,cAAAh7H,SAA2C,GAAAsnG,EAAA9/D,UAAA,GAAA8nF,IAAA,CAA4B,IAAAx1H,EAAA0tC,UAAA,GAAmB,OAAA5vC,KAAAgC,OAAAmT,OAAA,YAAsC,IAAA/M,EAAA,EAAYA,EAAApI,KAAAgC,OAAAmT,SAAAjT,EAAAR,OAAA1B,KAAAgC,OAAAoG,IAAAlG,EAAAgvJ,UAA4D9oJ,KAAKlG,EAAAivJ,qBAAAnxJ,KAAAgtJ,uBAA8C,GAAAt9C,EAAA9/D,UAAA,GAAA6nF,IAAA,CAA4B,IAAA92H,EAAAivC,UAAA,GAAmBjvC,EAAAe,OAAA1B,WAAe,GAAA0vG,EAAA9/D,UAAA,GAAAha,GAAA,CAA2B,IAAArgB,EAAAq6B,UAAA,GAAmBr6B,EAAA7T,OAAA1B,QAAgBuxJ,YAAA,WAAwB,WAAAz5B,GAAA93H,MAAAuxJ,eAAkCH,kBAAA,SAAAjwJ,GAA+B,OAAAA,aAAAy3H,IAAuBpvF,MAAA,WAAkB,IAAAroC,EAAAinC,EAAAnnC,UAAAuoC,MAAAx4B,KAAAhR,MAAmC,OAAAmB,EAAAa,OAAAhC,KAAAgC,OAAAwnC,QAAAroC,GAAsCixJ,eAAA,SAAAjxJ,GAA4B,OAAAnB,KAAAgC,OAAAohI,cAAAjiI,IAAoCqwJ,gBAAA,WAA4B,oBAAmBvpC,KAAA,WAAiB,WAAA2Q,GAAA54H,KAAAgC,OAAAimH,OAAAjoH,KAAA+5B,UAA+CgmH,sBAAA,WAAkC,OAAA//I,KAAAgC,QAAmBm4G,QAAA,WAAoB,WAAAn6G,KAAAgC,OAAAmT,QAA8Bo5C,KAAA,SAAAptD,GAAkB,UAAAA,MAAAnB,KAAAm4H,aAAAmB,+BAAA11G,OAAA,SAAAziB,EAAAgU,OAAA,UAAAxU,EAAA,iDAAAQ,EAAAgU,OAAA,yBAAyLnV,KAAAgC,OAAAb,GAAciyJ,aAAA,SAAAjyJ,GAA0B,QAAAiH,EAAA,EAAYA,EAAApI,KAAAgC,OAAAmT,OAAqB/M,IAAA,GAAApI,KAAAgC,OAAAohI,cAAAh7H,GAAAy2E,OAAA19E,GAAA,SAAuD,UAAS6wJ,cAAA,WAA0B,OAAAhyJ,KAAAm6G,UAAA,KAAAn6G,KAAAizJ,UAAA,IAA6CA,UAAA,SAAA9xJ,GAAuB,OAAAnB,KAAAm4H,aAAA05B,YAAA7xJ,KAAAgC,OAAAohI,cAAAjiI,KAAmE00H,YAAA,WAAwB,OAAAwB,KAAW8vB,SAAA,WAAqB,OAAAvuB,MAAWA,GAAAsvB,iBAAA,mBAAA9/I,EAAAywH,GAAA53H,UAAA,CAAyD40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAtuB,MAAWn7F,EAAAo7F,GAAA1wF,GAAAhgC,EAAA0wH,GAAA73H,UAAA,CAA0BwsJ,wBAAA,WAAmC,GAAAztJ,KAAAm6G,UAAA,WAAA9xE,EAA+B,IAAAlnC,EAAA,IAAAknC,EAAY,OAAAlnC,EAAA2nJ,gBAAA9oJ,KAAA2F,YAAAymJ,KAAA,GAAApsJ,KAAA2F,YAAA2mJ,KAAA,IAAAnrJ,GAA8EurJ,aAAA,WAAyB,OAAAtkH,EAAA4lH,iBAAyBp5H,eAAA,WAA2B,OAAA50B,KAAAm6G,UAAA,IAAAn6G,KAAAojI,kBAAgD2pB,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,QAAA5vC,KAAAoxJ,kBAAAjwJ,QAAAnB,KAAAm6G,YAAAh5G,EAAAg5G,YAAAn6G,KAAAm6G,YAAAh5G,EAAAg5G,WAAAn6G,KAAAokD,MAAAjjD,EAAAiiI,gBAAApjI,KAAAojI,gBAAAh7H,IAA0J,OAAAggC,EAAAnnC,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAqDvC,UAAA,aAAuB+1F,cAAA,WAA0B,WAAApjI,KAAA2F,YAAAwP,OAAAnV,KAAA2F,YAAAy9H,cAAA,SAA0EiuB,qBAAA,WAAiC,OAAAh4F,GAAAkkE,OAAgBvD,aAAA,WAAyB,UAASqO,aAAA,WAAyB,OAAAroI,KAAAm6G,UAAA,KAA0BlyG,QAAA,WAAoB,OAAAjI,KAAAioH,QAAmBmkC,KAAA,WAAiB,UAAApsJ,KAAAojI,gBAAA,UAAAqoB,sBAAA,8BAA6F,OAAAzrJ,KAAAojI,gBAAAj0H,GAA8Bk+I,mBAAA,WAA+B,OAAAz9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAuB,OAAAnB,KAAAojI,gBAAA+K,UAAA/lI,EAAAg7H,iBAAyD,OAAAxzF,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAxnC,EAAAlG,EAAsC,OAAAvB,EAAAwd,QAAAne,KAAA2F,YAAAyC,EAAAzC,eAAkDpD,MAAA,WAAkB,GAAAmtG,EAAA9/D,UAAA,GAAAlO,GAAA,CAAsB,IAAAvgC,EAAAyuC,UAAA,GAAmB,GAAA5vC,KAAAm6G,UAAA,YAA8Bh5G,EAAAO,OAAA1B,KAAAojI,sBAA+B,GAAA1zB,EAAA9/D,UAAA,GAAA8nF,IAAA,CAA4B,IAAAtvH,EAAAwnC,UAAA,GAAmB,GAAA5vC,KAAAm6G,UAAA,YAA8B/xG,EAAA1G,OAAA1B,KAAA2F,YAAA,GAAAyC,EAAA+oJ,qBAAAnxJ,KAAAgtJ,uBAA2E,GAAAt9C,EAAA9/D,UAAA,GAAA6nF,IAAA,CAA4B,IAAAv1H,EAAA0tC,UAAA,GAAmB1tC,EAAAR,OAAA1B,WAAe,GAAA0vG,EAAA9/D,UAAA,GAAAha,GAAA,CAA2B,IAAAj1B,EAAAivC,UAAA,GAAmBjvC,EAAAe,OAAA1B,QAAgBuxJ,YAAA,WAAwB,OAAAvxJ,KAAAm4H,aAAAm5B,yBAAA,OAAwD9nH,MAAA,WAAkB,IAAAroC,EAAAinC,EAAAnnC,UAAAuoC,MAAAx4B,KAAAhR,MAAmC,OAAAmB,EAAAwE,YAAA3F,KAAA2F,YAAA6jC,QAAAroC,GAAgDqwJ,gBAAA,WAA4B,eAAcvpC,KAAA,WAAiB,WAAA6Q,GAAA94H,KAAA2F,YAAAsiH,OAAAjoH,KAAA+5B,UAAoDgmH,sBAAA,WAAkC,OAAA//I,KAAA2F,aAAwB2mJ,KAAA,WAAiB,UAAAtsJ,KAAAojI,gBAAA,UAAAqoB,sBAAA,8BAA6F,OAAAzrJ,KAAAojI,gBAAAh0H,GAA8B+qG,QAAA,WAAoB,WAAAn6G,KAAA2F,YAAAwP,QAAmCo5C,KAAA,SAAAptD,GAAkB,OAAAA,MAAAnB,KAAAm4H,aAAAmB,+BAAA11G,OAAA,KAAApP,EAAAiuH,OAAAthI,EAAAgU,QAAA,GAAAnV,KAAA2F,YAAAxE,GAAmH6xJ,SAAA,WAAqB,UAASn9B,YAAA,WAAwB,OAAAgD,KAAWsuB,SAAA,WAAqB,OAAAruB,MAAWA,GAAAovB,iBAAA,mBAAA9/I,EAAA2wH,GAAA93H,UAAA,CAAyD40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAApuB,MAAWr7F,EAAAs7F,GAAA5wF,GAAAhgC,EAAA4wH,GAAA/3H,UAAA,CAA0BwsJ,wBAAA,WAAmC,OAAAztJ,KAAA4qE,MAAAykE,uBAAwCqd,aAAA,WAAyB,OAAAtkH,EAAA+lH,mBAA2Bv5H,eAAA,WAA2B,GAAA50B,KAAAm6G,UAAA,SAA2B,QAAAh5G,EAAA,IAAAU,MAAA7B,KAAAqoI,gBAAAzkG,KAAA,MAAAx7B,GAAA,EAAAlG,EAAAlC,KAAA4qE,MAAAh2C,iBAAAj0B,EAAA,EAA2FA,EAAAuB,EAAAC,OAAWxB,IAAAyH,IAAAjH,EAAAiH,GAAAlG,EAAAvB,GAAkB,QAAA4U,EAAA,EAAYA,EAAAvV,KAAAwiF,MAAArgF,OAAoBoT,IAAA,QAAAioB,EAAAx9B,KAAAwiF,MAAAjtE,GAAAqf,iBAAA9yB,EAAA,EAAiDA,EAAA07B,EAAAr7B,OAAWL,IAAAsG,IAAAjH,EAAAiH,GAAAo1B,EAAA17B,GAAkB,OAAAX,GAASmrD,QAAA,WAAoB,IAAAnrD,EAAA,EAAQA,GAAA4C,KAAA6hB,IAAAs3G,GAAAv+C,WAAA3+E,KAAA4qE,MAAAm1E,0BAA+D,QAAA33I,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAAjH,GAAA4C,KAAA6hB,IAAAs3G,GAAAv+C,WAAA3+E,KAAAwiF,MAAAp6E,GAAA23I,0BAAsE,OAAA5+I,GAAS0rJ,YAAA,WAAwB,OAAA7sJ,KAAAqzJ,qBAAA,SAA0C,UAAArzJ,KAAA4qE,MAAA,SAA8B,OAAA5qE,KAAA4qE,MAAAy9D,eAAA,SAA0C,QAAAlnI,EAAAnB,KAAA4qE,MAAAm1E,wBAAA33I,EAAApI,KAAAqvI,sBAAAntI,EAAA,EAA8EA,EAAA,EAAIA,IAAA,CAAK,IAAAvB,EAAAQ,EAAAirJ,KAAAlqJ,GAAgB,GAAAvB,IAAAyH,EAAA4qI,WAAAryI,IAAAyH,EAAA6qI,UAAA,SAA6C,IAAA19H,EAAApU,EAAAmrJ,KAAApqJ,GAAgB,GAAAqT,IAAAnN,EAAAmnI,WAAAh6H,IAAAnN,EAAAknI,UAAA,SAA6C,IAAA9xG,EAAAr8B,EAAAirJ,KAAA,GAAAtqJ,EAAAX,EAAAmrJ,KAAA,OAAApqJ,EAAA,EAAoCA,GAAA,EAAKA,IAAA,CAAKvB,EAAAQ,EAAAirJ,KAAAlqJ,GAAAqT,EAAApU,EAAAmrJ,KAAApqJ,GAAA,IAAA5B,EAAAK,IAAA68B,EAAAp8B,EAAAmU,IAAAzT,EAA4C,GAAAxB,IAAAc,EAAA,SAAkBo8B,EAAA78B,EAAAmB,EAAAyT,EAAQ,UAASw3I,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,IAAA5vC,KAAAoxJ,kBAAAjwJ,GAAA,SAAuC,IAAAe,EAAAf,EAAAR,EAAAX,KAAA4qE,MAAAr1D,EAAArT,EAAA0oE,MAA+B,IAAAjqE,EAAAosJ,YAAAx3I,EAAAnN,GAAA,SAAgC,GAAApI,KAAAwiF,MAAArgF,SAAAD,EAAAsgF,MAAArgF,OAAA,SAA+C,QAAAq7B,EAAA,EAAYA,EAAAx9B,KAAAwiF,MAAArgF,OAAoBq7B,IAAA,IAAAx9B,KAAAwiF,MAAAhlD,GAAAuvH,YAAA7qJ,EAAAsgF,MAAAhlD,GAAAp1B,GAAA,SAAyD,SAAS,OAAAggC,EAAAnnC,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAqDvC,UAAA,WAAsB,OAAAuC,UAAAztC,OAAA,CAAyBnC,KAAAqtC,UAAArtC,KAAA4qE,OAAA,GAA8B,QAAAzpE,EAAA,EAAYA,EAAAnB,KAAAwiF,MAAArgF,OAAoBhB,IAAAnB,KAAAqtC,UAAArtC,KAAAwiF,MAAArhF,IAAA,GAAqCq2H,GAAAxyH,KAAAhF,KAAAwiF,YAAoB,OAAA5yC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,GAAAxnC,EAAA+xG,UAAA,YAA2B,IAAAx5G,EAAA,IAAAkB,MAAAuG,EAAAwsB,iBAAAzyB,OAAA,GAAAyhC,KAAA,MAAwDuE,EAAAokH,UAAAnkJ,EAAAwsB,iBAAA,EAAAj0B,EAAA,EAAAA,EAAAwB,QAA+C,IAAAoT,EAAAghH,EAAA84B,cAAAjnJ,EAAAwsB,kBAA0C2hG,EAAAs4B,OAAAluJ,EAAA4U,GAAA4yB,EAAAokH,UAAA5rJ,EAAA,EAAAyH,EAAAwsB,iBAAA,EAAAj0B,EAAAwB,QAAAiG,EAAAwsB,iBAAAj0B,EAAAwB,QAAAxB,EAAA,GAAAu8H,GAAAo2B,MAAAlrJ,EAAAwsB,oBAAA1yB,GAAAq0H,EAAAtuH,QAAAG,EAAAwsB,oBAAgKwuG,cAAA,WAA0B,OAAApjI,KAAA4qE,MAAAw4D,iBAAkCiwB,mBAAA,WAA+B,OAAArzJ,KAAAwiF,MAAArgF,QAAyBkvJ,qBAAA,WAAiC,UAASr3B,aAAA,WAAyB,UAASkpB,UAAA,WAAsB,IAAA/hJ,EAAA,EAAQA,GAAAnB,KAAA4qE,MAAAs4E,YAA0B,QAAA96I,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAAjH,GAAAnB,KAAAwiF,MAAAp6E,GAAA86I,YAAiC,OAAA/hJ,GAASknI,aAAA,WAAyB,QAAAlnI,EAAAnB,KAAA4qE,MAAAy9D,eAAAjgI,EAAA,EAAwCA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAAjH,GAAAnB,KAAAwiF,MAAAp6E,GAAAigI,eAAoC,OAAAlnI,GAAS8G,QAAA,WAAoB,IAAA9G,EAAAnB,KAAAioH,OAAkB9mH,EAAAypE,MAAA5qE,KAAA4qE,MAAAq9C,OAAAhgH,UAAA9G,EAAAqhF,MAAA,IAAA3gF,MAAA7B,KAAAwiF,MAAArgF,QAAAyhC,KAAA,MAAoF,QAAAx7B,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAAjH,EAAAqhF,MAAAp6E,GAAApI,KAAAwiF,MAAAp6E,GAAA6/G,OAAAhgH,UAA8C,OAAA9G,GAAS2gC,WAAA,WAAuB,OAAA9hC,KAAA8/I,kBAAAh+G,cAA2CurH,mBAAA,WAA+B,OAAAz9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAA4qE,MAAA1oE,EAAAf,EAAAypE,MAA0C,OAAAxiE,EAAAilJ,mBAAAnrJ,GAA+B,OAAA0tC,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAA78B,EAAAmB,GAAAsG,EAAApI,KAAA4qE,MAAA1oE,EAAAs7B,EAAAotC,MAAAxiE,EAAAilJ,mBAAAnrJ,EAAAqT,IAAyF,OAAAzT,EAAA,OAAAA,EAAkB,QAAAxB,EAAAN,KAAAqzJ,qBAAAjyJ,EAAAo8B,EAAA61H,qBAAAthJ,EAAA,EAAiEA,EAAAzR,GAAAyR,EAAA3Q,GAAS,CAAE,IAAAs8B,EAAA19B,KAAAuzJ,iBAAAxhJ,GAAApQ,EAAA67B,EAAA+1H,iBAAAxhJ,GAAAyC,EAAAkpB,EAAA2vH,mBAAA1rJ,EAAA4T,GAAmF,OAAAf,EAAA,OAAAA,EAAkBzC,IAAI,OAAAA,EAAAzR,EAAA,EAAAyR,EAAA3Q,GAAA,MAAuBmB,MAAA,WAAkB,GAAAmtG,EAAA9/D,UAAA,GAAAlO,GAAA,CAAsB,IAAAvgC,EAAAyuC,UAAA,GAAmB5vC,KAAA4qE,MAAAroE,MAAApB,GAAoB,QAAAiH,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAApI,KAAAwiF,MAAAp6E,GAAA7F,MAAApB,QAA2B,GAAAuuG,EAAA9/D,UAAA,GAAA8nF,IAAA,CAA4B,IAAAx1H,EAAA0tC,UAAA,GAAmB,GAAA5vC,KAAA4qE,MAAAroE,MAAAL,MAAAgvJ,SAAA,IAAA9oJ,EAAA,EAA+CA,EAAApI,KAAAwiF,MAAArgF,SAAAnC,KAAAwiF,MAAAp6E,GAAA7F,MAAAL,MAAAgvJ,UAA0D9oJ,KAAKlG,EAAAivJ,qBAAAnxJ,KAAAgtJ,uBAA8C,GAAAt9C,EAAA9/D,UAAA,GAAA6nF,IAAA,CAA4B,IAAA92H,EAAAivC,UAAA,GAAmBjvC,EAAAe,OAAA1B,WAAe,GAAA0vG,EAAA9/D,UAAA,GAAAha,GAAA,CAA2B,IAAArgB,EAAAq6B,UAAA,GAAmBr6B,EAAA7T,OAAA1B,WAAA4qE,MAAAroE,MAAAgT,GAAmC,IAAAnN,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAApI,KAAAwiF,MAAAp6E,GAAA7F,MAAAgT,KAA4Bg8I,YAAA,WAAwB,GAAAvxJ,KAAAm6G,UAAA,OAAAn6G,KAAAm4H,aAAAs5B,wBAAmE,IAAAtwJ,EAAA,IAAAU,MAAA7B,KAAAwiF,MAAArgF,OAAA,GAAAyhC,KAAA,MAAgDziC,EAAA,GAAAnB,KAAA4qE,MAAgB,QAAAxiE,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAAjH,EAAAiH,EAAA,GAAApI,KAAAwiF,MAAAp6E,GAAyB,OAAAjH,EAAAgB,QAAA,EAAAnC,KAAAm4H,aAAAc,iBAAA93H,EAAA,GAAA4+I,yBAAA//I,KAAAm4H,aAAAs5B,sBAAAtwJ,IAA+HqoC,MAAA,WAAkB,IAAAroC,EAAAinC,EAAAnnC,UAAAuoC,MAAAx4B,KAAAhR,MAAmCmB,EAAAypE,MAAA5qE,KAAA4qE,MAAAphC,QAAAroC,EAAAqhF,MAAA,IAAA3gF,MAAA7B,KAAAwiF,MAAArgF,QAAAyhC,KAAA,MAA2E,QAAAx7B,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArgF,OAAoBiG,IAAAjH,EAAAqhF,MAAAp6E,GAAApI,KAAAwiF,MAAAp6E,GAAAohC,QAAqC,OAAAroC,GAASqwJ,gBAAA,WAA4B,iBAAgBvpC,KAAA,WAAiB,QAAA9mH,EAAAnB,KAAA4qE,MAAAq9C,OAAA7/G,EAAA,IAAAvG,MAAA7B,KAAAwiF,MAAArgF,QAAAyhC,KAAA,MAAA1hC,EAAA,EAA0EA,EAAAkG,EAAAjG,OAAWD,IAAAkG,EAAAlG,GAAAlC,KAAAwiF,MAAAtgF,GAAA+lH,OAA8B,WAAA+Q,GAAA73H,EAAAiH,EAAApI,KAAA+5B,UAAgC+lH,gBAAA,WAA4B,OAAA9/I,KAAA4qE,OAAkBuvC,QAAA,WAAoB,OAAAn6G,KAAA4qE,MAAAuvC,WAA4Bo5C,iBAAA,SAAApyJ,GAA8B,OAAAnB,KAAAwiF,MAAArhF,IAAqB00H,YAAA,WAAwB,OAAAkD,KAAWouB,SAAA,WAAqB,OAAAnuB,MAAWA,GAAAkvB,kBAAA,mBAAAxqH,EAAAy7F,GAAAxB,IAAAvvH,EAAA+wH,GAAAl4H,UAAA,CAAmEyrJ,aAAA,WAAwB,OAAAtkH,EAAAylH,sBAA8BvpF,QAAA,WAAoB,UAASyoF,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,QAAA5vC,KAAAoxJ,kBAAAjwJ,IAAAw2H,GAAA12H,UAAA8rJ,YAAA/7I,KAAAhR,KAAAmB,EAAAiH,GAA2E,OAAAuvH,GAAA12H,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAsDwzF,cAAA,WAA0B,OAAAxzF,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA4G,WAAAzF,GAAAiiI,gBAA0C,OAAAzL,GAAA12H,UAAAmiI,cAAA7gI,MAAAvC,KAAA4vC,YAAwDyhH,qBAAA,WAAiC,OAAAh4F,GAAAkkE,OAAgBvD,aAAA,WAAyB,UAASu3B,YAAA,WAAwB,OAAAvxJ,KAAAm4H,aAAAm5B,yBAAA,OAAwDE,gBAAA,WAA4B,oBAAmBvpC,KAAA,WAAiB,QAAA9mH,EAAA,IAAAU,MAAA7B,KAAA4G,WAAAzE,QAAAyhC,KAAA,MAAAx7B,EAAA,EAA2DA,EAAAjH,EAAAgB,OAAWiG,IAAAjH,EAAAiH,GAAApI,KAAA4G,WAAAwB,GAAA6/G,OAAmC,WAAAkR,GAAAh4H,EAAAnB,KAAA+5B,UAA8B87F,YAAA,WAAwB,OAAAgD,KAAWsuB,SAAA,WAAqB,OAAAhuB,MAAWA,GAAA+uB,kBAAA,mBAAAxqH,EAAA07F,GAAAR,IAAAxwH,EAAAgxH,GAAAn4H,UAAA,CAAmEyrJ,aAAA,WAAwB,OAAAtkH,EAAA8lH,sBAA8BmD,qBAAA,WAAiC,OAAAh4F,GAAAkkE,OAAgBgC,SAAA,WAAqB,QAAAv/H,KAAAm6G,WAAAye,GAAA33H,UAAAs+H,SAAAvuH,KAAAhR,OAAyDiI,QAAA,WAAoB,IAAA9G,EAAAnB,KAAAgC,OAAAimH,OAAyB0Q,GAAA1wH,QAAA9G,GAAc,IAAAiH,EAAApI,KAAAm4H,aAAAc,iBAAA93H,GAA4C,OAAAiH,GAASmxH,qBAAA,WAAiC,IAAAv5H,KAAAm6G,YAAAye,GAAA33H,UAAAs+H,SAAAvuH,KAAAhR,MAAA,UAAAW,EAAA,wDAA0H,GAAAX,KAAA+/I,wBAAA5qI,QAAA,GAAAnV,KAAA+/I,wBAAA5qI,OAAAikH,GAAAo6B,mBAAA,UAAA7yJ,EAAA,iDAAAX,KAAA+/I,wBAAA5qI,OAAA,0BAA+Nq8I,gBAAA,WAA4B,oBAAmBvpC,KAAA,WAAiB,WAAAmR,GAAAp5H,KAAAgC,OAAAimH,OAAAjoH,KAAA+5B,UAA+C87F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/tB,MAAWA,GAAAo6B,mBAAA,EAAAp6B,GAAA8uB,kBAAA,mBAAAxqH,EAAA87F,GAAA7B,IAAAvvH,EAAAoxH,GAAAv4H,UAAA,CAA2FyrJ,aAAA,WAAwB,OAAAtkH,EAAA2lH,wBAAgChB,YAAA,WAAwB,OAAAn9G,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,QAAA5vC,KAAAoxJ,kBAAAjwJ,IAAAw2H,GAAA12H,UAAA8rJ,YAAA/7I,KAAAhR,KAAAmB,EAAAiH,GAA2E,OAAAuvH,GAAA12H,UAAA8rJ,YAAAxqJ,MAAAvC,KAAA4vC,YAAsDyhH,qBAAA,WAAiC,UAASr3B,aAAA,WAAyB,UAAS/xH,QAAA,WAAoB,QAAA9G,EAAAnB,KAAA4G,WAAAzE,OAAAiG,EAAA,IAAAvG,MAAAV,GAAAyiC,KAAA,MAAA1hC,EAAA,EAA+DA,EAAAlC,KAAA4G,WAAAzE,OAAyBD,IAAAkG,EAAAlG,GAAAlC,KAAA4G,WAAA1E,GAAA+F,UAAsC,OAAAjI,KAAAm4H,aAAAs7B,mBAAArrJ,IAA+CmpJ,YAAA,WAAwB,GAAAvxJ,KAAAm6G,UAAA,OAAAn6G,KAAAm4H,aAAAs5B,wBAAmE,QAAAtwJ,EAAA,IAAA+oB,EAAA9hB,EAAA,EAAoBA,EAAApI,KAAA4G,WAAAzE,OAAyBiG,IAAA,QAAAlG,EAAAlC,KAAA4G,WAAAwB,GAAAzH,EAAAuB,EAAAqvJ,cAAAh8I,EAAA,EAAuDA,EAAA5U,EAAAkgI,mBAAuBtrH,IAAApU,EAAAqjD,IAAA7jD,EAAAisJ,aAAAr3I,IAA6B,IAAAioB,EAAA,IAAA37B,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAA5jC,KAAAm4H,aAAAs5B,sBAAAtwJ,EAAAiiF,QAAA5lD,KAA6Dg0H,gBAAA,WAA4B,sBAAqBvpC,KAAA,WAAiB,QAAA9mH,EAAA,IAAAU,MAAA7B,KAAA4G,WAAAzE,QAAAyhC,KAAA,MAAAx7B,EAAA,EAA2DA,EAAAjH,EAAAgB,OAAWiG,IAAAjH,EAAAiH,GAAApI,KAAA4G,WAAAwB,GAAA6/G,OAAmC,WAAAuR,GAAAr4H,EAAAnB,KAAA+5B,UAA8B87F,YAAA,WAAwB,OAAAkD,KAAWouB,SAAA,WAAqB,OAAA3tB,MAAWA,GAAA0uB,kBAAA,kBAAA9/I,EAAA8pB,GAAAjxB,UAAA,CAAyDyyJ,gBAAA,SAAAvyJ,GAA4BnB,KAAAy5H,iBAAAt4H,GAAwBwyJ,KAAA,SAAAxyJ,EAAAiH,GAAoB,UAAAjH,EAAA,YAAwB,IAAAe,EAAAlC,KAAA4zJ,aAAAzyJ,EAAAiH,GAA6B,OAAApI,KAAAy5H,kBAAAv3H,EAAAyrJ,YAAAxsJ,EAAAmsJ,eAAAprJ,GAA+D0xJ,aAAA,SAAAzyJ,EAAAiH,GAA4B,cAAApI,KAAA+5B,UAAA/5B,KAAA+5B,QAAA54B,EAAAg3H,cAAAh3H,aAAAw2H,GAAA33H,KAAA6zJ,uBAAA1yJ,EAAAiH,GAAAjH,aAAA63H,GAAAh5H,KAAA8zJ,YAAA3yJ,EAAAiH,GAAAjH,aAAA23H,GAAA1wH,EAAAurJ,KAAAxyJ,EAAAnB,KAAA+5B,SAAA54B,aAAAy3H,GAAAxwH,EAAAurJ,KAAAxyJ,EAAAnB,KAAA+5B,UAAAvlB,EAAAgzI,qBAAA,+BAAArmJ,EAAAgmJ,WAAA4M,WAAA,OAAoTF,uBAAA,SAAA1yJ,EAAAiH,GAAsC,QAAAlG,EAAAkG,EAAAurJ,KAAAxyJ,EAAAnB,KAAA+5B,SAAAp5B,EAAA,IAAAupB,EAAA3U,EAAA,EAA6CA,EAAArT,EAAA2+H,mBAAuBtrH,IAAA,CAAK,IAAAioB,EAAAx9B,KAAA2zJ,KAAAzxJ,EAAA0qJ,aAAAr3I,GAAAnN,GAAqC,OAAAo1B,KAAA28E,WAAAx5G,EAAA6jD,IAAAhnB,GAAgC,OAAAt7B,EAAAilJ,aAAAhuB,GAAAn5H,KAAA+5B,QAAAk4H,iBAAAtxJ,EAAAyiF,QAAA,KAAAlhF,EAAAilJ,aAAAtvB,GAAA73H,KAAA+5B,QAAA03H,sBAAA9wJ,EAAAyiF,QAAA,KAAAlhF,EAAAilJ,aAAA3tB,GAAAx5H,KAAA+5B,QAAA05H,mBAAA9yJ,EAAAyiF,QAAA,KAAApjF,KAAA+5B,QAAAu3H,yBAAA3wJ,EAAAyiF,QAAA,MAAgQ0wE,YAAA,SAAA3yJ,EAAAiH,GAA2B,IAAAlG,EAAAkG,EAAAurJ,KAAAxyJ,EAAAnB,KAAA+5B,SAA6B,UAAA73B,MAAAlC,KAAA+5B,QAAAi6H,cAAA,OAAA9xJ,EAAAi4G,UAAA,OAAAj4G,EAAuE,IAAAvB,EAAAX,KAAA2zJ,KAAAzxJ,EAAA49I,kBAAA13I,GAAuC,UAAAzH,KAAAw5G,UAAA,OAAAn6G,KAAA+5B,QAAAi6H,gBAA6D,QAAAz+I,EAAA,IAAA2U,EAAAsT,EAAA,EAAoBA,EAAAt7B,EAAAmxJ,qBAAyB71H,IAAA,CAAK,IAAA17B,EAAA9B,KAAA2zJ,KAAAzxJ,EAAAqxJ,iBAAA/1H,GAAAp1B,GAAyC,OAAAtG,KAAAq4G,WAAA5kG,EAAAivC,IAAA1iD,GAAgC,OAAA9B,KAAA+5B,QAAAi6H,cAAArzJ,EAAA4U,EAAA6tE,QAAA,MAAmDyyC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAj1H,MAAWA,GAAA+hI,wBAAAv6B,GAAAtxH,EAAAuxH,GAAA14H,UAAA,CAAgD0yJ,KAAA,SAAAxyJ,EAAAiH,GAAmB,OAAAjH,GAAS00H,YAAA,WAAwB,OAAA6D,KAAWytB,SAAA,WAAqB,OAAAxtB,MAAWvxH,EAAAwxH,GAAA34H,UAAA,CAAkB0yJ,KAAA,SAAAxyJ,EAAAiH,GAAmB,IAAAlG,EAAAlC,KAAAk0J,gBAAA/yJ,EAAAyzB,iBAAAzzB,GAAiD,cAAAe,EAAAf,eAAAi4H,GAAAhxH,EAAA6wH,iBAAA/2H,GAAAf,aAAAy3H,GAAAxwH,EAAA+qJ,iBAAAjxJ,GAAAf,aAAA23H,GAAA52H,EAAAC,OAAA,EAAAiG,EAAAypJ,YAAA3vJ,EAAA,IAAAkG,EAAAypJ,cAAA1wJ,GAA+J00H,YAAA,WAAwB,OAAA6D,KAAWytB,SAAA,WAAqB,OAAAvtB,MAAWxxH,EAAAyxH,GAAA54H,UAAA,CAAkB0yJ,KAAA,SAAAxyJ,EAAAiH,GAAmB,OAAAjH,aAAAi4H,GAAAhxH,EAAA6wH,iBAAAj5H,KAAA2zJ,KAAAxyJ,EAAA4+I,wBAAA5+I,iBAAAy3H,GAAAxwH,EAAA+qJ,iBAAAnzJ,KAAA2zJ,KAAAxyJ,EAAA4+I,wBAAA5+I,iBAAA23H,GAAA1wH,EAAAypJ,YAAA7xJ,KAAA2zJ,KAAAxyJ,EAAA4+I,wBAAA5+I,OAAqO00H,YAAA,WAAwB,OAAA6D,KAAWytB,SAAA,WAAqB,OAAAttB,MAAW3nG,GAAAiiI,sBAAAx6B,GAAAznG,GAAA+uH,oBAAArnB,GAAA1nG,GAAAkiI,4BAAAv6B,GAAAzxH,EAAA0xH,GAAA74H,UAAA,CAA0GwmJ,YAAA,SAAAtmJ,EAAAiH,EAAAlG,GAA4B,OAAAkG,GAAU,KAAAkgC,EAAAzc,EAAA7rB,KAAA2F,YAAAxE,GAAAgO,EAAAjN,EAAiC,MAAM,KAAAomC,EAAA+tF,EAAAr2H,KAAA2F,YAAAxE,GAAAiO,EAAAlN,EAAiC,MAAM,KAAAomC,EAAAouF,EAAA12H,KAAA2F,YAAAxE,GAAAugC,EAAAx/B,EAAiC,MAAM,kBAAAvB,EAAA,2BAA8CwU,KAAA,WAAiB,OAAAnV,KAAA2F,YAAAxD,QAA+BulJ,YAAA,SAAAvmJ,EAAAiH,GAA2B,OAAAA,GAAU,KAAAkgC,EAAAzc,EAAA,OAAA7rB,KAAA2F,YAAAxE,GAAAgO,EAAsC,KAAAm5B,EAAA+tF,EAAA,OAAAr2H,KAAA2F,YAAAxE,GAAAiO,EAAsC,KAAAk5B,EAAAouF,EAAA,OAAA12H,KAAA2F,YAAAxE,GAAAugC,EAAsC,OAAAnsB,EAAA8vB,KAAa+9F,cAAA,WAA0B,OAAAxzF,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA2F,YAAAxE,GAA2B,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC1tC,EAAAiN,EAAAnP,KAAA2F,YAAAyC,GAAA+G,EAAAjN,EAAAkN,EAAApP,KAAA2F,YAAAyC,GAAAgH,EAAAlN,EAAAw/B,EAAA1hC,KAAA2F,YAAAyC,GAAAs5B,IAA+Eu4F,kBAAA,SAAA94H,GAA+B,WAAA2Q,EAAA9R,KAAA2F,YAAAxE,KAAkC64H,aAAA,WAAyB,OAAAh6H,KAAAuB,WAAsB6qJ,KAAA,SAAAjrJ,GAAkB,OAAAnB,KAAA2F,YAAAxE,GAAAgO,GAA6Bq6B,MAAA,WAAkB,QAAAroC,EAAA,IAAAU,MAAA7B,KAAAmV,QAAAyuB,KAAA,MAAAx7B,EAAA,EAAgDA,EAAApI,KAAA2F,YAAAxD,OAA0BiG,IAAAjH,EAAAiH,GAAApI,KAAA2F,YAAAyC,GAAAohC,QAAqC,WAAAswF,GAAA34H,EAAAnB,KAAAuB,YAAgC8qJ,eAAA,SAAAlrJ,GAA4B,QAAAiH,EAAA,EAAYA,EAAApI,KAAA2F,YAAAxD,OAA0BiG,IAAAjH,EAAA2nJ,gBAAA9oJ,KAAA2F,YAAAyC,IAA2C,OAAAjH,GAAS8mH,KAAA,WAAiB,QAAA9mH,EAAA,IAAAU,MAAA7B,KAAAmV,QAAAyuB,KAAA,MAAAx7B,EAAA,EAAgDA,EAAApI,KAAA2F,YAAAxD,OAA0BiG,IAAAjH,EAAAiH,GAAApI,KAAA2F,YAAAyC,GAAA6/G,OAAoC,WAAA6R,GAAA34H,EAAAnB,KAAAuB,YAAgC6rB,SAAA,WAAqB,GAAAptB,KAAA2F,YAAAxD,OAAA,GAA8B,IAAAhB,EAAA,IAAA40H,EAAA,GAAA/1H,KAAA2F,YAAAxD,QAAwChB,EAAAmoJ,OAAA,KAAAnoJ,EAAAmoJ,OAAAtpJ,KAAA2F,YAAA,IAA4C,QAAAyC,EAAA,EAAYA,EAAApI,KAAA2F,YAAAxD,OAA0BiG,IAAAjH,EAAAmoJ,OAAA,MAAAnoJ,EAAAmoJ,OAAAtpJ,KAAA2F,YAAAyC,IAAiD,OAAAjH,EAAAmoJ,OAAA,KAAAnoJ,EAAAisB,WAAkC,YAAWk/H,KAAA,SAAAnrJ,GAAkB,OAAAnB,KAAA2F,YAAAxE,GAAAiO,GAA6Bm5I,kBAAA,WAA8B,OAAAvoJ,KAAA2F,aAAwBkwH,YAAA,WAAwB,OAAAvtF,EAAAlnC,IAAY+lJ,SAAA,WAAqB,OAAArtB,MAAWA,GAAAouB,kBAAA,kBAAA9/I,EAAA8xH,GAAAj5H,UAAA,CAAyDozJ,YAAA,WAAuB,OAAAn6B,GAAA7gH,YAAqBuK,OAAA,WAAmB,OAAAgsB,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmB,WAAAkqF,GAAA34H,GAAiB,GAAAuuG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAAlgC,EAAAwnC,UAAA,GAAmB,WAAAkqF,GAAA1xH,SAAkB,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,OAAAjvC,EAAA,IAAAA,EAAA,GAAAA,EAAA,MAAAm5H,GAAA53H,GAAA,IAAA43H,GAAA53H,EAAAvB,KAA6Ck1H,YAAA,WAAwB,OAAArtF,EAAApnC,IAAY+lJ,SAAA,WAAqB,OAAAjtB,MAAWA,GAAA7gH,SAAA,WAAyB,OAAA6gH,GAAAo6B,gBAAyBp6B,GAAAguB,kBAAA,mBAAAhuB,GAAAo6B,eAAA,IAAAp6B,GAAkE,IAAAU,GAAAh7F,GAAAxnB,OAAAC,eAAAk8I,GAAAn6B,GAAA,CAAuCo6B,OAAA75B,GAAAj2E,IAAAq2E,GAAAziH,IAAAuiH,GAAAtiH,IAAAyiH,GAAAjgH,KAAAmgH,GAAA1zG,OAAA4zG,GAAAG,QAAAF,GAAAvkH,QAAAwkH,GAAArsE,MAAAgsE,KAAgFQ,GAAA,oBAAAg5B,SAAAxzJ,UAAAumB,OAAAitI,IAAAF,GAA0D/4B,GAAAv6H,UAAA,IAAAw1H,EAAA+E,GAAAv6H,UAAAqX,IAAA,SAAAnX,GAAgD,OAAAnB,KAAA4gE,KAAAtoD,IAAAnX,IAAA,MAA8Bq6H,GAAAv6H,UAAA+6H,IAAA,SAAA76H,EAAAiH,GAAgC,OAAApI,KAAA4gE,KAAAroD,IAAApX,EAAAiH,MAA4BozH,GAAAv6H,UAAAumB,OAAA,WAAgC,QAAArmB,EAAA,IAAA+oB,EAAA9hB,EAAApI,KAAA4gE,KAAAp5C,SAAAtlB,EAAAkG,EAAAyT,QAAgD3Z,EAAAysF,MAAQxtF,EAAAqjD,IAAAtiD,EAAA+D,OAAA/D,EAAAkG,EAAAyT,OAA2B,OAAA1a,GAASq6H,GAAAv6H,UAAAwuJ,SAAA,WAAkC,IAAAtuJ,EAAA,IAAAy1H,EAAY,OAAA52H,KAAA4gE,KAAA26D,UAAAzkH,QAAA,SAAA1O,GAA+C,OAAAjH,EAAAqjD,IAAAp8C,KAAgBjH,GAAIq6H,GAAAv6H,UAAAkU,KAAA,WAA8B,OAAAnV,KAAA4gE,KAAAzrD,QAAwB/M,EAAAowD,GAAAv3D,UAAA,CAAiB49E,OAAA,SAAA19E,GAAmB,KAAAA,aAAAq3D,IAAA,SAA+B,IAAApwD,EAAAjH,EAAQ,OAAAnB,KAAA07H,YAAAtzH,EAAAszH,WAAA17H,KAAA01B,QAAAttB,EAAAstB,OAA0Dy4G,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAAe,EAAAlC,KAAA00J,8BAAA/zJ,EAAAyH,EAAAssJ,8BAA+E,WAAAn0J,EAAA2B,GAAAisI,UAAA,IAAA5tI,EAAAI,KAAoCm5I,SAAA,WAAqB,OAAA95I,KAAA01B,OAAkBi/H,WAAA,WAAuB,OAAA30J,KAAA07H,YAAAljE,GAAAmjE,UAAA37H,KAAA07H,YAAAljE,GAAAo8F,iBAAyEtlI,QAAA,WAAoB,OAAAtvB,KAAA07H,WAAsBtuG,SAAA,WAAqB,IAAAjsB,EAAA,UAAgB,OAAAnB,KAAA07H,YAAAljE,GAAAmjE,SAAAx6H,EAAA,WAAAnB,KAAA07H,YAAAljE,GAAAo8F,gBAAAzzJ,EAAA,kBAAAnB,KAAA07H,YAAAljE,GAAAqjE,QAAA16H,EAAA,gBAAAnB,KAAA85I,WAAA,KAAA34I,GAA8K0zJ,YAAA,WAAwB,oBAAAjlH,UAAA,IAAkC,IAAAzuC,EAAAyuC,UAAA,GAAmB,GAAAr6B,EAAAlG,MAAAlO,GAAA,OAAAA,EAAuB,GAAAnB,KAAA07H,YAAAljE,GAAAo8F,gBAAA,CAAwC,IAAAxsJ,EAAAjH,EAAQ,OAAAiH,EAAS,OAAApI,KAAA07H,YAAAljE,GAAAqjE,MAAA93H,KAAAkjB,MAAA9lB,EAAAnB,KAAA01B,OAAA11B,KAAA01B,MAAAv0B,EAAuE,GAAAyuC,UAAA,aAAA99B,EAAA,CAA6B,IAAA5P,EAAA0tC,UAAA,GAAmB,GAAA5vC,KAAA07H,YAAAljE,GAAAmjE,SAAA,YAA4Cz5H,EAAAiN,EAAAnP,KAAA60J,YAAA3yJ,EAAAiN,GAAAjN,EAAAkN,EAAApP,KAAA60J,YAAA3yJ,EAAAkN,KAAqDslJ,4BAAA,WAAwC,IAAAvzJ,EAAA,GAAS,OAAAnB,KAAA07H,YAAAljE,GAAAmjE,SAAAx6H,EAAA,GAAAnB,KAAA07H,YAAAljE,GAAAo8F,gBAAAzzJ,EAAA,EAAAnB,KAAA07H,YAAAljE,GAAAqjE,QAAA16H,EAAA,EAAA4C,KAAAmjJ,MAAAnjJ,KAAAo6B,KAAAp6B,KAAA02B,IAAAz6B,KAAA85I,YAAA/1I,KAAA02B,IAAA,OAAAt5B,GAAkL26H,SAAA,SAAA36H,GAAsBnB,KAAA01B,MAAA3xB,KAAA6hB,IAAAzkB,IAAuB00H,YAAA,WAAwB,OAAAz0H,EAAAo8B,IAAY2pH,SAAA,WAAqB,OAAA3uF,MAAWA,GAAAs8F,YAAA,SAAA3zJ,EAAAiH,GAA+B,OAAAjH,EAAAgtI,UAAA/lI,IAAA,EAAAjH,EAAAiH,GAA6BA,EAAAwzH,GAAA36H,UAAA,CAAiBozJ,YAAA,WAAuB,OAAAz4B,GAAAG,cAAAzjH,IAAAtY,KAAAmG,OAAuCinB,SAAA,WAAqB,OAAAptB,KAAAmG,MAAiB0vH,YAAA,WAAwB,OAAAz0H,IAAU+lJ,SAAA,WAAqB,OAAAvrB,MAAWA,GAAAssB,kBAAA,kBAAAtsB,GAAAG,cAAA,IAAAP,GAAAhjE,GAAAu8F,KAAAn5B,GAAApjE,GAAA0vF,iBAAA,mBAAA1vF,GAAAqjE,MAAA,IAAAD,GAAA,SAAApjE,GAAAmjE,SAAA,IAAAC,GAAA,YAAApjE,GAAAo8F,gBAAA,IAAAh5B,GAAA,mBAAApjE,GAAAw8F,oBAAA,iBAAA5sJ,EAAAixH,GAAAp4H,UAAA,CAAgRssJ,WAAA,SAAApsJ,GAAuB,OAAAA,EAAAynJ,SAAA5oJ,KAAA6xJ,YAAA,MAAA1wJ,EAAA6xI,YAAA7xI,EAAA8xI,WAAA9xI,EAAAouI,YAAApuI,EAAAmuI,UAAAtvI,KAAA6xJ,YAAA,IAAA//I,EAAA3Q,EAAA6xI,UAAA7xI,EAAAouI,YAAApuI,EAAA6xI,YAAA7xI,EAAA8xI,WAAA9xI,EAAAouI,YAAApuI,EAAAmuI,UAAAtvI,KAAAmzJ,iBAAA,KAAArhJ,EAAA3Q,EAAA6xI,UAAA7xI,EAAAouI,WAAA,IAAAz9H,EAAA3Q,EAAA8xI,UAAA9xI,EAAAmuI,aAAAtvI,KAAAg0J,cAAAh0J,KAAAi5H,iBAAA,KAAAnnH,EAAA3Q,EAAA6xI,UAAA7xI,EAAAouI,WAAA,IAAAz9H,EAAA3Q,EAAA6xI,UAAA7xI,EAAAmuI,WAAA,IAAAx9H,EAAA3Q,EAAA8xI,UAAA9xI,EAAAmuI,WAAA,IAAAx9H,EAAA3Q,EAAA8xI,UAAA9xI,EAAAouI,WAAA,IAAAz9H,EAAA3Q,EAAA6xI,UAAA7xI,EAAAouI,aAAA,OAAwe4jB,iBAAA,WAA6B,OAAAvjH,UAAAztC,OAAA,OAAAnC,KAAAmzJ,iBAAAnzJ,KAAAs5H,+BAAA11G,OAAA,KAAqG,OAAAgsB,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAmzJ,iBAAA,OAAAhyJ,EAAAnB,KAAAs5H,+BAAA11G,OAAAziB,GAAA,MAA0F,GAAAuuG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAAlgC,EAAAwnC,UAAA,GAAmB,WAAAgpF,GAAAxwH,EAAApI,SAAwByxJ,sBAAA,WAAkC,OAAA7hH,UAAAztC,OAAA,WAAA01H,GAAA,KAAA73H,MAAiD,OAAA4vC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,WAAAioF,GAAA12H,EAAAnB,QAAuBi1J,cAAA,SAAA9zJ,GAA2B,QAAAiH,EAAA,KAAAlG,GAAA,EAAAvB,GAAA,EAAA4U,EAAApU,EAAAutF,WAAwCn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA07B,EAAA2pH,WAA8B,OAAA/+I,MAAAtG,OAAAsG,IAAAlG,GAAA,GAAAs7B,EAAAowH,kCAAAjtJ,GAAA,GAAwE,UAAAyH,EAAA,OAAApI,KAAAsxJ,2BAAmD,GAAApvJ,GAAAvB,EAAA,OAAAX,KAAAsxJ,yBAAAj4B,GAAA67B,gBAAA/zJ,IAAoE,IAAAb,EAAAa,EAAAutF,WAAA7yE,OAAAza,EAAAD,EAAAgU,OAAA,EAAuC,GAAA/T,EAAA,CAAM,GAAAd,aAAA04H,GAAA,OAAAh5H,KAAAyzJ,mBAAAp6B,GAAA87B,eAAAh0J,IAAwE,GAAAb,aAAAs4H,GAAA,OAAA54H,KAAAyxJ,sBAAAp4B,GAAA+7B,kBAAAj0J,IAA8E,GAAAb,aAAAw4H,GAAA,OAAA94H,KAAAiyJ,iBAAA54B,GAAAg8B,aAAAl0J,IAAoEqT,EAAAgzI,qBAAA,oBAAAlnJ,EAAA6mJ,WAAA4M,WAAmE,OAAAzzJ,GAASwxJ,2BAAA,SAAA3wJ,GAAwC,OAAAnB,KAAAiyJ,iBAAA,OAAA9wJ,EAAAnB,KAAAs5H,+BAAA11G,OAAAziB,GAAA,OAA0F0wJ,YAAA,WAAwB,OAAAjiH,UAAAztC,OAAA,OAAAnC,KAAA6xJ,YAAA7xJ,KAAAs5H,+BAAA11G,OAAA,KAAgG,OAAAgsB,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA6xJ,YAAA,OAAA1wJ,EAAAnB,KAAAs5H,+BAAA11G,OAAA,CAAAziB,IAAA,MAAuF,GAAAuuG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAAlgC,EAAAwnC,UAAA,GAAmB,WAAAkpF,GAAA1wH,EAAApI,SAAwBs5H,6BAAA,WAAyC,OAAAt5H,KAAAk8H,2BAAsC83B,cAAA,WAA0B,OAAApkH,UAAAztC,OAAA,WAAA62H,GAAA,UAAAh5H,MAAsD,OAAA4vC,UAAAztC,OAAA,CAAyB,GAAAutG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAAnnC,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAg0J,cAAAh0J,KAAAi5H,iBAAA93H,IAAoD,GAAAyuC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAuG,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAg0J,cAAAh0J,KAAAi5H,iBAAA7wH,IAAoD,GAAAwnC,UAAA,aAAAwpF,GAAA,CAA8B,IAAAl3H,EAAA0tC,UAAA,GAAmB,OAAA5vC,KAAAg0J,cAAA9xJ,EAAA,YAAmC,OAAA0tC,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC,WAAAopF,GAAAr4H,EAAA4U,EAAAvV,QAAyBo2H,QAAA,WAAoB,OAAAp2H,KAAAk2H,MAAiBo7B,yBAAA,WAAqC,OAAA1hH,UAAAztC,OAAA,WAAAw1H,GAAA,KAAA33H,MAAiD,OAAA4vC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,WAAA+nF,GAAAx2H,EAAAnB,QAAuBs1J,eAAA,SAAAn0J,GAA4B,IAAAiH,EAAA,IAAA8pB,GAAAlyB,MAAmB,OAAAoI,EAAAurJ,KAAAxyJ,EAAA,CAAiBwyJ,KAAA,WAAgB,OAAA/jH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAgC,OAAbA,UAAA,GAAa5vC,KAAAk8H,0BAAAt4G,OAAAziB,QAAoD+sI,kBAAA,WAA8B,OAAAluI,KAAAi8H,gBAA2BhD,iBAAA,WAA6B,OAAArpF,UAAAztC,OAAA,OAAAnC,KAAAi5H,iBAAAj5H,KAAAs5H,+BAAA11G,OAAA,KAAqG,OAAAgsB,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAi5H,iBAAA,OAAA93H,EAAAnB,KAAAs5H,+BAAA11G,OAAAziB,GAAA,MAA0F,GAAAuuG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAAlgC,EAAAwnC,UAAA,GAAmB,WAAAwpF,GAAAhxH,EAAApI,SAAwByzJ,mBAAA,WAA+B,OAAA7jH,UAAAztC,OAAA,WAAAq3H,GAAA,KAAAx5H,MAAiD,OAAA4vC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,WAAA4pF,GAAAr4H,EAAAnB,QAAuBiyJ,iBAAA,WAA6B,OAAAriH,UAAAztC,OAAA,WAAAg3H,GAAA,KAAAn5H,MAAiD,OAAA4vC,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmB,WAAAupF,GAAAh4H,EAAAnB,MAAsB,GAAA4vC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAuG,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAiyJ,iBAAA,OAAA7pJ,EAAApI,KAAAs5H,+BAAA11G,OAAAxb,GAAA,MAA0F,GAAAsnG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAApmC,EAAA0tC,UAAA,GAAmB,UAAA1tC,EAAA,OAAAlC,KAAAiyJ,iBAAA,IAAApwJ,MAAA,GAAA+hC,KAAA,OAAkE,QAAAjjC,EAAA,IAAAkB,MAAAK,EAAAiT,QAAAyuB,KAAA,MAAAruB,EAAA,EAA6CA,EAAArT,EAAAiT,OAAWI,IAAA,CAAK,IAAAioB,EAAAx9B,KAAAs5H,+BAAA11G,OAAA,EAAA1hB,EAAA83H,gBAAqErB,GAAA1Q,KAAA/lH,EAAAqT,EAAAioB,EAAA,KAAA78B,EAAA4U,GAAAvV,KAAA6xJ,YAAAr0H,GAA4C,OAAAx9B,KAAAiyJ,iBAAAtxJ,MAAkCk1H,YAAA,WAAwB,OAAAz0H,IAAU+lJ,SAAA,WAAqB,OAAA9tB,MAAWA,GAAAk8B,oBAAA,SAAAp0J,GAAqC,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAA67B,gBAAA,SAAA/zJ,GAAgC,UAAAA,EAAA,YAAwB,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAA8C,oCAAA,WAAmD,OAAAjC,GAAA7gH,YAAqBggH,GAAAm8B,uBAAA,SAAAr0J,GAAuC,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAA+7B,kBAAA,SAAAj0J,GAAkC,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAAo8B,kBAAA,SAAAt0J,GAAkC,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAAq8B,kBAAA,SAAAv0J,GAAkC,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAAg8B,aAAA,SAAAl0J,GAA6B,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAA87B,eAAA,SAAAh0J,GAA+B,IAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAqC,OAAAziC,EAAAiiF,QAAAh7E,IAAoBixH,GAAAs8B,6BAAA,SAAAx0J,EAAAiH,GAA+C,OAAAA,EAAA8lI,oBAAA2mB,YAAA1zJ,GAAAiH,EAAA+vH,aAAA05B,YAAA1wJ,IAA0Ek4H,GAAA6uB,kBAAA,mBAAyC,IAAA0N,GAAA,CAAQC,QAAA,iCAAAC,aAAA,wBAAAnD,OAAA,MAAAoD,WAAA,cAAAC,iBAAA,wBAAAC,WAAA,uBAA+L7tJ,EAAAg0H,GAAAn7H,UAAA,CAAgB6+B,KAAA,SAAA3+B,GAAiB,IAAAiH,EAAAlG,EAAAvB,EAAUQ,IAAAwc,QAAA,eAA2B,IAAApI,EAAAqgJ,GAAAC,QAAAj4H,KAAAz8B,GAAyB,QAAAA,EAAAu3G,OAAA,WAAAnjG,EAAAqgJ,GAAAE,aAAAl4H,KAAAz8B,GAAAoU,EAAA,WAAAA,IAAArT,EAAAqT,EAAA,GAAAuoB,cAClr+Bn9B,EAAA4U,EAAA,GAAA2gJ,GAAAh0J,KAAAkG,EAAA8tJ,GAAAh0J,GAAAK,MAAAvC,KAAA,CAAAW,WAAA,IAAAyH,EAAA,UAAAhG,MAAA,uBAAAjB,GAA8F,OAAAiH,GAAS63B,MAAA,SAAA9+B,GAAmB,OAAAnB,KAAAwpD,gBAAAroD,IAA+BqoD,gBAAA,SAAAroD,GAA6B,IAAAiH,EAAAjH,EAAAqwJ,kBAAA1zH,cAAwC,IAAAq4H,GAAA/tJ,GAAA,YAAsB,IAAAzH,EAAAyH,EAAAykB,cAAwB,OAAA1rB,EAAAg5G,UAAAx5G,EAAA,SAAAA,EAAA,IAAAw1J,GAAA/tJ,GAAA7F,MAAAvC,KAAA,CAAAmB,IAAA,OAAmE,IAAAg1J,GAAA,CAAQp/I,WAAA,SAAA5V,GAAuB,OAAAA,EAAAgO,EAAA,IAAAhO,EAAAiO,GAAmB/L,MAAA,SAAAlC,GAAmB,OAAAg1J,GAAAp/I,WAAA/F,KAAAhR,KAAAmB,EAAAwE,wBAAA,KAA6DywJ,WAAA,SAAAj1J,GAAwB,QAAAiH,EAAA,GAAAlG,EAAA,EAAAvB,EAAAQ,EAAAyF,WAAAzE,OAAuCD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAA,IAAAu1J,GAAA9yJ,MAAAd,MAAAvC,KAAA,CAAAmB,EAAAyF,WAAA1E,KAAA,KAA2D,OAAAkG,EAAArH,KAAA,MAAmB8U,WAAA,SAAA1U,GAAwB,QAAAiH,EAAA,GAAAlG,EAAA,EAAAvB,EAAAQ,EAAAa,OAAA2D,YAAAxD,OAA+CD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAAu1J,GAAAp/I,WAAAxU,MAAAvC,KAAA,CAAAmB,EAAAa,OAAA2D,YAAAzD,MAAgE,OAAAkG,EAAArH,KAAA,MAAmBs1J,WAAA,SAAAl1J,GAAwB,QAAAiH,EAAA,GAAAlG,EAAA,EAAAvB,EAAAQ,EAAAa,OAAA2D,YAAAxD,OAA+CD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAAu1J,GAAAp/I,WAAAxU,MAAAvC,KAAA,CAAAmB,EAAAa,OAAA2D,YAAAzD,MAAgE,OAAAkG,EAAArH,KAAA,MAAmBu1J,gBAAA,SAAAn1J,GAA6B,QAAAiH,EAAA,GAAAlG,EAAA,EAAAvB,EAAAQ,EAAAyF,WAAAzE,OAAuCD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAA,IAAAu1J,GAAAtgJ,WAAAtT,MAAAvC,KAAA,CAAAmB,EAAAyF,WAAA1E,KAAA,KAAgE,OAAAkG,EAAArH,KAAA,MAAmB04B,QAAA,SAAAt4B,GAAqB,IAAAiH,EAAA,GAASA,EAAAxH,KAAA,IAAAu1J,GAAAtgJ,WAAAtT,MAAAvC,KAAA,CAAAmB,EAAAypE,QAAA,KAAoD,QAAA1oE,EAAA,EAAAvB,EAAAQ,EAAAqhF,MAAArgF,OAA6BD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAA,IAAAu1J,GAAAtgJ,WAAAtT,MAAAvC,KAAA,CAAAmB,EAAAqhF,MAAAtgF,KAAA,KAA2D,OAAAkG,EAAArH,KAAA,MAAmBw1J,aAAA,SAAAp1J,GAA0B,QAAAiH,EAAA,GAAAlG,EAAA,EAAAvB,EAAAQ,EAAAyF,WAAAzE,OAAuCD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAA,IAAAu1J,GAAA18H,QAAAl3B,MAAAvC,KAAA,CAAAmB,EAAAyF,WAAA1E,KAAA,KAA6D,OAAAkG,EAAArH,KAAA,MAAmBy1J,mBAAA,SAAAr1J,GAAgC,QAAAiH,EAAA,GAAAlG,EAAA,EAAAvB,EAAAQ,EAAAyF,WAAAzE,OAAuCD,EAAAvB,IAAIuB,EAAAkG,EAAAxH,KAAAZ,KAAAwpD,gBAAAroD,EAAAyF,WAAA1E,KAAkD,OAAAkG,EAAArH,KAAA,OAAoBm1J,GAAA,CAAK7yJ,MAAA,SAAAlC,GAAkB,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAAw1B,cAAwD,IAAAzpJ,EAAAjH,EAAAwrB,OAAAQ,MAAAyoI,GAAAjD,QAAgC,OAAA3yJ,KAAAq8H,gBAAAw1B,YAAA,IAAA//I,EAAAgW,OAAA+V,WAAAz1B,EAAA,IAAA0f,OAAA+V,WAAAz1B,EAAA,OAAgGguJ,WAAA,SAAAj1J,GAAwB,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAA41B,mBAA6D,QAAA7pJ,EAAAlG,EAAAf,EAAAwrB,OAAAQ,MAAA,KAAAxsB,EAAA,GAAA4U,EAAA,EAAAioB,EAAAt7B,EAAAC,OAAoDoT,EAAAioB,IAAIjoB,EAAAnN,EAAAlG,EAAAqT,GAAAoI,QAAAi4I,GAAAK,WAAA,MAAAt1J,EAAAC,KAAAs1J,GAAA7yJ,MAAAd,MAAAvC,KAAA,CAAAoI,KAAwE,OAAApI,KAAAq8H,gBAAA41B,iBAAAtxJ,IAAgDkV,WAAA,SAAA1U,GAAwB,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAA82B,mBAA6D,QAAA/qJ,EAAAlG,EAAAf,EAAAwrB,OAAAQ,MAAA,KAAAxsB,EAAA,GAAA4U,EAAA,EAAAioB,EAAAt7B,EAAAC,OAAoDoT,EAAAioB,IAAIjoB,EAAAnN,EAAAlG,EAAAqT,GAAAoX,OAAAQ,MAAAyoI,GAAAjD,QAAAhyJ,EAAAC,KAAA,IAAAkR,EAAAgW,OAAA+V,WAAAz1B,EAAA,IAAA0f,OAAA+V,WAAAz1B,EAAA,MAAkG,OAAApI,KAAAq8H,gBAAA82B,iBAAAxyJ,IAAgD01J,WAAA,SAAAl1J,GAAwB,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAApD,mBAA6D,QAAA7wH,EAAAlG,EAAAf,EAAAwrB,OAAAQ,MAAA,KAAAxsB,EAAA,GAAA4U,EAAA,EAAAioB,EAAAt7B,EAAAC,OAAoDoT,EAAAioB,IAAIjoB,EAAAnN,EAAAlG,EAAAqT,GAAAoX,OAAAQ,MAAAyoI,GAAAjD,QAAAhyJ,EAAAC,KAAA,IAAAkR,EAAAgW,OAAA+V,WAAAz1B,EAAA,IAAA0f,OAAA+V,WAAAz1B,EAAA,MAAkG,OAAApI,KAAAq8H,gBAAApD,iBAAAt4H,IAAgD21J,gBAAA,SAAAn1J,GAA6B,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAAo1B,wBAAkE,QAAArpJ,EAAAlG,EAAAf,EAAAwrB,OAAAQ,MAAAyoI,GAAAG,YAAAp1J,EAAA,GAAA4U,EAAA,EAAAioB,EAAAt7B,EAAAC,OAA8DoT,EAAAioB,IAAIjoB,EAAAnN,EAAAlG,EAAAqT,GAAAoI,QAAAi4I,GAAAK,WAAA,MAAAt1J,EAAAC,KAAAs1J,GAAArgJ,WAAAtT,MAAAvC,KAAA,CAAAoI,KAA6E,OAAApI,KAAAq8H,gBAAAo1B,sBAAA9wJ,IAAqD84B,QAAA,SAAAt4B,GAAqB,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAA23B,gBAA0D,QAAA5rJ,EAAAlG,EAAAvB,EAAA4U,EAAAioB,EAAAr8B,EAAAwrB,OAAAQ,MAAAyoI,GAAAG,YAAAj0J,EAAA,GAAAxB,EAAA,EAAAc,EAAAo8B,EAAAr7B,OAAoE7B,EAAAc,IAAId,EAAA8H,EAAAo1B,EAAAl9B,GAAAqd,QAAAi4I,GAAAK,WAAA,MAAA/zJ,EAAAg0J,GAAArgJ,WAAAtT,MAAAvC,KAAA,CAAAoI,IAAAzH,EAAAX,KAAAq8H,gBAAApD,iBAAA/2H,EAAAF,QAAA,IAAA1B,EAAAiV,EAAA5U,EAAAmB,EAAAlB,KAAAD,GAA6I,OAAAX,KAAAq8H,gBAAA23B,cAAAz+I,EAAAzT,IAA+Cy0J,aAAA,SAAAp1J,GAA0B,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAAo3B,qBAA+D,QAAArrJ,EAAAlG,EAAAf,EAAAwrB,OAAAQ,MAAAyoI,GAAAI,kBAAAr1J,EAAA,GAAA4U,EAAA,EAAAioB,EAAAt7B,EAAAC,OAAoEoT,EAAAioB,IAAIjoB,EAAAnN,EAAAlG,EAAAqT,GAAAoI,QAAAi4I,GAAAK,WAAA,MAAAt1J,EAAAC,KAAAs1J,GAAAz8H,QAAAl3B,MAAAvC,KAAA,CAAAoI,KAA0E,OAAApI,KAAAq8H,gBAAAo3B,mBAAA9yJ,IAAkD61J,mBAAA,SAAAr1J,GAAgC,YAAAA,EAAA,OAAAnB,KAAAq8H,gBAAAi1B,2BAAqEnwJ,IAAAwc,QAAA,yBAAqC,QAAAvV,EAAAjH,EAAAwrB,OAAAQ,MAAA,KAAAjrB,EAAA,GAAAvB,EAAA,EAAA4U,EAAAnN,EAAAjG,OAAkDxB,EAAA4U,IAAI5U,EAAAuB,EAAAtB,KAAAZ,KAAA8/B,KAAA13B,EAAAzH,KAA4B,OAAAX,KAAAq8H,gBAAAi1B,yBAAApvJ,KAA0DkG,EAAAk0H,GAAAr7H,UAAA,CAAgBg/B,MAAA,SAAA9+B,GAAkB,OAAAnB,KAAAqkE,OAAApkC,MAAA9+B,MAA6BiH,EAAAk0H,GAAA,CAAQm6B,aAAA,SAAAt1J,EAAAiH,GAA2B,OAAAwnC,UAAAztC,OAAA,UAAAC,MAAA,mBAA2D,sBAAAjB,EAAAgO,EAAA,IAAAhO,EAAAiO,EAAA,KAAAhH,EAAA+G,EAAA,IAAA/G,EAAAgH,EAAA,QAAyDhH,EAAAm0H,GAAAt7H,UAAA,CAAkBy1J,qBAAA,SAAAv1J,EAAAiH,GAAmC,OAAApI,KAAA22J,sBAAA32J,KAAA08H,aAAAv7H,GAAAiH,IAA0DwuJ,mBAAA,WAA+B,IAAAz1J,EAAA,IAAA40H,EAAY,OAAA/1H,KAAA62J,cAAA11J,EAAAmoJ,OAAA,aAAAtpJ,KAAA28H,WAAAx7H,EAAAmoJ,OAAA,WAAAtpJ,KAAA82J,eAAA31J,EAAAmoJ,OAAA,cAAAnoJ,EAAAisB,YAA4I2pI,oBAAA,SAAA51J,EAAAiH,EAAAlG,EAAAvB,GAAuCX,KAAAw8H,WAAA,MAAAr7H,EAAAnB,KAAAw8H,WAAA,MAAAp0H,EAAApI,KAAAw8H,WAAA,MAAAt6H,EAAAlC,KAAAw8H,WAAA,MAAA77H,EAAAX,KAAA0/B,OAAA1/B,KAAAg3J,iBAAA71J,EAAAiH,EAAAlG,EAAAvB,IAA2Is2J,mBAAA,WAA+B,OAAAj3J,KAAA0/B,QAAmBi3H,oBAAA,WAAgC,OAAA/mH,UAAAztC,OAAA,OAAAnC,KAAA08H,eAAA18H,KAAA08H,aAAA76H,MAAA,GAAA+hC,OAAAz6B,IAAA,WAAoG,OAAAtH,MAAA,KAAgB7B,KAAA22J,oBAAA,GAAA32J,KAAA22J,oBAAA,SAA2D,OAAA/mH,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAAk3J,gBAAA/1J,EAAA,GAAAe,EAAAlC,KAAAk3J,gBAAA/1J,EAAA,GAA2EiH,EAAAlG,GAAAlC,KAAA08H,aAAAv7H,GAAA,KAAAnB,KAAA08H,aAAAv7H,GAAA,OAAAnB,KAAA08H,aAAAv7H,GAAA,KAAAnB,KAAA08H,aAAAv7H,GAAA,QAAiHg2J,SAAA,WAAqB,OAAAn3J,KAAAkgJ,mBAAAlgJ,KAAA28H,WAA8Ckd,kBAAA,SAAA14I,GAA+BnB,KAAAi8H,eAAA96H,GAAsBi2J,uBAAA,WAAmC,OAAAxnH,UAAAztC,OAAA,QAAAnC,KAAAo3J,uBAAA,MAAAp3J,KAAAo3J,uBAAA,GAAiG,OAAAxnH,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,EAA2BA,EAAApI,KAAA0/B,OAAct3B,IAAA,IAAApI,KAAAy8H,MAAAr0H,GAAA+6H,SAAAnjI,KAAAw8H,WAAAr7H,GAAA,MAAAnB,KAAAy8H,MAAAr0H,GAAA+6H,SAAAnjI,KAAAw8H,WAAAr7H,GAAA,aAA+G,WAAUk2J,gBAAA,SAAAl2J,GAA6B,OAAAnB,KAAAy8H,MAAAt7H,IAAqB01J,WAAA,WAAuB,OAAA72J,KAAAkgJ,oBAAAlgJ,KAAA28H,WAA+CujB,gBAAA,WAA4B,OAAAlgJ,KAAA0/B,SAAA68F,GAAA+6B,iBAAwCJ,gBAAA,SAAA/1J,EAAAiH,GAA+B,IAAAlG,EAAAq6H,GAAAg7B,oBAAAv3J,KAAAy8H,MAAAr0H,GAAApI,KAAAw8H,WAAAr7H,GAAA,GAAAnB,KAAAw8H,WAAAr7H,GAAA,IAAwF,OAAAe,GAAS40J,YAAA,WAAwB,OAAA92J,KAAA0/B,SAAA68F,GAAAi7B,wBAA+CpqI,SAAA,WAAqB,OAAAkvG,GAAAm6B,aAAAz2J,KAAAw8H,WAAA,MAAAx8H,KAAAw8H,WAAA,aAAAF,GAAAm6B,aAAAz2J,KAAAw8H,WAAA,MAAAx8H,KAAAw8H,WAAA,OAAAx8H,KAAA42J,sBAAiKa,YAAA,SAAAt2J,EAAAiH,GAA2B,OAAApI,KAAAw8H,WAAAr7H,GAAAiH,IAA6BsvJ,eAAA,SAAAv2J,GAA4B,QAAAiH,EAAA,EAAYA,EAAApI,KAAA0/B,OAAct3B,IAAA,GAAApI,KAAAy8H,MAAAr0H,GAAA+6H,SAAAhiI,GAAA,SAA0C,UAASw2J,4BAAA,SAAAx2J,EAAAiH,GAA2C,OAAApI,KAAA22J,sBAAA32J,KAAAy8H,MAAAz8H,KAAA08H,aAAAv7H,GAAAiH,KAAsEytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5qB,MAAWA,GAAAg7B,oBAAA,SAAAp2J,EAAAiH,EAAAlG,GAAyC,IAAAvB,EAAAoD,KAAA6hB,IAAA1jB,EAAAiN,EAAA/G,EAAA+G,GAAAoG,EAAAxR,KAAA6hB,IAAA1jB,EAAAkN,EAAAhH,EAAAgH,GAAAouB,GAAA,EAAiD,GAAAr8B,EAAA09E,OAAAz2E,GAAAo1B,EAAA,OAAmB,GAAAr8B,EAAA09E,OAAA38E,GAAAs7B,EAAA78B,EAAA4U,EAAA5U,EAAA4U,MAA8B,CAAK,IAAAzT,EAAAiC,KAAA6hB,IAAAzkB,EAAAgO,EAAA/G,EAAA+G,GAAA7O,EAAAyD,KAAA6hB,IAAAzkB,EAAAiO,EAAAhH,EAAAgH,GAA4CouB,EAAA78B,EAAA4U,EAAAzT,EAAAxB,EAAA,IAAAk9B,GAAAr8B,EAAA09E,OAAAz2E,KAAAo1B,EAAAz5B,KAAA0K,IAAA3M,EAAAxB,IAAgD,OAAAkU,EAAAiuH,SAAA,IAAAjlG,IAAAr8B,EAAA09E,OAAAz2E,IAAA,4BAAAo1B,GAAqE++F,GAAAq7B,6BAAA,SAAAz2J,EAAAiH,EAAAlG,GAAiD,IAAAvB,EAAAQ,EAAAgO,EAAA/G,EAAA+G,EAAAoG,EAAApU,EAAAiO,EAAAhH,EAAAgH,EAAAouB,EAAAz5B,KAAAgR,KAAApU,IAAA4U,KAA6C,OAAAf,EAAAiuH,SAAA,IAAAjlG,IAAAr8B,EAAA09E,OAAAz2E,IAAA,gCAAAo1B,GAAyE++F,GAAAs7B,eAAA,EAAAt7B,GAAAu7B,aAAA,EAAAv7B,GAAAw7B,UAAA,EAAAx7B,GAAA+6B,gBAAA,EAAA/6B,GAAAy7B,mBAAA,EAAAz7B,GAAAi7B,uBAAA,EAAA95H,EAAAm/F,GAAAN,IAAAn0H,EAAAy0H,GAAA57H,UAAA,CAAwJg3J,qBAAA,SAAA92J,GAAiC,IAAAiH,EAAA,IAAAigC,EAAAroC,KAAAw8H,WAAA,MAAAx8H,KAAAw8H,WAAA,OAAAt6H,EAAA,IAAAmmC,EAAAroC,KAAAw8H,WAAA,MAAAx8H,KAAAw8H,WAAA,OAA8G,OAAAp0H,EAAA8gJ,SAAA/nJ,IAAAe,EAAAgnJ,SAAA/nJ,IAAoC41J,oBAAA,WAAgC,OAAAnnH,UAAAztC,OAAA,OAAAo6H,GAAAt7H,UAAA81J,oBAAAx0J,MAAAvC,KAAA4vC,WAAsF,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD,OAAA5vC,KAAA28H,WAAA,EAAAt0F,EAAAmoB,WAAApoD,EAAAlG,EAAAf,IAAA,IAAA+7H,GAAAngG,iBAAA30B,EAAAlG,EAAAf,IAAA,IAAA+7H,GAAAngG,iBAAA76B,EAAAkG,EAAAjH,IAAAnB,KAAA28H,WAAA,GAAAx7H,EAAA09E,OAAAz2E,IAAAjH,EAAA09E,OAAA38E,MAAAlC,KAAA28H,WAAA,GAAA38H,KAAA0/B,OAAA68F,GAAAy7B,mBAAA,WAAAh4J,KAAA0/B,OAAA68F,GAAA+6B,kBAA6PY,mBAAA,SAAA/2J,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAAwCA,EAAApG,EAAAnP,KAAAm4J,mBAAAh3J,EAAAgO,EAAA/G,EAAA+G,EAAAjN,EAAAiN,EAAAxO,EAAAwO,GAAAoG,EAAAnG,EAAApP,KAAAm4J,mBAAAh3J,EAAAiO,EAAAhH,EAAAgH,EAAAlN,EAAAkN,EAAAzO,EAAAyO,GAAAjO,EAAAgO,GAAAoG,EAAApG,EAAAhO,EAAAiO,GAAAmG,EAAAnG,EAAAhH,EAAA+G,GAAAoG,EAAApG,EAAA/G,EAAAgH,GAAAmG,EAAAnG,EAAAlN,EAAAiN,GAAAoG,EAAApG,EAAAjN,EAAAkN,GAAAmG,EAAAnG,EAAAzO,EAAAwO,GAAAoG,EAAApG,EAAAxO,EAAAyO,GAAAmG,EAAAnG,GAAkKgpJ,4BAAA,SAAAj3J,EAAAiH,EAAAlG,EAAAvB,GAA+C,IAAA4U,EAAA,KAAW,IAAIA,EAAAgzB,EAAA2xE,aAAA/4G,EAAAiH,EAAAlG,EAAAvB,GAA0B,MAAA68B,GAAS,KAAAA,aAAA8wC,GAAA,MAAA9wC,EAA6BjoB,EAAAsnH,GAAAw7B,gBAAAl3J,EAAAiH,EAAAlG,EAAAvB,GAAuC,OAAA4U,GAAS2kG,aAAA,SAAA/4G,EAAAiH,EAAAlG,EAAAvB,GAAgC,IAAA4U,EAAAvV,KAAAs4J,8BAAAn3J,EAAAiH,EAAAlG,EAAAvB,GAAkD,OAAAX,KAAAi4J,qBAAA1iJ,OAAA,IAAAzD,EAAA+qH,GAAAw7B,gBAAAl3J,EAAAiH,EAAAlG,EAAAvB,KAAA,OAAAX,KAAAi8H,gBAAAj8H,KAAAi8H,eAAA44B,YAAAt/I,MAA6I4iJ,mBAAA,SAAAh3J,EAAAiH,EAAAlG,EAAAvB,GAAsC,IAAA4U,EAAApU,EAAAq8B,EAAAz5B,KAAA6hB,IAAArQ,GAAsB,OAAAxR,KAAA6hB,IAAAxd,GAAAo1B,IAAAjoB,EAAAnN,EAAAo1B,EAAAz5B,KAAA6hB,IAAAxd,IAAArE,KAAA6hB,IAAA1jB,GAAAs7B,IAAAjoB,EAAArT,EAAAs7B,EAAAz5B,KAAA6hB,IAAA1jB,IAAA6B,KAAA6hB,IAAAjlB,GAAA68B,IAAAjoB,EAAA5U,GAAA4U,GAAoGgjJ,QAAA,SAAAp3J,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAA6B,IAAAioB,EAAA5T,EAAAswF,aAAA/4G,EAAAiH,EAAAlG,EAAAvB,GAAAmB,EAAA9B,KAAAi4J,qBAAAz6H,GAA6D2K,EAAAm7B,IAAAk1F,QAAA,eAAA12J,EAAA,2BAAA07B,GAAAjoB,EAAA7B,SAAA8pB,GAAA,MAAA2K,EAAAm7B,IAAAk1F,QAAA,cAAAjjJ,EAAA7B,SAAA8pB,KAA4H86H,8BAAA,SAAAn3J,EAAAiH,EAAAlG,EAAAvB,GAAiD,IAAA4U,EAAA,IAAAzD,EAAA3Q,GAAAq8B,EAAA,IAAA1rB,EAAA1J,GAAAtG,EAAA,IAAAgQ,EAAA5P,GAAA5B,EAAA,IAAAwR,EAAAnR,GAAAS,EAAA,IAAA0Q,EAAwD9R,KAAAy4J,qBAAAljJ,EAAAioB,EAAA17B,EAAAxB,EAAAc,GAAqC,IAAA2Q,EAAA/R,KAAAo4J,4BAAA7iJ,EAAAioB,EAAA17B,EAAAxB,GAAgD,OAAAyR,EAAA5C,GAAA/N,EAAA+N,EAAA4C,EAAA3C,GAAAhO,EAAAgO,EAAA2C,GAA2B2mJ,6BAAA,SAAAv3J,EAAAiH,EAAAlG,EAAAvB,GAAgD,IAAA4U,EAAA8yB,EAAAmoB,WAAArvD,EAAAiH,EAAAlG,GAAAs7B,EAAA6K,EAAAmoB,WAAArvD,EAAAiH,EAAAzH,GAAAmB,EAAAumC,EAAAmoB,WAAAtuD,EAAAvB,EAAAQ,GAAAb,EAAA+nC,EAAAmoB,WAAAtuD,EAAAvB,EAAAyH,GAA4F,OAAAmN,GAAAioB,GAAAx9B,KAAAy8H,MAAA,GAAAv6H,EAAAlC,KAAAy8H,MAAA,GAAA97H,EAAA47H,GAAAi7B,wBAAA11J,GAAAxB,GAAAN,KAAAy8H,MAAA,GAAAt7H,EAAAnB,KAAAy8H,MAAA,GAAAr0H,EAAAm0H,GAAAi7B,wBAAAjiJ,GAAAzT,GAAA9B,KAAAy8H,MAAA,GAAAv6H,EAAAlC,KAAAy8H,MAAA,GAAAt7H,GAAAe,EAAA28E,OAAA19E,IAAAq8B,GAAAl9B,EAAAi8H,GAAAi7B,uBAAAj7B,GAAAy7B,oBAAAziJ,GAAAjV,GAAAN,KAAAy8H,MAAA,GAAAv6H,EAAAlC,KAAAy8H,MAAA,GAAAr0H,GAAAlG,EAAA28E,OAAAz2E,IAAAo1B,GAAA17B,EAAAy6H,GAAAi7B,uBAAAj7B,GAAAy7B,oBAAAx6H,GAAA17B,GAAA9B,KAAAy8H,MAAA,GAAA97H,EAAAX,KAAAy8H,MAAA,GAAAt7H,GAAAR,EAAAk+E,OAAA19E,IAAAoU,GAAAjV,EAAAi8H,GAAAi7B,uBAAAj7B,GAAAy7B,oBAAAx6H,GAAAl9B,GAAAN,KAAAy8H,MAAA,GAAA97H,EAAAX,KAAAy8H,MAAA,GAAAr0H,GAAAzH,EAAAk+E,OAAAz2E,IAAAmN,GAAAzT,EAAAy6H,GAAAi7B,uBAAAj7B,GAAAy7B,oBAAAz7B,GAAA+6B,iBAAokBmB,qBAAA,SAAAt3J,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAA0C,IAAAioB,EAAAr8B,EAAAgO,EAAA/G,EAAA+G,EAAAhO,EAAAgO,EAAA/G,EAAA+G,EAAArN,EAAAX,EAAAiO,EAAAhH,EAAAgH,EAAAjO,EAAAiO,EAAAhH,EAAAgH,EAAA9O,EAAAa,EAAAgO,EAAA/G,EAAA+G,EAAAhO,EAAAgO,EAAA/G,EAAA+G,EAAA/N,EAAAD,EAAAiO,EAAAhH,EAAAgH,EAAAjO,EAAAiO,EAAAhH,EAAAgH,EAAA2C,EAAA7P,EAAAiN,EAAAxO,EAAAwO,EAAAjN,EAAAiN,EAAAxO,EAAAwO,EAAAuuB,EAAAx7B,EAAAkN,EAAAzO,EAAAyO,EAAAlN,EAAAkN,EAAAzO,EAAAyO,EAAAzN,EAAAO,EAAAiN,EAAAxO,EAAAwO,EAAAjN,EAAAiN,EAAAxO,EAAAwO,EAAAqF,EAAAtS,EAAAkN,EAAAzO,EAAAyO,EAAAlN,EAAAkN,EAAAzO,EAAAyO,EAAA0C,EAAA0rB,EAAAzrB,EAAAyrB,EAAAzrB,EAAAtR,EAAAH,EAAAqB,EAAArB,EAAAqB,EAAAu6B,EAAAp6B,EAAA47B,EAAA57B,EAAA47B,EAAA56B,EAAA1B,EAAAoT,EAAApT,EAAAoT,EAAAipB,GAAA3rB,EAAArR,GAAA,EAAA2O,GAAA8sB,EAAAp5B,GAAA,EAAgNyS,EAAApG,EAAAsuB,EAAAloB,EAAAnG,IAAAjO,EAAAgO,GAAAoG,EAAApG,EAAAhO,EAAAiO,GAAAmG,EAAAnG,EAAAhH,EAAA+G,GAAAoG,EAAApG,EAAA/G,EAAAgH,GAAAmG,EAAAnG,EAAAlN,EAAAiN,GAAAoG,EAAApG,EAAAjN,EAAAkN,GAAAmG,EAAAnG,EAAAzO,EAAAwO,GAAAoG,EAAApG,EAAAxO,EAAAyO,GAAAmG,EAAAnG,GAAoF4nJ,iBAAA,SAAA71J,EAAAiH,EAAAlG,EAAAvB,GAAoC,GAAAX,KAAA28H,WAAA,GAAAt0F,EAAAmoB,WAAArvD,EAAAiH,EAAAlG,EAAAvB,GAAA,OAAA47H,GAAA+6B,gBAAsE,IAAA/hJ,EAAA2nH,GAAAngG,iBAAA57B,EAAAiH,EAAAlG,GAAAs7B,EAAA0/F,GAAAngG,iBAAA57B,EAAAiH,EAAAzH,GAA8D,GAAA4U,EAAA,GAAAioB,EAAA,GAAAjoB,EAAA,GAAAioB,EAAA,SAAA++F,GAAA+6B,gBAAgD,IAAAx1J,EAAAo7H,GAAAngG,iBAAA76B,EAAAvB,EAAAQ,GAAAb,EAAA48H,GAAAngG,iBAAA76B,EAAAvB,EAAAyH,GAA8D,GAAAtG,EAAA,GAAAxB,EAAA,GAAAwB,EAAA,GAAAxB,EAAA,SAAAi8H,GAAA+6B,gBAAgD,IAAAl2J,EAAA,IAAAmU,GAAA,IAAAioB,GAAA,IAAA17B,GAAA,IAAAxB,EAAiC,OAAAc,EAAApB,KAAA04J,6BAAAv3J,EAAAiH,EAAAlG,EAAAvB,IAAA,IAAA4U,GAAA,IAAAioB,GAAA,IAAA17B,GAAA,IAAAxB,GAAAN,KAAA28H,WAAA,EAAAx7H,EAAAgiI,SAAAjhI,IAAAf,EAAAgiI,SAAAxiI,GAAAX,KAAAy8H,MAAA,GAAAt7H,EAAAiH,EAAA+6H,SAAAjhI,IAAAkG,EAAA+6H,SAAAxiI,GAAAX,KAAAy8H,MAAA,GAAAr0H,EAAA,IAAAmN,EAAAvV,KAAAy8H,MAAA,OAAA3qH,EAAA5P,GAAA,IAAAs7B,EAAAx9B,KAAAy8H,MAAA,OAAA3qH,EAAAnR,GAAA,IAAAmB,EAAA9B,KAAAy8H,MAAA,OAAA3qH,EAAA3Q,GAAA,IAAAb,IAAAN,KAAAy8H,MAAA,OAAA3qH,EAAA1J,MAAApI,KAAA28H,WAAA,EAAA38H,KAAAy8H,MAAA,GAAAz8H,KAAAk6G,aAAA/4G,EAAAiH,EAAAlG,EAAAvB,IAAA47H,GAAAy7B,qBAAyYniC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtqB,MAAWA,GAAAw7B,gBAAA,SAAAl3J,EAAAiH,EAAAlG,EAAAvB,GAAuC,IAAA4U,EAAApU,EAAAq8B,EAAA0/F,GAAAy7B,kBAAAx3J,EAAAe,EAAAvB,GAAAmB,EAAAo7H,GAAAy7B,kBAAAvwJ,EAAAlG,EAAAvB,GAAoE,OAAAmB,EAAA07B,MAAA17B,EAAAyT,EAAAnN,GAAAtG,EAAAo7H,GAAAy7B,kBAAAz2J,EAAAf,EAAAiH,GAAAtG,EAAA07B,MAAA17B,EAAAyT,EAAArT,GAAAJ,EAAAo7H,GAAAy7B,kBAAAh4J,EAAAQ,EAAAiH,GAAAtG,EAAA07B,MAAA17B,EAAAyT,EAAA5U,GAAA4U,GAAkHnN,EAAA00H,GAAA77H,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAArqB,MAAWA,GAAA//F,iBAAA,SAAA57B,EAAAiH,EAAAlG,GAAsC,IAAAvB,EAAAyH,EAAA+G,EAAAhO,EAAAgO,EAAAoG,EAAAnN,EAAAgH,EAAAjO,EAAAiO,EAAAouB,EAAAt7B,EAAAiN,EAAA/G,EAAA+G,EAAArN,EAAAI,EAAAkN,EAAAhH,EAAAgH,EAA4C,OAAA0tH,GAAAovB,aAAAvrJ,EAAA4U,EAAAioB,EAAA17B,IAAgCg7H,GAAAovB,aAAA,SAAA/qJ,EAAAiH,EAAAlG,EAAAvB,GAAmC,IAAA4U,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAA6B,GAAAyT,EAAA,MAAApU,GAAA,IAAAR,EAAA,WAAAyH,GAAA,IAAAlG,EAAA,EAAAkG,EAAA,EAAAlG,EAAA,GAAAqT,IAAArT,EAAA,EAAAqT,KAAgE,OAAAnN,GAAA,IAAAlG,EAAA,OAAAvB,EAAA,EAAAQ,EAAA,EAAAoU,KAAApU,EAAA,GAAAoU,IAA6C,KAAAnN,EAAA,EAAAzH,EAAAyH,GAAAzH,IAAA4U,KAAAioB,EAAAr8B,IAAAe,IAAAs7B,IAAAp1B,IAAAzH,IAAA68B,GAAAp1B,IAAAzH,GAAA4U,KAAArT,KAAAvB,OAAA68B,EAAAr8B,KAAAe,IAAAs7B,IAAAp1B,KAAAzH,IAAA68B,GAAA,EAAA78B,GAAAyH,GAAAzH,GAAA4U,KAAApU,KAAAiH,OAAAo1B,GAAAr8B,IAAAe,IAAAs7B,KAAAp1B,IAAAzH,IAAA68B,GAAAp1B,GAAAzH,GAAAQ,KAAAiH,KAAAlG,KAAAvB,OAAA4U,KAAAioB,GAAAr8B,KAAAe,IAAAs7B,KAAAp1B,KAAAzH,IAAA68B,GAAA,EAAAr8B,EAAA,CAA6N,OAAAe,GAAA,OAAAqT,EAAmB,KAAApU,GAAAe,GAAA,OAAAqT,MAAoB,CAAK,KAAArT,EAAA,OAAAqT,EAAgB,KAAApU,GAAAe,GAAA,OAAAqT,EAAoBA,KAAApU,KAAAe,KAAe,OAAM,CAAE,KAAAJ,EAAAiC,KAAAuS,MAAApU,EAAAf,GAAAe,GAAAJ,EAAAX,EAAAR,GAAAmB,EAAAsG,EAAAzH,EAAA,SAAA4U,EAAqD,GAAA5U,EAAAyH,EAAA,OAAAmN,EAAgB,GAAApU,EAAAe,KAAU,GAAAkG,EAAAzH,IAAA,OAAA4U,MAAkB,CAAK,GAAAnN,EAAAzH,IAAA,OAAA4U,EAAkBrT,EAAAf,EAAAe,EAAAvB,EAAAyH,EAAAzH,EAAA4U,KAAiB,OAAA5U,EAAA,WAAAuB,EAAA,GAAAqT,EAA2B,OAAArT,EAAA,OAAAqT,EAAkB,GAAAzT,EAAAiC,KAAAuS,MAAAnV,EAAAe,GAAAf,GAAAW,EAAAI,EAAAkG,GAAAtG,EAAAnB,EAAAyH,EAAA,SAAAmN,EAAgD,GAAAnN,EAAAzH,EAAA,OAAA4U,EAAgB,GAAArT,EAAAf,KAAU,GAAAR,EAAAyH,IAAA,OAAAmN,MAAkB,CAAK,GAAA5U,EAAAyH,IAAA,OAAAmN,EAAkBpU,EAAAe,EAAAf,EAAAiH,EAAAzH,EAAAyH,EAAAmN,KAAiB,OAAAnN,EAAA,WAAAjH,EAAA,EAAAoU,EAA0B,OAAApU,EAAA,OAAAoU,IAAmBnN,EAAA20H,GAAA97H,UAAA,CAAiB23J,aAAA,SAAAz3J,EAAAiH,GAA2B,GAAAjH,EAAAgO,EAAAnP,KAAAk8B,EAAA/sB,GAAA/G,EAAA+G,EAAAnP,KAAAk8B,EAAA/sB,EAAA,YAA0C,GAAAnP,KAAAk8B,EAAA/sB,IAAA/G,EAAA+G,GAAAnP,KAAAk8B,EAAA9sB,IAAAhH,EAAAgH,EAAA,OAAApP,KAAAi9H,kBAAA,OAAuE,GAAA97H,EAAAiO,IAAApP,KAAAk8B,EAAA9sB,GAAAhH,EAAAgH,IAAApP,KAAAk8B,EAAA9sB,EAAA,CAAmC,IAAAlN,EAAAf,EAAAgO,EAAAxO,EAAAyH,EAAA+G,EAAgB,OAAAjN,EAAAvB,IAAAuB,EAAAkG,EAAA+G,EAAAxO,EAAAQ,EAAAgO,GAAAnP,KAAAk8B,EAAA/sB,GAAAjN,GAAAlC,KAAAk8B,EAAA/sB,GAAAxO,IAAAX,KAAAi9H,kBAAA,QAAoF,GAAA97H,EAAAiO,EAAApP,KAAAk8B,EAAA9sB,GAAAhH,EAAAgH,GAAApP,KAAAk8B,EAAA9sB,GAAAhH,EAAAgH,EAAApP,KAAAk8B,EAAA9sB,GAAAjO,EAAAiO,GAAApP,KAAAk8B,EAAA9sB,EAAA,CAA6D,IAAAmG,EAAApU,EAAAgO,EAAAnP,KAAAk8B,EAAA/sB,EAAAquB,EAAAr8B,EAAAiO,EAAApP,KAAAk8B,EAAA9sB,EAAAtN,EAAAsG,EAAA+G,EAAAnP,KAAAk8B,EAAA/sB,EAAA7O,EAAA8H,EAAAgH,EAAApP,KAAAk8B,EAAA9sB,EAAAhO,EAAA07H,GAAAovB,aAAA32I,EAAAioB,EAAA17B,EAAAxB,GAA2F,OAAAc,EAAA,OAAApB,KAAAi9H,kBAAA,OAA8C38H,EAAAk9B,IAAAp8B,QAAA,GAAApB,KAAAg9H,kBAAuC67B,iBAAA,WAA6B,OAAA74J,KAAA84J,gBAAAx8G,EAAAohF,UAAuCo7B,YAAA,WAAwB,OAAA94J,KAAAi9H,iBAAA3gF,EAAAmhF,SAAAz9H,KAAAg9H,cAAA,MAAA1gF,EAAAkhF,SAAAlhF,EAAAohF,UAAuFq7B,YAAA,WAAwB,OAAA/4J,KAAAi9H,kBAA6BpH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApqB,MAAWA,GAAAi8B,kBAAA,WAAkC,GAAAppH,UAAA,aAAA99B,GAAA49F,EAAA9/D,UAAA,GAAAtH,GAAA,CAAgD,QAAAnnC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAA66H,GAAA57H,GAAAR,EAAA,IAAAmR,EAAAyD,EAAA,IAAAzD,EAAA0rB,EAAA,EAAsEA,EAAAp1B,EAAA+M,OAAWqoB,IAAA,GAAAp1B,EAAAg7H,cAAA5lG,EAAA78B,GAAAyH,EAAAg7H,cAAA5lG,EAAA,EAAAjoB,GAAArT,EAAA02J,aAAAj4J,EAAA4U,GAAArT,EAAA62J,cAAA,OAAA72J,EAAA42J,cAA8G,OAAA52J,EAAA42J,cAAuB,GAAAlpH,UAAA,aAAA99B,GAAA89B,UAAA,aAAA/tC,MAAA,CAA2D,IAAAC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,OAAA1tC,EAAA,IAAA66H,GAAAj7H,GAAA07B,EAAA,EAAsDA,EAAAl9B,EAAA6B,OAAWq7B,IAAA,CAAK78B,EAAAL,EAAAk9B,GAAAjoB,EAAAjV,EAAAk9B,EAAA,GAAoB,GAAAt7B,EAAA02J,aAAAj4J,EAAA4U,GAAArT,EAAA62J,cAAA,OAAA72J,EAAA42J,cAA8D,OAAA52J,EAAA42J,gBAAwB1wJ,EAAA80H,GAAAj8H,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAjqB,MAAWA,GAAAngG,iBAAA,SAAA57B,EAAAiH,EAAAlG,GAAsC,OAAA0nB,EAAAmT,iBAAA57B,EAAAiH,EAAAlG,IAAiCg7H,GAAAv+C,WAAA,WAA0B,GAAA/uC,UAAA,aAAA/tC,MAAA,CAAiC,IAAAV,EAAAyuC,UAAA,GAAmB,GAAAzuC,EAAAgB,OAAA,WAAuB,QAAAiG,EAAA,EAAAlG,EAAAf,EAAA,GAAAgO,EAAAxO,EAAA,EAAyBA,EAAAQ,EAAAgB,OAAA,EAAaxB,IAAA,CAAK,IAAA4U,EAAApU,EAAAR,GAAAwO,EAAAjN,EAAAs7B,EAAAr8B,EAAAR,EAAA,GAAAyO,EAAAtN,EAAAX,EAAAR,EAAA,GAAAyO,EAAqChH,GAAAmN,GAAAzT,EAAA07B,GAAW,OAAAp1B,EAAA,EAAW,GAAAsnG,EAAA9/D,UAAA,GAAAtH,GAAA,CAAsB,IAAAhoC,EAAAsvC,UAAA,GAAAxuC,EAAAd,EAAA6U,OAA8B,GAAA/T,EAAA,WAAgB,IAAA2Q,EAAA,IAAAD,EAAA4rB,EAAA,IAAA5rB,EAAAnQ,EAAA,IAAAmQ,EAA4BxR,EAAA8iI,cAAA,EAAA1lG,GAAAp9B,EAAA8iI,cAAA,EAAAzhI,GAA0CO,EAAAw7B,EAAAvuB,EAAUxN,EAAAwN,GAAAjN,EAAO,IAAAkG,EAAA,EAAAzH,EAAA,EAAgBA,EAAAS,EAAA,EAAMT,IAAAoR,EAAA3C,EAAAsuB,EAAAtuB,EAAAsuB,EAAAvuB,EAAAxN,EAAAwN,EAAAuuB,EAAAtuB,EAAAzN,EAAAyN,EAAA9O,EAAA8iI,cAAAziI,EAAA,EAAAgB,KAAAwN,GAAAjN,EAAAkG,GAAAs1B,EAAAvuB,GAAA4C,EAAA3C,EAAAzN,EAAAyN,GAA2E,OAAAhH,EAAA,IAAY80H,GAAA+7B,iBAAA,SAAA93J,EAAAiH,EAAAlG,EAAAvB,GAAuC,GAAAQ,EAAA09E,OAAAz2E,GAAA,OAAA80H,GAAAy7B,kBAAAx3J,EAAAe,EAAAvB,GAAkD,GAAAuB,EAAA28E,OAAAl+E,GAAA,OAAAu8H,GAAAy7B,kBAAAh4J,EAAAQ,EAAAiH,GAAkD,IAAAmN,GAAA,EAAS,GAAA8yB,EAAAmoB,WAAArvD,EAAAiH,EAAAlG,EAAAvB,GAAA,CAA0B,IAAA68B,GAAAp1B,EAAA+G,EAAAhO,EAAAgO,IAAAxO,EAAAyO,EAAAlN,EAAAkN,IAAAhH,EAAAgH,EAAAjO,EAAAiO,IAAAzO,EAAAwO,EAAAjN,EAAAiN,GAA8C,OAAAquB,EAAAjoB,GAAA,MAAc,CAAK,IAAAzT,GAAAX,EAAAiO,EAAAlN,EAAAkN,IAAAzO,EAAAwO,EAAAjN,EAAAiN,IAAAhO,EAAAgO,EAAAjN,EAAAiN,IAAAxO,EAAAyO,EAAAlN,EAAAkN,GAAA9O,GAAAa,EAAAiO,EAAAlN,EAAAkN,IAAAhH,EAAA+G,EAAAhO,EAAAgO,IAAAhO,EAAAgO,EAAAjN,EAAAiN,IAAA/G,EAAAgH,EAAAjO,EAAAiO,GAAAhO,EAAAd,EAAAk9B,EAAAzrB,EAAAjQ,EAAA07B,GAAoGzrB,EAAA,GAAAA,EAAA,GAAA3Q,EAAA,GAAAA,EAAA,KAAAmU,GAAA,SAA8BA,GAAA,EAAU,OAAAA,EAAAugH,EAAAtvF,IAAA02F,GAAAy7B,kBAAAx3J,EAAAe,EAAAvB,GAAAu8H,GAAAy7B,kBAAAvwJ,EAAAlG,EAAAvB,GAAAu8H,GAAAy7B,kBAAAz2J,EAAAf,EAAAiH,GAAA80H,GAAAy7B,kBAAAh4J,EAAAQ,EAAAiH,IAAA,GAAkI80H,GAAAg8B,cAAA,SAAA/3J,EAAAiH,GAAgC,OAAA80H,GAAA87B,kBAAA73J,EAAAiH,KAAAk0C,EAAAohF,UAA8CR,GAAAg2B,cAAA,SAAA/xJ,GAA8B,IAAAiH,EAAAjH,EAAAgU,OAAe,GAAA/M,GAAA,WAAiB,IAAAlG,EAAA,EAAAvB,EAAA,IAAAmR,EAAgB3Q,EAAAiiI,cAAA,EAAAziI,GAAqB,QAAA4U,EAAA5U,EAAAwO,EAAAquB,EAAA78B,EAAAyO,EAAAtN,EAAA,EAAwBA,EAAAsG,EAAItG,IAAA,CAAKX,EAAAiiI,cAAAthI,EAAAnB,GAAqB,IAAAL,EAAAK,EAAAwO,EAAA/N,EAAAT,EAAAyO,EAAA2C,EAAAzR,EAAAiV,EAAAmoB,EAAAt8B,EAAAo8B,EAA4Bt7B,GAAA6B,KAAAgR,KAAAhD,IAAA2rB,KAAAnoB,EAAAjV,EAAAk9B,EAAAp8B,EAA8B,OAAAc,GAASg7H,GAAAo2B,MAAA,SAAAnyJ,GAAsB,IAAAiH,EAAAjH,EAAAgB,OAAA,EAAiB,GAAAiG,EAAA,YAAAzH,EAAA,qEAAwF,QAAAuB,EAAAf,EAAA,GAAAoU,EAAA,EAAAioB,EAAA,EAAuBA,GAAAp1B,EAAKo1B,IAAA,CAAK,IAAA17B,EAAAX,EAAAq8B,GAAW17B,EAAAsN,EAAAlN,EAAAkN,IAAAlN,EAAAJ,EAAAyT,EAAAioB,GAAmB,IAAAl9B,EAAAiV,EAAQ,GAAAjV,GAAA,EAAAA,EAAA,IAAAA,EAAA8H,SAAmBjH,EAAAb,GAAA6iI,SAAAjhI,IAAA5B,IAAAiV,GAA+B,IAAAnU,EAAAmU,EAAQ,GAAAnU,KAAA,GAAAgH,QAAajH,EAAAC,GAAA+hI,SAAAjhI,IAAAd,IAAAmU,GAA+B,IAAAxD,EAAA5Q,EAAAb,GAAAo9B,EAAAv8B,EAAAC,GAAkB,GAAA2Q,EAAAoxH,SAAAjhI,IAAAw7B,EAAAylG,SAAAjhI,IAAA6P,EAAAoxH,SAAAzlG,GAAA,SAAwD,IAAA/7B,EAAAu7H,GAAAi8B,mBAAApnJ,EAAA7P,EAAAw7B,GAAwC,WAAA/7B,EAAAoQ,EAAA5C,EAAAuuB,EAAAvuB,EAAAxN,EAAA,GAA2Bu7H,GAAA87B,kBAAA,SAAA73J,EAAAiH,GAAoC,OAAA20H,GAAAi8B,kBAAA73J,EAAAiH,IAAiC80H,GAAAk8B,+BAAA,SAAAj4J,EAAAiH,EAAAlG,GAAmD,IAAAvB,GAAAuB,EAAAiN,EAAA/G,EAAA+G,IAAAjN,EAAAiN,EAAA/G,EAAA+G,IAAAjN,EAAAkN,EAAAhH,EAAAgH,IAAAlN,EAAAkN,EAAAhH,EAAAgH,GAAAmG,IAAAnN,EAAAgH,EAAAjO,EAAAiO,IAAAlN,EAAAiN,EAAA/G,EAAA+G,IAAA/G,EAAA+G,EAAAhO,EAAAgO,IAAAjN,EAAAkN,EAAAhH,EAAAgH,IAAAzO,EAA4F,OAAAoD,KAAA6hB,IAAArQ,GAAAxR,KAAAgR,KAAApU,IAAgCu8H,GAAAi8B,mBAAA,SAAAh4J,EAAAiH,EAAAlG,GAAuC,OAAAg7H,GAAAngG,iBAAA57B,EAAAiH,EAAAlG,IAAkCg7H,GAAAy7B,kBAAA,WAAiC,OAAA/oH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAAxnC,EAAAjG,OAAA,UAAAxB,EAAA,+CAA2E,QAAAuB,EAAAf,EAAAuS,SAAAtL,EAAA,IAAAmN,EAAA,EAA+BA,EAAAnN,EAAAjG,OAAA,EAAaoT,IAAA,CAAK,IAAAioB,EAAA0/F,GAAAy7B,kBAAAx3J,EAAAiH,EAAAmN,GAAAnN,EAAAmN,EAAA,IAA0CioB,EAAAt7B,MAAAs7B,GAAW,OAAAt7B,EAAS,OAAA0tC,UAAAztC,OAAA,CAAyB,IAAAL,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAiD,GAAAtvC,EAAA6O,IAAA/N,EAAA+N,GAAA7O,EAAA8O,IAAAhO,EAAAgO,EAAA,OAAAtN,EAAA4R,SAAApT,GAA6C,IAAAyR,GAAA3Q,EAAA+N,EAAA7O,EAAA6O,IAAA/N,EAAA+N,EAAA7O,EAAA6O,IAAA/N,EAAAgO,EAAA9O,EAAA8O,IAAAhO,EAAAgO,EAAA9O,EAAA8O,GAAAsuB,IAAA57B,EAAAqN,EAAA7O,EAAA6O,IAAA/N,EAAA+N,EAAA7O,EAAA6O,IAAArN,EAAAsN,EAAA9O,EAAA8O,IAAAhO,EAAAgO,EAAA9O,EAAA8O,IAAA2C,EAA4F,GAAA2rB,GAAA,SAAA57B,EAAA4R,SAAApT,GAA6B,GAAAo9B,GAAA,SAAA57B,EAAA4R,SAAAtS,GAA6B,IAAAO,IAAArB,EAAA8O,EAAAtN,EAAAsN,IAAAhO,EAAA+N,EAAA7O,EAAA6O,IAAA7O,EAAA6O,EAAArN,EAAAqN,IAAA/N,EAAAgO,EAAA9O,EAAA8O,IAAA2C,EAAkD,OAAAhO,KAAA6hB,IAAAjkB,GAAAoC,KAAAgR,KAAAhD,KAAiCmrH,GAAAm8B,SAAA,SAAAl4J,EAAAiH,GAA2B,QAAAlG,EAAA,IAAA26H,GAAAl8H,EAAA,EAAqBA,EAAAyH,EAAAjG,OAAWxB,IAAA,CAAK,IAAA4U,EAAAnN,EAAAzH,EAAA,GAAA68B,EAAAp1B,EAAAzH,GAAoB,GAAAuB,EAAA60J,oBAAA51J,EAAAoU,EAAAioB,GAAAt7B,EAAAg+I,kBAAA,SAA6D,UAAShjB,GAAAo8B,WAAA,EAAAp8B,GAAAsJ,MAAAtJ,GAAAo8B,UAAAp8B,GAAAkZ,iBAAA,EAAAlZ,GAAAqJ,KAAArJ,GAAAkZ,iBAAAlZ,GAAA66B,UAAA,EAAA76B,GAAAq8B,SAAAr8B,GAAA66B,UAAA3vJ,EAAA+0H,GAAAl8H,UAAA,CAAiJ88E,KAAA,WAAgB,OAAAh6E,KAAAyiC,IAAAxmC,KAAAo9H,GAAAjuH,EAAAnP,KAAAqf,GAAAlQ,IAAqC4tB,iBAAA,WAA6B,GAAA6S,UAAA,aAAAutF,GAAA,CAA8B,IAAAh8H,EAAAyuC,UAAA,GAAAxnC,EAAA80H,GAAAngG,iBAAA/8B,KAAAo9H,GAAAp9H,KAAAqf,GAAAle,EAAAi8H,IAAAl7H,EAAAg7H,GAAAngG,iBAAA/8B,KAAAo9H,GAAAp9H,KAAAqf,GAAAle,EAAAke,IAA2G,OAAAjX,GAAA,GAAAlG,GAAA,EAAA6B,KAAA0K,IAAArG,EAAAlG,GAAAkG,GAAA,GAAAlG,GAAA,EAAA6B,KAAA0K,IAAArG,EAAAlG,GAAA,EAA2D,GAAA0tC,UAAA,aAAA99B,EAAA,CAA6B,IAAAnR,EAAAivC,UAAA,GAAmB,OAAAstF,GAAAngG,iBAAA/8B,KAAAo9H,GAAAp9H,KAAAqf,GAAA1e,KAA+C4sJ,WAAA,SAAApsJ,GAAwB,OAAAA,EAAAgyJ,iBAAA,CAAAnzJ,KAAAo9H,GAAAp9H,KAAAqf,MAA6Cm6I,WAAA,WAAuB,OAAAx5J,KAAAo9H,GAAAjuH,IAAAnP,KAAAqf,GAAAlQ,GAA6B0vE,OAAA,SAAA19E,GAAoB,KAAAA,aAAAg8H,IAAA,SAA+B,IAAA/0H,EAAAjH,EAAQ,OAAAnB,KAAAo9H,GAAAv+C,OAAAz2E,EAAAg1H,KAAAp9H,KAAAqf,GAAAw/D,OAAAz2E,EAAAiX,KAAkD66F,aAAA,SAAA/4G,GAA0B,IAAAiH,EAAA,IAAAy0H,GAAa,OAAAz0H,EAAA2uJ,oBAAA/2J,KAAAo9H,GAAAp9H,KAAAqf,GAAAle,EAAAi8H,GAAAj8H,EAAAke,IAAAjX,EAAA83I,kBAAA93I,EAAAivJ,gBAAA,SAAsGoC,QAAA,WAAoB,GAAA7pH,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAmB,GAAAzuC,EAAA09E,OAAA7+E,KAAAo9H,KAAAj8H,EAAA09E,OAAA7+E,KAAAqf,IAAA,WAAAvN,EAAA3Q,GAAwD,IAAAiH,EAAApI,KAAA05J,iBAAAv4J,GAAAe,EAAA,IAAA4P,EAAuC,OAAA5P,EAAAiN,EAAAnP,KAAAo9H,GAAAjuH,EAAA/G,GAAApI,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,GAAAjN,EAAAkN,EAAApP,KAAAo9H,GAAAhuH,EAAAhH,GAAApI,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,GAAAlN,EAAqF,GAAA0tC,UAAA,aAAAutF,GAAA,CAA8B,IAAAx8H,EAAAivC,UAAA,GAAAr6B,EAAAvV,KAAA05J,iBAAA/4J,EAAAy8H,IAAA5/F,EAAAx9B,KAAA05J,iBAAA/4J,EAAA0e,IAA+E,GAAA9J,GAAA,GAAAioB,GAAA,cAA0B,GAAAjoB,GAAA,GAAAioB,GAAA,cAA0B,IAAA17B,EAAA9B,KAAAy5J,QAAA94J,EAAAy8H,IAAyB7nH,EAAA,IAAAzT,EAAA9B,KAAAo9H,IAAA7nH,EAAA,IAAAzT,EAAA9B,KAAAqf,IAAkC,IAAA/e,EAAAN,KAAAy5J,QAAA94J,EAAA0e,IAAyB,OAAAme,EAAA,IAAAl9B,EAAAN,KAAAo9H,IAAA5/F,EAAA,IAAAl9B,EAAAN,KAAAqf,IAAA,IAAA89G,GAAAr7H,EAAAxB,KAAsD+sC,UAAA,WAAsBrtC,KAAAqf,GAAA8uH,UAAAnuI,KAAAo9H,IAAA,GAAAp9H,KAAAiI,WAA6CghE,MAAA,WAAkB,OAAAllE,KAAAg4C,MAAA/7C,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,EAAApP,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,IAA2Di0H,cAAA,SAAAjiI,GAA2B,WAAAA,EAAAnB,KAAAo9H,GAAAp9H,KAAAqf,IAA6Bs6I,sBAAA,SAAAx4J,GAAmC,OAAA+7H,GAAAk8B,+BAAAj4J,EAAAnB,KAAAo9H,GAAAp9H,KAAAqf,KAA4D2+D,KAAA,WAAiB,OAAAj6E,KAAAyiC,IAAAxmC,KAAAo9H,GAAAhuH,EAAApP,KAAAqf,GAAAjQ,IAAqCy4F,SAAA,WAAqB,OAAAs1B,GAAAt1B,SAAA7nG,KAAAo9H,GAAAp9H,KAAAqf,KAAoCq6I,iBAAA,SAAAv4J,GAA8B,GAAAA,EAAA09E,OAAA7+E,KAAAo9H,IAAA,SAA8B,GAAAj8H,EAAA09E,OAAA7+E,KAAAqf,IAAA,SAA8B,IAAAjX,EAAApI,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,EAAAjN,EAAAlC,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,EAAAzO,EAAAyH,IAAAlG,IAA0D,GAAAvB,GAAA,SAAA4U,EAAA8vB,IAAqB,IAAA7H,IAAAr8B,EAAAgO,EAAAnP,KAAAo9H,GAAAjuH,GAAA/G,GAAAjH,EAAAiO,EAAApP,KAAAo9H,GAAAhuH,GAAAlN,GAAAvB,EAA8C,OAAA68B,GAASo8H,cAAA,SAAAz4J,GAA2B,IAAAiH,EAAApI,KAAAk6G,aAAA/4G,GAA2B,UAAAiH,EAAA,OAAAA,KAAwB,IAAAlG,EAAA,IAAAL,MAAA,GAAA+hC,KAAA,MAAAjjC,EAAA4U,EAAA45H,UAAA3xG,EAAA,KAAA17B,EAAA9B,KAAA65J,aAAA14J,EAAAi8H,IAA6Ez8H,EAAAmB,EAAA4R,SAAAvS,EAAAi8H,IAAAl7H,EAAA,GAAAJ,EAAAI,EAAA,GAAAf,EAAAi8H,GAAoC,IAAA98H,EAAAN,KAAA65J,aAAA14J,EAAAke,IAA8Bme,EAAAl9B,EAAAoT,SAAAvS,EAAAke,IAAAme,EAAA78B,MAAA68B,EAAAt7B,EAAA,GAAA5B,EAAA4B,EAAA,GAAAf,EAAAke,IAA+C,IAAAje,EAAAD,EAAA04J,aAAA75J,KAAAo9H,IAA8B5/F,EAAAp8B,EAAAsS,SAAA1T,KAAAo9H,IAAA5/F,EAAA78B,MAAA68B,EAAAt7B,EAAA,GAAAlC,KAAAo9H,GAAAl7H,EAAA,GAAAd,GAAqD,IAAA2Q,EAAA5Q,EAAA04J,aAAA75J,KAAAqf,IAA8B,OAAAme,EAAAzrB,EAAA2B,SAAA1T,KAAAqf,IAAAme,EAAA78B,MAAA68B,EAAAt7B,EAAA,GAAAlC,KAAAqf,GAAAnd,EAAA,GAAA6P,GAAA7P,GAA8D23J,aAAA,SAAA14J,GAA0B,IAAAiH,EAAApI,KAAA05J,iBAAAv4J,GAA+B,GAAAiH,EAAA,GAAAA,EAAA,SAAApI,KAAAy5J,QAAAt4J,GAAmC,IAAAe,EAAAlC,KAAAo9H,GAAA1pH,SAAAvS,GAAAR,EAAAX,KAAAqf,GAAA3L,SAAAvS,GAAgD,OAAAe,EAAAvB,EAAAX,KAAAo9H,GAAAp9H,KAAAqf,IAA2B4+D,KAAA,WAAiB,OAAAl6E,KAAA0K,IAAAzO,KAAAo9H,GAAAjuH,EAAAnP,KAAAqf,GAAAlQ,IAAqC+zI,UAAA,WAAsB,OAAAljJ,KAAAo9H,GAAA1pH,SAAA1T,KAAAqf,KAAiC8uH,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAAe,EAAAlC,KAAAo9H,GAAA+Q,UAAA/lI,EAAAg1H,IAAkC,WAAAl7H,IAAAlC,KAAAqf,GAAA8uH,UAAA/lI,EAAAiX,KAAuCpX,QAAA,WAAoB,IAAA9G,EAAAnB,KAAAo9H,GAAcp9H,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAqf,GAAAle,GAA0B2rJ,WAAA,SAAA3rJ,GAAwB,OAAAnB,KAAAo9H,GAAAv+C,OAAA19E,EAAAi8H,KAAAp9H,KAAAqf,GAAAw/D,OAAA19E,EAAAke,KAAArf,KAAAo9H,GAAAv+C,OAAA19E,EAAAke,KAAArf,KAAAqf,GAAAw/D,OAAA19E,EAAAi8H,KAA8F08B,iBAAA,SAAA34J,GAA8B,IAAI,IAAAiH,EAAAmgC,EAAA2xE,aAAAl6G,KAAAo9H,GAAAp9H,KAAAqf,GAAAle,EAAAi8H,GAAAj8H,EAAAke,IAAgD,OAAAjX,EAAS,MAAAjH,GAAS,KAAAA,aAAAmtE,GAAA,MAAAntE,EAAsC,aAAY+8E,KAAA,WAAiB,OAAAn6E,KAAA0K,IAAAzO,KAAAo9H,GAAAhuH,EAAApP,KAAAqf,GAAAjQ,IAAqC2qJ,iBAAA,SAAA54J,EAAAiH,GAAgC,IAAAlG,EAAAlC,KAAAo9H,GAAAjuH,EAAAhO,GAAAnB,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,GAAAxO,EAAAX,KAAAo9H,GAAAhuH,EAAAjO,GAAAnB,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,GAAAmG,EAAAvV,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,EAAAquB,EAAAx9B,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,EAAAtN,EAAAiC,KAAAgR,KAAAQ,IAAAioB,KAAAl9B,EAAA,EAAAc,EAAA,EAAqJ,OAAAgH,EAAA,CAAU,GAAAtG,GAAA,YAAA2pJ,sBAAA,uDAA+FnrJ,EAAA8H,EAAAmN,EAAAzT,EAAAV,EAAAgH,EAAAo1B,EAAA17B,EAAgB,IAAAiQ,EAAA7P,EAAAd,EAAAs8B,EAAA/8B,EAAAL,EAAAqB,EAAA,IAAAmQ,EAAAC,EAAA2rB,GAA6B,OAAA/7B,GAAS0tD,eAAA,WAA2B,OAAAzf,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAqvD,eAAAluD,EAAAi8H,GAAAj8H,EAAAke,SAA+B,OAAAuwB,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAo9H,GAAAjuH,EAAA/G,EAAA+G,EAAAnP,KAAAo9H,GAAAhuH,EAAAhH,EAAAgH,EAAApP,KAAAqf,GAAAlQ,EAAAjN,EAAAiN,EAAAnP,KAAAqf,GAAAjQ,EAAAlN,EAAAkN,IAAyD4qJ,gBAAA,SAAA74J,GAA6B,IAAAiH,EAAApI,KAAA05J,iBAAAv4J,GAA+B,OAAAiH,EAAA,EAAAA,EAAA,GAAAA,EAAA,GAAAmN,EAAAlG,MAAAjH,QAAA,GAAAA,GAA0CglB,SAAA,WAAqB,qBAAAptB,KAAAo9H,GAAAjuH,EAAA,IAAAnP,KAAAo9H,GAAAhuH,EAAA,KAAApP,KAAAqf,GAAAlQ,EAAA,IAAAnP,KAAAqf,GAAAjQ,EAAA,KAA8ErD,aAAA,WAAyB,OAAA/L,KAAAo9H,GAAAhuH,IAAApP,KAAAqf,GAAAjQ,GAA6BsE,SAAA,WAAqB,GAAAk8B,UAAA,aAAAutF,GAAA,CAA8B,IAAAh8H,EAAAyuC,UAAA,GAAmB,OAAAstF,GAAA+7B,iBAAAj5J,KAAAo9H,GAAAp9H,KAAAqf,GAAAle,EAAAi8H,GAAAj8H,EAAAke,IAAsD,GAAAuwB,UAAA,aAAA99B,EAAA,CAA6B,IAAA1J,EAAAwnC,UAAA,GAAmB,OAAAstF,GAAAy7B,kBAAAvwJ,EAAApI,KAAAo9H,GAAAp9H,KAAAqf,MAAgD46I,WAAA,SAAA94J,GAAwB,IAAAiH,EAAA,IAAA0J,EAAY,OAAA1J,EAAA+G,EAAAnP,KAAAo9H,GAAAjuH,EAAAhO,GAAAnB,KAAAqf,GAAAlQ,EAAAnP,KAAAo9H,GAAAjuH,GAAA/G,EAAAgH,EAAApP,KAAAo9H,GAAAhuH,EAAAjO,GAAAnB,KAAAqf,GAAAjQ,EAAApP,KAAAo9H,GAAAhuH,GAAAhH,GAAqF2/I,SAAA,WAAqB,IAAA5mJ,EAAA+4J,KAAAC,KAAAC,OAAA/S,iBAAArnJ,KAAAo9H,GAAAjuH,GAAmDhO,GAAA,GAAA+4J,KAAAC,KAAAC,OAAA/S,iBAAArnJ,KAAAo9H,GAAAhuH,GAAmD,IAAAhH,EAAArE,KAAAmjJ,MAAA/lJ,GAAA4C,KAAAmjJ,MAAA/lJ,GAAA,IAAAe,EAAAg4J,KAAAC,KAAAC,OAAA/S,iBAAArnJ,KAAAqf,GAAAlQ,GAAqFjN,GAAA,GAAAg4J,KAAAC,KAAAC,OAAA/S,iBAAArnJ,KAAAqf,GAAAjQ,GAAmD,IAAAzO,EAAAoD,KAAAmjJ,MAAAhlJ,GAAA6B,KAAAmjJ,MAAAhlJ,GAAA,IAAsC,OAAAkG,EAAAzH,GAAWk1H,YAAA,WAAwB,OAAAr4F,EAAAp8B,IAAY+lJ,SAAA,WAAqB,OAAAhqB,MAAWA,GAAAt1B,SAAA,SAAA1mG,EAAAiH,GAA4B,WAAA0J,GAAA3Q,EAAAgO,EAAA/G,EAAA+G,GAAA,GAAAhO,EAAAiO,EAAAhH,EAAAgH,GAAA,IAAsC+tH,GAAA+qB,iBAAA,mBAAA9/I,EAAAi1H,GAAAp8H,UAAA,CAAwDo5J,aAAA,WAAwB,OAAAr6J,KAAAs6J,cAAyBC,SAAA,WAAqB,IAAAp5J,EAAAk8H,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAmhF,YAAAJ,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAmhF,WAAqM,OAAAt8H,GAAAnB,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,YAAAnkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAmhF,YAAApkE,GAAAkkE,OAAyGi9B,YAAA,WAAwB,IAAAr5J,EAAAk8H,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAmhF,YAAAJ,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAmhF,WAAqM,OAAAt8H,GAAAnB,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,YAAArkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAohF,YAAArkE,GAAAkkE,OAAyGhlH,IAAA,WAAgB,OAAAq3B,UAAAztC,OAAA,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,EAAmDA,EAAAjH,EAAAgB,OAAWiG,IAAA,CAAK,IAAAlG,EAAA6B,KAAAmjJ,MAAA9+I,EAAA,GAAAzH,EAAAyH,EAAA,EAA4BpI,KAAAkrC,OAAAhpC,GAAAvB,GAAA04D,GAAA43F,iBAAA9vJ,EAAAq3B,OAAApwB,SAAmD,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD5vC,KAAAkrC,OAAA31B,GAAAioB,GAAA17B,IAAqB24J,WAAA,WAAuB,OAAAp9B,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAx9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,YAAAnkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAmhF,YAAApkE,GAAAkkE,OAAsJm9B,WAAA,WAAuB,OAAA9qH,UAAAztC,OAAA,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,EAAmDA,EAAAjH,EAAAgB,OAAWiG,IAAA,CAAK,IAAAlG,EAAA6B,KAAAmjJ,MAAA9+I,EAAA,GAAAzH,EAAAyH,EAAA,EAA4BpI,KAAA06J,WAAAx4J,EAAAvB,EAAA04D,GAAA43F,iBAAA9vJ,EAAAq3B,OAAApwB,UAAsD,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD5vC,KAAAkrC,OAAA31B,GAAAioB,GAAA17B,IAAA9B,KAAAkrC,OAAA31B,GAAAioB,GAAA17B,KAA4C64J,kBAAA,SAAAx5J,EAAAiH,EAAAlG,GAAmCf,GAAA,GAAAiH,GAAA,GAAApI,KAAA06J,WAAAv5J,EAAAiH,EAAAlG,IAAmC04J,SAAA,WAAqB,OAAAv9B,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAx9H,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,YAAArkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAohF,YAAArkE,GAAAkkE,OAAsJs9B,UAAA,SAAA15J,EAAAiH,GAAyB,OAAAjH,EAAAiH,EAAApI,KAAA66J,UAAAzyJ,EAAAjH,QAAAk4D,GAAAlxB,GAAA//B,IAAAixD,GAAAlxB,GAAAhnC,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAA/c,GAAAn7C,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAAlxB,GAAAhnC,IAAAk4D,GAAA08D,GAAA3tH,IAAAixD,GAAAlxB,GAAAhnC,IAAAk4D,GAAA08D,GAAA3tH,IAAAixD,GAAA/c,IAAAt8C,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAnkE,GAAAkkE,QAAAF,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAmhF,YAAAJ,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAmhF,aAAwUq9B,WAAA,SAAA35J,EAAAiH,GAA0B,OAAAjH,IAAAk4D,GAAA08D,GAAA3tH,IAAAixD,GAAA08D,GAAA50H,IAAAk4D,GAAAlxB,GAAA//B,IAAAixD,GAAAlxB,EAAAk1F,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,YAAAL,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,WAAAr8H,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAA/c,GAAA,IAAAt8C,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,WAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,YAAAL,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,YAA2Vu9B,SAAA,SAAA55J,EAAAiH,GAAwB,OAAAjH,IAAAiH,GAAAi1H,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAx9H,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,YAAArkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAohF,YAAArkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,YAAAnkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAmhF,YAAApkE,GAAAkkE,OAA+PnwG,SAAA,WAAqB,QAAAjsB,EAAA,IAAA40H,EAAA,aAAA3tH,EAAA,EAAiCA,EAAA,EAAIA,IAAA,QAAAlG,EAAA,EAAgBA,EAAA,EAAIA,IAAAf,EAAAooJ,UAAA,EAAAnhJ,EAAAlG,EAAAm3D,GAAAm3F,kBAAAxwJ,KAAAkrC,OAAA9iC,GAAAlG,KAA+D,OAAAf,EAAAisB,YAAoBkwG,OAAA,SAAAn8H,GAAoB,QAAAiH,EAAA,EAAYA,EAAA,EAAIA,IAAA,QAAAlG,EAAA,EAAgBA,EAAA,EAAIA,IAAAlC,KAAAkrC,OAAA9iC,GAAAlG,GAAAf,GAAwBmX,IAAA,SAAAnX,EAAAiH,GAAmB,OAAApI,KAAAkrC,OAAA/pC,GAAAiH,IAAyB4yJ,UAAA,WAAsB,IAAA75J,EAAAnB,KAAAkrC,OAAA,MAAwB,OAAAlrC,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAA/pC,IAAAnB,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAA/pC,IAAAnB,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAAlrC,KAAAkrC,OAAA,MAAA/pC,EAAAnB,MAA4NoV,QAAA,SAAAjU,GAAqB,OAAAA,EAAAgB,OAAA,UAAAxB,EAAA,uBAAAQ,GAAsD,QAAAiH,EAAA,EAAYA,EAAA,EAAIA,IAAA,QAAAlG,EAAA,EAAgBA,EAAA,EAAIA,IAAA,IAAAm7H,GAAAjoH,QAAApV,KAAAkrC,OAAA9iC,GAAAlG,GAAAf,EAAAq3B,OAAA,EAAApwB,EAAAlG,IAAA,SAA+D,UAASsiD,IAAA,SAAArjD,GAAiB,QAAAiH,EAAA,EAAYA,EAAA,EAAIA,IAAA,QAAAlG,EAAA,EAAgBA,EAAA,EAAIA,IAAAlC,KAAA06J,WAAAtyJ,EAAAlG,EAAAf,EAAAmX,IAAAlQ,EAAAlG,KAAoCo4J,WAAA,WAAuB,OAAAt6J,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAnkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAmhF,YAAApkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAkhF,YAAAnkE,GAAAkkE,OAAAv9H,KAAAkrC,OAAAoR,EAAAmhF,UAAAnhF,EAAAmhF,YAAApkE,GAAAkkE,OAAsM09B,UAAA,SAAA95J,EAAAiH,GAAyB,OAAAjH,IAAAk4D,GAAA08D,GAAA3tH,IAAAixD,GAAA/c,GAAAn7C,IAAAk4D,GAAA08D,GAAA3tH,IAAAixD,GAAAlxB,GAAAhnC,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAAlxB,EAAAk1F,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAohF,WAAAv8H,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAA08D,GAAA50H,IAAAk4D,GAAAlxB,GAAA//B,IAAAixD,GAAA08D,GAAA50H,IAAAk4D,GAAAlxB,GAAA//B,IAAAixD,GAAA/c,EAAA+gF,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,YAAAH,GAAAoF,OAAAziI,KAAAkrC,OAAAoR,EAAAohF,UAAAphF,EAAAkhF,WAAAr8H,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAA/c,GAAA,IAAAt8C,KAAAkrC,OAAAoR,EAAAkhF,UAAAlhF,EAAAkhF,WAAuX3H,YAAA,WAAwB,OAAA/zH,IAAUqlJ,SAAA,WAAqB,OAAA9pB,MAAWA,GAAAjoH,QAAA,WAAwB,GAAA0S,OAAAiyG,UAAAnqF,UAAA,sBAAAA,UAAA,IAAkE,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAAxnC,IAAAixD,GAAAw3F,cAAAzoJ,IAAAixD,GAAAs3F,WAAAxvJ,GAAA,GAAAA,IAAAk4D,GAAAq3F,OAAAtoJ,IAAAixD,GAAAo3F,WAAAtvJ,IAAAk4D,GAAAkkE,OAAAn1H,IAAAixD,GAAAy3F,OAAA3vJ,IAAAk4D,GAAA08D,GAAA3tH,IAAAixD,GAAA03F,OAAA5vJ,IAAAk4D,GAAA/c,GAAAl0C,IAAAixD,GAAA23F,OAAA7vJ,IAAAk4D,GAAAlxB,EAAiL,oBAAAyH,UAAA,qBAAAA,UAAA,IAAiE,IAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAA,IAAA8nH,GAAAn7H,GAA8C,OAAAqT,EAAAH,QAAAzU,KAAqB08H,GAAAoF,OAAA,SAAAthI,GAAuB,OAAAA,GAAA,GAAAA,IAAAk4D,GAAAq3F,MAA0B,IAAAlmH,GAAApyB,OAAA8iJ,OAAA,CAAsBC,WAAArpJ,EAAAspJ,eAAArwI,EAAAswI,SAAAhzH,EAAAizH,YAAAn+B,GAAAo+B,gBAAAliC,GAAAmiC,SAAApzH,EAAAtF,MAAAg2F,GAAAn1E,WAAAi1E,GAAA6iC,WAAAriC,GAAAr1E,QAAAi1E,GAAAx1E,mBAAAm0E,GAAAj0E,WAAAy1E,GAAAr1E,gBAAA+zE,GAAA7zE,aAAAw1E,GAAAkiC,UAAAriG,GAAAsiG,mBAAAt+B,GAAAu+B,eAAApjG,KAAoQpwD,EAAAu1H,GAAA18H,UAAA,CAAgB46J,SAAA,SAAA16J,GAAqBnB,KAAAk+H,SAAA,EAAAl+H,KAAAm+H,UAAAhvH,GAAAhO,EAAAgO,EAAAnP,KAAAm+H,UAAA/uH,GAAAjO,EAAAiO,GAA4D0sJ,aAAA,SAAA36J,GAA0B,OAAAnB,KAAA49H,aAAA59H,KAAA49H,WAAAz8H,IAA4C46J,gBAAA,SAAA56J,GAA6B,QAAAiH,EAAA,EAAAlG,EAAA,EAAgBA,EAAAf,EAAAgB,OAAA,EAAaD,IAAA,CAAK,IAAAvB,EAAAQ,EAAAe,GAAAwR,SAAAvS,EAAAe,EAAA,IAA4B,OAAAvB,EAAA,CAAUyH,GAAAzH,EAAK,IAAA4U,GAAApU,EAAAe,GAAAiN,EAAAhO,EAAAe,EAAA,GAAAiN,GAAA,EAA0BnP,KAAAg+H,YAAA7uH,GAAAxO,EAAA4U,EAAwB,IAAAioB,GAAAr8B,EAAAe,GAAAkN,EAAAjO,EAAAe,EAAA,GAAAkN,GAAA,EAA0BpP,KAAAg+H,YAAA5uH,GAAAzO,EAAA68B,GAAyBx9B,KAAAi+H,aAAA71H,EAAA,IAAAA,GAAAjH,EAAAgB,OAAA,GAAAnC,KAAA67J,SAAA16J,EAAA,KAA2D66J,QAAA,SAAA76J,GAAqB,QAAAiH,EAAA80H,GAAAo2B,MAAAnyJ,GAAAe,EAAA,EAA0BA,EAAAf,EAAAgB,OAAA,EAAaD,IAAAlC,KAAAi8J,YAAAj8J,KAAA49H,WAAAz8H,EAAAe,GAAAf,EAAAe,EAAA,GAAAkG,GAAoDpI,KAAA+7J,gBAAA56J,IAAwBuuI,YAAA,WAAwB,IAAAvuI,EAAA,IAAA2Q,EAAY,GAAA/N,KAAA6hB,IAAA5lB,KAAA89H,UAAA,EAAA38H,EAAAgO,EAAAnP,KAAA+9H,IAAA5uH,EAAA,EAAAnP,KAAA89H,SAAA38H,EAAAiO,EAAApP,KAAA+9H,IAAA3uH,EAAA,EAAApP,KAAA89H,cAA2F,GAAA99H,KAAAi+H,YAAA,EAAA98H,EAAAgO,EAAAnP,KAAAg+H,YAAA7uH,EAAAnP,KAAAi+H,YAAA98H,EAAAiO,EAAApP,KAAAg+H,YAAA5uH,EAAApP,KAAAi+H,gBAA2G,CAAK,KAAAj+H,KAAAk+H,QAAA,eAAiC/8H,EAAAgO,EAAAnP,KAAAm+H,UAAAhvH,EAAAnP,KAAAk+H,QAAA/8H,EAAAiO,EAAApP,KAAAm+H,UAAA/uH,EAAApP,KAAAk+H,QAAoE,OAAA/8H,GAAS+6J,SAAA,SAAA/6J,GAAsBA,EAAAgB,OAAA,GAAAnC,KAAA87J,aAAA36J,EAAA,IAAoC,QAAAiH,GAAA80H,GAAAo2B,MAAAnyJ,GAAAe,EAAA,EAA2BA,EAAAf,EAAAgB,OAAA,EAAaD,IAAAlC,KAAAi8J,YAAAj8J,KAAA49H,WAAAz8H,EAAAe,GAAAf,EAAAe,EAAA,GAAAkG,GAAoDpI,KAAA+7J,gBAAA56J,IAAwB86J,YAAA,SAAA96J,EAAAiH,EAAAlG,EAAAvB,GAA+B,IAAA4U,EAAA5U,EAAA,KAAag9H,GAAAw+B,UAAAh7J,EAAAiH,EAAAlG,EAAAlC,KAAA69H,eAAuC,IAAArgG,EAAAmgG,GAAAy+B,MAAAj7J,EAAAiH,EAAAlG,GAAsBlC,KAAA+9H,IAAA5uH,GAAAoG,EAAAioB,EAAAx9B,KAAA69H,cAAA1uH,EAAAnP,KAAA+9H,IAAA3uH,GAAAmG,EAAAioB,EAAAx9B,KAAA69H,cAAAzuH,EAAApP,KAAA89H,UAAAvoH,EAAAioB,GAA6FgnB,IAAA,WAAgB,GAAA5U,UAAA,aAAAopF,GAAA,CAA8B,IAAA73H,EAAAyuC,UAAA,GAAmB5vC,KAAAk8J,SAAA/6J,EAAA2+I,kBAAAlrH,kBAAoD,QAAAxsB,EAAA,EAAYA,EAAAjH,EAAAkyJ,qBAAyBjrJ,IAAApI,KAAAg8J,QAAA76J,EAAAoyJ,iBAAAnrJ,GAAAwsB,uBAAyD,GAAAgb,UAAA,aAAAxH,EAAA,CAAkC,IAAAlmC,EAAA0tC,UAAA,GAAmB,GAAA1tC,EAAAi4G,UAAA,YAA2B,GAAAj4G,aAAA42H,GAAA94H,KAAA67J,SAAA35J,EAAAkhI,sBAAoD,GAAAlhI,aAAA02H,GAAA54H,KAAA+7J,gBAAA75J,EAAA0yB,uBAAiE,GAAA1yB,aAAA82H,GAAA,CAAyB,IAAAr4H,EAAAuB,EAAQlC,KAAAwkD,IAAA7jD,QAAY,GAAAuB,aAAAy1H,GAAA,KAAApiH,EAAArT,EAAA,IAAAkG,EAAA,EAAwCA,EAAAmN,EAAAsrH,mBAAuBz4H,IAAApI,KAAAwkD,IAAAjvC,EAAAq3I,aAAAxkJ,OAAiCytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxpB,MAAWA,GAAAy+B,MAAA,SAAAj7J,EAAAiH,EAAAlG,GAA2B,OAAAkG,EAAA+G,EAAAhO,EAAAgO,IAAAjN,EAAAkN,EAAAjO,EAAAiO,IAAAlN,EAAAiN,EAAAhO,EAAAgO,IAAA/G,EAAAgH,EAAAjO,EAAAiO,IAA8CuuH,GAAAw+B,UAAA,SAAAh7J,EAAAiH,EAAAlG,EAAAvB,GAAgC,OAAAA,EAAAwO,EAAAhO,EAAAgO,EAAA/G,EAAA+G,EAAAjN,EAAAiN,EAAAxO,EAAAyO,EAAAjO,EAAAiO,EAAAhH,EAAAgH,EAAAlN,EAAAkN,EAAA,MAA4CuuH,GAAA+R,YAAA,SAAAvuI,GAA4B,IAAAiH,EAAA,IAAAu1H,GAAAx8H,GAAgB,OAAAiH,EAAAsnI,eAAuB1zH,GAAA/a,UAAA,IAAAmB,MAAA4Z,GAAA/a,UAAAkF,KAAA,sBAAAi4H,GAAAn9H,UAAA,IAAAmO,EAAAgvH,GAAAn9H,UAAAujD,IAAA,SAAArjD,GAAgH,OAAAnB,KAAAq1H,OAAAz0H,KAAAO,IAAA,GAA8Bi9H,GAAAn9H,UAAAqX,IAAA,SAAAnX,GAA8B,GAAAA,EAAA,GAAAA,GAAAnB,KAAAmV,OAAA,UAAAknJ,0BAA2D,OAAAr8J,KAAAq1H,OAAAl0H,IAAsBi9H,GAAAn9H,UAAAL,KAAA,SAAAO,GAA+B,OAAAnB,KAAAq1H,OAAAz0H,KAAAO,MAA6Bi9H,GAAAn9H,UAAAsC,IAAA,SAAApC,GAA8B,OAAAnB,KAAAq1H,OAAAlzH,OAAA,UAAA6Z,GAAuC,OAAAhc,KAAAq1H,OAAA9xH,OAAyB66H,GAAAn9H,UAAAq7J,KAAA,WAA8B,OAAAt8J,KAAAq1H,OAAAlzH,OAAA,UAAA6Z,GAAuC,OAAAhc,KAAAq1H,OAAAr1H,KAAAq1H,OAAAlzH,OAAA,IAAyCi8H,GAAAn9H,UAAAojD,MAAA,WAA+B,WAAArkD,KAAAq1H,OAAAlzH,QAA8Bi8H,GAAAn9H,UAAAk5G,QAAA,WAAiC,OAAAn6G,KAAAqkD,SAAoB+5E,GAAAn9H,UAAAy3G,OAAA,SAAAv3G,GAAiC,OAAAnB,KAAAq1H,OAAAryH,QAAA7B,IAA8Bi9H,GAAAn9H,UAAAkU,KAAA,WAA8B,OAAAnV,KAAAq1H,OAAAlzH,QAA0Bi8H,GAAAn9H,UAAAmiF,QAAA,WAAiC,QAAAjiF,EAAA,GAAAiH,EAAA,EAAAlG,EAAAlC,KAAAq1H,OAAAlzH,OAAsCiG,EAAAlG,EAAIkG,IAAAjH,EAAAP,KAAAZ,KAAAq1H,OAAAjtH,IAA2B,OAAAjH,GAASiH,EAAAqwD,GAAAx3D,UAAA,CAAiBS,OAAA,SAAAP,GAAmBnB,KAAAq+H,QAAA6qB,SAAA/nJ,KAAAnB,KAAA0C,KAAA8hD,IAAArjD,GAAAnB,KAAAq+H,QAAA75E,IAAArjD,KAAiEyzB,eAAA,WAA2B,IAAAzzB,EAAA,IAAAU,MAAA7B,KAAA0C,KAAAyS,QAAAyuB,KAAA,MAA6C,OAAA5jC,KAAA0C,KAAA0gF,QAAAjiF,IAA4B00H,YAAA,WAAwB,OAAAn0F,IAAUylH,SAAA,WAAqB,OAAA1uF,MAAWA,GAAAgmE,kBAAA,SAAAt9H,GAAmC,QAAAiH,EAAA,IAAAqwD,GAAAv2D,EAAA,EAAqBA,EAAAf,EAAAgB,OAAWD,IAAAkG,EAAA1G,OAAAP,EAAAe,IAAmB,OAAAkG,EAAAwsB,kBAA0BxsB,EAAA+C,GAAAlK,UAAA,CAAiBs7J,QAAA,SAAAp7J,GAAoB,QAAAiH,EAAA,KAAAlG,EAAA,EAAmBA,EAAAf,EAAAgB,OAAWD,KAAAf,EAAAe,GAAAkN,EAAAjO,EAAA,GAAAiO,GAAAjO,EAAAe,GAAAkN,IAAAjO,EAAA,GAAAiO,GAAAjO,EAAAe,GAAAiN,EAAAhO,EAAA,GAAAgO,KAAA/G,EAAAjH,EAAA,GAAAA,EAAA,GAAAA,EAAAe,GAAAf,EAAAe,GAAAkG,GAA+E,OAAAovH,GAAAxyH,KAAA7D,EAAA,EAAAA,EAAAgB,OAAA,IAAAu8H,GAAAv9H,EAAA,KAAAA,GAA4Cq7J,eAAA,SAAAr7J,GAA4B,IAAAiH,EAAApI,KAAAy8J,cAAAt7J,GAAAe,EAAA,IAAA6oB,EAAoC,OAAA7oB,EAAAsiD,IAAAp8C,GAAA,GAAAlG,EAAAiT,OAAA,QAAAjT,EAAAumJ,YAAAvmJ,EAAAqmJ,sBAAyEmU,cAAA,SAAAv7J,GAA2B,GAAAA,EAAAnB,KAAA28J,UAAAx7J,GAAA,IAAAA,EAAAgB,OAAA,OAAAnC,KAAAs+H,YAAA60B,iBAAA,CAAAhyJ,EAAA,GAAAA,EAAA,KAA0F,IAAAiH,EAAApI,KAAAs+H,YAAArF,iBAAA93H,GAA2C,OAAAnB,KAAAs+H,YAAA01B,cAAA5rJ,EAAA,OAA8Cu0J,UAAA,SAAAx7J,GAAuBqT,EAAAqqE,OAAA19E,EAAA,GAAAA,IAAAgB,OAAA,IAA6B,QAAAiG,EAAA,IAAA8hB,EAAAhoB,EAAA,KAAAvB,EAAA,EAA2BA,GAAAQ,EAAAgB,OAAA,EAAcxB,IAAA,CAAK,IAAA4U,EAAApU,EAAAR,GAAA68B,EAAAr8B,EAAAR,EAAA,GAAoB4U,EAAAspE,OAAArhD,IAAA,OAAAt7B,GAAAlC,KAAA48J,UAAA16J,EAAAqT,EAAAioB,KAAAp1B,EAAAo8C,IAAAjvC,GAAArT,EAAAqT,GAA6DnN,EAAAo8C,IAAArjD,IAAAgB,OAAA,IAAqB,IAAAL,EAAA,IAAAD,MAAAuG,EAAA+M,QAAAyuB,KAAA,MAAqC,OAAAx7B,EAAAg7E,QAAAthF,IAAoB86J,UAAA,SAAAz7J,EAAAiH,EAAAlG,GAA2B,OAAAg7H,GAAAi8B,mBAAAh4J,EAAAiH,EAAAlG,GAAA,SAA6C,GAAAf,EAAAgO,IAAAjN,EAAAiN,EAAA,CAAc,GAAAhO,EAAAgO,GAAA/G,EAAA+G,GAAA/G,EAAA+G,GAAAjN,EAAAiN,EAAA,SAA+B,GAAAjN,EAAAiN,GAAA/G,EAAA+G,GAAA/G,EAAA+G,GAAAhO,EAAAgO,EAAA,SAA+B,GAAAhO,EAAAiO,IAAAlN,EAAAkN,EAAA,CAAc,GAAAjO,EAAAiO,GAAAhH,EAAAgH,GAAAhH,EAAAgH,GAAAlN,EAAAkN,EAAA,SAA+B,GAAAlN,EAAAkN,GAAAhH,EAAAgH,GAAAhH,EAAAgH,GAAAjO,EAAAiO,EAAA,SAA+B,UAAS0kB,OAAA,SAAA3yB,GAAoB,IAAAiH,EAAApI,KAAAw8J,eAAAr7J,GAA6B,UAAAiH,EAAA,OAAAjH,EAAqB,QAAAe,EAAA,IAAAq1H,GAAA52H,EAAA,EAAqBA,EAAAyH,EAAAjG,OAAWxB,IAAAuB,EAAAsiD,IAAAp8C,EAAAzH,IAAgB,IAAAA,EAAA,EAAYA,EAAAQ,EAAAgB,OAAWxB,IAAAu8H,GAAAg8B,cAAA/3J,EAAAR,GAAAyH,IAAAlG,EAAAsiD,IAAArjD,EAAAR,IAA0C,IAAA4U,EAAAghH,EAAAgyB,kBAAArmJ,GAA6B,OAAAqT,EAAApT,OAAA,EAAAnC,KAAA68J,UAAAtnJ,MAAsCunJ,cAAA,WAA0B,OAAA98J,KAAAu+H,SAAAp8H,OAAA,OAAAnC,KAAAs+H,YAAAgzB,yBAAA,MAAmF,OAAAtxJ,KAAAu+H,SAAAp8H,OAAA,OAAAnC,KAAAs+H,YAAAuzB,YAAA7xJ,KAAAu+H,SAAA,IAAkF,OAAAv+H,KAAAu+H,SAAAp8H,OAAA,OAAAnC,KAAAs+H,YAAA60B,iBAAAnzJ,KAAAu+H,UAAoF,IAAAp9H,EAAAnB,KAAAu+H,SAAoBv+H,KAAAu+H,SAAAp8H,OAAA,KAAAhB,EAAAnB,KAAA8zB,OAAA9zB,KAAAu+H,WAAwD,IAAAn2H,EAAApI,KAAAu8J,QAAAp7J,GAAAe,EAAAlC,KAAA+8J,WAAA30J,GAAAzH,EAAAX,KAAAuoJ,kBAAArmJ,GAAuE,OAAAlC,KAAA08J,cAAA/7J,IAA6Bk8J,UAAA,SAAA17J,GAAuB,QAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAAA1hC,EAAA,EAAsCA,EAAAkG,EAAAjG,OAAWD,MAAAf,EAAAgB,OAAAiG,EAAAlG,GAAAf,EAAAe,GAAAkG,EAAAlG,GAAAf,EAAA,GAAmC,OAAAiH,GAASq0J,cAAA,SAAAt7J,GAA2B,QAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAAA1hC,EAAA,EAAsCA,EAAAkG,EAAAjG,OAAWD,IAAAkG,EAAAlG,GAAAf,EAAA,GAAc,QAAAR,EAAA,EAAYA,EAAAQ,EAAAgB,OAAWxB,IAAAQ,EAAAR,GAAAwO,EAAA/G,EAAA,GAAA+G,IAAA/G,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAwO,EAAAhO,EAAAR,GAAAyO,EAAAhH,EAAA,GAAA+G,EAAA/G,EAAA,GAAAgH,IAAAhH,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAyO,EAAAhH,EAAA,GAAAgH,IAAAhH,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAwO,EAAAhO,EAAAR,GAAAyO,EAAAhH,EAAA,GAAA+G,EAAA/G,EAAA,GAAAgH,IAAAhH,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAwO,EAAA/G,EAAA,GAAA+G,IAAA/G,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAwO,EAAAhO,EAAAR,GAAAyO,EAAAhH,EAAA,GAAA+G,EAAA/G,EAAA,GAAAgH,IAAAhH,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAyO,EAAAhH,EAAA,GAAAgH,IAAAhH,EAAA,GAAAjH,EAAAR,IAAAQ,EAAAR,GAAAwO,EAAAhO,EAAAR,GAAAyO,EAAAhH,EAAA,GAAA+G,EAAA/G,EAAA,GAAAgH,IAAAhH,EAAA,GAAAjH,EAAAR,IAAoR,OAAAyH,GAASmgJ,kBAAA,SAAApnJ,GAA+B,QAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAA1hC,EAAA,EAA6CA,EAAAf,EAAAgU,OAAWjT,IAAA,CAAK,IAAAvB,EAAAQ,EAAAmX,IAAApW,GAAekG,EAAAlG,GAAAvB,EAAO,OAAAyH,GAAS20J,WAAA,SAAA57J,GAAwB,IAAAiH,EAAA,KAAAlG,EAAA,IAAAk8H,GAAoBh2H,EAAAlG,EAAAtB,KAAAO,EAAA,IAAAiH,EAAAlG,EAAAtB,KAAAO,EAAA,IAAAiH,EAAAlG,EAAAtB,KAAAO,EAAA,IAA6C,QAAAR,EAAA,EAAYA,EAAAQ,EAAAgB,OAAWxB,IAAA,CAAK,IAAAyH,EAAAlG,EAAAqB,OAAcrB,EAAAmiD,SAAA64E,GAAAi8B,mBAAAj3J,EAAAo6J,OAAAl0J,EAAAjH,EAAAR,IAAA,GAAqDyH,EAAAlG,EAAAqB,MAAW6E,EAAAlG,EAAAtB,KAAAwH,KAAAlG,EAAAtB,KAAAO,EAAAR,IACvu+B,OAAAyH,EAAAlG,EAAAtB,KAAAO,EAAA,IAAAe,GAAwB2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAh8I,MAAWA,GAAAqzH,mBAAA,SAAAr9H,GAAoC,IAAAiH,EAAA,IAAAqwD,GAAa,OAAAt3D,EAAAoB,MAAA6F,KAAAwsB,kBAAqCxsB,EAAAs2H,GAAAz9H,UAAA,CAAiBkd,QAAA,SAAAhd,EAAAiH,GAAsB,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAY,OAAAs2H,GAAAs+B,aAAAh9J,KAAA8pC,OAAA5nC,EAAAvB,IAAwCk1H,YAAA,WAAwB,OAAAv1H,IAAU6mJ,SAAA,WAAqB,OAAAzoB,MAAWA,GAAAs+B,aAAA,SAAA77J,EAAAiH,EAAAlG,GAAkC,IAAAvB,EAAAyH,EAAA+G,EAAAhO,EAAAgO,EAAAoG,EAAAnN,EAAAgH,EAAAjO,EAAAiO,EAAAouB,EAAAt7B,EAAAiN,EAAAhO,EAAAgO,EAAArN,EAAAI,EAAAkN,EAAAjO,EAAAiO,EAAA9O,EAAA48H,GAAAi8B,mBAAAh4J,EAAAiH,EAAAlG,GAA2E,GAAA5B,IAAA48H,GAAAkZ,iBAAA,SAAoC,GAAA91I,IAAA48H,GAAAo8B,UAAA,SAA6B,IAAAl4J,EAAAT,IAAA4U,IAAAxD,EAAAyrB,IAAA17B,IAAwB,OAAAV,EAAA2Q,GAAA,EAAA3Q,EAAA2Q,EAAA,KAAsB5G,GAAA8xJ,iBAAAv+B,GAAAt2H,EAAAu2H,GAAA19H,UAAA,CAAwCi8J,eAAA,SAAA/7J,EAAAiH,GAA6B,OAAApI,KAAA+5B,QAAA83H,YAAA7xJ,KAAAm9J,qBAAAh8J,EAAA4+I,wBAAA5+I,KAAwFi8J,iBAAA,SAAAj8J,EAAAiH,GAAgC,IAAAlG,GAAA,EAAAvB,EAAAX,KAAAq9J,oBAAAl8J,EAAA2+I,kBAAA3+I,GAA2D,OAAAR,gBAAAy4H,KAAAz4H,EAAAw5G,YAAAj4G,GAAA,GAAgD,QAAAqT,EAAA,IAAA2U,EAAAsT,EAAA,EAAoBA,EAAAr8B,EAAAkyJ,qBAAyB71H,IAAA,CAAK,IAAA17B,EAAA9B,KAAAq9J,oBAAAl8J,EAAAoyJ,iBAAA/1H,GAAAr8B,GAAwD,OAAAW,KAAAq4G,YAAAr4G,aAAAs3H,KAAAl3H,GAAA,GAAAqT,EAAAivC,IAAA1iD,IAA0D,GAAAI,EAAA,OAAAlC,KAAA+5B,QAAAi6H,cAAArzJ,EAAA4U,EAAA6tE,QAAA,KAAwD,IAAA9iF,EAAA,IAAA4pB,EAAY,cAAAvpB,GAAAL,EAAAkkD,IAAA7jD,GAAAL,EAAAg1H,OAAA//G,GAAAvV,KAAA+5B,QAAAk7H,cAAA30J,IAAoEg9J,yBAAA,SAAAn8J,GAAsC,OAAAnB,KAAA+5B,QAAAu/F,+BAAA11G,OAAAziB,IAA6Do8J,iBAAA,WAA6B,OAAAv9J,KAAA4+H,WAAsB4+B,yBAAA,SAAAr8J,EAAAiH,GAAwC,QAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAA,EAAoBA,EAAAQ,EAAA0/H,mBAAuBlgI,IAAA,CAAK,IAAA4U,EAAAvV,KAAAy9J,oBAAAt8J,EAAAyrJ,aAAAjsJ,GAAAQ,GAAoD,OAAAoU,MAAA4kG,WAAAj4G,EAAAsiD,IAAAjvC,IAAkC,OAAAvV,KAAA+5B,QAAAk7H,cAAA/yJ,IAAqCi7J,qBAAA,SAAAh8J,EAAAiH,GAAoC,OAAApI,KAAAioH,KAAA9mH,IAAoBs8J,oBAAA,SAAAt8J,EAAAiH,GAAmC,OAAApI,KAAA+5B,QAAAo5H,iBAAAnzJ,KAAAm9J,qBAAAh8J,EAAA4+I,wBAAA5+I,KAA6Fu8J,oBAAA,SAAAv8J,EAAAiH,GAAmC,QAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAA,EAAoBA,EAAAQ,EAAA0/H,mBAAuBlgI,IAAA,CAAK,IAAA4U,EAAAvV,KAAAk9J,eAAA/7J,EAAAyrJ,aAAAjsJ,GAAAQ,GAA+C,OAAAoU,MAAA4kG,WAAAj4G,EAAAsiD,IAAAjvC,IAAkC,OAAAvV,KAAA+5B,QAAAk7H,cAAA/yJ,IAAqCy7J,sBAAA,SAAAx8J,EAAAiH,GAAqC,QAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAA,EAAoBA,EAAAQ,EAAA0/H,mBAAuBlgI,IAAA,CAAK,IAAA4U,EAAAvV,KAAAo9J,iBAAAj8J,EAAAyrJ,aAAAjsJ,GAAAQ,GAAiD,OAAAoU,MAAA4kG,WAAAj4G,EAAAsiD,IAAAjvC,IAAkC,OAAAvV,KAAA+5B,QAAAk7H,cAAA/yJ,IAAqC+lH,KAAA,SAAA9mH,GAAkB,OAAAA,EAAA8mH,QAAgB21C,4BAAA,SAAAz8J,EAAAiH,GAA2C,QAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAA,EAAoBA,EAAAQ,EAAA0/H,mBAAuBlgI,IAAA,CAAK,IAAA4U,EAAAvV,KAAAmrD,UAAAhqD,EAAAyrJ,aAAAjsJ,IAAwC,OAAA4U,IAAAvV,KAAA6+H,oBAAAtpH,EAAA4kG,WAAAj4G,EAAAsiD,IAAAjvC,IAA2D,OAAAvV,KAAA8+H,+BAAA9+H,KAAA+5B,QAAAu3H,yBAAAj4B,GAAA67B,gBAAAhzJ,IAAAlC,KAAA+5B,QAAAk7H,cAAA/yJ,IAAsIipD,UAAA,SAAAhqD,GAAuB,GAAAnB,KAAA4+H,UAAAz9H,EAAAnB,KAAA+5B,QAAA54B,EAAAg3H,aAAAh3H,aAAA23H,GAAA,OAAA94H,KAAAk9J,eAAA/7J,EAAA,MAAmG,GAAAA,aAAAg4H,GAAA,OAAAn5H,KAAA09J,oBAAAv8J,EAAA,MAA2D,GAAAA,aAAAi4H,GAAA,OAAAp5H,KAAAq9J,oBAAAl8J,EAAA,MAA2D,GAAAA,aAAAy3H,GAAA,OAAA54H,KAAAy9J,oBAAAt8J,EAAA,MAA2D,GAAAA,aAAA02H,GAAA,OAAA73H,KAAAw9J,yBAAAr8J,EAAA,MAAgE,GAAAA,aAAA63H,GAAA,OAAAh5H,KAAAo9J,iBAAAj8J,EAAA,MAAwD,GAAAA,aAAAq4H,GAAA,OAAAx5H,KAAA29J,sBAAAx8J,EAAA,MAA6D,GAAAA,aAAAw2H,GAAA,OAAA33H,KAAA49J,4BAAAz8J,EAAA,MAAmE,UAAAR,EAAA,6BAAAQ,EAAAgmJ,WAAA4M,YAAiEsJ,oBAAA,SAAAl8J,EAAAiH,GAAmC,IAAAlG,EAAAlC,KAAAm9J,qBAAAh8J,EAAA4+I,wBAAA5+I,GAA6D,UAAAe,EAAA,OAAAlC,KAAA+5B,QAAAk/F,iBAAA,MAAuD,IAAAt4H,EAAAuB,EAAAiT,OAAe,OAAAxU,EAAA,GAAAA,EAAA,IAAAX,KAAAg/H,aAAAh/H,KAAA+5B,QAAAo5H,iBAAAjxJ,GAAAlC,KAAA+5B,QAAAk/F,iBAAA/2H,IAAsG2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxoB,MAAWv2H,EAAA62H,GAAAh+H,UAAA,CAAkB48J,aAAA,SAAA18J,EAAAiH,GAA2B,QAAAlG,EAAAlC,KAAAs/H,UAAAn+H,EAAAgU,OAAA,EAAAhU,EAAAgU,OAAAxU,EAAA,EAAiDA,EAAAuB,EAAIvB,IAAA,CAAK,IAAA4U,EAAApU,EAAAmX,IAAA3X,GAAA68B,EAAAx9B,KAAA89J,kBAAAvoJ,EAAAnN,GAA6C,OAAAo1B,IAAAr8B,EAAAoX,IAAA5X,EAAA,IAAAmR,EAAA0rB,IAAA,IAAA78B,GAAAX,KAAAs/H,WAAAn+H,EAAAoX,IAAApX,EAAAgU,OAAA,MAAArD,EAAA0rB,OAAiFsgI,kBAAA,SAAA38J,EAAAiH,GAAiC,QAAAlG,EAAA,EAAYA,EAAAkG,EAAAjG,OAAWD,IAAA,CAAK,GAAAf,EAAAgiI,SAAA/6H,EAAAlG,IAAA,YAAgC,GAAAf,EAAAuS,SAAAtL,EAAAlG,IAAAlC,KAAAk/H,cAAA,OAAA92H,EAAAlG,GAAmD,aAAY67J,OAAA,SAAA58J,GAAoB,IAAAiH,EAAA,IAAA2iB,EAAA/qB,KAAAm/H,QAAyBn/H,KAAA69J,aAAAz1J,EAAAjH,GAAAnB,KAAAg+J,aAAA51J,EAAAjH,GAA8C,IAAAe,EAAAkG,EAAAmgJ,oBAA4B,OAAArmJ,GAAS87J,aAAA,SAAA78J,EAAAiH,GAA4B,OAAAA,EAAAjG,OAAA,YAA4B,IAAAD,EAAAkG,EAAAjG,OAAeiG,EAAA,GAAA+6H,SAAA/6H,IAAAjG,OAAA,MAAAD,EAAAkG,EAAAjG,OAAA,GAA6C,QAAAxB,EAAA,EAAYA,EAAAuB,EAAIvB,IAAA,CAAK,IAAA4U,EAAAnN,EAAAzH,GAAA68B,EAAAx9B,KAAAi+J,uBAAA1oJ,EAAApU,GAA8Cq8B,GAAA,GAAAr8B,EAAAqjD,IAAAhnB,EAAA,MAAA1rB,EAAAyD,IAAA,KAA8B0oJ,uBAAA,SAAA98J,EAAAiH,GAAsC,QAAAlG,EAAAqT,EAAA45H,UAAAxuI,GAAA,EAAA68B,EAAA,EAA+BA,EAAAp1B,EAAA+M,OAAA,EAAaqoB,IAAA,CAAK,GAAAx9B,KAAAo/H,IAAAhC,GAAAh1H,EAAAkQ,IAAAklB,GAAAx9B,KAAAo/H,IAAA//G,GAAAjX,EAAAkQ,IAAAklB,EAAA,GAAAx9B,KAAAo/H,IAAAhC,GAAA+F,SAAAhiI,IAAAnB,KAAAo/H,IAAA//G,GAAA8jH,SAAAhiI,GAAA,CAAiG,GAAAnB,KAAAq/H,8BAAA,SAA+C,SAAS,IAAAv9H,EAAA9B,KAAAo/H,IAAA1rH,SAAAvS,GAA2BW,EAAA9B,KAAAk/H,eAAAp9H,EAAAI,MAAAJ,EAAAnB,EAAA68B,GAAqC,OAAA78B,GAASu9J,iCAAA,SAAA/8J,GAA8CnB,KAAAq/H,8BAAAl+H,GAAqC00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAloB,MAAWA,GAAAM,SAAA,SAAAp+H,GAA0B,QAAAA,EAAAgB,QAAA,IAAAhB,EAAA,GAAAgiI,SAAAhiI,IAAAgB,OAAA,KAAmDiG,EAAAo3H,GAAAv+H,UAAA,CAAiB88J,OAAA,SAAA58J,EAAAiH,GAAqB,IAAAlG,EAAAlC,KAAAm+J,yBAAAh9J,GAAAR,EAAA,IAAA++H,GAAAt3H,EAAAlG,GAAqD,OAAAvB,EAAAwqD,UAAAnrD,KAAAy/H,UAAiC2+B,WAAA,SAAAj9J,EAAAiH,GAA0B,IAAAlG,EAAAlC,KAAAm+J,yBAAAn+J,KAAAy/H,SAAA9+H,EAAA,IAAA++H,GAAAv+H,EAAAe,GAAA,GAAAqT,EAAA5U,EAAAwqD,UAAAnrD,KAAAy/H,SAAAjiG,EAAAjoB,EAAqG,OAAAnN,GAAAsnG,EAAAlyE,EAAAu7F,MAAAv7F,EAAAjoB,EAAA2pB,OAAA,IAAA1B,GAAqCsxG,qBAAA,SAAA3tI,GAAkC,IAAAiH,EAAApI,KAAAq+J,4BAAAl9J,GAAAe,EAAAkG,EAAA,GAAiD,OAAAlG,GAASi8J,yBAAA,SAAAh9J,GAAsC,QAAAiH,EAAA,IAAAmvH,GAAAr1H,EAAAf,EAAAyzB,iBAAAj0B,EAAA,EAA0CA,EAAAuB,EAAAC,OAAWxB,IAAAyH,EAAAo8C,IAAAtiD,EAAAvB,IAAgB,OAAAyH,EAAAg7E,QAAA,IAAAvhF,MAAA,GAAA+hC,KAAA,QAA0Cy6H,4BAAA,SAAAl9J,GAAyC,QAAAiH,EAAAmN,EAAA45H,UAAAjtI,EAAA,EAA0BA,EAAAf,EAAAgB,OAAA,EAAaD,IAAA,CAAK,IAAAvB,EAAAQ,EAAAe,GAAAwR,SAAAvS,EAAAe,EAAA,IAA4BvB,EAAAyH,MAAAzH,GAAW,OAAAyH,GAASytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3nB,MAAWA,GAAA8+B,KAAA,SAAAn9J,EAAAiH,EAAAlG,GAA0B,IAAAvB,EAAA,IAAAkB,MAAA,GAAA+hC,KAAA,MAAAruB,EAAA,IAAAiqH,GAAAr+H,GAA0CR,EAAA,GAAA4U,EAAAwoJ,OAAA31J,EAAAlG,GAAmB,IAAAs7B,EAAA,IAAAgiG,GAAAp3H,GAAgB,OAAAzH,EAAA,GAAA68B,EAAAugI,OAAAp9J,EAAA,GAAAuB,GAAAvB,GAA+B6+H,GAAA++B,4BAAA,WAA2C,OAAA3uH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAo3H,GAAAg/B,8BAAAr9J,GAAAe,EAAAf,EAAA+sI,oBAAiF,GAAAhsI,EAAAotB,YAAAkpC,GAAAqjE,MAAA,CAA2B,IAAAl7H,EAAA,EAAAuB,EAAA43I,WAAA,QAA6Bn5I,EAAAyH,MAAAzH,GAAW,OAAAyH,EAAS,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAkC,OAAA7rC,KAAAyiC,IAAAg5F,GAAA++B,4BAAAhpJ,GAAAiqH,GAAA++B,4BAAA/gI,MAAsFgiG,GAAAg/B,8BAAA,SAAAr9J,GAA8C,IAAAiH,EAAAjH,EAAAkuI,sBAAAntI,EAAA6B,KAAAyiC,IAAAp+B,EAAAugJ,YAAAvgJ,EAAAsgJ,YAAA/nJ,EAAAuB,EAAAs9H,GAAAi/B,sBAAkG,OAAA99J,GAAS6+H,GAAA4+B,WAAA,SAAAj9J,EAAAiH,EAAAlG,GAA+B,IAAAvB,EAAA,IAAA6+H,GAAAr+H,GAAgB,OAAAR,EAAAy9J,WAAAh2J,EAAAlG,IAAyBs9H,GAAAi/B,sBAAA,KAAA/gI,EAAAgiG,GAAAf,IAAAv2H,EAAAs3H,GAAAz+H,UAAA,CAAwDy9J,SAAA,SAAAv9J,EAAAiH,GAAuB,IAAAlG,EAAA,IAAA+8H,GAAA99H,EAAAnB,KAAAk/H,eAAmC,OAAAh9H,EAAAg8J,iCAAAl+J,KAAA4/H,YAAA19H,EAAA67J,OAAA31J,IAAuE+0J,qBAAA,SAAAh8J,EAAAiH,GAAoC,IAAAlG,EAAAf,EAAAonJ,oBAAA5nJ,EAAAX,KAAA0+J,SAAAx8J,EAAAlC,KAAA2/H,SAA4D,OAAA3/H,KAAA+5B,QAAAu/F,+BAAA11G,OAAAjjB,IAA6Dk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAznB,MAAWt3H,EAAAy3H,GAAA5+H,UAAA,CAAkB09J,UAAA,WAAqB,OAAAppJ,EAAA+xI,iBAAAtnJ,KAAAggI,aAA2Cx7E,IAAA,SAAArjD,GAAiB,IAAAiH,EAAAmN,EAAA8xI,iBAAAlmJ,GAA4B,GAAAnB,KAAA8/H,QAAA,OAAA9/H,KAAAggI,WAAA53H,EAAApI,KAAAigI,cAAAJ,GAAA++B,YAAA5+J,KAAAggI,YAAAhgI,KAAA8/H,SAAA,OAAiH,IAAA59H,EAAA29H,GAAA++B,YAAAx2J,GAAwB,OAAAlG,IAAAlC,KAAAigI,eAAAjgI,KAAAggI,WAAA,SAAAhgI,KAAA+/H,wBAAAF,GAAAg/B,6BAAA7+J,KAAAggI,WAAA53H,QAAApI,KAAAggI,WAAAH,GAAAi/B,cAAA9+J,KAAAggI,WAAA,OAAAhgI,KAAA+/H,6BAAsO3yG,SAAA,WAAqB,OAAAwiB,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAmN,EAAA+xI,iBAAAnmJ,GAAAe,EAAA68J,KAAAC,eAAA79J,GAAAR,EAAA,mEAAAuB,EAAAs7B,EAAA78B,EAAA44F,UAAA54F,EAAAwB,OAAA,IAAAL,EAAA07B,EAAA+7D,UAAA,UAAA/7D,EAAA+7D,UAAA,eAAA/7D,EAAA+7D,UAAA,UAAAnxF,EAAA,KAAsP,OAAAtG,IAAU+zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtnB,MAAWA,GAAAo/B,OAAA,SAAA99J,EAAAiH,GAA0B,IAAAlG,EAAA,GAAAkG,EAAW,YAAAjH,EAAAe,GAAA,KAAqB29H,GAAA++B,YAAA,SAAAz9J,GAA4B,OAAAA,GAAA,IAAa0+H,GAAAi/B,cAAA,SAAA39J,EAAAiH,GAAgC,IAAAlG,GAAA,GAAAkG,GAAA,EAAAzH,GAAAuB,EAAAqT,EAAApU,EAAAR,EAA0B,OAAA4U,GAASsqH,GAAAg/B,6BAAA,SAAA19J,EAAAiH,GAA+C,QAAAlG,EAAA,EAAAvB,EAAA,GAAiBA,GAAA,EAAKA,IAAA,CAAK,GAAAk/H,GAAAo/B,OAAA99J,EAAAR,KAAAk/H,GAAAo/B,OAAA72J,EAAAzH,GAAA,OAAAuB,EAA4CA,IAAI,WAAUkG,EAAA83H,GAAAj/H,UAAA,CAAiBi+J,cAAA,SAAA/9J,GAA0B,IAAAiH,EAAA,IAAAo4H,GAAAxgI,KAAAmgI,aAA+Bh/H,EAAAoB,MAAA6F,GAAAjH,EAAA6rJ,mBAA+BmS,iBAAA,SAAAh+J,GAA8B,OAAAnB,KAAAmgI,YAAAhxH,GAAA,IAAAnP,KAAAmgI,YAAA/wH,EAAA,OAAAjO,EAA2D,IAAAiH,EAAA,IAAA0J,EAAA9R,KAAAmgI,aAA8B/3H,EAAA+G,GAAA/G,EAAA+G,EAAA/G,EAAAgH,GAAAhH,EAAAgH,EAAkB,IAAAlN,EAAA,IAAAs+H,GAAAp4H,GAAgB,OAAAjH,EAAAoB,MAAAL,GAAAf,EAAA6rJ,kBAAA7rJ,GAAwCi+J,oBAAA,WAAgC,OAAAp/J,KAAAmgI,aAAwB37E,IAAA,SAAArjD,GAAiBA,EAAAoB,MAAAvC,KAAAogI,UAAApgI,KAAAmgI,YAAAngI,KAAAogI,SAAAg/B,uBAA4EvpC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjnB,MAAW93H,EAAAi4H,GAAAp/H,UAAA,CAAkBS,OAAA,SAAAP,GAAmBnB,KAAAsgI,YAAA97E,IAAArjD,EAAAgO,GAAAnP,KAAAugI,YAAA/7E,IAAArjD,EAAAiO,IAAoDgwJ,oBAAA,WAAgC,WAAAttJ,EAAA9R,KAAAsgI,YAAAq+B,YAAA3+J,KAAAugI,YAAAo+B,cAAwE9oC,YAAA,WAAwB,OAAAn0F,IAAUylH,SAAA,WAAqB,OAAA9mB,MAAWj4H,EAAAo4H,GAAAv/H,UAAA,CAAkBS,OAAA,SAAAP,EAAAiH,GAAqB,IAAAlG,EAAAf,EAAAumJ,YAAAt/I,EAAA,GAAApI,KAAAygI,MAAAtxH,EAAAxO,EAAAQ,EAAAumJ,YAAAt/I,EAAA,GAAApI,KAAAygI,MAAArxH,EAAwEjO,EAAAsmJ,YAAAr/I,EAAA,EAAAlG,GAAAf,EAAAsmJ,YAAAr/I,EAAA,EAAAzH,IAA0CuwJ,OAAA,WAAmB,UAASC,kBAAA,WAA8B,UAASt7B,YAAA,WAAwB,OAAA6B,KAAWyvB,SAAA,WAAqB,OAAA3mB,MAAWN,GAAAm/B,uBAAAh/B,GAAAH,GAAAo/B,WAAA9+B,GAAAp4H,EAAAs4H,GAAAz/H,UAAA,CAAgE4a,KAAA,WAAgB,GAAA7b,KAAA2gI,QAAA,OAAA3gI,KAAA2gI,SAAA,EAAAD,GAAA6+B,SAAAv/J,KAAA+2H,SAAA/2H,KAAAI,QAAAJ,KAAA+2H,OAA0F,UAAA/2H,KAAA4gI,sBAAA,CAAsC,GAAA5gI,KAAA4gI,sBAAAunB,UAAA,OAAAnoJ,KAAA4gI,sBAAA/kH,OAAiF7b,KAAA4gI,sBAAA,KAAgC,GAAA5gI,KAAAI,OAAAJ,KAAAyO,IAAA,UAAAU,EAAoC,IAAAhO,EAAAnB,KAAA+2H,OAAA61B,aAAA5sJ,KAAAI,SAA6C,OAAAe,aAAAw2H,IAAA33H,KAAA4gI,sBAAA,IAAAF,GAAAv/H,GAAAnB,KAAA4gI,sBAAA/kH,QAAA1a,GAAkGs3G,OAAA,WAAmB,UAAA+mD,8BAAAx/J,KAAAmnJ,WAAA4M,YAAmE5L,QAAA,WAAoB,GAAAnoJ,KAAA2gI,QAAA,SAAyB,UAAA3gI,KAAA4gI,sBAAA,CAAsC,GAAA5gI,KAAA4gI,sBAAAunB,UAAA,SAAiDnoJ,KAAA4gI,sBAAA,KAAgC,QAAA5gI,KAAAI,OAAAJ,KAAAyO,MAA8BonH,YAAA,WAAwB,OAAA35F,IAAUirH,SAAA,WAAqB,OAAAzmB,MAAWA,GAAA6+B,SAAA,SAAAp+J,GAA0B,QAAAA,aAAAw2H,KAAyBvvH,EAAA04H,GAAA7/H,UAAA,CAAiBw+J,eAAA,WAA0B,GAAA7vH,UAAA,aAAA99B,GAAA89B,UAAA,aAAAopF,GAAA,CAAwD,IAAA73H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,GAAAxnC,EAAA+xG,UAAA,OAAA79D,EAAAohF,SAAiC,IAAAx7H,EAAAkG,EAAA03I,kBAAAn/I,EAAAX,KAAA0/J,oBAAAv+J,EAAAe,GAA0D,GAAAvB,IAAA27C,EAAAohF,SAAA,OAAAphF,EAAAohF,SAAoC,GAAA/8H,IAAA27C,EAAAmhF,SAAA,OAAAnhF,EAAAmhF,SAAoC,QAAAloH,EAAA,EAAYA,EAAAnN,EAAAirJ,qBAAyB99I,IAAA,CAAK,IAAAioB,EAAAp1B,EAAAmrJ,iBAAAh+I,GAAAzT,EAAA9B,KAAA0/J,oBAAAv+J,EAAAq8B,GAA4D,GAAA17B,IAAAw6C,EAAAkhF,SAAA,OAAAlhF,EAAAohF,SAAoC,GAAA57H,IAAAw6C,EAAAmhF,SAAA,OAAAnhF,EAAAmhF,SAAoC,OAAAnhF,EAAAkhF,SAAkB,GAAA5tF,UAAA,aAAA99B,GAAA89B,UAAA,aAAAgpF,GAAA,CAAwD,IAAAt4H,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAkC,IAAAxuC,EAAAiuI,sBAAA7+E,WAAAlwD,GAAA,OAAAg8C,EAAAohF,SAA4D,IAAA3rH,EAAA3Q,EAAAwzB,iBAAyB,OAAAxzB,EAAAm+H,aAAAj/H,EAAAu+E,OAAA9sE,EAAA,MAAAzR,EAAAu+E,OAAA9sE,IAAA5P,OAAA,IAAA+6H,GAAAm8B,SAAA/4J,EAAAyR,GAAAuqC,EAAAkhF,SAAAlhF,EAAAohF,SAAAphF,EAAAmhF,SAAiH,GAAA7tF,UAAA,aAAA99B,GAAA89B,UAAA,aAAAkpF,GAAA,CAAwD,IAAAp7F,EAAAkS,UAAA,GAAAjuC,EAAAiuC,UAAA,GAAAp7B,EAAA7S,EAAAyhI,gBAAsD,OAAA5uH,EAAA2uH,SAAAzlG,GAAA4e,EAAAkhF,SAAAlhF,EAAAohF,WAA4CgiC,oBAAA,SAAAv+J,EAAAiH,GAAmC,OAAAA,EAAAinI,sBAAA7+E,WAAArvD,GAAA+7H,GAAA87B,kBAAA73J,EAAAiH,EAAAwsB,kBAAA0nB,EAAAohF,UAAmGltE,WAAA,SAAArvD,EAAAiH,GAA0B,OAAApI,KAAA2/J,OAAAx+J,EAAAiH,KAAAk0C,EAAAohF,UAAqCkiC,mBAAA,SAAAz+J,GAAgCA,IAAAm7C,EAAAkhF,WAAAx9H,KAAAihI,MAAA,GAAA9/H,IAAAm7C,EAAAmhF,UAAAz9H,KAAAkhI,iBAAoE2+B,gBAAA,SAAA1+J,EAAAiH,GAA+B,GAAAA,aAAA0wH,IAAA94H,KAAA4/J,mBAAA5/J,KAAAy/J,eAAAt+J,EAAAiH,iBAAAwwH,GAAA54H,KAAA4/J,mBAAA5/J,KAAAy/J,eAAAt+J,EAAAiH,SAAwI,GAAAA,aAAA4wH,GAAAh5H,KAAA4/J,mBAAA5/J,KAAAy/J,eAAAt+J,EAAAiH,SAA0E,GAAAA,aAAAyvH,GAAA,QAAA31H,EAAAkG,EAAAzH,EAAA,EAAwCA,EAAAuB,EAAA2+H,mBAAuBlgI,IAAA,CAAK,IAAA4U,EAAArT,EAAA0qJ,aAAAjsJ,GAAwBX,KAAA4/J,mBAAA5/J,KAAAy/J,eAAAt+J,EAAAoU,SAAkD,GAAAnN,aAAAoxH,GAAA,KAAAh8F,EAAAp1B,EAAA,IAAAzH,EAAA,EAAwCA,EAAA68B,EAAAqjG,mBAAuBlgI,IAAA,CAAK,IAAAmB,EAAA07B,EAAAovH,aAAAjsJ,GAAwBX,KAAA4/J,mBAAA5/J,KAAAy/J,eAAAt+J,EAAAW,UAAkD,GAAAsG,aAAAuvH,GAAA,QAAAr3H,EAAA,IAAAogI,GAAAt4H,GAA4C9H,EAAA6nJ,WAAY,CAAE,IAAA/mJ,EAAAd,EAAAub,OAAeza,IAAAgH,GAAApI,KAAA6/J,gBAAA1+J,EAAAC,KAAkCu+J,OAAA,SAAAx+J,EAAAiH,GAAsB,OAAAA,EAAA+xG,UAAA79D,EAAAohF,SAAAt1H,aAAAwwH,GAAA54H,KAAAy/J,eAAAt+J,EAAAiH,gBAAA4wH,GAAAh5H,KAAAy/J,eAAAt+J,EAAAiH,IAAApI,KAAAihI,MAAA,EAAAjhI,KAAAkhI,cAAA,EAAAlhI,KAAA6/J,gBAAA1+J,EAAAiH,GAAApI,KAAA+gI,aAAAoT,aAAAn0I,KAAAkhI,eAAA5kF,EAAAmhF,SAAAz9H,KAAAkhI,cAAA,GAAAlhI,KAAAihI,KAAA3kF,EAAAkhF,SAAAlhF,EAAAohF,WAAkS7H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArmB,MAAW14H,EAAA+4H,GAAAlgI,UAAA,CAAkB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAhmB,MAAWA,GAAA2+B,OAAA,WAAuB,oBAAAlwH,UAAA,qBAAAA,UAAA,IAAiE,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAAzuC,GAAA,IAAAiH,EAAA,UAAAzH,EAAA,yCAAAQ,EAAA,KAAAiH,EAAA,MAAoF,IAAAlG,EAAA6B,KAAA6hB,IAAAzkB,GAAAoU,EAAAxR,KAAA6hB,IAAAxd,GAAgC,OAAAjH,GAAA,EAAAiH,GAAA,EAAAlG,GAAAqT,EAAA,IAAArT,GAAAqT,EAAA,IAAAnN,GAAA,EAAAlG,GAAAqT,EAAA,IAAArT,GAAAqT,EAAA,IAA0D,GAAAq6B,UAAA,aAAA99B,GAAA89B,UAAA,aAAA99B,EAAA,CAAuD,IAAA0rB,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAwB,EAAAqN,EAAAquB,EAAAruB,EAAA/N,EAAAU,EAAAsN,EAAAouB,EAAApuB,EAAsD,OAAA9O,GAAA,IAAAc,EAAA,UAAAT,EAAA,sDAAA68B,GAAqF,OAAA2jG,GAAA2+B,OAAAx/J,EAAAc,KAAuBgH,EAAAg5H,GAAAngI,UAAA,CAAiB2zB,eAAA,aAA2Bzf,KAAA,aAAkBiuH,cAAA,SAAAjiI,KAA4Bo+H,SAAA,aAAsBwgC,QAAA,SAAA5+J,KAAsB6+J,QAAA,aAAqBnqC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/lB,MAAWh5H,EAAAi5H,GAAApgI,UAAA,CAAkB2zB,eAAA,WAA0B,OAAA50B,KAAAshI,KAAgBnsH,KAAA,WAAiB,OAAAnV,KAAAshI,IAAAn/H,QAAuBihI,cAAA,SAAAjiI,GAA2B,OAAAnB,KAAAshI,IAAAngI,IAAmBo+H,SAAA,WAAqB,OAAAv/H,KAAAshI,IAAA,GAAAziD,OAAA7+E,KAAAshI,IAAAthI,KAAAshI,IAAAn/H,OAAA,KAAuD89J,iBAAA,SAAA9+J,GAA8B,OAAAA,IAAAnB,KAAAshI,IAAAn/H,OAAA,KAAAg/H,GAAA2+B,OAAA9/J,KAAAojI,cAAAjiI,GAAAnB,KAAAojI,cAAAjiI,EAAA,KAAyF4+J,QAAA,SAAA5+J,GAAqBnB,KAAA4I,KAAAzH,GAAY6+J,QAAA,WAAoB,OAAAhgK,KAAA4I,MAAiBwkB,SAAA,WAAqB,OAAAkvG,GAAAm6B,aAAA,IAAA38B,GAAA95H,KAAAshI,OAAyCzL,YAAA,WAAwB,OAAAuL,KAAW+lB,SAAA,WAAqB,OAAA9lB,MAAWj5H,EAAA0nB,GAAA7uB,UAAA,CAAkBi/J,UAAA,aAAsBrqC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAr3H,MAAW1nB,EAAAm5H,GAAAtgI,UAAA,CAAkBk/J,QAAA,WAAmB,OAAAngK,KAAA6M,MAAiBqzJ,UAAA,WAAsB,OAAAlgK,KAAAmjD,QAAmB0yE,YAAA,WAAwB,OAAA/lG,GAAA1uB,IAAa+lJ,SAAA,WAAqB,OAAA5lB,MAAWn5H,EAAAo5H,GAAAvgI,UAAA,CAAkBm/J,KAAA,WAAgB,GAAApgK,KAAAm6G,UAAA,YAA8B,IAAAh5G,EAAAnB,KAAAqjE,MAAA/qD,IAAA,GAAwB,OAAAtY,KAAAqjE,MAAA9qD,IAAA,EAAAvY,KAAAqjE,MAAA/qD,IAAAtY,KAAAyhI,QAAAzhI,KAAAyhI,OAAA,EAAAzhI,KAAAqgK,QAAA,GAAAl/J,GAAoFgU,KAAA,WAAiB,OAAAnV,KAAAyhI,OAAkB4+B,QAAA,SAAAl/J,GAAqB,QAAAiH,EAAA,KAAAlG,EAAAlC,KAAAqjE,MAAA/qD,IAAAnX,GAAmC,EAAAA,GAAAnB,KAAAyhI,QAAAr5H,EAAA,EAAAjH,EAAAiH,IAAApI,KAAAyhI,OAAAzhI,KAAAqjE,MAAA/qD,IAAAlQ,EAAA,GAAA+lI,UAAAnuI,KAAAqjE,MAAA/qD,IAAAlQ,IAAA,GAAAA,IAAApI,KAAAqjE,MAAA/qD,IAAAlQ,GAAA+lI,UAAAjsI,GAAA,GAAkIf,EAAAiH,EAAApI,KAAAqjE,MAAA9qD,IAAApX,EAAAnB,KAAAqjE,MAAA/qD,IAAAlQ,IAAwCpI,KAAAqjE,MAAA9qD,IAAApX,EAAAe,IAAoB+sD,MAAA,WAAkBjvD,KAAAyhI,MAAA,EAAAzhI,KAAAqjE,MAAApU,SAAgCkrD,QAAA,WAAoB,WAAAn6G,KAAAyhI,OAAsBj9E,IAAA,SAAArjD,GAAiBnB,KAAAqjE,MAAA7e,IAAA,MAAAxkD,KAAAyhI,OAAA,EAAmC,IAAAr5H,EAAApI,KAAAyhI,MAAiB,IAAAzhI,KAAAqjE,MAAA9qD,IAAA,EAAApX,GAAwBA,EAAAgtI,UAAAnuI,KAAAqjE,MAAA/qD,IAAAvU,KAAAmjJ,MAAA9+I,EAAA,OAA+CA,GAAA,EAAApI,KAAAqjE,MAAA9qD,IAAAnQ,EAAApI,KAAAqjE,MAAA/qD,IAAAvU,KAAAmjJ,MAAA9+I,EAAA,KAAuDpI,KAAAqjE,MAAA9qD,IAAAnQ,EAAAjH,IAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3lB,MAAWp5H,EAAAs5H,GAAAzgI,UAAA,CAAkBq/J,UAAA,SAAAn/J,KAAuB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAzlB,MAAWt5H,EAAAu5H,GAAA1gI,UAAA,CAAkBkC,OAAA,SAAAhC,EAAAiH,KAAsBqwG,OAAA,SAAAt3G,EAAAiH,KAAuBm4J,MAAA,WAAkB,IAAA3wH,UAAAztC,OAAyBytC,UAAA,GAAa,IAAAA,UAAAztC,SAA8BytC,UAAA,GAAAA,UAAA,KAA2BimF,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxlB,MAAWv5H,EAAAw5H,GAAA3gI,UAAA,CAAkBu/J,SAAA,WAAoB,OAAAxgK,KAAA8hI,OAAkB3sH,KAAA,WAAiB,OAAAnV,KAAA6hI,gBAAA1sH,QAAmCsrJ,mBAAA,WAA+B,OAAAzgK,KAAA6hI,iBAA4B6+B,kBAAA,SAAAv/J,GAA+BqT,EAAAiuH,OAAA,OAAAziI,KAAAmjD,QAAAnjD,KAAA6hI,gBAAAr9E,IAAArjD,IAAyDg5G,QAAA,WAAoB,OAAAn6G,KAAA6hI,gBAAA1nB,WAAsC+lD,UAAA,WAAsB,cAAAlgK,KAAAmjD,SAAAnjD,KAAAmjD,OAAAnjD,KAAA2gK,iBAAA3gK,KAAAmjD,QAA0E0yE,YAAA,WAAwB,OAAA/lG,GAAA1uB,IAAa+lJ,SAAA,WAAqB,OAAAvlB,MAAWA,GAAAsmB,iBAAA,mBAAyC,IAAA0Y,GAAA,CAAQC,aAAA,WAAwB,OAAO1iJ,QAAA,SAAAhd,EAAAiH,GAAsB,OAAAA,EAAA+lI,UAAAhtI,MAAwBqlC,IAAA,SAAArlC,GAAiB,OAAAy/J,GAAA57J,KAAA7D,KAAAmX,IAAA,IAA2BtT,KAAA,SAAA7D,EAAAiH,GAAoB,IAAAlG,EAAAf,EAAAiiF,UAAkBh7E,EAAAovH,GAAAxyH,KAAA9C,EAAAkG,GAAAovH,GAAAxyH,KAAA9C,GAA0B,QAAAvB,EAAAQ,EAAAutF,WAAAn5E,EAAA,EAAAioB,EAAAt7B,EAAAC,OAAsCoT,EAAAioB,EAAIjoB,IAAA5U,EAAAkb,OAAAlb,EAAA4X,IAAArW,EAAAqT,KAAyBurJ,cAAA,SAAA3/J,GAA2B,IAAAiH,EAAA,IAAA8hB,EAAY,OAAA9hB,EAAAo8C,IAAArjD,GAAAiH,IAAoBA,EAAA25H,GAAA9gI,UAAA,CAAgB8/J,cAAA,SAAA5/J,EAAAiH,GAA4B,IAAAlG,EAAA6/H,GAAAi/B,YAAAhhK,KAAAgiI,YAAAzsH,EAAAwsH,GAAAi/B,YAAAhhK,KAAAiiI,YAAwE,GAAA//H,GAAAqT,EAAA,OAAAwsH,GAAA17F,KAAArmC,KAAAgiI,YAAAD,GAAA17F,KAAArmC,KAAAiiI,aAAAjiI,KAAAihK,OAAAjhK,KAAAgiI,WAAAhiI,KAAAiiI,WAAA9gI,EAAAiH,GAAA,OAAApI,KAAAihK,OAAAjhK,KAAAiiI,WAAAjiI,KAAAgiI,WAAA7gI,EAAAiH,GAAA,MAAiL,GAAAlG,EAAA,OAAAlC,KAAAihK,OAAAjhK,KAAAgiI,WAAAhiI,KAAAiiI,WAAA9gI,EAAAiH,GAAA,KAAkE,GAAAmN,EAAA,OAAAvV,KAAAihK,OAAAjhK,KAAAiiI,WAAAjiI,KAAAgiI,WAAA7gI,EAAAiH,GAAA,KAAkE,UAAAzH,EAAA,mCAA8CugK,SAAA,WAAqB,QAAAn/B,GAAAi/B,YAAAhhK,KAAAgiI,aAAAD,GAAAi/B,YAAAhhK,KAAAiiI,cAA0EkM,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAkiI,UAAA95H,EAAA85H,WAAA,EAAAliI,KAAAkiI,UAAA95H,EAAA85H,UAAA,KAAoE++B,OAAA,SAAA9/J,EAAAiH,EAAAlG,EAAAvB,GAA0B,QAAA4U,EAAApU,EAAAs/J,qBAAAjjI,EAAAjoB,EAAAm5E,WAAgDlxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAAvb,EAAA,IAAAyhI,GAAAjgI,EAAAsG,EAAApI,KAAAmiI,cAA+C7hI,EAAA6gK,cAAAxgK,GAAAuB,EAAAsiD,IAAAlkD,KAA6B8gK,aAAA,SAAAjgK,GAA0B,WAAAA,EAAAnB,KAAAgiI,WAAAhiI,KAAAiiI,YAA6Ck/B,YAAA,WAAwB,OAAAnhK,KAAAkiI,WAAsBxuH,SAAA,WAAqB,OAAA1T,KAAAkhK,WAAAlhK,KAAAmiI,aAAAzuH,SAAA1T,KAAAgiI,WAAAhiI,KAAAiiI,YAAAjiI,KAAAgiI,WAAAk+B,YAAAxsJ,SAAA1T,KAAAiiI,WAAAi+B,cAAqJrqC,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAAplB,MAAWA,GAAA17F,KAAA,SAAAllC,GAAsB,OAAAA,EAAA++J,YAAA5zG,WAA+By1E,GAAAi/B,YAAA,SAAA7/J,GAA4B,OAAAA,aAAAygI,IAAuBx5H,EAAAg6H,GAAAnhI,UAAA,CAAiBogK,gBAAA,WAA2B,OAAArhK,KAAAuiI,cAAyB++B,SAAA,SAAAngK,GAAsB,OAAAA,EAAAmX,IAAAnX,EAAAgU,OAAA,IAAyBA,KAAA,WAAmB,OAAAy6B,UAAAztC,OAAA,OAAAnC,KAAAm6G,UAAA,GAAAn6G,KAAAuhK,QAAAvhK,KAAAmV,KAAAnV,KAAA85B,OAAoF,OAAA8V,UAAAztC,OAAA,CAAyB,QAAAiG,EAAAwnC,UAAA,GAAAzuC,EAAA,EAAAe,EAAAkG,EAAAq4J,qBAAA/xE,WAA+DxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,aAAAihI,GAAAzgI,GAAAnB,KAAAmV,KAAAxU,gBAAA4gI,KAAApgI,GAAA,GAAwD,OAAAA,IAAUkhD,WAAA,SAAAlhD,EAAAiH,GAA0B,QAAAlG,EAAA,KAAAvB,EAAAQ,EAAAs/J,qBAAA/xE,WAAmD/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,aAAAgsH,IAAAhsH,EAAA4qJ,YAAA/3J,IAAAlG,EAAAqT,GAAwC,cAAArT,IAAAf,EAAAs/J,qBAAAhoD,OAAAv2G,IAAA,IAAuDs/J,UAAA,WAAsB,OAAA5xH,UAAAztC,OAAA,CAAyBnC,KAAAuhK,QAAa,IAAApgK,EAAAnB,KAAAwhK,UAAAxhK,KAAA85B,MAAgC,cAAA34B,EAAA,IAAA+oB,EAAA/oB,EAAwB,OAAAyuC,UAAAztC,OAAA,CAAyB,QAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAAgoB,EAAAvpB,EAAAyH,EAAAq4J,qBAAA/xE,WAAmE/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAe,GAAAtG,aAAAqsH,GAAA,CAAoB,IAAApkG,EAAAx9B,KAAAwhK,UAAAjsJ,GAAwB,OAAAioB,GAAAt7B,EAAAsiD,IAAAhnB,QAAmBjoB,aAAAgsH,GAAAr/H,EAAAsiD,IAAAjvC,EAAA4qJ,WAAA3rJ,EAAAgzI,uBAAiE,OAAAtlJ,EAAAiT,QAAA,OAAAjT,IAA2BiB,OAAA,SAAAhC,EAAAiH,GAAsBoM,EAAAiuH,QAAAziI,KAAAqiI,MAAA,0EAAAriI,KAAAsiI,eAAA99E,IAAA,IAAA+8E,GAAApgI,EAAAiH,KAAoIq5J,kBAAA,WAA8B,OAAA7xH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA8hB,EAA2B,OAAAlqB,KAAAyhK,kBAAAtgK,EAAAnB,KAAA85B,KAAA1xB,KAA+C,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD,GAAAp7B,EAAAiuH,OAAAvgI,GAAA,GAAAvB,EAAA6/J,aAAAt+J,EAAA,OAAAqT,EAAAivC,IAAA7jD,GAAA,KAAwD,QAAA68B,EAAA78B,EAAA8/J,qBAAA/xE,WAA4ClxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAe/Z,aAAA8/H,GAAA5hI,KAAAyhK,kBAAAv/J,EAAAJ,EAAAyT,IAAAf,EAAAiuH,OAAA3gI,aAAAy/H,KAAA,IAAAr/H,GAAAqT,EAAAivC,IAAA1iD,IAA2F,cAAay+J,MAAA,WAAkB,OAAA3wH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAuhK,QAAa,IAAAn5J,EAAA,IAAA8hB,EAAY,OAAAlqB,KAAAm6G,UAAA/xG,GAAApI,KAAA0hK,kBAAAlxG,WAAAxwD,KAAA85B,KAAAomI,YAAA/+J,IAAAnB,KAAAugK,MAAAp/J,EAAAnB,KAAA85B,KAAA1xB,MAAkH,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,GAAA5vC,KAAAuhK,QAAAvhK,KAAAm6G,UAAA,YAA2Cn6G,KAAA0hK,kBAAAlxG,WAAAxwD,KAAA85B,KAAAomI,YAAAh+J,IAAAlC,KAAAugK,MAAAr+J,EAAAlC,KAAA85B,KAAAn5B,QAAsF,OAAAivC,UAAAztC,OAAA,GAAAutG,EAAA9/D,UAAA,GAAA8xF,KAAA9xF,UAAA,aAAAx3B,QAAAw3B,UAAA,aAAAgyF,GAAA,QAAArsH,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAk9B,EAAAijI,qBAAAr/J,EAAA,EAA+LA,EAAAd,EAAA6U,OAAW/T,IAAA,CAAK,IAAA2Q,EAAAzR,EAAAgY,IAAAlX,GAAepB,KAAA0hK,kBAAAlxG,WAAAz+C,EAAAmuJ,YAAA3qJ,KAAAxD,aAAA6vH,GAAA5hI,KAAAugK,MAAAhrJ,EAAAxD,EAAAjQ,GAAAiQ,aAAAwvH,GAAAz/H,EAAAw+J,UAAAvuJ,EAAAouJ,WAAA3rJ,EAAAgzI,6BAA0J,GAAA93C,EAAA9/D,UAAA,GAAAxgC,IAAAwgC,UAAA,aAAAx3B,QAAAw3B,UAAA,aAAAgyF,GAAA,KAAAlkG,EAAAkS,UAAA,GAAAjuC,EAAAiuC,UAAA,GAAA99B,EAAA89B,UAAA,OAAAtvC,EAAAqB,EAAA8+J,qBAAAr/J,EAAA,EAAsKA,EAAAd,EAAA6U,OAAW/T,IAAA,CAAK2Q,EAAAzR,EAAAgY,IAAAlX,GAAepB,KAAA0hK,kBAAAlxG,WAAAz+C,EAAAmuJ,YAAAxiI,KAAA3rB,aAAA6vH,GAAA5hI,KAAAugK,MAAA7iI,EAAA3rB,EAAAD,GAAAC,aAAAwvH,GAAAzvH,EAAA0yC,IAAAzyC,EAAAouJ,WAAA3rJ,EAAAgzI,2BAAqJ+Z,MAAA,WAAkB,OAAAvhK,KAAAqiI,MAAA,MAAAriI,KAAA85B,KAAA95B,KAAAsiI,eAAAnoB,UAAAn6G,KAAA2hK,WAAA,GAAA3hK,KAAA4hK,mBAAA5hK,KAAAsiI,gBAAA,GAAAtiI,KAAAsiI,eAAA,UAAAtiI,KAAAqiI,OAAA,KAAiLw/B,QAAA,WAAoB,OAAA7hK,KAAAuhK,QAAAvhK,KAAA85B,MAA8B2+E,OAAA,WAAmB,OAAA7oE,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAA5vC,KAAAuhK,UAAAvhK,KAAA0hK,kBAAAlxG,WAAAxwD,KAAA85B,KAAAomI,YAAA/+J,IAAAnB,KAAAy4G,OAAAt3G,EAAAnB,KAAA85B,KAAA1xB,GAA6G,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAx9B,KAAAqiD,WAAA1hD,EAAA4U,GAAwE,GAAAioB,EAAA,SAAc,QAAA17B,EAAA,KAAAxB,EAAAK,EAAA8/J,qBAAA/xE,WAAmDpuF,EAAA6nJ,WAAY,CAAE,IAAA/mJ,EAAAd,EAAAub,OAAe,GAAA7b,KAAA0hK,kBAAAlxG,WAAApvD,EAAA8+J,YAAAh+J,IAAAd,aAAAwgI,KAAApkG,EAAAx9B,KAAAy4G,OAAAv2G,EAAAd,EAAAmU,IAAA,CAAgGzT,EAAAV,EAAI,OAAO,cAAAU,KAAA2+J,qBAAAtmD,WAAAx5G,EAAA8/J,qBAAAhoD,OAAA32G,GAAA07B,IAAuFokI,mBAAA,SAAAzgK,EAAAiH,GAAkCoM,EAAAiuH,QAAAthI,EAAAg5G,WAAuB,IAAAj4G,EAAAlC,KAAA8hK,uBAAA3gK,EAAAiH,EAAA,GAAyC,WAAAlG,EAAAiT,OAAAjT,EAAAoW,IAAA,GAAAtY,KAAA4hK,mBAAA1/J,EAAAkG,EAAA,IAA4DggI,MAAA,WAAkB,OAAAx4F,UAAAztC,OAAA,OAAAnC,KAAAm6G,UAAA,GAAAn6G,KAAAuhK,QAAAvhK,KAAAooI,MAAApoI,KAAA85B,OAAqF,OAAA8V,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,EAAAlG,EAAAf,EAAAs/J,qBAAA/xE,WAA+DxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,aAAAihI,GAAA,CAAoB,IAAArsH,EAAAvV,KAAAooI,MAAAznI,GAAoB4U,EAAAnN,MAAAmN,IAAY,OAAAnN,EAAA,IAAY05J,uBAAA,SAAA3gK,EAAAiH,GAAsCoM,EAAAiuH,QAAAthI,EAAAg5G,WAAuB,IAAAj4G,EAAA,IAAAgoB,EAAYhoB,EAAAsiD,IAAAxkD,KAAA2hK,WAAAv5J,IAA0B,IAAAzH,EAAA,IAAAupB,EAAA/oB,GAAey/J,GAAA57J,KAAArE,EAAAX,KAAA+hK,iBAAgC,QAAAxsJ,EAAA5U,EAAA+tF,WAAuBn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe7b,KAAAshK,SAAAp/J,GAAAu+J,qBAAAtrJ,SAAAnV,KAAAqhK,mBAAAn/J,EAAAsiD,IAAAxkD,KAAA2hK,WAAAv5J,IAAApI,KAAAshK,SAAAp/J,GAAAw+J,kBAAAljI,GAAuI,OAAAt7B,GAASi4G,QAAA,WAAoB,OAAAn6G,KAAAqiI,MAAAriI,KAAA85B,KAAAqgF,UAAAn6G,KAAAsiI,eAAAnoB,WAAoE0b,YAAA,WAAwB,OAAAz0H,IAAU+lJ,SAAA,WAAqB,OAAA/kB,MAAWA,GAAA4/B,eAAA,SAAA7gK,EAAAiH,GAAkC,OAAAjH,EAAAiH,EAAA,EAAAjH,EAAAiH,GAAA,KAAsBg6H,GAAA6/B,aAAAv/B,GAAAN,GAAA8lB,kBAAA,mBAAA9lB,GAAAI,sBAAA,GAAAp6H,EAAAu6H,GAAA1hI,UAAA,CAAwGyS,SAAA,SAAAvS,EAAAiH,KAAwBytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxkB,MAAWjlG,EAAAklG,GAAAR,IAAAh6H,EAAAw6H,GAAA3hI,UAAA,CAA2BihK,yCAAA,SAAA/gK,EAAAiH,GAAuDoM,EAAAiuH,OAAAthI,EAAAgB,OAAA,GAAqB,QAAAD,EAAA,IAAAgoB,EAAAvpB,EAAA,EAAoBA,EAAAQ,EAAAgB,OAAWxB,IAAAuB,EAAAozH,OAAAt1H,KAAAmiK,wCAAAhhK,EAAAR,GAAAyH,IAAmE,OAAAlG,GAASy/J,WAAA,SAAAxgK,GAAwB,WAAA0hI,GAAA1hI,IAAiBgU,KAAA,WAAiB,WAAAy6B,UAAAztC,OAAAigI,GAAAnhI,UAAAkU,KAAAnE,KAAAhR,MAAAoiI,GAAAnhI,UAAAkU,KAAA5S,MAAAvC,KAAA4vC,YAAiGzsC,OAAA,WAAmB,OAAAysC,UAAAztC,OAAA,OAAAigI,GAAAnhI,UAAAkC,OAAAZ,MAAAvC,KAAA4vC,WAAyE,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAAzuC,EAAAynJ,SAAA,UAAAxmB,GAAAnhI,UAAAkC,OAAA6N,KAAAhR,KAAAmB,EAAAiH,IAA+Ds5J,gBAAA,WAA4B,OAAA9+B,GAAAw/B,cAAuBC,eAAA,SAAAlhK,EAAAiH,GAA8B,QAAAlG,EAAA6B,KAAAmjJ,MAAAnjJ,KAAAo6B,KAAAh9B,EAAAgU,OAAA/M,IAAAzH,EAAA,IAAAkB,MAAAuG,GAAAw7B,KAAA,MAAAruB,EAAApU,EAAAutF,WAAAlxD,EAAA,EAAyFA,EAAAp1B,EAAIo1B,IAAA,CAAK78B,EAAA68B,GAAA,IAAAtT,EAAW,QAAApoB,EAAA,EAAYyT,EAAA4yI,WAAArmJ,EAAAI,GAAiB,CAAE,IAAA5B,EAAAiV,EAAAsG,OAAelb,EAAA68B,GAAAgnB,IAAAlkD,GAAAwB,KAAiB,OAAAnB,GAAS4/J,MAAA,WAAkB,OAAA3wH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAwyF,GAAAnhI,UAAAs/J,MAAAvvJ,KAAAhR,KAAAmB,GAAuC,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkCwyF,GAAAnhI,UAAAs/J,MAAAvvJ,KAAAhR,KAAAoI,EAAAlG,QAAkC,OAAA0tC,UAAAztC,OAAA,GAAAutG,EAAA9/D,UAAA,GAAA8xF,KAAA9xF,UAAA,aAAAx3B,QAAAw3B,UAAA,aAAAgyF,GAAA,CAA8G,IAAAjhI,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiDwyF,GAAAnhI,UAAAs/J,MAAAvvJ,KAAAhR,KAAAW,EAAA4U,EAAAioB,QAAoC,GAAAkyE,EAAA9/D,UAAA,GAAAxgC,IAAAwgC,UAAA,aAAAx3B,QAAAw3B,UAAA,aAAAgyF,GAAA,CAAqF,IAAA9/H,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAiDwyF,GAAAnhI,UAAAs/J,MAAAvvJ,KAAAhR,KAAA8B,EAAAxB,EAAAc,KAAqC2gK,cAAA,WAA0B,OAAAn/B,GAAA0/B,aAAsBH,wCAAA,SAAAhhK,EAAAiH,GAAuD,OAAAg6H,GAAAnhI,UAAA6gK,uBAAA9wJ,KAAAhR,KAAAmB,EAAAiH,IAA0DqwG,OAAA,WAAmB,OAAA7oE,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAAwyF,GAAAnhI,UAAAw3G,OAAAznG,KAAAhR,KAAAmB,EAAAiH,GAA0C,OAAAg6H,GAAAnhI,UAAAw3G,OAAAl2G,MAAAvC,KAAA4vC,YAAiDw4F,MAAA,WAAkB,WAAAx4F,UAAAztC,OAAAigI,GAAAnhI,UAAAmnI,MAAAp3H,KAAAhR,MAAAoiI,GAAAnhI,UAAAmnI,MAAA7lI,MAAAvC,KAAA4vC,YAAmGkyH,uBAAA,SAAA3gK,EAAAiH,GAAsCoM,EAAAiuH,QAAAthI,EAAAg5G,WAAuB,IAAAj4G,EAAA6B,KAAAmjJ,MAAAnjJ,KAAAo6B,KAAAh9B,EAAAgU,OAAAnV,KAAAqhK,oBAAA1gK,EAAA,IAAAupB,EAAA/oB,GAAwEy/J,GAAA57J,KAAArE,EAAAiiI,GAAA2/B,aAA0B,IAAAhtJ,EAAAvV,KAAAqiK,eAAA1hK,EAAAoD,KAAAmjJ,MAAAnjJ,KAAAo6B,KAAAp6B,KAAAgR,KAAA7S,MAAiE,OAAAlC,KAAAkiK,yCAAA3sJ,EAAAnN,IAA0Do6J,iBAAA,WAA6B,OAAA5yH,UAAAztC,OAAA,CAAyB,GAAAutG,EAAA9/D,UAAA,GAAA+yF,IAAA,CAAuB,IAAAxhI,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA25H,GAAA/hI,KAAA6hK,UAAA7hK,KAAA6hK,UAAA1gK,GAA6D,OAAAnB,KAAAwiK,iBAAAp6J,GAAgC,GAAAwnC,UAAA,aAAAmyF,GAAA,CAA8B,IAAA7/H,EAAA0tC,UAAA,GAAmB,OAAA5vC,KAAAwiK,iBAAAtgK,EAAAqT,EAAAg2H,yBAAqD,OAAA37F,UAAAztC,OAAA,CAA8B,GAAAytC,UAAA,aAAAgzF,IAAAlzB,EAAA9/D,UAAA,GAAA+yF,IAAA,CAAkD,IAAAhiI,EAAAivC,UAAA,GAAApS,EAAAoS,UAAA,GAAAxnC,EAAA,IAAA25H,GAAA/hI,KAAA6hK,UAAAlhK,EAAAkhK,UAAArkI,GAAyE,OAAAx9B,KAAAwiK,iBAAAp6J,GAAgC,GAAAwnC,UAAA,aAAAmyF,IAAA,iBAAAnyF,UAAA,IAA6D,IAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAd,EAAAyR,EAAA,KAAA2rB,EAAA,IAAA8jG,GAAsD,IAAA9jG,EAAA8mB,IAAA1iD,IAAa47B,EAAAy8E,WAAA/4G,EAAA,GAAkB,CAAE,IAAAO,EAAA+7B,EAAA0iI,OAAA5rJ,EAAA7S,EAAAw/J,cAAiC,GAAA3sJ,GAAApT,EAAA,MAAcO,EAAAu/J,YAAA9/J,EAAAoT,EAAAzC,EAAApQ,KAAAo/J,cAAArjI,EAAAt8B,GAA4C,OAAA2Q,EAAAqvJ,aAAA,GAAAjB,UAAApuJ,EAAAqvJ,aAAA,GAAAjB,iBAAiE,OAAAvwH,UAAAztC,OAAA,CAA8B,IAAA2P,EAAA89B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAA0T,UAAA,GAAA9sC,EAAA,IAAAy+H,GAAAzvH,EAAArR,GAAA2H,EAAA,IAAA25H,GAAA/hI,KAAA6hK,UAAA/+J,EAAAo5B,GAA4F,OAAAl8B,KAAAwiK,iBAAAp6J,GAAA,KAAoCytH,YAAA,WAAwB,OAAA8L,GAAAvgI,IAAa+lJ,SAAA,WAAqB,OAAAvkB,MAAWA,GAAA6/B,QAAA,SAAAthK,GAAyB,OAAAyhI,GAAA4M,IAAAruI,EAAA6xI,UAAA7xI,EAAA8xI,YAAuCrQ,GAAA4M,IAAA,SAAAruI,EAAAiH,GAAsB,OAAAjH,EAAAiH,GAAA,GAAcw6H,GAAAqM,QAAA,SAAA9tI,GAAwB,OAAAyhI,GAAA4M,IAAAruI,EAAAouI,UAAApuI,EAAAmuI,YAAuC5xG,EAAAmlG,GAAAjB,IAAAx5H,EAAAy6H,GAAA5hI,UAAA,CAA0B0/J,cAAA,WAAyB,QAAAx/J,EAAA,KAAAiH,EAAApI,KAAAygK,qBAAA/xE,WAAsDtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,OAAA1a,IAAA,IAAAknC,EAAAnmC,EAAAg+J,aAAA/+J,EAAA2nJ,gBAAA5mJ,EAAAg+J,aAAiE,OAAA/+J,GAAS00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtkB,MAAWD,GAAA8/B,YAAA7/B,GAAAD,GAAAslB,iBAAA,kBAAAtlB,GAAA2/B,YAAA,CAA0E1sC,YAAA,WAAuB,OAAAv1H,IAAU6d,QAAA,SAAAhd,EAAAiH,GAAuB,OAAAg6H,GAAA4/B,eAAAp/B,GAAA6/B,QAAAthK,EAAA++J,aAAAt9B,GAAA6/B,QAAAr6J,EAAA83J,gBAA+Et9B,GAAA0/B,YAAA,CAAiBzsC,YAAA,WAAuB,OAAAv1H,IAAU6d,QAAA,SAAAhd,EAAAiH,GAAuB,OAAAg6H,GAAA4/B,eAAAp/B,GAAAqM,QAAA9tI,EAAA++J,aAAAt9B,GAAAqM,QAAA7mI,EAAA83J,gBAA+Et9B,GAAAw/B,aAAA,CAAkBvsC,YAAA,WAAuB,OAAAosC,eAAqBzxG,WAAA,SAAArvD,EAAAiH,GAA0B,OAAAjH,EAAAqvD,WAAApoD,KAAwBw6H,GAAAJ,sBAAA,GAAAp6H,EAAA06H,GAAA7hI,UAAA,CAA6C40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAArkB,MAAWA,GAAA6/B,aAAA,SAAAxhK,EAAAiH,GAAgC,OAAAjH,EAAAiH,GAAA,EAAAjH,EAAAiH,EAAA,KAAsB06H,GAAA3kH,QAAA,SAAAhd,EAAAiH,EAAAlG,GAA4B,GAAAkG,EAAA+6H,SAAAjhI,GAAA,SAA0B,IAAAvB,EAAAmiI,GAAA6/B,aAAAv6J,EAAA+G,EAAAjN,EAAAiN,GAAAoG,EAAAutH,GAAA6/B,aAAAv6J,EAAAgH,EAAAlN,EAAAkN,GAA0D,OAAAjO,GAAU,cAAA2hI,GAAA8/B,aAAAjiK,EAAA4U,GAAmC,cAAAutH,GAAA8/B,aAAArtJ,EAAA5U,GAAmC,cAAAmiI,GAAA8/B,aAAArtJ,GAAA5U,GAAoC,cAAAmiI,GAAA8/B,cAAAjiK,EAAA4U,GAAoC,cAAAutH,GAAA8/B,cAAAjiK,GAAA4U,GAAqC,cAAAutH,GAAA8/B,cAAArtJ,GAAA5U,GAAqC,cAAAmiI,GAAA8/B,cAAArtJ,EAAA5U,GAAoC,cAAAmiI,GAAA8/B,aAAAjiK,GAAA4U,GAAoC,OAAAf,EAAAgzI,qBAAA,2BAAwD1kB,GAAA8/B,aAAA,SAAAzhK,EAAAiH,GAA+B,OAAAjH,EAAA,KAAAA,EAAA,IAAAiH,EAAA,KAAAA,EAAA,OAAmCA,EAAA26H,GAAA9hI,UAAA,CAAiBmiI,cAAA,WAAyB,OAAApjI,KAAAqT,OAAkBwvJ,MAAA,SAAA1hK,GAAmBA,EAAA0hK,MAAA7iK,KAAAqT,OAAAlS,EAAA0hK,MAAA,YAAA7iK,KAAA66G,eAA2DszB,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAA66G,aAAAzyG,EAAAyyG,cAAA,EAAA76G,KAAA66G,aAAAzyG,EAAAyyG,aAAA,EAAA76G,KAAAqT,MAAA8vH,SAAA/6H,EAAAiL,OAAA,EAAAyvH,GAAA3kH,QAAAne,KAAAijI,cAAAjjI,KAAAqT,MAAAjL,EAAAiL,QAA+JwjJ,WAAA,SAAA11J,GAAwB,WAAAnB,KAAA66G,eAAA76G,KAAAkjI,aAAAljI,KAAA66G,eAAA15G,GAAuE2hK,WAAA,WAAuB,OAAA9iK,KAAAkjI,aAAwBrN,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAApkB,MAAW36H,EAAAi7H,GAAApiI,UAAA,CAAkB8hK,oBAAA,WAA+B,IAAA5hK,EAAA,IAAA4pB,EAAY/qB,KAAA4vI,eAAoB,QAAAxnI,EAAApI,KAAA0uF,WAAAxsF,EAAAkG,EAAAyT,OAAqCzT,EAAA+/I,WAAY,CAAE,IAAAxnJ,EAAAyH,EAAAyT,OAAe7b,KAAAgjK,mBAAA9gK,EAAAvB,EAAAQ,GAAAe,EAAAvB,EAAmC,OAAAQ,EAAAonJ,qBAA6B0a,kBAAA,WAA8B,IAAA9hK,EAAA,IAAA+oB,EAAYlqB,KAAAkjK,+BAAA/hK,GAAAnB,KAAAmjK,kCAAAhiK,GAAiF,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAA4tI,WAA0BzpJ,KAAAwkD,IAAAxkD,KAAAqa,KAAA+oH,cAAAlhI,QAAwC2gK,MAAA,SAAA1hK,GAAmBA,EAAAq3J,QAAA,kBAA4B,QAAApwJ,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2gK,MAAA1hK,KAAYgiK,kCAAA,SAAAhiK,GAA+C,QAAAiH,EAAA,EAAYA,EAAApI,KAAAqa,KAAAlF,OAAA,EAAqB/M,IAAA,CAAK,IAAAlG,EAAAlC,KAAAqa,KAAA+oH,cAAAh7H,GAAAzH,GAAAX,KAAAqa,KAAA+oH,cAAAh7H,EAAA,GAAApI,KAAAqa,KAAA+oH,cAAAh7H,EAAA,IAA+FlG,EAAAihI,SAAAxiI,IAAAQ,EAAAqjD,IAAA,IAAAjkD,EAAA6H,EAAA,MAAkC46J,mBAAA,SAAA7hK,EAAAiH,EAAAlG,GAAoCkG,EAAAyyG,aAAA15G,EAAA05G,aAAA,IAAAtlG,EAAAvV,KAAAqa,KAAA+oH,cAAAh7H,EAAAyyG,cAAAr9E,EAAAp1B,EAAA06J,eAAA16J,EAAAiL,MAAA8vH,SAAA5tH,GAA8HrT,EAAAsiD,IAAA,IAAA1yC,EAAA3Q,EAAAkS,QAAA,GAAyB,QAAAvR,EAAAX,EAAA05G,aAAA,EAA2B/4G,GAAAsG,EAAAyyG,aAAkB/4G,IAAAI,EAAAsiD,IAAAxkD,KAAAqa,KAAA+oH,cAAAthI,IAAsC07B,GAAAt7B,EAAAsiD,IAAA,IAAA1yC,EAAA1J,EAAAiL,SAAyBq7E,SAAA,WAAqB,OAAA1uF,KAAAsjI,QAAA97G,SAAAknE,YAAwC00E,cAAA,SAAAjiK,GAA2BnB,KAAA4vI,eAAA5vI,KAAAijK,oBAA6C,QAAA76J,EAAApI,KAAA0uF,WAAAxsF,EAAAkG,EAAAyT,OAAqCzT,EAAA+/I,WAAY,CAAE,IAAAxnJ,EAAAyH,EAAAyT,OAAAtG,EAAAvV,KAAAqjK,gBAAAnhK,EAAAvB,GAA2CQ,EAAAqjD,IAAAjvC,GAAArT,EAAAvB,IAAc2iK,kBAAA,SAAAniK,EAAAiH,EAAAlG,GAAmC,IAAAf,EAAAkS,MAAA8vH,SAAA/6H,EAAAiL,OAAA,SAAuC,IAAA1S,EAAAyH,EAAAyyG,aAAA15G,EAAA05G,aAAoC,OAAAzyG,EAAA06J,cAAAniK,IAAA,IAAAA,IAAAuB,EAAA,GAAAf,EAAA05G,aAAA,OAA6DqoD,+BAAA,SAAA/hK,GAA4C,QAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAAA1hC,EAAAlC,KAAA0uF,WAAA/tF,EAAAuB,EAAA2Z,OAA+D3Z,EAAAimJ,WAAY,CAAE,IAAA5yI,EAAArT,EAAA2Z,OAAA2hB,EAAAx9B,KAAAsjK,kBAAA3iK,EAAA4U,EAAAnN,GAA+Co1B,GAAAr8B,EAAAqjD,IAAA,IAAAjkD,EAAA6H,EAAA,KAAAzH,EAAA4U,IAA2BsuH,QAAA,WAAoB,OAAA7jI,KAAAqa,MAAiBu1H,aAAA,WAAyB,IAAAzuI,EAAAnB,KAAAqa,KAAAlF,OAAA,EAAyBnV,KAAAwkD,IAAAxkD,KAAAqa,KAAA+oH,cAAA,MAAApjI,KAAAwkD,IAAAxkD,KAAAqa,KAAA+oH,cAAAjiI,OAA8EkiK,gBAAA,SAAAliK,EAAAiH,GAA+B,IAAAlG,EAAAkG,EAAAyyG,aAAA15G,EAAA05G,aAAA,EAAAl6G,EAAAX,KAAAqa,KAAA+oH,cAAAh7H,EAAAyyG,cAAAtlG,EAAAnN,EAAA06J,eAAA16J,EAAAiL,MAAA8vH,SAAAxiI,GAAuH4U,GAAArT,IAAO,IAAAs7B,EAAA,IAAA37B,MAAAK,GAAA0hC,KAAA,MAAA9hC,EAAA,EAAkC07B,EAAA17B,KAAA,IAAAgQ,EAAA3Q,EAAAkS,OAAsB,QAAA/S,EAAAa,EAAA05G,aAAA,EAA2Bv6G,GAAA8H,EAAAyyG,aAAkBv6G,IAAAk9B,EAAA17B,KAAA9B,KAAAqa,KAAA+oH,cAAA9iI,GAAsC,OAAAiV,IAAAioB,EAAA17B,GAAA,IAAAgQ,EAAA1J,EAAAiL,QAAA,IAAA2wH,GAAAxmG,EAAAx9B,KAAAqa,KAAA2lJ,YAA8Dx7G,IAAA,SAAArjD,EAAAiH,GAAmB,IAAAlG,EAAA,IAAA6gI,GAAA/iI,KAAAqa,KAAAlZ,EAAAiH,EAAApI,KAAAqa,KAAA4lJ,iBAAA73J,IAAAzH,EAAAX,KAAAsjI,QAAAhrH,IAAApW,GAAgF,cAAAvB,GAAA6T,EAAAiuH,OAAA9hI,EAAA0S,MAAA8vH,SAAAhiI,GAAA,gDAAAR,IAAAX,KAAAsjI,QAAAtH,IAAA95H,SAA2HqhK,2BAAA,SAAApiK,GAAwC,IAAAiH,EAAApI,KAAAqa,KAAAua,iBAAA1yB,EAAAf,EAAAmX,IAAA,GAAA3X,EAAAuB,EAAAkhI,cAAA,GAAiE,IAAAziI,EAAAwiI,SAAA/6H,EAAA,cAAA2J,EAAA,iCAAApR,GAAqE,IAAA4U,EAAApU,EAAAmX,IAAAnX,EAAAgU,OAAA,GAAAqoB,EAAAjoB,EAAAqf,iBAAA9yB,EAAA07B,IAAAr7B,OAAA,GAA6D,IAAAL,EAAAqhI,SAAA/6H,IAAAjG,OAAA,cAAA4P,EAAA,+BAAAjQ,IAA4E+zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9jB,MAAWj7H,EAAAm7H,GAAAtiI,UAAA,CAAkB4a,KAAA,WAAgB,cAAA7b,KAAA0jI,UAAA1jI,KAAA0jI,SAAA1jI,KAAA2jI,SAAA3jI,KAAA4jI,aAAA5jI,KAAA0jI,SAAA7oB,aAAA76G,KAAA8jI,eAAA9jI,KAAA0jI,UAAA,OAAA1jI,KAAA2jI,SAAA,KAAA3jI,KAAA2jI,SAAA9oB,eAAA76G,KAAA0jI,SAAA7oB,cAAA76G,KAAA0jI,SAAA1jI,KAAA2jI,SAAA3jI,KAAA4jI,aAAA5jI,KAAA0jI,SAAA7oB,aAAA76G,KAAA8jI,eAAA9jI,KAAA0jI,WAAA1jI,KAAA2jI,SAAA9oB,aAAA76G,KAAA0jI,SAAA7oB,aAAA,OAAqYpC,OAAA,WAAmB,UAAA+mD,8BAAAx/J,KAAAmnJ,WAAA4M,YAAmE5L,QAAA,WAAoB,cAAAnoJ,KAAA2jI,UAA4BG,aAAA,WAAyB9jI,KAAAyjI,OAAA0kB,UAAAnoJ,KAAA2jI,SAAA3jI,KAAAyjI,OAAA5nH,OAAA7b,KAAA2jI,SAAA,MAA0E9N,YAAA,WAAwB,OAAA35F,IAAUirH,SAAA,WAAqB,OAAA5jB,MAAWn7H,EAAA27H,GAAA9iI,UAAA,CAAkBuiK,gBAAA,SAAAriK,EAAAiH,KAA+BytH,YAAA,WAAwB,OAAAuL,KAAW+lB,SAAA,WAAqB,OAAApjB,MAAW37H,EAAA47H,GAAA/iI,UAAA,CAAkB2zB,eAAA,WAA0B,OAAA50B,KAAAshI,KAAgBnsH,KAAA,WAAiB,OAAAnV,KAAAshI,IAAAn/H,QAAuBihI,cAAA,SAAAjiI,GAA2B,OAAAnB,KAAAshI,IAAAngI,IAAmBo+H,SAAA,WAAqB,OAAAv/H,KAAAshI,IAAA,GAAAziD,OAAA7+E,KAAAshI,IAAAthI,KAAAshI,IAAAn/H,OAAA,KAAuD89J,iBAAA,SAAA9+J,GAA8B,OAAAA,IAAAnB,KAAAshI,IAAAn/H,OAAA,KAAAnC,KAAAyjK,WAAAzjK,KAAAojI,cAAAjiI,GAAAnB,KAAAojI,cAAAjiI,EAAA,KAA+F4+J,QAAA,SAAA5+J,GAAqBnB,KAAA4I,KAAAzH,GAAYsiK,WAAA,SAAAtiK,EAAAiH,GAA0B,OAAAjH,EAAAgiI,SAAA/6H,GAAA,EAAA+4H,GAAA2+B,OAAA3+J,EAAAiH,IAAsC43J,QAAA,WAAoB,OAAAhgK,KAAA4I,MAAiB46J,gBAAA,WAA4B,OAAA5zH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA0jK,oBAAAviK,EAAAiH,QAA8B,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,GAAAq6B,UAAA,GAAAA,UAAA,IAAApS,EAAA,IAAA1rB,EAAA5P,EAAAm1J,gBAAA9hJ,IAA8FvV,KAAAwjK,gBAAAhmI,EAAA78B,KAA2BysB,SAAA,WAAqB,OAAAkvG,GAAAm6B,aAAA,IAAA38B,GAAA95H,KAAAshI,OAAyCqiC,YAAA,WAAwB,OAAA3jK,KAAAwjI,UAAqBkgC,oBAAA,SAAAviK,EAAAiH,GAAmC,IAAAlG,EAAAkG,EAAAzH,EAAAuB,EAAA,EAAc,GAAAvB,EAAAX,KAAAshI,IAAAn/H,OAAA,CAAsB,IAAAoT,EAAAvV,KAAAshI,IAAA3gI,GAAkBQ,EAAAgiI,SAAA5tH,KAAArT,EAAAvB,GAAqB,IAAA68B,EAAAx9B,KAAAwjI,SAAAh/E,IAAArjD,EAAAe,GAA6B,OAAAs7B,GAASomI,iBAAA,SAAAziK,EAAAiH,EAAAlG,GAAkC,QAAAvB,EAAA,EAAYA,EAAAQ,EAAA81J,qBAAyBt2J,IAAAX,KAAAwjK,gBAAAriK,EAAAiH,EAAAlG,EAAAvB,IAAkCk1H,YAAA,WAAwB,OAAAkO,KAAWojB,SAAA,WAAqB,OAAAnjB,MAAWA,GAAA6/B,mBAAA,WAAmC,OAAAj0H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA8hB,EAA2B,OAAA85G,GAAA6/B,mBAAA1iK,EAAAiH,KAAoC,OAAAwnC,UAAAztC,OAAA,QAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAArT,EAAAwsF,WAA6En5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe2hB,EAAAmmI,cAAAP,cAAAziK,KAAkCyH,EAAA67H,GAAAhjI,UAAA,CAAiB4rD,QAAA,WAAmB,OAAAjd,UAAAztC,OAAyBytC,UAAA,GAAAA,UAAA,QAA0B,OAAAA,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgEzuC,EAAA2iK,eAAA17J,EAAApI,KAAAokI,aAC3u+BliI,EAAA4hK,eAAAnjK,EAAAX,KAAAqkI,aAAArkI,KAAA6sD,QAAA7sD,KAAAokI,YAAApkI,KAAAqkI,eAAsFxO,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAljB,MAAW77H,EAAAk8H,GAAArjI,UAAA,CAAkB6iK,eAAA,SAAA3iK,EAAAiH,GAA6BA,EAAAg1H,GAAAp9H,KAAAshI,IAAAngI,GAAAiH,EAAAiX,GAAArf,KAAAshI,IAAAngI,EAAA,IAAoC4iK,cAAA,SAAA5iK,EAAAiH,EAAAlG,EAAAvB,GAAiC,IAAA4U,EAAAvV,KAAAshI,IAAAl5H,GAAAo1B,EAAAx9B,KAAAshI,IAAAp/H,GAAgC,GAAAvB,EAAAujI,SAAA31E,KAAAh5C,EAAAioB,GAAAt7B,EAAAkG,IAAA,SAAAzH,EAAAqqF,OAAAhrF,KAAAoI,GAAA,KAA6D,IAAAjH,EAAAqvD,WAAA7vD,EAAAujI,UAAA,YAAyC,IAAApiI,EAAAiC,KAAAmjJ,OAAA9+I,EAAAlG,GAAA,GAA0BkG,EAAAtG,GAAA9B,KAAA+jK,cAAA5iK,EAAAiH,EAAAtG,EAAAnB,GAAAmB,EAAAI,GAAAlC,KAAA+jK,cAAA5iK,EAAAW,EAAAI,EAAAvB,IAAkEi0B,eAAA,WAA2B,QAAAzzB,EAAA,IAAAU,MAAA7B,KAAA4a,IAAA5a,KAAA0a,MAAA,GAAAkpB,KAAA,MAAAx7B,EAAA,EAAAlG,EAAAlC,KAAA0a,MAAuExY,GAAAlC,KAAA4a,IAAY1Y,IAAAf,EAAAiH,KAAApI,KAAAshI,IAAAp/H,GAAuB,OAAAf,GAAS6iK,gBAAA,SAAA7iK,EAAAiH,GAA+BpI,KAAAikK,wBAAAjkK,KAAA0a,MAAA1a,KAAA4a,IAAAzZ,IAAAuZ,MAAAvZ,EAAAyZ,IAAAxS,IAAoE87J,MAAA,SAAA/iK,GAAmBnB,KAAAwK,GAAArJ,GAAU6pF,OAAA,SAAA7pF,EAAAiH,GAAsBpI,KAAA+jK,cAAA5iK,EAAAnB,KAAA0a,MAAA1a,KAAA4a,IAAAxS,IAA4CqiE,YAAA,WAAwB,UAAAzqE,KAAAukI,IAAA,CAAoB,IAAApjI,EAAAnB,KAAAshI,IAAAthI,KAAA0a,OAAAtS,EAAApI,KAAAshI,IAAAthI,KAAA4a,KAAgD5a,KAAAukI,IAAA,IAAAl8F,EAAAlnC,EAAAiH,GAAoB,OAAApI,KAAAukI,KAAgB4/B,YAAA,WAAwB,OAAAnkK,KAAA4a,KAAgBwpJ,cAAA,WAA0B,OAAApkK,KAAA0a,OAAkB6vB,WAAA,WAAuB,OAAAvqC,KAAA2V,SAAoBoO,MAAA,WAAkB,OAAA/jB,KAAAwK,IAAey5J,wBAAA,SAAA9iK,EAAAiH,EAAAlG,EAAAvB,EAAA4U,EAAAioB,GAA+C,IAAA17B,EAAA9B,KAAAshI,IAAAngI,GAAAb,EAAAN,KAAAshI,IAAAl5H,GAAAhH,EAAAc,EAAAo/H,IAAA3gI,GAAAoR,EAAA7P,EAAAo/H,IAAA/rH,GAAsD,GAAAnN,EAAAjH,IAAA,GAAAoU,EAAA5U,IAAA,SAAA68B,EAAAqvB,QAAA7sD,KAAAmB,EAAAe,EAAAvB,GAAA,KAAsD,GAAA68B,EAAA0mG,SAAA31E,KAAAzsD,EAAAxB,GAAAk9B,EAAA2mG,SAAA51E,KAAAntD,EAAA2Q,IAAAyrB,EAAA0mG,SAAA1zE,WAAAhzB,EAAA2mG,UAAA,YAA4F,IAAAzmG,EAAA35B,KAAAmjJ,OAAA/lJ,EAAAiH,GAAA,GAAAzG,EAAAoC,KAAAmjJ,OAAAvmJ,EAAA4U,GAAA,GAAgDpU,EAAAu8B,IAAA/8B,EAAAgB,GAAA3B,KAAAikK,wBAAA9iK,EAAAu8B,EAAAx7B,EAAAvB,EAAAgB,EAAA67B,GAAA77B,EAAA4T,GAAAvV,KAAAikK,wBAAA9iK,EAAAu8B,EAAAx7B,EAAAP,EAAA4T,EAAAioB,IAAAE,EAAAt1B,IAAAzH,EAAAgB,GAAA3B,KAAAikK,wBAAAvmI,EAAAt1B,EAAAlG,EAAAvB,EAAAgB,EAAA67B,GAAA77B,EAAA4T,GAAAvV,KAAAikK,wBAAAvmI,EAAAt1B,EAAAlG,EAAAP,EAAA4T,EAAAioB,KAA0Mq4F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA7iB,MAAWl8H,EAAAo8H,GAAAvjI,UAAA,CAAkB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA3iB,MAAWA,GAAA6/B,WAAA,SAAAljK,GAA4B,OAAAA,IAAAqjI,GAAA8/B,IAAAnjK,IAAAqjI,GAAA+/B,IAA4B//B,GAAAggC,WAAA,SAAArjK,EAAAiH,GAA6B,GAAAjH,IAAAiH,EAAA,SAAkB,IAAAlG,GAAAf,EAAAiH,EAAA,KAAgB,WAAAlG,GAAasiI,GAAAigC,gBAAA,SAAAtjK,EAAAiH,GAAkC,GAAAjH,IAAAiH,EAAA,OAAAjH,EAAkB,IAAAe,GAAAf,EAAAiH,EAAA,KAAgB,OAAAlG,EAAA,SAAkB,IAAAvB,EAAAQ,EAAAiH,EAAAjH,EAAAiH,EAAAmN,EAAApU,EAAAiH,EAAAjH,EAAAiH,EAAwB,WAAAzH,GAAA,IAAA4U,EAAA,EAAA5U,GAAwB6jI,GAAAkgC,cAAA,SAAAvjK,EAAAiH,GAAgC,OAAAA,IAAAo8H,GAAAmgC,GAAAxjK,IAAAqjI,GAAAmgC,IAAAxjK,IAAAqjI,GAAAogC,GAAAzjK,IAAAiH,GAAAjH,IAAAiH,EAAA,GAAqDo8H,GAAAuD,SAAA,WAAwB,oBAAAn4F,UAAA,qBAAAA,UAAA,IAAiE,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAAzuC,GAAA,IAAAiH,EAAA,UAAAzH,EAAA,2CAAAQ,EAAA,KAAAiH,EAAA,MAAsF,OAAAjH,GAAA,EAAAiH,GAAA,EAAAo8H,GAAA8/B,GAAA9/B,GAAAmgC,GAAAv8J,GAAA,EAAAo8H,GAAA+/B,GAAA//B,GAAAogC,GAA8C,GAAAh1H,UAAA,aAAA99B,GAAA89B,UAAA,aAAA99B,EAAA,CAAuD,IAAA5P,EAAA0tC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC,GAAAr6B,EAAApG,IAAAjN,EAAAiN,GAAAoG,EAAAnG,IAAAlN,EAAAkN,EAAA,UAAAzO,EAAA,wDAAAuB,GAA+F,OAAAqT,EAAApG,GAAAjN,EAAAiN,EAAAoG,EAAAnG,GAAAlN,EAAAkN,EAAAo1H,GAAA8/B,GAAA9/B,GAAAmgC,GAAApvJ,EAAAnG,GAAAlN,EAAAkN,EAAAo1H,GAAA+/B,GAAA//B,GAAAogC,KAA2DpgC,GAAA8/B,GAAA,EAAA9/B,GAAA+/B,GAAA,EAAA//B,GAAAogC,GAAA,EAAApgC,GAAAmgC,GAAA,EAAAv8J,EAAAq8H,GAAAxjI,UAAA,CAAiD40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA1iB,MAAWA,GAAAoI,qBAAA,SAAA1rI,GAAsC,IAAAiH,EAAA,EAAAlG,EAAA,IAAAgoB,EAAgBhoB,EAAAsiD,IAAA,IAAAjkD,EAAA6H,IAAgB,GAAG,IAAAzH,EAAA8jI,GAAAogC,aAAA1jK,EAAAiH,GAA2BlG,EAAAsiD,IAAA,IAAAjkD,EAAAI,IAAAyH,EAAAzH,QAAoByH,EAAAjH,EAAAgB,OAAA,GAAoB,IAAAoT,EAAAkvH,GAAAqgC,WAAA5iK,GAAuB,OAAAqT,GAASkvH,GAAAogC,aAAA,SAAA1jK,EAAAiH,GAA+B,QAAAlG,EAAAkG,EAAYlG,EAAAf,EAAAgB,OAAA,GAAAhB,EAAAe,GAAAihI,SAAAhiI,EAAAe,EAAA,KAAoCA,IAAK,GAAAA,GAAAf,EAAAgB,OAAA,SAAAhB,EAAAgB,OAAA,EAAmC,QAAAxB,EAAA6jI,GAAAuD,SAAA5mI,EAAAe,GAAAf,EAAAe,EAAA,IAAAqT,EAAAnN,EAAA,EAAyCmN,EAAApU,EAAAgB,QAAW,CAAE,IAAAhB,EAAAoU,EAAA,GAAA4tH,SAAAhiI,EAAAoU,IAAA,CAA2B,IAAAioB,EAAAgnG,GAAAuD,SAAA5mI,EAAAoU,EAAA,GAAApU,EAAAoU,IAA+B,GAAAioB,IAAA78B,EAAA,MAAe4U,IAAI,OAAAA,EAAA,GAAWkvH,GAAAsgC,UAAA,WAAyB,OAAAn1H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA60F,GAAAsgC,UAAA5jK,EAAA,MAA4B,OAAAyuC,UAAAztC,OAAA,CAAyB,QAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAA,IAAAupB,EAAA3U,EAAAkvH,GAAAoI,qBAAAzkI,GAAAo1B,EAAA,EAA+EA,EAAAjoB,EAAApT,OAAA,EAAaq7B,IAAA,CAAK,IAAA17B,EAAA,IAAAwiI,GAAAl8H,EAAAmN,EAAAioB,GAAAjoB,EAAAioB,EAAA,GAAAt7B,GAA8BvB,EAAA6jD,IAAA1iD,GAAS,OAAAnB,IAAU8jI,GAAAqgC,WAAA,SAAA3jK,GAA2B,QAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAA1hC,EAAA,EAA6CA,EAAAkG,EAAAjG,OAAWD,IAAAkG,EAAAlG,GAAAf,EAAAmX,IAAApW,GAAAunJ,WAA6B,OAAArhJ,GAASA,EAAAs8H,GAAAzjI,UAAA,CAAiB+jK,aAAA,SAAA7jK,KAA0B0iK,mBAAA,aAAgChuC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAziB,MAAWt8H,EAAA8kB,GAAAjsB,UAAA,CAAkB2jI,sBAAA,SAAAzjI,GAAkCnB,KAAA2kI,OAAAxjI,GAAc00H,YAAA,WAAwB,OAAA6O,KAAWyiB,SAAA,WAAqB,OAAAj6H,MAAWwQ,EAAAmnG,GAAA33G,IAAA9kB,EAAAy8H,GAAA5jI,UAAA,CAA2BgkK,kBAAA,WAA6B,OAAAjlK,KAAA8kI,YAAuB++B,mBAAA,WAA+B,OAAA7/B,GAAA6/B,mBAAA7jK,KAAAglI,kBAAmDkgC,SAAA,WAAqB,OAAAllK,KAAAI,OAAkBokD,IAAA,SAAArjD,GAAiB,QAAAiH,EAAAq8H,GAAAsgC,UAAA5jK,EAAAyzB,iBAAAzzB,GAAAe,EAAAkG,EAAAsmF,WAA4DxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAujK,MAAAlkK,KAAA+kI,aAAA/kI,KAAAI,MAAA+C,OAAAxC,EAAA8pE,cAAA9pE,GAAAX,KAAA8kI,WAAAtgF,IAAA7jD,KAAuFqkK,aAAA,SAAA7jK,GAA0BnB,KAAAglI,gBAAA7jI,EAAuB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAYnoJ,KAAAwkD,IAAAp8C,EAAAyT,QAAoB7b,KAAAmlK,mBAAuBA,gBAAA,WAA4B,QAAAhkK,EAAA,IAAA+jI,GAAAllI,KAAA2kI,QAAAv8H,EAAApI,KAAA8kI,WAAAp2C,WAA2DtmF,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAX,KAAAI,MAAAmgK,MAAAr+J,EAAAuoE,eAAAl1D,EAAA5U,EAAA+tF,WAAuEn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe,GAAA2hB,EAAAzZ,QAAA7hB,EAAA6hB,UAAA7hB,EAAA8hK,gBAAAxmI,EAAAr8B,GAAAnB,KAAAilI,aAAAjlI,KAAA2kI,OAAAusB,SAAA,cAAoGr7B,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtiB,MAAWnnG,EAAAwnG,GAAAjB,IAAA77H,EAAA88H,GAAAjkI,UAAA,CAA2B4rD,QAAA,WAAmB,OAAAjd,UAAAztC,OAAA,OAAA8hI,GAAAhjI,UAAA4rD,QAAAtqD,MAAAvC,KAAA4vC,WAA0E,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAApU,EAAAopC,aAAA/M,EAAAt7B,EAAAqoC,aAAkGvqC,KAAAmlI,GAAAigC,qBAAA7vJ,EAAAnN,EAAAo1B,EAAA78B,IAAsCk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjiB,MAAWL,GAAAwgC,qBAAAngC,GAAAxnG,EAAA0nG,GAAArzH,GAAA3J,EAAAg9H,GAAAnkI,UAAA,CAAqDmiI,cAAA,WAAyB,OAAApjI,KAAAmW,IAAe0/G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/hB,MAAWA,GAAAC,aAAA,SAAAlkI,EAAAiH,GAAgC,cAAAA,EAAAjH,EAAA,MAAAiH,EAAA,KAAAjH,GAAiCiH,EAAAuoB,GAAA1vB,UAAA,CAAiBmkK,qBAAA,SAAAjkK,EAAAiH,EAAAlG,EAAAvB,KAAwCuwJ,OAAA,aAAoBr7B,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAx2H,MAAWvoB,EAAA85E,GAAAjhF,UAAA,CAAkBqkK,wBAAA,WAAmC,OAAAtlK,KAAAylI,sBAAiC8/B,wBAAA,SAAApkK,GAAqCnB,KAAAulI,uBAAApkI,GAA8BqkK,wBAAA,WAAoC,OAAAxlK,KAAA0lI,aAAwB7vG,MAAA,WAAkB,OAAA71B,KAAA4lI,mBAA8B6/B,iBAAA,WAA6B,OAAAzlK,KAAA2lI,eAA0B+/B,wBAAA,SAAAvkK,GAAqCnB,KAAAslI,qBAAAnkI,GAA4BwkK,qBAAA,SAAAxkK,GAAkCnB,KAAA6lI,kBAAA1kI,GAAyBikK,qBAAA,SAAAjkK,EAAAiH,EAAAlG,EAAAvB,GAAwC,IAAAX,KAAAslI,sBAAAtlI,KAAAkgJ,kBAAA,YAAkE,GAAA/+I,IAAAe,GAAAkG,IAAAzH,EAAA,YAA4B,GAAAX,KAAAulI,uBAAA,CAAgC,IAAAhwH,EAAAvV,KAAA4lK,aAAAzkK,EAAAiH,IAAApI,KAAA4lK,aAAA1jK,EAAAvB,GAAqD,IAAA4U,EAAA,YAAkB,IAAAioB,EAAAr8B,EAAAyzB,iBAAAxsB,GAAAtG,EAAAX,EAAAyzB,iBAAAxsB,EAAA,GAAA9H,EAAA4B,EAAA0yB,iBAAAj0B,GAAAS,EAAAc,EAAA0yB,iBAAAj0B,EAAA,GAAwGX,KAAAwlI,GAAAuxB,oBAAAv5H,EAAA17B,EAAAxB,EAAAc,GAAApB,KAAAwlI,GAAA0a,mBAAAlgJ,KAAAwlI,GAAA4xB,2BAAAp3J,KAAA0lI,YAAA,IAAA7jI,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAA0lI,YAAA,GAAAloG,EAAAx9B,KAAA0lI,YAAA,GAAA5jI,EAAA9B,KAAA0lI,YAAA,GAAAplI,EAAAN,KAAA0lI,YAAA,GAAAtkI,EAAApB,KAAAylI,qBAAAzlI,KAAAwlI,GAAA6xB,gBAAA,GAAAr3J,KAAA6lI,mBAAA7lI,KAAA2lI,cAAAnhF,IAAAxkD,KAAAylI,sBAAAzlI,KAAA4lI,sBAA6XggC,aAAA,SAAAzkK,EAAAiH,GAA4B,WAAAA,MAAAjH,EAAAgU,OAAA,GAA4B+qI,gBAAA,WAA4B,cAAAlgJ,KAAAylI,sBAAwCyrB,OAAA,WAAmB,OAAAlxJ,KAAAslI,sBAAA,OAAAtlI,KAAAylI,sBAAmE5P,YAAA,WAAwB,OAAAllG,KAAWw2H,SAAA,WAAqB,OAAAjlE,MAAWA,GAAA2jF,6BAAA,SAAA1kK,GAA8C,IAAAiH,EAAA,IAAA85E,GAAA/gF,GAAgB,OAAAiH,EAAAs9J,yBAAA,GAAAt9J,GAAuC85E,GAAA4jF,4BAAA,SAAA3kK,GAA4C,WAAA+gF,GAAA/gF,IAAiB+gF,GAAA6jF,0BAAA,SAAA5kK,GAA0C,IAAAiH,EAAA,IAAA85E,GAAA/gF,GAAgB,OAAAiH,EAAAs9J,yBAAA,GAAAt9J,EAAAu9J,sBAAA,GAAAv9J,GAAkEA,EAAA09H,GAAA7kI,UAAA,CAAiB+kK,QAAA,WAAmB,cAAAhmK,KAAA2kI,OAAA,UAAA3kI,KAAAimK,8BAAsER,iBAAA,WAA6B,OAAAzlK,KAAA2kI,OAAA8gC,oBAAsCnhG,QAAA,WAAoB,OAAAtkE,KAAAgmK,UAAAhmK,KAAAgmI,UAAoC0/B,wBAAA,SAAAvkK,GAAqCnB,KAAAslI,qBAAAnkI,GAA4B8kK,2BAAA,WAAuCjmK,KAAAgmI,UAAA,EAAAhmI,KAAA2kI,OAAA,IAAAziD,GAAAliF,KAAAwlI,IAAAxlI,KAAA2kI,OAAA+gC,wBAAA1lK,KAAAslI,sBAA4G,IAAAnkI,EAAA,IAAA0jI,GAAa,GAAA1jI,EAAAyjI,sBAAA5kI,KAAA2kI,QAAAxjI,EAAA6jK,aAAAhlK,KAAA+lI,YAAA/lI,KAAA2kI,OAAAub,kBAAA,OAAAlgJ,KAAAgmI,UAAA,QAAmIkgC,WAAA,WAAuB,GAAAlmK,KAAAgmK,WAAAhmK,KAAAgmI,SAAA,UAAAZ,GAAAplI,KAAAmmK,kBAAAnmK,KAAA2kI,OAAA2gC,4BAA4Ga,gBAAA,WAA4B,GAAAnmK,KAAAgmI,SAAA,+BAAgD,IAAA7kI,EAAAnB,KAAA2kI,OAAA6gC,0BAA4C,8CAAAlpC,GAAAm6B,aAAAt1J,EAAA,GAAAA,EAAA,YAAAm7H,GAAAm6B,aAAAt1J,EAAA,GAAAA,EAAA,KAA4G00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArhB,MAAWA,GAAAsgC,qBAAA,SAAAjlK,GAAsC,IAAAiH,EAAA,IAAA09H,GAAA3kI,GAAgB,OAAAiH,EAAAs9J,yBAAA,GAAAt9J,EAAAk8D,UAAAl8D,EAAAq9J,oBAAsEr9J,EAAA69H,GAAAhlI,UAAA,CAAiBilK,WAAA,WAAsBlmK,KAAA0D,GAAAwiK,cAAqBrwC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAlhB,MAAWA,GAAAC,iBAAA,SAAA/kI,GAAkC,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAezT,EAAAo8C,IAAA,IAAA68E,GAAA1gI,EAAAi0B,iBAAAj0B,IAAoC,OAAAyH,GAAS69H,GAAAigC,WAAA,SAAA/kK,GAA2B,IAAAiH,EAAA,IAAA69H,GAAA9kI,GAAgBiH,EAAA89J,cAAe99J,EAAA+9H,GAAAllI,UAAA,CAAiBkI,IAAA,SAAAhI,GAAgB,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAA,EAAoBA,EAAAf,EAAA0/H,mBAAuB3+H,IAAA,CAAK,IAAAvB,EAAAX,KAAAomI,MAAAj9H,IAAAhI,EAAAyrJ,aAAA1qJ,IAAwCvB,EAAAw5G,WAAA/xG,EAAAo8C,IAAA7jD,GAAsB,OAAAQ,EAAAg3H,aAAAm5B,yBAAAj4B,GAAA67B,gBAAA9sJ,KAAsEytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhhB,MAAWA,GAAAh9H,IAAA,SAAAhI,EAAAiH,GAAuB,IAAAlG,EAAA,IAAAikI,GAAA/9H,GAAgB,OAAAlG,EAAAiH,IAAAhI,IAAgBiH,EAAAi+H,GAAAplI,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA9gB,MAAWA,GAAAzhI,SAAA,SAAAzD,GAA0B,OAAAA,IAAAklI,GAAAE,KAAAF,GAAAG,MAAArlI,IAAAklI,GAAAG,MAAAH,GAAAE,KAAAplI,GAAmDklI,GAAAC,GAAA,EAAAD,GAAAE,KAAA,EAAAF,GAAAG,MAAA,EAAAp+H,EAAAmjE,GAAAtqE,UAAA,CAA8ColK,gBAAA,SAAAllK,GAA4B,QAAAiH,EAAA,EAAYA,EAAApI,KAAAsnH,SAAAnlH,OAAuBiG,IAAApI,KAAAsnH,SAAAl/G,GAAAjH,GAAuBynJ,OAAA,WAAmB,QAAAznJ,EAAA,EAAYA,EAAAnB,KAAAsnH,SAAAnlH,OAAuBhB,IAAA,GAAAnB,KAAAsnH,SAAAnmH,KAAAm7C,EAAAqqF,KAAA,SAA0C,UAAS2/B,sBAAA,SAAAnlK,GAAmC,QAAAiH,EAAA,EAAYA,EAAApI,KAAAsnH,SAAAnlH,OAAuBiG,IAAApI,KAAAsnH,SAAAl/G,KAAAk0C,EAAAqqF,OAAA3mI,KAAAsnH,SAAAl/G,GAAAjH,IAAoDolK,OAAA,WAAmB,WAAAvmK,KAAAsnH,SAAAnlH,QAAgCslB,MAAA,SAAAtmB,GAAmB,GAAAA,EAAAmmH,SAAAnlH,OAAAnC,KAAAsnH,SAAAnlH,OAAA,CAA2C,IAAAiG,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAA8Bx7B,EAAAi+H,GAAAC,IAAAtmI,KAAAsnH,SAAA+e,GAAAC,IAAAl+H,EAAAi+H,GAAAE,MAAAjqF,EAAAqqF,KAAAv+H,EAAAi+H,GAAAG,OAAAlqF,EAAAqqF,KAAA3mI,KAAAsnH,SAAAl/G,EAAmF,QAAAlG,EAAA,EAAYA,EAAAlC,KAAAsnH,SAAAnlH,OAAuBD,IAAAlC,KAAAsnH,SAAAplH,KAAAo6C,EAAAqqF,MAAAzkI,EAAAf,EAAAmmH,SAAAnlH,SAAAnC,KAAAsnH,SAAAplH,GAAAf,EAAAmmH,SAAAplH,KAAqFskK,aAAA,WAAyB,OAAAxmK,KAAAsnH,UAAqBpmH,KAAA,WAAiB,GAAAlB,KAAAsnH,SAAAnlH,QAAA,cAAuC,IAAAhB,EAAAnB,KAAAsnH,SAAA+e,GAAAE,MAA6BvmI,KAAAsnH,SAAA+e,GAAAE,MAAAvmI,KAAAsnH,SAAA+e,GAAAG,OAAAxmI,KAAAsnH,SAAA+e,GAAAG,OAAArlI,GAAyEisB,SAAA,WAAqB,IAAAjsB,EAAA,IAAA40H,EAAY,OAAA/1H,KAAAsnH,SAAAnlH,OAAA,GAAAhB,EAAAmoJ,OAAAhtG,EAAA6sG,iBAAAnpJ,KAAAsnH,SAAA+e,GAAAE,QAAAplI,EAAAmoJ,OAAAhtG,EAAA6sG,iBAAAnpJ,KAAAsnH,SAAA+e,GAAAC,MAAAtmI,KAAAsnH,SAAAnlH,OAAA,GAAAhB,EAAAmoJ,OAAAhtG,EAAA6sG,iBAAAnpJ,KAAAsnH,SAAA+e,GAAAG,SAAArlI,EAAAisB,YAAkOy5G,aAAA,SAAA1lI,EAAAiH,EAAAlG,GAA8BlC,KAAAsnH,SAAA+e,GAAAC,IAAAnlI,EAAAnB,KAAAsnH,SAAA+e,GAAAE,MAAAn+H,EAAApI,KAAAsnH,SAAA+e,GAAAG,OAAAtkI,GAA0EoW,IAAA,SAAAnX,GAAiB,OAAAA,EAAAnB,KAAAsnH,SAAAnlH,OAAAnC,KAAAsnH,SAAAnmH,GAAAm7C,EAAAqqF,MAAsD8/B,OAAA,WAAmB,OAAAzmK,KAAAsnH,SAAAnlH,OAAA,GAA8BukK,UAAA,WAAsB,QAAAvlK,EAAA,EAAYA,EAAAnB,KAAAsnH,SAAAnlH,OAAuBhB,IAAA,GAAAnB,KAAAsnH,SAAAnmH,KAAAm7C,EAAAqqF,KAAA,SAA0C,UAASC,YAAA,WAAwB,OAAAh3F,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA4mI,YAAAP,GAAAC,GAAAnlI,QAA0B,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAAsnH,SAAAl/G,GAAAlG,IAAoBqsD,KAAA,SAAAptD,GAAkBnB,KAAAsnH,SAAA,IAAAzlH,MAAAV,GAAAyiC,KAAA,MAAA5jC,KAAAqmK,gBAAA/pH,EAAAqqF,OAAmEggC,cAAA,SAAAxlK,EAAAiH,GAA6B,OAAApI,KAAAsnH,SAAAl/G,KAAAjH,EAAAmmH,SAAAl/G,IAAwCw+J,kBAAA,SAAAzlK,GAA+B,QAAAiH,EAAA,EAAYA,EAAApI,KAAAsnH,SAAAnlH,OAAuBiG,IAAA,GAAApI,KAAAsnH,SAAAl/G,KAAAjH,EAAA,SAAqC,UAAS00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA57E,MAAWnjE,EAAAq+H,GAAAxlI,UAAA,CAAkB4lK,iBAAA,WAA4B,IAAA1lK,EAAA,EAAQ,OAAAnB,KAAA0mI,IAAA,GAAAkiB,UAAAznJ,IAAAnB,KAAA0mI,IAAA,GAAAkiB,UAAAznJ,OAA6DklK,gBAAA,SAAAllK,EAAAiH,GAA+BpI,KAAA0mI,IAAAvlI,GAAAklK,gBAAAj+J,IAA+BwgJ,OAAA,SAAAznJ,GAAoB,OAAAnB,KAAA0mI,IAAAvlI,GAAAynJ,UAA4B0d,sBAAA,WAAkC,OAAA12H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAsmK,sBAAA,EAAAnlK,GAAAnB,KAAAsmK,sBAAA,EAAAnlK,QAAgE,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC5vC,KAAA0mI,IAAAt+H,GAAAk+J,sBAAApkK,KAAsCqkK,OAAA,SAAAplK,GAAoB,OAAAnB,KAAA0mI,IAAAvlI,GAAAolK,UAA4B9+I,MAAA,SAAAtmB,GAAmB,QAAAiH,EAAA,EAAYA,EAAA,EAAIA,IAAA,OAAApI,KAAA0mI,IAAAt+H,IAAA,OAAAjH,EAAAulI,IAAAt+H,GAAApI,KAAA0mI,IAAAt+H,GAAA,IAAAmjE,GAAApqE,EAAAulI,IAAAt+H,IAAApI,KAAA0mI,IAAAt+H,GAAAqf,MAAAtmB,EAAAulI,IAAAt+H,KAAiGlH,KAAA,WAAiBlB,KAAA0mI,IAAA,GAAAxlI,OAAAlB,KAAA0mI,IAAA,GAAAxlI,QAAsC43J,YAAA,WAAwB,OAAAlpH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA0mI,IAAAvlI,GAAAmX,IAAA+tH,GAAAC,IAA8B,OAAA12F,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAA5vC,KAAA0mI,IAAAt+H,GAAAkQ,IAAApW,KAA2BkrB,SAAA,WAAqB,IAAAjsB,EAAA,IAAA40H,EAAY,cAAA/1H,KAAA0mI,IAAA,KAAAvlI,EAAAmoJ,OAAA,MAAAnoJ,EAAAmoJ,OAAAtpJ,KAAA0mI,IAAA,GAAAt5G,aAAA,OAAAptB,KAAA0mI,IAAA,KAAAvlI,EAAAmoJ,OAAA,OAAAnoJ,EAAAmoJ,OAAAtpJ,KAAA0mI,IAAA,GAAAt5G,aAAAjsB,EAAAisB,YAAiKq5I,OAAA,WAAmB,OAAA72H,UAAAztC,OAAA,OAAAnC,KAAA0mI,IAAA,GAAA+/B,UAAAzmK,KAAA0mI,IAAA,GAAA+/B,SAA0E,OAAA72H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA0mI,IAAAvlI,GAAAslK,WAA6BC,UAAA,SAAAvlK,GAAuB,OAAAnB,KAAA0mI,IAAAvlI,GAAAulK,aAA+B9/B,YAAA,WAAwB,OAAAh3F,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC5vC,KAAA0mI,IAAAvlI,GAAAylI,YAAAP,GAAAC,GAAAl+H,QAAiC,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD5vC,KAAA0mI,IAAAxkI,GAAA0kI,YAAAjmI,EAAA4U,KAA8BoxJ,cAAA,SAAAxlK,EAAAiH,GAA6B,OAAApI,KAAA0mI,IAAA,GAAAigC,cAAAxlK,EAAAulI,IAAA,GAAAt+H,IAAApI,KAAA0mI,IAAA,GAAAigC,cAAAxlK,EAAAulI,IAAA,GAAAt+H,IAAoFw+J,kBAAA,SAAAzlK,EAAAiH,GAAiC,OAAApI,KAAA0mI,IAAAvlI,GAAAylK,kBAAAx+J,IAAwC0+J,OAAA,SAAA3lK,GAAoBnB,KAAA0mI,IAAAvlI,GAAAslK,WAAAzmK,KAAA0mI,IAAAvlI,GAAA,IAAAoqE,GAAAvrE,KAAA0mI,IAAAvlI,GAAAmmH,SAAA,MAAoEuO,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1gB,MAAWA,GAAAsgC,YAAA,SAAA5lK,GAA6B,QAAAiH,EAAA,IAAAq+H,GAAAnqF,EAAAqqF,MAAAzkI,EAAA,EAA6BA,EAAA,EAAIA,IAAAkG,EAAAw+H,YAAA1kI,EAAAf,EAAA23J,YAAA52J,IAAsC,OAAAkG,GAASA,EAAA0+H,GAAA7lI,UAAA,CAAiBkmI,YAAA,WAAuB,UAAAnnI,KAAAyX,KAAA,YAAgC,QAAAtW,EAAA,IAAAU,MAAA7B,KAAAshI,IAAAnsH,QAAAyuB,KAAA,MAAAx7B,EAAA,EAAoDA,EAAApI,KAAAshI,IAAAnsH,OAAkB/M,IAAAjH,EAAAiH,GAAApI,KAAAshI,IAAAhpH,IAAAlQ,GAAyBpI,KAAAyX,KAAAzX,KAAAq8H,gBAAApD,iBAAA93H,GAAAnB,KAAAinI,QAAA/J,GAAAo2B,MAAAtzJ,KAAAyX,KAAAmd,mBAAqGoyI,WAAA,WAAuB,WAAAhnK,KAAAsJ,MAAAu9J,oBAAyC3/B,cAAA,SAAA/lI,GAA2BnB,KAAA+mI,QAAA5lI,EAAe,IAAAiH,EAAAjH,EAAAe,GAAA,EAAa,GAAG,UAAAkG,EAAA,UAAAg9H,GAAA,2BAAoD,GAAAh9H,EAAA6+J,gBAAAjnK,KAAA,UAAAolI,GAAA,uDAAAh9H,EAAAg7H,iBAAiHpjI,KAAA+Z,MAAAyqC,IAAAp8C,GAAkB,IAAAzH,EAAAyH,EAAAu0I,WAAmBnoI,EAAAiuH,OAAA9hI,EAAA8lK,UAAAzmK,KAAAknK,WAAAvmK,GAAAX,KAAAmnK,UAAA/+J,EAAAy7H,UAAAz7H,EAAAg/J,YAAAllK,MAAA,EAAAlC,KAAAqnK,YAAAj/J,EAAApI,MAAAoI,EAAApI,KAAAsnK,QAAAl/J,SAAoIA,IAAApI,KAAA+mI,UAAwBwgC,cAAA,WAA0B,OAAAvnK,KAAAyX,MAAiB2rH,cAAA,SAAAjiI,GAA2B,OAAAnB,KAAAshI,IAAAhpH,IAAAnX,IAAuBqmK,qBAAA,WAAiCxnK,KAAAgnI,cAAA,EAAqB,IAAA7lI,EAAAnB,KAAA+mI,QAAmB,GAAG,IAAA3+H,EAAAjH,EAAAwZ,UAAAzY,EAAAkG,EAAAq/J,WAAAC,kBAAA1nK,MAAyDkC,EAAAlC,KAAAgnI,gBAAAhnI,KAAAgnI,cAAA9kI,GAAAf,EAAAnB,KAAAsnK,QAAAnmK,SAA+DA,IAAAnB,KAAA+mI,SAAwB/mI,KAAAgnI,eAAA,GAAsBmgC,UAAA,SAAAhmK,EAAAiH,EAAAlG,GAA2B,IAAAvB,EAAAQ,EAAAyzB,iBAAyB,GAAAxsB,EAAA,CAAM,IAAAmN,EAAA,EAAQrT,IAAAqT,EAAA,GAAS,QAAAioB,EAAAjoB,EAAYioB,EAAA78B,EAAAwB,OAAWq7B,IAAAx9B,KAAAshI,IAAA98E,IAAA7jD,EAAA68B,QAAuB,CAAKjoB,EAAA5U,EAAAwB,OAAA,EAAiBD,IAAAqT,EAAA5U,EAAAwB,OAAA,GAAkB,IAAAq7B,EAAAjoB,EAAYioB,GAAA,EAAKA,IAAAx9B,KAAAshI,IAAA98E,IAAA7jD,EAAA68B,MAAwBmqI,OAAA,WAAmB,OAAA3nK,KAAAinI,SAAoB2gC,YAAA,WAAwB,IAAAzmK,EAAAnB,KAAA+mI,QAAmB,GAAA5lI,EAAA0iI,UAAA+jC,aAAA,GAAAzmK,IAAAmmK,gBAA6CnmK,IAAAnB,KAAA+mI,UAAwB8gC,cAAA,SAAA1mK,GAA2B,IAAAiH,EAAApI,KAAAunK,gBAAArlK,EAAAkG,EAAAinI,sBAAqD,IAAAntI,EAAAgnJ,SAAA/nJ,GAAA,SAA2B,IAAA+7H,GAAAg8B,cAAA/3J,EAAAiH,EAAAwsB,kBAAA,SAAoD,QAAAj0B,EAAAX,KAAAwiF,MAAAkM,WAAgC/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAe,GAAAtG,EAAAsyJ,cAAA1mK,GAAA,SAA+B,UAAS66J,QAAA,SAAA76J,GAAqBnB,KAAAwiF,MAAAh+B,IAAArjD,IAAkB2mK,QAAA,WAAoB,cAAA9nK,KAAA4qE,OAAyB+xE,SAAA,WAAqB,OAAA38I,KAAAsJ,OAAkBm+J,SAAA,WAAqB,OAAAznK,KAAA+Z,OAAkBguJ,iBAAA,WAA6B,OAAA/nK,KAAAgnI,cAAA,GAAAhnI,KAAAwnK,uBAAAxnK,KAAAgnI,eAA4EghC,SAAA,WAAqB,OAAAhoK,KAAA4qE,OAAkBs8F,WAAA,WAAuB,OAAAt3H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAknK,WAAA/lK,EAAA,GAAAnB,KAAAknK,WAAA/lK,EAAA,QAA0C,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAyH,EAAA0wJ,YAAA52J,EAAAmkI,GAAAG,OAA8D,GAAA7lI,IAAA27C,EAAAqqF,KAAA,YAA0B,GAAA3mI,KAAAsJ,MAAAwvJ,YAAA52J,KAAAo6C,EAAAqqF,KAAA,OAAA3mI,KAAAsJ,MAAAs9H,YAAA1kI,EAAAvB,GAAA,OAA+EsnK,SAAA,SAAA9mK,GAAsBnB,KAAA4qE,MAAAzpE,EAAA,OAAAA,KAAA66J,QAAAh8J,OAAuCqqE,UAAA,SAAAlpE,GAAuB,QAAAiH,EAAA,IAAAvG,MAAA7B,KAAAwiF,MAAArtE,QAAAyuB,KAAA,MAAA1hC,EAAA,EAAsDA,EAAAlC,KAAAwiF,MAAArtE,OAAoBjT,IAAAkG,EAAAlG,GAAAlC,KAAAwiF,MAAAlqE,IAAApW,GAAAqlK,gBAA2C,IAAA5mK,EAAAQ,EAAA6yJ,cAAAh0J,KAAAunK,gBAAAn/J,GAA8C,OAAAzH,GAASk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArgB,MAAWppG,EAAA0pG,GAAAN,IAAA1+H,EAAAg/H,GAAAnmI,UAAA,CAA2BomK,YAAA,SAAAlmK,EAAAiH,GAA0BjH,EAAA+mK,eAAA9/J,IAAoBk/J,QAAA,SAAAnmK,GAAqB,OAAAA,EAAAgnK,cAAsBtyC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/f,MAAW1pG,EAAA2pG,GAAAP,IAAA1+H,EAAAi/H,GAAApmI,UAAA,CAA2BmnK,kBAAA,WAA6B,IAAAjnK,EAAA,IAAA+oB,EAAA9hB,EAAApI,KAAA+mI,QAA2B,GAAG,UAAA3+H,EAAAigK,iBAAA,CAA8B,IAAAnmK,EAAA,IAAAklI,GAAAh/H,EAAApI,KAAAq8H,iBAAqCl7H,EAAAqjD,IAAAtiD,GAASkG,IAAAk/J,gBAAcl/J,IAAApI,KAAA+mI,SAAwB,OAAA5lI,GAASkmK,YAAA,SAAAlmK,EAAAiH,GAA2BjH,EAAAkmK,YAAAj/J,IAAiBkgK,qCAAA,WAAiD,IAAAnnK,EAAAnB,KAAA+mI,QAAmB,GAAG,IAAA3+H,EAAAjH,EAAAwZ,UAAkBvS,EAAAq/J,WAAAc,yBAAAvoK,MAAAmB,IAAAmmK,gBAA0DnmK,IAAAnB,KAAA+mI,UAAwBugC,QAAA,SAAAnmK,GAAqB,OAAAA,EAAAmmK,WAAmBzxC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9f,MAAWj/H,EAAAk/H,GAAArmI,UAAA,CAAkBunK,WAAA,SAAArnK,GAAuBnB,KAAA0nI,WAAAvmI,GAAkBymK,YAAA,SAAAzmK,GAAyBnB,KAAAunI,YAAApmI,GAAmBsnK,UAAA,WAAsB,OAAAzoK,KAAAwnI,YAAuBkhC,aAAA,WAAyB,OAAA1oK,KAAAynI,eAA0BkhC,SAAA,SAAAxnK,GAAsBnB,KAAAsJ,MAAAnI,GAAaw7I,SAAA,WAAqB,OAAA38I,KAAAsJ,OAAkBs/J,WAAA,SAAAznK,GAAwBnB,KAAAwnI,WAAArmI,EAAAnB,KAAAynI,eAAA,GAAwCohC,SAAA,SAAA1nK,GAAsBqT,EAAAiuH,OAAAziI,KAAAsJ,MAAAu9J,oBAAA,yBAAA7mK,KAAA8oK,UAAA3nK,IAAmF4nK,WAAA,WAAuB,OAAA/oK,KAAAunI,aAAwByhC,UAAA,WAAsB,OAAAhpK,KAAA0nI,YAAuB7R,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA7f,MAAW5pG,EAAAiqG,GAAAL,IAAAl/H,EAAAu/H,GAAA1mI,UAAA,CAA2BgoK,uBAAA,WAAkC,QAAA9nK,EAAAnB,KAAAynK,sBAAA/4E,WAAgDvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAe,GAAAzT,EAAAy7H,UAAAklC,aAAA,SAAqC,UAAS/B,WAAA,WAAuB,WAAAhnK,KAAAsJ,MAAAu9J,oBAAyCzjC,cAAA,WAA0B,OAAApjI,KAAAqT,OAAkBwvJ,MAAA,SAAA1hK,GAAmBA,EAAAq3J,QAAA,QAAAx4J,KAAAqT,MAAA,SAAArT,KAAAsJ,QAAkDw/J,UAAA,SAAA3nK,KAAwB+nK,sBAAA,SAAA/nK,EAAAiH,GAAqC,IAAAlG,EAAAo6C,EAAAqqF,KAAa,GAAAzkI,EAAAlC,KAAAsJ,MAAAwvJ,YAAA1wJ,IAAAjH,EAAAynJ,OAAAxgJ,GAAA,CAA6C,IAAAzH,EAAAQ,EAAA23J,YAAA1wJ,GAAuBlG,IAAAo6C,EAAAmhF,WAAAv7H,EAAAvB,GAAsB,OAAAuB,GAASymK,SAAA,WAAqB,OAAA/4H,UAAAztC,OAAA,OAAAmlI,GAAArmI,UAAA0nK,SAAApmK,MAAAvC,KAAA4vC,WAA2E,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAA5vC,KAAAsJ,MAAAtJ,KAAAsJ,MAAA,IAAAm9H,GAAAtlI,EAAAiH,GAAApI,KAAAsJ,MAAAs9H,YAAAzlI,EAAAiH,IAAqEq/J,SAAA,WAAqB,OAAAznK,KAAA+Z,OAAkBmtJ,WAAA,WAAuB,GAAAt3H,UAAA,aAAA+3F,GAAA,CAA8B,IAAAxmI,EAAAyuC,UAAA,GAAmB5vC,KAAAknK,WAAA/lK,EAAAmI,YAAyB,GAAAsmC,UAAA,aAAA62F,GAAA,QAAAr+H,EAAAwnC,UAAA,GAAA1tC,EAAA,EAA6DA,EAAA,EAAIA,IAAA,CAAK,IAAAvB,EAAAX,KAAAkpK,sBAAA9gK,EAAAlG,GAAAqT,EAAAvV,KAAAsJ,MAAAwvJ,YAAA52J,GAAkEqT,IAAA+mC,EAAAqqF,MAAA3mI,KAAAsJ,MAAAs9H,YAAA1kI,EAAAvB,KAAyC6jD,IAAA,SAAArjD,GAAiBnB,KAAA+Z,MAAA5W,OAAAhC,KAAAgoK,QAAAnpK,OAAqCopK,iBAAA,SAAAjoK,GAA8B,UAAAnB,KAAAsJ,MAAA,YAAiC,IAAAlB,EAAAk0C,EAAAqqF,KAAa,OAAA3mI,KAAAsJ,QAAAlB,EAAApI,KAAAsJ,MAAAwvJ,YAAA33J,IAAiD,IAAAe,EAAA,KAAW,OAAAkG,GAAU,KAAAk0C,EAAAmhF,SAAAv7H,EAAAo6C,EAAAkhF,SAA6B,MAAM,KAAAlhF,EAAAkhF,SAAAt7H,EAAAo6C,EAAAmhF,SAA6B,MAAM,QAAAv7H,EAAAo6C,EAAAmhF,SAAqBz9H,KAAAsJ,MAAAs9H,YAAAzlI,EAAAe,IAA4B2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxf,MAAWv/H,EAAAw/H,GAAA3mI,UAAA,CAAkB4tC,KAAA,SAAA1tC,GAAiB,OAAAnB,KAAAsjI,QAAAhrH,IAAAnX,IAA2BkoK,QAAA,WAAoB,GAAAz5H,UAAA,aAAA99B,EAAA,CAA6B,IAAA3Q,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAAsjI,QAAAhrH,IAAAnX,GAAyC,cAAAiH,MAAApI,KAAA6nI,SAAA85B,WAAAxgK,GAAAnB,KAAAsjI,QAAAtH,IAAA76H,EAAAiH,MAAyE,GAAAwnC,UAAA,aAAA+3F,GAAA,CAA8B,IAAAzlI,EAAA0tC,UAAA,GAAAxnC,EAAApI,KAAAsjI,QAAAhrH,IAAApW,EAAAkhI,iBAAyD,cAAAh7H,GAAApI,KAAAsjI,QAAAtH,IAAA95H,EAAAkhI,gBAAAlhI,OAAAkG,EAAA8+J,WAAAhlK,GAAAkG,KAA+Ey6J,MAAA,SAAA1hK,GAAmB,QAAAiH,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2gK,MAAA1hK,KAAYutF,SAAA,WAAqB,OAAA1uF,KAAAsjI,QAAA97G,SAAAknE,YAAwClnE,OAAA,WAAmB,OAAAxnB,KAAAsjI,QAAA97G,UAA6B8hJ,iBAAA,SAAAnoK,GAA8B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAlC,KAAA0uF,WAAkCxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAg8I,WAAAmc,YAAA33J,KAAAm7C,EAAAmhF,UAAAr1H,EAAAo8C,IAAA7jD,GAAmD,OAAAyH,GAASo8C,IAAA,SAAArjD,GAAiB,IAAAiH,EAAAjH,EAAAiiI,gBAAAlhI,EAAAlC,KAAAqpK,QAAAjhK,GAA0ClG,EAAAsiD,IAAArjD,IAAS00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvf,MAAWx/H,EAAA0/H,GAAA7mI,UAAA,CAAkBsoK,iBAAA,SAAApoK,GAA6B,OAAAnB,KAAAu8B,KAAAp7B,EAAAo7B,IAAAv8B,KAAAw8B,KAAAr7B,EAAAq7B,GAAA,EAAAx8B,KAAA+nI,SAAA5mI,EAAA4mI,SAAA,EAAA/nI,KAAA+nI,SAAA5mI,EAAA4mI,UAAA,EAAA7K,GAAAi8B,mBAAAh4J,EAAAi8H,GAAAj8H,EAAAke,GAAArf,KAAAqf,KAAwImqJ,MAAA,WAAkB,OAAAxpK,KAAAw8B,IAAe4mG,cAAA,WAA0B,OAAApjI,KAAAo9H,IAAe+rC,QAAA,SAAAhoK,GAAqBnB,KAAAka,KAAA/Y,GAAY0hK,MAAA,SAAA1hK,GAAmB,IAAAiH,EAAArE,KAAAg4C,MAAA/7C,KAAAw8B,GAAAx8B,KAAAu8B,IAAAr6B,EAAAlC,KAAAmnJ,WAAA4M,UAAApzJ,EAAAuB,EAAAunK,YAAA,KAAAl0J,EAAArT,EAAAq3F,UAAA54F,EAAA,GAAsGQ,EAAA0hK,MAAA,KAAAttJ,EAAA,KAAAvV,KAAAo9H,GAAA,MAAAp9H,KAAAqf,GAAA,IAAArf,KAAA+nI,SAAA,IAAA3/H,EAAA,MAAApI,KAAAsJ,QAAoF6kI,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAupK,iBAAAnhK,IAAgCs0I,sBAAA,WAAkC,OAAA18I,KAAAqf,IAAeqqJ,MAAA,WAAkB,OAAA1pK,KAAAu8B,IAAeogH,SAAA,WAAqB,OAAA38I,KAAAsJ,OAAkBu6H,QAAA,WAAoB,OAAA7jI,KAAAqa,MAAiBsvJ,YAAA,WAAwB,OAAA3pK,KAAA+nI,UAAqBptH,QAAA,WAAoB,OAAA3a,KAAAka,MAAiBkT,SAAA,WAAqB,IAAAjsB,EAAA4C,KAAAg4C,MAAA/7C,KAAAw8B,GAAAx8B,KAAAu8B,IAAAn0B,EAAApI,KAAAmnJ,WAAA4M,UAAA7xJ,EAAAkG,EAAAqhK,YAAA,KAAA9oK,EAAAyH,EAAAmxF,UAAAr3F,EAAA,GAAsG,WAAAvB,EAAA,KAAAX,KAAAo9H,GAAA,MAAAp9H,KAAAqf,GAAA,IAAArf,KAAA+nI,SAAA,IAAA5mI,EAAA,MAAAnB,KAAAsJ,OAAiFsgK,aAAA,SAAAzoK,KAA2BotD,KAAA,SAAAptD,EAAAiH,GAAoBpI,KAAAo9H,GAAAj8H,EAAAnB,KAAAqf,GAAAjX,EAAApI,KAAAu8B,GAAAn0B,EAAA+G,EAAAhO,EAAAgO,EAAAnP,KAAAw8B,GAAAp0B,EAAAgH,EAAAjO,EAAAiO,EAAApP,KAAA+nI,SAAAvD,GAAAuD,SAAA/nI,KAAAu8B,GAAAv8B,KAAAw8B,IAAAhoB,EAAAiuH,SAAA,IAAAziI,KAAAu8B,IAAA,IAAAv8B,KAAAw8B,IAAA,2CAA8Kq5F,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAArf,MAAWpqG,EAAAsqG,GAAAF,IAAA1/H,EAAA4/H,GAAA/mI,UAAA,CAA2BknK,WAAA,WAAsB,OAAAnoK,KAAAkoI,SAAoB2hC,SAAA,SAAA1oK,GAAsB,OAAAnB,KAAAooI,MAAAjnI,IAAqBqnK,WAAA,SAAArnK,GAAwBnB,KAAA0nI,WAAAvmI,GAAkBmnI,qBAAA,WAAiCtoI,KAAAsJ,MAAA,IAAAm9H,GAAAzmI,KAAAqa,KAAAsiI,YAAA38I,KAAAioI,YAAAjoI,KAAAsJ,MAAApI,QAA2EomK,QAAA,WAAoB,OAAAtnK,KAAA6b,MAAiBiuJ,SAAA,SAAA3oK,EAAAiH,GAAwB,UAAApI,KAAAooI,MAAAjnI,IAAAnB,KAAAooI,MAAAjnI,KAAAiH,EAAA,UAAAg9H,GAAA,+BAAAplI,KAAAojI,iBAA6GpjI,KAAAooI,MAAAjnI,GAAAiH,GAAgB2hK,mBAAA,WAAiC,QAAA5oK,GAAA,EAAAiH,EAAA,EAAiBA,EAAA,EAAIA,IAAApI,KAAAsJ,MAAAm9J,OAAAr+J,IAAApI,KAAAsJ,MAAAwvJ,YAAA1wJ,EAAAi+H,GAAAE,QAAAjqF,EAAAkhF,UAAAx9H,KAAAsJ,MAAAwvJ,YAAA1wJ,EAAAi+H,GAAAG,SAAAlqF,EAAAkhF,WAAAr8H,GAAA,GAAkI,OAAAA,GAAS6oK,WAAA,SAAA7oK,GAAwBnB,KAAAkoI,QAAA/mI,GAAe0hK,MAAA,SAAA1hK,GAAmB2mI,GAAA7mI,UAAA4hK,MAAA7xJ,KAAAhR,KAAAmB,KAAA0hK,MAAA,IAAA7iK,KAAAooI,MAAA/B,GAAAE,MAAA,IAAAvmI,KAAAooI,MAAA/B,GAAAG,QAAArlI,EAAA0hK,MAAA,KAAA7iK,KAAAiqK,gBAAA,KAAAjqK,KAAAunI,aAAApmI,EAAA0hK,MAAA,cAAwKqF,eAAA,SAAA/mK,GAA4BnB,KAAAmoI,YAAAhnI,GAAmB+oK,WAAA,WAAuB,IAAA/oK,EAAAnB,KAAAsJ,MAAAi9J,OAAA,IAAAvmK,KAAAsJ,MAAAi9J,OAAA,GAAAn+J,GAAApI,KAAAsJ,MAAAm9J,OAAA,IAAAzmK,KAAAsJ,MAAAs9J,kBAAA,EAAAtqH,EAAAohF,UAAAx7H,GAAAlC,KAAAsJ,MAAAm9J,OAAA,IAAAzmK,KAAAsJ,MAAAs9J,kBAAA,EAAAtqH,EAAAohF,UAAyL,OAAAv8H,GAAAiH,GAAAlG,GAAemlK,YAAA,SAAAlmK,GAAyBnB,KAAA+c,SAAA5b,GAAgBknK,eAAA,WAA2B,OAAAroK,KAAAmoI,aAAwB8hC,cAAA,WAA0B,IAAA9oK,EAAAnB,KAAAqa,KAAA4vJ,gBAAgC,OAAAjqK,KAAAioI,aAAA9mI,SAAiCymK,YAAA,SAAAzmK,GAAyBnB,KAAAunI,YAAApmI,GAAmBgpK,OAAA,WAAmB,OAAAnqK,KAAAic,KAAgBmrJ,UAAA,WAAsB,OAAApnK,KAAAioI,YAAuBpE,QAAA,WAAoB,OAAA7jI,KAAAqa,MAAiB+vJ,UAAA,SAAAjpK,GAAuBnB,KAAA6iK,MAAA1hK,KAAA0hK,MAAA,KAAA7iK,KAAAioI,WAAAjoI,KAAAqa,KAAAwoJ,MAAA1hK,GAAAnB,KAAAqa,KAAAgwJ,aAAAlpK,IAAwFmpK,OAAA,SAAAnpK,GAAoBnB,KAAAic,IAAA9a,GAAWopK,eAAA,SAAAppK,GAA4BnB,KAAAwoK,WAAArnK,GAAAnB,KAAAic,IAAAusJ,WAAArnK,IAA0CqpK,cAAA,SAAArpK,EAAAiH,GAA6B,IAAAlG,EAAAlC,KAAA6jI,UAAAomC,gBAAqCjqK,KAAAioI,aAAA/lI,MAAwB,IAAAvB,EAAA,EAAQQ,IAAAklI,GAAAE,OAAA5lI,GAAA,GAAoB,IAAA4U,EAAA8wH,GAAAzhI,SAAAzD,GAAAq8B,EAAAt7B,EAAAvB,EAAAmB,EAAAsG,EAAAo1B,EAAiCx9B,KAAA8pK,SAAA3oK,EAAAiH,GAAApI,KAAA8pK,SAAAv0J,EAAAzT,IAAsCmlK,YAAA,WAAwB,OAAAjnK,KAAA+c,UAAqBgsJ,WAAA,WAAuB,OAAA/oK,KAAAunI,aAAwBkjC,QAAA,SAAAtpK,GAAqBnB,KAAA6b,KAAA1a,GAAY6nK,UAAA,WAAsB,OAAAhpK,KAAA0nI,YAAuB7R,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnf,MAAWA,GAAA0iC,YAAA,SAAAvpK,EAAAiH,GAA+B,OAAAjH,IAAAm7C,EAAAohF,UAAAt1H,IAAAk0C,EAAAkhF,SAAA,EAAAr8H,IAAAm7C,EAAAkhF,UAAAp1H,IAAAk0C,EAAAohF,UAAA,KAA4Et1H,EAAAmgI,GAAAtnI,UAAA,CAAiB0gK,WAAA,SAAAxgK,GAAuB,WAAAwmI,GAAAxmI,EAAA,OAAsB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5e,MAAWngI,EAAAogI,GAAAvnI,UAAA,CAAkB0pK,WAAA,SAAAxpK,GAAuBA,EAAAq3J,QAAA,UAAoB,QAAApwJ,EAAA,EAAYA,EAAApI,KAAA+Z,MAAA5E,OAAoB/M,IAAA,CAAKjH,EAAAq3J,QAAA,QAAApwJ,EAAA,KAAyB,IAAAlG,EAAAlC,KAAA+Z,MAAAzB,IAAAlQ,GAAwBlG,EAAA2gK,MAAA1hK,GAAAe,EAAA+qI,OAAA41B,MAAA1hK,KAA8B0tC,KAAA,SAAA1tC,GAAkB,OAAAnB,KAAAga,MAAA60B,KAAA1tC,IAA0BkoK,QAAA,WAAoB,GAAAz5H,UAAA,aAAA+3F,GAAA,CAA8B,IAAAxmI,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAga,MAAAqvJ,QAAAloK,GAA6B,GAAAyuC,UAAA,aAAA99B,EAAA,CAA6B,IAAA1J,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAga,MAAAqvJ,QAAAjhK,KAA8BwiK,gBAAA,WAA4B,OAAA5qK,KAAAga,MAAA00E,YAA6Bm8E,wBAAA,WAAoC,QAAA1pK,EAAAnB,KAAAga,MAAA00E,WAAgCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAq/J,WAAAoD,4BAAwCC,aAAA,SAAA3pK,GAA0BgnC,EAAAm7B,IAAAk1F,QAAAr3J,IAAiB4pK,eAAA,SAAA5pK,EAAAiH,GAA8B,IAAAlG,EAAAlC,KAAAga,MAAA60B,KAAAzmC,GAAyB,UAAAlG,EAAA,SAAqB,IAAAvB,EAAAuB,EAAAy6I,WAAmB,cAAAh8I,KAAAm4J,YAAA33J,KAAAm7C,EAAAmhF,UAA+CutC,qBAAA,WAAiC,QAAA7pK,EAAAnB,KAAAga,MAAA00E,WAAgCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAq/J,WAAAuD,yBAAqCC,qBAAA,SAAA9pK,EAAAiH,EAAAlG,EAAAvB,GAAwC,QAAAQ,EAAA09E,OAAA38E,IAAAg7H,GAAAi8B,mBAAAh4J,EAAAiH,EAAAzH,KAAAu8H,GAAA66B,WAAAvzB,GAAAuD,SAAA5mI,EAAAiH,KAAAo8H,GAAAuD,SAAA7lI,EAAAvB,IAAwGuqK,YAAA,WAAwB,OAAAlrK,KAAAyoI,aAAwB0iC,WAAA,SAAAhqK,GAAwBgnC,EAAAm7B,IAAAu/F,MAAA1hK,IAAeiqK,gBAAA,WAA4B,OAAAprK,KAAA+Z,MAAA20E,YAA6B28E,wBAAA,SAAAlqK,EAAAiH,GAAuC,QAAAlG,EAAA,EAAYA,EAAAlC,KAAA+Z,MAAA5E,OAAoBjT,IAAA,CAAK,IAAAvB,EAAAX,KAAA+Z,MAAAzB,IAAApW,GAAAqT,EAAA5U,EAAAi0B,iBAA6C,GAAA50B,KAAAirK,qBAAA9pK,EAAAiH,EAAAmN,EAAA,GAAAA,EAAA,WAAA5U,EAAqD,GAAAX,KAAAirK,qBAAA9pK,EAAAiH,EAAAmN,IAAApT,OAAA,GAAAoT,IAAApT,OAAA,WAAAxB,EAAuE,aAAY2qK,WAAA,SAAAnqK,GAAwBnB,KAAA+Z,MAAAyqC,IAAArjD,IAAkBoqK,YAAA,SAAApqK,GAAyB,QAAAiH,EAAApI,KAAAkrK,cAAAx8E,WAAwCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,GAAA3Z,EAAA2hI,YAAA1iI,EAAA,OAAAe,EAA4B,aAAYspK,SAAA,SAAArqK,GAAsB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAA+Z,MAAAyqC,IAAAtiD,GAAkB,IAAAvB,EAAA,IAAAqnI,GAAA9lI,GAAA,GAAAqT,EAAA,IAAAyyH,GAAA9lI,GAAA,GAAsCvB,EAAA2pK,OAAA/0J,KAAA+0J,OAAA3pK,GAAAX,KAAAwkD,IAAA7jD,GAAAX,KAAAwkD,IAAAjvC,KAAiDivC,IAAA,SAAArjD,GAAiBnB,KAAAga,MAAAwqC,IAAArjD,GAAAnB,KAAAyoI,YAAAjkF,IAAArjD,IAA0CsqK,SAAA,WAAqB,OAAAzrK,KAAAga,MAAAwN,UAA2BkkJ,SAAA,SAAAvqK,EAAAiH,GAAwB,QAAAlG,EAAA,EAAYA,EAAAlC,KAAA+Z,MAAA5E,OAAoBjT,IAAA,CAAK,IAAAvB,EAAAX,KAAA+Z,MAAAzB,IAAApW,GAAAqT,EAAA5U,EAAAi0B,iBAA6C,GAAAzzB,EAAA09E,OAAAtpE,EAAA,KAAAnN,EAAAy2E,OAAAtpE,EAAA,WAAA5U,EAA2C,aAAYk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3e,MAAWA,GAAAqiC,wBAAA,SAAA1pK,GAAyC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAAulK,WAAAoD,4BAAwCziK,EAAAsgI,GAAAznI,UAAA,CAAiB0qK,mBAAA,SAAAxqK,EAAAiH,EAAAlG,GAAmC,QAAAvB,EAAAQ,EAAAutF,WAAuB/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,EAAAoyJ,SAAAzlK,EAAAsiD,IAAAjvC,GAAAnN,EAAAo8C,IAAAjvC,KAA8Bq2J,gBAAA,SAAAzqK,GAA6B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAA0pE,UAAArqE,KAAAq8H,iBAAmDj0H,EAAAo8C,IAAAjvC,GAAS,OAAAnN,GAASyjK,eAAA,SAAA1qK,EAAAiH,GAA8B,QAAAlG,EAAAkG,EAAAsmF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,UAAAlb,EAAAqnK,WAAA,CAAwB,IAAAzyJ,EAAAvV,KAAA8rK,uBAAAnrK,EAAAQ,GAAuC,UAAAoU,EAAA,UAAA6vH,GAAA,mCAAAzkI,EAAAyiI,cAAA,IAAgFziI,EAAAsnK,SAAA1yJ,MAAgBw2J,sBAAA,SAAA5qK,EAAAiH,EAAAlG,GAAuC,QAAAvB,EAAA,IAAAupB,EAAA3U,EAAApU,EAAAutF,WAA+Bn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe,GAAA2hB,EAAAuqI,mBAAA,GAA2BvqI,EAAA8qI,uCAAyC,IAAAxmK,EAAA07B,EAAA4qI,oBAAA9nK,EAAAN,KAAAgsK,UAAAlqK,GAAgD,OAAAxB,GAAAN,KAAAisK,kBAAA3rK,EAAAwB,GAAAsG,EAAAo8C,IAAAlkD,IAAA4B,EAAAozH,OAAAxzH,QAA4DnB,EAAA6jD,IAAAhnB,GAAc,OAAA78B,GAASknK,cAAA,SAAA1mK,GAA2B,QAAAiH,EAAApI,KAAAuqE,UAAAmkB,WAAoCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,GAAA3Z,EAAA2lK,cAAA1mK,GAAA,SAA+B,UAAS+qK,sBAAA,SAAA/qK,GAAmC,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,EAAAooK,cAAApoK,EAAAg8I,WAAA8pB,UAAA,OAAA9lK,EAAAsmK,cAAA,CAAkE,IAAA1xJ,EAAA,IAAA8xH,GAAA1mI,EAAAX,KAAAq8H,iBAAqCj0H,EAAAo8C,IAAAjvC,KAAAqyJ,eAA0B,OAAAx/J,GAAS6jK,kBAAA,SAAA9qK,EAAAiH,GAAiC,QAAAlG,EAAAkG,EAAAsmF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAgnK,UAAAhnK,EAAAsnK,SAAA9mK,KAA2BgrK,YAAA,WAAwB,IAAAhrK,EAAAnB,KAAA4rK,gBAAA5rK,KAAAuqE,WAA2C,OAAAppE,GAAS2qK,uBAAA,SAAA3qK,EAAAiH,GAAsC,QAAAlG,EAAAf,EAAAomK,gBAAA5mK,EAAAuB,EAAAmtI,sBAAA95H,EAAArT,EAAAkwJ,eAAA,GAAA50H,EAAA,KAAA17B,EAAA,KAAAxB,EAAA8H,EAAAsmF,WAAyGpuF,EAAA6nJ,WAAY,CAAE,IAAA/mJ,EAAAd,EAAAub,OAAA9J,EAAA3Q,EAAAmmK,gBAAA7pI,EAAA3rB,EAAAs9H,sBAA6D,OAAA7xG,IAAA17B,EAAA07B,EAAA+pI,gBAAAl4B,uBAAsD,IAAA1tI,GAAA,EAAS+7B,EAAAwrH,SAAAvoJ,IAAAu8H,GAAAg8B,cAAA3jJ,EAAAxD,EAAA6iB,oBAAAjzB,GAAA,GAAAA,IAAA,OAAA67B,GAAA17B,EAAAonJ,SAAAxrH,MAAAF,EAAAp8B,GAAkG,OAAAo8B,GAASwuI,UAAA,SAAA7qK,GAAuB,QAAAiH,EAAA,EAAAlG,EAAA,KAAAvB,EAAAQ,EAAAutF,WAAkC/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,EAAAoyJ,WAAAzlK,EAAAqT,EAAAnN,KAAsB,OAAAoM,EAAAiuH,OAAAr6H,GAAA,8CAAAlG,GAAmEsiD,IAAA,WAAgB,OAAA5U,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAwkD,IAAArjD,EAAA+pK,cAAA/pK,EAAAsqK,iBAAuC,OAAA77H,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC44F,GAAAqiC,wBAAA3oK,GAA8B,IAAAvB,EAAAX,KAAAksK,sBAAA9jK,GAAAmN,EAAA,IAAA2U,EAAAsT,EAAAx9B,KAAA+rK,sBAAAprK,EAAAX,KAAAuqE,UAAAh1D,GAA6FvV,KAAA2rK,mBAAAnuI,EAAAx9B,KAAAuqE,UAAAh1D,GAAAvV,KAAA6rK,eAAA7rK,KAAAuqE,UAAAh1D,KAAmFsgH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAze,MAAWtgI,EAAAugI,GAAA1nI,UAAA,CAAkBmrK,aAAA,SAAAjrK,GAAyB,QAAAiH,EAAApI,KAAA4oI,GAAAyjC,WAAAnB,cAAAx8E,WAAsDtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAssK,gBAAApqK,EAAAf,EAAAnB,KAAA8oI,eAAA9oI,KAAAusK,yBAAArqK,EAAAf,EAAAnB,KAAA8oI,iBAAoG0jC,kBAAA,SAAArrK,EAAAiH,GAAiC,IAAAlG,EAAAlC,KAAA6oI,UAAA82B,OAAAx+J,EAAAiiI,gBAAApjI,KAAA4oI,GAAA6jC,eAAArkK,IAAyEjH,EAAAw7I,WAAA/V,YAAAx+H,EAAAlG,IAA8Bq/J,MAAA,SAAApgK,GAAmB,OAAAnB,KAAA0sK,uBAAA1sK,KAAAosK,aAAAjrK,GAAAnB,KAAA2sK,WAAAxrK,GAAAnB,KAAA+oI,gBAA+FujC,gBAAA,SAAAnrK,EAAAiH,EAAAlG,GAAiC,IAAAvB,EAAAQ,EAAAw7I,WAAApnI,EAAApU,EAAA0iI,UAAiC1iI,EAAA+oK,eAAA/oK,EAAA6nK,cAAAv6B,GAAAm+B,aAAAjsK,EAAAyH,IAAAmN,EAAAkzJ,cAAAvmK,EAAAsiD,IAAAjvC,GAAApU,EAAAopK,gBAAA,MAAuGmC,qBAAA,WAAiC,QAAAvrK,EAAAnB,KAAA4oI,GAAAyjC,WAAAZ,WAAA/8E,WAAmDvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAq/J,WAAAiF,uBAAoC,QAAAxqK,EAAAlC,KAAA4oI,GAAAyjC,WAAAnB,cAAAx8E,WAAsDxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAkjI,UAA6B,GAAAljI,EAAAupK,eAAA30J,EAAAmzJ,eAAA,CAAsC,IAAAlrI,EAAAx9B,KAAA4oI,GAAAikC,aAAAlsK,EAAAyiI,iBAA8C7tH,EAAAqzJ,WAAAprI,MAAkBsvI,mBAAA,SAAA3rK,GAAgC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAA8Bz6I,EAAA8kK,eAAArmK,EAAAioJ,OAAA,GAAA5oJ,KAAAwsK,kBAAAtqK,EAAA,GAAAlC,KAAAwsK,kBAAAtqK,EAAA,MAAuFyqK,WAAA,SAAAxrK,GAAwB,QAAAiH,EAAApI,KAAA8oI,cAAAp6C,WAAwCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,GAAAuB,EAAAy6I,WAAA38I,KAAAq8H,gBAAA82B,iBAAAjxJ,EAAA0yB,mBAA0F50B,KAAA+oI,eAAAvkF,IAAA7jD,GAAAuB,EAAA0lK,aAAA,KAA8C2E,yBAAA,SAAAprK,EAAAiH,EAAAlG,GAA0C,IAAAvB,EAAAQ,EAAAw7I,WAAmB,OAAAx7I,EAAA+oK,aAAA,KAAA/oK,EAAA6nK,YAAA,KAAA7nK,EAAA4oK,qBAAA,KAAA5oK,EAAA0iI,UAAAklC,aAAA,MAAAv0J,EAAAiuH,SAAAthI,EAAA4nK,cAAA5nK,EAAAgpK,SAAApB,gBAAA5nK,EAAA0iI,UAAAklC,mBAAAt6B,GAAAm+B,aAAAjsK,EAAAyH,QAAAqmI,GAAAs+B,eAAA7qK,EAAAsiD,IAAArjD,EAAA0iI,WAAA1iI,EAAAopK,gBAAA,OAAqR10C,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxe,MAAWvgI,EAAA4gI,GAAA/nI,UAAA,CAAkB+rK,yBAAA,SAAA7rK,GAAqC,IAAAiH,EAAAjH,EAAAiiI,gBAAwB,IAAApjI,KAAA4oI,GAAAqkC,cAAA7kK,GAAA,CAA8B,IAAAlG,EAAAlC,KAAAq8H,gBAAAw1B,YAAAzpJ,GAA0CpI,KAAAipI,gBAAAzkF,IAAAtiD,KAA6BgrK,6BAAA,SAAA/rK,GAA0C,QAAAiH,EAAApI,KAAA4oI,GAAAyjC,WAAAZ,WAAA/8E,WAAmDtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,KAAA3Z,EAAA6mK,cAAA7mK,EAAA+mK,0BAAA,IAAA/mK,EAAAulK,WAAA0F,aAAAhsK,IAAAstI,GAAAs+B,cAAA,CAAqG,IAAApsK,EAAAuB,EAAAy6I,WAAmBlO,GAAAm+B,aAAAjsK,EAAAQ,IAAAnB,KAAAgtK,yBAAA9qK,MAAyDq/J,MAAA,SAAApgK,GAAmB,OAAAnB,KAAAktK,6BAAA/rK,GAAAnB,KAAAipI,iBAAiEpT,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAne,MAAW5gI,EAAA8gI,GAAAjoI,UAAA,CAAkB0+J,OAAA,SAAAx+J,KAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAje,MAAW9gI,EAAA+gI,GAAAloI,UAAA,CAAkB0+J,OAAA,SAAAx+J,GAAmB,OAAAgoI,GAAAw2B,OAAAx+J,EAAAnB,KAAA8G,OAA8B+uH,YAAA,WAAwB,OAAAqT,KAAWie,SAAA,WAAqB,OAAAhe,MAAWA,GAAA+vB,cAAA,SAAA/3J,EAAAiH,GAAiC,QAAAA,EAAAinI,sBAAA7+E,WAAArvD,IAAA+7H,GAAAg8B,cAAA/3J,EAAAiH,EAAAwsB,mBAAsFu0G,GAAAikC,uBAAA,SAAAjsK,EAAAiH,GAAyC,GAAAA,EAAA+xG,UAAA,SAAwB,IAAAj4G,EAAAkG,EAAA03I,kBAA0B,IAAA3W,GAAA+vB,cAAA/3J,EAAAe,GAAA,SAAmC,QAAAvB,EAAA,EAAYA,EAAAyH,EAAAirJ,qBAAyB1yJ,IAAA,CAAK,IAAA4U,EAAAnN,EAAAmrJ,iBAAA5yJ,GAA4B,GAAAwoI,GAAA+vB,cAAA/3J,EAAAoU,GAAA,SAAkC,UAAS4zH,GAAA0+B,cAAA,SAAA1mK,EAAAiH,GAAgC,GAAAA,aAAA4wH,GAAA,OAAAmQ,GAAAikC,uBAAAjsK,EAAAiH,GAAyD,GAAAA,aAAAuvH,GAAA,QAAAz1H,EAAA,IAAAw+H,GAAAt4H,GAAuClG,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,IAAAyH,GAAA+gI,GAAA0+B,cAAA1mK,EAAAR,GAAA,SAAyC,UAASwoI,GAAAw2B,OAAA,SAAAx+J,EAAAiH,GAAyB,OAAAA,EAAA+xG,UAAA79D,EAAAohF,SAAAyL,GAAA0+B,cAAA1mK,EAAAiH,GAAAk0C,EAAAkhF,SAAAlhF,EAAAohF,UAA0Et1H,EAAAghI,GAAAnoI,UAAA,CAAiBosK,UAAA,SAAAlsK,GAAsBnB,KAAAynK,WAAgB,IAAAr/J,EAAApI,KAAAspI,SAAAtmI,QAAA7B,GAAAe,EAAAkG,EAAA,EAAqC,WAAAA,IAAAlG,EAAAlC,KAAAspI,SAAAn0H,OAAA,GAAAnV,KAAAspI,SAAAhxH,IAAApW,IAA8DorK,oBAAA,SAAAnsK,GAAiC,QAAAiH,EAAAk0C,EAAAqqF,KAAAzkI,EAAAlC,KAAA0uF,WAAmCxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAg8I,WAA8BpnI,EAAAkxJ,OAAAtlK,IAAAoU,EAAAujJ,YAAA33J,EAAAklI,GAAAE,QAAAjqF,EAAAqqF,OAAAv+H,EAAAmN,EAAAujJ,YAAA33J,EAAAklI,GAAAE,OAA6E,GAAAn+H,IAAAk0C,EAAAqqF,KAAA,YAA0B,IAAAnpG,EAAAp1B,EAAA,IAAAlG,EAAAlC,KAAA0uF,WAA8BxsF,EAAAimJ,WAAY,CAAExnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAg8I,WAA8B,GAAApnI,EAAAujJ,YAAA33J,EAAAklI,GAAAC,MAAAhqF,EAAAqqF,MAAApxH,EAAAqxH,YAAAzlI,EAAAklI,GAAAC,GAAA9oG,GAAAjoB,EAAAkxJ,OAAAtlK,GAAA,CAA0E,IAAAW,EAAAyT,EAAAujJ,YAAA33J,EAAAklI,GAAAE,MAAAjmI,EAAAiV,EAAAujJ,YAAA33J,EAAAklI,GAAAG,OAA2D,GAAAlmI,IAAAg8C,EAAAqqF,KAAA,CAAe,GAAArmI,IAAAk9B,EAAA,UAAA4nG,GAAA,yBAAAzkI,EAAAyiI,iBAAkEthI,IAAAw6C,EAAAqqF,MAAAnyH,EAAAgzI,qBAAA,8BAAA7mJ,EAAAyiI,gBAAA,KAAA5lG,EAAA17B,OAA4F0S,EAAAiuH,OAAAltH,EAAAujJ,YAAA33J,EAAAklI,GAAAE,QAAAjqF,EAAAqqF,KAAA,0BAAApxH,EAAAqxH,YAAAzlI,EAAAklI,GAAAG,MAAAhpG,GAAAjoB,EAAAqxH,YAAAzlI,EAAAklI,GAAAE,KAAA/oG,MAAmI4lG,cAAA,WAA0B,IAAAjiI,EAAAnB,KAAA0uF,WAAsB,IAAAvtF,EAAAgnJ,UAAA,YAA4B,IAAA//I,EAAAjH,EAAA0a,OAAe,OAAAzT,EAAAg7H,iBAAyBy/B,MAAA,SAAA1hK,GAAmBgnC,EAAAm7B,IAAAk1F,QAAA,kBAAAx4J,KAAAojI,iBAAsD,QAAAh7H,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAC5v+B3Z,EAAA2gK,MAAA1hK,KAAYosK,uBAAA,SAAApsK,GAAoC,OAAAnB,KAAAwtK,qBAAArsK,EAAAssK,uBAAAztK,KAAA0tK,0BAAA,IAA4FA,0BAAA,SAAAvsK,GAAuC,IAAAiH,EAAApI,KAAAynK,WAAsB,GAAAr/J,EAAA+M,QAAA,WAAwB,IAAAjT,EAAAkG,EAAA+M,OAAA,EAAAxU,EAAAyH,EAAAkQ,IAAApW,GAAAy6I,WAAApnI,EAAA5U,EAAAm4J,YAAA33J,EAAAklI,GAAAE,MAAkE/xH,EAAAiuH,OAAAltH,IAAA+mC,EAAAqqF,KAAA,8BAAkD,QAAAnpG,EAAAjoB,EAAAzT,EAAA9B,KAAA0uF,WAA8B5sF,EAAAqmJ,WAAY,CAAE,IAAA7nJ,EAAAwB,EAAA+Z,OAAAza,EAAAd,EAAAq8I,WAA8BnoI,EAAAiuH,OAAArhI,EAAAqlK,OAAAtlK,GAAA,uBAA4C,IAAA4Q,EAAA3Q,EAAA03J,YAAA33J,EAAAklI,GAAAE,MAAA7oG,EAAAt8B,EAAA03J,YAAA33J,EAAAklI,GAAAG,OAA2D,GAAAz0H,IAAA2rB,EAAA,SAAkB,GAAAA,IAAAF,EAAA,SAAkBA,EAAAzrB,EAAI,UAASiwG,UAAA,SAAA7gH,GAAuBnB,KAAA0uF,WAAgB,QAAAtmF,EAAA,EAAYA,EAAApI,KAAAspI,SAAAn0H,OAAuB/M,IAAA,CAAK,IAAAlG,EAAAlC,KAAAspI,SAAAhxH,IAAAlQ,GAA2B,GAAAlG,IAAAf,EAAA,OAAAiH,EAAkB,UAASsmF,SAAA,WAAqB,OAAA1uF,KAAAynK,WAAA/4E,YAAkC+4E,SAAA,WAAqB,cAAAznK,KAAAspI,WAAAtpI,KAAAspI,SAAA,IAAAp/G,EAAAlqB,KAAAqpI,QAAA7hH,WAAAxnB,KAAAspI,UAAwFwvB,YAAA,SAAA33J,EAAAiH,EAAAlG,GAA6B,OAAAlC,KAAAupI,iBAAApoI,KAAAm7C,EAAAqqF,OAAA3mI,KAAAupI,iBAAApoI,GAAAgoI,GAAAw2B,OAAAv3J,EAAAlG,EAAAf,GAAAwzB,gBAAA30B,KAAAupI,iBAAApoI,IAA8HisB,SAAA,WAAqB,IAAAjsB,EAAA,IAAA40H,EAAY50H,EAAAmoJ,OAAA,kBAAAtpJ,KAAAojI,iBAAAjiI,EAAAmoJ,OAAA,MAAgE,QAAAlhJ,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe1a,EAAAmoJ,OAAApnJ,GAAAf,EAAAmoJ,OAAA,MAA2B,OAAAnoJ,EAAAisB,YAAoBogJ,qBAAA,SAAArsK,GAAkC,QAAAiH,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA0nK,aAAAzoK,KAAmBwsK,iBAAA,SAAAxsK,GAA8BnB,KAAAwtK,qBAAArsK,EAAA,GAAAssK,uBAAAztK,KAAAstK,oBAAA,GAAAttK,KAAAstK,oBAAA,GAA8G,QAAAllK,EAAA,QAAAlG,EAAAlC,KAAA0uF,WAAoCxsF,EAAAimJ,WAAY,QAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAg8I,WAAAn/G,EAAA,EAAuCA,EAAA,EAAIA,IAAAjoB,EAAAgxJ,OAAA/oI,IAAAjoB,EAAAujJ,YAAAt7H,KAAA8e,EAAAmhF,WAAAr1H,EAAAo1B,IAAA,GAA0D,IAAAt7B,EAAAlC,KAAA0uF,WAA0BxsF,EAAAimJ,WAAY,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAg8I,WAAAn/G,EAAA,EAAuCA,EAAA,EAAIA,IAAA,GAAAjoB,EAAAmxJ,UAAAlpI,GAAA,CAAuB,IAAA17B,EAAAw6C,EAAAqqF,KAAa,GAAAv+H,EAAAo1B,GAAA17B,EAAAw6C,EAAAohF,aAAqB,CAAK,IAAAp9H,EAAAK,EAAAyiI,gBAAwBthI,EAAA9B,KAAA84J,YAAAt7H,EAAAl9B,EAAAa,GAA0BoU,EAAA+wJ,sBAAA9oI,EAAA17B,KAA8BqrK,UAAA,WAAsB,OAAAntK,KAAAqpI,QAAAl0H,QAA2By4J,cAAA,SAAAzsK,EAAAiH,GAA6BpI,KAAAqpI,QAAArN,IAAA76H,EAAAiH,GAAApI,KAAAspI,SAAA,MAAyCzT,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/d,MAAW1rG,EAAA8rG,GAAAJ,IAAAhhI,EAAAohI,GAAAvoI,UAAA,CAA2B4pK,wBAAA,WAAmC7qK,KAAA6tK,qBAA0B,QAAA1sK,EAAA,KAAAiH,EAAA,KAAAlG,EAAAlC,KAAA0pI,sBAAA/oI,EAAA,EAAuDA,EAAAX,KAAAypI,mBAAAt0H,OAAiCxU,IAAA,CAAK,IAAA4U,EAAAvV,KAAAypI,mBAAAnxH,IAAA3X,GAAA68B,EAAAjoB,EAAA40J,SAAkD,GAAA50J,EAAAonI,WAAA8pB,SAAA,cAAAtlK,GAAAoU,EAAAwzJ,eAAA5nK,EAAAoU,GAAArT,GAAmE,KAAAlC,KAAA0pI,sBAAA,IAAAlsG,EAAAurI,aAAA,SAA4D3gK,EAAAo1B,EAAAt7B,EAAAlC,KAAA2pI,oBAA+B,MAAM,KAAA3pI,KAAA2pI,oBAAA,IAAAp0H,EAAAwzJ,aAAA,SAA0D3gK,EAAAqiK,QAAAl1J,GAAArT,EAAAlC,KAAA0pI,uBAA2C,GAAAxnI,IAAAlC,KAAA2pI,oBAAA,CAAiC,UAAAxoI,EAAA,UAAAikI,GAAA,4BAAAplI,KAAAojI,iBAA2E5uH,EAAAiuH,OAAAthI,EAAA4nK,aAAA,wCAAA3gK,EAAAqiK,QAAAtpK,KAA8EgC,OAAA,SAAAhC,GAAoB,IAAAiH,EAAAjH,EAAQnB,KAAA4tK,cAAAxlK,MAAwB0lK,iBAAA,WAA6B,IAAA3sK,EAAAnB,KAAAynK,WAAAr/J,EAAAjH,EAAAgU,OAAiC,GAAA/M,EAAA,cAAmB,IAAAlG,EAAAf,EAAAmX,IAAA,GAAe,OAAAlQ,EAAA,OAAAlG,EAAkB,IAAAvB,EAAAQ,EAAAmX,IAAAlQ,EAAA,GAAAmN,EAAArT,EAAAynK,cAAAnsI,EAAA78B,EAAAgpK,cAAqD,OAAAnlC,GAAA6/B,WAAA9uJ,IAAAivH,GAAA6/B,WAAA7mI,GAAAt7B,EAA+CsiI,GAAA6/B,WAAA9uJ,IAAAivH,GAAA6/B,WAAA7mI,GAAiD,IAAAt7B,EAAAsnK,QAAAtnK,EAAA,IAAAvB,EAAA6oK,QAAA7oK,GAAA6T,EAAAgzI,qBAAA,qDAAjD7mJ,GAAqKkiK,MAAA,SAAA1hK,GAAmBgnC,EAAAm7B,IAAAk1F,QAAA,qBAAAx4J,KAAAojI,iBAAyD,QAAAh7H,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe1a,EAAA0hK,MAAA,QAAA3gK,EAAA2gK,MAAA1hK,KAAAq3J,UAAAr3J,EAAA0hK,MAAA,OAAA3gK,EAAAioK,SAAAtH,MAAA1hK,KAAAq3J,YAAuFqV,mBAAA,WAA+B,UAAA7tK,KAAAypI,mBAAA,OAAAzpI,KAAAypI,mBAAiEzpI,KAAAypI,mBAAA,IAAAv/G,EAA8B,QAAA/oB,EAAAnB,KAAA0uF,WAA0BvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,QAAezT,EAAA2gK,cAAA3gK,EAAA+hK,SAAApB,eAAA/oK,KAAAypI,mBAAAjlF,IAAAp8C,GAA0E,OAAApI,KAAAypI,oBAA+BskC,gBAAA,SAAA5sK,GAA6B,QAAAiH,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAA8Bh8I,EAAA2lK,sBAAA,EAAAnlK,EAAA23J,YAAA,IAAAn4J,EAAA2lK,sBAAA,EAAAnlK,EAAA23J,YAAA,MAAyFkS,qBAAA,WAAiChrK,KAAAynK,WAAgB,QAAAtmK,EAAA,KAAAiH,EAAA,KAAAlG,EAAAlC,KAAAspI,SAAAn0H,OAAA,EAA+CjT,GAAA,EAAKA,IAAA,CAAK,IAAAvB,EAAAX,KAAAspI,SAAAhxH,IAAApW,GAAAqT,EAAA5U,EAAAwpK,SAAwC,OAAA/hK,MAAAmN,GAAA,OAAApU,GAAAoU,EAAAk1J,QAAAtpK,KAAAR,EAA2CyH,EAAAqiK,QAAAtpK,IAAa6sK,cAAA,WAA0B,OAAAp+H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAAgiH,UAAA7gH,GAAAe,GAAAf,EAAAw7I,WAAAx7I,EAAA0oK,SAAAxjC,GAAAE,OAAA5lI,EAAAQ,EAAA0oK,SAAAxjC,GAAAG,OAAAjxH,EAAAvV,KAAAguK,cAAA5lK,EAAA,EAAApI,KAAAspI,SAAAn0H,OAAAjT,GAAAs7B,EAAAx9B,KAAAguK,cAAA,EAAA5lK,EAAAmN,GAAgL,GAAAioB,IAAA78B,EAAA,UAAAykI,GAAA,qBAAAjkI,EAAAiiI,sBAA8D,OAAAxzF,UAAAztC,OAAA,CAA8B,QAAAL,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA3Q,EAAAs8B,EAAA57B,EAA6D47B,EAAAp9B,EAAIo9B,IAAA,CAAK,IAAA/7B,EAAA3B,KAAAspI,SAAAhxH,IAAAolB,GAA2B/7B,EAAAg7I,WAAah7I,EAAA6oK,cAAAnkC,GAAAG,MAAAz0H,KAAApQ,EAAAkoK,SAAAxjC,GAAAE,MAAkD,OAAAx0H,IAAUk8J,eAAA,WAA2B,QAAA9sK,EAAAnB,KAAA0uF,WAA0BvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAu0I,WAA8Bz6I,EAAAulB,MAAArf,EAAA+hK,SAAAxtB,cAAgC4rB,yBAAA,SAAApnK,GAAsC,QAAAiH,EAAA,KAAAlG,EAAA,KAAAvB,EAAAX,KAAA0pI,sBAAAn0H,EAAAvV,KAAAypI,mBAAAt0H,OAAA,EAAsFI,GAAA,EAAKA,IAAA,CAAK,IAAAioB,EAAAx9B,KAAAypI,mBAAAnxH,IAAA/C,GAAAzT,EAAA07B,EAAA2sI,SAAkD,cAAA/hK,GAAAo1B,EAAAypI,gBAAA9lK,IAAAiH,EAAAo1B,GAAA78B,GAA+C,KAAAX,KAAA0pI,sBAAA,GAAA5nI,EAAAmlK,gBAAA9lK,EAAA,SAAgEe,EAAAJ,EAAAnB,EAAAX,KAAA2pI,oBAA+B,MAAM,KAAA3pI,KAAA2pI,oBAAA,GAAAnsG,EAAAypI,gBAAA9lK,EAAA,SAA8De,EAAA8nK,WAAAxsI,GAAA78B,EAAAX,KAAA0pI,uBAA8C/oI,IAAAX,KAAA2pI,sBAAAn1H,EAAAiuH,OAAA,OAAAr6H,EAAA,yCAAAoM,EAAAiuH,OAAAr6H,EAAA6+J,gBAAA9lK,EAAA,wCAAAe,EAAA8nK,WAAA5hK,KAAgLs/J,kBAAA,WAA8B,OAAA93H,UAAAztC,OAAA,CAAyB,QAAAhB,EAAA,EAAAiH,EAAApI,KAAA0uF,WAA8BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA6mK,cAAA5nK,IAAoB,OAAAA,EAAS,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,OAAAzuC,EAAA,EAAAiH,EAAApI,KAAA0uF,WAA6CtmF,EAAA+/I,WAAY,CAAEjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA+kK,gBAAAtmK,GAAAQ,IAAyB,OAAAA,IAAUw7I,SAAA,WAAqB,OAAA38I,KAAAsJ,OAAkBojK,qBAAA,WAAiC,QAAAvrK,EAAAm7C,EAAAqqF,KAAAv+H,EAAApI,KAAA0uF,WAAmCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAioK,SAA4B,IAAAjoK,EAAAgoK,aAAA,CAAoB,GAAAhoK,EAAA6mK,aAAA,CAAmB5nK,EAAAm7C,EAAAkhF,SAAa,MAAM,GAAA78H,EAAAooK,aAAA,CAAmB5nK,EAAAm7C,EAAAohF,SAAa,QAAQ,GAAAv8H,IAAAm7C,EAAAqqF,KAAA,YAA0B,IAAApxH,EAAApU,EAAA,IAAAiH,EAAApI,KAAA0uF,WAA8BtmF,EAAA+/I,WAAY,CAAEjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAioK,SAA4BjoK,EAAAgoK,aAAAhoK,EAAA2hI,UAAA+kC,WAAArzJ,IAAA+mC,EAAAkhF,WAAAt7H,EAAA6mK,eAAAxzJ,EAAA+mC,EAAAohF,UAAA/8H,EAAAooK,eAAAxzJ,EAAA+mC,EAAAkhF,aAAuHmwC,iBAAA,SAAAxsK,GAA8BioI,GAAAnoI,UAAA0sK,iBAAA38J,KAAAhR,KAAAmB,GAAAnB,KAAAsJ,MAAA,IAAAm9H,GAAAnqF,EAAAqqF,MAAqE,QAAAv+H,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAA2hI,UAAAtuH,EAAA5U,EAAAg8I,WAAAn/G,EAAA,EAAqDA,EAAA,EAAIA,IAAA,CAAK,IAAA17B,EAAAyT,EAAAujJ,YAAAt7H,GAAuB17B,IAAAw6C,EAAAkhF,UAAA17H,IAAAw6C,EAAAmhF,UAAAz9H,KAAAsJ,MAAAs9H,YAAAppG,EAAA8e,EAAAkhF,YAAsE3H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3d,MAAW9rG,EAAAksG,GAAArB,IAAAngI,EAAAwhI,GAAA3oI,UAAA,CAA2B0gK,WAAA,SAAAxgK,GAAuB,WAAAwmI,GAAAxmI,EAAA,IAAAqoI,KAAwB3T,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvd,MAAWxhI,EAAAyhI,GAAA5oI,UAAA,CAAkBmlK,qBAAA,SAAAjlK,EAAAiH,GAAmCpI,KAAA8pI,IAAAokC,0BAAAluK,KAAA+pI,WAAA5oI,EAAA2oI,IAAA3oI,EAAA4oI,WAAA3hI,IAAyEytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtd,MAAWzhI,EAAA4hI,GAAA/oI,UAAA,CAAkBktK,SAAA,WAAoB,OAAAnuK,KAAAkqI,YAAAF,GAAAK,QAAkC+jC,oBAAA,SAAAjtK,GAAiCnB,KAAAoqI,iBAAAjpI,GAAwBktK,UAAA,WAAsB,OAAAruK,KAAA0F,KAAgByoI,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAiqI,OAAA7hI,EAAA6hI,QAAA,EAAAjqI,KAAAiqI,OAAA7hI,EAAA6hI,OAAA,EAAAjqI,KAAAkqI,UAAA9hI,EAAA8hI,WAAA,EAAAlqI,KAAAkqI,UAAA9hI,EAAA8hI,UAAA,KAAmHokC,eAAA,WAA2B,OAAAtuK,KAAAmqI,aAAwBokC,SAAA,WAAqB,OAAAvuK,KAAAkqI,YAAAF,GAAAM,QAAkCkkC,YAAA,SAAArtK,GAAyB,cAAAnB,KAAAsJ,OAAAtJ,KAAAsJ,QAAAnI,EAAAmI,OAA+CmlK,oBAAA,WAAgC,OAAAzuK,KAAAoqI,kBAA6BvU,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAAnd,MAAWA,GAAAM,OAAA,EAAAN,GAAAK,OAAA,EAAAjiI,EAAAmiI,GAAAtpI,UAAA,CAA0C40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA5c,MAAWniI,EAAAoiI,GAAAvpI,UAAA,CAAkBytK,sBAAA,SAAAvtK,EAAAiH,EAAAlG,EAAAvB,GAAwC,GAAAQ,IAAAe,GAAA,IAAAlC,KAAAwlI,GAAAyxB,qBAAA,CAA4C,GAAAzsB,GAAAmkC,mBAAAvmK,EAAAzH,GAAA,SAAuC,GAAAQ,EAAAo+H,WAAA,CAAiB,IAAAhqH,EAAApU,EAAAknI,eAAA,EAAyB,OAAAjgI,GAAAzH,IAAA4U,GAAA,IAAA5U,GAAAyH,IAAAmN,EAAA,UAAwC,UAASq5J,2BAAA,WAAuC,OAAA5uK,KAAA4qI,yBAAoCikC,qBAAA,SAAA1tK,GAAkCnB,KAAAorI,oBAAAjqI,GAA2B2tK,8BAAA,WAA0C,OAAA9uK,KAAA2qI,mBAA8BokC,wBAAA,SAAA5tK,EAAAiH,GAAuC,QAAAlG,EAAAkG,EAAAsmF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAyiI,gBAAmC,GAAAjiI,EAAAu2J,eAAAniJ,GAAA,SAAgC,UAASy5J,sBAAA,WAAkC,OAAAhvK,KAAA0qI,WAAsBwV,gBAAA,WAA4B,OAAAlgJ,KAAAyqI,kBAA6BymB,OAAA,WAAmB,OAAAlxJ,KAAAmrI,SAAoB8jC,gBAAA,SAAA9tK,EAAAiH,GAA+B,cAAAA,MAAApI,KAAA+uK,wBAAA5tK,EAAAiH,EAAA,OAAApI,KAAA+uK,wBAAA5tK,EAAAiH,EAAA,MAAkG8mK,iBAAA,SAAA/tK,EAAAiH,GAAgCpI,KAAAkrI,SAAA,IAAArpI,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAAkrI,SAAA,GAAA/pI,EAAAnB,KAAAkrI,SAAA,GAAA9iI,GAA4Ew7J,iBAAA,SAAAziK,EAAAiH,EAAAlG,EAAAvB,GAAoC,GAAAQ,IAAAe,GAAAkG,IAAAzH,EAAA,YAA4BX,KAAAirI,WAAgB,IAAA11H,EAAApU,EAAAyzB,iBAAAxsB,GAAAo1B,EAAAr8B,EAAAyzB,iBAAAxsB,EAAA,GAAAtG,EAAAI,EAAA0yB,iBAAAj0B,GAAAL,EAAA4B,EAAA0yB,iBAAAj0B,EAAA,GAAwGX,KAAAwlI,GAAAuxB,oBAAAxhJ,EAAAioB,EAAA17B,EAAAxB,GAAAN,KAAAwlI,GAAA0a,oBAAAlgJ,KAAA8qI,iBAAA3pI,EAAAguK,aAAA,GAAAjtK,EAAAitK,aAAA,IAAAnvK,KAAAgrI,mBAAAhrI,KAAA0uK,sBAAAvtK,EAAAiH,EAAAlG,EAAAvB,KAAAX,KAAAyqI,kBAAA,GAAAzqI,KAAA6qI,eAAA7qI,KAAAwlI,GAAA2xB,aAAAh2J,EAAAyiK,iBAAA5jK,KAAAwlI,GAAAp9H,EAAA,GAAAlG,EAAA0hK,iBAAA5jK,KAAAwlI,GAAA7kI,EAAA,IAAAX,KAAAwlI,GAAA2xB,aAAAn3J,KAAA4qI,wBAAA5qI,KAAAwlI,GAAA6xB,gBAAA,GAAApvC,OAAAjoH,KAAA0qI,WAAA,EAAA1qI,KAAAorI,sBAAAprI,KAAAmrI,SAAA,GAAAnrI,KAAAivK,gBAAAjvK,KAAAwlI,GAAAxlI,KAAAkrI,YAAAlrI,KAAA2qI,mBAAA,OAA4hB9U,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3c,MAAWA,GAAAmkC,mBAAA,SAAAxtK,EAAAiH,GAAsC,WAAArE,KAAA6hB,IAAAzkB,EAAAiH,IAAyBs1B,EAAA2tG,GAAAd,IAAAniI,EAAAijI,GAAApqI,UAAA,CAA0BmuK,cAAA,WAAyBxO,GAAA57J,KAAAhF,KAAA8iB,QAAqB,QAAA3hB,EAAA,EAAYA,EAAAnB,KAAA8iB,OAAA3N,OAAqBhU,IAAA,CAAK,IAAAiH,EAAApI,KAAA8iB,OAAAxK,IAAAnX,GAAyBiH,EAAA+lK,YAAA/lK,EAAAkmK,iBAAAF,oBAAAjtK,KAAyDilK,qBAAA,WAAiC,OAAAx2H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAAilI,UAAA,EAAAjlI,KAAAovK,gBAAsC,QAAAhnK,EAAA,EAAYA,EAAApI,KAAA8iB,OAAA3N,OAAqB/M,IAAA,CAAK,IAAAlG,EAAAlC,KAAA8iB,OAAAxK,IAAAlQ,GAAyB,GAAAlG,EAAAqsK,YAAAvuK,KAAAqvK,gBAAAjnK,EAAAlG,EAAAusK,sBAAAvsK,EAAAf,KAAA+vJ,SAAA,YAAuF,OAAAthH,UAAAztC,OAAA,GAAAytC,UAAA,aAAA46F,IAAA96B,EAAA9/D,UAAA,GAAAxgC,IAAAsgG,EAAA9/D,UAAA,GAAAxgC,GAAA,CAAiG,IAAAzO,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD5vC,KAAAwrK,SAAA7qK,KAAAX,KAAAwrK,SAAAj2J,KAAAvV,KAAAomK,qBAAA5oI,QAAmE,qBAAAoS,UAAA,IAAA8/D,EAAA9/D,UAAA,GAAAxgC,IAAAwgC,UAAA,aAAA46F,GAAA,CAAsF,IAAA1oI,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAiDxuC,EAAApB,KAAAwrK,SAAA1pK,EAAA,MAAA9B,KAAAwrK,SAAA1pK,GAAA9B,KAAAomK,qBAAA9lK,KAAuEua,QAAA,SAAA1Z,EAAAiH,GAAuB,QAAAlG,EAAAf,EAAAmuK,uBAAA3uK,EAAAuB,EAAAqtK,kBAAAh6J,EAAA,EAA6DA,EAAA5U,EAAAwB,OAAA,EAAaoT,IAAA,CAAK,IAAAioB,EAAA,IAAAqsG,GAAA3nI,EAAAqT,GAAAzT,EAAA,IAAAkoI,GAAA5hI,EAAAlG,EAAA8wI,QAAAz9H,GAAAioB,GAA6Cx9B,KAAA8iB,OAAA0hC,IAAA1iD,GAAA9B,KAAA8iB,OAAA0hC,IAAA,IAAAwlF,GAAA9nI,EAAA+wI,QAAA19H,GAAAzT,MAA4DutK,gBAAA,SAAAluK,EAAAiH,EAAAlG,EAAAvB,GAAmC,QAAA4U,EAAArT,EAAAmsK,YAAA7wI,EAAAr8B,EAA4Bq8B,EAAAp1B,EAAIo1B,IAAA,CAAK,IAAA17B,EAAA9B,KAAA8iB,OAAAxK,IAAAklB,GAAyB,GAAA17B,EAAAysK,WAAA,CAAiB,IAAAjuK,EAAAwB,EAAAusK,YAAoBnsK,EAAAssK,YAAA1sK,KAAAyT,EAAA6wJ,qBAAA9lK,EAAAK,GAAAX,KAAAilI,gBAAmEumC,SAAA,WAAqB,OAAA57H,UAAAztC,OAAA,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAutF,WAA8DtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAA6a,QAAA3Y,UAAkB,OAAA0tC,UAAAztC,OAAA,KAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,OAAAxnC,EAAAzH,EAAA+tF,WAAkFtmF,EAAA+/I,WAAY,CAAEjmJ,EAAAkG,EAAAyT,OAAe7b,KAAA6a,QAAA3Y,EAAAqT,MAAmBsgH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9b,MAAWjjI,EAAAkjI,GAAArqI,UAAA,CAAkBsvI,OAAA,WAAkB,OAAAvwI,KAAAwmC,KAAgBgqB,WAAA,SAAArvD,EAAAiH,GAA0B,QAAApI,KAAAwmC,IAAAp+B,GAAApI,KAAAyO,IAAAtN,IAAgCqvI,OAAA,WAAmB,OAAAxwI,KAAAyO,KAAgB2e,SAAA,WAAqB,OAAAkvG,GAAAm6B,aAAA,IAAA3kJ,EAAA9R,KAAAwmC,IAAA,OAAA10B,EAAA9R,KAAAyO,IAAA,KAA4DonH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA7b,MAAWljI,EAAAqjI,GAAAxqI,UAAA,CAAkBkd,QAAA,SAAAhd,EAAAiH,GAAsB,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAAmN,GAAArT,EAAAskC,IAAAtkC,EAAAuM,KAAA,EAAA+uB,GAAA78B,EAAA6lC,IAAA7lC,EAAA8N,KAAA,EAAgD,OAAA8G,EAAAioB,GAAA,EAAAjoB,EAAAioB,EAAA,KAAsBq4F,YAAA,WAAwB,OAAAv1H,IAAU6mJ,SAAA,WAAqB,OAAA1b,MAAWH,GAAAkkC,eAAA/jC,GAAA/tG,EAAAguG,GAAAJ,IAAAljI,EAAAsjI,GAAAzqI,UAAA,CAAgDs/J,MAAA,SAAAp/J,EAAAiH,EAAAlG,GAAsB,OAAAlC,KAAAwwD,WAAArvD,EAAAiH,QAAAlG,EAAAo+J,UAAAtgK,KAAA6M,MAAA,MAA6DgpH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAzb,MAAWhuG,EAAAiuG,GAAAL,IAAAljI,EAAAujI,GAAA1qI,UAAA,CAA2B6qI,YAAA,SAAA3qI,EAAAiH,GAA0BpI,KAAAwmC,IAAAziC,KAAAyiC,IAAArlC,EAAAqlC,IAAAp+B,EAAAo+B,KAAAxmC,KAAAyO,IAAA1K,KAAA0K,IAAAtN,EAAAsN,IAAArG,EAAAqG,MAA8D8xJ,MAAA,SAAAp/J,EAAAiH,EAAAlG,GAAuB,OAAAlC,KAAAwwD,WAAArvD,EAAAiH,IAAA,OAAApI,KAAA4rI,OAAA5rI,KAAA4rI,MAAA20B,MAAAp/J,EAAAiH,EAAAlG,QAAA,OAAAlC,KAAA6rI,OAAA7rI,KAAA6rI,MAAA00B,MAAAp/J,EAAAiH,EAAAlG,KAAA,MAA+H2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxb,MAAWvjI,EAAA2jI,GAAA9qI,UAAA,CAAkBwuK,UAAA,WAAqB7O,GAAA57J,KAAAhF,KAAAgsI,OAAA,IAAA0jC,kBAAAF,gBAA0D,QAAAruK,EAAAnB,KAAAgsI,OAAA5jI,EAAA,KAAAlG,EAAA,IAAAgoB,IAAsC,CAAE,GAAAlqB,KAAA2vK,WAAAxuK,EAAAe,GAAA,IAAAA,EAAAiT,OAAA,OAAAjT,EAAAoW,IAAA,GAAqDlQ,EAAAjH,IAAAe,IAAAkG,IAAajF,OAAA,SAAAhC,EAAAiH,EAAAlG,GAAwB,UAAAlC,KAAA85B,KAAA,UAAA2xH,sBAAA,qDAAyGzrJ,KAAAgsI,OAAAxnF,IAAA,IAAAknF,GAAAvqI,EAAAiH,EAAAlG,KAA+Bq+J,MAAA,SAAAp/J,EAAAiH,EAAAlG,GAAuBlC,KAAAuuD,OAAAvuD,KAAA85B,KAAAymI,MAAAp/J,EAAAiH,EAAAlG,IAAmC0tK,UAAA,WAAsB,cAAA5vK,KAAA85B,KAAA,UAAA95B,KAAA85B,KAAA95B,KAAAyvK,cAA8DI,UAAA,SAAA1uK,GAAuBgnC,EAAAm7B,IAAAk1F,QAAAl8B,GAAAm6B,aAAA,IAAA3kJ,EAAA3Q,EAAAqlC,IAAAxmC,KAAA8hI,OAAA,IAAAhwH,EAAA3Q,EAAAsN,IAAAzO,KAAA8hI,UAAgFvzE,KAAA,WAAiB,cAAAvuD,KAAA85B,KAAA,UAAA95B,KAAA4vK,aAAmDD,WAAA,SAAAxuK,EAAAiH,GAA0BpI,KAAA8hI,QAAA15H,EAAA6mD,QAAuB,QAAA/sD,EAAA,EAAYA,EAAAf,EAAAgU,OAAWjT,GAAA,GAAM,IAAAvB,EAAAQ,EAAAmX,IAAApW,GAAAqT,EAAArT,EAAA,EAAAf,EAAAgU,OAAAhU,EAAAmX,IAAApW,GAAA,KAA4C,UAAAqT,EAAAnN,EAAAo8C,IAAA7jD,OAAqB,CAAK,IAAA68B,EAAA,IAAAmuG,GAAAxqI,EAAAmX,IAAApW,GAAAf,EAAAmX,IAAApW,EAAA,IAAkCkG,EAAAo8C,IAAAhnB,MAAWq4F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApb,MAAW3jI,EAAA4lC,GAAA/sC,UAAA,CAAkBS,OAAA,SAAAP,GAAmB,GAAAnB,KAAAisI,sBAAA9qI,aAAAi4H,GAAA,CAA+C,IAAAhxH,EAAAjH,EAAAg3H,aAAAg7B,iBAAAhyJ,EAAA4+I,yBAAiE,OAAA//I,KAAAgmD,MAAAxB,IAAAp8C,GAAA,KAA8BjH,aAAAy3H,IAAA54H,KAAAgmD,MAAAxB,IAAArjD,IAAmC2uK,qBAAA,SAAA3uK,GAAkCnB,KAAAisI,qBAAA9qI,GAA4B00H,YAAA,WAAwB,OAAAjgG,IAAUuxH,SAAA,WAAqB,OAAAn5G,MAAWA,GAAArZ,YAAA,WAA4B,OAAAib,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAzuC,EAAAg3H,aAAA88B,cAAAjnH,GAAA+hI,SAAA5uK,IAAoD,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAAxnC,EAAA+vH,aAAA88B,cAAAjnH,GAAA+hI,SAAA3nK,EAAAlG,MAAuD8rC,GAAA+hI,SAAA,WAAwB,OAAAngI,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5B,GAAA+hI,SAAA5uK,GAAA,GAAyB,OAAAyuC,UAAAztC,OAAA,CAAyB,GAAAutG,EAAA9/D,UAAA,GAAA9sC,IAAA4sG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAyC,QAAAsF,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAyH,EAAAsmF,WAAqD/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAemyB,GAAA+hI,SAAAx6J,EAAArT,GAAiB,OAAAA,EAAS,GAAA0tC,UAAA,aAAAxH,GAAA,kBAAAwH,UAAA,IAA6D,IAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAA,IAAA4pB,EAA0C,OAAAsT,EAAAj7B,MAAA,IAAAyrC,GAAA1tC,EAAAwB,IAAAxB,EAA8B,GAAAsvC,UAAA,aAAAxH,GAAAsnE,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAgD,IAAA1B,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAkC,OAAAxuC,aAAAw3H,GAAA7mH,EAAAyyC,IAAApjD,KAAAmB,MAAA,IAAAyrC,GAAAj8B,YAAsD,OAAA69B,UAAAztC,OAAA,CAA8B,qBAAAytC,UAAA,IAAA8/D,EAAA9/D,UAAA,GAAA9sC,IAAA4sG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAyE,IAAA46B,EAAAkS,UAAA,GAAAjuC,EAAAiuC,UAAA,GAAAp7B,EAAAo7B,UAAA,OAAAjvC,EAAA+8B,EAAAgxD,WAAoE/tF,EAAAwnJ,WAAY,CAAE5yI,EAAA5U,EAAAkb,OAAemyB,GAAA+hI,SAAAx6J,EAAA5T,EAAA6S,GAAmB,OAAA7S,EAAS,qBAAAiuC,UAAA,IAAAA,UAAA,aAAAxH,GAAAsnE,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAgF,IAAAgP,EAAA89B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAA0T,UAAA,GAAiD,OAAA99B,EAAAvP,MAAA,IAAAyrC,GAAAvtC,EAAAy7B,IAAAz7B,KAAgC2H,EAAA8jI,GAAAjrI,UAAA,CAAiBq/J,UAAA,SAAAn/J,GAAsBnB,KAAAqjE,MAAA7e,IAAArjD,IAAkB6uK,SAAA,WAAqB,OAAAhwK,KAAAqjE,OAAkBwyD,YAAA,WAAwB,OAAA6L,KAAWylB,SAAA,WAAqB,OAAAjb,MAAW9jI,EAAA+jI,GAAAlrI,UAAA,CAAkB0+J,OAAA,SAAAx+J,GAAmB,IAAAiH,EAAA,IAAA20H,GAAA57H,GAAAe,EAAA,IAAAmqI,GAAAjkI,GAA4B,OAAApI,KAAAI,MAAAmgK,MAAAp/J,EAAAiO,EAAAjO,EAAAiO,EAAAlN,GAAAkG,EAAA0wJ,eAAmDjjC,YAAA,WAAwB,OAAAqT,KAAWie,SAAA,WAAqB,OAAAhb,MAAW/jI,EAAAikI,GAAAprI,UAAA,CAAkBq/J,UAAA,SAAAn/J,GAAsB,IAAAiH,EAAAjH,EAAQnB,KAAAw1D,QAAAojG,aAAAxwJ,EAAAg7H,cAAA,GAAAh7H,EAAAg7H,cAAA,KAAiEvN,YAAA,WAAwB,OAAA6L,KAAWylB,SAAA,WAAqB,OAAA9a,MAAWjkI,EAAAgkI,GAAAnrI,UAAA,CAAkBstD,KAAA,SAAAptD,GAAiB,QAAAiH,EAAA4lC,GAAA+hI,SAAA5uK,GAAAe,EAAAkG,EAAAsmF,WAAwCxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAi0B,iBAAoC50B,KAAAiwK,QAAA16J,KAAiB06J,QAAA,SAAA9uK,GAAqB,QAAAiH,EAAA,EAAYA,EAAAjH,EAAAgB,OAAWiG,IAAA,CAAK,IAAAlG,EAAA,IAAAi7H,GAAAh8H,EAAAiH,EAAA,GAAAjH,EAAAiH,IAAAzH,EAAAoD,KAAAyiC,IAAAtkC,EAAAk7H,GAAAhuH,EAAAlN,EAAAmd,GAAAjQ,GAAAmG,EAAAxR,KAAA0K,IAAAvM,EAAAk7H,GAAAhuH,EAAAlN,EAAAmd,GAAAjQ,GAA8EpP,KAAAI,MAAA+C,OAAAxC,EAAA4U,EAAArT,KAA0Bq+J,MAAA,WAAkB,OAAA3wH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAAgqI,GAA2C,OAAAlsI,KAAAI,MAAAmgK,MAAAp/J,EAAAiH,EAAAlG,KAAA8tK,WAA4C,OAAApgI,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD5vC,KAAAI,MAAAmgK,MAAA5/J,EAAA4U,EAAAioB,KAAyBq4F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/a,MAAWD,GAAA+jC,eAAA7jC,GAAAF,GAAAgkC,wBAAA/jC,GAAAhkI,EAAAkkI,GAAArrI,UAAA,CAAqEmvK,gBAAA,WAA2B,OAAApwK,KAAA66G,cAAyBuoB,cAAA,WAA0B,OAAApjI,KAAAqT,OAAkBwvJ,MAAA,SAAA1hK,GAAmBA,EAAA0hK,MAAA7iK,KAAAqT,OAAAlS,EAAA0hK,MAAA,YAAA7iK,KAAA66G,cAAA15G,EAAAq3J,QAAA,WAAAx4J,KAAA6U,OAA2Fs5H,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAme,QAAA/V,EAAAyyG,aAAAzyG,EAAAyM,OAA2CgiJ,WAAA,SAAA11J,GAAwB,WAAAnB,KAAA66G,cAAA,IAAA76G,KAAA6U,MAAA7U,KAAA66G,eAAA15G,GAAmEisB,SAAA,WAAqB,OAAAptB,KAAAqT,MAAA,YAAArT,KAAA66G,aAAA,WAAA76G,KAAA6U,MAAqEssJ,YAAA,WAAwB,OAAAnhK,KAAA6U,MAAiBsJ,QAAA,SAAAhd,EAAAiH,GAAuB,OAAApI,KAAA66G,aAAA15G,GAAA,EAAAnB,KAAA66G,aAAA15G,EAAA,EAAAnB,KAAA6U,KAAAzM,GAAA,EAAApI,KAAA6U,KAAAzM,EAAA,KAAmFytH,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAA7a,MAAWlkI,EAAAmkI,GAAAtrI,UAAA,CAAkB4hK,MAAA,SAAA1hK,GAAkBA,EAAAq3J,QAAA,kBAA4B,QAAApwJ,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2gK,MAAA1hK,KAAYutF,SAAA,WAAqB,OAAA1uF,KAAAsjI,QAAA97G,SAAAknE,YAAwC00E,cAAA,SAAAjiK,GAA2BnB,KAAA4vI,eAAoB,QAAAxnI,EAAApI,KAAA0uF,WAAAxsF,EAAAkG,EAAAyT,OAAqCzT,EAAA+/I,WAAY,CAAE,IAAAxnJ,EAAAyH,EAAAyT,OAAAtG,EAAAvV,KAAAqjK,gBAAAnhK,EAAAvB,GAA2CQ,EAAAqjD,IAAAjvC,GAAArT,EAAAvB,IAAcivI,aAAA,WAAyB,IAAAzuI,EAAAnB,KAAAqa,KAAAinH,IAAAn/H,OAAA,EAA6BnC,KAAAwkD,IAAAxkD,KAAAqa,KAAAinH,IAAA,QAAAthI,KAAAwkD,IAAAxkD,KAAAqa,KAAAinH,IAAAngI,KAAA,IAA8DkiK,gBAAA,SAAAliK,EAAAiH,GAA+B,IAAAlG,EAAAkG,EAAAyyG,aAAA15G,EAAA05G,aAAA,EAAAl6G,EAAAX,KAAAqa,KAAAinH,IAAAl5H,EAAAyyG,cAAAtlG,EAAAnN,EAAAyM,KAAA,IAAAzM,EAAAiL,MAAA8vH,SAAAxiI,GAAuG4U,GAAArT,IAAO,IAAAs7B,EAAA,IAAA37B,MAAAK,GAAA0hC,KAAA,MAAA9hC,EAAA,EAAkC07B,EAAA17B,KAAA,IAAAgQ,EAAA3Q,EAAAkS,OAAsB,QAAA/S,EAAAa,EAAA05G,aAAA,EAA2Bv6G,GAAA8H,EAAAyyG,aAAkBv6G,IAAAk9B,EAAA17B,KAAA9B,KAAAqa,KAAAinH,IAAAhhI,GAA4B,OAAAiV,IAAAioB,EAAA17B,GAAAsG,EAAAiL,OAAA,IAAA25H,GAAAxvG,EAAA,IAAAipG,GAAAzmI,KAAAqa,KAAA/Q,SAA2Dk7C,IAAA,SAAArjD,EAAAiH,EAAAlG,GAAqB,IAAAvB,EAAA,IAAA2rI,GAAAnrI,EAAAiH,EAAAlG,GAAAqT,EAAAvV,KAAAsjI,QAAAhrH,IAAA3X,GAA0C,cAAA4U,KAAAvV,KAAAsjI,QAAAtH,IAAAr7H,SAA4C+2J,eAAA,SAAAv2J,GAA4B,QAAAiH,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,GAAA3Z,EAAAmR,MAAAwrE,OAAA19E,GAAA,SAA8B,UAAS00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5a,MAAWnkI,EAAAokI,GAAAvrI,UAAA,CAAkB4rI,qBAAA,SAAA1rI,GAAiC,IAAAiH,EAAA,EAAAlG,EAAA,IAAAgoB,EAAgBhoB,EAAAsiD,IAAA,IAAAjkD,EAAA6H,IAAgB,GAAG,IAAAzH,EAAAX,KAAA6kK,aAAA1jK,EAAAiH,GAA6BlG,EAAAsiD,IAAA,IAAAjkD,EAAAI,IAAAyH,EAAAzH,QAAoByH,EAAAjH,EAAAgB,OAAA,GAAoB,IAAAoT,EAAAi3H,GAAAs4B,WAAA5iK,GAAuB,OAAAqT,GAASsvJ,aAAA,SAAA1jK,EAAAiH,GAA4B,QAAAlG,EAAAsiI,GAAAuD,SAAA5mI,EAAAiH,GAAAjH,EAAAiH,EAAA,IAAAzH,EAAAyH,EAAA,EAAyCzH,EAAAQ,EAAAgB,QAAW,CAAE,IAAAoT,EAAAivH,GAAAuD,SAAA5mI,EAAAR,EAAA,GAAAQ,EAAAR,IAA+B,GAAA4U,IAAArT,EAAA,MAAevB,IAAI,OAAAA,EAAA,GAAWk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3a,MAAWA,GAAAs4B,WAAA,SAAA3jK,GAA4B,QAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAA1hC,EAAA,EAA6CA,EAAAkG,EAAAjG,OAAWD,IAAAkG,EAAAlG,GAAAf,EAAAmX,IAAApW,GAAAunJ,WAA6B,OAAArhJ,GAASA,EAAAqkI,GAAAxrI,UAAA,CAAiB2zB,eAAA,WAA0B,OAAA50B,KAAAshI,KAAgB2R,QAAA,SAAA9xI,GAAqB,IAAAiH,EAAApI,KAAAshI,IAAAthI,KAAA0sI,WAAAvrI,IAAAgO,EAAAjN,EAAAlC,KAAAshI,IAAAthI,KAAA0sI,WAAAvrI,EAAA,IAAAgO,EAAwE,OAAA/G,EAAAlG,EAAAkG,EAAAlG,GAAe8wI,QAAA,SAAA7xI,GAAqB,IAAAiH,EAAApI,KAAAshI,IAAAthI,KAAA0sI,WAAAvrI,IAAAgO,EAAAjN,EAAAlC,KAAAshI,IAAAthI,KAAA0sI,WAAAvrI,EAAA,IAAAgO,EAAwE,OAAA/G,EAAAlG,EAAAkG,EAAAlG,GAAegsK,0BAAA,WAAsC,OAAAt+H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAgE5vC,KAAAkuK,0BAAAluK,KAAA0sI,WAAAvrI,GAAAnB,KAAA0sI,WAAAvrI,EAAA,GAAAiH,IAAAskI,WAAAxqI,GAAAkG,EAAAskI,WAAAxqI,EAAA,GAAAvB,QAA8G,OAAAivC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,EAAA19B,KAAAshI,IAAA/rH,GAAA5T,EAAA3B,KAAAshI,IAAA9jG,GAAAhpB,EAAA1S,EAAAw/H,IAAAhhI,GAAAwR,EAAAhQ,EAAAw/H,IAAAlgI,GAAgJ,GAAAo8B,EAAAjoB,IAAA,GAAAnU,EAAAd,IAAA,SAAAyR,EAAA6xJ,iBAAA5jK,KAAAoI,EAAAmN,EAAAzT,EAAAsG,EAAA9H,GAAA,KAAmE,GAAAN,KAAA2sI,KAAAp+E,KAAA7wB,EAAA/7B,GAAA3B,KAAA4sI,KAAAr+E,KAAA/5C,EAAA1C,IAAA9R,KAAA2sI,KAAAn8E,WAAAxwD,KAAA4sI,MAAA,YAAwF,IAAAnsI,EAAAsD,KAAAmjJ,OAAA3xI,EAAAioB,GAAA,GAAAtB,EAAAn4B,KAAAmjJ,OAAA5mJ,EAAAc,GAAA,GAAgDmU,EAAA9U,IAAAH,EAAA47B,GAAAl8B,KAAAkuK,0BAAA34J,EAAA9U,EAAAqB,EAAAxB,EAAA47B,EAAAnqB,GAAAmqB,EAAA96B,GAAApB,KAAAkuK,0BAAA34J,EAAA9U,EAAAqB,EAAAo6B,EAAA96B,EAAA2Q,IAAAtR,EAAA+8B,IAAAl9B,EAAA47B,GAAAl8B,KAAAkuK,0BAAAztK,EAAA+8B,EAAA17B,EAAAxB,EAAA47B,EAAAnqB,GAAAmqB,EAAA96B,GAAApB,KAAAkuK,0BAAAztK,EAAA+8B,EAAA17B,EAAAo6B,EAAA96B,EAAA2Q,MAAmNw9J,gBAAA,WAA4B,OAAAvvK,KAAA0sI,YAAuB2jC,kBAAA,SAAAlvK,EAAAiH,GAAiC,QAAAlG,EAAA,EAAYA,EAAAlC,KAAA0sI,WAAAvqI,OAAA,EAA2BD,IAAA,QAAAvB,EAAA,EAAgBA,EAAAQ,EAAAurI,WAAAvqI,OAAA,EAAwBxB,IAAAX,KAAAkuK,0BAAAhsK,EAAAf,EAAAR,EAAAyH,IAA4CytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1a,MAAWrkI,EAAA0kI,GAAA7rI,UAAA,CAAkB4oK,SAAA,SAAA1oK,EAAAiH,GAAuB,OAAApI,KAAAooI,MAAAjnI,GAAAiH,IAAwB0hK,SAAA,SAAA3oK,EAAAiH,EAAAlG,GAA0BlC,KAAAooI,MAAAjnI,GAAAiH,GAAAlG,GAAmB0mJ,OAAA,WAAmB,OAAAh5G,UAAAztC,OAAA,CAAyB,QAAAhB,EAAA,EAAYA,EAAA,EAAIA,IAAA,QAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,GAAApI,KAAAooI,MAAAjnI,GAAAiH,KAAA0kI,GAAAC,WAAA,SAAiD,SAAS,OAAAn9F,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAmB,OAAA5vC,KAAAooI,MAAAlmI,GAAA,KAAA4qI,GAAAC,WAAwC,OAAAn9F,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC,OAAA5vC,KAAAooI,MAAAznI,GAAA4U,KAAAu3H,GAAAC,aAAyC1/F,UAAA,WAAsB,QAAAlsC,EAAA,EAAYA,EAAA,EAAIA,IAAA,IAAAnB,KAAA4oJ,OAAAznJ,GAAA,CAAwB,IAAAiH,EAAApI,KAAAooI,MAAAjnI,GAAA,GAAuBnB,KAAAooI,MAAAjnI,GAAA,GAAAiH,MAAApI,KAAAooI,MAAAjnI,GAAA,IAAAiH,EAAA,IAAAA,EAAA,GAAoD,QAAAlG,EAAA,EAAYA,EAAA,EAAIA,IAAA,CAAK,IAAAvB,EAAA,EAAQX,KAAAooI,MAAAjnI,GAAAe,GAAAkG,IAAAzH,EAAA,GAAAX,KAAAooI,MAAAjnI,GAAAe,GAAAvB,KAA+C2vK,SAAA,SAAAnvK,GAAsB,OAAAnB,KAAAooI,MAAAjnI,GAAAklI,GAAAG,OAAAxmI,KAAAooI,MAAAjnI,GAAAklI,GAAAE,OAAsDuyB,YAAA,SAAA33J,EAAAiH,GAA2B,OAAApI,KAAAooI,MAAAjnI,GAAAiH,IAAA,EAAAk0C,EAAAohF,SAAAphF,EAAAkhF,UAAiDpwG,SAAA,WAAqB,YAAAptB,KAAAooI,MAAA,UAAApoI,KAAAooI,MAAA,aAAApoI,KAAAooI,MAAA,UAAApoI,KAAAooI,MAAA,OAA+F5jF,IAAA,WAAgB,OAAA5U,UAAAztC,OAAA,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,EAAmDA,EAAA,EAAIA,IAAA,QAAAlG,EAAA,EAAgBA,EAAA,EAAIA,IAAA,CAAK,IAAAvB,EAAAQ,EAAA23J,YAAA1wJ,EAAAlG,GAAyBvB,IAAA27C,EAAAohF,UAAA/8H,IAAA27C,EAAAkhF,WAAAx9H,KAAA4oJ,OAAAxgJ,EAAAlG,GAAAlC,KAAAooI,MAAAhgI,GAAAlG,GAAA4qI,GAAAyjC,gBAAA5vK,GAAAX,KAAAooI,MAAAhgI,GAAAlG,IAAA4qI,GAAAyjC,gBAAA5vK,SAAkI,OAAAivC,UAAAztC,OAAA,CAA8B,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD9tC,IAAAw6C,EAAAkhF,UAAAx9H,KAAAooI,MAAA7yH,GAAAioB,OAAoCq4F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAra,MAAWA,GAAAyjC,gBAAA,SAAApvK,GAAiC,OAAAA,IAAAm7C,EAAAohF,SAAA,EAAAv8H,IAAAm7C,EAAAkhF,SAAA,EAAAsP,GAAAC,YAAuDD,GAAAC,YAAA,EAAArvG,EAAAsvG,GAAA1F,IAAAl/H,EAAA4kI,GAAA/rI,UAAA,CAA2C4oK,SAAA,WAAoB,OAAA7pK,KAAAooI,OAAkBooC,iBAAA,WAA6B,IAAArvK,EAAA,IAAAU,MAAA,GAAA+hC,KAAA,MAA8BziC,EAAA,GAAAnB,KAAAshI,IAAA,GAAAngI,EAAA,GAAAnB,KAAAshI,IAAA,GAAkC,IAAAl5H,EAAA,IAAA4kI,GAAA7rI,EAAAslI,GAAAsgC,YAAA/mK,KAAAsJ,QAA2C,OAAAlB,GAAS4+J,WAAA,WAAuB,OAAAhnK,KAAAktI,aAAwBt4G,eAAA,WAA2B,OAAA50B,KAAAshI,KAAgB6tC,YAAA,SAAAhuK,GAAyBnB,KAAAktI,YAAA/rI,GAAmBsvK,QAAA,SAAAtvK,GAAqBnB,KAAAmG,KAAAhF,GAAY09E,OAAA,SAAA19E,GAAoB,KAAAA,aAAA6rI,IAAA,SAA+B,IAAA5kI,EAAAjH,EAAQ,GAAAnB,KAAAshI,IAAAn/H,SAAAiG,EAAAk5H,IAAAn/H,OAAA,SAA2C,QAAAD,GAAA,EAAAvB,GAAA,EAAA4U,EAAAvV,KAAAshI,IAAAn/H,OAAAq7B,EAAA,EAAwCA,EAAAx9B,KAAAshI,IAAAn/H,OAAkBq7B,IAAA,GAAAx9B,KAAAshI,IAAA9jG,GAAA2lG,SAAA/6H,EAAAk5H,IAAA9jG,MAAAt7B,GAAA,GAAAlC,KAAAshI,IAAA9jG,GAAA2lG,SAAA/6H,EAAAk5H,MAAA/rH,MAAA5U,GAAA,IAAAuB,IAAAvB,EAAA,SAAuG,UAASyiI,cAAA,WAA0B,OAAAxzF,UAAAztC,OAAA,OAAAnC,KAAAshI,IAAAn/H,OAAA,EAAAnC,KAAAshI,IAAA,QAAkE,OAAA1xF,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAshI,IAAAngI,KAAoB0hK,MAAA,SAAA1hK,GAAmBA,EAAA0hK,MAAA,QAAA7iK,KAAAmG,KAAA,MAAAhF,EAAA0hK,MAAA,gBAAwD,QAAAz6J,EAAA,EAAYA,EAAApI,KAAAshI,IAAAn/H,OAAkBiG,MAAA,GAAAjH,EAAA0hK,MAAA,KAAA1hK,EAAA0hK,MAAA7iK,KAAAshI,IAAAl5H,GAAA+G,EAAA,IAAAnP,KAAAshI,IAAAl5H,GAAAgH,GAA+DjO,EAAA0hK,MAAA,MAAA7iK,KAAAsJ,MAAA,IAAAtJ,KAAAmtI,aAA8C27B,UAAA,SAAA3nK,GAAuB6rI,GAAA67B,SAAA7oK,KAAAsJ,MAAAnI,IAA0BuvK,YAAA,WAAwB,QAAA1wK,KAAAsJ,MAAAm9J,UAAA,IAAAzmK,KAAAshI,IAAAn/H,UAAAnC,KAAAshI,IAAA,GAAAziD,OAAA7+E,KAAAshI,IAAA,KAAsF/B,SAAA,WAAqB,OAAAv/H,KAAAshI,IAAA,GAAAziD,OAAA7+E,KAAAshI,IAAAthI,KAAAshI,IAAAn/H,OAAA,KAAuDwuK,uBAAA,WAAmC,OAAA3wK,KAAAshI,IAAAn/H,OAAA,GAAyB8nK,cAAA,WAA0B,OAAAjqK,KAAAmtI,YAAuB9E,aAAA,WAAyB,OAAAroI,KAAAshI,IAAAn/H,QAAuBkoK,aAAA,SAAAlpK,GAA0BA,EAAA0hK,MAAA,QAAA7iK,KAAAmG,KAAA,MAAgC,QAAAiC,EAAApI,KAAAshI,IAAAn/H,OAAA,EAA4BiG,GAAA,EAAKA,IAAAjH,EAAA0hK,MAAA7iK,KAAAshI,IAAAl5H,GAAA,KAA6BjH,EAAAq3J,QAAA,KAAc8W,qBAAA,WAAiC,cAAAtvK,KAAA8pI,MAAA9pI,KAAA8pI,IAAA,IAAA2C,GAAAzsI,YAAA8pI,KAAyDr/D,YAAA,WAAwB,UAAAzqE,KAAAukI,IAAA,CAAoBvkI,KAAAukI,IAAA,IAAAl8F,EAAe,QAAAlnC,EAAA,EAAYA,EAAAnB,KAAAshI,IAAAn/H,OAAkBhB,IAAAnB,KAAAukI,IAAAukB,gBAAA9oJ,KAAAshI,IAAAngI,IAA0C,OAAAnB,KAAAukI,KAAgBi/B,gBAAA,SAAAriK,EAAAiH,EAAAlG,EAAAvB,GAAmC,IAAA4U,EAAA,IAAAzD,EAAA3Q,EAAAk2J,gBAAA12J,IAAA68B,EAAAp1B,EAAAtG,EAAAX,EAAA+1J,gBAAAh1J,EAAAvB,GAAAL,EAAAk9B,EAAA,EAAqE,GAAAl9B,EAAAN,KAAAshI,IAAAn/H,OAAA,CAAsB,IAAAf,EAAApB,KAAAshI,IAAAhhI,GAAkBiV,EAAA4tH,SAAA/hI,KAAAo8B,EAAAl9B,EAAAwB,EAAA,GAAyB9B,KAAAitI,OAAAzoF,IAAAjvC,EAAAioB,EAAA17B,IAAuBsrB,SAAA,WAAqB,IAAAjsB,EAAA,IAAA40H,EAAY50H,EAAAmoJ,OAAA,QAAAtpJ,KAAAmG,KAAA,MAAAhF,EAAAmoJ,OAAA,gBAA0D,QAAAlhJ,EAAA,EAAYA,EAAApI,KAAAshI,IAAAn/H,OAAkBiG,MAAA,GAAAjH,EAAAmoJ,OAAA,KAAAnoJ,EAAAmoJ,OAAAtpJ,KAAAshI,IAAAl5H,GAAA+G,EAAA,IAAAnP,KAAAshI,IAAAl5H,GAAAgH,GAAiE,OAAAjO,EAAAmoJ,OAAA,MAAAtpJ,KAAAsJ,MAAA,IAAAtJ,KAAAmtI,YAAAhsI,EAAAisB,YAAmEwjJ,iBAAA,SAAAzvK,GAA8B,GAAAnB,KAAAshI,IAAAn/H,SAAAhB,EAAAmgI,IAAAn/H,OAAA,SAA2C,QAAAiG,EAAA,EAAYA,EAAApI,KAAAshI,IAAAn/H,OAAkBiG,IAAA,IAAApI,KAAAshI,IAAAl5H,GAAA+6H,SAAAhiI,EAAAmgI,IAAAl5H,IAAA,SAAgD,UAASyoK,cAAA,SAAA1vK,GAA2BnB,KAAAmtI,WAAAhsI,GAAkB2vK,wBAAA,WAAoC,OAAA9wK,KAAAitI,QAAmB22B,iBAAA,SAAAziK,EAAAiH,EAAAlG,GAAkC,QAAAvB,EAAA,EAAYA,EAAAQ,EAAA81J,qBAAyBt2J,IAAAX,KAAAwjK,gBAAAriK,EAAAiH,EAAAlG,EAAAvB,IAAkCk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAna,MAAWA,GAAA67B,SAAA,WAAyB,OAAAj5H,UAAAztC,OAAA,OAAAmlI,GAAArmI,UAAA4nK,SAAAtmK,MAAAvC,KAAA4vC,WAA2E,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCxnC,EAAAuyJ,kBAAAx5J,EAAA23J,YAAA,EAAAzyB,GAAAC,IAAAnlI,EAAA23J,YAAA,EAAAzyB,GAAAC,IAAA,GAAAnlI,EAAAslK,WAAAr+J,EAAAuyJ,kBAAAx5J,EAAA23J,YAAA,EAAAzyB,GAAAE,MAAAplI,EAAA23J,YAAA,EAAAzyB,GAAAE,MAAA,GAAAn+H,EAAAuyJ,kBAAAx5J,EAAA23J,YAAA,EAAAzyB,GAAAG,OAAArlI,EAAA23J,YAAA,EAAAzyB,GAAAG,OAAA,KAAuO9oG,EAAA0vG,GAAA5E,IAAApgI,EAAAglI,GAAAnsI,UAAA,CAA0B8vK,oBAAA,SAAA5vK,EAAAiH,GAAkC,IAAAlG,EAAAlC,KAAAga,MAAAqvJ,QAAAjhK,GAAAzH,EAAAuB,EAAAy6I,WAAApnI,EAAA,EAAAioB,EAAA8e,EAAAqqF,KAAwDnpG,EAAA78B,EAAAm4J,YAAA33J,EAAAklI,GAAAC,IAAA9oG,IAAA8e,EAAAmhF,UAAAloH,IAA6C,IAAAzT,EAAAsrI,GAAA4jC,kBAAAhxK,KAAAutI,iBAAAh4H,GAAoD5U,EAAAimI,YAAAzlI,EAAAW,IAAmBmvK,iBAAA,WAA6B,OAAArhI,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAA5vC,KAAAixK,iBAAA9vK,EAAAiH,GAAA,GAAqC,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAA,IAAAgtG,GAAAtoI,GAAA,MAAuEs7B,EAAAqxI,qBAAAt5J,GAA0B,IAAAzT,EAAA9B,KAAAkxK,2BAAA5wK,EAAAN,KAAAqtI,sBAAAjU,IAAAp5H,KAAAqtI,sBAAArU,IAAAh5H,KAAAqtI,sBAAA7T,GAAAp4H,EAAAT,IAAAL,EAA4I,OAAAwB,EAAAskK,qBAAApmK,KAAA+Z,MAAAyjB,EAAAp8B,GAAApB,KAAAmxK,yBAAAnxK,KAAAytI,UAAAjwG,IAA8F4zI,kBAAA,SAAAjwK,GAA+B,QAAAiH,EAAApI,KAAA+Z,MAAA20E,WAAgCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA+qI,OAAAm2B,cAAAjiK,KAA2BkwK,yBAAA,SAAAlwK,EAAAiH,EAAAlG,GAA0C,IAAAvB,EAAA,IAAA6pI,GAAApiI,EAAAlG,GAAA,GAAuBvB,EAAAuuK,iBAAAlvK,KAAAspK,mBAAAnoK,EAAAmoK,oBAAiE,IAAA/zJ,EAAAvV,KAAAkxK,2BAAsC,OAAA37J,EAAA6wJ,qBAAApmK,KAAA+Z,MAAA5Y,EAAA4Y,MAAApZ,MAAsDg0B,YAAA,WAAwB,OAAA30B,KAAAqtI,YAAuBogC,oBAAA,WAAgC,OAAAztK,KAAAutI,kBAA6B+jC,gBAAA,WAA4B,OAAAtxK,KAAA2tI,kBAA6BkuB,SAAA,WAAqB,GAAAjsH,UAAA,aAAAkpF,GAAA,CAA8B,IAAA33H,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAiiI,gBAAuCpjI,KAAAuxK,YAAAvxK,KAAAytI,SAAArlI,EAAAk0C,EAAAkhF,eAA6C,GAAA5tF,UAAA,aAAA99B,EAAA,CAAkC,IAAA5P,EAAA0tC,UAAA,GAAmB5vC,KAAAuxK,YAAAvxK,KAAAytI,SAAAvrI,EAAAo6C,EAAAkhF,YAA8Cg0C,WAAA,SAAArwK,GAAwBnB,KAAAyxK,eAAAtwK,EAAA2+I,kBAAAxjG,EAAAohF,SAAAphF,EAAAkhF,UAA+D,QAAAp1H,EAAA,EAAYA,EAAAjH,EAAAkyJ,qBAAyBjrJ,IAAA,CAAK,IAAAlG,EAAAf,EAAAoyJ,iBAAAnrJ,GAA4BpI,KAAAyxK,eAAAvvK,EAAAo6C,EAAAkhF,SAAAlhF,EAAAohF,YAA8C7iH,QAAA,SAAA1Z,GAAqBnB,KAAAsrK,WAAAnqK,GAAmB,IAAAiH,EAAAjH,EAAAyzB,iBAAyB50B,KAAAuxK,YAAAvxK,KAAAytI,SAAArlI,EAAA,GAAAk0C,EAAAmhF,UAAAz9H,KAAAuxK,YAAAvxK,KAAAytI,SAAArlI,IAAAjG,OAAA,GAAAm6C,EAAAmhF,WAAyGi0C,cAAA,SAAAvwK,GAA2B,IAAAiH,EAAAmuH,EAAAw4B,qBAAA5tJ,EAAAyzB,kBAAiD,GAAAxsB,EAAAjG,OAAA,SAAAnC,KAAA2tI,kBAAA,EAAA3tI,KAAA4tI,aAAAxlI,EAAA,QAA0E,IAAAlG,EAAA,IAAA8qI,GAAA5kI,EAAA,IAAAq+H,GAAAzmI,KAAAytI,SAAAnxF,EAAAkhF,WAAiDx9H,KAAAstI,YAAAtR,IAAA76H,EAAAe,GAAAlC,KAAAsrK,WAAAppK,GAAAsS,EAAAiuH,OAAAr6H,EAAAjG,QAAA,wCAAAnC,KAAA+wK,oBAAA/wK,KAAAytI,SAAArlI,EAAA,IAAApI,KAAA+wK,oBAAA/wK,KAAAytI,SAAArlI,IAAAjG,OAAA,KAA2MwvK,gBAAA,WAA4B,OAAA3xK,KAAA4tI,cAAyBgkC,kBAAA,WAA8B,QAAAzwK,EAAAnB,KAAAspK,mBAAAlhK,EAAA,IAAAvG,MAAAV,EAAAgU,QAAAyuB,KAAA,MAAA1hC,EAAA,EAAAvB,EAAAQ,EAAAutF,WAAsF/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAezT,EAAAlG,KAAAqT,EAAA6tH,gBAAAnb,OAAgC,OAAA7/G,GAASkhK,iBAAA,WAA6B,cAAAtpK,KAAA0tI,gBAAA1tI,KAAA0tI,cAAA1tI,KAAAga,MAAAsvJ,iBAAAtpK,KAAAytI,WAAAztI,KAAA0tI,eAAqHmkC,wBAAA,SAAA1wK,EAAAiH,EAAAlG,GAAyC,OAAAlC,KAAA+qK,eAAA5pK,EAAAiH,GAAA,UAAAlG,IAAAo6C,EAAAmhF,UAAAz9H,KAAAwtI,6BAAAxtI,KAAA+wK,oBAAA5vK,EAAAiH,GAAApI,KAAAuxK,YAAApwK,EAAAiH,EAAAlG,KAAmJuvK,eAAA,SAAAtwK,EAAAiH,EAAAlG,GAAgC,GAAAf,EAAAg5G,UAAA,YAA2B,IAAAx5G,EAAA41H,EAAAw4B,qBAAA5tJ,EAAAyzB,kBAAiD,GAAAj0B,EAAAwB,OAAA,SAAAnC,KAAA2tI,kBAAA,EAAA3tI,KAAA4tI,aAAAjtI,EAAA,QAA0E,IAAA4U,EAAAnN,EAAAo1B,EAAAt7B,EAAYg7H,GAAAo2B,MAAA3yJ,KAAA4U,EAAArT,EAAAs7B,EAAAp1B,GAAuB,IAAAtG,EAAA,IAAAkrI,GAAArsI,EAAA,IAAA8lI,GAAAzmI,KAAAytI,SAAAnxF,EAAAmhF,SAAAloH,EAAAioB,IAAqDx9B,KAAAstI,YAAAtR,IAAA76H,EAAAW,GAAA9B,KAAAsrK,WAAAxpK,GAAA9B,KAAAuxK,YAAAvxK,KAAAytI,SAAA9sI,EAAA,GAAA27C,EAAAmhF,WAA6F8zC,YAAA,SAAApwK,EAAAiH,EAAAlG,GAA6B,IAAAvB,EAAAX,KAAAga,MAAAqvJ,QAAAjhK,GAAAmN,EAAA5U,EAAAg8I,WAA2C,OAAApnI,EAAA5U,EAAA2I,MAAA,IAAAm9H,GAAAtlI,EAAAe,GAAAqT,EAAAqxH,YAAAzlI,EAAAe,IAAgDgvK,yBAAA,WAAqC,WAAA7lC,IAAc8lC,yBAAA,SAAAhwK,GAAsC,QAAAiH,EAAApI,KAAA+Z,MAAA20E,WAAgCtmF,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAAAmc,YAAA33J,GAAAoU,EAAArT,EAAA+qI,OAAAv+C,WAAwEn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe7b,KAAA6xK,wBAAA1wK,EAAAq8B,EAAAnqB,MAAA1S,KAA2C6jD,IAAA,WAAgB,OAAA5U,UAAAztC,OAAA,OAAAqmI,GAAAvnI,UAAAujD,IAAAjiD,MAAAvC,KAAA4vC,WAAsE,IAAAzuC,EAAAyuC,UAAA,GAAmB,GAAAzuC,EAAAg5G,UAAA,YAA2B,GAAAh5G,aAAAq4H,KAAAx5H,KAAAwtI,8BAAA,GAAArsI,aAAA63H,GAAAh5H,KAAAwxK,WAAArwK,QAA8F,GAAAA,aAAAy3H,GAAA54H,KAAA0xK,cAAAvwK,QAA8C,GAAAA,aAAA23H,GAAA94H,KAAA67J,SAAA16J,QAAyC,GAAAA,aAAAg4H,GAAAn5H,KAAA8xK,cAAA3wK,QAA8C,GAAAA,aAAA02H,GAAA73H,KAAA8xK,cAAA3wK,QAA8C,GAAAA,aAAAq4H,GAAAx5H,KAAA8xK,cAAA3wK,OAA8C,CAAK,KAAAA,aAAAw2H,IAAA,UAAA6nC,8BAAAr+J,EAAAgmJ,WAAA4M,WAAsF/zJ,KAAA8xK,cAAA3wK,KAAuB2wK,cAAA,SAAA3wK,GAA2B,QAAAiH,EAAA,EAAYA,EAAAjH,EAAA0/H,mBAAuBz4H,IAAA,CAAK,IAAAlG,EAAAf,EAAAyrJ,aAAAxkJ,GAAwBpI,KAAAwkD,IAAAtiD,KAAay9J,OAAA,SAAAx+J,GAAoB,OAAAuuG,EAAA1vG,KAAAqtI,WAAAtU,KAAA/4H,KAAAqtI,WAAAxM,mBAAA,WAAA7gI,KAAA6tI,gBAAA7tI,KAAA6tI,cAAA,IAAA1B,GAAAnsI,KAAAqtI,aAAArtI,KAAA6tI,cAAA8xB,OAAAx+J,IAAAnB,KAAA6oI,UAAA82B,OAAAx+J,EAAAnB,KAAAqtI,aAAoNq+B,SAAA,WAAqB,OAAA97H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAstI,YAAAh1H,IAAAnX,GAA+B,OAAAqnI,GAAAvnI,UAAAyqK,SAAAnpK,MAAAvC,KAAA4vC,YAAmDimF,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/Z,MAAWA,GAAA4jC,kBAAA,SAAA7vK,EAAAiH,GAAqC,OAAAjH,EAAAgzI,aAAA/rI,GAAAk0C,EAAAmhF,SAAAnhF,EAAAkhF,UAA+Cp1H,EAAA0lI,GAAA7sI,UAAA,CAAiBwrK,eAAA,SAAAtrK,GAA2B,OAAAnB,KAAAguI,IAAA7sI,GAAAwzB,eAAiCs5G,wBAAA,SAAA9sI,GAAqCnB,KAAA+tI,qBAAA5sI,EAAAnB,KAAAwlI,GAAAqU,kBAAA75I,KAAA+tI,uBAAiFlY,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArZ,MAAW1lI,EAAAgmI,GAAAntI,UAAA,CAAkBktI,UAAA,SAAAhtI,GAAsB,IAAAiH,EAAAjH,EAAAe,EAAAksI,GAAA2jC,gBAAA/xK,KAAAshI,IAAAthI,KAAAquI,aAAAjmI,EAAAk5H,IAAAl5H,EAAAimI,cAA8E,OAAAnsI,GAAS2zH,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAA/Y,MAAWA,GAAAE,YAAA,SAAAntI,GAA6B,WAAAo1H,EAAA64B,oBAAAjuJ,IAAoCitI,GAAA2jC,gBAAA,SAAA5wK,EAAAiH,EAAAlG,EAAAvB,GAAsC,QAAA4U,EAAAnN,EAAA,KAAAo1B,EAAA78B,EAAA,KAAAmB,EAAAsG,EAAAjH,EAAAgB,QAAA,EAAA7B,EAAAK,EAAAuB,EAAAC,QAAA,EAAAf,EAAAgH,EAAA,EAAAjH,EAAAgB,OAAA,EAAA4P,EAAApR,EAAA,EAAAuB,EAAAC,OAAA,IAA6F,CAAE,IAAAu7B,EAAAv8B,EAAAC,GAAA+sI,UAAAjsI,EAAA6P,IAA2B,OAAA2rB,EAAA,OAAAA,EAAkBt8B,GAAAmU,EAAAxD,GAAAyrB,EAAU,IAAA77B,EAAAP,IAAAU,EAAA0S,EAAAzC,IAAAzR,EAAoB,GAAAqB,IAAA6S,EAAA,SAAkB,IAAA7S,GAAA6S,EAAA,SAAkB,GAAA7S,GAAA6S,EAAA,WAAkBpM,EAAAmmI,GAAAttI,UAAA,CAAiB4hK,MAAA,SAAA1hK,GAAkBA,EAAA0hK,MAAA,sBAA8B,QAAAz6J,EAAA,EAAYA,EAAApI,KAAA+Z,MAAA5E,OAAoB/M,IAAA,CAAK,IAAAlG,EAAAlC,KAAA+Z,MAAAzB,IAAAlQ,GAAwBA,EAAA,GAAAjH,EAAA0hK,MAAA,KAAA1hK,EAAA0hK,MAAA,KAA+B,QAAAliK,EAAAuB,EAAA0yB,iBAAArf,EAAA,EAAiCA,EAAA5U,EAAAwB,OAAWoT,MAAA,GAAApU,EAAA0hK,MAAA,KAAA1hK,EAAA0hK,MAAAliK,EAAA4U,GAAApG,EAAA,IAAAxO,EAAA4U,GAAAnG,GAAiDjO,EAAAq3J,QAAA,KAAer3J,EAAA0hK,MAAA,QAAevtC,OAAA,SAAAn0H,GAAoB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAYnoJ,KAAAwkD,IAAAp8C,EAAAyT,SAAoBm2J,cAAA,SAAA7wK,GAA2B,QAAAiH,EAAA,EAAYA,EAAApI,KAAA+Z,MAAA5E,OAAoB/M,IAAA,GAAApI,KAAA+Z,MAAAzB,IAAAlQ,GAAAy2E,OAAA19E,GAAA,OAAAiH,EAA4C,UAASsmF,SAAA,WAAqB,OAAA1uF,KAAA+Z,MAAA20E,YAA6B+4E,SAAA,WAAqB,OAAAznK,KAAA+Z,OAAkBzB,IAAA,SAAAnX,GAAiB,OAAAnB,KAAA+Z,MAAAzB,IAAAnX,IAAyB8wK,cAAA,SAAA9wK,GAA2B,IAAAiH,EAAA,IAAAgmI,GAAAjtI,EAAAyzB,kBAAA1yB,EAAAlC,KAAAwuI,OAAAl2H,IAAAlQ,GAAsD,OAAAlG,GAASsiD,IAAA,SAAArjD,GAAiBnB,KAAA+Z,MAAAyqC,IAAArjD,GAAkB,IAAAiH,EAAA,IAAAgmI,GAAAjtI,EAAAyzB,kBAAiC50B,KAAAwuI,OAAAxS,IAAA5zH,EAAAjH,IAAqB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5Y,MAAW7wG,EAAA+wG,GAAAX,IAAA1lI,EAAAqmI,GAAAxtI,UAAA,CAA2BixK,iBAAA,SAAA/wK,GAA6B,IAAAiH,EAAApI,KAAAspI,SAAA2oC,cAAA9wK,GAAqC,UAAAiH,EAAA,CAAa,IAAAlG,EAAAkG,EAAAu0I,WAAAh8I,EAAAQ,EAAAw7I,WAAkCv0I,EAAAwoK,iBAAAzvK,KAAAR,EAAA,IAAA8lI,GAAAtlI,EAAAw7I,YAAAh8I,EAAAO,QAAyD,IAAAqU,EAAAnN,EAAAyhK,WAAmBt0J,EAAAqzI,UAAArzI,EAAAivC,IAAAtiD,GAAAqT,EAAAivC,IAAA7jD,GAAAuB,EAAAulB,MAAA9mB,QAAyCX,KAAAspI,SAAA9kF,IAAArjD,IAA0BkrK,SAAA,WAAqB,OAAArsK,KAAAwa,OAAkB23J,2BAAA,WAAuC,QAAAhxK,EAAAnB,KAAAwa,MAAA0wJ,cAAAx8E,WAA8CvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAA+hK,SAA4B/hK,EAAA2gK,cAAA7mK,EAAA6mK,eAAA3gK,EAAAw/J,aAAA,GAAA1lK,EAAA0lK,aAAA,MAAuEqF,cAAA,SAAA9rK,GAA2B,QAAAnB,KAAAyoK,UAAAtnK,EAAAnB,KAAA+oI,mBAAA/oI,KAAAyoK,UAAAtnK,EAAAnB,KAAA2uI,iBAAuFyjC,gBAAA,SAAAjxK,EAAAiH,EAAAlG,EAAAvB,GAAmC,IAAA4U,EAAA,IAAA2U,EAAY,OAAA3U,EAAA+/G,OAAAn0H,GAAAoU,EAAA+/G,OAAAltH,GAAAmN,EAAA+/G,OAAApzH,GAAAqT,EAAA4kG,UAAAs0B,GAAA4jC,kBAAA1xK,EAAAX,KAAAguI,IAAA,GAAAr5G,cAAA30B,KAAAguI,IAAA,GAAAr5G,cAAA30B,KAAA+3H,UAAA/3H,KAAA+3H,SAAAk9B,cAAA1/I,IAAgL04J,eAAA,WAA2B,QAAA9sK,EAAAnB,KAAAwa,MAAAixJ,WAAA/8E,WAA2CvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAq/J,WAAAwG,mBAA+BxF,UAAA,SAAAtnK,EAAAiH,GAAyB,QAAAlG,EAAAkG,EAAAsmF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAAvV,KAAA6oI,UAAA82B,OAAAx+J,EAAAR,GAA4C,GAAA4U,IAAA+mC,EAAAohF,SAAA,SAA2B,UAAS40C,sBAAA,WAAkC,QAAAnxK,EAAA,IAAA+oB,EAAA9hB,EAAApI,KAAAspI,SAAA56C,WAA2CtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAAwuK,gBAAAtoK,EAAAqwG,SAAAt3G,EAAAqjD,IAAAtiD,EAAAsuK,qBAA0DxwK,KAAAspI,SAAAhU,OAAAn0H,IAAwBoxK,oBAAA,WAAgC,QAAApxK,EAAAnB,KAAAwa,MAAAixJ,WAAA/8E,WAA2CvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAq/J,WAAA9qB,WAAyCv0I,EAAAu0I,WAAAl1H,MAAAvlB,KAAuBswK,kBAAA,SAAArxK,GAA+B,OAAAnB,KAAAyyK,eAAAtxK,GAAAnB,KAAA0uI,YAA8CgkC,kBAAA,SAAAvxK,GAA+B,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAkyK,iBAAAhwK,KAA0BuwK,eAAA,SAAAtxK,GAA4BnB,KAAA2yK,WAAA,GAAA3yK,KAAA2yK,WAAA,GAAA3yK,KAAAguI,IAAA,GAAAijC,iBAAAjxK,KAAAwlI,IAAA,GAAAxlI,KAAAguI,IAAA,GAAAijC,iBAAAjxK,KAAAwlI,IAAA,GAAAxlI,KAAAguI,IAAA,GAAAqjC,yBAAArxK,KAAAguI,IAAA,GAAAhuI,KAAAwlI,IAAA,GAAqL,IAAAp9H,EAAA,IAAA8hB,EAAYlqB,KAAAguI,IAAA,GAAAojC,kBAAAhpK,GAAApI,KAAAguI,IAAA,GAAAojC,kBAAAhpK,GAAkEpI,KAAA0yK,kBAAAtqK,GAAApI,KAAA4yK,0BAAA5yK,KAAAsyK,wBAC3q+BrsC,GAAAigC,WAAAlmK,KAAAspI,SAAAm+B,YAAAznK,KAAAwa,MAAAgxJ,SAAAxrK,KAAAspI,SAAAm+B,YAAAznK,KAAA2tK,mBAAA3tK,KAAA6yK,uBAAA7yK,KAAA8yK,oBAAA3xK,GAAAnB,KAAAmyK,6BAAwM,IAAAjwK,EAAA,IAAAwmI,GAAA1oI,KAAA+3H,UAA4B71H,EAAAsiD,IAAAxkD,KAAAwa,OAAAxa,KAAA2uI,eAAAzsI,EAAAiqK,cAAsD,IAAAxrK,EAAA,IAAAgoI,GAAA3oI,UAAA+3H,SAAA/3H,KAAA6oI,WAAgD7oI,KAAA+oI,eAAApoI,EAAA4gK,MAAApgK,GAA+B,IAAAoU,EAAA,IAAAyzH,GAAAhpI,UAAA+3H,SAAA/3H,KAAA6oI,WAAgD7oI,KAAAipI,gBAAA1zH,EAAAgsJ,MAAApgK,GAAAnB,KAAA0uI,WAAA1uI,KAAAoyK,gBAAApyK,KAAAipI,gBAAAjpI,KAAA+oI,eAAA/oI,KAAA2uI,eAAAxtI,IAAqI4xK,oBAAA,SAAA5xK,EAAAiH,GAAmC,IAAAlG,EAAAlC,KAAA6oI,UAAA82B,OAAAx+J,EAAAiiI,gBAAApjI,KAAAguI,IAAA5lI,GAAAusB,eAAyExzB,EAAAw7I,WAAA/V,YAAAx+H,EAAAlG,IAA8BywK,WAAA,SAAAxxK,GAAwB,QAAAiH,EAAApI,KAAAguI,IAAA7sI,GAAAypK,kBAAwCxiK,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAX,KAAAwa,MAAA6uJ,QAAAnnK,EAAAkhI,iBAAuDziI,EAAAgoK,SAAAxnK,EAAAe,EAAAy6I,WAAAmc,YAAA33J,MAA2C2xK,oBAAA,SAAA3xK,GAAiC,QAAAiH,EAAApI,KAAAwa,MAAA0wJ,cAAAx8E,WAA8CtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAA8Bh8I,EAAA8lK,WAAAvkK,EAAA6nK,sBAAAt7B,GAAAm+B,aAAAjsK,EAAAm4J,YAAA,EAAAzyB,GAAAG,OAAA7lI,EAAAm4J,YAAA,EAAAzyB,GAAAG,OAAArlI,IAAAe,EAAA0lK,aAAA,KAAgIgL,wBAAA,WAAoC,QAAAzxK,EAAAnB,KAAAspI,SAAA56C,WAAmCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAu0I,WAAAh8I,EAAAyH,EAAAyhK,WAA6C,IAAAlpK,EAAAioJ,SAAA,CAAgBjoJ,EAAA0sC,YAAc,QAAA93B,EAAA,EAAYA,EAAA,EAAIA,IAAArT,EAAA0mJ,OAAArzI,KAAArT,EAAAukK,UAAA9lK,EAAAioJ,OAAArzI,KAAA,IAAA5U,EAAA2vK,SAAA/6J,GAAArT,EAAA4kK,OAAAvxJ,IAAAf,EAAAiuH,QAAA9hI,EAAAioJ,OAAArzI,EAAA8wH,GAAAE,MAAA,+CAAArkI,EAAA0kI,YAAArxH,EAAA8wH,GAAAE,KAAA5lI,EAAAm4J,YAAAvjJ,EAAA8wH,GAAAE,OAAA/xH,EAAAiuH,QAAA9hI,EAAAioJ,OAAArzI,EAAA8wH,GAAAG,OAAA,gDAAAtkI,EAAA0kI,YAAArxH,EAAA8wH,GAAAG,MAAA7lI,EAAAm4J,YAAAvjJ,EAAA8wH,GAAAG,aAAiVmnC,iBAAA,WAA6B,QAAAxsK,EAAAnB,KAAAwa,MAAAixJ,WAAA/8E,WAA2CvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAq/J,WAAAkG,iBAAA3tK,KAAAguI,KAAwChuI,KAAAiuK,iBAAAjuK,KAAAuyK,uBAAiDM,qBAAA,WAAiC,QAAAzqK,EAAApI,KAAAwa,MAAAixJ,WAAA/8E,WAA+CtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAA8Bz6I,EAAA8kK,eAAA7lK,EAAAR,EAAAioJ,OAAA,GAAA5oJ,KAAA+yK,oBAAA7wK,EAAA,GAAAlC,KAAA+yK,oBAAA7wK,EAAA,IAAAA,EAAAulK,WAAAsG,gBAAAptK,KAA+HksK,aAAA,SAAA1rK,GAA0B,QAAAnB,KAAAyoK,UAAAtnK,EAAAnB,KAAA2uI,iBAA8C9Y,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1Y,MAAWA,GAAAukC,UAAA,SAAA7xK,EAAAiH,EAAAlG,GAA+B,IAAAvB,EAAA,IAAA8tI,GAAAttI,EAAAiH,GAAAmN,EAAA5U,EAAA6xK,kBAAAtwK,GAA2C,OAAAqT,GAASk5H,GAAAv0B,aAAA,SAAA/4G,EAAAiH,GAA+B,GAAAjH,EAAAg5G,WAAA/xG,EAAA+xG,UAAA,OAAAs0B,GAAA4jC,kBAAA5jC,GAAAs+B,aAAA5rK,EAAAiH,EAAAjH,EAAAg3H,cAA4F,GAAAh3H,EAAAgR,uBAAA,CAA6B,IAAAjQ,EAAAkG,EAAQ,OAAA+9H,GAAAh9H,IAAAhI,EAAA,CAAiB00H,YAAA,WAAuB,OAAAo9C,QAAc9pK,IAAA,SAAAhI,GAAiB,OAAAA,EAAA+4G,aAAAh4G,MAA4B,OAAAf,EAAAqsJ,2BAAArsJ,KAAAqsJ,2BAAAplJ,GAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAAs+B,eAAyGt+B,GAAAykC,cAAA,SAAA/xK,EAAAiH,GAAgC,GAAAjH,EAAAg5G,WAAA/xG,EAAA+xG,UAAA,CAA6B,GAAAh5G,EAAAg5G,WAAA/xG,EAAA+xG,UAAA,OAAAs0B,GAAA4jC,kBAAA5jC,GAAA0kC,cAAAhyK,EAAAiH,EAAAjH,EAAAg3H,cAA6F,GAAAh3H,EAAAg5G,UAAA,OAAA/xG,EAAA6/G,OAA+B,GAAA7/G,EAAA+xG,UAAA,OAAAh5G,EAAA8mH,OAA+B,OAAA9mH,EAAAqsJ,2BAAArsJ,KAAAqsJ,2BAAAplJ,GAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA0kC,gBAA0G1kC,GAAA2kC,gBAAA,SAAAjyK,EAAAiH,EAAAlG,GAAoC,IAAAvB,EAAAyH,EAAA4xH,eAAAzkH,EAAArT,EAAA83H,eAAAx8F,GAAA,EAA+C,OAAAr8B,GAAU,KAAAstI,GAAAs+B,aAAAvvI,EAAAz5B,KAAAyiC,IAAA7lC,EAAA4U,GAAqC,MAAM,KAAAk5H,GAAA4kC,MAAA71I,EAAAz5B,KAAA0K,IAAA9N,EAAA4U,GAA8B,MAAM,KAAAk5H,GAAA6kC,WAAA91I,EAAA78B,EAAuB,MAAM,KAAA8tI,GAAA0kC,cAAA31I,EAAAz5B,KAAA0K,IAAA9N,EAAA4U,GAAsC,OAAAioB,GAASixG,GAAA4jC,kBAAA,SAAAlxK,EAAAiH,EAAAlG,EAAAvB,GAAwC,IAAA4U,EAAA,KAAW,OAAAk5H,GAAA2kC,gBAAAjyK,EAAAiH,EAAAlG,IAAkC,OAAAqT,EAAA5U,EAAA2wJ,yBAAA,IAAAzvJ,MAAA,GAAA+hC,KAAA,OAA6D,MAAM,OAAAruB,EAAA5U,EAAAkxJ,cAAyB,MAAM,OAAAt8I,EAAA5U,EAAAwyJ,mBAA8B,MAAM,OAAA59I,EAAA5U,EAAAqzJ,gBAA2B,OAAAz+I,GAASk5H,GAAA8kC,WAAA,SAAApyK,EAAAiH,GAA6B,OAAAjH,EAAAg5G,UAAAs0B,GAAA4jC,kBAAA5jC,GAAA6kC,WAAAnyK,EAAAiH,EAAAjH,EAAAg3H,cAAA/vH,EAAA+xG,UAAAh5G,EAAA8mH,QAAA9mH,EAAAqsJ,2BAAArsJ,KAAAqsJ,2BAAAplJ,GAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA6kC,cAAiM7kC,GAAAm+B,aAAA,WAA4B,OAAAh9H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAAf,EAAA23J,YAAA,GAAAn4J,EAAAQ,EAAA23J,YAAA,GAAwE,OAAArqB,GAAAm+B,aAAA1qK,EAAAvB,EAAAyH,GAA8B,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD,OAAAr6B,IAAA+mC,EAAAmhF,WAAAloH,EAAA+mC,EAAAkhF,UAAAhgG,IAAA8e,EAAAmhF,WAAAjgG,EAAA8e,EAAAkhF,UAAA17H,GAAwE,KAAA2sI,GAAAs+B,aAAA,OAAAx3J,IAAA+mC,EAAAkhF,UAAAhgG,IAAA8e,EAAAkhF,SAA2D,KAAAiR,GAAA4kC,MAAA,OAAA99J,IAAA+mC,EAAAkhF,UAAAhgG,IAAA8e,EAAAkhF,SAAoD,KAAAiR,GAAA6kC,WAAA,OAAA/9J,IAAA+mC,EAAAkhF,UAAAhgG,IAAA8e,EAAAkhF,SAAyD,KAAAiR,GAAA0kC,cAAA,OAAA59J,IAAA+mC,EAAAkhF,UAAAhgG,IAAA8e,EAAAkhF,UAAAjoH,IAAA+mC,EAAAkhF,UAAAhgG,IAAA8e,EAAAkhF,SAA4F,WAAUiR,GAAAs+B,aAAA,EAAAt+B,GAAA4kC,MAAA,EAAA5kC,GAAA6kC,WAAA,EAAA7kC,GAAA0kC,cAAA,EAAA/qK,EAAAwmI,GAAA3tI,UAAA,CAAiFuyK,SAAA,SAAAryK,GAAqB,IAAAiH,EAAA,IAAAo3H,GAAAr+H,GAAAe,EAAAkG,EAAA21J,OAAA58J,EAAAnB,KAAAk/H,eAAiD,OAAAh9H,GAASi9J,iBAAA,SAAAh+J,GAA8BnB,KAAA6uI,IAAA,IAAA3O,GAAAlgI,KAAA6uI,IAAArqF,IAAArjD,EAAA,IAAAnB,KAAA6uI,IAAArqF,IAAArjD,EAAA,IAAsD,IAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAA8B,OAAAx7B,EAAA,GAAApI,KAAA6uI,IAAAswB,iBAAAh+J,EAAA,GAAA8mH,QAAA7/G,EAAA,GAAApI,KAAA6uI,IAAAswB,iBAAAh+J,EAAA,GAAA8mH,QAAA7/G,GAAiGqrK,cAAA,SAAAtyK,GAA2B,OAAAnB,KAAA6uI,IAAAqwB,cAAA/9J,MAAmCqxK,kBAAA,SAAArxK,GAA+B,IAAAiH,EAAApI,KAAAs+J,KAAAt+J,KAAA8G,MAAA5E,EAAAusI,GAAAukC,UAAA5qK,EAAA,GAAAA,EAAA,GAAAjH,GAAuD,OAAAnB,KAAAyzK,cAAAvxK,IAA6BgkK,WAAA,SAAA/kK,GAAwBA,EAAAmjE,WAAAn8B,EAAAm7B,IAAAk1F,QAAA,gCAA0D1pB,qBAAA,WAAiC9uI,KAAAk/H,cAAAM,GAAA++B,4BAAAv+J,KAAA8G,KAAA,GAAA9G,KAAA8G,KAAA,KAA6Ew3J,KAAA,SAAAn9J,GAAkB,IAAAiH,EAAApI,KAAAm/J,iBAAAh+J,GAAAe,EAAAs9H,GAAA8+B,KAAAl2J,EAAA,GAAAA,EAAA,GAAApI,KAAAk/H,eAAuE,OAAAh9H,GAAS2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvY,MAAWA,GAAAokC,UAAA,SAAA7xK,EAAAiH,EAAAlG,GAA+B,IAAAvB,EAAA,IAAAiuI,GAAAztI,EAAAiH,GAAkB,OAAAzH,EAAA6xK,kBAAAtwK,IAA8B0sI,GAAA/uE,MAAA,SAAA1+D,EAAAiH,GAAwB,OAAAwmI,GAAAokC,UAAA7xK,EAAAiH,EAAAqmI,GAAA4kC,QAAkCzkC,GAAA10B,aAAA,SAAA/4G,EAAAiH,GAA+B,OAAAwmI,GAAAokC,UAAA7xK,EAAAiH,EAAAqmI,GAAAs+B,eAAyCn+B,GAAAskC,cAAA,SAAA/xK,EAAAiH,GAAgC,OAAAwmI,GAAAokC,UAAA7xK,EAAAiH,EAAAqmI,GAAA0kC,gBAA0CvkC,GAAA2kC,WAAA,SAAApyK,EAAAiH,GAA6B,OAAAwmI,GAAAokC,UAAA7xK,EAAAiH,EAAAqmI,GAAA6kC,aAAuClrK,EAAA+8H,GAAAlkI,UAAA,CAAiBuxK,kBAAA,SAAArxK,GAA8B,IAAAiH,EAAA,KAAAlG,GAAA,EAAAvB,EAAA,KAAuB,IAAIyH,EAAAqmI,GAAAukC,UAAAhzK,KAAA8G,KAAA,GAAA9G,KAAA8G,KAAA,GAAA3F,GAA4C,IAAAoU,GAAA,EAASA,IAAArT,GAAA,GAAU,MAAAf,GAAS,KAAAA,aAAA4Q,GAAA,MAAA5Q,EAA6BR,EAAAQ,EAAa,IAAAe,EAAA,IAAUkG,EAAAwmI,GAAAokC,UAAAhzK,KAAA8G,KAAA,GAAA9G,KAAA8G,KAAA,GAAA3F,GAA4C,MAAAA,GAAS,MAAAA,aAAA4Q,EAAApR,EAAAQ,EAAkC,OAAAiH,GAASytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhiB,MAAWA,GAAA6tC,UAAA,SAAA7xK,EAAAiH,EAAAlG,GAA+B,IAAAvB,EAAA,IAAAwkI,GAAAhkI,EAAAiH,GAAkB,OAAAzH,EAAA6xK,kBAAAtwK,IAA8BijI,GAAAtlE,MAAA,SAAA1+D,EAAAiH,GAAwB,OAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA4kC,QAAkCluC,GAAAjrB,aAAA,SAAA/4G,EAAAiH,GAA+B,OAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAAs+B,eAAyC5nC,GAAA+tC,cAAA,SAAA/xK,EAAAiH,GAAgC,OAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA0kC,gBAA0ChuC,GAAAouC,WAAA,SAAApyK,EAAAiH,GAA6B,OAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA6kC,aAAuClrK,EAAA2mI,GAAA9tI,UAAA,CAAiBuwK,WAAA,SAAArwK,GAAuB,GAAAA,EAAAg5G,UAAA,YAA2B,IAAA/xG,EAAA,KAAAlG,EAAA,EAAAvB,EAAAX,KAAA0zK,mBAAAvyK,GAA4C,OAAAR,EAAAuiJ,YAAAhhJ,EAAA,EAAAkG,EAAAzH,EAAAyiI,oBAA6C,CAAK,IAAA7tH,EAAA4vH,GAAA6tC,UAAAryK,EAAAQ,EAAAstI,GAAAs+B,cAAAvvI,EAAAx9B,KAAA2zK,eAAAp+J,GAAiErT,EAAAs7B,EAAA6xG,sBAAAqZ,WAAAtgJ,EAAA2mI,GAAAuB,OAAA9yG,EAAA6xG,wBAA0E,OAAArvI,KAAAgvI,eAAA9sI,EAAAlC,KAAAgL,YAAAhL,KAAAgvI,cAAA5mI,EAAApI,KAAAgL,SAAA9I,IAAqF0xK,iBAAA,WAA6B,OAAA5zK,KAAAgvI,eAA0B2kC,eAAA,WAA6B,GAAA/jI,UAAA,aAAA+nF,GAAA,CAA8B,IAAAvvH,EAAAwnC,UAAA,GAAmB,GAAAxnC,EAAA+xG,UAAA,OAAA/xG,EAAwB,QAAAjH,EAAAiH,EAAAwkJ,aAAA,GAAA1qJ,EAAA,EAAgCA,EAAAkG,EAAAy4H,mBAAuB3+H,IAAAkG,EAAAwkJ,aAAA1qJ,GAAAmtI,sBAAAqZ,WAAAvnJ,EAAAkuI,sBAAAqZ,aAAAvnJ,EAAAiH,EAAAwkJ,aAAA1qJ,IAAiH,OAAAf,EAAS,GAAAyuC,UAAA,aAAAxH,EAAA,CAA6B,IAAAznC,EAAAivC,UAAA,GAAmB,OAAAjvC,aAAAg3H,GAAA33H,KAAA2zK,eAAAhzK,OAAiD+yK,mBAAA,SAAAvyK,GAAgC,IAAAiH,EAAAjH,EAAAkuI,sBAAAntI,EAAA+C,GAAA4uK,aAAA1yK,GAAmD,OAAAnB,KAAA+5B,QAAAo5H,iBAAA,KAAArhJ,EAAA1J,EAAA4qI,UAAA9wI,GAAA,IAAA4P,EAAA1J,EAAA6qI,UAAA/wI,MAAkFsiD,IAAA,SAAArjD,GAAiB,GAAAA,aAAA63H,GAAAh5H,KAAAwxK,WAAArwK,QAAsC,GAAAA,aAAAw2H,GAAA,QAAAvvH,EAAAjH,EAAAe,EAAA,EAAwCA,EAAAkG,EAAAy4H,mBAAuB3+H,IAAAlC,KAAAwkD,IAAAp8C,EAAAwkJ,aAAA1qJ,KAAgC2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApY,MAAWA,GAAAuB,OAAA,SAAAnvI,GAAwB,WAAA2Q,EAAAi9H,GAAAS,IAAAruI,EAAA6xI,UAAA7xI,EAAA8xI,WAAAlE,GAAAS,IAAAruI,EAAAouI,UAAApuI,EAAAmuI,aAA8EP,GAAAS,IAAA,SAAAruI,EAAAiH,GAAsB,OAAAjH,EAAAiH,GAAA,GAAcA,EAAAnD,GAAAhE,UAAA,CAAiB6yK,eAAA,SAAA3yK,GAA2BA,GAAAnB,KAAAivI,QAAA9tI,EAAAnB,KAAAovI,MAAApvI,KAAAovI,IAAAjuI,KAAAnB,KAAAivI,SAAA9tI,EAAAnB,KAAAkvI,MAAAlvI,KAAAkvI,IAAA/tI,IAAkF0yK,aAAA,WAAyB7zK,KAAAkhD,QAAAlhD,KAAAoxD,KAAA0uF,mBAA0C,QAAA3+I,EAAA,EAAYA,EAAAnB,KAAAoxD,KAAAiiG,qBAAiClyJ,IAAAnB,KAAAkhD,QAAAlhD,KAAAoxD,KAAAmiG,iBAAApyJ,IAAgD,IAAAiH,EAAA2mI,GAAAS,IAAAxvI,KAAAkvI,IAAAlvI,KAAAovI,KAAgC,OAAAhnI,GAAS84C,QAAA,SAAA//C,GAAqB,QAAAiH,EAAAjH,EAAA4+I,wBAAA79I,EAAA,EAAwCA,EAAAkG,EAAA+M,OAAWjT,IAAA,CAAK,IAAAvB,EAAAyH,EAAAkkJ,KAAApqJ,GAAgBlC,KAAA8zK,eAAAnzK,KAAwBk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAliJ,MAAWA,GAAA4uK,aAAA,SAAA1yK,GAA8B,IAAAiH,EAAA,IAAAnD,GAAA9D,GAAgB,OAAAiH,EAAAyrK,gBAAwB9kC,GAAAglC,mBAAA9uK,GAAAmD,EAAAovB,GAAAv2B,UAAA,CAA0C2uI,aAAA,WAAwB,GAAAhgG,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmB,GAAAzuC,aAAAy3H,GAAA54H,KAAA4vI,aAAAzuI,EAAAyzB,uBAAyD,GAAAzzB,aAAAw2H,GAAA,QAAAvvH,EAAAjH,EAAAe,EAAA,EAAwCA,EAAAkG,EAAAy4H,mBAAuB3+H,IAAAlC,KAAA4vI,aAAAxnI,EAAAwkJ,aAAA1qJ,SAAyC,GAAA0tC,UAAA,aAAA/tC,MAAA,CAAsC,IAAAlB,EAAAivC,UAAA,GAAmB5vC,KAAAwkD,IAAA7jD,EAAA,IAAAX,KAAAwkD,IAAA7jD,IAAAwB,OAAA,MAAwCyxK,iBAAA,WAA6B,OAAA5zK,KAAAgvI,eAA0BW,YAAA,WAAwB,GAAA//F,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmB,GAAAzuC,aAAAy3H,GAAA54H,KAAA2vI,YAAAxuI,EAAAyzB,uBAAwD,GAAAzzB,aAAAw2H,GAAA,QAAAvvH,EAAAjH,EAAAe,EAAA,EAAwCA,EAAAkG,EAAAy4H,mBAAuB3+H,IAAAlC,KAAA2vI,YAAAvnI,EAAAwkJ,aAAA1qJ,SAAwC,GAAA0tC,UAAA,aAAA/tC,MAAA,KAAAlB,EAAAivC,UAAA,OAAA1tC,EAAA,EAAgEA,EAAAvB,EAAAwB,OAAA,EAAaD,IAAAlC,KAAAwkD,IAAA7jD,EAAAuB,MAAmBsiD,IAAA,SAAArjD,GAAiB,IAAAiH,EAAAjH,EAAAuS,SAAA1T,KAAAyT,UAAgCrL,EAAApI,KAAAyvI,cAAAzvI,KAAAgvI,cAAA,IAAAl9H,EAAA3Q,GAAAnB,KAAAyvI,YAAArnI,IAAqEytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3vH,MAAWpvB,EAAAo9H,GAAAvkI,UAAA,CAAkB2yK,iBAAA,WAA4B,OAAA5zK,KAAAgvI,eAA0BxqF,IAAA,WAAgB,GAAA5U,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmB,GAAAzuC,aAAA23H,GAAA94H,KAAAwkD,IAAArjD,EAAAiiI,sBAA+C,GAAAjiI,aAAAw2H,GAAA,QAAAvvH,EAAAjH,EAAAe,EAAA,EAAwCA,EAAAkG,EAAAy4H,mBAAuB3+H,IAAAlC,KAAAwkD,IAAAp8C,EAAAwkJ,aAAA1qJ,SAAgC,GAAA0tC,UAAA,aAAA99B,EAAA,CAAkC,IAAAnR,EAAAivC,UAAA,GAAAr6B,EAAA5U,EAAA+S,SAAA1T,KAAAyT,UAA+C8B,EAAAvV,KAAAyvI,cAAAzvI,KAAAgvI,cAAA,IAAAl9H,EAAAnR,GAAAX,KAAAyvI,YAAAl6H,KAAsEsgH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3hB,MAAWp9H,EAAAqiC,GAAAxpC,UAAA,CAAkB+pF,OAAA,WAAkB,OAAAp7C,UAAAztC,OAAyBytC,UAAA,QAAa,OAAAA,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkCzuC,EAAA2iK,eAAA17J,EAAApI,KAAA6vI,iBAAA7vI,KAAAgrF,OAAAhrF,KAAA6vI,mBAA4Eha,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA18G,MAAWriC,EAAAG,GAAAtH,UAAA,CAAkB+yK,YAAA,WAAuB,QAAA7yK,EAAA,EAAYA,EAAA,EAAIA,IAAA,UAAAnB,KAAA8vI,QAAA3uI,GAAA,SAAuC,UAAS8yK,WAAA,WAAuB,QAAAj0K,KAAAg0K,eAAAh0K,KAAAk0K,aAA6CC,YAAA,SAAAhzK,GAAyBA,EAAAm0H,OAAAt1H,KAAAqjE,OAAqB,QAAAj7D,EAAA,EAAYA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,IAAApI,KAAA8vI,QAAA1nI,GAAA+rK,YAAAhzK,GAA2D,OAAAA,GAASgU,KAAA,WAAiB,QAAAhU,EAAA,EAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,KAAAjH,GAAAnB,KAAA8vI,QAAA1nI,GAAA+M,QAAwD,OAAAhU,EAAAnB,KAAAqjE,MAAAluD,QAA2Bi/J,2BAAA,SAAAjzK,EAAAiH,GAA0C,cAAAjH,GAAAnB,KAAAq0K,cAAAlzK,IAAAiH,EAAAktH,OAAAt1H,KAAAqjE,OAAA,OAAArjE,KAAA8vI,QAAA,IAAA9vI,KAAA8vI,QAAA,GAAAskC,2BAAAjzK,EAAAiH,QAAA,OAAApI,KAAA8vI,QAAA,IAAA9vI,KAAA8vI,QAAA,GAAAskC,2BAAAjzK,EAAAiH,KAAA,MAAyN8rK,SAAA,WAAqB,OAAAl0K,KAAAqjE,MAAA82C,WAA4B1B,OAAA,SAAAt3G,EAAAiH,GAAsB,IAAApI,KAAAq0K,cAAAlzK,GAAA,SAAmC,QAAAe,GAAA,EAAAvB,EAAA,EAAiBA,EAAA,EAAIA,IAAA,UAAAX,KAAA8vI,QAAAnvI,KAAAuB,EAAAlC,KAAA8vI,QAAAnvI,GAAA83G,OAAAt3G,EAAAiH,IAAA,CAAgEpI,KAAA8vI,QAAAnvI,GAAAszK,eAAAj0K,KAAA8vI,QAAAnvI,GAAA,MAAqD,MAAM,OAAAuB,MAAAlC,KAAAqjE,MAAAo1C,OAAArwG,KAAkC4nK,SAAA,WAAqB,OAAAhwK,KAAAqjE,OAAkB+kE,MAAA,WAAkB,QAAAjnI,EAAA,EAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,UAAApI,KAAA8vI,QAAA1nI,GAAA,CAA+B,IAAAlG,EAAAlC,KAAA8vI,QAAA1nI,GAAAggI,QAA8BlmI,EAAAf,MAAAe,GAAW,OAAAf,EAAA,GAAWmzK,SAAA,WAAqB,QAAAnzK,EAAA,EAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,KAAAjH,GAAAnB,KAAA8vI,QAAA1nI,GAAAksK,YAA4D,OAAAnzK,EAAA,GAAWqjD,IAAA,SAAArjD,GAAiBnB,KAAAqjE,MAAA7e,IAAArjD,IAAkB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5+I,MAAWA,GAAAgsK,gBAAA,SAAApzK,EAAAiH,GAAmC,IAAAlG,GAAA,EAAS,OAAAf,EAAAqlC,KAAAp+B,IAAAlG,EAAA,GAAAf,EAAAsN,KAAArG,IAAAlG,EAAA,GAAAA,GAAyCkG,EAAA2nI,GAAA9uI,UAAA,CAAiB6nJ,gBAAA,SAAA3nJ,GAA4BA,EAAAsN,IAAAzO,KAAAyO,MAAAzO,KAAAyO,IAAAtN,EAAAsN,KAAAtN,EAAAqlC,IAAAxmC,KAAAwmC,MAAAxmC,KAAAwmC,IAAArlC,EAAAqlC,MAAkEkiH,SAAA,WAAqB,OAAA1oJ,KAAAyO,IAAAzO,KAAAwmC,KAAyBguI,SAAA,WAAqB,OAAA5kI,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAw0K,SAAArzK,EAAAqlC,IAAArlC,EAAAsN,KAAkC,OAAAmhC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,QAAA5vC,KAAAwmC,IAAAtkC,GAAAlC,KAAAyO,IAAArG,KAAiCmoI,OAAA,WAAmB,OAAAvwI,KAAAwmC,KAAgBpZ,SAAA,WAAqB,UAAAptB,KAAAwmC,IAAA,KAAAxmC,KAAAyO,IAAA,KAAqCy6I,SAAA,WAAqB,OAAAt5G,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAAmgG,GAAA,CAA8B,IAAA5uI,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAkpJ,SAAA/nJ,EAAAqlC,IAAArlC,EAAAsN,KAAkC,oBAAAmhC,UAAA,IAAkC,IAAAxnC,EAAAwnC,UAAA,GAAmB,OAAAxnC,GAAApI,KAAAwmC,KAAAp+B,GAAApI,KAAAyO,UAAiC,OAAAmhC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC,OAAA1tC,GAAAlC,KAAAwmC,KAAA7lC,GAAAX,KAAAyO,MAAiC8/C,KAAA,SAAAptD,EAAAiH,GAAoBpI,KAAAwmC,IAAArlC,EAAAnB,KAAAyO,IAAArG,EAAAjH,EAAAiH,IAAApI,KAAAwmC,IAAAp+B,EAAApI,KAAAyO,IAAAtN,IAAmDqvI,OAAA,WAAmB,OAAAxwI,KAAAyO,KAAgBonH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApX,MAAWC,GAAAykC,SAAA,SAAAtzK,GAA0B,OAAA8uI,GAAA,GAAA9uI,GAAA,MAAqB6uI,GAAA0kC,SAAA,SAAAvzK,GAAyB,OAAA4C,KAAAulB,IAAA,EAAAnoB,IAAqBiH,EAAAoiD,GAAAvpD,UAAA,CAAiB0zK,YAAA,WAAuB,OAAA30K,KAAA6kE,UAAqB27F,SAAA,WAAqB,OAAAxgK,KAAA8hI,OAAkBsO,WAAA,SAAAjvI,GAAwB,IAAAnB,KAAA8hI,MAAAt3E,GAAAoqH,aAAAzzK,GAAAnB,KAAA6kE,SAAA,IAAAkrE,GAAA/vI,KAAA60K,gBAAA70K,KAAA8hI,MAAA3gI,IAA0FnB,KAAA6kE,SAAAqkF,SAAA/nJ,IAA2BnB,KAAA8hI,OAAA,EAAA9hI,KAAA60K,gBAAA70K,KAAA8hI,MAAA3gI,IAAkD0zK,gBAAA,SAAA1zK,EAAAiH,GAA+B,IAAAlG,EAAA8tI,GAAA0kC,SAAAvzK,GAAqBnB,KAAAmW,GAAApS,KAAAuS,MAAAlO,EAAAmoI,SAAAruI,KAAAlC,KAAA6kE,SAAAtW,KAAAvuD,KAAAmW,GAAAnW,KAAAmW,GAAAjU,IAAyE4yK,SAAA,WAAqB,OAAA90K,KAAAmW,IAAe0/G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA38F,MAAWA,GAAAoqH,aAAA,SAAAzzK,GAA8B,IAAAiH,EAAAjH,EAAAunJ,WAAAxmJ,EAAA8tI,GAAAykC,SAAArsK,GAAA,EAAsC,OAAAlG,GAASw7B,EAAA2yG,GAAA9nI,IAAAH,EAAAioI,GAAApvI,UAAA,CAA0B0zK,YAAA,WAAuB,OAAA30K,KAAA6kE,UAAqBh2B,KAAA,SAAA1tC,GAAkB,IAAAiH,EAAAG,GAAAgsK,gBAAApzK,EAAAnB,KAAAswI,QAAwC,QAAAloI,EAAA,OAAApI,KAAsB,UAAAA,KAAA8vI,QAAA1nI,GAAA,CAA2B,IAAAlG,EAAAlC,KAAA8vI,QAAA1nI,GAAsB,OAAAlG,EAAA2sC,KAAA1tC,GAAiB,OAAAnB,MAAYmD,OAAA,SAAAhC,GAAoBqT,EAAAiuH,OAAA,OAAAziI,KAAA6kE,UAAA7kE,KAAA6kE,SAAAqkF,SAAA/nJ,EAAA0jE,WAAmE,IAAAz8D,EAAAG,GAAAgsK,gBAAApzK,EAAA0jE,SAAA7kE,KAAAswI,QAAiD,GAAAnvI,EAAA2gI,QAAA9hI,KAAA8hI,MAAA,EAAA9hI,KAAA8vI,QAAA1nI,GAAAjH,MAA4C,CAAK,IAAAe,EAAAlC,KAAA+0K,cAAA3sK,GAA4BlG,EAAAiB,OAAAhC,GAAAnB,KAAA8vI,QAAA1nI,GAAAlG,IAA+BmyK,cAAA,SAAAlzK,GAA2B,OAAAA,EAAAqzK,SAAAx0K,KAAA6kE,WAAiCmwG,WAAA,SAAA7zK,GAAwB,cAAAnB,KAAA8vI,QAAA3uI,KAAAnB,KAAA8vI,QAAA3uI,GAAAnB,KAAA+0K,cAAA5zK,IAAAnB,KAAA8vI,QAAA3uI,IAAuFwZ,QAAA,SAAAxZ,GAAqB,IAAAiH,EAAAG,GAAAgsK,gBAAApzK,EAAAnB,KAAAswI,QAAwC,QAAAloI,EAAA,CAAW,IAAAlG,EAAAlC,KAAAg1K,WAAA5sK,GAAyB,OAAAlG,EAAAyY,QAAAxZ,GAAoB,OAAAnB,MAAY+0K,cAAA,SAAA5zK,GAA2B,IAAAiH,EAAA,EAAAlG,EAAA,EAAY,OAAAf,GAAU,OAAAiH,EAAApI,KAAA6kE,SAAA0rE,SAAAruI,EAAAlC,KAAAswI,OAA8C,MAAM,OAAAloI,EAAApI,KAAAswI,OAAApuI,EAAAlC,KAAA6kE,SAAA2rE,SAA8C,IAAA7vI,EAAA,IAAAovI,GAAA3nI,EAAAlG,GAAAqT,EAAA,IAAA86H,GAAA1vI,EAAAX,KAAA8hI,MAAA,GAA2C,OAAAvsH,GAASsgH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9W,MAAWA,GAAAsxB,WAAA,SAAAxgK,GAA4B,IAAAiH,EAAA,IAAAoiD,GAAArpD,GAAAe,EAAA,IAAAmuI,GAAAjoI,EAAAusK,cAAAvsK,EAAAo4J,YAAuD,OAAAt+J,GAASmuI,GAAA4kC,eAAA,SAAA9zK,EAAAiH,GAAiC,IAAAlG,EAAA,IAAA6tI,GAAA3nI,GAAgB,OAAAjH,GAAAe,EAAA4mJ,gBAAA3nJ,EAAA0jE,UAAwC,IAAAlkE,EAAA0vI,GAAAsxB,WAAAz/J,GAAuB,cAAAf,GAAAR,EAAAwC,OAAAhC,GAAAR,GAA+ByH,EAAAqoI,GAAAxvI,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA1W,MAAaA,GAAAykC,YAAA,SAAA/zK,EAAAiH,GAA6B,IAAAlG,EAAAkG,EAAAjH,EAAU,OAAAe,EAAA,SAAkB,IAAAvB,EAAAoD,KAAA0K,IAAA1K,KAAA6hB,IAAAzkB,GAAA4C,KAAA6hB,IAAAxd,IAAAmN,EAAArT,EAAAvB,EAAA68B,EAAAwyG,GAAAykC,SAAAl/J,GAA+D,OAAAioB,GAAAizG,GAAA0kC,qBAAkC1kC,GAAA0kC,qBAAA,GAAAz3I,EAAAq8E,GAAAxxG,IAAAH,EAAA2xG,GAAA94G,UAAA,CAAoDkC,OAAA,SAAAhC,EAAAiH,GAAqB,IAAAlG,EAAAqG,GAAAgsK,gBAAApzK,EAAA44G,GAAAjwE,QAAsC,QAAA5nC,EAAA,OAAAlC,KAAAwkD,IAAAp8C,GAAA,KAAkC,IAAAzH,EAAAX,KAAA8vI,QAAA5tI,GAAsB,UAAAvB,MAAAg0K,cAAAzrB,SAAA/nJ,GAAA,CAA2C,IAAAoU,EAAA86H,GAAA4kC,eAAAt0K,EAAAQ,GAA6BnB,KAAA8vI,QAAA5tI,GAAAqT,EAAkBvV,KAAAo1K,gBAAAp1K,KAAA8vI,QAAA5tI,GAAAf,EAAAiH,IAA0CisK,cAAA,SAAAlzK,GAA2B,UAASi0K,gBAAA,SAAAj0K,EAAAiH,EAAAlG,GAAiCsS,EAAAiuH,OAAAthI,EAAAwzK,cAAAzrB,SAAA9gJ,IAAsC,IAAAzH,EAAA8vI,GAAAykC,YAAA9sK,EAAAmoI,SAAAnoI,EAAAooI,UAAAj7H,EAAA,KAAmDA,EAAA5U,EAAAQ,EAAA0tC,KAAAzmC,GAAAjH,EAAAwZ,QAAAvS,GAAAmN,EAAAivC,IAAAtiD,IAAoC2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAptC,MAAWA,GAAAjwE,OAAA,EAAA1hC,EAAA0xG,GAAA74G,UAAA,CAA8BkU,KAAA,WAAgB,cAAAnV,KAAA85B,KAAA95B,KAAA85B,KAAA3kB,OAAA,GAA2ChS,OAAA,SAAAhC,EAAAiH,GAAsBpI,KAAAq1K,aAAAl0K,GAAqB,IAAAe,EAAA43G,GAAAw7D,aAAAn0K,EAAAnB,KAAA0wI,WAAwC1wI,KAAA85B,KAAA32B,OAAAjB,EAAAkG,IAAsBm4J,MAAA,WAAkB,OAAA3wH,UAAAztC,OAAA,CAAyB,oBAAAytC,UAAA,IAAkC,IAAAzuC,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAugK,MAAA,IAAAxwB,GAAA5uI,MAA+B,GAAAyuC,UAAA,aAAAmgG,GAAA,CAA8B,IAAA3nI,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAAgoB,EAA2B,OAAAlqB,KAAAugK,MAAAn4J,EAAAlG,WAA0B,OAAA0tC,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAkC5vC,KAAA85B,KAAAs6I,2BAAAzzK,EAAA4U,KAA2Cm5E,SAAA,WAAqB,IAAAvtF,EAAA,IAAA+oB,EAAY,OAAAlqB,KAAA85B,KAAAq6I,YAAAhzK,KAAAutF,YAA6C+pB,OAAA,SAAAt3G,EAAAiH,GAAsB,IAAAlG,EAAA43G,GAAAw7D,aAAAn0K,EAAAnB,KAAA0wI,WAAwC,OAAA1wI,KAAA85B,KAAA2+E,OAAAv2G,EAAAkG,IAA6BitK,aAAA,SAAAl0K,GAA0B,IAAAiH,EAAAjH,EAAAunJ,WAAmBtgJ,EAAApI,KAAA0wI,WAAAtoI,EAAA,IAAApI,KAAA0wI,UAAAtoI,IAA0CggI,MAAA,WAAkB,cAAApoI,KAAA85B,KAAA95B,KAAA85B,KAAAsuG,QAAA,GAA4CksC,SAAA,WAAqB,cAAAt0K,KAAA85B,KAAA95B,KAAA85B,KAAAw6I,WAAA,GAA+Cz+C,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArtC,MAAWA,GAAAw7D,aAAA,SAAAn0K,EAAAiH,GAAgC,IAAAlG,EAAAf,EAAAovI,SAAA5vI,EAAAQ,EAAAqvI,SAA8B,OAAAtuI,IAAAvB,EAAAQ,GAAAe,IAAAvB,IAAAuB,GAAAkG,EAAA,EAAAzH,EAAAuB,EAAAkG,EAAA,OAAA2nI,GAAA7tI,EAAAvB,KAAqDyH,EAAAuoI,GAAA1vI,UAAA,CAAiBusD,SAAA,SAAArsD,KAAsB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxW,MAAWvoI,EAAAwoI,GAAA3vI,UAAA,CAAkBs0K,gBAAA,SAAAp0K,EAAAiH,GAA8B,IAAAlG,EAAA,KAAAvB,EAAA,KAAA4U,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAAxB,EAAA8H,EAAAg1H,GAAAh8H,EAAAgH,EAAAiX,GAAqD1e,EAAAL,EAAA6O,EAAAhO,EAAAgO,EAAAoG,EAAAjV,EAAA8O,EAAAjO,EAAAiO,EAAAouB,EAAAp8B,EAAA+N,EAAAhO,EAAAgO,EAAArN,EAAAV,EAAAgO,EAAAjO,EAAAiO,GAAAmG,EAAA,GAAAzT,GAAA,GAAAA,EAAA,GAAAyT,GAAA,KAAArT,EAAA46H,GAAAovB,aAAAvrJ,EAAA4U,EAAAioB,EAAA17B,MAAAyT,GAAA,EAAArT,GAAAlC,KAAA6wI,cAAyHC,WAAA,WAAuB9wI,KAAAu6D,KAAA,IAAAu/C,GAAiB,QAAA34G,EAAAo1H,EAAAw4B,qBAAA/uJ,KAAAyX,KAAAmd,kBAAAxsB,EAAAq8H,GAAAsgC,UAAA5jK,GAAAe,EAAA,EAAmFA,EAAAkG,EAAA+M,OAAWjT,IAAA,CAAK,IAAAvB,EAAAyH,EAAAkQ,IAAApW,GAAAqT,EAAA5U,EAAA8pE,cAAiCzqE,KAAA6kE,SAAAr+B,IAAAjxB,EAAAg6H,UAAAvvI,KAAA6kE,SAAAp2D,IAAA8G,EAAA+5H,UAAAtvI,KAAAu6D,KAAAp3D,OAAAnD,KAAA6kE,SAAAlkE,KAA+F60K,kBAAA,SAAAr0K,EAAAiH,EAAAlG,GAAmCA,EAAA8oF,OAAA7pF,EAAAiH,IAAcolD,SAAA,SAAArsD,GAAsBnB,KAAA6wI,UAAA,EAAiB,IAAAzoI,EAAA,IAAAigC,EAAA9yB,EAAAi2H,kBAAAj2H,EAAAg2H,kBAAApqI,EAAAiO,EAAAjO,EAAAiO,GAA6DpP,KAAA6kE,SAAAr+B,IAAArlC,EAAAiO,EAAApP,KAAA6kE,SAAAp2D,IAAAtN,EAAAiO,EAA4C,QAAAlN,EAAAlC,KAAAu6D,KAAAgmG,MAAAvgK,KAAA6kE,UAAAlkE,EAAA,IAAAowI,GAAA/wI,KAAAmB,GAAAq8B,EAAAt7B,EAAAwsF,WAAyElxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAe7b,KAAAw1K,kBAAAptK,EAAAzH,EAAAmB,GAA8B,OAAA9B,KAAA6wI,UAAA,OAA4Bhb,YAAA,WAAwB,OAAA8a,KAAWwW,SAAA,WAAqB,OAAAvW,MAAWlzG,EAAAqzG,GAAAtmG,IAAAriC,EAAA2oI,GAAA9vI,UAAA,CAA2B+pF,OAAA,WAAkB,OAAAp7C,UAAAztC,OAAA,OAAAsoC,GAAAxpC,UAAA+pF,OAAAzoF,MAAAvC,KAAA4vC,WAAyE,IAAAzuC,EAAAyuC,UAAA,GAAmB5vC,KAAAgxI,IAAAukC,gBAAAv1K,KAAAk8B,EAAA/6B,IAAmC00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApW,MAAWH,GAAA6kC,WAAA1kC,GAAA3oI,EAAA6oI,GAAAhwI,UAAA,CAAmC40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAlW,MAAWA,GAAAzkH,UAAA,SAAArrB,GAA2B,WAAAA,EAAA4C,KAAAsvC,IAAqB49F,GAAA5jG,UAAA,SAAAlsC,GAA0B,KAAKA,EAAA4C,KAAAsvC,IAAUlyC,GAAA8vI,GAAAykC,WAAkB,KAAKv0K,IAAA4C,KAAAsvC,IAAYlyC,GAAA8vI,GAAAykC,WAAkB,OAAAv0K,GAAS8vI,GAAAhoE,MAAA,WAAqB,OAAAr5B,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA7rC,KAAAg4C,MAAA56C,EAAAiO,EAAAjO,EAAAgO,GAA2B,OAAAygC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAuB,EAAAiN,EAAA/G,EAAA+G,EAAAoG,EAAArT,EAAAkN,EAAAhH,EAAAgH,EAAsD,OAAArL,KAAAg4C,MAAAxmC,EAAA5U,KAAwBswI,GAAA0kC,QAAA,SAAAx0K,EAAAiH,EAAAlG,GAA4B,IAAAvB,EAAAQ,EAAAgO,EAAA/G,EAAA+G,EAAAoG,EAAApU,EAAAiO,EAAAhH,EAAAgH,EAAAouB,EAAAt7B,EAAAiN,EAAA/G,EAAA+G,EAAArN,EAAAI,EAAAkN,EAAAhH,EAAAgH,EAAA9O,EAAAK,EAAA68B,EAAAjoB,EAAAzT,EAAsD,OAAAxB,EAAA,GAAW2wI,GAAA2kC,SAAA,SAAAz0K,EAAAiH,EAAAlG,GAA6B,IAAAvB,EAAAQ,EAAAgO,EAAA/G,EAAA+G,EAAAoG,EAAApU,EAAAiO,EAAAhH,EAAAgH,EAAAouB,EAAAt7B,EAAAiN,EAAA/G,EAAA+G,EAAArN,EAAAI,EAAAkN,EAAAhH,EAAAgH,EAAA9O,EAAAK,EAAA68B,EAAAjoB,EAAAzT,EAAsD,OAAAxB,EAAA,GAAW2wI,GAAA4kC,cAAA,SAAA10K,EAAAiH,EAAAlG,GAAkC,IAAAvB,EAAAswI,GAAAhoE,MAAA7gE,EAAAjH,GAAAoU,EAAA07H,GAAAhoE,MAAA7gE,EAAAlG,GAAoC,OAAA6B,KAAA6hB,IAAArQ,EAAA5U,IAAqBswI,GAAA6kC,kBAAA,SAAA30K,GAAkC,GAAAA,EAAA,GAAQ,KAAKA,EAAA,GAAIA,GAAA8vI,GAAAykC,WAAkBv0K,GAAA8vI,GAAAykC,aAAAv0K,EAAA,OAAwB,CAAK,KAAKA,GAAA8vI,GAAAykC,YAAiBv0K,GAAA8vI,GAAAykC,WAAkBv0K,EAAA,IAAAA,EAAA,GAAW,OAAAA,GAAS8vI,GAAA8kC,aAAA,SAAA50K,EAAAiH,EAAAlG,GAAiC,IAAAvB,EAAAswI,GAAAhoE,MAAA7gE,EAAAjH,GAAAoU,EAAA07H,GAAAhoE,MAAA7gE,EAAAlG,GAAoC,OAAA+uI,GAAAhvF,KAAAthD,EAAA4U,IAAoB07H,GAAAhvF,KAAA,SAAA9gD,EAAAiH,GAAuB,IAAAlG,EAAA,KAAW,OAAAA,EAAAf,EAAAiH,IAAAjH,IAAAiH,EAAAlG,EAAA6B,KAAAsvC,KAAAnxC,EAAA,EAAA6B,KAAAsvC,GAAAnxC,MAAkD+uI,GAAA5oH,UAAA,SAAAlnB,GAA0B,OAAAA,EAAA4C,KAAAsvC,GAAA,KAAqB49F,GAAA+kC,QAAA,SAAA70K,EAAAiH,GAA0B,IAAAlG,EAAA6B,KAAAolB,IAAA/gB,EAAAjH,GAAoB,OAAAe,EAAA,EAAA+uI,GAAAmF,iBAAAl0I,EAAA,EAAA+uI,GAAAqoB,UAAAroB,GAAAtK,MAAwDsK,GAAAglC,qBAAA,SAAA90K,EAAAiH,EAAAlG,GAAyC,IAAAvB,EAAAswI,GAAAhoE,MAAA7gE,EAAAjH,GAAAoU,EAAA07H,GAAAhoE,MAAA7gE,EAAAlG,GAAAs7B,EAAAjoB,EAAA5U,EAA0C,OAAA68B,IAAAz5B,KAAAsvC,GAAA7V,EAAAyzG,GAAAykC,WAAAl4I,EAAAz5B,KAAAsvC,GAAA7V,EAAAyzG,GAAAykC,WAAAl4I,GAA+DyzG,GAAAykC,WAAA,EAAA3xK,KAAAsvC,GAAA49F,GAAAilC,UAAAnyK,KAAAsvC,GAAA,EAAA49F,GAAAklC,UAAApyK,KAAAsvC,GAAA,EAAA49F,GAAAmF,iBAAAlZ,GAAAkZ,iBAAAnF,GAAAqoB,UAAAp8B,GAAAo8B,UAAAroB,GAAAtK,KAAAzJ,GAAA66B,UAAA3vJ,EAAA8oI,GAAAjwI,UAAA,CAA8KolC,KAAA,WAAgB,OAAA6qG,GAAA7qG,KAAArmC,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAAwCo/D,WAAA,WAAuB,OAAAuyD,GAAAvyD,WAAA3+E,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAA8C62J,aAAA,SAAAj1K,GAA0B,UAAAA,EAAA,UAAAR,EAAA,2BAAmD,OAAAuwI,GAAAklC,aAAAj1K,EAAAnB,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAAkD82J,kBAAA,WAA8B,OAAAnlC,GAAAmlC,kBAAAr2K,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAAqDo2J,QAAA,WAAoB,OAAAzkC,GAAAykC,QAAA31K,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAA2C+2J,aAAA,WAAyB,OAAAplC,GAAAolC,aAAAt2K,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAAgDg3J,OAAA,WAAmB,OAAArlC,GAAAqlC,OAAAv2K,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAA0C9L,SAAA,WAAqB,OAAAy9H,GAAAz9H,SAAAzT,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAA4Ci3J,SAAA,WAAqB,OAAAtlC,GAAAslC,SAAAx2K,KAAAo9H,GAAAp9H,KAAAqf,GAAArf,KAAAuf,KAA4Cs2G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjW,MAAWA,GAAA7qG,KAAA,SAAAllC,EAAAiH,EAAAlG,GAA0B,OAAA6B,KAAA6hB,MAAA1jB,EAAAiN,EAAAhO,EAAAgO,IAAA/G,EAAAgH,EAAAjO,EAAAiO,IAAAhH,EAAA+G,EAAAhO,EAAAgO,IAAAjN,EAAAkN,EAAAjO,EAAAiO,IAAA,IAA6D8hI,GAAAvyD,WAAA,SAAAx9E,EAAAiH,EAAAlG,GAA+B,QAAAA,EAAAiN,EAAAhO,EAAAgO,IAAA/G,EAAAgH,EAAAjO,EAAAiO,IAAAhH,EAAA+G,EAAAhO,EAAAgO,IAAAjN,EAAAkN,EAAAjO,EAAAiO,IAAA,GAAkD8hI,GAAA9zG,IAAA,SAAAj8B,EAAAiH,EAAAlG,EAAAvB,GAA0B,OAAAQ,EAAAR,EAAAyH,EAAAlG,GAAegvI,GAAAklC,aAAA,SAAAj1K,EAAAiH,EAAAlG,EAAAvB,GAAmC,IAAA4U,EAAAnN,EAAA+G,EAAAquB,EAAAp1B,EAAAgH,EAAAtN,EAAAI,EAAAiN,EAAAoG,EAAAjV,EAAAK,EAAAwO,EAAAoG,EAAAnU,EAAAc,EAAAkN,EAAAouB,EAAAzrB,EAAApR,EAAAyO,EAAAouB,EAAAE,EAAA57B,EAAAiQ,EAAAzR,EAAAc,EAAAO,EAAAR,EAAAgO,EAAAoG,EAAAf,EAAArT,EAAAiO,EAAAouB,EAAA1rB,GAAAC,EAAApQ,EAAArB,EAAAkU,GAAAkpB,EAAAj9B,IAAAW,EAAAO,EAAAG,EAAA0S,GAAAkpB,EAAAxB,EAAA9zB,EAAAs5B,EAAA5vB,GAAA5P,EAAAw/B,EAAAt5B,EAAAs5B,GAAAjhC,GAAAE,EAAA+gC,EAAAt5B,EAAAs5B,GAAqI,OAAAxF,GAASg1G,GAAAmlC,kBAAA,SAAAl1K,EAAAiH,EAAAlG,GAAsC,IAAAvB,EAAAQ,EAAAuS,SAAAtL,GAAAmN,EAAAnN,EAAAsL,SAAAxR,GAAAs7B,EAAAt7B,EAAAwR,SAAAvS,GAAAW,EAAAnB,EAAwD,OAAA4U,EAAAzT,MAAAyT,GAAAioB,EAAA17B,MAAA07B,GAAA17B,GAA+BovI,GAAAykC,QAAA,SAAAx0K,EAAAiH,EAAAlG,GAA4B,QAAA+uI,GAAA0kC,QAAAx0K,EAAAiH,EAAAlG,MAAA+uI,GAAA0kC,QAAAvtK,EAAAlG,EAAAf,MAAA8vI,GAAA0kC,QAAAzzK,EAAAf,EAAAiH,IAAsE8oI,GAAAolC,aAAA,SAAAn1K,EAAAiH,EAAAlG,GAAiC,IAAAvB,EAAAuB,EAAAiN,EAAAoG,EAAArT,EAAAkN,EAAAouB,EAAAr8B,EAAAgO,EAAAxO,EAAAmB,EAAAX,EAAAiO,EAAAmG,EAAAjV,EAAA8H,EAAA+G,EAAAxO,EAAAS,EAAAgH,EAAAgH,EAAAmG,EAAAxD,EAAA,EAAAm/H,GAAA9zG,IAAAI,EAAA17B,EAAAxB,EAAAc,GAAAs8B,EAAAwzG,GAAA9zG,IAAAt7B,EAAA07B,IAAA17B,IAAAV,EAAAd,IAAAc,KAAAO,EAAAuvI,GAAA9zG,IAAAI,MAAA17B,IAAAxB,MAAAc,KAAAoT,EAAA7T,EAAA+8B,EAAA3rB,EAAAtR,EAAA8U,EAAA5T,EAAAoQ,EAAgJ,WAAAD,EAAA0C,EAAA/T,IAAkBywI,GAAAulC,sBAAA,SAAAt1K,EAAAiH,GAAwC,IAAAlG,EAAAkG,EAAA+G,EAAAhO,EAAAgO,EAAAxO,EAAAyH,EAAAgH,EAAAjO,EAAAiO,EAAAmG,EAAA,IAAAgzB,EAAApnC,EAAAgO,EAAAjN,EAAA,EAAAf,EAAAiO,EAAAzO,EAAA,KAAA68B,EAAA,IAAA+K,EAAApnC,EAAAgO,EAAAxO,EAAAuB,EAAA,EAAAf,EAAAiO,EAAAlN,EAAAvB,EAAA,KAAkF,WAAA4nC,EAAAhzB,EAAAioB,IAAkB0zG,GAAAwlC,cAAA,SAAAv1K,EAAAiH,EAAAlG,GAAkC,IAAAvB,EAAAyH,EAAAsL,SAAAvS,GAAAoU,EAAAnN,EAAAsL,SAAAxR,GAAAs7B,EAAA78B,KAAA4U,GAAAzT,EAAAI,EAAAiN,EAAAhO,EAAAgO,EAAA7O,EAAA4B,EAAAkN,EAAAjO,EAAAiO,EAAAhO,EAAA,IAAA0Q,EAAA3Q,EAAAgO,EAAAquB,EAAA17B,EAAAX,EAAAiO,EAAAouB,EAAAl9B,GAA2F,OAAAc,GAAS8vI,GAAAqlC,OAAA,SAAAp1K,EAAAiH,EAAAlG,GAA2B,IAAAvB,EAAAyH,EAAA+G,EAAAhO,EAAAgO,EAAAoG,EAAAnN,EAAAgH,EAAAjO,EAAAiO,EAAAouB,EAAAp1B,EAAAs5B,EAAAvgC,EAAAugC,EAAA5/B,EAAAI,EAAAiN,EAAAhO,EAAAgO,EAAA7O,EAAA4B,EAAAkN,EAAAjO,EAAAiO,EAAAhO,EAAAc,EAAAw/B,EAAAvgC,EAAAugC,EAAA3vB,EAAAwD,EAAAnU,EAAAo8B,EAAAl9B,EAAAo9B,EAAAF,EAAA17B,EAAAnB,EAAAS,EAAAO,EAAAhB,EAAAL,EAAAiV,EAAAzT,EAAA0S,EAAAzC,IAAA2rB,IAAA/7B,IAAAmQ,EAAA/N,KAAAgR,KAAAP,GAAA,EAA6H,OAAA1C,GAASo/H,GAAAz9H,SAAA,SAAAtS,EAAAiH,EAAAlG,GAA6B,IAAAvB,GAAAQ,EAAAgO,EAAA/G,EAAA+G,EAAAjN,EAAAiN,GAAA,EAAAoG,GAAApU,EAAAiO,EAAAhH,EAAAgH,EAAAlN,EAAAkN,GAAA,EAAwC,WAAA0C,EAAAnR,EAAA4U,IAAkB27H,GAAAslC,SAAA,SAAAr1K,EAAAiH,EAAAlG,GAA6B,IAAAvB,EAAAyH,EAAAsL,SAAAxR,GAAAqT,EAAApU,EAAAuS,SAAAxR,GAAAs7B,EAAAr8B,EAAAuS,SAAAtL,GAAAtG,EAAAnB,EAAA4U,EAAAioB,EAAAl9B,GAAAK,EAAAQ,EAAAgO,EAAAoG,EAAAnN,EAAA+G,EAAAquB,EAAAt7B,EAAAiN,GAAArN,EAAAV,GAAAT,EAAAQ,EAAAiO,EAAAmG,EAAAnN,EAAAgH,EAAAouB,EAAAt7B,EAAAkN,GAAAtN,EAA4G,WAAAgQ,EAAAxR,EAAAc,IAAkBgH,EAAA+oI,GAAAlwI,UAAA,CAAiB01K,UAAA,WAAqB,OAAA32K,KAAA42K,UAAA52K,KAAA0P,QAAkCmnK,YAAA,WAAwB,OAAA72K,KAAA42K,UAAA52K,KAAAoxI,YAAAjvI,QAA+C,cAAAnC,KAAA4qC,MAAAutF,aAAAg7B,mBAAyD,cAAAnzJ,KAAA4qC,MAAAutF,aAAA05B,YAAA7xJ,KAAAswI,QAA+D,IAAAnvI,EAAAnB,KAAAoxI,YAAA,GAAAhpI,EAAApI,KAAAoxI,YAAA,GAAgD,OAAApxI,KAAA4qC,MAAAutF,aAAAg7B,iBAAA,CAAAhyJ,EAAAiH,KAAuD0uK,kBAAA,WAA8B,OAAA92K,KAAA42K,UAAA52K,KAAAoxI,aAAuC2lC,oBAAA,WAAgC,GAAA/2K,KAAA4qC,MAAAuvE,UAAA,OAAAn6G,KAAAoxI,YAAA,IAAAvvI,MAAA,GAAA+hC,KAAA,WAA6E,OAAA5jC,KAAA4qC,MAAAy9F,eAAA,CAAkC,IAAAlnI,EAAAnB,KAAA4qC,MAAAhW,iBAAkC,OAAA50B,KAAAoxI,YAAA,KAAAt/H,EAAA3Q,EAAA,UAA2C,IAAAiH,EAAApI,KAAA4qC,MAAA9I,aAAA5/B,EAAAkG,EAAAwsB,iBAAAzzB,EAAAe,EAAuD,GAAAA,EAAA,GAAAihI,SAAAjhI,IAAAC,OAAA,MAAAhB,EAAA,IAAAU,MAAAK,EAAAC,OAAA,GAAAyhC,KAAA,MAAA2yF,EAAA04B,SAAA/sJ,EAAA,EAAAf,EAAA,EAAAe,EAAAC,OAAA,IAAAhB,EAAAgB,QAAA,SAAAnC,KAAAoxI,YAAA7a,EAAA04B,SAAA9tJ,GAAA,KAA4J,QAAAR,EAAAwwI,GAAA6lC,YAAA71K,GAAAoU,EAAA47H,GAAA8lC,sBAAA91K,EAAAR,GAAA68B,EAAA,EAAgEA,EAAAr8B,EAAAgB,OAAWq7B,IAAA,CAAK,IAAA17B,EAAAqvI,GAAA+lC,6BAAA/1K,EAAAR,EAAA4U,GAA6C,GAAA07H,GAAA2kC,SAAAj1K,EAAAmB,EAAAyT,GAAA,OAAAvV,KAAAoxI,YAAA,KAAAt/H,EAAAnR,GAAA,IAAAmR,EAAAyD,IAAA,KAAuE,GAAA07H,GAAA2kC,SAAA9zK,EAAAnB,EAAA4U,GAAA5U,EAAAmB,MAA0B,CAAK,IAAAmvI,GAAA2kC,SAAA9zK,EAAAyT,EAAA5U,GAAA,OAAAX,KAAAoxI,YAAA,KAAAt/H,EAAAnR,GAAA,IAAAmR,EAAAyD,GAAA,IAAAzD,EAAAhQ,IAAA,KAAiFyT,EAAAzT,GAAK0S,EAAAgzI,qBAAA,wDAA8EovB,QAAA,WAAoB,cAAA52K,KAAAoxI,YAAA,MAAApxI,KAAA+2K,sBAAA/2K,KAAAm3K,qBAAA,OAAAn3K,KAAAswI,SAAAtwI,KAAA0P,OAAA1P,KAAAswI,OAAA58H,SAAA1T,KAAAoxI,YAAA,QAAwKgmC,kBAAA,WAA8B,OAAAp3K,KAAA42K,UAAA52K,KAAAoxI,YAAAjvI,QAA+C,cAAAnC,KAAA4qC,MAAAutF,aAAAg7B,mBAAyD,cAAAnzJ,KAAA4qC,MAAAutF,aAAA05B,YAAA7xJ,KAAAswI,QAA+D,IAAAnvI,EAAAnB,KAAAoxI,YAAA,GAAAhpI,EAAApI,KAAAoxI,YAAApxI,KAAAoxI,YAAAjvI,OAAA,GAAwE,OAAAnC,KAAA4qC,MAAAutF,aAAAg7B,iBAAA,CAAAhyJ,EAAAiH,KAAuDivK,UAAA,WAAsB,GAAAr3K,KAAA42K,UAAA,OAAA52K,KAAAswI,OAAA,OAAAtwI,KAAA4qC,MAAAutF,aAAA67B,gBAAoF,IAAA7yJ,EAAAnB,KAAA4qC,MAAAutF,aAAA05B,YAAA7xJ,KAAAswI,QAAuD,WAAAtwI,KAAA0P,OAAAvO,IAAA+9B,OAAAl/B,KAAA0P,SAA+C4nK,UAAA,WAAsB,OAAAt3K,KAAA42K,UAAA52K,KAAAswI,QAAkC6mC,cAAA,WAA0B,OAAAn3K,KAAAoxI,YAAAjvI,QAAgC,OAAAnC,KAAAswI,OAAA,KAAwB,MAAM,OAAAtwI,KAAAswI,OAAAtwI,KAAAoxI,YAAA,GAAuC,MAAM,OAAApxI,KAAAswI,OAAA,IAAAx+H,GAAA9R,KAAAoxI,YAAA,GAAAjiI,EAAAnP,KAAAoxI,YAAA,GAAAjiI,GAAA,GAAAnP,KAAAoxI,YAAA,GAAAhiI,EAAApP,KAAAoxI,YAAA,GAAAhiI,GAAA,GAA0H,MAAM,OAAApP,KAAAswI,OAAAY,GAAAolC,aAAAt2K,KAAAoxI,YAAA,GAAApxI,KAAAoxI,YAAA,GAAApxI,KAAAoxI,YAAA,MAAiGvb,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhW,MAAWA,GAAA8lC,sBAAA,SAAA91K,EAAAiH,GAAyC,QAAAlG,EAAAqT,EAAA45H,UAAAxuI,EAAA,KAAA68B,EAAA,EAAiCA,EAAAr8B,EAAAgB,OAAWq7B,IAAA,CAAK,IAAA17B,EAAAX,EAAAq8B,GAAW,GAAA17B,IAAAsG,EAAA,CAAU,IAAA9H,EAAAwB,EAAAqN,EAAA/G,EAAA+G,EAAA/N,EAAAU,EAAAsN,EAAAhH,EAAAgH,EAAwBhO,EAAA,IAAAA,MAAY,IAAA2Q,EAAAhO,KAAAgR,KAAAzU,IAAAc,KAAAs8B,EAAAt8B,EAAA2Q,EAA+B2rB,EAAAx7B,MAAAw7B,EAAA/8B,EAAAmB,IAAgB,OAAAnB,GAASwwI,GAAA6lC,YAAA,SAAA71K,GAA4B,QAAAiH,EAAAjH,EAAA,GAAAe,EAAA,EAAmBA,EAAAf,EAAAgB,OAAWD,IAAAf,EAAAe,GAAAkN,EAAAhH,EAAAgH,IAAAhH,EAAAjH,EAAAe,IAAyB,OAAAkG,GAAS+oI,GAAA+lC,6BAAA,SAAA/1K,EAAAiH,EAAAlG,GAAiD,QAAAvB,EAAA4U,EAAA45H,UAAA3xG,EAAA,KAAA17B,EAAA,EAAiCA,EAAAX,EAAAgB,OAAWL,IAAA,CAAK,IAAAxB,EAAAa,EAAAW,GAAW,GAAAxB,IAAA8H,GAAA9H,IAAA4B,EAAA,CAAiB,IAAAd,EAAA6vI,GAAA8kC,aAAA3tK,EAAA9H,EAAA4B,GAA6Bd,EAAAT,MAAAS,EAAAo8B,EAAAl9B,IAAgB,OAAAk9B,GAASp1B,EAAAipI,GAAApwI,UAAA,CAAiBs2K,mBAAA,WAA8B,OAAAv3K,KAAAw3K,yBAAAx3K,KAAAyxI,YAAqDgmC,qBAAA,WAAiC,OAAAz3K,KAAAw3K,yBAAAx3K,KAAA4+H,UAAAzG,aAAAg7B,iBAAA,CAAAnzJ,KAAAwxI,WAAApU,GAAAp9H,KAAAwxI,WAAAnyH,MAA2Hw3J,YAAA,WAAwB,GAAA72K,KAAAw3K,yBAAA,OAAAx3K,KAAAyxI,WAAA,OAAAzxI,KAAA4+H,UAAAzG,aAAAg7B,iBAAA,MAAkH,IAAAhyJ,EAAAnB,KAAAwxI,WAAAioB,QAAAz5J,KAAAyxI,YAA+C,OAAAzxI,KAAA4+H,UAAAzG,aAAAg7B,iBAAA,CAAAhyJ,EAAAnB,KAAAyxI,cAAyEimC,mBAAA,SAAAv2K,GAAgCnB,KAAAuxI,cAAApwI,aAAA63H,GAAA73H,EAAA2+I,kBAAAlrH,iBAAAzzB,EAAAyzB,iBAAA,IAAA50B,KAAAuxI,cAAApvI,QAAAnC,KAAA2xI,SAAA,EAAA3xI,KAAAyxI,WAAA,KAAAzxI,KAAAwxI,WAAA,UAAAxxI,KAAAuxI,cAAApvI,QAAAnC,KAAA2xI,SAAA,EAAA3xI,KAAAyxI,WAAAzxI,KAAAuxI,cAAA,GAAAvxI,KAAAwxI,WAAApU,GAAAp9H,KAAAuxI,cAAA,GAAAvxI,KAAAwxI,WAAAnyH,GAAArf,KAAAuxI,cAAA,QAAAvxI,KAAAuxI,cAAApvI,QAAA,IAAAnC,KAAAuxI,cAAApvI,QAAAnC,KAAA2xI,SAAA,EAAA3xI,KAAAyxI,WAAAzxI,KAAAuxI,cAAA,GAAAvxI,KAAAwxI,WAAApU,GAAAp9H,KAAAuxI,cAAA,GAAAvxI,KAAAwxI,WAAAnyH,GAAArf,KAAAuxI,cAAA,IAAAvxI,KAAA23K,6BAAA33K,KAAAuxI,gBAA6mBomC,6BAAA,SAAAx2K,GAA0CnB,KAAA2xI,SAAAp8H,EAAA45H,UAA0B,QAAA/mI,EAAA,EAAAlG,EAAA,IAAAi7H,GAAAx8H,EAAA,EAAyBA,EAAAQ,EAAAgB,OAAA,EAAaxB,IAAAuB,EAAAk7H,GAAAj8H,EAAAR,GAAAuB,EAAAmd,GAAAle,EAAAR,EAAA,GAAAyH,EAAApI,KAAA43K,oBAAAz2K,EAAAe,EAAAkG,IAA4DovK,uBAAA,WAAmC,UAAAx3K,KAAAyxI,WAAA,YAAsC,GAAAzxI,KAAAsxI,SAAAtxI,KAAA03K,mBAAA13K,KAAA4+H,eAAyD,CAAK,IAAAz9H,EAAA,IAAAgK,GAAAnL,KAAA4+H,WAAAk+B,gBAA6C98J,KAAA03K,mBAAAv2K,KAA4B+hJ,UAAA,WAAsB,OAAAljJ,KAAAw3K,yBAAAx3K,KAAA2xI,UAAmDimC,oBAAA,SAAAz2K,EAAAiH,EAAAlG,GAAqC,QAAAvB,EAAAyH,EAAAuxJ,sBAAAx4J,EAAAe,IAAAqT,EAAA5U,EAAA68B,EAAAt7B,EAAAJ,EAAA07B,EAAoDjoB,GAAA5U,GAAKA,EAAA4U,EAAAioB,EAAA17B,IAAAuvI,GAAAtrF,UAAA5kD,EAAAq8B,GAAAjoB,EAAAnN,EAAAuxJ,sBAAAx4J,EAAAW,IAA6D,OAAAnB,EAAAX,KAAA2xI,WAAA3xI,KAAA0xI,WAAAl0G,EAAAx9B,KAAA2xI,SAAAhxI,EAAAX,KAAAyxI,WAAAtwI,EAAAnB,KAAA0xI,YAAA1xI,KAAAwxI,WAAA,IAAArU,GAAA/0H,IAAAo1B,GAA2Hq6I,oBAAA,WAAgC,GAAA73K,KAAAw3K,yBAAA,IAAAx3K,KAAA2xI,SAAA,OAAA3xI,KAAAwxI,WAAApU,GAAA+F,SAAAnjI,KAAAwxI,WAAAnyH,IAAArf,KAAA4+H,UAAAzG,aAAA05B,YAAA7xJ,KAAAwxI,WAAApU,IAAAp9H,KAAAwxI,WAAA+b,WAAAvtJ,KAAA4+H,UAAAzG,cAA8N,QAAAh3H,EAAAnB,KAAAwxI,WAAAnyH,GAAAlQ,EAAAnP,KAAAwxI,WAAApU,GAAAjuH,EAAA/G,EAAApI,KAAAwxI,WAAAnyH,GAAAjQ,EAAApP,KAAAwxI,WAAApU,GAAAhuH,EAAAlN,EAAAqT,EAAA45H,UAAAxuI,GAAA4U,EAAA45H,UAAA3xG,EAAAjoB,EAAA45H,UAAArtI,GAAAyT,EAAA45H,UAAA7uI,EAAA,EAA8JA,EAAAN,KAAAuxI,cAAApvI,OAA4B7B,IAAA,CAAK,IAAAc,EAAAiwI,GAAAymC,SAAA32K,EAAAiH,EAAApI,KAAAuxI,cAAAjxI,IAA6Cc,EAAAT,MAAAS,KAAAc,MAAAd,GAAsB,IAAA2Q,EAAAs/H,GAAAymC,UAAA1vK,EAAAjH,EAAAnB,KAAAuxI,cAAAjxI,IAA8CyR,EAAAjQ,MAAAiQ,KAAAyrB,MAAAzrB,GAAsB,IAAA2rB,EAAA2zG,GAAA0mC,uBAAA52K,GAAAiH,EAAAtG,GAAAH,EAAA0vI,GAAA0mC,uBAAA52K,GAAAiH,EAAAo1B,GAAAhpB,EAAA68H,GAAA0mC,uBAAA3vK,EAAAjH,EAAAR,GAAAmR,EAAAu/H,GAAA0mC,uBAAA3vK,EAAAjH,EAAAe,GAAAzB,EAAA+T,EAAAslJ,iBAAAp8H,GAAAxB,EAAApqB,EAAAgoJ,iBAAAp8H,GAAA56B,EAAAgP,EAAAgoJ,iBAAAn4J,GAAA87B,EAAAjpB,EAAAslJ,iBAAAn4J,GAAAyN,EAAApP,KAAA4+H,UAAAzG,aAAAc,iBAAA,CAAAx4H,EAAAy7B,EAAAp5B,EAAA26B,EAAAh9B,IAA8S,OAAAT,KAAA4+H,UAAAzG,aAAA67B,cAAA5kJ,EAAA,OAAyDymH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9V,MAAWA,GAAAtrF,UAAA,SAAA5kD,EAAAiH,GAA6B,OAAAA,OAAAjH,EAAAgB,SAAAiG,EAAA,GAAAA,GAAgCipI,GAAAymC,SAAA,SAAA32K,EAAAiH,EAAAlG,GAA6B,OAAAf,EAAAe,EAAAkN,EAAAhH,EAAAlG,EAAAiN,GAAmBkiI,GAAA2mC,mBAAA,SAAA72K,GAAmC,WAAAkwI,GAAAlwI,GAAA01K,eAA+BxlC,GAAAwmC,oBAAA,SAAA12K,GAAoC,WAAAkwI,GAAAlwI,GAAA02K,uBAAuCxmC,GAAA0mC,sBAAA,SAAA52K,EAAAiH,EAAAlG,GAA0C,IAAAvB,EAAA,KAAA4U,EAAA,KAAkB,OAAAxR,KAAA6hB,IAAAxd,GAAArE,KAAA6hB,IAAAzkB,IAAAR,EAAA,IAAAmR,EAAA,EAAA5P,EAAAkG,GAAAmN,EAAA,IAAAzD,EAAA,EAAA5P,EAAAkG,EAAAjH,EAAAiH,KAAAzH,EAAA,IAAAmR,EAAA5P,EAAAf,EAAA,GAAAoU,EAAA,IAAAzD,EAAA5P,EAAAf,EAAAiH,EAAAjH,EAAA,QAAAg8H,GAAAx8H,EAAA4U,IAAoH,IAAA0iK,GAAA7/J,OAAA8iJ,OAAA,CAAsBgd,SAAAv6C,GAAAw6C,aAAAj7C,GAAAk7C,WAAAjtK,GAAAktK,kBAAAtpC,GAAAupC,kBAAA9gJ,GAAA+gJ,mBAAA/yC,GAAAgzC,sBAAA37C,GAAA47C,cAAA7nC,GAAA8nC,sBAAAvnC,GAAAwnC,gBAAAtnC,KAAkMjpI,EAAAwpI,GAAA3wI,UAAA,CAAgBuxK,kBAAA,WAA6B,WAAA1gC,GAAA9xI,KAAA6xI,mBAAA1mF,UAAAnrD,KAAA4+H,YAAgEg6C,qBAAA,SAAAz3K,GAAkC,GAAAA,GAAA,YAAAR,EAAA,8BAAkDX,KAAA6xI,kBAAA1wI,GAAyB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvV,MAAWA,GAAAinC,cAAA,SAAA13K,EAAAiH,EAAAlG,GAAmC,QAAAvB,EAAA,IAAAw8H,GAAA5nH,EAAA,IAAAwV,EAAAyS,EAAA,EAA6BA,EAAAr8B,EAAAgB,OAAA,EAAaq7B,IAAA,CAAK78B,EAAAy8H,GAAAj8H,EAAAq8B,GAAA78B,EAAA0e,GAAAle,EAAAq8B,EAAA,GAAAjoB,EAAAivC,IAAA7jD,EAAAy8H,IAAA,GAAqC,IAAAt7H,EAAAnB,EAAAuiJ,YAAA5iJ,EAAAyD,KAAAmjJ,MAAAplJ,EAAAsG,GAAA,EAAwC,GAAA9H,EAAA,UAAAc,EAAAU,EAAAxB,EAAAyR,EAAA,EAAyBA,EAAAzR,EAAIyR,IAAA,CAAK,IAAA2rB,EAAA3rB,EAAA3Q,EAAAU,EAAAH,EAAAhB,EAAAs5J,WAAAv8H,GAA8Bx7B,EAAA2yJ,YAAAlzJ,GAAA4T,EAAAivC,IAAA7iD,GAAA,IAA8B,OAAA4T,EAAAivC,IAAArjD,IAAAgB,OAAA,OAAAoT,EAAAgzI,qBAAqD3W,GAAAknC,QAAA,SAAA33K,EAAAiH,GAA0B,IAAAlG,EAAA,IAAA0vI,GAAAzwI,GAAgB,OAAAe,EAAA02K,qBAAAxwK,GAAAlG,EAAAswK,qBAAuD90I,EAAAo0G,GAAAnT,IAAAv2H,EAAA0pI,GAAA7wI,UAAA,CAA0B08J,sBAAA,SAAAx8J,EAAAiH,GAAoC,IAAAlG,EAAAy8H,GAAA19H,UAAA08J,sBAAA3sJ,KAAAhR,KAAAmB,EAAAiH,GAAwD,OAAApI,KAAA+4K,gBAAA72K,IAA+Bk7J,iBAAA,SAAAj8J,EAAAiH,GAAgC,IAAAlG,EAAAy8H,GAAA19H,UAAAm8J,iBAAApsJ,KAAAhR,KAAAmB,EAAAiH,GAAmD,OAAAA,aAAAoxH,GAAAt3H,EAAAlC,KAAA+4K,gBAAA72K,IAAiDi7J,qBAAA,SAAAh8J,EAAAiH,GAAoC,IAAAlG,EAAAf,EAAAonJ,oBAAA5nJ,EAAAixI,GAAAinC,cAAA32K,EAAAlC,KAAA6xI,kBAAAzpI,EAAA8lI,qBAA+F,OAAA9lI,aAAAwwH,IAAA,IAAAj4H,EAAAwB,SAAAxB,EAAA,IAAAkB,MAAA,GAAA+hC,KAAA,OAAA5jC,KAAA+5B,QAAAu/F,+BAAA11G,OAAAjjB,IAAwHo4K,gBAAA,SAAA53K,GAA6B,OAAAA,EAAA+9B,OAAA,IAAmB22F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArV,MAAWF,GAAAonC,mBAAAlnC,GAA2B,IAAAmnC,GAAA7gK,OAAA8iJ,OAAA,CAAsBge,UAAAtnC,KAAexpI,EAAA2pI,GAAA9wI,UAAA,CAAgB4tC,KAAA,SAAA1tC,GAAiB,IAAAiH,EAAApI,KAAW,GAAG,UAAAoI,EAAA,YAAwB,GAAAA,EAAA+wK,OAAAh2C,SAAAhiI,GAAA,OAAAiH,EAAiCA,IAAAgxK,cAAYhxK,IAAApI,MAAgB,aAAYm5K,KAAA,WAAiB,OAAAn5K,KAAAiyI,KAAAD,OAAuBonC,MAAA,WAAkB,OAAAp5K,KAAAiyI,KAAAC,OAAuB/uI,OAAA,SAAAhC,GAAoB,GAAAnB,KAAAo5K,UAAAp5K,KAAA,OAAAA,KAAAq5K,YAAAl4K,GAAA,KAAuD,IAAAiH,EAAApI,KAAAmuI,UAAAhtI,GAAAe,EAAAlC,KAA+B,GAAG,IAAAW,EAAAuB,EAAAk3K,QAAA7jK,EAAA5U,EAAAwtI,UAAAhtI,GAAiC,GAAAoU,IAAAnN,GAAAzH,IAAAX,KAAA,OAAAkC,EAAAm3K,YAAAl4K,GAAA,KAAgDe,EAAAvB,QAAIuB,IAAAlC,MAAgBwU,EAAAgzI,wBAAyB6xB,YAAA,SAAAl4K,GAAyBqT,EAAAqqE,OAAA7+E,KAAAgyI,MAAA7wI,EAAAm4K,QAA8B,IAAAlxK,EAAApI,KAAAo5K,QAAmBp5K,KAAAiyI,KAAAw4B,QAAAtpK,KAAA8a,MAAAwuJ,QAAAriK,IAAwC0U,OAAA,WAAqB,IAAA3b,EAAA,EAAAiH,EAAApI,KAAe,GAAAmB,IAAAiH,IAAAgxK,cAAmBhxK,IAAApI,MAAgB,OAAAmB,GAAS09E,OAAA,WAAmB,OAAAjvC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAA5vC,KAAAgyI,MAAA7O,SAAAhiI,IAAAnB,KAAAiyI,KAAAD,MAAAnzD,OAAAz2E,KAA0DmxK,OAAA,WAAmB,OAAAv5K,KAAAiyI,KAAAD,MAAA5iI,EAAApP,KAAAgyI,MAAA5iI,GAAsC6M,IAAA,WAAgB,OAAAjc,KAAAiyI,MAAiB/tI,KAAA,WAAiB,OAAAlE,KAAAiyI,KAAAp2H,OAAAo2H,MAA6BunC,wBAAA,SAAAr4K,GAAqC,IAAAiH,EAAApI,KAAAy5K,SAAAv3K,EAAAlC,KAAAu5K,SAAA54K,EAAAQ,EAAAs4K,SAAAlkK,EAAApU,EAAAo4K,SAA8D,GAAAnxK,IAAAzH,GAAAuB,IAAAqT,EAAA,SAAyB,IAAAioB,EAAAgnG,GAAAuD,SAAA3/H,EAAAlG,GAAAJ,EAAA0iI,GAAAuD,SAAApnI,EAAA4U,GAA0C,OAAAioB,EAAA17B,EAAA,EAAA07B,EAAA17B,GAAA,EAAAo7H,GAAAi8B,mBAAAh4J,EAAA6wI,MAAA7wI,EAAAg4K,OAAAn5K,KAAAm5K,SAAwEO,SAAA,WAAqB,QAAAv4K,EAAAnB,KAAe,IAAAmB,EAAA2b,UAAe,GAAA3b,IAAA+C,OAAA/C,IAAAnB,KAAA,YAAoC,OAAAmB,GAASgtI,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAAe,EAAAlC,KAAAw5K,wBAAApxK,GAA0C,OAAAlG,GAAS2Z,KAAA,WAAiB,OAAA7b,KAAAkyI,OAAkBo4B,OAAA,SAAAnpK,GAAoBnB,KAAAiyI,KAAA9wI,GAAYm4K,KAAA,WAAiB,OAAAt5K,KAAAgyI,OAAkB5kH,SAAA,WAAqB,YAAAptB,KAAAgyI,MAAA7iI,EAAA,IAAAnP,KAAAgyI,MAAA5iI,EAAA,KAAApP,KAAAiyI,KAAAD,MAAA7iI,EAAA,IAAAnP,KAAAiyI,KAAAD,MAAA5iI,EAAA,KAA2Fq7J,QAAA,SAAAtpK,GAAqBnB,KAAAkyI,MAAA/wI,GAAaotD,KAAA,SAAAptD,GAAkBnB,KAAAsqK,OAAAnpK,KAAAmpK,OAAAtqK,WAAAyqK,QAAAtpK,KAAAspK,QAAAzqK,OAA8Dy5K,OAAA,WAAmB,OAAAz5K,KAAAiyI,KAAAD,MAAA7iI,EAAAnP,KAAAgyI,MAAA7iI,GAAsC0mH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApV,MAAWA,GAAAxjF,KAAA,SAAAptD,EAAAiH,GAAwB,UAAAjH,EAAA8wI,MAAA,OAAA7pI,EAAA6pI,MAAA,OAAA9wI,EAAA+wI,OAAA,OAAA9pI,EAAA8pI,MAAA,UAAAuZ,sBAAA,iCAAiI,OAAAtqJ,EAAAotD,KAAAnmD,GAAAjH,GAAmB4wI,GAAAnuH,OAAA,SAAAziB,EAAAiH,GAAyB,IAAAlG,EAAA,IAAA6vI,GAAA5wI,GAAAR,EAAA,IAAAoxI,GAAA3pI,GAA4B,OAAAlG,EAAAqsD,KAAA5tD,GAAAuB,GAAmBw7B,EAAAx4B,GAAA6sI,IAAA3pI,EAAAlD,GAAAjE,UAAA,CAA0BwlF,KAAA,WAAgBzmF,KAAAmyI,WAAA,GAAkBwnC,QAAA,SAAAx4K,GAAqBnB,KAAAmyI,UAAAhxI,GAAiBy4K,SAAA,WAAqB,OAAA55K,KAAAmyI,WAAsBtc,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjiJ,MAAWA,GAAA20K,YAAA,SAAA14K,EAAAiH,GAA+BjH,EAAAw4K,QAAAvxK,GAAAjH,EAAA8a,MAAA09J,QAAAvxK,IAAgClD,GAAA00K,SAAA,SAAAz4K,GAAyB,OAAAA,EAAAy4K,YAAoB10K,GAAAy0K,QAAA,SAAAx4K,EAAAiH,GAA0BjH,EAAAw4K,QAAAvxK,IAAalD,GAAA40K,SAAA,SAAA34K,GAAyBA,EAAAslF,OAAAtlF,EAAA8a,MAAAwqE,QAAwBvhF,GAAAuhF,KAAA,SAAAtlF,GAAqBA,EAAAslF,QAASr+E,EAAAgqI,GAAAnxI,UAAA,CAAiBkC,OAAA,SAAAhC,EAAAiH,EAAAlG,GAAuB,IAAAvB,EAAAX,KAAA4jB,OAAAziB,EAAAiH,GAAuB,OAAAlG,IAAAiB,OAAAxC,GAAAX,KAAAqyI,UAAArW,IAAA76H,EAAAR,GAA6C,IAAA4U,EAAAvV,KAAAqyI,UAAA/5H,IAAAlQ,GAA4B,cAAAmN,IAAApS,OAAAxC,EAAAsb,OAAAjc,KAAAqyI,UAAArW,IAAA5zH,EAAAzH,EAAAsb,OAAAtb,GAAkEijB,OAAA,SAAAziB,EAAAiH,GAAsB,IAAAlG,EAAAlC,KAAA+5K,WAAA54K,GAAAR,EAAAX,KAAA+5K,WAAA3xK,GAA8C,OAAA2pI,GAAAxjF,KAAArsD,EAAAvB,GAAAuB,GAAsB63K,WAAA,SAAA54K,GAAwB,WAAA4wI,GAAA5wI,IAAiB0Z,QAAA,SAAA1Z,EAAAiH,GAAuB,IAAAgqI,GAAA4nC,YAAA74K,EAAAiH,GAAA,YAAoC,IAAAlG,EAAAlC,KAAAqyI,UAAA/5H,IAAAnX,GAAAR,EAAA,KAAmC,UAAAuB,IAAAvB,EAAAuB,EAAA2sC,KAAAzmC,IAAA,OAAAzH,EAAA,OAAAA,EAA6C,IAAA4U,EAAAvV,KAAAmD,OAAAhC,EAAAiH,EAAAlG,GAAyB,OAAAqT,GAAS0kK,eAAA,WAA2B,OAAAj6K,KAAAqyI,UAAA7qH,UAA+BkkJ,SAAA,SAAAvqK,EAAAiH,GAAwB,IAAAlG,EAAAlC,KAAAqyI,UAAA/5H,IAAAnX,GAA4B,cAAAe,EAAA,KAAAA,EAAA2sC,KAAAzmC,IAA+BytH,YAAA,WAC3u+B,UAASsxB,SAAA,WAAqB,OAAA/U,MAAWA,GAAA4nC,YAAA,SAAA74K,EAAAiH,GAA+B,IAAAlG,EAAAkG,EAAA+lI,UAAAhtI,GAAqB,WAAAe,GAAaw7B,EAAAs3B,GAAA9vD,IAAAkD,EAAA4sD,GAAA/zD,UAAA,CAA0Bi5K,SAAA,WAAoBl6K,KAAAsyI,UAAA,GAAiB6nC,QAAA,WAAoB,OAAAn6K,KAAAsyI,UAAqBzc,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnyF,MAAWt3B,EAAA60G,GAAAH,IAAAhqI,EAAAmqI,GAAAtxI,UAAA,CAA2B84K,WAAA,SAAA54K,GAAuB,WAAA6zD,GAAA7zD,IAAiB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5U,MAAWnqI,EAAAoqI,GAAAvxI,UAAA,CAAkBgvK,QAAA,SAAA9uK,GAAoBnB,KAAAgmD,MAAAxB,IAAAxkD,KAAA+5B,QAAAo5H,iBAAAhyJ,EAAAonJ,uBAAqE6xB,oBAAA,SAAAj5K,GAAiC,OAAAA,EAAAg5K,YAAAh5K,IAAA8a,MAAA9a,EAAAg5K,WAAA,OAAAn6K,KAAA0yI,eAAA1yI,KAAA0yI,cAAAvxI,EAAA,WAAAA,EAAAm4K,OAAAnrC,UAAAnuI,KAAA0yI,cAAA4mC,QAAA,IAAAt5K,KAAA0yI,cAAAvxI,IAAA,MAAqLk5K,UAAA,WAAsB,cAAAr6K,KAAA0/B,QAAA1/B,KAAAs6K,gBAAAt6K,KAAA0/B,QAA4DwhB,QAAA,SAAA//C,GAAqB,IAAAiH,EAAAjH,EAAAu4K,WAAmB,OAAAtxK,MAAAjH,GAAAnB,KAAAu6K,WAAAnyK,GAAApI,KAAA2sK,cAAqD6N,UAAA,SAAAr5K,GAAuB,IAAAiH,EAAA,IAAA2iB,EAAA7oB,EAAAf,EAAgB,IAAAiH,EAAAo8C,IAAAtiD,EAAAo3K,OAAArxD,QAAA,GAA8B,IAAA/lH,EAAA+Z,MAAAa,UAAqB,CAAE,IAAAnc,EAAAuB,EAAA2Z,OAAe,GAAAlb,IAAAQ,EAAA,MAAeiH,EAAAo8C,IAAA7jD,EAAA24K,OAAArxD,QAAA,GAAA/lH,EAAAvB,EAA8ByH,EAAAo8C,IAAAtiD,EAAAi3K,OAAAlxD,QAAA,GAAAjoH,KAAAiwK,QAAA7nK,IAA0CqyK,UAAA,SAAAt5K,GAAuB,IAAAiH,EAAA,IAAA2iB,EAAA7oB,EAAAf,EAAgB,IAAAnB,KAAA0yI,cAAA,KAAAxtI,GAAA40K,SAAA53K,GAAAkG,EAAAo8C,IAAAtiD,EAAAo3K,OAAArxD,QAAA,GAAqE,IAAA/lH,EAAA+Z,MAAAa,UAAqB,CAAE9c,KAAAo6K,oBAAAl4K,GAA4B,IAAAvB,EAAAuB,EAAA2Z,OAAe,GAAAlb,IAAAQ,EAAA,OAAAnB,KAAAw6K,UAAAx6K,KAAA0yI,eAAA,KAAwDtqI,EAAAo8C,IAAA7jD,EAAA24K,OAAArxD,QAAA,GAAA/lH,EAAAvB,EAAAuE,GAAA40K,SAAA53K,GAA6CkG,EAAAo8C,IAAAtiD,EAAAi3K,OAAAlxD,QAAA,GAAAjoH,KAAAu6K,WAAAr4K,EAAA+Z,OAAAjc,KAAAiwK,QAAA7nK,IAAmEmyK,WAAA,SAAAp5K,GAAwB,IAAAiH,EAAAjH,EAAQ,GAAA+D,GAAA00K,SAAAxxK,IAAApI,KAAAyyI,cAAAjuF,IAAAp8C,OAAAgxK,cAAyDhxK,IAAAjH,IAAam5K,cAAA,WAA0B,QAAAn5K,EAAAnB,KAAAwa,MAAAy/J,iBAAA7xK,EAAAjH,EAAAutF,WAAqDtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3W,GAAA00K,SAAA13K,IAAAlC,KAAAkhD,QAAAh/C,GAAgClC,KAAA0/B,OAAA1/B,KAAA+5B,QAAAk7H,cAAAj1J,KAAAgmD,QAAmD2mH,WAAA,WAAuB,MAAK3sK,KAAAyyI,cAAApuF,SAA4B,CAAE,IAAAljD,EAAAnB,KAAAyyI,cAAAlvI,MAA+B2B,GAAA00K,SAAAz4K,IAAAnB,KAAAy6K,UAAAt5K,KAAmCqjD,IAAA,WAAgB,GAAA5U,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmBzuC,EAAAoB,MAAA,CAASszH,YAAA,WAAuB,OAAAjgG,IAAUl0B,OAAA,SAAAP,GAAoBA,aAAAy3H,IAAA54H,KAAAwkD,IAAArjD,WAAgC,GAAAuuG,EAAA9/D,UAAA,GAAA9sC,GAAA,QAAAsF,EAAAwnC,UAAA,GAAA1tC,EAAAkG,EAAAsmF,WAAgExsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe7b,KAAAwkD,IAAA7jD,QAAY,GAAAivC,UAAA,aAAAgpF,GAAA,CAAmC,IAAArjH,EAAAq6B,UAAA,GAAmB,OAAA5vC,KAAA+5B,UAAA/5B,KAAA+5B,QAAAxkB,EAAA4iH,cAAmD,IAAA36F,EAAAjoB,EAAAwqI,wBAAAj+I,GAAA,MAAAI,EAAA,EAA6CA,EAAAs7B,EAAAroB,OAAWjT,IAAA,CAAK,IAAA5B,EAAAN,KAAAwa,MAAAK,QAAA2iB,EAAA4lG,cAAAlhI,EAAA,GAAAs7B,EAAA4lG,cAAAlhI,IAAkE,OAAA5B,IAAAwB,IAAAxB,EAAA45K,WAAAp4K,GAAA,OAAqC+zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3U,MAAWA,GAAAnmE,SAAA,SAAAlrE,GAA0B,IAAAiH,EAAA,IAAAoqI,GAAa,OAAApqI,EAAAo8C,IAAArjD,GAAAiH,EAAAiyK,aAA+B,IAAAK,GAAAtiK,OAAA8iJ,OAAA,CAAsByf,cAAAnoC,KAAiBooC,GAAAxiK,OAAA8iJ,OAAA,CAAoB2f,cAAAztC,KAAmBhlI,EAAAuqI,GAAA1xI,UAAA,CAAgB+yK,YAAA,WAAuB,QAAA7yK,EAAA,EAAYA,EAAA,EAAIA,IAAA,UAAAnB,KAAA8vI,QAAA3uI,GAAA,SAAuC,UAAS8yK,WAAA,WAAuB,QAAAj0K,KAAAg0K,eAAAh0K,KAAAk0K,aAA6CC,YAAA,SAAAhzK,GAAyBA,EAAAm0H,OAAAt1H,KAAAqjE,OAAqB,QAAAj7D,EAAA,EAAYA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,IAAApI,KAAA8vI,QAAA1nI,GAAA+rK,YAAAhzK,GAA2D,OAAAA,GAAS25K,aAAA,WAAyB,QAAA35K,EAAA,EAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,KAAAjH,GAAAnB,KAAA8vI,QAAA1nI,GAAA+M,QAAwD,OAAAhU,EAAA,GAAWgU,KAAA,WAAiB,QAAAhU,EAAA,EAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,KAAAjH,GAAAnB,KAAA8vI,QAAA1nI,GAAA+M,QAAwD,OAAAhU,EAAAnB,KAAAqjE,MAAAluD,QAA2Bi/J,2BAAA,SAAAjzK,EAAAiH,GAA0C,IAAApI,KAAAq0K,cAAAlzK,GAAA,YAAsCiH,EAAAktH,OAAAt1H,KAAAqjE,OAAqB,QAAAnhE,EAAA,EAAYA,EAAA,EAAIA,IAAA,OAAAlC,KAAA8vI,QAAA5tI,IAAAlC,KAAA8vI,QAAA5tI,GAAAkyK,2BAAAjzK,EAAAiH,IAA4E2yK,WAAA,SAAA55K,EAAAiH,GAA0B,QAAAlG,EAAAlC,KAAAqjE,MAAAqrB,WAAgCxsF,EAAAimJ,WAAY//I,EAAAk4J,UAAAp+J,EAAA2Z,SAAuBq4J,SAAA,WAAqB,OAAAl0K,KAAAqjE,MAAA82C,WAA4B1B,OAAA,SAAAt3G,EAAAiH,GAAsB,IAAApI,KAAAq0K,cAAAlzK,GAAA,SAAmC,QAAAe,GAAA,EAAAvB,EAAA,EAAiBA,EAAA,EAAIA,IAAA,UAAAX,KAAA8vI,QAAAnvI,KAAAuB,EAAAlC,KAAA8vI,QAAAnvI,GAAA83G,OAAAt3G,EAAAiH,IAAA,CAAgEpI,KAAA8vI,QAAAnvI,GAAAszK,eAAAj0K,KAAA8vI,QAAAnvI,GAAA,MAAqD,MAAM,OAAAuB,MAAAlC,KAAAqjE,MAAAo1C,OAAArwG,KAAkC4yK,MAAA,SAAA75K,EAAAiH,GAAqB,IAAApI,KAAAq0K,cAAAlzK,GAAA,YAAsCnB,KAAA+6K,WAAA55K,EAAAiH,GAAqB,QAAAlG,EAAA,EAAYA,EAAA,EAAIA,IAAA,OAAAlC,KAAA8vI,QAAA5tI,IAAAlC,KAAA8vI,QAAA5tI,GAAA84K,MAAA75K,EAAAiH,IAAuD4nK,SAAA,WAAqB,OAAAhwK,KAAAqjE,OAAkB+kE,MAAA,WAAkB,QAAAjnI,EAAA,EAAAiH,EAAA,EAAgBA,EAAA,EAAIA,IAAA,UAAApI,KAAA8vI,QAAA1nI,GAAA,CAA+B,IAAAlG,EAAAlC,KAAA8vI,QAAA1nI,GAAAggI,QAA8BlmI,EAAAf,MAAAe,GAAW,OAAAf,EAAA,GAAWg5G,QAAA,WAAsB,IAAAh5G,GAAA,EAASnB,KAAAqjE,MAAA82C,YAAAh5G,GAAA,GAA6B,QAAAiH,EAAA,EAAYA,EAAA,EAAIA,IAAA,OAAApI,KAAA8vI,QAAA1nI,KAAApI,KAAA8vI,QAAA1nI,GAAA+xG,YAAAh5G,GAAA,IAAgE,OAAAA,GAASqjD,IAAA,SAAArjD,GAAiBnB,KAAAqjE,MAAA7e,IAAArjD,IAAkB00H,YAAA,WAAwB,OAAAz0H,IAAU+lJ,SAAA,WAAqB,OAAAxU,MAAWA,GAAA4hC,gBAAA,SAAApzK,EAAAiH,EAAAlG,GAAqC,IAAAvB,GAAA,EAAS,OAAAQ,EAAA6xI,WAAA5qI,IAAAjH,EAAAouI,WAAArtI,IAAAvB,EAAA,GAAAQ,EAAAmuI,WAAAptI,IAAAvB,EAAA,IAAAQ,EAAA8xI,WAAA7qI,IAAAjH,EAAAouI,WAAArtI,IAAAvB,EAAA,GAAAQ,EAAAmuI,WAAAptI,IAAAvB,EAAA,IAAAA,GAAqIyH,EAAAwqI,GAAA3xI,UAAA,CAAiBu/J,SAAA,WAAoB,OAAAxgK,KAAA8hI,OAAkBsO,WAAA,WAAuB,OAAAxgG,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,IAAA5vC,KAAA8hI,MAAA8Q,GAAAqoC,iBAAA95K,GAAAnB,KAAAukI,IAAA,IAAAl8F,EAAAroC,KAAAowI,WAAApwI,KAAA8hI,MAAA3gI,IAAmFnB,KAAAukI,IAAA2kB,SAAA/nJ,IAAsBnB,KAAA8hI,OAAA,EAAA9hI,KAAAowI,WAAApwI,KAAA8hI,MAAA3gI,QAA6C,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAqvI,GAAA0kC,SAAAtsK,GAAmDpI,KAAAmW,GAAAhH,EAAApL,KAAAuS,MAAApU,EAAA8wI,UAAAryI,KAAAX,KAAAmW,GAAA/G,EAAArL,KAAAuS,MAAApU,EAAAqtI,UAAA5uI,KAAAX,KAAAukI,IAAAh2E,KAAAvuD,KAAAmW,GAAAhH,EAAAnP,KAAAmW,GAAAhH,EAAAxO,EAAAX,KAAAmW,GAAA/G,EAAApP,KAAAmW,GAAA/G,EAAAzO,KAAwI8pE,YAAA,WAAwB,OAAAzqE,KAAAukI,KAAgB+yC,UAAA,WAAsB,WAAAxlK,GAAA9R,KAAAukI,IAAAyO,UAAAhzI,KAAAukI,IAAA0O,WAAA,GAAAjzI,KAAAukI,IAAAgL,UAAAvvI,KAAAukI,IAAA+K,WAAA,IAAkGwlC,SAAA,WAAqB,OAAA90K,KAAAmW,IAAe0/G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvU,MAAWA,GAAAqoC,iBAAA,SAAA95K,GAAkC,IAAAiH,EAAAjH,EAAAunJ,WAAAxmJ,EAAAf,EAAAwnJ,YAAAhoJ,EAAAyH,EAAAlG,EAAAkG,EAAAlG,EAAAqT,EAAAy6H,GAAAykC,SAAA9zK,GAAA,EAAgE,OAAA4U,GAASmoB,EAAAm1G,GAAAF,IAAAvqI,EAAAyqI,GAAA5xI,UAAA,CAA0B4tC,KAAA,SAAA1tC,GAAiB,IAAAiH,EAAAuqI,GAAA4hC,gBAAApzK,EAAAnB,KAAA8yI,QAAA9yI,KAAA+yI,SAAsD,QAAA3qI,EAAA,OAAApI,KAAsB,UAAAA,KAAA8vI,QAAA1nI,GAAA,CAA2B,IAAAlG,EAAAlC,KAAA8vI,QAAA1nI,GAAsB,OAAAlG,EAAA2sC,KAAA1tC,GAAiB,OAAAnB,MAAYq0K,cAAA,SAAAlzK,GAA2B,OAAAnB,KAAAukI,IAAA/zE,WAAArvD,IAA8B6zK,WAAA,SAAA7zK,GAAwB,cAAAnB,KAAA8vI,QAAA3uI,KAAAnB,KAAA8vI,QAAA3uI,GAAAnB,KAAA+0K,cAAA5zK,IAAAnB,KAAA8vI,QAAA3uI,IAAuFspE,YAAA,WAAwB,OAAAzqE,KAAAukI,KAAgB5pH,QAAA,SAAAxZ,GAAqB,IAAAiH,EAAAuqI,GAAA4hC,gBAAApzK,EAAAnB,KAAA8yI,QAAA9yI,KAAA+yI,SAAsD,QAAA3qI,EAAA,CAAW,IAAAlG,EAAAlC,KAAAg1K,WAAA5sK,GAAyB,OAAAlG,EAAAyY,QAAAxZ,GAAoB,OAAAnB,MAAY+0K,cAAA,SAAA5zK,GAA2B,IAAAiH,EAAA,EAAAlG,EAAA,EAAAvB,EAAA,EAAA4U,EAAA,EAAoB,OAAApU,GAAU,OAAAiH,EAAApI,KAAAukI,IAAAyO,UAAA9wI,EAAAlC,KAAA8yI,QAAAnyI,EAAAX,KAAAukI,IAAAgL,UAAAh6H,EAAAvV,KAAA+yI,QAA+E,MAAM,OAAA3qI,EAAApI,KAAA8yI,QAAA5wI,EAAAlC,KAAAukI,IAAA0O,UAAAtyI,EAAAX,KAAAukI,IAAAgL,UAAAh6H,EAAAvV,KAAA+yI,QAA+E,MAAM,OAAA3qI,EAAApI,KAAAukI,IAAAyO,UAAA9wI,EAAAlC,KAAA8yI,QAAAnyI,EAAAX,KAAA+yI,QAAAx9H,EAAAvV,KAAAukI,IAAA+K,UAA+E,MAAM,OAAAlnI,EAAApI,KAAA8yI,QAAA5wI,EAAAlC,KAAAukI,IAAA0O,UAAAtyI,EAAAX,KAAA+yI,QAAAx9H,EAAAvV,KAAAukI,IAAA+K,UAA+E,IAAA9xG,EAAA,IAAA6K,EAAAjgC,EAAAlG,EAAAvB,EAAA4U,GAAAzT,EAAA,IAAA+wI,GAAAr1G,EAAAx9B,KAAA8hI,MAAA,GAA8C,OAAAhgI,GAAS88E,WAAA,SAAAz9E,GAAwBqT,EAAAiuH,OAAA,OAAAziI,KAAAukI,KAAAvkI,KAAAukI,IAAA2kB,SAAA/nJ,EAAAojI,MAAoD,IAAAn8H,EAAAuqI,GAAA4hC,gBAAApzK,EAAAojI,IAAAvkI,KAAA8yI,QAAA9yI,KAAA+yI,SAA0D,GAAA5xI,EAAA2gI,QAAA9hI,KAAA8hI,MAAA,EAAA9hI,KAAA8vI,QAAA1nI,GAAAjH,MAA4C,CAAK,IAAAe,EAAAlC,KAAA+0K,cAAA3sK,GAA4BlG,EAAA08E,WAAAz9E,GAAAnB,KAAA8vI,QAAA1nI,GAAAlG,IAAmC2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtU,MAAWA,GAAA8uB,WAAA,SAAAxgK,GAA4B,IAAAiH,EAAA,IAAAwqI,GAAAzxI,GAAAe,EAAA,IAAA2wI,GAAAzqI,EAAAqiE,cAAAriE,EAAAo4J,YAAuD,OAAAt+J,GAAS2wI,GAAAoiC,eAAA,SAAA9zK,EAAAiH,GAAiC,IAAAlG,EAAA,IAAAmmC,EAAAjgC,GAAe,OAAAjH,GAAAe,EAAA4mJ,gBAAA3nJ,EAAAojI,KAAmC,IAAA5jI,EAAAkyI,GAAA8uB,WAAAz/J,GAAuB,cAAAf,GAAAR,EAAAi+E,WAAAz9E,GAAAR,GAAmC+8B,EAAAw1G,GAAAP,IAAAvqI,EAAA8qI,GAAAjyI,UAAA,CAA0BkC,OAAA,SAAAhC,EAAAiH,GAAqB,IAAAlG,EAAAywI,GAAA4hC,gBAAApzK,EAAA+xI,GAAAppG,OAAA36B,EAAA+jI,GAAAppG,OAAA16B,GAAoD,QAAAlN,EAAA,OAAAlC,KAAAwkD,IAAAp8C,GAAA,KAAkC,IAAAzH,EAAAX,KAAA8vI,QAAA5tI,GAAsB,UAAAvB,MAAA8pE,cAAAy+E,SAAA/nJ,GAAA,CAA2C,IAAAoU,EAAAs9H,GAAAoiC,eAAAt0K,EAAAQ,GAA6BnB,KAAA8vI,QAAA5tI,GAAAqT,EAAkBvV,KAAAo1K,gBAAAp1K,KAAA8vI,QAAA5tI,GAAAf,EAAAiH,IAA0CisK,cAAA,SAAAlzK,GAA2B,UAASi0K,gBAAA,SAAAj0K,EAAAiH,EAAAlG,GAAiCsS,EAAAiuH,OAAAthI,EAAAspE,cAAAy+E,SAAA9gJ,IAAsC,IAAAzH,EAAA8vI,GAAAykC,YAAA9sK,EAAA4qI,UAAA5qI,EAAA6qI,WAAA19H,EAAAk7H,GAAAykC,YAAA9sK,EAAAmnI,UAAAnnI,EAAAknI,WAAA9xG,EAAA,KAA+FA,EAAA78B,GAAA4U,EAAApU,EAAA0tC,KAAAzmC,GAAAjH,EAAAwZ,QAAAvS,GAAAo1B,EAAAgnB,IAAAtiD,IAAuC2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjU,MAAWA,GAAAppG,OAAA,IAAAh4B,EAAA,KAAA1J,EAAA+qI,GAAAlyI,UAAA,CAAuCkU,KAAA,WAAgB,cAAAnV,KAAA85B,KAAA95B,KAAA85B,KAAA3kB,OAAA,GAA2ChS,OAAA,SAAAhC,EAAAiH,GAAsBpI,KAAAq1K,aAAAl0K,GAAqB,IAAAe,EAAAixI,GAAAmiC,aAAAn0K,EAAAnB,KAAA0wI,WAAwC1wI,KAAA85B,KAAA32B,OAAAjB,EAAAkG,IAAsBm4J,MAAA,WAAkB,OAAA3wH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA8jI,GAA4B,OAAAlsI,KAAAugK,MAAAp/J,EAAAiH,KAAA4nK,WAAoC,OAAApgI,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAkC5vC,KAAA85B,KAAAkhJ,MAAA94K,EAAAvB,KAAsBu6K,SAAA,WAAqB,IAAA/5K,EAAA,IAAA+oB,EAAY,OAAAlqB,KAAA85B,KAAAq6I,YAAAhzK,MAAkCs3G,OAAA,SAAAt3G,EAAAiH,GAAsB,IAAAlG,EAAAixI,GAAAmiC,aAAAn0K,EAAAnB,KAAA0wI,WAAwC,OAAA1wI,KAAA85B,KAAA2+E,OAAAv2G,EAAAkG,IAA6BitK,aAAA,SAAAl0K,GAA0B,IAAAiH,EAAAjH,EAAAunJ,WAAmBtgJ,EAAApI,KAAA0wI,WAAAtoI,EAAA,IAAApI,KAAA0wI,UAAAtoI,GAA0C,IAAAlG,EAAAf,EAAAwnJ,YAAoBzmJ,EAAAlC,KAAA0wI,WAAAxuI,EAAA,IAAAlC,KAAA0wI,UAAAxuI,IAA0CkmI,MAAA,WAAkB,cAAApoI,KAAA85B,KAAA95B,KAAA85B,KAAAsuG,QAAA,GAA4CjuB,QAAA,WAAoB,cAAAn6G,KAAA85B,MAAwB+7F,YAAA,WAAwB,OAAA8L,GAAAvgI,IAAa+lJ,SAAA,WAAqB,OAAAhU,MAAWA,GAAAmiC,aAAA,SAAAn0K,EAAAiH,GAAgC,IAAAlG,EAAAf,EAAA6xI,UAAAryI,EAAAQ,EAAA8xI,UAAA19H,EAAApU,EAAAouI,UAAA/xG,EAAAr8B,EAAAmuI,UAA4D,OAAAptI,IAAAvB,GAAA4U,IAAAioB,EAAAr8B,GAAAe,IAAAvB,IAAAuB,GAAAkG,EAAA,EAAAzH,EAAAuB,EAAAkG,EAAA,GAAAmN,IAAAioB,IAAAjoB,GAAAnN,EAAA,EAAAo1B,EAAAjoB,EAAAnN,EAAA,OAAAigC,EAAAnmC,EAAAvB,EAAA4U,EAAAioB,KAAuF21G,GAAA+U,kBAAA,mBAAyC,IAAAizB,GAAA/iK,OAAA8iJ,OAAA,CAAsBkgB,SAAAjoC,KAAYkoC,GAAAjjK,OAAA8iJ,OAAA,CAAoBogB,QAAA14C,KAAW24C,GAAAnjK,OAAA8iJ,OAAA,CAAoBsgB,SAAAL,GAAAM,QAAAJ,KAAuBK,GAAA,+EAAoFtzK,EAAAgrI,GAAAnyI,UAAA,CAAgB6+B,KAAA,SAAA3+B,GAAiB,IAAAiH,OAAA,EAAaA,EAAA,iBAAAjH,EAAAk9B,KAAA5R,MAAAtrB,KAAqC,IAAAe,EAAAkG,EAAAlC,KAAa,IAAAy1K,GAAAz5K,GAAA,UAAAE,MAAA,yBAAAgG,EAAAlC,MAA2D,WAAAw1K,GAAA14K,QAAAd,GAAAy5K,GAAAz5K,GAAAK,MAAAvC,KAAA,CAAAoI,EAAAzC,cAAA,uBAAAzD,EAAAy5K,GAAAz5K,GAAAK,MAAAvC,KAAA,CAAAoI,EAAAxB,aAAA+0K,GAAAz5K,GAAAK,MAAAvC,KAAA,CAAAoI,KAA4I63B,MAAA,SAAA9+B,GAAmB,IAAAiH,EAAAjH,EAAAqwJ,kBAA0B,IAAAoqB,GAAAxzK,GAAA,UAAAhG,MAAA,6BAAuD,OAAAw5K,GAAAxzK,GAAA7F,MAAAvC,KAAA,CAAAmB,OAAgC,IAAAw6K,GAAA,CAAQttH,QAAA,SAAAltD,GAAoB,IAAAiH,EAAA,GAAS,QAAAlG,KAAAf,EAAAiH,EAAAlG,GAAAf,EAAAe,GAAyB,GAAAf,EAAA0E,SAAA,CAAe,IAAAlF,EAAAQ,EAAA0E,SAAAK,KAAsB,IAAAy1K,GAAAh7K,GAAA,UAAAyB,MAAA,yBAAAjB,EAAA+E,MAA2DkC,EAAAvC,SAAA7F,KAAA8/B,KAAA3+B,EAAA0E,UAAiC,OAAA1E,EAAAif,OAAAhY,EAAAgY,KAAAu7J,GAAAv7J,KAAA7d,MAAAvC,KAAA,CAAAmB,EAAAif,QAAAhY,GAAuDyzK,kBAAA,SAAA16K,GAA+B,IAAAiH,EAAA,GAAS,GAAAjH,EAAAqF,SAAA,CAAe4B,EAAA5B,SAAA,GAAc,QAAAtE,EAAA,EAAYA,EAAAf,EAAAqF,SAAArE,SAAoBD,EAAAkG,EAAA5B,SAAA5F,KAAAZ,KAAA8/B,KAAA3+B,EAAAqF,SAAAtE,KAA8C,OAAAf,EAAAif,OAAAhY,EAAAgY,KAAApgB,KAAAysB,MAAArM,KAAA7d,MAAAvC,KAAA,CAAAmB,EAAAif,QAAAhY,GAA+DzC,YAAA,SAAAyC,GAA2B,QAAAjH,EAAA,GAAAe,EAAA,EAAiBA,EAAAkG,EAAAjG,SAAWD,EAAA,CAAK,IAAAvB,EAAAyH,EAAAlG,GAAWf,EAAAP,KAAA,IAAAkR,EAAAnR,EAAA,GAAAA,EAAA,KAAyB,OAAAQ,GAASif,KAAA,SAAAjf,GAAkB,OAAAnB,KAAAq8H,gBAAApD,iBAAA,KAAAnnH,EAAA3Q,EAAA,GAAAA,EAAA,QAAA2Q,EAAA3Q,EAAA,GAAAA,EAAA,QAAA2Q,EAAA3Q,EAAA,GAAAA,EAAA,QAAA2Q,EAAA3Q,EAAA,GAAAA,EAAA,QAAA2Q,EAAA3Q,EAAA,GAAAA,EAAA,OAAqI2hC,MAAA,SAAA3hC,GAAmB,IAAAiH,EAAA,IAAA0J,EAAA3Q,EAAA,GAAAA,EAAA,IAAuB,OAAAnB,KAAAq8H,gBAAAw1B,YAAAzpJ,IAA2Cs7C,WAAA,SAAAviD,GAAwB,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAgB,SAAWD,EAAAkG,EAAAxH,KAAA+6K,GAAA74I,MAAAvgC,MAAAvC,KAAA,CAAAmB,EAAAe,MAAwC,OAAAlC,KAAAq8H,gBAAA41B,iBAAA7pJ,IAAgDu7C,WAAA,SAAAxiD,GAAwB,IAAAiH,EAAAuzK,GAAAh2K,YAAApD,MAAAvC,KAAA,CAAAmB,IAAqC,OAAAnB,KAAAq8H,gBAAA82B,iBAAA/qJ,IAAgD07C,gBAAA,SAAA3iD,GAA6B,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAgB,SAAWD,EAAAkG,EAAAxH,KAAA+6K,GAAAh4H,WAAAphD,MAAAvC,KAAA,CAAAmB,EAAAe,MAA6C,OAAAlC,KAAAq8H,gBAAAo1B,sBAAArpJ,IAAqD27C,QAAA,SAAA5iD,GAAqB,QAAAiH,EAAAuzK,GAAAh2K,YAAApD,MAAAvC,KAAA,CAAAmB,EAAA,KAAAe,EAAAlC,KAAAq8H,gBAAApD,iBAAA7wH,GAAAzH,EAAA,GAAA4U,EAAA,EAAgGA,EAAApU,EAAAgB,SAAWoT,EAAA,CAAK,IAAAioB,EAAAr8B,EAAAoU,GAAAzT,EAAA65K,GAAAh2K,YAAApD,MAAAvC,KAAA,CAAAw9B,IAAAl9B,EAAAN,KAAAq8H,gBAAApD,iBAAAn3H,GAAuFnB,EAAAC,KAAAN,GAAU,OAAAN,KAAAq8H,gBAAA23B,cAAA9xJ,EAAAvB,IAA+CqjD,aAAA,SAAA7iD,GAA0B,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAgB,SAAWD,EAAA,CAAK,IAAAvB,EAAAQ,EAAAe,GAAWkG,EAAAxH,KAAA+6K,GAAA53H,QAAAxhD,MAAAvC,KAAA,CAAAW,KAAmC,OAAAX,KAAAq8H,gBAAAo3B,mBAAArrJ,IAAkDo7C,mBAAA,SAAAriD,GAAgC,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAgB,SAAWD,EAAA,CAAK,IAAAvB,EAAAQ,EAAAe,GAAWkG,EAAAxH,KAAAZ,KAAA8/B,KAAAn/B,IAAqB,OAAAX,KAAAq8H,gBAAAi1B,yBAAAlpJ,KAAyDwzK,GAAA,CAAK7kK,WAAA,SAAA5V,GAAuB,OAAAA,EAAAgO,EAAAhO,EAAAiO,IAAgB0zB,MAAA,SAAA3hC,GAAmB,IAAAiH,EAAAwzK,GAAA7kK,WAAAxU,MAAAvC,KAAA,CAAAmB,EAAAiiI,kBAAoD,OAAOl9H,KAAA,QAAAP,YAAAyC,IAA4Bs7C,WAAA,SAAAviD,GAAwB,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,SAAsBD,EAAA,CAAK,IAAAvB,EAAAQ,EAAAyF,WAAA1E,GAAAqT,EAAAqmK,GAAA94I,MAAAvgC,MAAAvC,KAAA,CAAAW,IAAiDyH,EAAAxH,KAAA2U,EAAA5P,aAAsB,OAAOO,KAAA,aAAAP,YAAAyC,IAAiCu7C,WAAA,SAAAxiD,GAAwB,QAAAiH,EAAA,GAAAlG,EAAAf,EAAAyzB,iBAAAj0B,EAAA,EAAsCA,EAAAuB,EAAAC,SAAWxB,EAAA,CAAK,IAAA4U,EAAArT,EAAAvB,GAAWyH,EAAAxH,KAAAg7K,GAAA7kK,WAAAxU,MAAAvC,KAAA,CAAAuV,KAAsC,OAAOrP,KAAA,aAAAP,YAAAyC,IAAiC07C,gBAAA,SAAA3iD,GAA6B,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,SAAsBD,EAAA,CAAK,IAAAvB,EAAAQ,EAAAyF,WAAA1E,GAAAqT,EAAAqmK,GAAAj4H,WAAAphD,MAAAvC,KAAA,CAAAW,IAAsDyH,EAAAxH,KAAA2U,EAAA5P,aAAsB,OAAOO,KAAA,kBAAAP,YAAAyC,IAAsC27C,QAAA,SAAA5iD,GAAqB,IAAAiH,EAAA,GAAAlG,EAAA05K,GAAAj4H,WAAAphD,MAAAvC,KAAA,CAAAmB,EAAAypE,QAA+CxiE,EAAAxH,KAAAsB,EAAAyD,aAAsB,QAAAhF,EAAA,EAAYA,EAAAQ,EAAAqhF,MAAArgF,SAAiBxB,EAAA,CAAK,IAAA4U,EAAApU,EAAAqhF,MAAA7hF,GAAA68B,EAAAo+I,GAAAj4H,WAAAphD,MAAAvC,KAAA,CAAAuV,IAAiDnN,EAAAxH,KAAA48B,EAAA73B,aAAsB,OAAOO,KAAA,UAAAP,YAAAyC,IAA8B47C,aAAA,SAAA7iD,GAA0B,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,SAAsBD,EAAA,CAAK,IAAAvB,EAAAQ,EAAAyF,WAAA1E,GAAAqT,EAAAqmK,GAAA73H,QAAAxhD,MAAAvC,KAAA,CAAAW,IAAmDyH,EAAAxH,KAAA2U,EAAA5P,aAAsB,OAAOO,KAAA,eAAAP,YAAAyC,IAAmCo7C,mBAAA,SAAAriD,GAAgC,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,SAAsBD,EAAA,CAAK,IAAAvB,EAAAQ,EAAAyF,WAAA1E,GAAAqT,EAAA5U,EAAA6wJ,kBAA4CppJ,EAAAxH,KAAAg7K,GAAArmK,GAAAhT,MAAAvC,KAAA,CAAAW,KAA8B,OAAOuF,KAAA,qBAAAU,WAAAwB,KAA0CA,EAAAirI,GAAApyI,UAAA,CAAgB6+B,KAAA,SAAA3+B,GAAiB,IAAAiH,EAAApI,KAAAqkE,OAAAvkC,KAAA3+B,GAA0B,OAAAnB,KAAAi8H,eAAA3sG,YAAAkpC,GAAAqjE,OAAA77H,KAAA87K,gBAAA1zK,MAA2E0zK,gBAAA,SAAA36K,GAA6B,IAAAiH,EAAAlG,EAAQ,GAAAf,EAAA4V,WAAA/W,KAAAi8H,eAAA44B,YAAA1zJ,EAAA4V,iBAA8D,GAAA5V,EAAAa,OAAA,IAAAoG,EAAA,EAAAlG,EAAAf,EAAAa,OAAAG,OAA2CiG,EAAAlG,EAAIkG,IAAApI,KAAAi8H,eAAA44B,YAAA1zJ,EAAAa,OAAAoG,SAAiD,GAAAjH,EAAAyF,WAAA,IAAAwB,EAAA,EAAAlG,EAAAf,EAAAyF,WAAAzE,OAAmDiG,EAAAlG,EAAIkG,IAAApI,KAAA87K,gBAAA36K,EAAAyF,WAAAwB,OAA2CA,EAAAkrI,GAAAryI,UAAA,CAAkBg/B,MAAA,SAAA9+B,GAAkB,OAAAnB,KAAAqkE,OAAApkC,MAAA9+B,MAA6BiH,EAAAmrI,GAAAtyI,UAAA,CAAkB6+B,KAAA,SAAA3+B,GAAiB,IAAAiH,EAAApI,KAAAqkE,OAAAvkC,KAAA3+B,GAA0B,OAAAnB,KAAAi8H,eAAA3sG,YAAAkpC,GAAAqjE,OAAA77H,KAAA87K,gBAAA1zK,MAA2E0zK,gBAAA,SAAA36K,GAA6B,GAAAA,EAAA4V,WAAA/W,KAAAi8H,eAAA44B,YAAA1zJ,EAAA4V,iBAA8D,GAAA5V,EAAAa,OAAA,QAAAoG,EAAA,EAAAlG,EAAAf,EAAAa,OAAA2D,YAAAxD,OAA2DiG,EAAAlG,EAAIkG,IAAApI,KAAAi8H,eAAA44B,YAAA1zJ,EAAAa,OAAA2D,YAAAyC,SAA6D,GAAAjH,EAAAyF,WAAA,QAAAjG,EAAA,EAAA4U,EAAApU,EAAAyF,WAAAzE,OAAuDxB,EAAA4U,EAAI5U,IAAAX,KAAA87K,gBAAA36K,EAAAyF,WAAAjG,OAA2CyH,EAAAqrI,GAAAxyI,UAAA,CAAkB6+B,KAAA,SAAA3+B,GAAiB,IAAAiH,EAAApI,KAAA0zI,GAAc,OAAAvyI,aAAAiH,EAAAtB,KAAAg8B,MAAA9iC,KAAA+7K,iBAAA56K,gBAAAiH,EAAAtB,KAAA68C,WAAA3jD,KAAAg8K,sBAAA76K,gBAAAiH,EAAAtB,KAAA20J,WAAAz7J,KAAAi8K,sBAAA96K,gBAAAiH,EAAAtB,KAAAi9C,QAAA/jD,KAAAk8K,mBAAA/6K,gBAAAiH,EAAAtB,KAAA48C,WAAA1jD,KAAAm8K,sBAAAh7K,gBAAAiH,EAAAtB,KAAAg9C,gBAAA9jD,KAAAo8K,2BAAAj7K,gBAAAiH,EAAAtB,KAAAk9C,aAAAhkD,KAAAq8K,wBAAAl7K,gBAAAiH,EAAAtB,KAAA08C,mBAAAxjD,KAAAs8K,sBAAAn7K,QAAA,GAA4f46K,iBAAA,SAAA56K,GAA8B,IAAAiH,EAAAjH,EAAAyzB,iBAAyB,OAAA50B,KAAAq8H,gBAAAw1B,YAAA,IAAA//I,EAAA1J,EAAA,GAAAA,EAAA,MAA0D4zK,sBAAA,SAAA76K,GAAmC,OAAAnB,KAAAq8H,gBAAA82B,iBAAAhyJ,EAAAyzB,iBAAAzrB,IAAA,SAAAhI,GAAgF,WAAA2Q,EAAA3Q,EAAA,GAAAA,EAAA,QAA2B86K,sBAAA,SAAA96K,GAAmC,OAAAnB,KAAAq8H,gBAAApD,iBAAA93H,EAAAyzB,iBAAAzrB,IAAA,SAAAhI,GAAgF,WAAA2Q,EAAA3Q,EAAA,GAAAA,EAAA,QAA2B+6K,mBAAA,SAAA/6K,GAAgC,QAAAiH,EAAAjH,EAAAo7K,iBAAAr6K,EAAA,KAAAvB,EAAA,GAAA4U,EAAA,EAA6CA,EAAAnN,EAAAjG,OAAWoT,IAAA,CAAK,IAAAioB,EAAAx9B,KAAAi8K,sBAAA7zK,EAAAmN,IAAuC,IAAAA,EAAArT,EAAAs7B,EAAA78B,EAAAC,KAAA48B,GAAoB,OAAAx9B,KAAAq8H,gBAAA23B,cAAA9xJ,EAAAvB,IAA+Cw7K,sBAAA,SAAAh7K,GAAmC,IAAAiH,EAAAjH,EAAAq7K,YAAArzK,IAAA,SAAAhI,GAAoC,OAAAnB,KAAA+7K,iBAAA56K,IAAgCnB,MAAO,OAAAA,KAAAq8H,gBAAA41B,iBAAA7pJ,IAAgDg0K,2BAAA,SAAAj7K,GAAwC,IAAAiH,EAAAjH,EAAAs7K,iBAAAtzK,IAAA,SAAAhI,GAAyC,OAAAnB,KAAAg8K,sBAAA76K,IAAqCnB,MAAO,OAAAA,KAAAq8H,gBAAAo1B,sBAAArpJ,IAAqDi0K,wBAAA,SAAAl7K,GAAqC,IAAAiH,EAAAjH,EAAAgrK,cAAAhjK,IAAA,SAAAhI,GAAsC,OAAAnB,KAAAk8K,mBAAA/6K,IAAkCnB,MAAO,OAAAA,KAAAq8H,gBAAAo3B,mBAAArrJ,IAAkDk0K,sBAAA,SAAAn7K,GAAmC,IAAAiH,EAAAjH,EAAAu7K,gBAAAvzK,IAAA,SAAAhI,GAAwC,OAAAnB,KAAA8/B,KAAA3+B,IAAoBnB,MAAO,OAAAA,KAAAq8H,gBAAAi1B,yBAAAlpJ,IAAwD63B,MAAA,SAAA9+B,GAAmB,gBAAAA,EAAAqwJ,kBAAAxxJ,KAAA28K,eAAAx7K,EAAAiiI,iBAAA,eAAAjiI,EAAAqwJ,kBAAAxxJ,KAAA48K,oBAAAz7K,GAAA,eAAAA,EAAAqwJ,kBAAAxxJ,KAAA68K,oBAAA17K,GAAA,YAAAA,EAAAqwJ,kBAAAxxJ,KAAA88K,iBAAA37K,GAAA,eAAAA,EAAAqwJ,kBAAAxxJ,KAAA+8K,oBAAA57K,GAAA,oBAAAA,EAAAqwJ,kBAAAxxJ,KAAAg9K,yBAAA77K,GAAA,iBAAAA,EAAAqwJ,kBAAAxxJ,KAAAi9K,sBAAA97K,GAAA,uBAAAA,EAAAqwJ,kBAAAxxJ,KAAAk9K,oBAAA/7K,QAAA,GAA2hBw7K,eAAA,SAAAx7K,GAA4B,WAAAnB,KAAA0zI,GAAA5sI,KAAAg8B,MAAA,CAAA3hC,EAAAgO,EAAAhO,EAAAiO,KAAyCwtK,oBAAA,SAAAz7K,GAAiC,IAAAiH,EAAAjH,EAAAa,OAAA2D,YAAAwD,IAAAqqI,IAAmC,WAAAxzI,KAAA0zI,GAAA5sI,KAAA68C,WAAAv7C,IAAsCy0K,oBAAA,SAAA17K,GAAiC,IAAAiH,EAAAjH,EAAAa,OAAA2D,YAAAwD,IAAAqqI,IAAmC,WAAAxzI,KAAA0zI,GAAA5sI,KAAA20J,WAAArzJ,IAAsC00K,iBAAA,SAAA37K,GAA8B,QAAAiH,EAAA,CAAAjH,EAAAypE,MAAA5oE,OAAA2D,YAAAwD,IAAAqqI,KAAAtxI,EAAA,EAAmDA,EAAAf,EAAAqhF,MAAArgF,OAAiBD,IAAAkG,EAAAxH,KAAAO,EAAAqhF,MAAAtgF,GAAAF,OAAA2D,YAAAwD,IAAAqqI,KAAkD,WAAAxzI,KAAA0zI,GAAA5sI,KAAAi9C,QAAA37C,IAAmC20K,oBAAA,SAAA57K,GAAiC,WAAAnB,KAAA0zI,GAAA5sI,KAAA48C,WAAAviD,EAAAyzB,iBAAAzrB,IAAAqqI,MAA+DwpC,yBAAA,SAAA77K,GAAsC,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,OAAsBD,IAAAkG,EAAAxH,KAAAZ,KAAA48K,oBAAAz7K,EAAAyF,WAAA1E,IAAA0yB,kBAAuE,WAAA50B,KAAA0zI,GAAA5sI,KAAAg9C,gBAAA17C,IAA2C60K,sBAAA,SAAA97K,GAAmC,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,OAAsBD,IAAAkG,EAAAxH,KAAAZ,KAAA88K,iBAAA37K,EAAAyF,WAAA1E,IAAA0yB,kBAAoE,WAAA50B,KAAA0zI,GAAA5sI,KAAAk9C,aAAA57C,IAAwC80K,oBAAA,SAAA/7K,GAAiC,QAAAiH,EAAA,GAAAlG,EAAA,EAAiBA,EAAAf,EAAAyF,WAAAzE,OAAsBD,IAAA,CAAK,IAAAvB,EAAAQ,EAAAyF,WAAA1E,GAAsBkG,EAAAxH,KAAAZ,KAAAigC,MAAAt/B,IAAsB,WAAAX,KAAA0zI,GAAA5sI,KAAA08C,mBAAAp7C,MAAiD,IAAA+0K,GAAA/kK,OAAA8iJ,OAAA,CAAsBr7H,cAAAwzG,GAAArzG,cAAAszG,GAAA8pC,UAAA3pC,GAAA4pC,UAAA9pC,GAAA+pC,UAAAhhD,KAA2El0H,EAAAurI,GAAA1yI,UAAA,CAAgBs8K,QAAA,WAAmB,GAAA7tE,EAAA9/D,UAAA,GAAA9sC,GAAA,QAAA3B,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAutF,WAA2DtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAu9K,QAAAr7K,EAAA0yB,uBAAiC,GAAAgb,UAAA,aAAA/tC,MAAA,CAAsC,IAAAlB,EAAAivC,UAAA,GAAiC,IAAAjvC,EAAAwB,SAAA,IAAA2P,EAAAnR,EAAA,QAAAmR,EAAAnR,EAAA,KAA4C,IAAAyH,EAAA,EAAYA,EAAAzH,EAAAwB,OAAWiG,IAAAzH,EAAAyH,GAAA+G,EAAAxO,EAAAyH,GAAA+G,EAAAnP,KAAA6zI,YAAA7zI,KAAAumB,QAAA5lB,EAAAyH,GAAAgH,EAAAzO,EAAAyH,GAAAgH,EAAApP,KAAA6zI,YAAA7zI,KAAA0mB,QAA4F,IAAA/lB,EAAAwB,QAAAxB,EAAA,GAAAwiI,SAAAxiI,EAAA,KAAAwnC,EAAAm7B,IAAAk1F,QAAA73J,KAAqD+0B,MAAA,WAAkB,GAAAg6E,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAsB,QAAA3B,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA8CxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAezT,EAAAo8C,IAAA,IAAAw/E,GAAAhkI,KAAA01B,MAAA/0B,EAAAi0B,kBAAAj0B,EAAAq/J,YAA0D,OAAA53J,EAAS,GAAAwnC,UAAA,aAAA/tC,MAAA,CAAiC,IAAA0T,EAAAq6B,UAAA,GAAApS,EAAA,IAAA37B,MAAA0T,EAAApT,QAAAyhC,KAAA,UAAA1hC,EAAA,EAA4DA,EAAAqT,EAAApT,OAAWD,IAAAs7B,EAAAt7B,GAAA,IAAA4P,EAAA/N,KAAAkjB,OAAA1R,EAAArT,GAAAiN,EAAAnP,KAAAumB,SAAAvmB,KAAA6zI,aAAA9vI,KAAAkjB,OAAA1R,EAAArT,GAAAkN,EAAApP,KAAA0mB,SAAA1mB,KAAA6zI,aAAAt+H,EAAArT,GAAAw/B,GAA6H,IAAA5/B,EAAAy0H,EAAAw4B,qBAAAvxH,GAAgC,OAAA17B,IAAUiyI,mBAAA,WAA+B,WAAA/zI,KAAA6zI,aAA4BgwB,mBAAA,WAA+B,IAAA1iK,EAAAnB,KAAA4zI,MAAAiwB,qBAAsC,OAAA7jK,KAAA8zI,UAAA9zI,KAAAu9K,QAAAp8K,MAAwC6jK,aAAA,SAAA7jK,GAA0B,IAAAiH,EAAAjH,EAAQnB,KAAA8zI,WAAA1rI,EAAApI,KAAA01B,MAAAv0B,IAAAnB,KAAA4zI,MAAAoxB,aAAA58J,IAA4DytH,YAAA,WAAwB,OAAA6O,KAAWyiB,SAAA,WAAqB,OAAAxT,MAAa,IAAA6pC,GAAAplK,OAAA8iJ,OAAA,CAAsBuiB,aAAA54C,GAAA64C,YAAA/pC,GAAAgqC,cAAAv8C,KAAkDh5H,EAAA4rI,GAAA/yI,UAAA,CAAgB28K,mBAAA,SAAAz8K,GAA+B,GAAAA,EAAAg5G,UAAA,SAAwB,QAAA/xG,EAAA,IAAAmvH,GAAAr1H,EAAA,EAAqBA,EAAAf,EAAA0/H,mBAAuB3+H,IAAA,CAAK,IAAAvB,EAAAQ,EAAAyrJ,aAAA1qJ,GAAAqT,EAAA5U,EAAAyiI,gBAA4C,GAAAh7H,EAAA8gJ,SAAA3zI,GAAA,OAAAvV,KAAAk0I,kBAAA3+H,GAAA,EAAoDnN,EAAAo8C,IAAAjvC,GAAS,UAASsoK,kBAAA,SAAA18K,GAA+B,QAAAiH,EAAA4lC,GAAA+hI,SAAA5uK,GAAAe,EAAAkG,EAAAsmF,WAAwCxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,IAAA7b,KAAA89K,uBAAAn9K,GAAA,SAA4C,UAASo9K,8BAAA,SAAA58K,GAA2C,QAAAiH,EAAA,IAAAkxD,GAAAp3D,EAAAf,EAAAiqK,kBAAuClpK,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,GAAA5U,EAAAgwK,yBAAAhwK,EAAA4+H,YAAA/hG,EAAA78B,EAAAyiI,cAAA,GAAgFpjI,KAAAmyJ,YAAA/pJ,EAAAo1B,EAAAjoB,GAAwB,IAAAzT,EAAAnB,EAAAyiI,cAAAziI,EAAA0nI,eAAA,GAA0CroI,KAAAmyJ,YAAA/pJ,EAAAtG,EAAAyT,GAAwB,IAAArT,EAAAkG,EAAAof,SAAAknE,WAAgCxsF,EAAAimJ,WAAY,CAAE,IAAA7nJ,EAAA4B,EAAA2Z,OAAe,GAAAvb,EAAAi/H,UAAA,IAAAj/H,EAAAwc,OAAA,OAAA9c,KAAAk0I,kBAAA5zI,EAAA8iI,iBAAA,EAA+E,UAAS46C,qBAAA,WAAiC,OAAAh+K,KAAAk0I,mBAA8B4pC,uBAAA,SAAA38K,GAAoC,GAAAA,EAAAg5G,UAAA,SAAwB,IAAA/xG,EAAA,IAAAglI,GAAA,EAAAjsI,GAAAe,EAAA,IAAA26H,GAAAl8H,EAAAyH,EAAA6oK,iBAAA/uK,GAAA,GAAsD,OAAAvB,EAAAu/I,oBAAAv/I,EAAAquK,yBAAAhvK,KAAAk0I,kBAAAvzI,EAAAiuK,8BAAA,IAAA5uK,KAAAi+K,2BAAA71K,MAAApI,KAAAi0I,8BAAAj0I,KAAA+9K,8BAAA31K,MAAoO61K,2BAAA,SAAA98K,GAAwC,QAAAiH,EAAAjH,EAAAiqK,kBAA8BhjK,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAyuK,yBAAAp7J,EAAArT,EAAA4uK,0BAAApiF,WAA0Fn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe,IAAA2hB,EAAAq5H,WAAAl2J,GAAA,OAAAX,KAAAk0I,kBAAA12G,EAAA4lG,iBAAA,EAAuE,UAAS+uB,YAAA,SAAAhxJ,EAAAiH,EAAAlG,GAA6B,IAAAvB,EAAAQ,EAAAmX,IAAAlQ,GAAe,OAAAzH,MAAA,IAAAyzI,GAAAhsI,GAAAjH,EAAA66H,IAAA5zH,EAAAzH,MAAAwxJ,YAAAjwJ,IAAoDg8K,cAAA,SAAA/8K,GAA2B,OAAAnB,KAAAk0I,kBAAA,OAAA/yI,EAAAg5G,YAAAh5G,aAAAy3H,GAAA54H,KAAA89K,uBAAA38K,gBAAA02H,GAAA73H,KAAA89K,uBAAA38K,gBAAAg4H,GAAAn5H,KAAA49K,mBAAAz8K,GAAAuuG,EAAAvuG,EAAA43H,IAAA/4H,KAAA69K,kBAAA18K,kBAAAw2H,KAAA33H,KAAAm+K,2BAAAh9K,KAAsR6xJ,SAAA,WAAqB,OAAAhzJ,KAAAk0I,kBAAA,KAAAl0I,KAAAk+K,cAAAl+K,KAAA4+H,YAAsEu/C,2BAAA,SAAAh9K,GAAwC,QAAAiH,EAAA,EAAYA,EAAAjH,EAAA0/H,mBAAuBz4H,IAAA,CAAK,IAAAlG,EAAAf,EAAAyrJ,aAAAxkJ,GAAwB,IAAApI,KAAAk+K,cAAAh8K,GAAA,SAAmC,UAAS2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnT,MAAW5rI,EAAAgsI,GAAAnzI,UAAA,CAAkBkxJ,YAAA,SAAAhxJ,GAAwBnB,KAAA8c,SAAA9c,KAAAu/H,UAAAp+H,GAA+BiiI,cAAA,WAA0B,OAAApjI,KAAAmW,IAAe0/G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/S,MAAWJ,GAAAoqC,aAAAhqC,GAAAhsI,EAAAisI,GAAApzI,UAAA,CAAqCo9K,eAAA,WAA0B,OAAAr+K,KAAAw0I,aAAwB8pC,cAAA,WAA0B,OAAAt+K,KAAA80I,gBAA2BG,oBAAA,SAAA9zI,GAAiCnB,KAAAs0I,iBAAAnzI,EAAA,IAAAnB,KAAAs0I,mBAAAt0I,KAAA00I,UAAAL,GAAAkqC,YAAAv+K,KAAAs0I,iBAAA,IAAAt0I,KAAA00I,UAAAL,GAAAmqC,WAAAx+K,KAAA40I,WAAA7wI,KAAA6hB,IAAA5lB,KAAAs0I,mBAAAnzI,GAAA,IAAAnB,KAAAs0I,iBAAA,GAAAt0I,KAAA00I,YAAAL,GAAAM,aAAA30I,KAAAs0I,iBAAAD,GAAAE,4BAA+S+C,aAAA,WAAyB,OAAAt3I,KAAA00I,WAAsBS,aAAA,SAAAh0I,GAA0BnB,KAAA00I,UAAAvzI,GAAiBs9K,kBAAA,SAAAt9K,GAA+BnB,KAAA+0I,eAAA5zI,EAAA,IAAAA,GAA4Bu9K,kBAAA,WAA8B,OAAA1+K,KAAA+0I,gBAA2BsC,oBAAA,WAAgC,OAAAr3I,KAAAs0I,kBAA6BY,eAAA,SAAA/zI,GAA4BnB,KAAAw0I,YAAArzI,GAAmBw9K,cAAA,WAA0B,OAAA3+K,KAAA40I,YAAuBQ,cAAA,SAAAj0I,GAA2BnB,KAAA40I,WAAAzzI,GAAkBy9K,eAAA,SAAAz9K,GAA4BnB,KAAA80I,eAAA3zI,GAAsB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9S,MAAWA,GAAAwqC,oBAAA,SAAA19K,GAAqC,IAAAiH,EAAArE,KAAAsvC,GAAA,EAAAlyC,EAAkB,SAAA4C,KAAAklB,IAAA7gB,EAAA,IAAuBisI,GAAAI,UAAA,EAAAJ,GAAAyqC,SAAA,EAAAzqC,GAAA0qC,WAAA,EAAA1qC,GAAAM,WAAA,EAAAN,GAAAmqC,WAAA,EAAAnqC,GAAAkqC,WAAA,EAAAlqC,GAAAE,0BAAA,EAAAF,GAAAQ,oBAAA,EAAAR,GAAAW,wBAAA,IAAA5sI,EAAAitI,GAAAp0I,UAAA,CAAqMmiI,cAAA,WAAyB,OAAApjI,KAAAu1I,UAAqBypC,iBAAA,SAAA79K,EAAAiH,GAAgC,IAAAlG,EAAAlC,KAAAi/K,0BAAA99K,EAAAiH,GAA0C,OAAAlG,EAAA,IAAAA,EAAAlC,KAAAi/K,0BAAA99K,EAAAiH,EAAA,IAAAlG,EAAA,IAAAlC,KAAAu1I,SAAA,KAAAv1I,KAAAk/K,4BAAA/9K,IAAAe,GAAsHi9K,0BAAA,WAAsC,IAAAh+K,EAAAnB,KAAAw1I,MAAA3R,UAAAjvG,iBAA4CpgB,EAAAiuH,OAAAziI,KAAAs1I,SAAA,GAAAt1I,KAAAs1I,SAAAn0I,EAAAgB,OAAA,0DAA2G,IAAAiG,EAAAjH,EAAAnB,KAAAs1I,SAAA,GAAApzI,EAAAf,EAAAnB,KAAAs1I,SAAA,GAAA30I,EAAAu8H,GAAAi8B,mBAAAn5J,KAAAu1I,SAAArzI,EAAAkG,GAAAmN,GAAA,EAA8FnN,EAAAgH,EAAApP,KAAAu1I,SAAAnmI,GAAAlN,EAAAkN,EAAApP,KAAAu1I,SAAAnmI,GAAAzO,IAAAu8H,GAAAkZ,iBAAA7gI,GAAA,EAAAnN,EAAAgH,EAAApP,KAAAu1I,SAAAnmI,GAAAlN,EAAAkN,EAAApP,KAAAu1I,SAAAnmI,GAAAzO,IAAAu8H,GAAAo8B,YAAA/jJ,GAAA,GAAAA,IAAAvV,KAAAs1I,SAAAt1I,KAAAs1I,SAAA,IAA6K2pC,0BAAA,SAAA99K,EAAAiH,GAAyC,IAAAlG,EAAAf,EAAA0iI,UAAAljI,EAAAuB,EAAA0yB,iBAAuC,GAAAxsB,EAAA,GAAAA,EAAA,GAAAzH,EAAAwB,OAAA,SAA+B,GAAAxB,EAAAyH,GAAAgH,IAAAzO,EAAAyH,EAAA,GAAAgH,EAAA,SAA8B,IAAAmG,EAAA8wH,GAAAE,KAAc,OAAA5lI,EAAAyH,GAAAgH,EAAAzO,EAAAyH,EAAA,GAAAgH,IAAAmG,EAAA8wH,GAAAG,OAAAjxH,GAAuCsuH,QAAA,WAAoB,OAAA7jI,KAAAy1I,YAAuBypC,4BAAA,SAAA/9K,GAAyC,QAAAiH,EAAAjH,EAAA0iI,UAAAjvG,iBAAA1yB,EAAA,EAA2CA,EAAAkG,EAAAjG,OAAA,EAAaD,KAAA,OAAAlC,KAAAu1I,UAAAntI,EAAAlG,GAAAiN,EAAAnP,KAAAu1I,SAAApmI,KAAAnP,KAAAw1I,MAAAr0I,EAAAnB,KAAAs1I,SAAApzI,EAAAlC,KAAAu1I,SAAAntI,EAAAlG,KAAsGk9K,wBAAA,WAAoC,IAAAj+K,EAAAnB,KAAAw1I,MAAA76H,UAAAvS,EAAAjH,EAAAsmK,WAA0CznK,KAAAw1I,MAAAptI,EAAA0lK,mBAAA9tK,KAAAw1I,MAAA4xB,cAAApnK,KAAAw1I,MAAAx1I,KAAAw1I,MAAA20B,SAAAnqK,KAAAs1I,SAAAt1I,KAAAw1I,MAAA3R,UAAAjvG,iBAAAzyB,OAAA,IAAsJupK,SAAA,SAAAvqK,GAAsB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAAklK,aAAApnK,KAAAk/K,4BAAAh9K,GAAmDsS,EAAAiuH,OAAA,IAAAziI,KAAAs1I,UAAAt1I,KAAAu1I,SAAA12D,OAAA7+E,KAAAw1I,MAAApS,iBAAA,6CAAApjI,KAAAs1I,SAAAt1I,KAAAo/K,0BAAAp/K,KAAAm/K,4BAAAn/K,KAAAy1I,WAAAz1I,KAAAw1I,MAAmO,IAAA70I,EAAAX,KAAAg/K,iBAAAh/K,KAAAw1I,MAAAx1I,KAAAs1I,UAAsD30I,IAAA0lI,GAAAE,OAAAvmI,KAAAy1I,WAAAz1I,KAAAw1I,MAAA20B,WAAmDt0C,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9R,MAAWK,GAAAz0I,UAAAo+K,QAAA,SAAAl+K,GAAmCnB,KAAAq1H,OAAAz0H,KAAAO,IAAoBu0I,GAAAz0I,UAAAq+K,YAAA,WAAqC,OAAAt/K,KAAAq1H,OAAA/jF,SAA2BokG,GAAAz0I,UAAAk5G,QAAA,WAAiC,WAAAn6G,KAAAq1H,OAAAlzH,QAA8BiG,EAAAutI,GAAA10I,UAAA,CAAiBs+K,kBAAA,WAA6B,QAAAp+K,EAAAnB,KAAA61I,YAAAnnD,WAAsCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAogK,YAAA,KAAkBgX,uBAAA,WAAmC,OAAAx/K,KAAA81I,gBAA2B2pC,iBAAA,SAAAt+K,GAA8B,QAAAiH,EAAA,KAAAlG,EAAAf,EAAAsmK,WAAA/4E,WAAyCxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,EAAAqoK,aAAAroK,EAAAwpK,SAAAnB,YAAA,CAA0C5gK,EAAAzH,EAAI,OAAO,UAAAyH,EAAA,UAAAg9H,GAAA,4CAAAjkI,EAAAiiI,iBAAwFjiI,EAAAsmK,WAAAuG,cAAA5lK,GAA8B,IAAAlG,EAAAf,EAAAsmK,WAAA/4E,WAAkCxsF,EAAAimJ,WAAY,CAAExnJ,EAAAuB,EAAA2Z,OAAelb,EAAA6nK,YAAA,GAAAxoK,KAAA0/K,cAAA/+K,KAAwCg/K,aAAA,SAAAx+K,GAA0BnB,KAAAu/K,oBAAyB,IAAAn3K,EAAApI,KAAA41I,OAAA/R,UAA4Bz7H,EAAAuS,UAAAvS,EAAAu0I,WAAyBv0I,EAAAoiK,cAAAnkC,GAAAG,MAAArlI,GAAAnB,KAAA0/K,cAAAt3K,GAAApI,KAAAguK,cAAA5lK,IAAwEwb,OAAA,SAAAziB,GAAoBnB,KAAA4/K,aAAAz+K,GAAAnB,KAAA41I,OAAA81B,SAAA1rK,KAAA61I,aAAA71I,KAAA81I,eAAA91I,KAAA41I,OAAAxS,iBAA4Gy8C,gBAAA,WAA4B,QAAA1+K,EAAAnB,KAAA61I,YAAAnnD,WAAsCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAyhK,SAAAxjC,GAAAG,QAAA,GAAAp+H,EAAAyhK,SAAAxjC,GAAAE,OAAA,IAAAn+H,EAAA2hK,sBAAA3hK,EAAAw/J,aAAA,KAA6FoG,cAAA,SAAA7sK,GAA2B,IAAAiH,EAAA,IAAAwuH,EAAA10H,EAAA,IAAAwzI,GAAA/0I,EAAAQ,EAAAwZ,UAAmC,IAAAzY,EAAAm9K,QAAA1+K,GAAAyH,EAAAo8C,IAAA7jD,GAAAQ,EAAAqnK,YAAA,IAA2CtmK,EAAAi4G,WAAa,CAAE,IAAA5kG,EAAArT,EAAAo9K,cAAsBl3K,EAAAo8C,IAAAjvC,GAAAvV,KAAAy/K,iBAAAlqK,GAAkC,QAAAioB,EAAAjoB,EAAAkyJ,WAAA/4E,WAAkClxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAAvb,EAAAwB,EAAAqoK,SAA4B,IAAA7pK,EAAA0oK,YAAA,CAAmB,IAAA5nK,EAAAd,EAAAqa,UAAkBvS,EAAA8gJ,SAAA9nJ,KAAAc,EAAAm9K,QAAAj+K,GAAAgH,EAAAo8C,IAAApjD,QAA0C+sI,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAA81I,eAAA3mI,EAAA/G,EAAA0tI,eAAA3mI,GAAA,EAAAnP,KAAA81I,eAAA3mI,EAAA/G,EAAA0tI,eAAA3mI,EAAA,KAAgGs7D,YAAA,WAAwB,UAAAzqE,KAAAukI,IAAA,CAAoB,QAAApjI,EAAA,IAAAknC,EAAAjgC,EAAApI,KAAA61I,YAAAnnD,WAA8CtmF,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAA2hI,UAAAjvG,iBAAArf,EAAA,EAAuDA,EAAA5U,EAAAwB,OAAA,EAAaoT,IAAApU,EAAA2nJ,gBAAAnoJ,EAAA4U,IAA4BvV,KAAAukI,IAAApjI,EAAW,OAAAnB,KAAAukI,KAAgBq7C,aAAA,SAAAz+K,GAA0B,IAAAiH,EAAA,IAAAg2H,GAAa,IAAAh2H,EAAAo8C,IAAArjD,IAAaiH,EAAAi8C,SAAW,CAAE,IAAAniD,EAAAkG,EAAA7E,MAAcvD,KAAAwkD,IAAAtiD,EAAAkG,KAAes3K,cAAA,SAAAv+K,GAA2B,IAAAiH,EAAAjH,EAAAgpK,SAAiB/hK,EAAA0hK,SAAAzjC,GAAAE,KAAAplI,EAAA0oK,SAAAxjC,GAAAG,QAAAp+H,EAAA0hK,SAAAzjC,GAAAG,MAAArlI,EAAA0oK,SAAAxjC,GAAAE,QAAkF/hF,IAAA,SAAArjD,EAAAiH,GAAmBjH,EAAAqnK,YAAA,GAAAxoK,KAAAga,MAAAwqC,IAAArjD,GAAmC,QAAAe,EAAAf,EAAAsmK,WAAA/4E,WAAkCxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe7b,KAAA61I,YAAArxF,IAAA7jD,GAAwB,IAAA4U,EAAA5U,EAAAwpK,SAAA3sI,EAAAjoB,EAAAoF,UAA+B6iB,EAAAwrI,aAAA5gK,EAAAxH,KAAA48B,KAA0BiuI,SAAA,WAAqB,OAAAzrK,KAAAga,OAAkB8lK,iBAAA,WAA6B,OAAA9/K,KAAA61I,aAAwBhgB,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAAxR,MAAWvtI,EAAA2tI,GAAA90I,UAAA,CAAkB8+K,YAAA,SAAA5+K,EAAAiH,EAAAlG,EAAAvB,GAA8B,IAAA4U,EAAAvV,KAAAg2I,UAAA70I,GAAAq8B,EAAAx9B,KAAAg2I,UAAA5tI,GAAAtG,EAAA9B,KAAAg2I,UAAA9zI,GAAgE,QAAAlC,KAAAggL,UAAAzqK,EAAAioB,EAAA17B,MAAA9B,KAAAigL,UAAA1qK,EAAAioB,EAAA17B,EAAAnB,IAAAX,KAAAkgL,iBAAA3qK,EAAAioB,EAAAr8B,EAAAe,EAAAvB,IAA6Fw/K,yBAAA,WAAqC,QAAAh/K,EAAA,EAAAiH,GAAApI,KAAAg2I,UAAA7zI,OAAAnC,KAAAogL,wBAAAj/K,IAAAe,EAAAlC,KAAAogL,wBAAAh4K,GAAAzH,GAAA,EAA+GuB,EAAAlC,KAAAg2I,UAAA7zI,QAAwB,CAAE,IAAAoT,GAAA,EAASvV,KAAA+/K,YAAA5+K,EAAAiH,EAAAlG,EAAAlC,KAAAi2I,eAAAj2I,KAAAk2I,UAAA9tI,GAAA2tI,GAAA1L,OAAA90H,GAAA,EAAA5U,GAAA,GAAAQ,EAAAoU,EAAArT,EAAAkG,IAAApI,KAAAogL,wBAAAj/K,GAAAe,EAAAlC,KAAAogL,wBAAAh4K,GAA8J,OAAAzH,GAAS0/K,mBAAA,SAAAl/K,EAAAiH,EAAAlG,EAAAvB,GAAsC,IAAA4U,EAAA2nH,GAAAi8B,mBAAAh4J,EAAAiH,EAAAlG,GAAAs7B,EAAAjoB,IAAAvV,KAAAm2I,iBAA+D,IAAA34G,EAAA,SAAe,IAAA17B,EAAAo7H,GAAAy7B,kBAAAvwJ,EAAAjH,EAAAe,GAAkC,OAAAJ,EAAAnB,GAAWu/K,iBAAA,SAAA/+K,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAAsC,IAAAioB,EAAAz5B,KAAAmjJ,OAAAvmJ,EAAAuB,GAAA6zI,GAAAuqC,kBAA4C9iJ,GAAA,IAAAA,EAAA,GAAY,QAAA17B,EAAAI,EAAYJ,EAAAnB,EAAImB,GAAA07B,EAAA,IAAAx9B,KAAAigL,UAAA9+K,EAAAiH,EAAApI,KAAAg2I,UAAAl0I,GAAAyT,GAAA,SAA0D,UAASyqK,UAAA,SAAA53K,EAAAlG,EAAAvB,GAA6B,IAAA4U,EAAA2nH,GAAAi8B,mBAAA/wJ,EAAAlG,EAAAvB,GAAAQ,EAAAoU,IAAAvV,KAAAm2I,iBAA+D,OAAAh1I,GAAS8xD,SAAA,SAAA9xD,GAAsBnB,KAAAi2I,YAAAlyI,KAAA6hB,IAAAzkB,KAAA,IAAAnB,KAAAm2I,iBAAAjZ,GAAAo8B,WAAAt5J,KAAAk2I,UAAA,IAAAr0I,MAAA7B,KAAAg2I,UAAA7zI,QAAAyhC,KAAA,MAAkI,IAAAx7B,GAAA,EAAS,GAAAA,EAAApI,KAAAmgL,iCAAqC/3K,GAAS,OAAApI,KAAAugL,gBAA2BH,wBAAA,SAAAj/K,GAAqC,QAAAiH,EAAAjH,EAAA,EAAciH,EAAApI,KAAAg2I,UAAA7zI,QAAAnC,KAAAk2I,UAAA9tI,KAAA2tI,GAAA1L,QAAuDjiI,IAAK,OAAAA,GAAS63K,UAAA,SAAA9+K,EAAAiH,EAAAlG,EAAAvB,GAA6B,IAAA4U,EAAA2nH,GAAAy7B,kBAAAvwJ,EAAAjH,EAAAe,GAAkC,OAAAqT,EAAA5U,GAAW4/K,aAAA,WAAyB,QAAAp/K,EAAA,IAAA4pB,EAAA3iB,EAAA,EAAoBA,EAAApI,KAAAg2I,UAAA7zI,OAAwBiG,IAAApI,KAAAk2I,UAAA9tI,KAAA2tI,GAAA1L,QAAAlpI,EAAAqjD,IAAAxkD,KAAAg2I,UAAA5tI,IAA4D,OAAAjH,EAAAonJ,qBAA6B1yB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApR,MAAWA,GAAA9iF,SAAA,SAAA9xD,EAAAiH,GAA4B,IAAAlG,EAAA,IAAA6zI,GAAA50I,GAAgB,OAAAe,EAAA+wD,SAAA7qD,IAAqB2tI,GAAAyqC,KAAA,EAAAzqC,GAAA1L,OAAA,EAAA0L,GAAA0qC,KAAA,EAAA1qC,GAAAuqC,iBAAA,GAAAl4K,EAAAgzB,GAAAn6B,UAAA,CAAwE2zB,eAAA,WAA0B,IAAAzzB,EAAAnB,KAAAq2I,OAAAjzD,QAAAhoD,GAAAslJ,uBAAoD,OAAAv/K,GAAS04I,kBAAA,SAAA14I,GAA+BnB,KAAAi8H,eAAA96H,GAAsBw/K,MAAA,SAAAx/K,GAAmB,IAAAiH,EAAA,IAAA0J,EAAA3Q,GAAe,OAAAnB,KAAAi8H,eAAA44B,YAAAzsJ,GAAApI,KAAA4gL,YAAAx4K,GAAA,UAAApI,KAAAq2I,OAAA7xF,IAAAp8C,IAA2FH,QAAA,aAAqB44K,OAAA,SAAA1/K,EAAAiH,GAAsB,GAAAA,EAAA,QAAAlG,EAAA,EAAiBA,EAAAf,EAAAgB,OAAWD,IAAAlC,KAAA2gL,MAAAx/K,EAAAe,SAAqB,IAAAA,EAAAf,EAAAgB,OAAA,EAA0BD,GAAA,EAAKA,IAAAlC,KAAA2gL,MAAAx/K,EAAAe,KAAqB0+K,YAAA,SAAAz/K,GAAyB,GAAAnB,KAAAq2I,OAAAlhI,OAAA,WAAiC,IAAA/M,EAAApI,KAAAq2I,OAAA/9H,IAAAtY,KAAAq2I,OAAAlhI,OAAA,GAAAjT,EAAAf,EAAAuS,SAAAtL,GAA4D,OAAAlG,EAAAlC,KAAAs2I,uBAAoClpH,SAAA,WAAqB,IAAAjsB,EAAA,IAAAk4H,GAAAjxH,EAAAjH,EAAAgyJ,iBAAAnzJ,KAAA40B,kBAAyD,OAAAxsB,EAAAglB,YAAoBq7H,UAAA,WAAsB,GAAAzoJ,KAAAq2I,OAAAlhI,OAAA,cAAoC,IAAAhU,EAAA,IAAA2Q,EAAA9R,KAAAq2I,OAAA/9H,IAAA,IAAAlQ,EAAApI,KAAAq2I,OAAA/9H,IAAAtY,KAAAq2I,OAAAlhI,OAAA,GAA+E,OAAAnV,KAAAq2I,OAAAlhI,QAAA,GAAAnV,KAAAq2I,OAAA/9H,IAAAtY,KAAAq2I,OAAAlhI,OAAA,GAAAhU,EAAA09E,OAAAz2E,GAAA,UAAApI,KAAAq2I,OAAA7xF,IAAArjD,IAAiH2/K,yBAAA,SAAA3/K,GAAsCnB,KAAAs2I,sBAAAn1I,GAA6B00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/rH,MAAWA,GAAAslJ,sBAAA,IAAA7+K,MAAA,GAAA+hC,KAAA,MAAAx7B,EAAAmuI,GAAAt1I,UAAA,CAAmE8/K,eAAA,SAAA5/K,EAAAiH,GAA6B,GAAApI,KAAA62I,GAAA72I,KAAAiwG,GAAAjwG,KAAAiwG,GAAAjwG,KAAA82I,GAAA92I,KAAA82I,GAAA31I,EAAAnB,KAAA+2I,KAAA1nF,eAAArvD,KAAA62I,GAAA72I,KAAAiwG,IAAAjwG,KAAAghL,qBAAAhhL,KAAA+2I,KAAA/2I,KAAAm3I,KAAAn3I,KAAA0T,SAAA1T,KAAAi3I,SAAAj3I,KAAAg3I,KAAA3nF,eAAArvD,KAAAiwG,GAAAjwG,KAAA82I,IAAA92I,KAAAghL,qBAAAhhL,KAAAg3I,KAAAh3I,KAAAm3I,KAAAn3I,KAAA0T,SAAA1T,KAAAk3I,SAAAl3I,KAAAiwG,GAAApxB,OAAA7+E,KAAA82I,IAAA,YAAyT,IAAA50I,EAAAg7H,GAAAi8B,mBAAAn5J,KAAA62I,GAAA72I,KAAAiwG,GAAAjwG,KAAA82I,IAAAn2I,EAAAuB,IAAAg7H,GAAAo8B,WAAAt5J,KAAAm3I,OAAA9Q,GAAAE,MAAArkI,IAAAg7H,GAAAkZ,kBAAAp2I,KAAAm3I,OAAA9Q,GAAAG,MAA4I,IAAAtkI,EAAAlC,KAAAihL,aAAA74K,GAAAzH,EAAAX,KAAAkhL,eAAAh/K,EAAAkG,GAAApI,KAAAmhL,cAAAj/K,EAAAkG,IAA8Eg5K,cAAA,SAAAjgL,EAAAiH,GAA6B,IAAAlG,EAAA,IAAAi7H,GAAAh8H,EAAAiH,GAAAzH,EAAA,IAAAw8H,GAA2Bn9H,KAAAghL,qBAAA9+K,EAAAmkI,GAAAE,KAAAvmI,KAAA0T,SAAA/S,GAAqD,IAAA4U,EAAA,IAAA4nH,GAAan9H,KAAAghL,qBAAA9+K,EAAAmkI,GAAAG,MAAAxmI,KAAA0T,SAAA6B,GAAsD,IAAAioB,EAAAp1B,EAAA+G,EAAAhO,EAAAgO,EAAArN,EAAAsG,EAAAgH,EAAAjO,EAAAiO,EAAA9O,EAAAyD,KAAAg4C,MAAAj6C,EAAA07B,GAA0C,OAAAx9B,KAAA42I,UAAAynC,kBAAwC,KAAAhqC,GAAAI,UAAAz0I,KAAA22I,QAAAgqC,MAAAhgL,EAAA0e,IAAArf,KAAAqhL,aAAAj5K,EAAA9H,EAAAyD,KAAAsvC,GAAA,EAAA/yC,EAAAyD,KAAAsvC,GAAA,EAAA6pF,GAAAo8B,UAAAt5J,KAAA0T,UAAA1T,KAAA22I,QAAAgqC,MAAAprK,EAAA8J,IAA4I,MAAM,KAAAg1H,GAAAyqC,SAAA9+K,KAAA22I,QAAAgqC,MAAAhgL,EAAA0e,IAAArf,KAAA22I,QAAAgqC,MAAAprK,EAAA8J,IAAmE,MAAM,KAAAg1H,GAAA0qC,WAAA,IAAA39K,EAAA,IAAA0Q,EAA+B1Q,EAAA+N,EAAApL,KAAA6hB,IAAA5lB,KAAA0T,UAAA3P,KAAAklB,IAAA3oB,GAAAc,EAAAgO,EAAArL,KAAA6hB,IAAA5lB,KAAA0T,UAAA3P,KAAAolB,IAAA7oB,GAAgF,IAAAyR,EAAA,IAAAD,EAAAnR,EAAA0e,GAAAlQ,EAAA/N,EAAA+N,EAAAxO,EAAA0e,GAAAjQ,EAAAhO,EAAAgO,GAAAsuB,EAAA,IAAA5rB,EAAAyD,EAAA8J,GAAAlQ,EAAA/N,EAAA+N,EAAAoG,EAAA8J,GAAAjQ,EAAAhO,EAAAgO,GAAkEpP,KAAA22I,QAAAgqC,MAAA5uK,GAAA/R,KAAA22I,QAAAgqC,MAAAjjJ,KAA6C9I,eAAA,WAA2B,IAAAzzB,EAAAnB,KAAA22I,QAAA/hH,iBAAoC,OAAAzzB,GAASmgL,aAAA,SAAAngL,EAAAiH,EAAAlG,EAAAvB,GAAgC,IAAA4U,GAAA,EAAAioB,EAAA,KAAgB,IAAIA,EAAA+K,EAAA2xE,aAAA9xG,EAAAg1H,GAAAh1H,EAAAiX,GAAAnd,EAAAk7H,GAAAl7H,EAAAmd,IAAsC,IAAAvd,EAAAnB,GAAA,IAAA68B,EAAA9pB,SAAAvS,GAAA4C,KAAA6hB,IAAAjlB,GAAuCmB,EAAA9B,KAAA42I,UAAA+nC,kBAAAppK,GAAA,GAAyC,MAAApU,GAAS,KAAAA,aAAAmtE,GAAA,MAAAntE,EAA6Bq8B,EAAA,IAAA1rB,EAAA,KAAAyD,GAAA,EAA2BA,EAAAvV,KAAA22I,QAAAgqC,MAAAnjJ,GAAAx9B,KAAAuhL,oBAAAn5K,EAAAlG,EAAAvB,EAAAX,KAAA42I,UAAA+nC,kBAAuF6C,gBAAA,SAAArgL,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAAqC,IAAAioB,EAAAp1B,EAAA+G,EAAAhO,EAAAgO,EAAArN,EAAAsG,EAAAgH,EAAAjO,EAAAiO,EAAA9O,EAAAyD,KAAAg4C,MAAAj6C,EAAA07B,GAAAp8B,EAAAc,EAAAiN,EAAAhO,EAAAgO,EAAA4C,EAAA7P,EAAAkN,EAAAjO,EAAAiO,EAAAsuB,EAAA35B,KAAAg4C,MAAAhqC,EAAA3Q,GAAgFT,IAAAu8H,GAAAo8B,UAAAh5J,GAAAo9B,IAAAp9B,GAAA,EAAAyD,KAAAsvC,IAAA/yC,GAAAo9B,IAAAp9B,GAAA,EAAAyD,KAAAsvC,IAAArzC,KAAA22I,QAAAgqC,MAAAv4K,GAAApI,KAAAqhL,aAAAlgL,EAAAb,EAAAo9B,EAAA/8B,EAAA4U,GAAAvV,KAAA22I,QAAAgqC,MAAAz+K,IAAoIg/K,eAAA,SAAA//K,EAAAiH,GAA8B,OAAApI,KAAAi3I,QAAA53H,GAAA3L,SAAA1T,KAAAk3I,QAAA9Z,IAAAp9H,KAAA0T,SAAA6iI,GAAAkrC,kCAAAzhL,KAAA22I,QAAAgqC,MAAA3gL,KAAAi3I,QAAA53H,IAAA,WAAArf,KAAA42I,UAAAU,iBAAAjD,GAAAmqC,WAAAx+K,KAAAshL,aAAAthL,KAAAiwG,GAAAjwG,KAAAi3I,QAAAj3I,KAAAk3I,QAAAl3I,KAAA0T,UAAA1T,KAAA42I,UAAAU,iBAAAjD,GAAAkqC,WAAAv+K,KAAA0hL,aAAA1hL,KAAAi3I,QAAAj3I,KAAAk3I,UAAA9uI,GAAApI,KAAA22I,QAAAgqC,MAAA3gL,KAAAi3I,QAAA53H,IAAArf,KAAAwhL,gBAAAxhL,KAAAiwG,GAAAjwG,KAAAi3I,QAAA53H,GAAArf,KAAAk3I,QAAA9Z,GAAAj8H,EAAAnB,KAAA0T,UAAA1T,KAAA22I,QAAAgqC,MAAA3gL,KAAAk3I,QAAA9Z,OAA2fukD,aAAA,SAAAxgL,GAA0BnB,KAAA22I,QAAAgqC,MAAA,IAAA7uK,EAAA3Q,EAAAgO,EAAAnP,KAAA0T,SAAAvS,EAAAiO,EAAApP,KAAA0T,WAAA1T,KAAA22I,QAAAgqC,MAAA,IAAA7uK,EAAA3Q,EAAAgO,EAAAnP,KAAA0T,SAAAvS,EAAAiO,EAAApP,KAAA0T,WAAA1T,KAAA22I,QAAAgqC,MAAA,IAAA7uK,EAAA3Q,EAAAgO,EAAAnP,KAAA0T,SAAAvS,EAAAiO,EAAApP,KAAA0T,WAAA1T,KAAA22I,QAAAgqC,MAAA,IAAA7uK,EAAA3Q,EAAAgO,EAAAnP,KAAA0T,SAAAvS,EAAAiO,EAAApP,KAAA0T,WAAA1T,KAAA22I,QAAA8R,aAAqRm5B,YAAA,SAAAzgL,EAAAiH,GAA2BpI,KAAA22I,QAAAkqC,OAAA1/K,EAAAiH,IAAyBy5K,gBAAA,WAA4B7hL,KAAA22I,QAAAgqC,MAAA3gL,KAAAk3I,QAAA9Z,KAAoC0kD,eAAA,WAA2B9hL,KAAA22I,QAAAgqC,MAAA3gL,KAAAk3I,QAAA73H,KAAoC0iK,iBAAA,SAAA5gL,EAAAiH,EAAAlG,GAAkClC,KAAAiwG,GAAA9uG,EAAAnB,KAAA82I,GAAA1uI,EAAApI,KAAAm3I,KAAAj1I,EAAAlC,KAAAg3I,KAAA3nF,eAAAluD,EAAAiH,GAAApI,KAAAghL,qBAAAhhL,KAAAg3I,KAAA90I,EAAAlC,KAAA0T,SAAA1T,KAAAk3I,UAChr+BqqC,oBAAA,SAAApgL,EAAAiH,EAAAlG,EAAAvB,GAAuC,IAAA4U,EAAAvV,KAAA+2I,KAAA13H,GAAAme,EAAAyzG,GAAAhoE,MAAA1zD,EAAAvV,KAAA+2I,KAAA3Z,IAAAt7H,GAAAmvI,GAAAhoE,MAAA1zD,EAAAvV,KAAAg3I,KAAA33H,IAAA4xH,GAAAglC,qBAAAj2K,KAAA+2I,KAAA3Z,GAAA7nH,EAAAvV,KAAAg3I,KAAA33H,KAAA/e,EAAAwB,EAAA,EAAAV,EAAA6vI,GAAA5jG,UAAA7P,EAAAl9B,GAAAyR,EAAAk/H,GAAA5jG,UAAAjsC,EAAA2C,KAAAsvC,IAAA3V,EAAA/8B,EAAAuB,EAAAP,EAAA+7B,EAAA35B,KAAA6hB,IAAA7hB,KAAAolB,IAAA7oB,IAAAkU,EAAAtS,EAAAP,EAAAlB,EAAA8U,EAAApG,EAAAuuB,EAAA35B,KAAAklB,IAAAlX,GAAAmqB,EAAA3mB,EAAAnG,EAAAsuB,EAAA35B,KAAAolB,IAAApX,GAAAjP,EAAA,IAAAgP,EAAArR,EAAAy7B,GAAAuB,EAAA,IAAA0/F,GAAA5nH,EAAAzS,GAAAsM,EAAAquB,EAAAs8H,iBAAA,EAAAvlJ,GAAArF,EAAAsuB,EAAAs8H,iBAAA,GAAAvlJ,GAAkVxU,KAAAm3I,OAAA9Q,GAAAE,MAAAvmI,KAAA22I,QAAAgqC,MAAAvxK,GAAApP,KAAA22I,QAAAgqC,MAAAxxK,KAAAnP,KAAA22I,QAAAgqC,MAAAxxK,GAAAnP,KAAA22I,QAAAgqC,MAAAvxK,KAAgH4xK,qBAAA,SAAA7/K,EAAAiH,EAAAlG,EAAAvB,GAAwC,IAAA4U,EAAAnN,IAAAi+H,GAAAE,KAAA,KAAA/oG,EAAAr8B,EAAAke,GAAAlQ,EAAAhO,EAAAi8H,GAAAjuH,EAAArN,EAAAX,EAAAke,GAAAjQ,EAAAjO,EAAAi8H,GAAAhuH,EAAA9O,EAAAyD,KAAAgR,KAAAyoB,IAAA17B,KAAAV,EAAAmU,EAAArT,EAAAs7B,EAAAl9B,EAAAyR,EAAAwD,EAAArT,EAAAJ,EAAAxB,EAAgGK,EAAAy8H,GAAAjuH,EAAAhO,EAAAi8H,GAAAjuH,EAAA4C,EAAApR,EAAAy8H,GAAAhuH,EAAAjO,EAAAi8H,GAAAhuH,EAAAhO,EAAAT,EAAA0e,GAAAlQ,EAAAhO,EAAAke,GAAAlQ,EAAA4C,EAAApR,EAAA0e,GAAAjQ,EAAAjO,EAAAke,GAAAjQ,EAAAhO,GAAgEigL,aAAA,SAAAlgL,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAAkC,IAAAioB,EAAA78B,IAAAu8H,GAAAo8B,WAAA,IAAAx3J,EAAAiC,KAAA6hB,IAAAxd,EAAAlG,GAAA5B,EAAAyD,KAAAmjJ,MAAAplJ,EAAA9B,KAAAy2I,mBAAA,IAAuF,GAAAn2I,EAAA,cAAmB,IAAAc,EAAA,KAAA2Q,EAAA,KAAkB3Q,EAAA,EAAA2Q,EAAAjQ,EAAAxB,EAAU,QAAAo9B,EAAAt8B,EAAAO,EAAA,IAAAmQ,EAAoB4rB,EAAA57B,GAAI,CAAE,IAAA0S,EAAApM,EAAAo1B,EAAAE,EAAY/7B,EAAAwN,EAAAhO,EAAAgO,EAAAoG,EAAAxR,KAAAklB,IAAAzU,GAAA7S,EAAAyN,EAAAjO,EAAAiO,EAAAmG,EAAAxR,KAAAolB,IAAA3U,GAAAxU,KAAA22I,QAAAgqC,MAAAh/K,GAAA+7B,GAAA3rB,IAAwEovK,cAAA,SAAAhgL,EAAAiH,GAA6B,GAAApI,KAAAwlI,GAAAuxB,oBAAA/2J,KAAAi3I,QAAA7Z,GAAAp9H,KAAAi3I,QAAA53H,GAAArf,KAAAk3I,QAAA9Z,GAAAp9H,KAAAk3I,QAAA73H,IAAArf,KAAAwlI,GAAA0a,kBAAAlgJ,KAAA22I,QAAAgqC,MAAA3gL,KAAAwlI,GAAA6xB,gBAAA,SAAyK,GAAAr3J,KAAAo3I,wBAAA,EAAAp3I,KAAAi3I,QAAA53H,GAAA3L,SAAA1T,KAAAk3I,QAAA9Z,IAAAp9H,KAAA0T,SAAA6iI,GAAAyrC,wCAAAhiL,KAAA22I,QAAAgqC,MAAA3gL,KAAAi3I,QAAA53H,QAA8K,CAAK,GAAArf,KAAA22I,QAAAgqC,MAAA3gL,KAAAi3I,QAAA53H,IAAArf,KAAA02I,uBAAA,GAAsE,IAAAx0I,EAAA,IAAA4P,GAAA9R,KAAA02I,uBAAA12I,KAAAi3I,QAAA53H,GAAAlQ,EAAAnP,KAAAiwG,GAAA9gG,IAAAnP,KAAA02I,uBAAA,IAAA12I,KAAA02I,uBAAA12I,KAAAi3I,QAAA53H,GAAAjQ,EAAApP,KAAAiwG,GAAA7gG,IAAApP,KAAA02I,uBAAA,IAAiM12I,KAAA22I,QAAAgqC,MAAAz+K,GAAsB,IAAAvB,EAAA,IAAAmR,GAAA9R,KAAA02I,uBAAA12I,KAAAk3I,QAAA9Z,GAAAjuH,EAAAnP,KAAAiwG,GAAA9gG,IAAAnP,KAAA02I,uBAAA,IAAA12I,KAAA02I,uBAAA12I,KAAAk3I,QAAA9Z,GAAAhuH,EAAApP,KAAAiwG,GAAA7gG,IAAApP,KAAA02I,uBAAA,IAAiM12I,KAAA22I,QAAAgqC,MAAAhgL,QAAsBX,KAAA22I,QAAAgqC,MAAA3gL,KAAAiwG,IAAiCjwG,KAAA22I,QAAAgqC,MAAA3gL,KAAAk3I,QAAA9Z,MAAqC6kD,aAAA,SAAA9gL,GAA0B,IAAAiH,EAAA,IAAA0J,EAAA3Q,EAAAgO,EAAAnP,KAAA0T,SAAAvS,EAAAiO,GAAmCpP,KAAA22I,QAAAgqC,MAAAv4K,GAAApI,KAAAqhL,aAAAlgL,EAAA,IAAA4C,KAAAsvC,IAAA,EAAArzC,KAAA0T,UAAA1T,KAAA22I,QAAA8R,aAAiGi5B,aAAA,SAAAvgL,EAAAiH,GAA4BpI,KAAA22I,QAAAgqC,MAAAx/K,EAAAke,IAAArf,KAAA22I,QAAAgqC,MAAAv4K,EAAAg1H,KAAkD7uE,KAAA,SAAAptD,GAAkBnB,KAAA0T,SAAAvS,EAAAnB,KAAAw2I,qBAAAr1I,GAAA,EAAA4C,KAAAklB,IAAAjpB,KAAAy2I,mBAAA,IAAAz2I,KAAA22I,QAAA,IAAAv7G,GAAAp7B,KAAA22I,QAAAkD,kBAAA75I,KAAAi8H,gBAAAj8H,KAAA22I,QAAAmqC,yBAAA3/K,EAAAo1I,GAAA2rC,oCAA0OjB,aAAA,SAAA9/K,GAA0BnB,KAAAwlI,GAAAuxB,oBAAA/2J,KAAA62I,GAAA72I,KAAAiwG,GAAAjwG,KAAAiwG,GAAAjwG,KAAA82I,IAA6D,IAAA1uI,EAAApI,KAAAwlI,GAAAyxB,qBAAmC7uJ,GAAA,IAAApI,KAAA42I,UAAAU,iBAAAjD,GAAAkqC,YAAAv+K,KAAA42I,UAAAU,iBAAAjD,GAAAmqC,YAAAr9K,GAAAnB,KAAA22I,QAAAgqC,MAAA3gL,KAAAi3I,QAAA53H,IAAArf,KAAA22I,QAAAgqC,MAAA3gL,KAAAk3I,QAAA9Z,KAAAp9H,KAAAwhL,gBAAAxhL,KAAAiwG,GAAAjwG,KAAAi3I,QAAA53H,GAAArf,KAAAk3I,QAAA9Z,GAAAF,GAAAo8B,UAAAt5J,KAAA0T,YAA2Q+0I,UAAA,WAAsBzoJ,KAAA22I,QAAA8R,aAAyB05B,sBAAA,WAAkC,OAAAniL,KAAAo3I,wBAAmCvhB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5Q,MAAWA,GAAAkrC,iCAAA,KAAAlrC,GAAAyrC,wCAAA,KAAAzrC,GAAA2rC,kCAAA,KAAA3rC,GAAAgB,2BAAA,GAAAnvI,EAAAovI,GAAAv2I,UAAA,CAAsLmhL,eAAA,SAAAjhL,EAAAiH,GAA6B,GAAApI,KAAA0T,SAAAtL,EAAA,IAAAA,EAAA,YAAqC,IAAAlG,EAAAkG,EAAA,EAAAzH,EAAAoD,KAAA6hB,IAAAxd,GAAAmN,EAAAvV,KAAAqiL,UAAA1hL,GAA4CQ,EAAAgB,QAAA,EAAAnC,KAAAsiL,kBAAAnhL,EAAA,GAAAoU,GAAAvV,KAAAuiL,mBAAAphL,EAAAe,EAAAqT,GAA0E,IAAAioB,EAAAjoB,EAAAqf,iBAAyB,OAAA1yB,GAAAq0H,EAAAtuH,QAAAu1B,MAAyBglJ,8BAAA,SAAArhL,EAAAiH,EAAAlG,GAA+C,IAAAvB,EAAAX,KAAAyiL,kBAAAziL,KAAA0T,UAA4C,GAAAtL,EAAA,CAAMlG,EAAA0/K,YAAAzgL,GAAA,GAAoB,IAAAoU,EAAAwgI,GAAA9iF,SAAA9xD,GAAAR,GAAA68B,EAAAjoB,EAAApT,OAAA,EAAqCD,EAAA6/K,iBAAAxsK,EAAAioB,GAAAjoB,EAAAioB,EAAA,GAAA6oG,GAAAE,MAAArkI,EAAA2/K,kBAA4D,QAAA//K,EAAA07B,EAAA,EAAc17B,GAAA,EAAKA,IAAAI,EAAA6+K,eAAAxrK,EAAAzT,IAAA,OAA8B,CAAKI,EAAA0/K,YAAAzgL,GAAA,GAAoB,IAAAb,EAAAy1I,GAAA9iF,SAAA9xD,EAAAR,GAAAS,EAAAd,EAAA6B,OAAA,EAAoCD,EAAA6/K,iBAAAzhL,EAAA,GAAAA,EAAA,GAAA+lI,GAAAE,MAAArkI,EAAA2/K,kBAA0D,IAAA//K,EAAA,EAAYA,GAAAV,EAAKU,IAAAI,EAAA6+K,eAAAzgL,EAAAwB,IAAA,GAA8BI,EAAA4/K,iBAAA5/K,EAAAumJ,aAAiCi6B,uBAAA,SAAAvhL,EAAAiH,EAAAlG,GAAwC,IAAAvB,EAAAX,KAAAyiL,kBAAAziL,KAAA0T,UAA4CtL,IAAAi+H,GAAAG,QAAA7lI,MAAqB,IAAA4U,EAAAwgI,GAAA9iF,SAAA9xD,EAAAR,GAAA68B,EAAAjoB,EAAApT,OAAA,EAAoCD,EAAA6/K,iBAAAxsK,EAAAioB,EAAA,GAAAjoB,EAAA,GAAAnN,GAAkC,QAAAtG,EAAA,EAAYA,GAAA07B,EAAK17B,IAAA,CAAK,IAAAxB,EAAA,IAAAwB,EAAYI,EAAA6+K,eAAAxrK,EAAAzT,GAAAxB,GAAyB4B,EAAAumJ,aAAck6B,uBAAA,SAAAxhL,EAAAiH,GAAsC,IAAAlG,EAAAlC,KAAAyiL,kBAAAziL,KAAA0T,UAAA/S,EAAAo1I,GAAA9iF,SAAA9xD,EAAAe,GAAAqT,EAAA5U,EAAAwB,OAAA,EAA4EiG,EAAA25K,iBAAAphL,EAAA,GAAAA,EAAA,GAAA0lI,GAAAE,MAAsC,QAAA/oG,EAAA,EAAYA,GAAAjoB,EAAKioB,IAAAp1B,EAAA24K,eAAApgL,EAAA68B,IAAA,GAA8Bp1B,EAAA05K,iBAAA15K,EAAAg5K,cAAAzgL,EAAA4U,EAAA,GAAA5U,EAAA4U,IAAgD,IAAAzT,EAAAi0I,GAAA9iF,SAAA9xD,GAAAe,GAAA5B,EAAAwB,EAAAK,OAAA,EAAqCiG,EAAA25K,iBAAAjgL,EAAAxB,GAAAwB,EAAAxB,EAAA,GAAA+lI,GAAAE,MAAwC,IAAA/oG,EAAAl9B,EAAA,EAAck9B,GAAA,EAAKA,IAAAp1B,EAAA24K,eAAAj/K,EAAA07B,IAAA,GAA8Bp1B,EAAA05K,iBAAA15K,EAAAg5K,cAAAt/K,EAAA,GAAAA,EAAA,IAAAsG,EAAAqgJ,aAA4D65B,kBAAA,SAAAnhL,EAAAiH,GAAiC,OAAApI,KAAA42I,UAAAynC,kBAAwC,KAAAhqC,GAAAI,UAAArsI,EAAA65K,aAAA9gL,GAAoC,MAAM,KAAAkzI,GAAA0qC,WAAA32K,EAAAu5K,aAAAxgL,KAAsCyhL,aAAA,SAAAzhL,EAAAiH,GAA4B,GAAApI,KAAA0T,SAAAtL,IAAA,IAAApI,KAAA42I,UAAA0nC,gBAAA,YAAoE,OAAAl2K,EAAA,YAAqB,IAAAlG,EAAA6B,KAAA6hB,IAAAxd,GAAAzH,EAAAX,KAAAqiL,UAAAngL,GAAsC,GAAAf,EAAAgB,QAAA,EAAAnC,KAAAsiL,kBAAAnhL,EAAA,GAAAR,QAA8C,GAAAX,KAAA42I,UAAA0nC,gBAAA,CAAwC,IAAA/oK,EAAAnN,EAAA,EAAUpI,KAAAwiL,8BAAArhL,EAAAoU,EAAA5U,QAA0CX,KAAA2iL,uBAAAxhL,EAAAR,GAAsC,IAAA68B,EAAA78B,EAAAi0B,iBAAyB,OAAA4I,GAASqlJ,oBAAA,WAAgC,OAAA7iL,KAAA42I,WAAsB6rC,kBAAA,SAAAthL,GAA+B,OAAAA,EAAAnB,KAAA42I,UAAA8nC,qBAA4CoE,aAAA,SAAA3hL,EAAAiH,EAAAlG,GAA8B,GAAAlC,KAAA0T,SAAAxR,EAAAf,EAAAgB,QAAA,SAAAnC,KAAA4iL,aAAAzhL,EAAAe,GAA6D,OAAAA,EAAA,OAAAs1I,GAAAurC,gBAAA5hL,GAAsC,IAAAR,EAAAX,KAAAqiL,UAAAngL,GAAwB,OAAAlC,KAAA0iL,uBAAAvhL,EAAAiH,EAAAzH,KAAAi0B,kBAA6D2tJ,mBAAA,SAAAphL,EAAAiH,EAAAlG,GAAoC,IAAAvB,EAAAX,KAAAyiL,kBAAAziL,KAAA0T,UAA4C,GAAAtL,EAAA,CAAM,IAAAmN,EAAAwgI,GAAA9iF,SAAA9xD,GAAAR,GAAA68B,EAAAjoB,EAAApT,OAAA,EAAqCD,EAAA6/K,iBAAAxsK,EAAAioB,GAAAjoB,EAAAioB,EAAA,GAAA6oG,GAAAE,MAAArkI,EAAA2/K,kBAA4D,QAAA//K,EAAA07B,EAAA,EAAc17B,GAAA,EAAKA,IAAAI,EAAA6+K,eAAAxrK,EAAAzT,IAAA,OAA8B,CAAK,IAAAxB,EAAAy1I,GAAA9iF,SAAA9xD,EAAAR,GAAAS,EAAAd,EAAA6B,OAAA,EAAoCD,EAAA6/K,iBAAAzhL,EAAA,GAAAA,EAAA,GAAA+lI,GAAAE,MAAArkI,EAAA2/K,kBAA0D,IAAA//K,EAAA,EAAYA,GAAAV,EAAKU,IAAAI,EAAA6+K,eAAAzgL,EAAAwB,IAAA,GAA8BI,EAAA4/K,kBAAmBO,UAAA,SAAAlhL,GAAuB,WAAAo1I,GAAAv2I,KAAAi8H,eAAAj8H,KAAA42I,UAAAz1I,IAAoD00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3P,MAAWA,GAAAurC,gBAAA,SAAA5hL,GAAiC,QAAAiH,EAAA,IAAAvG,MAAAV,EAAAgB,QAAAyhC,KAAA,MAAA1hC,EAAA,EAA6CA,EAAAkG,EAAAjG,OAAWD,IAAAkG,EAAAlG,GAAA,IAAA4P,EAAA3Q,EAAAe,IAAqB,OAAAkG,GAASA,EAAAqvI,GAAAx2I,UAAA,CAAiB+hL,oBAAA,WAA+B,OAAApzI,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA8hB,EAAAhoB,EAAAlC,KAAA03I,UAAAhpD,WAA2DxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAA8pE,cAAiCtpE,EAAAiO,EAAAmG,EAAAg6H,WAAApuI,EAAAiO,EAAAmG,EAAA+5H,WAAAtvI,KAAAgjL,oBAAA7hL,EAAAR,EAAAm/K,mBAAA13K,GAAqF,OAAAA,EAAS,OAAAwnC,UAAAztC,OAAA,GAAAutG,EAAA9/D,UAAA,GAAAxgC,IAAAwgC,UAAA,aAAA99B,GAAA89B,UAAA,aAAAo4F,GAAA,KAAAxqG,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAU,EAAA+hI,UAAAjvG,iBAAA,IAAA1yB,EAAA,EAA0LA,EAAAd,EAAAe,OAAA,EAAaD,IAAA,CAAKlC,KAAAo/H,IAAAhC,GAAAh8H,EAAAc,GAAAlC,KAAAo/H,IAAA//G,GAAAje,EAAAc,EAAA,GAAAlC,KAAAo/H,IAAAhC,GAAAhuH,EAAApP,KAAAo/H,IAAA//G,GAAAjQ,GAAApP,KAAAo/H,IAAAn3H,UAAoF,IAAA8J,EAAAhO,KAAA0K,IAAAzO,KAAAo/H,IAAAhC,GAAAjuH,EAAAnP,KAAAo/H,IAAA//G,GAAAlQ,GAA4C,KAAA4C,EAAAyrB,EAAAruB,GAAAnP,KAAAo/H,IAAArzH,gBAAAyxB,EAAApuB,EAAApP,KAAAo/H,IAAAhC,GAAAhuH,GAAAouB,EAAApuB,EAAApP,KAAAo/H,IAAA//G,GAAAjQ,GAAA8tH,GAAAi8B,mBAAAn5J,KAAAo/H,IAAAhC,GAAAp9H,KAAAo/H,IAAA//G,GAAAme,KAAA0/F,GAAAsJ,OAAA,CAAyI,IAAA9oG,EAAA57B,EAAA+nK,SAAAxjC,GAAAE,MAA0BvmI,KAAAo/H,IAAAhC,GAAAv+C,OAAAz9E,EAAAc,MAAAw7B,EAAA57B,EAAA+nK,SAAAxjC,GAAAG,QAAmD,IAAA7kI,EAAA,IAAAi2I,GAAA53I,KAAAo/H,IAAA1hG,GAAyBp9B,EAAAkkD,IAAA7iD,UAAU,GAAA+tG,EAAA9/D,UAAA,GAAAxgC,IAAAwgC,UAAA,aAAA99B,GAAA49F,EAAA9/D,UAAA,GAAAxgC,GAAA,KAAAoF,EAAAo7B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAA0T,UAAA,OAAA1tC,EAAAzB,EAAAiuF,WAA2IxsF,EAAAimJ,WAAY,CAAE,IAAArlJ,EAAAZ,EAAA2Z,OAAe/Y,EAAAskK,aAAApnK,KAAAgjL,oBAAAxuK,EAAA1R,EAAAo5B,MAAgD2tI,SAAA,SAAA1oK,GAAsB,IAAAiH,EAAApI,KAAAgjL,oBAAA7hL,GAAkC,OAAAiH,EAAA+M,OAAA,SAAyB,IAAAjT,EAAA0+J,GAAAp6H,IAAAp+B,GAAgB,OAAAlG,EAAA41I,WAAmBjiB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1P,MAAWrvI,EAAAwvI,GAAA32I,UAAA,CAAkBktI,UAAA,SAAAhtI,GAAsB,IAAAiH,EAAAjH,EAAQ,GAAAnB,KAAA63I,UAAA95D,QAAA31E,EAAAyvI,UAAA55D,OAAA,SAAsD,GAAAj+E,KAAA63I,UAAA55D,QAAA71E,EAAAyvI,UAAA95D,OAAA,SAAsD,IAAA77E,EAAAlC,KAAA63I,UAAA96G,iBAAA30B,EAAAyvI,WAAmD,WAAA31I,QAAA,EAAAkG,EAAAyvI,UAAA96G,iBAAA/8B,KAAA63I,WAAA,IAAA31I,IAAAlC,KAAA63I,UAAA1J,UAAA/lI,EAAAyvI,aAAiHt3D,SAAA,SAAAp/E,EAAAiH,GAAwB,IAAAlG,EAAAf,EAAAi8H,GAAA+Q,UAAA/lI,EAAAg1H,IAA2B,WAAAl7H,IAAAf,EAAAke,GAAA8uH,UAAA/lI,EAAAiX,KAAoC+N,SAAA,WAAqB,OAAAptB,KAAA63I,UAAAzqH,YAAiCyoG,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAAvP,MAAWH,GAAAwrC,aAAArrC,GAAAxvI,EAAA2vI,GAAA92I,UAAA,CAAqC46J,SAAA,SAAA16J,GAAqB,GAAAnB,KAAA0T,UAAA,cAAgC,IAAAtL,EAAAjH,EAAAyzB,iBAAA1yB,EAAAlC,KAAAg4I,aAAA4qC,aAAAx6K,EAAApI,KAAA0T,UAA2E1T,KAAAkjL,SAAAhhL,EAAAo6C,EAAAohF,SAAAphF,EAAAkhF,WAAuCg0C,WAAA,SAAArwK,GAAwB,IAAAiH,EAAApI,KAAA0T,SAAAxR,EAAAmkI,GAAAE,KAA8BvmI,KAAA0T,SAAA,IAAAtL,GAAApI,KAAA0T,SAAAxR,EAAAmkI,GAAAG,OAA+C,IAAA7lI,EAAAQ,EAAA2+I,kBAAAvqI,EAAAghH,EAAAw4B,qBAAApuJ,EAAAi0B,kBAAuE,GAAA50B,KAAA0T,SAAA,GAAA1T,KAAAmjL,mBAAAxiL,EAAAX,KAAA0T,UAAA,YAAyE,GAAA1T,KAAA0T,UAAA,GAAA6B,EAAApT,OAAA,cAA4CnC,KAAAyxK,eAAAl8J,EAAAnN,EAAAlG,EAAAo6C,EAAAohF,SAAAphF,EAAAkhF,UAAiD,QAAAhgG,EAAA,EAAYA,EAAAr8B,EAAAkyJ,qBAAyB71H,IAAA,CAAK,IAAA17B,EAAAX,EAAAoyJ,iBAAA/1H,GAAAl9B,EAAAi2H,EAAAw4B,qBAAAjtJ,EAAA8yB,kBAAyE50B,KAAA0T,SAAA,GAAA1T,KAAAmjL,mBAAArhL,GAAA9B,KAAA0T,WAAA1T,KAAAyxK,eAAAnxK,EAAA8H,EAAAi+H,GAAAzhI,SAAA1C,GAAAo6C,EAAAkhF,SAAAlhF,EAAAohF,YAA2H0lD,2BAAA,SAAAjiL,EAAAiH,GAA0C,IAAAlG,EAAA,IAAAgvI,GAAA/vI,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAAAR,EAAAuB,EAAAs0K,WAAAjhK,EAAA2nH,GAAAy7B,kBAAAh4J,EAAAuB,EAAAk7H,GAAAl7H,EAAAmd,IAAgF,OAAA9J,EAAAxR,KAAA6hB,IAAAxd,IAAqBspK,cAAA,SAAAvwK,GAA2B,GAAAnB,KAAA0T,UAAA,IAAA1T,KAAAg4I,aAAA6qC,sBAAAvE,gBAAA,YAA0F,IAAAl2K,EAAAmuH,EAAAw4B,qBAAA5tJ,EAAAyzB,kBAAA1yB,EAAAlC,KAAAg4I,aAAA4qC,aAAAx6K,EAAApI,KAAA0T,UAAmG1T,KAAAkjL,SAAAhhL,EAAAo6C,EAAAohF,SAAAphF,EAAAkhF,WAAuC0lD,SAAA,SAAA/hL,EAAAiH,EAAAlG,GAA0B,UAAAf,KAAAgB,OAAA,cAAoC,IAAAxB,EAAA,IAAAqjI,GAAA7iI,EAAA,IAAAslI,GAAA,EAAAnqF,EAAAmhF,SAAAr1H,EAAAlG,IAAyClC,KAAAi4I,UAAAzzF,IAAA7jD,IAAsB0iL,UAAA,WAAsB,OAAArjL,KAAAwkD,IAAAxkD,KAAA4+H,WAAA5+H,KAAAi4I,WAA+Cw5B,eAAA,SAAAtwK,EAAAiH,EAAAlG,EAAAvB,EAAA4U,GAAoC,OAAAnN,GAAAjH,EAAAgB,OAAAi3H,GAAAo6B,mBAAA,YAAqD,IAAAh2H,EAAA78B,EAAAmB,EAAAyT,EAAYpU,EAAAgB,QAAAi3H,GAAAo6B,oBAAAt2B,GAAAo2B,MAAAnyJ,KAAAq8B,EAAAjoB,EAAAzT,EAAAnB,EAAAuB,EAAAmkI,GAAAzhI,SAAA1C,IAAyE,IAAA5B,EAAAN,KAAAg4I,aAAA8qC,aAAA3hL,EAAAe,EAAAkG,GAA4CpI,KAAAkjL,SAAA5iL,EAAAk9B,EAAA17B,IAAqB0iD,IAAA,SAAArjD,GAAiB,GAAAA,EAAAg5G,UAAA,YAA2B,GAAAh5G,aAAA63H,GAAAh5H,KAAAwxK,WAAArwK,QAAsC,GAAAA,aAAAy3H,GAAA54H,KAAA0xK,cAAAvwK,QAA8C,GAAAA,aAAA23H,GAAA94H,KAAA67J,SAAA16J,QAAyC,GAAAA,aAAAg4H,GAAAn5H,KAAA8xK,cAAA3wK,QAA8C,GAAAA,aAAA02H,GAAA73H,KAAA8xK,cAAA3wK,QAA8C,GAAAA,aAAAq4H,GAAAx5H,KAAA8xK,cAAA3wK,OAA8C,CAAK,KAAAA,aAAAw2H,IAAA,UAAA6nC,8BAAAr+J,EAAAgmJ,WAAA4M,WAAsF/zJ,KAAA8xK,cAAA3wK,KAAuBgiL,mBAAA,SAAAhiL,EAAAiH,GAAkC,IAAAlG,EAAAf,EAAAyzB,iBAAyB,GAAA1yB,EAAAC,OAAA,SAAAiG,EAAA,EAAyB,OAAAlG,EAAAC,OAAA,OAAAnC,KAAAojL,2BAAAlhL,EAAAkG,GAA4D,IAAAzH,EAAAQ,EAAAkuI,sBAAA95H,EAAAxR,KAAAyiC,IAAA7lC,EAAAgoJ,YAAAhoJ,EAAA+nJ,YAAqE,OAAAtgJ,EAAA,KAAArE,KAAA6hB,IAAAxd,GAAAmN,GAA4Bu8J,cAAA,SAAA3wK,GAA2B,QAAAiH,EAAA,EAAYA,EAAAjH,EAAA0/H,mBAAuBz4H,IAAA,CAAK,IAAAlG,EAAAf,EAAAyrJ,aAAAxkJ,GAAwBpI,KAAAwkD,IAAAtiD,KAAa2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApP,MAAW3vI,EAAA8vI,GAAAj3I,UAAA,CAAkBytK,sBAAA,SAAAvtK,EAAAiH,EAAAlG,EAAAvB,GAAwC,GAAAQ,IAAAe,GAAA,IAAAlC,KAAAwlI,GAAAyxB,qBAAA,CAA4C,GAAA/e,GAAAy2B,mBAAAvmK,EAAAzH,GAAA,SAAuC,GAAAQ,EAAAo+H,WAAA,CAAiB,IAAAhqH,EAAApU,EAAAgU,OAAA,EAAiB,OAAA/M,GAAAzH,IAAA4U,GAAA,IAAA5U,GAAAyH,IAAAmN,EAAA,UAAwC,UAASq5J,2BAAA,WAAuC,OAAA5uK,KAAA4qI,yBAAoCkkC,8BAAA,WAA0C,OAAA9uK,KAAA2qI,mBAA8B24C,mBAAA,WAA+B,OAAAtjL,KAAAwlI,IAAewpC,sBAAA,WAAkC,OAAAhvK,KAAA0qI,WAAsB06B,qBAAA,SAAAjkK,EAAAiH,EAAAlG,EAAAvB,GAAwC,GAAAQ,IAAAe,GAAAkG,IAAAzH,EAAA,YAA4BX,KAAAirI,WAAgB,IAAA11H,EAAApU,EAAAyzB,iBAAAxsB,GAAAo1B,EAAAr8B,EAAAyzB,iBAAAxsB,EAAA,GAAAtG,EAAAI,EAAA0yB,iBAAAj0B,GAAAL,EAAA4B,EAAA0yB,iBAAAj0B,EAAA,GAAwGX,KAAAwlI,GAAAuxB,oBAAAxhJ,EAAAioB,EAAA17B,EAAAxB,GAAAN,KAAAwlI,GAAA0a,oBAAAlgJ,KAAAgrI,mBAAAhrI,KAAAwlI,GAAA4xB,2BAAAp3J,KAAAo4I,2BAAAp4I,KAAAm4I,aAAA,GAAAn4I,KAAA0uK,sBAAAvtK,EAAAiH,EAAAlG,EAAAvB,KAAAX,KAAAyqI,kBAAA,EAAAtpI,EAAAyiK,iBAAA5jK,KAAAwlI,GAAAp9H,EAAA,GAAAlG,EAAA0hK,iBAAA5jK,KAAAwlI,GAAA7kI,EAAA,GAAAX,KAAAwlI,GAAA2xB,aAAAn3J,KAAAq4I,yBAAAr4I,KAAA0qI,WAAA,EAAA1qI,KAAA2qI,mBAAA,MAAkZuV,gBAAA,WAA4B,OAAAlgJ,KAAAyqI,kBAA6BymB,OAAA,WAAmB,UAASqyB,wBAAA,WAAoC,OAAAvjL,KAAAm4I,aAAwBtiB,YAAA,WAAwB,OAAAllG,KAAWw2H,SAAA,WAAqB,OAAAjP,MAAWA,GAAAy2B,mBAAA,SAAAxtK,EAAAiH,GAAsC,WAAArE,KAAA6hB,IAAAzkB,EAAAiH,IAAyBA,EAAAkwI,GAAAr3I,UAAA,CAAiBuiL,yBAAA,SAAAriL,GAAqCnB,KAAAu4I,sBAAAp3I,GAA6B+wK,iBAAA,SAAA/wK,GAA8B,IAAAiH,EAAApI,KAAAspI,SAAA2oC,cAAA9wK,GAAqC,UAAAiH,EAAA,CAAa,IAAAlG,EAAAkG,EAAAu0I,WAAAh8I,EAAAQ,EAAAw7I,WAAkCv0I,EAAAwoK,iBAAAzvK,KAAAR,EAAA,IAAA8lI,GAAAtlI,EAAAw7I,YAAAh8I,EAAAO,QAAAgB,EAAAulB,MAAA9mB,GAAoE,IAAA4U,EAAA+iI,GAAAnL,WAAAxsI,GAAA68B,EAAAp1B,EAAA6hK,gBAAAnoK,EAAA07B,EAAAjoB,EAAiDnN,EAAAyoK,cAAA/uK,QAAmB9B,KAAAspI,SAAA9kF,IAAArjD,KAAA0vK,cAAAv4B,GAAAnL,WAAAhsI,EAAAw7I,cAAuE8mC,eAAA,SAAAtiL,EAAAiH,GAA8B,QAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAAQ,EAAAutF,WAA+B/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAA2hB,EAAAjoB,EAAAiqK,yBAAA19K,EAAA,IAAA21I,GAAAv1I,GAAA5B,EAAAwB,EAAA+nK,SAAArsI,GAAwEjoB,EAAAoqK,aAAAr/K,GAAAiV,EAAAsqK,kBAAA39K,EAAAsiD,IAAAjvC,GAAAnN,EAAAo8C,IAAAjvC,EAAAuqK,mBAAAvqK,EAAAk2J,cAAyFiY,gBAAA,SAAAviL,GAA6B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAsqK,WAAA/8E,WAA0CxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,IAAAlb,EAAAqoK,YAAA,CAAmB,IAAAzzJ,EAAA,IAAAogI,GAAapgI,EAAAqO,OAAAjjB,GAAAyH,EAAAo8C,IAAAjvC,IAAsB,OAAAqrJ,GAAA57J,KAAAoD,EAAAw4J,GAAAC,gBAAAz4J,GAAsCu7K,0BAAA,WAAsC,IAAAxiL,EAAAnB,KAAA+3H,SAAAi8B,gBAAoC,OAAA7yJ,GAASyiL,SAAA,SAAAziL,GAAsB,UAAAnB,KAAAw4I,aAAA,OAAAx4I,KAAAw4I,aAAqD,IAAApwI,EAAA,IAAAy8H,GAAA3iI,EAAA,IAAA26H,GAAsB,OAAA36H,EAAA23I,kBAAA14I,GAAAiH,EAAAw8H,sBAAA,IAAAsT,GAAAh2I,IAAAkG,GAAmE82B,OAAA,SAAA/9B,EAAAiH,GAAsB,IAAAlG,EAAAlC,KAAAu4I,sBAAiC,OAAAr2I,MAAAf,EAAA+sI,qBAAAluI,KAAA+3H,SAAA52H,EAAAg3H,aAAiE,IAAAx3H,EAAA,IAAA62I,GAAAt1I,EAAAlC,KAAA42I,WAAArhI,EAAA,IAAAwiI,GAAA52I,EAAAiH,EAAAzH,GAAA68B,EAAAjoB,EAAA8tK,YAA+D,GAAA7lJ,EAAAroB,QAAA,SAAAnV,KAAA2jL,4BAAuD3jL,KAAA6jL,kBAAArmJ,EAAAt7B,GAAAlC,KAAAwa,MAAA,IAAAguH,GAAA,IAAAoB,IAAA5pI,KAAAwa,MAAAgxJ,SAAAxrK,KAAAspI,SAAAm+B,YAAoG,IAAA3lK,EAAA9B,KAAA0jL,gBAAA1jL,KAAAwa,OAAAla,EAAA,IAAAooI,GAAA1oI,KAAA+3H,UAA+D/3H,KAAAyjL,eAAA3hL,EAAAxB,GAAyB,IAAAc,EAAAd,EAAA6rK,cAAsB,GAAA/qK,EAAA+T,QAAA,SAAAnV,KAAA2jL,4BAAuD,IAAA5xK,EAAA/R,KAAA+3H,SAAAk9B,cAAA7zJ,GAAqC,OAAA2Q,GAAS8xK,kBAAA,SAAA1iL,EAAAiH,GAAiC,IAAAlG,EAAAlC,KAAA4jL,SAAAx7K,GAAuBlG,EAAA8iK,aAAA7jK,GAAkB,QAAAR,EAAAuB,EAAA2hK,qBAAAtuJ,EAAA5U,EAAA+tF,WAAgDn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA07B,EAAA5I,iBAAoC,OAAA9yB,EAAAK,SAAAL,EAAA,GAAAqhI,SAAArhI,EAAA,KAAuC,IAAAxB,EAAAk9B,EAAAwiI,UAAA5+J,EAAA,IAAA4rI,GAAAxvG,EAAA5I,iBAAA,IAAA6xG,GAAAnmI,IAAyDN,KAAAkyK,iBAAA9wK,MAA2B0iL,SAAA,SAAA3iL,GAAsBnB,KAAAw4I,aAAAr3I,GAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA7O,MAAWA,GAAAnL,WAAA,SAAAhsI,GAA4B,IAAAiH,EAAAjH,EAAA23J,YAAA,EAAAzyB,GAAAE,MAAArkI,EAAAf,EAAA23J,YAAA,EAAAzyB,GAAAG,OAA2D,OAAAp+H,IAAAk0C,EAAAkhF,UAAAt7H,IAAAo6C,EAAAohF,SAAA,EAAAt1H,IAAAk0C,EAAAohF,UAAAx7H,IAAAo6C,EAAAkhF,UAAA,KAA4E8a,GAAAyrC,kBAAA,SAAA5iL,GAAkC,QAAAiH,EAAA,IAAAixH,GAAAn3H,EAAA,IAAAgoB,EAAyB/oB,EAAAgnJ,WAAY,CAAE,IAAAxnJ,EAAAQ,EAAA0a,OAAAtG,EAAAnN,EAAA+qJ,iBAAAxyJ,EAAAi0B,kBAAwD1yB,EAAAsiD,IAAAjvC,GAAS,OAAAnN,EAAA6sJ,cAAA/yJ,IAA0BkG,EAAAqwI,GAAAx3I,UAAA,CAAiB+iL,8BAAA,WAAyC,OAAAp0I,UAAAztC,OAAA,QAAAhB,EAAAnB,KAAA+lI,WAAAr3C,WAA6DvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAwsB,iBAAoC50B,KAAAgkL,8BAAA9hL,EAAA,GAAAlC,KAAA+lI,YAAA/lI,KAAAgkL,8BAAA9hL,IAAAC,OAAA,GAAAnC,KAAA+lI,iBAA2H,OAAAn2F,UAAAztC,OAAA,KAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,OAAAzuC,EAAAoU,EAAAm5E,WAAkFvtF,EAAAgnJ,WAAY,CAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAwsB,iBAAA,QAAA4I,EAAA,EAA6CA,EAAAt7B,EAAAC,OAAA,EAAaq7B,IAAA,GAAAt7B,EAAAs7B,GAAAqhD,OAAAl+E,GAAA,UAAAoR,EAAA,iDAAAyrB,EAAA,QAAA78B,MAAgGslK,2BAAA,WAAuC,OAAAr2H,UAAAztC,OAAA,QAAAhB,EAAAnB,KAAA+lI,WAAAr3C,WAA6DvtF,EAAAgnJ,WAAY,QAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAlC,KAAA+lI,WAAAr3C,WAAiDxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe7b,KAAAimK,2BAAA79J,EAAAzH,QAAqC,OAAAivC,UAAAztC,OAAA,QAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAAyT,EAAAqf,iBAAAt0B,EAAAk9B,EAAA5I,iBAAAxzB,EAAA,EAAiHA,EAAAU,EAAAK,OAAA,EAAaf,IAAA,QAAAs8B,EAAA,EAAgBA,EAAAp9B,EAAA6B,OAAA,EAAau7B,IAAA19B,KAAAimK,2BAAA1wJ,EAAAnU,EAAAo8B,EAAAE,QAA6C,OAAAkS,UAAAztC,OAAA,CAA8B,IAAAR,EAAAiuC,UAAA,GAAAp7B,EAAAo7B,UAAA,GAAA99B,EAAA89B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAgE,GAAAjuC,IAAAmQ,GAAA0C,IAAA/T,EAAA,YAA4B,IAAAy7B,EAAAv6B,EAAAizB,iBAAApgB,GAAA1R,EAAAnB,EAAAizB,iBAAApgB,EAAA,GAAAipB,EAAA3rB,EAAA8iB,iBAAAn0B,GAAA2O,EAAA0C,EAAA8iB,iBAAAn0B,EAAA,GAAwG,GAAAT,KAAAwlI,GAAAuxB,oBAAA76H,EAAAp5B,EAAA26B,EAAAruB,GAAApP,KAAAwlI,GAAA0a,oBAAAlgJ,KAAAwlI,GAAA2xB,YAAAn3J,KAAAujL,wBAAAvjL,KAAAwlI,GAAAtpG,EAAAp5B,IAAA9C,KAAAujL,wBAAAvjL,KAAAwlI,GAAA/nG,EAAAruB,IAAA,UAAA2C,EAAA,mCAAAmqB,EAAA,IAAAp5B,EAAA,QAAA26B,EAAA,IAAAruB,KAAuP82J,WAAA,WAAuBlmK,KAAAgkL,gCAAAhkL,KAAAimK,6BAAAjmK,KAAAikL,kBAA6FA,eAAA,WAA2B,OAAAr0I,UAAAztC,OAAA,QAAAhB,EAAAnB,KAAA+lI,WAAAr3C,WAA6DvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAe7b,KAAAikL,eAAA77K,QAAuB,OAAAwnC,UAAAztC,OAAA,KAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAuB,EAAA0yB,iBAAA,IAAAzzB,EAAA,EAA6EA,EAAAR,EAAAwB,OAAA,EAAahB,IAAAnB,KAAAkkL,cAAAvjL,EAAAQ,GAAAR,EAAAQ,EAAA,GAAAR,EAAAQ,EAAA,MAA2CoiL,wBAAA,SAAApiL,EAAAiH,EAAAlG,GAAyC,QAAAvB,EAAA,EAAYA,EAAAQ,EAAA81J,qBAAyBt2J,IAAA,CAAK,IAAA4U,EAAApU,EAAAk2J,gBAAA12J,GAA2B,IAAA4U,EAAAspE,OAAAz2E,KAAAmN,EAAAspE,OAAA38E,GAAA,SAAuC,UAASgiL,cAAA,SAAA/iL,EAAAiH,EAAAlG,GAA+B,GAAAf,EAAA09E,OAAA38E,GAAA,UAAA6P,EAAA,+BAAA0mI,GAAA0rC,KAAAhxB,iBAAA,CAAAhyJ,EAAAiH,EAAAlG,MAA6F2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1O,MAAWA,GAAA0rC,KAAA,IAAA9qD,GAAAjxH,EAAAswI,GAAAz3I,UAAA,CAAiCmjL,iBAAA,SAAAjjL,EAAAiH,GAA+B,IAAAlG,EAAA6B,KAAAyiC,IAAArlC,EAAAgO,EAAA/G,EAAA+G,GAAAxO,EAAAoD,KAAA0K,IAAAtN,EAAAgO,EAAA/G,EAAA+G,GAAAoG,EAAAxR,KAAAyiC,IAAArlC,EAAAiO,EAAAhH,EAAAgH,GAAAouB,EAAAz5B,KAAA0K,IAAAtN,EAAAiO,EAAAhH,EAAAgH,GAAAtN,EAAA9B,KAAAy1H,KAAAvzH,GAAAlC,KAAAw1H,KAAA70H,GAAAX,KAAA21H,KAAApgH,GAAAvV,KAAA01H,KAAAl4F,EAAyI,GAAA17B,EAAA,SAAc,IAAAxB,EAAAN,KAAAqkL,0BAAAljL,EAAAiH,GAA0C,OAAAoM,EAAAiuH,SAAA3gI,GAAAxB,GAAA,2BAAAA,GAAqD24I,YAAA,SAAA93I,GAAyB,IAAAiH,EAAA,GAASpI,KAAAw1H,KAAAr0H,EAAAgO,EAAA/G,EAAApI,KAAAy1H,KAAAt0H,EAAAgO,EAAA/G,EAAApI,KAAA01H,KAAAv0H,EAAAiO,EAAAhH,EAAApI,KAAA21H,KAAAx0H,EAAAiO,EAAAhH,EAAApI,KAAA+4I,OAAA,OAAAjnI,EAAA9R,KAAAy1H,KAAAz1H,KAAA21H,MAAA31H,KAAA+4I,OAAA,OAAAjnI,EAAA9R,KAAAw1H,KAAAx1H,KAAA21H,MAAA31H,KAAA+4I,OAAA,OAAAjnI,EAAA9R,KAAAw1H,KAAAx1H,KAAA01H,MAAA11H,KAAA+4I,OAAA,OAAAjnI,EAAA9R,KAAAy1H,KAAAz1H,KAAA01H,OAAwOllE,WAAA,SAAArvD,EAAAiH,GAA0B,WAAApI,KAAA6zI,YAAA7zI,KAAAokL,iBAAAjjL,EAAAiH,IAAApI,KAAAskL,WAAAnjL,EAAAnB,KAAA64I,UAAA74I,KAAAskL,WAAAl8K,EAAApI,KAAA84I,UAAA94I,KAAAokL,iBAAApkL,KAAA64I,SAAA74I,KAAA84I,YAA8KpjH,MAAA,SAAAv0B,GAAmB,OAAA4C,KAAAkjB,MAAA9lB,EAAAnB,KAAA6zI,cAAsCzQ,cAAA,WAA0B,OAAApjI,KAAA24I,YAAuB2rC,WAAA,SAAAnjL,EAAAiH,GAA0BA,EAAA+G,EAAAnP,KAAA01B,MAAAv0B,EAAAgO,GAAA/G,EAAAgH,EAAApP,KAAA01B,MAAAv0B,EAAAiO,IAAwCm1K,gBAAA,WAA4B,UAAAvkL,KAAAg5I,QAAA,CAAwB,IAAA73I,EAAAu3I,GAAA8rC,0BAAAxkL,KAAA6zI,YAAoD7zI,KAAAg5I,QAAA,IAAA3wG,EAAAroC,KAAA24I,WAAAxpI,EAAAhO,EAAAnB,KAAA24I,WAAAxpI,EAAAhO,EAAAnB,KAAA24I,WAAAvpI,EAAAjO,EAAAnB,KAAA24I,WAAAvpI,EAAAjO,GAAoG,OAAAnB,KAAAg5I,SAAoByrC,uBAAA,SAAAtjL,EAAAiH,GAAsC,OAAApI,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA0a,oBAAAlgJ,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA0a,oBAAAlgJ,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA0a,oBAAAlgJ,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA0a,sBAA4XmkC,0BAAA,SAAAljL,EAAAiH,GAAyC,IAAAlG,GAAA,EAAAvB,GAAA,EAAc,OAAAX,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA2xB,aAAAn3J,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA2xB,aAAAn3J,KAAAwlI,GAAA0a,oBAAAh+I,GAAA,GAAAlC,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA2xB,aAAAn3J,KAAAwlI,GAAA0a,oBAAAv/I,GAAA,GAAAX,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAA+4I,OAAA,GAAA/4I,KAAA+4I,OAAA,MAAA/4I,KAAAwlI,GAAA2xB,eAAAj1J,IAAAvB,MAAAQ,EAAA09E,OAAA7+E,KAAAmW,OAAA/N,EAAAy2E,OAAA7+E,KAAAmW,QAA6duuK,eAAA,SAAAvjL,EAAAiH,GAA8B,IAAAlG,EAAAf,EAAAiiI,cAAAh7H,GAAAzH,EAAAQ,EAAAiiI,cAAAh7H,EAAA,GAAgD,QAAApI,KAAAwwD,WAAAtuD,EAAAvB,KAAAQ,EAAAqiK,gBAAAxjK,KAAAojI,gBAAAh7H,IAAA,IAA6EytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAzO,MAAWA,GAAA8rC,0BAAA,IAAAp8K,EAAA8wI,GAAAj4I,UAAA,CAAmDq9J,KAAA,WAAgB,OAAA1uH,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAs+J,KAAAn9J,EAAA,SAA4B,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAnN,EAAAm8K,kBAAA/mJ,EAAA,IAAA27G,GAAA/wI,EAAAlG,EAAAvB,GAAuF,OAAAX,KAAAI,MAAAmgK,MAAAhrJ,EAAA,CAA2BsgH,YAAA,WAAuB,OAAA6L,KAAW4+B,UAAA,SAAAn/J,GAAuB,IAAAiH,EAAAjH,EAAQiH,EAAA4iF,OAAAz1E,EAAAioB,MAAeA,EAAAmnJ,gBAAmB9uD,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjO,MAAWx7G,EAAAy7G,GAAA1uG,IAAAriC,EAAA+wI,GAAAl4I,UAAA,CAA2B0jL,YAAA,WAAuB,OAAA3kL,KAAAu5I,cAAyBvuD,OAAA,WAAmB,OAAAp7C,UAAAztC,OAAA,OAAAsoC,GAAAxpC,UAAA+pF,OAAAzoF,MAAAvC,KAAA4vC,WAAyE,IAAAzuC,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAAf,EAAAopC,aAAmD,cAAAvqC,KAAAq5I,YAAAn3I,IAAAlC,KAAAq5I,YAAAjxI,IAAApI,KAAAs5I,oBAAA,UAAAt5I,KAAAu5I,aAAAv5I,KAAAo5I,SAAAsrC,eAAAxiL,EAAAkG,KAAgJytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhO,MAAWD,GAAA0rC,mBAAAzrC,GAAA/wI,EAAAoxI,GAAAv4I,UAAA,CAA2CmkK,qBAAA,SAAAjkK,EAAAiH,EAAAlG,EAAAvB,GAAuC,GAAAQ,IAAAe,GAAAkG,IAAAzH,EAAA,YAA4B,IAAA4U,EAAApU,EAAAyzB,iBAAAxsB,GAAAo1B,EAAAr8B,EAAAyzB,iBAAAxsB,EAAA,GAAAtG,EAAAI,EAAA0yB,iBAAAj0B,GAAAL,EAAA4B,EAAA0yB,iBAAAj0B,EAAA,GAAwG,GAAAX,KAAAwlI,GAAAuxB,oBAAAxhJ,EAAAioB,EAAA17B,EAAAxB,GAAAN,KAAAwlI,GAAA0a,mBAAAlgJ,KAAAwlI,GAAA4xB,yBAAA,CAAqG,QAAAh2J,EAAA,EAAYA,EAAApB,KAAAwlI,GAAAyxB,qBAA+B71J,IAAApB,KAAAy5I,sBAAAj1F,IAAAxkD,KAAAwlI,GAAA6xB,gBAAAj2J,IAA+DD,EAAAyiK,iBAAA5jK,KAAAwlI,GAAAp9H,EAAA,GAAAlG,EAAA0hK,iBAAA5jK,KAAAwlI,GAAA7kI,EAAA,KAAiEuwJ,OAAA,WAAmB,UAAS2zB,yBAAA,WAAqC,OAAA7kL,KAAAy5I,uBAAkC5jB,YAAA,WAAwB,OAAAllG,KAAWw2H,SAAA,WAAqB,OAAA3N,MAAWpxI,EAAAsxI,GAAAz4I,UAAA,CAAkB6jL,iBAAA,SAAA3jL,GAA6B,IAAAiH,EAAA47H,GAAA6/B,mBAAA1iK,GAAAe,EAAA,IAAAu2I,GAAArwI,GAA2C,IAAIlG,EAAAgkK,aAAe,MAAA/kK,GAAS,KAAAA,aAAAy0H,GAAA,MAAAz0H,EAA6BA,EAAAoxJ,oBAA8BsR,mBAAA,WAA+B,OAAA7/B,GAAA6/B,mBAAA7jK,KAAAglI,kBAAmD+/C,UAAA,SAAA5jL,EAAAiH,GAAyB,IAAAlG,EAAAlC,KAAAglL,0BAAA7jL,EAAAiH,GAA0CpI,KAAAilL,yBAAA/iL,GAAAlC,KAAAklL,mBAAA/jL,IAA4D6jL,0BAAA,SAAA7jL,EAAAiH,GAAyC,IAAAlG,EAAA,IAAAs3I,GAAApxI,GAAgB,OAAApI,KAAA4zI,MAAAhP,sBAAA1iI,GAAAlC,KAAA4zI,MAAAoxB,aAAA7jK,GAAAe,EAAA2iL,4BAAmGK,mBAAA,WAA+B,GAAAx1E,EAAA9/D,UAAA,GAAA9sC,GAAA,QAAA3B,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAutF,WAA2DtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAklL,mBAAAhjL,QAA2B,GAAA0tC,UAAA,aAAAo0F,GAAA,QAAArjI,EAAAivC,UAAA,GAAAr6B,EAAA5U,EAAAi0B,iBAAA4I,EAAA,EAAkFA,EAAAjoB,EAAApT,OAAWq7B,IAAA,CAAK,IAAA17B,EAAA,IAAA42I,GAAAnjI,EAAAioB,GAAAx9B,KAAA6zI,YAAA7zI,KAAAwlI,IAAAllI,EAAAN,KAAA45I,aAAA0kB,KAAAx8J,EAAAnB,EAAA68B,GAA4El9B,GAAAK,EAAA6iK,gBAAAjuJ,EAAAioB,QAA8BwnI,aAAA,SAAA7jK,GAA0BnB,KAAAglI,gBAAA7jI,EAAAnB,KAAA4zI,MAAA,IAAA/O,GAAA7kI,KAAA45I,aAAA,IAAAV,GAAAl5I,KAAA4zI,MAAAsxB,YAAAllK,KAAA+kL,UAAA5jL,EAAAnB,KAAAwlI,KAAmHy/C,yBAAA,SAAA9jL,GAAsC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAA,IAAA+3I,GAAAx2I,EAAAlC,KAAA6zI,YAAA7zI,KAAAwlI,IAAoDxlI,KAAA45I,aAAA0kB,KAAA39J,KAA2Bk1H,YAAA,WAAwB,OAAA6O,KAAWyiB,SAAA,WAAqB,OAAAzN,MAAWtxI,EAAA2xI,GAAA94I,UAAA,CAAkBkkL,qBAAA,SAAAhkL,GAAiC,IAAAiH,EAAA,IAAAurI,GAAA,IAAA+F,GAAA,IAAAlhF,GAAA,IAAAr3D,EAAA24I,YAAA53I,EAAA,IAAAo2I,GAAAt4I,KAAA42I,WAAsE10I,EAAAshL,yBAAAriL,GAAAe,EAAA4hL,SAAA17K,GAAApI,KAAAi6I,eAAA/3I,EAAAg9B,OAAAl/B,KAAAg6I,QAAAh6I,KAAA0T,WAAqG0xK,uBAAA,WAAmC,OAAAx1I,UAAAztC,OAAA,CAAyB,QAAAhB,EAAA44I,GAAAsrC,qBAAkClkL,GAAA,EAAKA,IAAA,CAAK,IAAInB,KAAAolL,uBAAAjkL,GAA+B,MAAAA,GAAS,KAAAA,aAAAikI,IAAA,MAAAjkI,EAA8BnB,KAAAk6I,cAAA/4I,EAA8B,UAAAnB,KAAAi6I,eAAA,YAA0C,MAAAj6I,KAAAk6I,cAAyB,OAAAtqG,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA63I,GAAAurC,qBAAAtlL,KAAAg6I,QAAAh6I,KAAA0T,SAAAtL,GAAAzH,EAAA,IAAA63D,GAAAt2D,GAAuFlC,KAAAmlL,qBAAAxkL,KAA8ByxK,gBAAA,WAA4B,GAAApyK,KAAAulL,0BAAA,OAAAvlL,KAAAi6I,eAAA,YAAyE,IAAA94I,EAAAnB,KAAAg6I,QAAA7hB,aAAA+V,oBAAoD/sI,EAAAmuB,YAAAkpC,GAAAqjE,MAAA77H,KAAAmlL,qBAAAhkL,GAAAnB,KAAAolL,0BAAkFnwC,oBAAA,SAAA9zI,GAAiCnB,KAAA42I,UAAA3B,oBAAA9zI,IAAsCokL,wBAAA,WAAoC,IAAI,IAAApkL,EAAA,IAAAm3I,GAAAt4I,KAAA42I,WAA6B52I,KAAAi6I,eAAA94I,EAAA+9B,OAAAl/B,KAAAg6I,QAAAh6I,KAAA0T,UAAyD,MAAAvS,GAAS,KAAAA,aAAA4Q,GAAA,MAAA5Q,EAA6BnB,KAAAk6I,cAAA/4I,IAA+BqxK,kBAAA,SAAArxK,GAA+B,OAAAnB,KAAA0T,SAAAvS,EAAAnB,KAAAoyK,kBAAApyK,KAAAi6I,gBAAkE/E,eAAA,SAAA/zI,GAA4BnB,KAAA42I,UAAA1B,eAAA/zI,IAAiC00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApN,MAAWA,GAAAyrC,SAAA,WAAyB,OAAA51I,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAA63I,GAAA54I,GAAAR,EAAAuB,EAAAswK,kBAAApqK,GAAuE,OAAAzH,EAAS,OAAAivC,UAAAztC,OAAA,CAAyB,GAAA2lB,OAAAiyG,UAAAnqF,UAAA,KAAAA,UAAA,aAAAxH,GAAA,iBAAAwH,UAAA,IAA4F,IAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAA,IAAAy5I,GAAAxkI,GAA6DjV,EAAA20I,oBAAAnzI,GAAyBnB,EAAAL,EAAAkyK,kBAAAh1I,GAA6B,OAAA78B,EAAS,GAAAivC,UAAA,aAAAykG,IAAAzkG,UAAA,aAAAxH,GAAA,iBAAAwH,UAAA,IAAuF,IAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,EAAAkS,UAAA,GAAAtvC,EAAA,IAAAy5I,GAAA34I,EAAAs8B,GAAA/8B,EAAAL,EAAAkyK,kBAAAzgK,GAAwF,OAAApR,QAAU,OAAAivC,UAAAztC,OAAA,CAA8B,IAAAR,EAAAiuC,UAAA,GAAAp7B,EAAAo7B,UAAA,GAAA99B,EAAA89B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAAtvC,EAAA,IAAAy5I,GAAAp4I,GAA4ErB,EAAA20I,oBAAAnjI,GAAAxR,EAAA40I,eAAAz0I,GAA6CE,EAAAL,EAAAkyK,kBAAAh+J,GAA6B,OAAA7T,IAAUo5I,GAAAurC,qBAAA,SAAAnkL,EAAAiH,EAAAlG,GAAyC,IAAAvB,EAAAQ,EAAAkuI,sBAAA95H,EAAAugH,EAAArnH,IAAA1K,KAAA6hB,IAAAjlB,EAAAsyI,WAAAlvI,KAAA6hB,IAAAjlB,EAAA2uI,WAAAvrI,KAAA6hB,IAAAjlB,EAAAqyI,WAAAjvI,KAAA6hB,IAAAjlB,EAAA4uI,YAAA/xG,EAAAp1B,EAAA,EAAAA,EAAA,EAAAtG,EAAAyT,EAAA,EAAAioB,EAAAl9B,EAAAyD,KAAAmjJ,MAAAnjJ,KAAA02B,IAAA34B,GAAAiC,KAAA02B,IAAA,OAAAr5B,EAAAc,EAAA5B,EAAAyR,EAAAhO,KAAAulB,IAAA,GAAAloB,GAAiN,OAAA2Q,GAASgoI,GAAAtF,UAAAJ,GAAAI,UAAAsF,GAAA0rC,SAAApxC,GAAAyqC,SAAA/kC,GAAA+kC,SAAAzqC,GAAAyqC,SAAA/kC,GAAAglC,WAAA1qC,GAAA0qC,WAAAhlC,GAAAsrC,qBAAA,GAAkI,IAAAK,GAAAttK,OAAA8iJ,OAAA,CAAsByqB,SAAA5rC,GAAA6rC,iBAAAvxC,KAAkCjsI,EAAA+xI,GAAAl5I,UAAA,CAAgBS,OAAA,SAAAP,GAAmBA,aAAA63H,IAAAh5H,KAAAo6I,MAAA51F,IAAArjD,IAAmC00H,YAAA,WAAwB,OAAA4B,KAAW0vB,SAAA,WAAqB,OAAAhN,MAAWA,GAAAgyB,YAAA,WAA4B,OAAAv8H,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAuqG,GAAAgyB,YAAAhrK,EAAA,IAAA+oB,GAA+B,OAAA0lB,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAAxnC,aAAA4wH,GAAA92H,EAAAsiD,IAAAp8C,gBAAAuvH,IAAAvvH,EAAA7F,MAAA,IAAA43I,GAAAj4I,QAAuEkG,EAAAiyI,GAAAp5I,UAAA,CAAiB4kL,aAAA,WAAwB,OAAA7lL,KAAAs6I,WAAAD,GAAAE,aAAsCnX,cAAA,WAA0B,OAAApjI,KAAAmW,IAAe2vK,qBAAA,WAAiC,OAAA9lL,KAAA8xB,WAAsBs+I,gBAAA,WAA4B,OAAApwK,KAAAs6I,UAAqBzkB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9M,MAAWA,GAAAE,aAAA,EAAAnyI,EAAAoyI,GAAAv5I,UAAA,CAAoCS,OAAA,SAAAP,GAAmBA,aAAA23H,IAAA94H,KAAAshI,IAAA98E,IAAArjD,IAAiC00H,YAAA,WAAwB,OAAA4B,KAAW0vB,SAAA,WAAqB,OAAA3M,MAAWA,GAAAgiC,UAAA,WAA0B,OAAA5sI,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAzuC,aAAA23H,GAAA8nC,GAAAE,cAAA3/J,GAAAq5I,GAAAgiC,UAAAr7K,EAAA,IAAA+oB,GAAiE,OAAA0lB,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAAxnC,aAAA0wH,GAAA52H,EAAAsiD,IAAAp8C,gBAAAuvH,IAAAvvH,EAAA7F,MAAA,IAAAi4I,GAAAt4I,QAAuEkG,EAAAqyI,GAAAx5I,UAAA,CAAiBS,OAAA,SAAAP,IAAmBA,aAAA23H,IAAA33H,aAAAy3H,IAAAz3H,aAAA63H,KAAAh5H,KAAA06I,UAAAl2F,IAAA,IAAA61F,GAAAl5I,EAAA,EAAAA,EAAAiiI,mBAAuGvN,YAAA,WAAwB,OAAA4B,KAAW0vB,SAAA,WAAqB,OAAA1M,MAAWA,GAAA+rB,aAAA,SAAArlK,GAA8B,IAAAiH,EAAA,IAAA8hB,EAAY,OAAA/oB,EAAAoB,MAAA,IAAAk4I,GAAAryI,OAA4BA,EAAAuyI,GAAA15I,UAAA,CAAiB8kL,2BAAA,WAAsC,OAAAn2I,UAAAztC,OAAA,CAAyB,IAAAhB,EAAA,IAAAU,MAAA,GAAA+hC,KAAA,MAA8B,GAAA5jC,KAAA+lL,2BAAA,EAAA5kL,GAAAnB,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,YAA6F56I,KAAA+lL,2BAAA,EAAA5kL,QAAqC,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAA,EAAAyH,EAAAmN,EAAA4kI,GAAAgyB,YAAAnsK,KAAA8G,KAAAsB,IAAuE,GAAAmN,EAAAJ,OAAA,GAAe,IAAAqoB,EAAAi9G,GAAA+rB,aAAAxmK,KAAA8G,KAAAnG,IAAoC,GAAAX,KAAA+lL,2BAAAvoJ,EAAAjoB,EAAArT,GAAAlC,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,OAAA56I,KAAA66I,oBAAAl6I,GAAAuB,EAAA,GAAAlC,KAAA66I,oBAAAzyI,GAAAlG,EAAA,cAAkK,OAAA0tC,UAAAztC,OAAA,GAAAytC,UAAA,aAAA/tC,OAAA6tG,EAAA9/D,UAAA,GAAAxgC,IAAAsgG,EAAA9/D,UAAA,GAAAxgC,IAAoG,QAAAtN,EAAA8tC,UAAA,GAAAtvC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA,EAAyDA,EAAAjQ,EAAAqT,OAAWpD,IAAA,QAAA2rB,EAAA57B,EAAAwW,IAAAvG,GAAApQ,EAAA,EAA2BA,EAAArB,EAAA6U,OAAWxT,IAAA,GAAA3B,KAAA+lL,2BAAAroJ,EAAAp9B,EAAAgY,IAAA3W,GAAAP,GAAApB,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,iBAA0G,GAAAhrG,UAAA,aAAA/tC,OAAA+tC,UAAA,aAAAyqG,IAAAzqG,UAAA,aAAAopF,GAAA,CAA4F,IAAAxkH,EAAAo7B,UAAA,GAAA99B,EAAA89B,UAAA,GAAAnvC,EAAAmvC,UAAA,GAAA1T,EAAA1nB,EAAA4uH,gBAAqE,GAAA9mF,EAAAohF,WAAA19H,KAAA6oI,UAAA82B,OAAAzjI,EAAApqB,GAAA,OAAA9R,KAAAyvI,YAAA,EAAAhvI,EAAA,GAAA+T,EAAA/T,EAAA,OAAA45I,GAAAvoI,EAAAoqB,GAAA,OAAmG8pJ,8BAAA,SAAA7kL,EAAAiH,EAAAlG,GAA+C,QAAAvB,EAAA,EAAYA,EAAAQ,EAAAgU,OAAWxU,IAAA,QAAA4U,EAAApU,EAAAmX,IAAA3X,GAAA68B,EAAA,EAA2BA,EAAAp1B,EAAA+M,OAAWqoB,IAAA,CAAK,IAAA17B,EAAAsG,EAAAkQ,IAAAklB,GAAe,GAAAx9B,KAAAimL,mBAAA1wK,EAAAzT,EAAAI,GAAAlC,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,cAAwFsrC,qBAAA,WAAiC,IAAA/kL,EAAA,IAAAU,MAAA,GAAA+hC,KAAA,MAAAx7B,EAAA4lC,GAAA+hI,SAAA/vK,KAAA8G,KAAA,IAAA5E,EAAA8rC,GAAA+hI,SAAA/vK,KAAA8G,KAAA,IAAAnG,EAAA65I,GAAAgiC,UAAAx8K,KAAA8G,KAAA,IAAAyO,EAAAilI,GAAAgiC,UAAAx8K,KAAA8G,KAAA,IAAgJ,OAAA9G,KAAAmmL,wBAAA/9K,EAAAlG,EAAAf,GAAAnB,KAAAomL,kBAAAjlL,GAAA,GAAAnB,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,MAAAz5I,EAAA,QAAAA,EAAA,QAAAnB,KAAAgmL,8BAAA59K,EAAAmN,EAAApU,GAAAnB,KAAAomL,kBAAAjlL,GAAA,GAAAnB,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,MAAAz5I,EAAA,QAAAA,EAAA,QAAAnB,KAAAgmL,8BAAA9jL,EAAAvB,EAAAQ,GAAAnB,KAAAomL,kBAAAjlL,GAAA,GAAAnB,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,MAAAz5I,EAAA,QAAAA,EAAA,QAAAnB,KAAAqmL,yBAAA1lL,EAAA4U,EAAApU,QAAAnB,KAAAomL,kBAAAjlL,GAAA,OAAyemlL,iBAAA,WAA6B,OAAAtmL,KAAAimL,qBAAAjmL,KAAA66I,qBAA0DurC,kBAAA,SAAAjlL,EAAAiH,GAAiC,cAAAjH,EAAA,aAAAiH,GAAApI,KAAA66I,oBAAA,GAAA15I,EAAA,GAAAnB,KAAA66I,oBAAA,GAAA15I,EAAA,KAAAnB,KAAA66I,oBAAA,GAAA15I,EAAA,GAAAnB,KAAA66I,oBAAA,GAAA15I,EAAA,MAAwKolL,cAAA,WAA0BvmL,KAAAimL,qBAA0B,IAAA9kL,EAAA,CAAAnB,KAAA66I,oBAAA,GAAAzX,gBAAApjI,KAAA66I,oBAAA,GAAAzX,iBAAgG,OAAAjiI,GAAS8kL,mBAAA,WAA+B,OAAAr2I,UAAAztC,OAAA,CAAyB,UAAAnC,KAAA66I,oBAAA,YAA+C,GAAA76I,KAAA66I,oBAAA,IAAAh5I,MAAA,GAAA+hC,KAAA,MAAA5jC,KAAA+lL,6BAAA/lL,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,YAA2I56I,KAAAkmL,4BAA4B,OAAAt2I,UAAAztC,OAAA,GAAAytC,UAAA,aAAA/tC,OAAA+tC,UAAA,aAAAgpF,IAAAhpF,UAAA,aAAAkpF,GAAA,CAAoH,IAAA33H,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAiD,GAAAzuC,EAAAkuI,sBAAA37H,SAAAtL,EAAAinI,uBAAArvI,KAAAyvI,YAAA,YAA0F,QAAA9uI,EAAAQ,EAAAyzB,iBAAArf,EAAAnN,EAAAg7H,gBAAA5lG,EAAA,EAAqDA,EAAA78B,EAAAwB,OAAA,EAAaq7B,IAAA,CAAK,IAAA17B,EAAAo7H,GAAAy7B,kBAAApjJ,EAAA5U,EAAA68B,GAAA78B,EAAA68B,EAAA,IAA0C,GAAA17B,EAAA9B,KAAAyvI,YAAA,CAAuBzvI,KAAAyvI,YAAA3tI,EAAmB,IAAAxB,EAAA,IAAA68H,GAAAx8H,EAAA68B,GAAA78B,EAAA68B,EAAA,IAAAp8B,EAAAd,EAAAu5J,aAAAtkJ,GAA8CrT,EAAA,OAAAm4I,GAAAl5I,EAAAq8B,EAAAp8B,GAAAc,EAAA,OAAAm4I,GAAAjyI,EAAA,EAAAmN,GAAsC,GAAAvV,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,kBAAyD,GAAAhrG,UAAA,aAAA/tC,OAAA+tC,UAAA,aAAAgpF,IAAAhpF,UAAA,aAAAgpF,GAAA,CAA4F,IAAA7mH,EAAA69B,UAAA,GAAAlS,EAAAkS,UAAA,GAAAjuC,EAAAiuC,UAAA,GAAiD,GAAA79B,EAAAs9H,sBAAA37H,SAAAgqB,EAAA2xG,uBAAArvI,KAAAyvI,YAAA,YAA0F9uI,EAAAoR,EAAA6iB,iBAAA,IAAApgB,EAAAkpB,EAAA9I,iBAAA,IAAA4I,EAAA,EAAsDA,EAAA78B,EAAAwB,OAAA,EAAaq7B,IAAA,QAAA1rB,EAAA,EAAgBA,EAAA0C,EAAArS,OAAA,EAAa2P,IAAA,CAAKhQ,EAAAo7H,GAAA+7B,iBAAAt4J,EAAA68B,GAAA78B,EAAA68B,EAAA,GAAAhpB,EAAA1C,GAAA0C,EAAA1C,EAAA,IAAmD,GAAAhQ,EAAA9B,KAAAyvI,YAAA,CAAuBzvI,KAAAyvI,YAAA3tI,EAAmB,IAAArB,EAAA,IAAA08H,GAAAx8H,EAAA68B,GAAA78B,EAAA68B,EAAA,IAAAtB,EAAA,IAAAihG,GAAA3oH,EAAA1C,GAAA0C,EAAA1C,EAAA,IAAAhP,EAAArC,EAAAm5J,cAAA19H,GAAqEv6B,EAAA,OAAA04I,GAAAtoI,EAAAyrB,EAAA16B,EAAA,IAAAnB,EAAA,OAAA04I,GAAA38G,EAAA5rB,EAAAhP,EAAA,IAA4C,GAAA9C,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,eAA0DyrC,yBAAA,SAAAllL,EAAAiH,EAAAlG,GAA0C,QAAAvB,EAAA,EAAYA,EAAAQ,EAAAgU,OAAWxU,IAAA,QAAA4U,EAAApU,EAAAmX,IAAA3X,GAAA68B,EAAA,EAA2BA,EAAAp1B,EAAA+M,OAAWqoB,IAAA,CAAK,IAAA17B,EAAAsG,EAAAkQ,IAAAklB,GAAAl9B,EAAAiV,EAAA6tH,gBAAA1vH,SAAA5R,EAAAshI,iBAA+D,GAAA9iI,EAAAN,KAAAyvI,cAAAzvI,KAAAyvI,YAAAnvI,EAAA4B,EAAA,OAAAm4I,GAAA9kI,EAAA,EAAAA,EAAA6tH,iBAAAlhI,EAAA,OAAAm4I,GAAAv4I,EAAA,EAAAA,EAAAshI,kBAAApjI,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,cAAwKlnI,SAAA,WAAqB,UAAA1T,KAAA8G,KAAA,WAAA9G,KAAA8G,KAAA,aAAAnG,EAAA,qCAA6F,OAAAX,KAAA8G,KAAA,GAAAqzG,WAAAn6G,KAAA8G,KAAA,GAAAqzG,UAAA,GAAAn6G,KAAAimL,qBAAAjmL,KAAAyvI,cAAqG02C,wBAAA,SAAAhlL,EAAAiH,EAAAlG,GAAyC,QAAAvB,EAAA,EAAYA,EAAAQ,EAAAgU,OAAWxU,IAAA,QAAA4U,EAAApU,EAAAmX,IAAA3X,GAAA68B,EAAA,EAA2BA,EAAAp1B,EAAA+M,OAAWqoB,IAAA,CAAK,IAAA17B,EAAAsG,EAAAkQ,IAAAklB,GAAe,GAAAx9B,KAAAimL,mBAAA1wK,EAAAzT,EAAAI,GAAAlC,KAAAyvI,aAAAzvI,KAAA46I,kBAAA,cAAwF/kB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxM,MAAWA,GAAAjnI,SAAA,SAAAvS,EAAAiH,GAA4B,IAAAlG,EAAA,IAAAy4I,GAAAx5I,EAAAiH,GAAkB,OAAAlG,EAAAwR,YAAoBinI,GAAA6rC,iBAAA,SAAArlL,EAAAiH,EAAAlG,GAAqC,IAAAvB,EAAA,IAAAg6I,GAAAx5I,EAAAiH,EAAAlG,GAAoB,OAAAvB,EAAA+S,YAAAxR,GAAuBy4I,GAAA4rC,cAAA,SAAAplL,EAAAiH,GAAgC,IAAAlG,EAAA,IAAAy4I,GAAAx5I,EAAAiH,GAAkB,OAAAlG,EAAAqkL,iBAA0B,IAAAE,GAAAruK,OAAA8iJ,OAAA,CAAsBwrB,WAAA/rC,KAAgBvyI,EAAA0yI,GAAA75I,UAAA,CAAgB2zB,eAAA,WAA0B,UAAA50B,KAAA2F,YAAA,CAA4B,QAAAxE,EAAA,EAAAiH,EAAA,EAAAlG,EAAA,IAAA6oB,EAAApqB,EAAAX,KAAA+6I,cAAArsD,WAAwD/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,EAAAoxK,mBAAAxlL,IAAAiH,IAAAlG,EAAAsiD,IAAAjvC,EAAAsuH,UAAA+iD,UAAAhyJ,kBAAA,EAAArf,EAAAoxK,oBAAmG3mL,KAAA2F,YAAAzD,EAAAqmJ,oBAAAngJ,EAAAjH,GAAAo1H,EAAAtuH,QAAAjI,KAAA2F,aAAwE,OAAA3F,KAAA2F,aAAwB8wJ,aAAA,WAAyB,OAAAz2J,KAAA+5B,QAAAo5H,iBAAAnzJ,KAAA40B,mBAA4D4vB,IAAA,SAAArjD,GAAiBnB,KAAA+6I,cAAAv2F,IAAArjD,IAA0B00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArM,MAAW1yI,EAAA4yI,GAAA/5I,UAAA,CAAkBunK,WAAA,SAAArnK,GAAuBnB,KAAA0nI,WAAAvmI,GAAkBy4K,SAAA,WAAqB,OAAA55K,KAAAmyI,WAAsB4tB,QAAA,SAAA5+J,GAAqBnB,KAAA4I,KAAAzH,GAAY6+J,QAAA,WAAoB,OAAAhgK,KAAA4I,MAAiBi+K,UAAA,SAAA1lL,GAAuBnB,KAAAmyI,UAAAhxI,GAAiBopC,WAAA,WAAuB,OAAAvqC,KAAA4I,MAAiBogK,UAAA,WAAsB,OAAAhpK,KAAA0nI,YAAuBo/C,WAAA,SAAA3lL,GAAwBnB,KAAA4I,KAAAzH,GAAY00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnM,MAAWA,GAAA+rC,6BAAA,SAAA5lL,EAAAiH,GAAgD,KAAKjH,EAAAgnJ,WAAY,CAAE,IAAAjmJ,EAAAf,EAAA0a,OAAe,GAAA3Z,EAAA8mK,cAAA5gK,EAAA,OAAAlG,EAA8B,aAAY84I,GAAAwtB,WAAA,SAAArnK,EAAAiH,GAA6B,KAAKjH,EAAAgnJ,WAAY,CAAE,IAAAjmJ,EAAAf,EAAA0a,OAAe3Z,EAAAsmK,WAAApgK,KAAiB4yI,GAAA6rC,UAAA,SAAA1lL,EAAAiH,GAA4B,KAAKjH,EAAAgnJ,WAAY,CAAE,IAAAjmJ,EAAAf,EAAA0a,OAAe3Z,EAAA2kL,UAAAz+K,KAAgBs1B,EAAAu9G,GAAAD,IAAA5yI,EAAA6yI,GAAAh6I,UAAA,CAA0B+lL,UAAA,WAAqB,cAAAhnL,KAAAq5I,YAA8BkwB,iBAAA,SAAApoK,GAA8B,OAAAnB,KAAA+nI,SAAA5mI,EAAA4mI,SAAA,EAAA/nI,KAAA+nI,SAAA5mI,EAAA4mI,UAAA,EAAA7K,GAAAi8B,mBAAAh4J,EAAAi8H,GAAAj8H,EAAAke,GAAArf,KAAAqf,KAAuG+jH,cAAA,WAA0B,OAAApjI,KAAAma,KAAAipH,iBAAiCy/B,MAAA,SAAA1hK,GAAmB,IAAAiH,EAAApI,KAAAmnJ,WAAA4M,UAAA7xJ,EAAAkG,EAAAqhK,YAAA,KAAA9oK,EAAAyH,EAAAmxF,UAAAr3F,EAAA,GAAwEf,EAAA0hK,MAAA,KAAAliK,EAAA,KAAAX,KAAAo9H,GAAA,MAAAp9H,KAAAqf,GAAA,IAAArf,KAAA+nI,SAAA,IAAA/nI,KAAAipE,QAA4Eg+G,eAAA,WAA2B,OAAAjnL,KAAAqf,IAAe6nK,SAAA,WAAqB,OAAAlnL,KAAAipE,OAAkBklE,UAAA,SAAAhtI,GAAuB,IAAAiH,EAAAjH,EAAQ,OAAAnB,KAAAupK,iBAAAnhK,IAAgC++K,YAAA,WAAwB,OAAAnnL,KAAAma,MAAiBgwJ,OAAA,WAAmB,OAAAnqK,KAAAic,KACnv+BmrK,QAAA,SAAAjmL,GAAqBnB,KAAAq5I,WAAAl4I,GAAkBs3G,OAAA,WAAmBz4G,KAAAic,IAAA,KAAAjc,KAAAq5I,WAAA,MAAmCxV,QAAA,WAAoB,OAAA7jI,KAAAq5I,YAAuBswB,YAAA,WAAwB,OAAA3pK,KAAA+nI,UAAqBuiC,OAAA,SAAAnpK,GAAoBnB,KAAAic,IAAA9a,GAAWkmL,UAAA,WAAsB,OAAArnL,KAAAoa,IAAeusK,iBAAA,WAA6B,OAAA3mL,KAAAk7I,eAA0BrlB,YAAA,WAAwB,OAAAr4F,IAAU2pH,SAAA,WAAqB,OAAAlM,MAAWA,GAAAqsC,QAAA,SAAAnmL,GAAyB,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY//I,EAAAo8C,IAAAtiD,EAAA2Z,OAAAw9H,YAA4B,OAAAjxI,GAASs1B,EAAAy9G,GAAAF,IAAA7yI,EAAA+yI,GAAAl6I,UAAA,CAA0BqmK,QAAA,WAAmB,WAAAtnK,KAAAqnL,YAAAla,YAAA,KAAAntK,KAAAqnL,YAAAE,cAAA9f,WAAAnvJ,IAAA,KAAAtY,KAAAmqK,SAAAnqK,KAAAqnL,YAAAE,cAAA9f,WAAAnvJ,IAAA,IAAA9D,EAAAiuH,OAAAziI,KAAAqnL,YAAAE,cAAA9f,WAAAnvJ,IAAA,KAAAtY,KAAAmqK,UAAAnqK,KAAAqnL,YAAAE,cAAA9f,WAAAnvJ,IAAA,KAA6Ru9G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhM,MAAWz9G,EAAA09G,GAAAJ,IAAA5yI,EAAAgzI,GAAAn6I,UAAA,CAA2B+lL,UAAA,WAAqB,cAAAhnL,KAAAq7I,SAA2BC,iBAAA,SAAAn6I,EAAAiH,GAAgCpI,KAAAq7I,QAAA,CAAAl6I,EAAAiH,GAAAjH,EAAAimL,QAAApnL,MAAAoI,EAAAg/K,QAAApnL,MAAAmB,EAAAmpK,OAAAliK,KAAAkiK,OAAAnpK,KAAAgmL,cAAAK,WAAArmL,GAAAiH,EAAA++K,cAAAK,WAAAp/K,IAAuIq/K,WAAA,WAAuB,GAAA3/J,OAAAiyG,UAAAnqF,UAAA,KAAmC,IAAAzuC,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAq7I,QAAAl6I,GAAuB,GAAAyuC,UAAA,aAAA6rG,GAAA,CAA8B,IAAArzI,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAAq7I,QAAA,GAAA8rC,gBAAA/+K,EAAApI,KAAAq7I,QAAA,GAAAr7I,KAAAq7I,QAAA,GAAA8rC,gBAAA/+K,EAAApI,KAAAq7I,QAAA,UAAiH5iC,OAAA,WAAmBz4G,KAAAq7I,QAAA,MAAkBqsC,gBAAA,SAAAvmL,GAA6B,OAAAnB,KAAAq7I,QAAA,GAAA8rC,gBAAAhmL,EAAAnB,KAAAq7I,QAAA,GAAAgsC,YAAArnL,KAAAq7I,QAAA,GAAA8rC,gBAAAhmL,EAAAnB,KAAAq7I,QAAA,GAAAgsC,YAAA,MAAwIxxD,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/L,MAAWhzI,EAAAmzI,GAAAt6I,UAAA,CAAkB0mL,YAAA,SAAAxmL,GAAwB,IAAAiH,EAAApI,KAAAklK,SAAA/jK,GAAuB,OAAAnB,KAAAw7I,SAAAljI,IAAAtY,KAAAklK,SAAA98J,EAAA,KAA6Cg7H,cAAA,WAA0B,IAAAjiI,EAAAnB,KAAA0uF,WAAsB,IAAAvtF,EAAAgnJ,UAAA,YAA4B,IAAA//I,EAAAjH,EAAA0a,OAAe,OAAAzT,EAAAg7H,iBAAyB10C,SAAA,WAAqB,OAAA1uF,KAAA4nL,YAAA5nL,KAAAw7I,SAAA9sD,YAAiDk5F,UAAA,WAAsB5nL,KAAAsyC,SAAAsuH,GAAA57J,KAAAhF,KAAAw7I,UAAAx7I,KAAAsyC,QAAA,IAAqDmmE,OAAA,SAAAt3G,GAAoBnB,KAAAw7I,SAAA/iC,OAAAt3G,IAAwBsmK,SAAA,WAAqB,OAAAznK,KAAA4nL,YAAA5nL,KAAAw7I,UAAsCqsC,cAAA,SAAA1mL,GAA2B,IAAAiH,EAAApI,KAAAklK,SAAA/jK,GAAuB,OAAAnB,KAAAw7I,SAAAljI,IAAAtY,KAAAklK,SAAA98J,EAAA,KAA6C88J,SAAA,WAAqB,GAAAt1H,UAAA,aAAAwrG,GAAA,CAA8B,IAAAj6I,EAAAyuC,UAAA,GAAmB5vC,KAAA4nL,YAAiB,QAAAx/K,EAAA,EAAYA,EAAApI,KAAAw7I,SAAArmI,OAAuB/M,IAAA,CAAK,IAAAlG,EAAAlC,KAAAw7I,SAAAljI,IAAAlQ,GAA2B,GAAAlG,EAAA2hI,YAAA1iI,EAAA,OAAAiH,EAA4B,SAAS,GAAAwnC,UAAA,aAAAqrG,GAAA,CAA8B,IAAAt6I,EAAAivC,UAAA,GAAmB5vC,KAAA4nL,YAAiB,IAAAx/K,EAAA,EAAYA,EAAApI,KAAAw7I,SAAArmI,OAAuB/M,IAAA,CAAKlG,EAAAlC,KAAAw7I,SAAAljI,IAAAlQ,GAA2B,GAAAlG,IAAAvB,EAAA,OAAAyH,EAAkB,SAAS,GAAA0f,OAAAiyG,UAAAnqF,UAAA,KAAmC,IAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAjoB,EAAAvV,KAAAw7I,SAAArmI,OAA4C,OAAAqoB,EAAA,IAAAA,GAAAx9B,KAAAw7I,SAAArmI,QAAAqoB,IAAyCgnB,IAAA,SAAArjD,GAAiBnB,KAAAw7I,SAAAh3F,IAAArjD,GAAAnB,KAAAsyC,QAAA,GAAoC66H,UAAA,WAAsB,OAAAntK,KAAAw7I,SAAArmI,QAA4B0gH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5L,MAAW79G,EAAA+9G,GAAAT,IAAA5yI,EAAAqzI,GAAAx6I,UAAA,CAA2B+lL,UAAA,WAAqB,cAAAhnL,KAAAmW,IAAsBqxK,WAAA,SAAArmL,GAAwBnB,KAAA07I,OAAAl3F,IAAArjD,IAAmBiiI,cAAA,WAA0B,OAAApjI,KAAAmW,IAAeoxK,YAAA,WAAwB,OAAAvnL,KAAA07I,QAAmBjjC,OAAA,WAAmB,OAAA7oE,UAAAztC,OAAAnC,KAAAmW,GAAA,UAAqC,OAAAy5B,UAAAztC,OAAA,CAA8B,IAAAhB,EAAAyuC,UAAA,GAAmB5vC,KAAA07I,OAAAjjC,OAAAt3G,KAAuB+jK,SAAA,SAAA/jK,GAAsB,OAAAnB,KAAA07I,OAAAwpB,SAAA/jK,IAA+BgsK,UAAA,WAAsB,OAAAntK,KAAA07I,OAAAyxB,aAA+Bt3C,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1L,MAAWA,GAAAqsC,gBAAA,SAAA3mL,EAAAiH,GAAmC,IAAAlG,EAAA+4I,GAAAqsC,QAAAnmL,EAAAomL,cAAA9f,YAAA9mK,EAAA,IAAAi2H,EAAA10H,GAAAqT,EAAA0lI,GAAAqsC,QAAAl/K,EAAAm/K,cAAA9f,YAAiG,OAAA9mK,EAAAonL,UAAAxyK,GAAA5U,GAAwB+8B,EAAAi+G,GAAAP,IAAAhzI,EAAAuzI,GAAA16I,UAAA,CAA0B2lL,QAAA,WAAmB,OAAA5mL,KAAA6O,MAAiBgnH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxL,MAAWvzI,EAAAwzI,GAAA36I,UAAA,CAAkB4tC,KAAA,SAAA1tC,GAAiB,OAAAnB,KAAAsjI,QAAAhrH,IAAAnX,IAA2ButF,SAAA,WAAqB,OAAA1uF,KAAAsjI,QAAA97G,SAAAknE,YAAwC+pB,OAAA,SAAAt3G,GAAoB,OAAAnB,KAAAsjI,QAAA7qB,OAAAt3G,IAA8BqmB,OAAA,WAAmB,OAAAxnB,KAAAsjI,QAAA97G,UAA6Bg9B,IAAA,SAAArjD,GAAiB,OAAAnB,KAAAsjI,QAAAtH,IAAA76H,EAAAiiI,gBAAAjiI,MAA+C00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvL,MAAWxzI,EAAAyzI,GAAA56I,UAAA,CAAkB+mL,kBAAA,SAAA7mL,GAA8B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAlC,KAAAioL,eAAsC/lL,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAwsK,cAAAhsK,GAAAiH,EAAAo8C,IAAA7jD,GAA4B,OAAAyH,GAAS8/K,gBAAA,WAA4B,OAAAloL,KAAA87I,SAAAptD,YAAgCy5F,aAAA,WAAyB,OAAAnoL,KAAA+Z,MAAA20E,YAA6B+pB,OAAA,WAAmB,GAAA7oE,UAAA,aAAAwrG,GAAA,CAA8B,IAAAj6I,EAAAyuC,UAAA,GAAmB5vC,KAAAy4G,OAAAt3G,EAAAsmL,WAAA,IAAAznL,KAAAy4G,OAAAt3G,EAAAsmL,WAAA,IAAAznL,KAAA+Z,MAAA0+F,OAAAt3G,KAAAs3G,cAA0F,GAAA7oE,UAAA,aAAAqrG,GAAA,CAAmC,IAAA7yI,EAAAwnC,UAAA,GAAA1tC,EAAAkG,EAAA+hK,SAAgC,OAAAjoK,KAAAooK,OAAA,MAAAliK,EAAA++K,cAAA1uE,OAAArwG,KAAAqwG,SAAAz4G,KAAA87I,SAAArjC,OAAArwG,QAAsF,GAAAwnC,UAAA,aAAA6rG,GAAA,CAAmC,QAAA96I,EAAAivC,UAAA,GAAAr6B,EAAA5U,EAAA4mL,cAAA9f,WAAAjqI,EAAAjoB,EAAAm5E,WAAmElxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAA3Z,EAAAJ,EAAAqoK,SAA4B,OAAAjoK,GAAAlC,KAAAy4G,OAAAv2G,GAAAlC,KAAA87I,SAAArjC,OAAA32G,GAAiD,IAAAxB,EAAAwB,EAAA+hI,UAAkB,OAAAvjI,GAAAN,KAAA+Z,MAAA0+F,OAAAn4G,GAA+BN,KAAAsjI,QAAA7qB,OAAA93G,EAAAyiI,iBAAAziI,EAAA83G,WAAmD2vE,SAAA,SAAAjnL,GAAsB,OAAAnB,KAAAsjI,QAAAz0F,KAAA1tC,IAA4BsmK,SAAA,WAAqB,OAAAznK,KAAA+Z,OAAkBkuK,aAAA,WAAyB,OAAAjoL,KAAAsjI,QAAA50C,YAA+Bw6D,SAAA,WAAqB,GAAAt5G,UAAA,aAAAwrG,GAAA,CAA8B,IAAAj6I,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA+Z,MAAAmvI,SAAA/nJ,GAA8B,GAAAyuC,UAAA,aAAAqrG,GAAA,CAA8B,IAAA7yI,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAA87I,SAAAoN,SAAA9gJ,KAAkCo8C,IAAA,WAAgB,GAAA5U,UAAA,aAAA6rG,GAAA,CAA8B,IAAAt6I,EAAAyuC,UAAA,GAAmB5vC,KAAAsjI,QAAA9+E,IAAArjD,QAAoB,GAAAyuC,UAAA,aAAAwrG,GAAA,CAAmC,IAAAhzI,EAAAwnC,UAAA,GAAmB5vC,KAAA+Z,MAAAyqC,IAAAp8C,GAAApI,KAAAwkD,IAAAp8C,EAAAq/K,WAAA,IAAAznL,KAAAwkD,IAAAp8C,EAAAq/K,WAAA,SAAsE,GAAA73I,UAAA,aAAAqrG,GAAA,CAAmC,IAAA/4I,EAAA0tC,UAAA,GAAmB5vC,KAAA87I,SAAAt3F,IAAAtiD,KAAsBupK,SAAA,WAAqB,OAAAzrK,KAAAsjI,QAAA97G,UAA6BquG,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtL,MAAWn+G,EAAArC,GAAAwgH,IAAAzzI,EAAAizB,GAAAp6B,UAAA,CAA2B4Z,QAAA,SAAA1Z,GAAoB,GAAAA,EAAAg5G,UAAA,YAA2B,IAAA/xG,EAAAmuH,EAAAw4B,qBAAA5tJ,EAAAyzB,kBAAiD,GAAAxsB,EAAAjG,QAAA,cAA2B,IAAAD,EAAAkG,EAAA,GAAAzH,EAAAyH,IAAAjG,OAAA,GAAAoT,EAAAvV,KAAA2a,QAAAzY,GAAAs7B,EAAAx9B,KAAA2a,QAAAha,GAAAmB,EAAA,IAAAq5I,GAAA5lI,EAAAioB,EAAAp1B,EAAA,OAAA9H,EAAA,IAAA66I,GAAA39G,EAAAjoB,EAAAnN,IAAAjG,OAAA,OAAAf,EAAA,IAAAu6I,GAAAx6I,GAAoIC,EAAAk6I,iBAAAx5I,EAAAxB,GAAAN,KAAAwkD,IAAApjD,IAAoCuZ,QAAA,SAAAxZ,GAAqB,IAAAiH,EAAApI,KAAAooL,SAAAjnL,GAAuB,cAAAiH,MAAA,IAAAqzI,GAAAt6I,GAAAnB,KAAAwkD,IAAAp8C,OAA6CytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9rH,MAAWjzB,EAAA2zI,GAAA96I,UAAA,CAAkBonL,oCAAA,WAA+C,QAAAlnL,EAAAnB,KAAAwa,MAAAixJ,WAAA/8E,WAA2CvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAwxK,aAAAplK,EAAAiuH,OAAA,IAAAr6H,EAAA+kK,aAAAntK,KAAAsoL,2BAAAlgL,KAAAy+K,WAAA,MAAgG0B,mCAAA,WAA+C,QAAApnL,EAAAnB,KAAAwa,MAAAixJ,WAAA/8E,WAA2CvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAe,IAAAzT,EAAA+kK,cAAAntK,KAAAsoL,2BAAAlgL,KAAAy+K,WAAA,MAAyE2B,qCAAA,WAAiDxoL,KAAAuoL,sCAA0CE,qBAAA,WAAiC,OAAAzoL,KAAAynB,QAAAznB,KAAAg8I,mBAA2CssC,2BAAA,SAAAnnL,GAAwC,QAAAiH,EAAAjH,EAAAomL,cAAA74F,WAAqCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2hI,UAAA+1C,YAAA55K,KAAAi8I,YAAAz3F,IAAAxkD,KAAA0oL,4BAAAxmL,MAAmFulB,MAAA,WAAkB,UAAAznB,KAAAg8I,kBAAA,YAA6ChB,GAAA6rC,UAAA7mL,KAAAwa,MAAAytK,gBAAA,GAAAjtC,GAAA6rC,UAAA7mL,KAAAwa,MAAA2tK,gBAAA,GAAAnoL,KAAAi8I,YAAA,IAAA/xH,EAAAlqB,KAAAwoL,uCAAAxoL,KAAA2oL,mCAAA3oL,KAAAg8I,kBAAA,IAAA9xH,EAA8N,QAAA/oB,EAAAnB,KAAAi8I,YAAAvtD,WAAsCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAe7b,KAAAg8I,kBAAAx3F,IAAAp8C,EAAAquJ,kBAA8CiyB,4BAAA,SAAAvnL,GAAyC,IAAAiH,EAAA,IAAA0yI,GAAA96I,KAAA+5B,SAAA73B,EAAAf,EAA+B,GAAAiH,EAAAo8C,IAAAtiD,KAAA2hI,UAAAgjD,WAAA,GAAA3kL,IAAAolK,gBAAoD,OAAAplK,OAAAf,GAAuB,OAAAiH,GAASo8C,IAAA,WAAgB,GAAA5U,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmBzuC,EAAAoB,MAAA,CAASszH,YAAA,WAAuB,OAAAjgG,IAAUl0B,OAAA,SAAAP,GAAoBA,aAAAy3H,IAAA54H,KAAAwkD,IAAArjD,WAAgC,GAAAuuG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAA2B,IAAAsF,EAAAwnC,UAAA,GAAmB5vC,KAAAg8I,kBAAA,KAA4B,QAAA95I,EAAAkG,EAAAsmF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe7b,KAAAwkD,IAAA7jD,SAAa,GAAAivC,UAAA,aAAAgpF,GAAA,CAAmC,IAAArjH,EAAAq6B,UAAA,GAAmB,OAAA5vC,KAAA+5B,UAAA/5B,KAAA+5B,QAAAxkB,EAAA4iH,cAAAn4H,KAAAwa,MAAAK,QAAAtF,KAA0EozK,iCAAA,WAA6C3oL,KAAAqoL,uCAA2CxyD,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApL,MAAa,IAAA6sC,GAAAxwK,OAAA8iJ,OAAA,CAAsB2tB,WAAA9sC,KAAc+sC,GAAA1wK,OAAA8iJ,OAAA,CAAoB6tB,UAAAt6C,KAAe/wG,EAAAw+G,GAAAjB,IAAA7yI,EAAA8zI,GAAAj7I,UAAA,CAAyBqmK,QAAA,WAAmB,OAAAtnK,KAAA6b,MAAiBmtK,SAAA,WAAqB,cAAAhpL,KAAA+c,UAA4BksK,QAAA,SAAA9nL,GAAqBnB,KAAA+c,SAAA5b,GAAgBwnK,SAAA,SAAAxnK,GAAsBnB,KAAAsJ,MAAAnI,GAAaw7I,SAAA,WAAqB,OAAA38I,KAAAsJ,OAAkBmhK,QAAA,SAAAtpK,GAAqBnB,KAAA6b,KAAA1a,GAAY+nL,QAAA,WAAoB,OAAAlpL,KAAA+c,UAAqB84G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjL,MAAWx+G,EAAAy+G,GAAAf,IAAAhzI,EAAA+zI,GAAAl7I,UAAA,CAA2B2lL,QAAA,WAAmB,OAAA5mL,KAAA6O,MAAiBgnH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhL,MAAW/zI,EAAAg0I,GAAAn7I,UAAA,CAAkBkoL,kBAAA,SAAAhoL,EAAAiH,GAAgC,IAAAlG,EAAAf,EAAAyzB,iBAAAj0B,EAAAuB,EAAA,GAAAqT,EAAA6mI,GAAAgtC,mBAAAlnL,EAAAvB,GAAA68B,EAAAp1B,EAAAijK,wBAAA1qK,EAAA4U,GAAAzT,EAAAsG,EAAAmjK,YAAA/tI,GAAAl9B,EAAA,KAAwHwB,EAAA66I,WAAAmc,YAAA,EAAAzyB,GAAAG,SAAAlqF,EAAAkhF,SAAAl9H,EAAAwB,IAAAqoK,SAAAxtB,WAAAmc,YAAA,EAAAzyB,GAAAG,SAAAlqF,EAAAkhF,WAAAl9H,EAAAwB,EAAAqoK,UAAA31J,EAAAiuH,OAAA,OAAAniI,EAAA,+CAAAN,KAAAqpL,yBAAA/oL,IAAmOgpL,oBAAA,SAAAnoL,EAAAiH,GAAmC,GAAAjH,aAAA63H,GAAA,CAAoB,IAAA92H,EAAAf,EAAQnB,KAAAmpL,kBAAAjnL,EAAA49I,kBAAA13I,GAA8C,GAAAjH,aAAAq4H,GAAA,QAAA74H,EAAAQ,EAAAoU,EAAA,EAAmCA,EAAA5U,EAAAkgI,mBAAuBtrH,IAAA,CAAKrT,EAAAvB,EAAAisJ,aAAAr3I,GAAwBvV,KAAAmpL,kBAAAjnL,EAAA49I,kBAAA13I,KAA+Cg7H,cAAA,WAA0B,OAAApjI,KAAAs8I,uBAAkCitC,yBAAA,SAAApoL,GAAsC,QAAAiH,EAAAjH,EAAA+pK,cAAAx8E,WAAqCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAAy6I,WAAAmc,YAAA,EAAAzyB,GAAAG,SAAAlqF,EAAAkhF,UAAAt7H,EAAA0lK,aAAA,KAAsEyhB,yBAAA,SAAAloL,GAAsC,IAAAiH,EAAAjH,EAAAe,EAAAf,EAAY,GAAAqT,EAAAiuH,OAAA,OAAAvgI,EAAA,4BAAAA,EAAAsmK,YAAA,GAAAtmK,IAAAolK,gBAAgFplK,IAAAkG,IAAaohL,eAAA,SAAAroL,GAA4B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,EAAAooK,cAAA,OAAApoK,EAAAsmK,cAAA,CAA2C,IAAA1xJ,EAAA,IAAA8xH,GAAA1mI,EAAAX,KAAAq8H,iBAAqC9mH,EAAA+yJ,uCAAyC,IAAA9qI,EAAAjoB,EAAA6yJ,oBAA4BhgK,EAAAktH,OAAA93F,IAAa,OAAAp1B,GAASqhL,sBAAA,SAAAtoL,GAAmC,QAAAiH,EAAA,EAAYA,EAAAjH,EAAAgU,OAAW/M,IAAA,CAAK,IAAAlG,EAAAf,EAAAmX,IAAAlQ,GAAe,IAAAlG,EAAAylK,SAAA,CAAgB,IAAAhnK,EAAAuB,EAAAulK,WAAAlyJ,EAAA5U,EAAA2X,IAAA,GAA8B,GAAA/C,EAAAonI,WAAAmc,YAAA,EAAAzyB,GAAAG,SAAAlqF,EAAAkhF,SAAA,QAAAhgG,EAAA,EAAiEA,EAAA78B,EAAAwU,OAAWqoB,IAAA,GAAAjoB,EAAA5U,EAAA2X,IAAAklB,IAAAjoB,EAAAyzJ,YAAA,OAAAhpK,KAAAs8I,sBAAA/mI,EAAA6tH,iBAAA,GAAyF,UAASsmD,qBAAA,WAAiC,IAAAvoL,EAAA,IAAA+oB,EAAYlqB,KAAAq8I,UAAA+0B,kBAAAjwK,GAAoC,IAAAiH,EAAA,IAAAogI,GAAA,IAAAoB,IAAqBxhI,EAAAojK,SAAArqK,GAAAnB,KAAAupL,yBAAAnhL,KAAAyiK,0BAA2E,IAAA3oK,EAAAlC,KAAAwpL,eAAAphL,EAAA8iK,eAA2C,OAAAlrK,KAAAspL,oBAAAtpL,KAAAq8I,UAAA1nH,cAAAvsB,IAAApI,KAAAypL,sBAAAvnL,IAA+F2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/K,MAAWA,GAAAgtC,mBAAA,SAAAjoL,EAAAiH,GAAsC,QAAAlG,EAAA,EAAYA,EAAAf,EAAAgB,OAAWD,IAAA,IAAAf,EAAAe,GAAA28E,OAAAz2E,GAAA,OAAAjH,EAAAe,GAAmC,aAAYkG,EAAAm0I,GAAAt7I,UAAA,CAAiB0oL,qBAAA,SAAAxoL,EAAAiH,EAAAlG,EAAAvB,GAAuC,IAAA4U,EAAArT,EAAA24G,aAAA,EAAuB,GAAAtlG,GAAApU,EAAAknI,gBAAA,OAAA1nI,EAAA,YAA6C,IAAA68B,EAAAr8B,EAAAiiI,cAAA7tH,GAAyB,OAAA5U,KAAAk6G,eAAA34G,EAAA24G,eAAAr9E,EAAA78B,EAAA0S,OAAuD,IAAAvR,EAAA,IAAAgmI,GAAA3mI,EAAAe,EAAAmR,MAAAmqB,EAAA,IAAAipG,GAAAtlI,EAAAw7I,aAA+Cv0I,EAAAo8C,IAAA1iD,IAAS8nL,qBAAA,SAAAzoL,EAAAiH,EAAAlG,EAAAvB,GAAwC,IAAA4U,EAAArT,EAAA24G,aAAqB,OAAA34G,EAAA2S,KAAA,CAAe,OAAAU,EAAA,YAAqBA,IAAI,IAAAioB,EAAAr8B,EAAAiiI,cAAA7tH,GAAyB,OAAA5U,KAAAk6G,cAAAtlG,IAAAioB,EAAA78B,EAAA0S,OAAyC,IAAAvR,EAAA,IAAA2kI,GAAAtlI,EAAAw7I,YAA2B76I,EAAAZ,OAAS,IAAAZ,EAAA,IAAAwnI,GAAA3mI,EAAAe,EAAAmR,MAAAmqB,EAAA17B,GAA4BsG,EAAAo8C,IAAAlkD,IAASupL,gBAAA,WAA4B,OAAAj6I,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAmCe,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe7b,KAAA6pL,gBAAAlpL,EAAAyH,GAA0B,OAAAA,EAAS,OAAAwnC,UAAAztC,OAAA,CAAyB,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAAyT,EAAAu7J,0BAAgEhvK,EAAA8tI,eAAiB,IAAAtvI,EAAAwB,EAAA4sF,WAAAttF,EAAA,KAAA2Q,EAAA,KAAiC,IAAAzR,EAAA6nJ,UAAA,YAA4B,IAAAzqH,EAAAp9B,EAAAub,OAAe,GAAAza,EAAA2Q,IAAA2rB,IAAA,KAAAp9B,EAAA6nJ,YAAAzqH,EAAAp9B,EAAAub,QAAA,OAAA9J,IAAA/R,KAAA4pL,qBAAAr0K,EAAAioB,EAAAzrB,EAAA3Q,GAAApB,KAAA2pL,qBAAAp0K,EAAAioB,EAAAzrB,EAAA2rB,UAA8H,OAAA3rB,KAAiB8jH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5K,MAAW7+G,EAAA8+G,GAAA1U,IAAA1/H,EAAAo0I,GAAAv7I,UAAA,CAA2BkC,OAAA,SAAAhC,GAAmBnB,KAAAy8I,SAAAj4F,IAAArjD,IAAqB0hK,MAAA,SAAA1hK,GAAmBA,EAAAq3J,QAAA,8BAAAx4J,KAAAsJ,OAAiD,QAAAlB,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2gK,MAAA1hK,KAAAq3J,YAAwB9pE,SAAA,WAAqB,OAAA1uF,KAAAy8I,SAAA/tD,YAAgCw8E,YAAA,WAAwB,OAAAlrK,KAAAy8I,UAAqBqtC,eAAA,SAAA3oL,EAAAiH,GAA8B,QAAAlG,EAAA,EAAAvB,GAAA,EAAA4U,EAAAvV,KAAA0uF,WAAmCn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA07B,EAAAm/G,WAAAmc,YAAA33J,GAA6CW,IAAAw6C,EAAAmhF,UAAAv7H,IAAAJ,IAAAw6C,EAAAkhF,WAAA78H,GAAA,GAA2CmB,EAAAw6C,EAAAqqF,KAAahmI,IAAAmB,EAAAw6C,EAAAkhF,UAAAt7H,EAAA,IAAAJ,EAAAsrI,GAAA4jC,kBAAA5oK,EAAAlG,IAAAlC,KAAAsJ,MAAAs9H,YAAAzlI,EAAAW,IAAiFioL,iBAAA,SAAA5oL,EAAAiH,GAAgC,QAAAlG,EAAAlC,KAAA0uF,WAA0BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,EAAAg8I,WAAA8pB,SAAA,CAA0B,IAAAlxJ,EAAA5U,EAAAg8I,WAAAmc,YAAA33J,EAAAiH,GAAoC,GAAAmN,IAAA+mC,EAAAkhF,SAAA,OAAAx9H,KAAAsJ,MAAAs9H,YAAAzlI,EAAAiH,EAAAk0C,EAAAkhF,UAAA,KAAqEjoH,IAAA+mC,EAAAohF,UAAA19H,KAAAsJ,MAAAs9H,YAAAzlI,EAAAiH,EAAAk0C,EAAAohF,aAAyDif,SAAA,WAAqB,OAAA38I,KAAAsJ,OAAkB0gL,kBAAA,SAAA7oL,GAA+BnB,KAAA+pL,iBAAA5oL,EAAAklI,GAAAE,MAAAvmI,KAAA+pL,iBAAA5oL,EAAAklI,GAAAG,QAAmEqiC,SAAA,SAAA1nK,GAAsB6rI,GAAA67B,SAAA7oK,KAAAsJ,MAAAnI,IAA0ByoK,aAAA,SAAAzoK,GAA0B,QAAAiH,GAAA,EAAAlG,EAAAlC,KAAA0uF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAg8I,WAAA8pB,WAAAr+J,GAAA,GAA8BpI,KAAAsJ,MAAAlB,EAAA,IAAAq+H,GAAAnqF,EAAAqqF,KAAArqF,EAAAqqF,KAAArqF,EAAAqqF,MAAA,IAAAF,GAAAnqF,EAAAqqF,MAAoE,QAAApxH,EAAA,EAAYA,EAAA,EAAIA,IAAAvV,KAAA8pL,eAAAv0K,EAAApU,GAAAiH,GAAApI,KAAAgqL,kBAAAz0K,IAA0DsgH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3K,MAAW9+G,EAAAk/G,GAAAxT,IAAAhhI,EAAAw0I,GAAA37I,UAAA,CAA2B4nK,SAAA,SAAA1nK,GAAqB,QAAAiH,EAAApI,KAAA0uF,WAA0BtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2mK,SAAA1nK,KAAegC,OAAA,SAAAhC,GAAoB,IAAAiH,EAAApI,KAAAqpI,QAAA/wH,IAAAnX,GAA0B,OAAAiH,KAAA,IAAAo0I,GAAAr7I,GAAAnB,KAAA4tK,cAAAzsK,EAAAiH,MAAAjF,OAAAhC,IAA2D00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvK,MAAWl/G,EAAAm/G,GAAAlV,IAAAv/H,EAAAy0I,GAAA57I,UAAA,CAA2BgpL,kBAAA,SAAA9oL,GAA8BnB,KAAA+Z,MAAA8uJ,SAAA1nK,IAAuB2nK,UAAA,SAAA3nK,GAAuBA,EAAAw5J,kBAAA36J,KAAAsJ,MAAAwvJ,YAAA,GAAA94J,KAAAsJ,MAAAwvJ,YAAA,OAA2EjjC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtK,MAAWn/G,EAAAo/G,GAAAvU,IAAAngI,EAAA00I,GAAA77I,UAAA,CAA2B0gK,WAAA,SAAAxgK,GAAuB,WAAA07I,GAAA17I,EAAA,IAAAy7I,KAAwB/mB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArK,MAAW10I,EAAA20I,GAAA97I,UAAA,CAAkBipL,eAAA,SAAA/oL,GAA2B,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAga,MAAAwqC,IAAAtiD,KAAmB0oK,gBAAA,WAA4B,OAAA5qK,KAAAga,MAAA00E,YAA6By7F,mBAAA,SAAAhpL,EAAAiH,GAAkC,QAAAlG,EAAAf,EAAAypK,kBAA8B1oK,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAAvV,KAAAga,MAAAqvJ,QAAA1oK,EAAAyiI,iBAAuD7tH,EAAAozJ,SAAAvgK,EAAAzH,EAAAg8I,WAAAmc,YAAA1wJ,MAA2Cm5J,MAAA,SAAApgK,GAAmBnB,KAAAoqL,yBAAAjpL,EAAA,GAAAnB,KAAAmqL,mBAAAhpL,EAAA,GAAgE,IAAAiH,EAAA,IAAAm0I,GAAAr6I,EAAAkG,EAAAyhL,gBAAA1oL,EAAAiqK,mBAAsDprK,KAAAkqL,eAAAhoL,IAAuBkoL,yBAAA,SAAAjpL,EAAAiH,GAAwC,QAAAlG,EAAAf,EAAAiqK,kBAA8BlpK,EAAAimJ,WAAY,QAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAAg8I,WAAAmc,YAAA1wJ,GAAAo1B,EAAA78B,EAAAmwK,0BAAApiF,WAA2FlxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAAvb,EAAAN,KAAAga,MAAAqvJ,QAAAvnK,EAAAuR,OAA6CkC,IAAA+mC,EAAAmhF,SAAAn9H,EAAA8oK,iBAAAhhK,GAAA9H,EAAAq8I,WAAAiM,OAAAxgJ,IAAA9H,EAAAqoK,SAAAvgK,EAAAk0C,EAAAkhF,YAAuF3H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApK,MAAW30I,EAAA40I,GAAA/7I,UAAA,CAAkBopL,+BAAA,WAA0C,QAAAlpL,EAAAnB,KAAAi9I,UAAA2tB,kBAA2CzpK,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAe,IAAAzT,EAAAq/J,WAAA8F,uBAAAvtK,KAAAq8I,WAAA,OAAAr8I,KAAA4tI,aAAAxlI,EAAAg7H,gBAAAnb,QAAA,EAA6G,UAAS0pD,gBAAA,WAA4B,OAAA3xK,KAAA4tI,cAAyB08C,kBAAA,WAA8B,QAAAnpL,EAAAnB,KAAAi9I,UAAA2tB,kBAA2CzpK,EAAAgnJ,WAAY,QAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAq/J,WAAA/4E,WAA8CxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAAlb,EAAAuqK,cAAA/1J,OAAA,SAAAnV,KAAA4tI,aAAAjtI,EAAAkjI,UAAAT,cAAA,MAAqF,UAASmnD,qBAAA,WAAiC,IAAAppL,EAAAnB,KAAAq8I,UAAA40B,iBAAAjxK,KAAAwlI,IAAA,MAAqD,OAAArkI,EAAA6tK,yBAAAhvK,KAAA4tI,aAAAzsI,EAAAytK,8BAAA,IAAA5uK,KAAAi9I,UAAAskB,MAAAvhK,KAAAq8I,WAAAr8I,KAAAqqL,mCAAoKx0D,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnK,MAAW50I,EAAA80I,GAAAj8I,UAAA,CAAkB6vI,WAAA,WAAsB9wI,KAAAI,MAAA,IAAAwiI,GAAkB,QAAAzhI,EAAA,EAAYA,EAAAnB,KAAAimD,MAAA9wC,OAAoBhU,IAAA,CAAK,IAAAiH,EAAApI,KAAAimD,MAAA3tC,IAAAnX,GAAAe,EAAAkG,EAAAinI,sBAAkDrvI,KAAAI,MAAA+C,OAAAjB,EAAAkG,KAAwBoiL,eAAA,WAA2B,OAAAxqL,KAAAo9I,UAAqBqtC,YAAA,WAAwBzqL,KAAA8wI,aAAkB,QAAA3vI,EAAA,EAAYA,EAAAnB,KAAAimD,MAAA9wC,OAAoBhU,IAAA,QAAAiH,EAAApI,KAAAimD,MAAA3tC,IAAAnX,GAAAe,EAAAkG,EAAAwsB,iBAAAj0B,EAAAX,KAAAI,MAAAmgK,MAAAn4J,EAAAinI,uBAAA95H,EAAA,EAAqGA,EAAA5U,EAAAwU,OAAWI,IAAA,CAAK,IAAAioB,EAAA78B,EAAA2X,IAAA/C,GAAAzT,EAAA07B,EAAA5I,iBAAoC,GAAAxsB,IAAAo1B,GAAAp1B,EAAAinI,sBAAA7+E,WAAAhzB,EAAA6xG,uBAAA,CAAuE,IAAA/uI,EAAAi9I,GAAAmtC,cAAAxoL,EAAAs7B,EAAAx9B,KAAAwa,OAAuC,UAAAla,EAAA,CAAa,IAAAc,EAAA87H,GAAAg8B,cAAA54J,EAAAwB,GAA4B,GAAAV,EAAA,OAAApB,KAAAo9I,SAAA98I,GAAA,IAAiC,UAASkkD,IAAA,SAAArjD,GAAiBnB,KAAAimD,MAAAzB,IAAArjD,GAAAnB,KAAAm9I,SAAA2L,gBAAA3nJ,EAAAkuI,wBAAyExZ,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjK,MAAW90I,EAAAi1I,GAAAp8I,UAAA,CAAkB0pL,aAAA,WAAwB,OAAA3qL,KAAAs9I,WAAsBstC,WAAA,WAAuB,OAAAvtC,GAAAwtC,OAAA7qL,KAAAs9I,YAAiCla,cAAA,WAA0B,OAAApjI,KAAAmW,IAAeiX,SAAA,WAAqB,IAAAjsB,EAAA,GAAS,cAAAnB,KAAAmW,KAAAhV,EAAA,qBAAAnB,KAAAmW,IAAAnW,KAAA4qL,aAAAzpL,GAA4E00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9J,MAAWA,GAAAzlG,MAAA,EAAAylG,GAAAytC,eAAA,EAAAztC,GAAA0tC,mBAAA,EAAA1tC,GAAA2tC,aAAA,EAAA3tC,GAAA4tC,sBAAA,EAAA5tC,GAAA6tC,kBAAA,EAAA7tC,GAAA8tC,uBAAA,EAAA9tC,GAAA+tC,cAAA,EAAA/tC,GAAAguC,gBAAA,EAAAhuC,GAAAiuC,eAAA,EAAAjuC,GAAAkuC,mBAAA,GAAAluC,GAAAmuC,gBAAA,GAAAnuC,GAAAwtC,OAAA,gSAAAziL,EAAAm1I,GAAAt8I,UAAA,CAA8jBwqL,wBAAA,WAAmC,GAAA77I,UAAA,aAAA/tC,OAAiC,QAAAV,EAAAyuC,UAAA,GAAAxnC,EAAA,EAA2BA,EAAAjH,EAAAgB,OAAWiG,IAAA,IAAAm1I,GAAAj5E,QAAAnjE,EAAAiH,IAAA,OAAApI,KAAA09I,SAAA,IAAAL,MAAAkuC,mBAAApqL,EAAAiH,IAAA,UAAsF,GAAAwnC,UAAA,aAAAopF,GAAA,CAAmC,IAAA92H,EAAA0tC,UAAA,GAAmB,GAAA5vC,KAAAyrL,wBAAAvpL,EAAA49I,kBAAAlrH,kBAAA,OAAA50B,KAAA09I,SAAA,YAAuG,IAAAt1I,EAAA,EAAYA,EAAAlG,EAAAmxJ,qBAAyBjrJ,IAAA,GAAApI,KAAAyrL,wBAAAvpL,EAAAqxJ,iBAAAnrJ,GAAAwsB,kBAAA,OAAA50B,KAAA09I,SAAA,cAA8GguC,oBAAA,SAAAvqL,EAAAiH,GAAmC,QAAAlG,EAAA,IAAAg7I,GAAA90I,GAAAzH,EAAA,EAAwBA,EAAAQ,EAAAkyJ,qBAAyB1yJ,IAAA,CAAK,IAAA4U,EAAApU,EAAAoyJ,iBAAA5yJ,GAA4BuB,EAAAsiD,IAAAjvC,GAAS,IAAAioB,EAAAt7B,EAAAuoL,cAAsBjtJ,IAAAx9B,KAAA09I,SAAA,IAAAL,MAAA2tC,aAAA9oL,EAAAsoL,oBAA8DmB,oBAAA,SAAAxqL,GAAiC,IAAAiH,EAAA,IAAA40I,GAAA77I,GAAAe,EAAAkG,EAAAmiL,uBAA2C,OAAAroL,OAAAkG,EAAAkiL,sBAAAtqL,KAAA09I,SAAA,IAAAL,MAAAguC,gBAAAjjL,EAAAupK,sBAAA3xK,KAAA09I,SAAA,IAAAL,MAAA6tC,kBAAA9iL,EAAAupK,mBAAA,OAA2KrtG,QAAA,WAAoB,OAAAtkE,KAAAkmK,WAAAlmK,KAAAw9I,gBAAA,OAAAx9I,KAAA09I,UAAiEkuC,qBAAA,SAAAzqL,EAAAiH,EAAAlG,GAAsC,IAAAvB,EAAAQ,EAAAyzB,iBAAArf,EAAAnN,EAAAwsB,iBAAA4I,EAAA+/G,GAAAmtC,cAAA/pL,EAAAyH,EAAAlG,GAAwE,UAAAs7B,EAAA,CAAa,IAAA17B,EAAAo7H,GAAAg8B,cAAA17H,EAAAjoB,GAA4B,IAAAzT,EAAA,OAAA07B,EAAe,IAAAl9B,EAAAi9I,GAAAmtC,cAAAn1K,EAAApU,EAAAe,GAA8B,UAAA5B,EAAA,CAAa,IAAAc,EAAA87H,GAAAg8B,cAAA54J,EAAAK,GAA4B,OAAAS,EAAAd,EAAA,KAAgB,OAAAkU,EAAAgzI,qBAAA,qDAAkFqkC,6BAAA,SAAA1qL,GAA0C,QAAAiH,EAAAjH,EAAAiqK,kBAA8BhjK,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,GAAA7b,KAAA8rL,4BAAA5pL,EAAA4uK,2BAAA,OAAA9wK,KAAA09I,SAAA,cAAmGquC,wBAAA,SAAA5qL,GAAqC,IAAAiH,EAAA,IAAAg0I,GAAAj7I,GAAgBiH,EAAAshL,yBAAA1pL,KAAA09I,SAAA,IAAAL,MAAA4tC,sBAAA7iL,EAAAg7H,mBAA6F0oD,4BAAA,SAAA3qL,GAAyC,QAAAiH,EAAA,IAAAmvH,GAAAr1H,GAAA,EAAAvB,EAAAQ,EAAAutF,WAAqC/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAe,GAAA3Z,KAAA,MAAU,CAAK,GAAAkG,EAAA8gJ,SAAA3zI,EAAAlC,OAAA,OAAArT,KAAA09I,SAAA,IAAAL,MAAA8tC,uBAAA51K,EAAAlC,OAAA,KAA2FjL,EAAAo8C,IAAAjvC,EAAAlC,UAAiB24K,kBAAA,SAAA7qL,EAAAiH,GAAiC,QAAAlG,EAAAf,EAAA2+I,kBAAAn/I,EAAA,IAAAiwI,GAAA1uI,GAAAqT,EAAA,EAA8CA,EAAApU,EAAAkyJ,qBAAyB99I,IAAA,CAAK,IAAAioB,EAAAr8B,EAAAoyJ,iBAAAh+I,GAAAzT,EAAAy7I,GAAAmtC,cAAAltJ,EAAA5I,iBAAA1yB,EAAAkG,GAAuE,UAAAtG,EAAA,YAAwB,IAAAxB,GAAAK,EAAA6sD,SAAA1rD,GAAqB,GAAAxB,EAAA,OAAAN,KAAA09I,SAAA,IAAAL,MAAA0tC,mBAAAjpL,GAAA,OAAgEmqL,kBAAA,SAAA9qL,GAA+B,GAAAA,EAAAmwK,kBAAA,OAAAtxK,KAAA09I,SAAA,IAAAL,MAAAiuC,eAAAnqL,EAAAwwK,mBAAA,MAA+Fua,mBAAA,WAA+B,OAAAlsL,KAAAkmK,WAAAlmK,KAAAw9I,gBAAAx9I,KAAA09I,UAA0DwoB,WAAA,WAAuB,GAAAt2H,UAAA,aAAAkpF,GAAA,CAA8B,IAAA33H,EAAAyuC,UAAA,GAAmB5vC,KAAAyrL,wBAAAtqL,EAAAyzB,uBAAiD,GAAAgb,UAAA,aAAAupF,GAAA,CAAmC,IAAA/wH,EAAAwnC,UAAA,GAAmB5vC,KAAAyrL,wBAAArjL,EAAAwsB,uBAAiD,GAAAgb,UAAA,aAAAwpF,GAAA,CAAmC,IAAAl3H,EAAA0tC,UAAA,GAAmB,GAAA5vC,KAAAyrL,wBAAAvpL,EAAA0yB,kBAAA,OAAA50B,KAAA09I,SAAA,YAAqF,GAAA19I,KAAAmsL,gBAAAjqL,GAAA,OAAAlC,KAAA09I,SAAA,YAA4D,IAAA/8I,EAAA,IAAAysI,GAAA,EAAAlrI,GAAkB,GAAAlC,KAAAisL,kBAAAtrL,GAAA,OAAAX,KAAA09I,SAAA,YAA8D,IAAAnoI,EAAA,IAAAsnH,GAAal8H,EAAAswK,iBAAA17J,GAAA,MAAAvV,KAAA6rL,6BAAAlrL,QAAiE,GAAAivC,UAAA,aAAAgpF,GAAA,CAAmC,IAAAp7F,EAAAoS,UAAA,GAAmB,GAAA5vC,KAAAyrL,wBAAAjuJ,EAAA5I,kBAAA,OAAA50B,KAAA09I,SAAA,YAAqF/8I,EAAA,IAAAysI,GAAA,EAAA5vG,GAAkBx9B,KAAAisL,kBAAAtrL,QAA0B,GAAAivC,UAAA,aAAAopF,GAAA,CAAmC,IAAAl3H,EAAA8tC,UAAA,GAAmB,GAAA5vC,KAAAyrL,wBAAA3pL,GAAA,OAAA9B,KAAA09I,SAAA,YAAoE,GAAA19I,KAAAosL,iBAAAtqL,GAAA,OAAA9B,KAAA09I,SAAA,YAA6D/8I,EAAA,IAAAysI,GAAA,EAAAtrI,GAAkB,GAAA9B,KAAAisL,kBAAAtrL,GAAA,OAAAX,KAAA09I,SAAA,YAA8D,GAAA19I,KAAA2rL,oBAAAhrL,GAAA,OAAAX,KAAA09I,SAAA,YAAgE,IAAA19I,KAAAy9I,qCAAAz9I,KAAA6rL,6BAAAlrL,GAAA,OAAAX,KAAA09I,UAAA,YAAqH,GAAA19I,KAAAgsL,kBAAAlqL,EAAAnB,GAAA,OAAAX,KAAA09I,SAAA,YAAgE,GAAA19I,KAAA0rL,oBAAA5pL,EAAAnB,GAAA,OAAAX,KAAA09I,SAAA,YAAkE19I,KAAA+rL,wBAAAprL,QAAgC,GAAAivC,UAAA,aAAA4pF,GAAA,CAAmC,QAAAl5H,EAAAsvC,UAAA,GAAAxuC,EAAA,EAA2BA,EAAAd,EAAAugI,mBAAuBz/H,IAAA,CAAK,IAAA2Q,EAAAzR,EAAAssJ,aAAAxrJ,GAAwB,GAAApB,KAAAyrL,wBAAA15K,GAAA,OAAA/R,KAAA09I,SAAA,YAAoE,GAAA19I,KAAAosL,iBAAAr6K,GAAA,OAAA/R,KAAA09I,SAAA,YAA6D/8I,EAAA,IAAAysI,GAAA,EAAA9sI,GAAkB,GAAAN,KAAAisL,kBAAAtrL,GAAA,OAAAX,KAAA09I,SAAA,YAA8D,GAAA19I,KAAA2rL,oBAAAhrL,GAAA,OAAAX,KAAA09I,SAAA,YAAgE,IAAA19I,KAAAy9I,qCAAAz9I,KAAA6rL,6BAAAlrL,GAAA,OAAAX,KAAA09I,UAAA,YAAqH,IAAAt8I,EAAA,EAAYA,EAAAd,EAAAugI,mBAAuBz/H,IAAA,CAAK2Q,EAAAzR,EAAAssJ,aAAAxrJ,GAAwB,GAAApB,KAAAgsL,kBAAAj6K,EAAApR,GAAA,OAAAX,KAAA09I,SAAA,YAAgE,IAAAt8I,EAAA,EAAYA,EAAAd,EAAAugI,mBAAuBz/H,IAAA,CAAK2Q,EAAAzR,EAAAssJ,aAAAxrJ,GAAwB,GAAApB,KAAA0rL,oBAAA35K,EAAApR,GAAA,OAAAX,KAAA09I,SAAA,YAAkE,GAAA19I,KAAAqsL,qBAAA/rL,EAAAK,GAAA,OAAAX,KAAA09I,SAAA,YAAmE19I,KAAA+rL,wBAAAprL,QAAgC,GAAAivC,UAAA,aAAA+nF,GAAA,KAAAj6F,EAAAkS,UAAA,OAAAxuC,EAAA,EAA6DA,EAAAs8B,EAAAmjG,mBAAuBz/H,IAAA,CAAK,IAAAO,EAAA+7B,EAAAkvH,aAAAxrJ,GAAwB,GAAApB,KAAAkmK,WAAAvkK,GAAA,OAAA3B,KAAA09I,SAAA,kBAAuD,GAAA9tG,UAAA,aAAAxH,EAAA,CAAkC,IAAA5zB,EAAAo7B,UAAA,GAAmB,GAAA5vC,KAAA09I,SAAA,KAAAlpI,EAAA2lG,UAAA,YAA8C,GAAA3lG,aAAAskH,GAAA94H,KAAAkmK,WAAA1xJ,QAAsC,GAAAA,aAAA2kH,GAAAn5H,KAAAkmK,WAAA1xJ,QAA2C,GAAAA,aAAA4kH,GAAAp5H,KAAAkmK,WAAA1xJ,QAA2C,GAAAA,aAAAokH,GAAA54H,KAAAkmK,WAAA1xJ,QAA2C,GAAAA,aAAAwkH,GAAAh5H,KAAAkmK,WAAA1xJ,QAA2C,GAAAA,aAAAglH,GAAAx5H,KAAAkmK,WAAA1xJ,OAA2C,CAAK,KAAAA,aAAAmjH,IAAA,UAAA6nC,8BAAAhrJ,EAAA2yI,WAAA4M,WAAsF/zJ,KAAAkmK,WAAA1xJ,MAAqB83K,oCAAA,SAAAnrL,GAAiDnB,KAAAy9I,mCAAAt8I,GAA0CorL,oBAAA,SAAAprL,EAAAiH,EAAAlG,GAAqC,IAAAvB,EAAAQ,EAAAyzB,iBAAArf,EAAAnN,EAAA03I,kBAAAtiH,EAAAjoB,EAAAqf,iBAAA9yB,EAAAy7I,GAAAmtC,cAAA/pL,EAAA4U,EAAArT,GAA8F,UAAAJ,EAAA,YAAwB,IAAAxB,EAAA48H,GAAAg8B,cAAAp3J,EAAA07B,GAA4B,IAAAl9B,EAAA,YAAkB,GAAA8H,EAAAirJ,sBAAA,SAAArzJ,KAAA09I,SAAA,IAAAL,MAAA+tC,cAAAtpL,GAAA,KAAkF,QAAAV,EAAA,KAAA2Q,EAAA,EAAmBA,EAAA3J,EAAAirJ,qBAAyBthJ,IAAA,CAAK,IAAA2rB,EAAAt1B,EAAAmrJ,iBAAAxhJ,GAA4B,GAAA3Q,EAAApB,KAAA4rL,qBAAAzqL,EAAAu8B,EAAAx7B,GAAA,OAAAd,EAAA,YAA2DpB,KAAA09I,SAAA,IAAAL,MAAA+tC,cAAAhqL,IAAyCgrL,iBAAA,SAAAjrL,GAA8B,GAAAnB,KAAAmsL,gBAAAhrL,EAAA2+I,mBAAA,OAAA9/I,KAAA09I,SAAA,YAA8E,QAAAt1I,EAAA,EAAYA,EAAAjH,EAAAkyJ,qBAAyBjrJ,IAAA,GAAApI,KAAAmsL,gBAAAhrL,EAAAoyJ,iBAAAnrJ,IAAA,OAAApI,KAAA09I,SAAA,aAAoFyuC,gBAAA,SAAAhrL,GAA6B,IAAAA,EAAAo+H,WAAA,CAAkB,IAAAn3H,EAAA,KAAWjH,EAAAknI,gBAAA,IAAAjgI,EAAAjH,EAAAixJ,eAAA,IAAApyJ,KAAA09I,SAAA,IAAAL,MAAAmuC,gBAAApjL,KAAyFikL,qBAAA,SAAAlrL,EAAAiH,GAAoC,QAAAlG,EAAA,EAAYA,EAAAf,EAAA0/H,mBAAuB3+H,IAAA,QAAAvB,EAAAQ,EAAAyrJ,aAAA1qJ,GAAAqT,EAAA5U,EAAAm/I,kBAAAtiH,EAAA,EAA0DA,EAAAr8B,EAAA0/H,mBAAuBrjG,IAAA,GAAAt7B,IAAAs7B,EAAA,CAAc,IAAA17B,EAAAX,EAAAyrJ,aAAApvH,GAAwB,GAAAx9B,KAAAusL,oBAAAh3K,EAAAzT,EAAAsG,GAAA,OAAApI,KAAA09I,SAAA,cAAqE7nB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5J,MAAWA,GAAAmtC,cAAA,SAAAvpL,EAAAiH,EAAAlG,GAAmC,QAAAvB,EAAAuB,EAAAwpK,SAAAtjK,GAAAmN,EAAA5U,EAAAmwK,0BAAAtzI,EAAA,EAA0DA,EAAAr8B,EAAAgB,OAAWq7B,IAAA,CAAK,IAAA17B,EAAAX,EAAAq8B,GAAW,IAAAjoB,EAAAmiJ,eAAA51J,GAAA,OAAAA,EAAiC,aAAYy7I,GAAAj5E,QAAA,WAAuB,GAAA10B,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAAm1I,GAAAp8I,GAA+B,OAAAiH,EAAAk8D,UAAmB,GAAA10B,UAAA,aAAA99B,EAAA,CAA6B,IAAA5P,EAAA0tC,UAAA,GAAmB,OAAAr6B,EAAAlG,MAAAnN,EAAAiN,KAAAoG,EAAAgyI,WAAArlJ,EAAAiN,KAAAoG,EAAAlG,MAAAnN,EAAAkN,KAAAmG,EAAAgyI,WAAArlJ,EAAAkN,KAAgFhH,EAAAu1I,GAAA18I,UAAA,CAAiBurL,WAAA,WAAsB,OAAAxsL,KAAAi+I,aAAwBrpH,eAAA,WAA2B,UAAA50B,KAAA89I,QAAA,CAAwB,QAAA38I,EAAA,IAAA4pB,EAAA3iB,EAAApI,KAAA49I,OAAAlvD,WAAyCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAA2hI,UAA6B8Z,GAAA9iI,QAAAla,EAAAimL,UAAAhyJ,iBAAA1yB,EAAAykL,mBAAAxlL,GAAgEnB,KAAA89I,QAAA38I,EAAAonJ,oBAAmC,OAAAvoJ,KAAA89I,SAAoB2uC,cAAA,WAA0B,OAAAzsL,KAAAg+I,gBAA2B15E,QAAA,WAAoB,OAAAtkE,KAAA40B,mBAAA50B,KAAA89I,QAAA37I,QAAA,KAAAnC,KAAAkpL,UAAA3rC,GAAAj5E,QAAAtkE,KAAAyX,QAA+F8pJ,MAAA,SAAApgK,GAAmB,IAAAiH,EAAAjH,EAAQ,GAAAnB,KAAAwkD,IAAAp8C,KAAA6gL,QAAAjpL,MAAAoI,IAAAk/J,UAAA9yJ,EAAAiuH,OAAA,OAAAr6H,EAAA,yBAAAoM,EAAAiuH,OAAAr6H,IAAAjH,IAAAiH,EAAA4gL,WAAA,kCAAkJ5gL,IAAAjH,IAAaurL,YAAA,WAAwB,QAAA1sL,KAAAinI,UAAAjnI,KAAA2sL,YAAuCC,WAAA,WAAuB,IAAAzrL,EAAA,KAAW,UAAAnB,KAAAwiF,MAAA,CAAsBrhF,EAAA,IAAAU,MAAA7B,KAAAwiF,MAAArtE,QAAAyuB,KAAA,MAA0C,QAAAx7B,EAAA,EAAYA,EAAApI,KAAAwiF,MAAArtE,OAAoB/M,IAAAjH,EAAAiH,GAAApI,KAAAwiF,MAAAlqE,IAAAlQ,GAA2B,IAAAlG,EAAAlC,KAAA+5B,QAAAi6H,cAAAh0J,KAAAyX,KAAAtW,GAA8C,OAAAe,GAASylK,OAAA,WAAmB,OAAA3nK,KAAAinI,SAAoB4lD,YAAA,WAAwB,OAAA7sL,KAAA+9I,cAAyBie,QAAA,WAAoB,GAAApsH,UAAA,aAAAwpF,GAAA,CAA8B,IAAAj4H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAwiF,QAAAxiF,KAAAwiF,MAAA,IAAAt4D,GAAAlqB,KAAAwiF,MAAAh+B,IAAArjD,QAAwD,GAAAyuC,UAAA,aAAA+tG,GAAA,CAAmC,IAAAv1I,EAAAwnC,UAAA,GAAmBxnC,EAAA6/J,SAAAjoK,MAAiB,IAAAkC,EAAAkG,EAAA8gL,UAAkB,OAAAlpL,KAAAwiF,QAAAxiF,KAAAwiF,MAAA,IAAAt4D,GAAAlqB,KAAAwiF,MAAAh+B,IAAAtiD,KAAyD4qL,YAAA,SAAA3rL,GAAyBnB,KAAAi+I,YAAA98I,EAAAnB,KAAAg+I,gBAAA,GAA0C+uC,aAAA,WAAyB,GAAA/sL,KAAA2nK,SAAA,YAA6B,QAAAxmK,EAAA,EAAYA,EAAAnB,KAAA49I,OAAAzoI,OAAqBhU,IAAA,CAAK,IAAAiH,EAAApI,KAAA49I,OAAAtlI,IAAAnX,GAAAe,EAAAkG,EAAA+hK,SAAA+e,UAAgD,GAAAhnL,EAAAwqL,cAAA,OAAAxqL,EAA4B,aAAY8qL,YAAA,WAAwB,IAAA7rL,EAAAnB,KAAAkpL,UAAqBlpL,KAAAinI,QAAA/J,GAAAo2B,MAAAnyJ,EAAAyzB,mBAA0C+3J,SAAA,WAAqB,cAAA3sL,KAAA4qE,OAAyBqiH,aAAA,WAAyB,cAAAjtL,KAAA+sL,gBAAkCG,cAAA,WAA0B,OAAAltL,KAAA40B,iBAAA50B,KAAA+5B,QAAAo5H,iBAAAnzJ,KAAA89I,UAAyE1wH,SAAA,WAAqB,OAAAkvG,GAAAm6B,aAAA,IAAA38B,GAAA95H,KAAA40B,oBAAsDozI,SAAA,WAAqB,OAAAhoK,KAAA2nK,SAAA3nK,KAAA4qE,MAAA5qE,MAAqCwkD,IAAA,SAAArjD,GAAiBnB,KAAA49I,OAAAp5F,IAAArjD,IAAmB+nL,QAAA,WAAoB,UAAAlpL,KAAAyX,KAAA,OAAAzX,KAAAyX,KAAqCzX,KAAA40B,iBAAA50B,KAAA89I,QAAA37I,OAAA,GAAAgmC,EAAAm7B,IAAAk1F,QAAAx4J,KAAA89I,SAAyE,IAAI99I,KAAAyX,KAAAzX,KAAA+5B,QAAAk/F,iBAAAj5H,KAAA89I,SAAsD,MAAA38I,GAAS,KAAAA,aAAAy0H,GAAA,MAAAz0H,EAA6BgnC,EAAAm7B,IAAAk1F,QAAAx4J,KAAA89I,SAAqC,OAAA99I,KAAAyX,MAAiB01K,eAAA,WAA2B,GAAAntL,KAAA2nK,SAAA,YAA6B,QAAAxmK,EAAA,EAAYA,EAAAnB,KAAA49I,OAAAzoI,OAAqBhU,IAAA,CAAK,IAAAiH,EAAApI,KAAA49I,OAAAtlI,IAAAnX,GAAAe,EAAAkG,EAAA+hK,SAAA+e,UAAAlhB,WAA2D,UAAA9lK,KAAAuqL,gBAAA,OAAAzsL,KAAA8sL,aAAA5qL,EAAAsqL,cAAA,OAA8EvkB,SAAA,SAAA9mK,GAAsBnB,KAAA4qE,MAAAzpE,GAAaisL,aAAA,SAAAjsL,GAA0BnB,KAAA+9I,aAAA58I,GAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxJ,MAAWA,GAAA0vC,mBAAA,SAAAlsL,GAAoC,IAAAiH,EAAAjH,EAAAe,EAAA,IAAAgoB,EAAgB,GAAAhoB,EAAAsiD,IAAAp8C,OAAAk/J,UAAA9yJ,EAAAiuH,OAAA,OAAAr6H,EAAA,yBAAAoM,EAAAiuH,OAAAr6H,IAAAjH,IAAAiH,EAAA4gL,WAAA,kCAA+H5gL,IAAAjH,GAAa,OAAAe,GAASy7I,GAAA9iI,QAAA,SAAA1Z,EAAAiH,EAAAlG,GAA4B,GAAAkG,EAAA,QAAAzH,EAAA,EAAiBA,EAAAQ,EAAAgB,OAAWxB,IAAAuB,EAAAsiD,IAAArjD,EAAAR,IAAA,QAAmB,IAAAA,EAAAQ,EAAAgB,OAAA,EAA0BxB,GAAA,EAAKA,IAAAuB,EAAAsiD,IAAArjD,EAAAR,IAAA,IAAmBg9I,GAAAmuB,uBAAA,SAAA3qK,EAAAiH,GAAyC,QAAAlG,EAAAf,EAAA+nL,UAAAvoL,EAAAuB,EAAAmtI,sBAAA95H,EAAArT,EAAAkwJ,eAAA,GAAA50H,EAAA,KAAA17B,EAAA,KAAAxB,EAAA8H,EAAAsmF,WAAmGpuF,EAAA6nJ,WAAY,CAAE,IAAA/mJ,EAAAd,EAAAub,OAAA9J,EAAA3Q,EAAA8nL,UAAAxrJ,EAAA3rB,EAAAs9H,sBAAuD,IAAA3xG,EAAAmhD,OAAAl+E,IAAA+8B,EAAAwrH,SAAAvoJ,GAAA,CAAgC4U,EAAAghH,EAAAq4B,YAAA1sJ,EAAA0yB,iBAAA7iB,EAAA6iB,kBAAuD,IAAAjzB,GAAA,EAASu7H,GAAAg8B,cAAA3jJ,EAAAxD,EAAA6iB,oBAAAjzB,GAAA,GAAAA,IAAA,OAAA67B,GAAA17B,EAAAonJ,SAAAxrH,MAAAF,EAAAp8B,EAAAU,EAAA07B,EAAA0rJ,UAAA75C,wBAAwH,OAAA7xG,GAASp1B,EAAA81I,GAAAj9I,UAAA,CAAiBkd,QAAA,SAAAhd,EAAAiH,GAAsB,IAAAlG,EAAAf,EAAAR,EAAAyH,EAAY,OAAAlG,EAAAgnL,UAAAz+G,cAAA0jE,UAAAxtI,EAAAuoL,UAAAz+G,gBAAsEorD,YAAA,WAAwB,OAAAv1H,IAAU6mJ,SAAA,WAAqB,OAAAjJ,MAAWP,GAAA2vC,mBAAApvC,GAAAxgH,EAAAygH,GAAAtC,IAAAzzI,EAAA+1I,GAAAl9I,UAAA,CAAoDssL,aAAA,SAAApsL,GAAyB,IAAAiH,EAAA,IAAAu1I,GAAA39I,KAAA+5B,SAA2B,OAAA3xB,EAAAm5J,MAAApgK,GAAAiH,GAAoBolL,mBAAA,WAA+B,OAAA59I,UAAAztC,OAAA,OAA8B,CAAE,IAAAhB,EAAA,KAAW,UAAAA,EAAA,YAAwBnB,KAAAwtL,mBAAArsL,QAA2B,IAAAyuC,UAAAztC,QAA8BytC,UAAA,IAAc69I,mBAAA,WAA+B,QAAAtsL,EAAAnB,KAAAioL,eAA8B9mL,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAesiI,GAAAsvC,mBAAArlL,KAA0ByS,QAAA,SAAA1Z,GAAqB,GAAAA,EAAAg5G,UAAA,YAA2B,IAAA/xG,EAAAmuH,EAAAw4B,qBAAA5tJ,EAAAyzB,kBAAiD,GAAAxsB,EAAAjG,OAAA,cAA0B,IAAAD,EAAAkG,EAAA,GAAAzH,EAAAyH,IAAAjG,OAAA,GAAAoT,EAAAvV,KAAA2a,QAAAzY,GAAAs7B,EAAAx9B,KAAA2a,QAAAha,GAAAmB,EAAA,IAAAo6I,GAAA3mI,EAAAioB,EAAAp1B,EAAA,OAAA9H,EAAA,IAAA47I,GAAA1+G,EAAAjoB,EAAAnN,IAAAjG,OAAA,OAAAf,EAAA,IAAA+6I,GAAAh7I,GAAoIC,EAAAk6I,iBAAAx5I,EAAAxB,GAAAN,KAAAwkD,IAAApjD,IAAoCssL,eAAA,WAA2B1tL,KAAAytL,qBAAAtvC,GAAAwvC,qBAAA3tL,KAAA87I,UAAiE,QAAA36I,EAAA,IAAA+oB,EAAA9hB,EAAApI,KAAA87I,SAAAptD,WAA2CtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,IAAA3Z,EAAA03K,WAAA,CAAkB,IAAAj5K,EAAAuB,EAAAioK,SAAiB,GAAAjoK,EAAAy6I,aAAAh8I,EAAAg8I,WAAA,CAAgCz6I,EAAA2kL,WAAA,GAAAlmL,EAAAkmL,WAAA,GAAgC,IAAAtxK,EAAArT,EAAA2hI,UAAkB1iI,EAAAqjD,IAAAjvC,EAAAqxK,aAAqB,OAAAzlL,GAASysL,aAAA,WAAyB5tL,KAAAytL,qBAAAtvC,GAAA70I,MAAAtJ,KAAA87I,UAAA,GAAqD,IAAA36I,EAAAg9I,GAAAwvC,qBAAA3tL,KAAA87I,UAA6C97I,KAAA6tL,iCAAA1sL,GAAyC,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAlC,KAAA87I,SAAAptD,WAA2CxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,IAAAlb,EAAAi5K,aAAAj5K,EAAAqoL,WAAA,CAAiC,IAAAzzK,EAAAvV,KAAAutL,aAAA5sL,GAA2ByH,EAAAo8C,IAAAjvC,IAAU,OAAAnN,GAASuS,QAAA,SAAAxZ,GAAqB,IAAAiH,EAAApI,KAAAooL,SAAAjnL,GAAuB,cAAAiH,MAAA,IAAAqzI,GAAAt6I,GAAAnB,KAAAwkD,IAAAp8C,OAA6CylL,iCAAA,SAAA1sL,GAA8C,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAAApnI,EAAA4oI,GAAA2vC,sBAAA5rL,EAAAvB,GAA8D,UAAA4U,EAAA,QAAAioB,EAAAjoB,EAAAm5E,WAAmClxD,EAAA2qH,WAAY,CAAE,IAAArmJ,EAAA07B,EAAA3hB,OAAesiI,GAAA4vC,oBAAAjsL,EAAAnB,MAA8BqtL,cAAA,WAA0B,QAAA7sL,EAAAnB,KAAAgoL,kBAAA,GAAA5/K,EAAA,IAAAwuH,EAAA10H,EAAA,IAAAk8H,GAAAz9H,EAAAQ,EAAAutF,WAAoE/tF,EAAAwnJ,WAAYjmJ,EAAAtB,KAAAD,EAAAkb,QAAkB,MAAK3Z,EAAAi4G,WAAa,CAAE,IAAA5kG,EAAArT,EAAAqB,MAAc46I,GAAA8vC,eAAA14K,GAAqB,IAAAioB,EAAAjoB,EAAAgyK,cAAA9f,WAAA,IAAA9mK,EAAA68B,EAAAkxD,WAAoD/tF,EAAAwnJ,WAAY,CAAE,IAAArmJ,EAAAnB,EAAAkb,OAAe/Z,EAAA+kL,WAAA,GAAgB,IAAAvmL,EAAAwB,EAAAqoK,SAAiB,OAAA7pK,KAAAumL,WAAA,GAA0B,IAAAzlL,EAAAU,EAAA+hI,UAAkBz7H,EAAAo8C,IAAApjD,EAAAwlL,WAAmB,IAAA70K,EAAAjQ,EAAAulL,YAAoB,IAAAlpC,GAAA+vC,oBAAAn8K,IAAA7P,EAAAtB,KAAAmR,IAA0C,OAAA3J,GAASytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhJ,MAAWA,GAAAwvC,qBAAA,SAAAxsL,GAAsC,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAA,EAAAvB,EAAAQ,EAAAutF,WAAmC/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAe,KAAAtG,EAAAqkK,YAAArkK,EAAAonI,YAAA,IAAqCv0I,EAAAo8C,IAAAjvC,GAAS,IAAAioB,EAAAmgH,GAAA0vC,mBAAA93K,GAA+B4oI,GAAA70I,MAAAk0B,EAAAt7B,QAAmB,OAAAkG,GAAS+1I,GAAA+vC,oBAAA,SAAA/sL,GAAoC,QAAAiH,EAAAjH,EAAAomL,cAAA9f,WAAAvlK,EAAA,EAAAvB,EAAAyH,EAAAsmF,WAAwD/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,EAAAqkK,YAAA13K,IAAkB,OAAAA,GAASi8I,GAAA8vC,eAAA,SAAA9sL,GAA+B,QAAAiH,EAAAjH,EAAAomL,cAAA9f,WAAAvlK,EAAAkG,EAAAsmF,WAAoDxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAkmL,WAAA,GAAgB,IAAAtxK,EAAA5U,EAAAwpK,SAAiB,OAAA50J,KAAAsxK,WAAA,KAA2B1oC,GAAA70I,MAAA,SAAAnI,EAAAiH,GAAwB,QAAAlG,EAAAf,EAAAutF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAgoK,SAAAvgK,KAAe+1I,GAAAsvC,mBAAA,SAAAtsL,GAAmC,QAAAiH,EAAAjH,EAAAomL,cAAArlL,EAAA,KAAAvB,EAAA,KAAA4U,EAAAnN,EAAAq/J,WAAA/4E,WAAkEn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe,IAAA2hB,EAAAo8I,WAAA,CAAkB,UAAA13K,MAAAs7B,GAAA,OAAA78B,EAAA,CAA6B,IAAAmB,EAAAnB,EAAAwpK,SAAiBroK,EAAA2oK,QAAAjtI,GAAa78B,EAAA68B,GAAK,UAAA78B,EAAA,CAAamB,EAAAnB,EAAAwpK,SAAiBroK,EAAA2oK,QAAAvoK,KAAci8I,GAAA4vC,oBAAA,SAAA5sL,EAAAiH,GAAsC,QAAAlG,EAAAf,EAAAomL,cAAA5mL,EAAA,KAAA4U,EAAA,KAAAioB,EAAAt7B,EAAAulK,WAAA3lK,EAAA07B,EAAAroB,OAAA,EAAoErT,GAAA,EAAKA,IAAA,CAAK,IAAAxB,EAAAk9B,EAAAllB,IAAAxW,GAAAV,EAAAd,EAAA6pK,SAAAp4J,EAAA,KAAmCzR,EAAAq8I,aAAAv0I,IAAA2J,EAAAzR,GAAwB,IAAAo9B,EAAA,KAAWt8B,EAAAu7I,aAAAv0I,IAAAs1B,EAAAt8B,GAAA,OAAA2Q,GAAA,OAAA2rB,IAAA,OAAAA,IAAAnoB,EAAAmoB,GAAA,OAAA3rB,IAAA,OAAAwD,MAAAk1J,QAAA14J,GAAAwD,EAAA,aAAA5U,MAAAoR,KAA0H,OAAAwD,IAAAf,EAAAiuH,OAAA,OAAA9hI,GAAA4U,EAAAk1J,QAAA9pK,KAA4Cw9I,GAAAgvB,UAAA,SAAAhsK,EAAAiH,GAA4B,QAAAlG,EAAAf,EAAAomL,cAAA9f,WAAA9mK,EAAA,EAAA4U,EAAArT,EAAAwsF,WAAwDn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe2hB,EAAAm/G,aAAAv0I,GAAAzH,IAAsB,OAAAA,GAASw9I,GAAA2vC,sBAAA,SAAA3sL,EAAAiH,GAAwC,IAAAlG,EAAAf,EAAAR,EAAA,KAAe,GAAG,IAAA4U,EAAArT,EAAAilL,cAAsBhpC,GAAAgvB,UAAA53J,EAAAnN,GAAA,WAAAzH,MAAA,IAAAupB,GAAAvpB,EAAA6jD,IAAAjvC,IAAArT,IAAAolK,UAAA9yJ,EAAAiuH,OAAA,OAAAvgI,EAAA,yBAAAsS,EAAAiuH,OAAAvgI,IAAAf,IAAAe,EAAA8mL,WAAA,kCAAuK9mL,IAAAf,GAAa,OAAAR,GAASyH,EAAAg2I,GAAAn9I,UAAA,CAAiB0zB,YAAA,WAAuB,cAAA30B,KAAAs+H,cAAAt+H,KAAAs+H,YAAA,IAAAjF,IAAAr5H,KAAAmuL,aAAAnuL,KAAA6+I,qBAAA7+I,KAAAs+H,YAAA22B,cAAAj1J,KAAA2+I,UAAA3+I,KAAAs+H,YAAAgzB,yBAAAj4B,GAAA67B,gBAAAl1J,KAAA2+I,YAAiOyvC,oBAAA,WAAgC,OAAApuL,KAAAmuL,aAAAnuL,KAAAy+I,kBAA+C4vC,eAAA,SAAAltL,EAAAiH,EAAAlG,GAAgC,QAAAvB,EAAAQ,EAAAutF,WAAuB/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,EAAA+uD,UAAAl8D,EAAAo8C,IAAAjvC,GAAArT,EAAAsiD,IAAAjvC,EAAA23K,mBAA+CiB,WAAA,WAAuB,UAAAnuL,KAAA2+I,SAAA,YACzu+B,GAAA3+I,KAAA2+I,SAAA,IAAAz0H,EAAA,OAAAlqB,KAAAwa,MAAA,YAAqDxa,KAAAu+I,QAAAv+I,KAAAwa,MAAAwzK,gBAAAhuL,KAAAw+I,SAAAx+I,KAAAwa,MAAAkzK,iBAAkF,IAAAvsL,EAAAnB,KAAAwa,MAAAozK,eAAAxlL,EAAA,IAAA8hB,EAAwClqB,KAAAy+I,iBAAA,IAAAv0H,EAAAlqB,KAAA4+I,qBAAA5+I,KAAAquL,eAAAltL,EAAAiH,EAAApI,KAAAy+I,kBAAAr2I,EAAAjH,EAAAnB,KAAAsuL,mBAAAlmL,GAAAg2I,GAAAmwC,oBAAAvuL,KAAA0+I,SAAA1+I,KAAAuqE,WAAAq2F,GAAA57J,KAAAhF,KAAAuqE,UAAA,IAAAozE,GAAA2vC,oBAA2O,IAAAprL,GAAA,EAASlC,KAAA6+I,uBAAAT,GAAAowC,mBAAAxuL,KAAAuqE,WAAAroE,GAAA,GAAAlC,KAAA2+I,SAAAP,GAAAqwC,gBAAAzuL,KAAAuqE,UAAAroE,IAA2HwsL,WAAA,WAAuB,OAAA1uL,KAAAmuL,aAAAnuL,KAAAu+I,SAAsCowC,YAAA,WAAwB,OAAA3uL,KAAAmuL,aAAAnuL,KAAAw+I,UAAuC2tB,YAAA,WAAwB,OAAAnsK,KAAAmuL,aAAAnuL,KAAA2+I,UAAuCn6F,IAAA,WAAgB,GAAAkrD,EAAA9/D,UAAA,GAAA9sC,GAAA,QAAA3B,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAutF,WAA2DtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAwkD,IAAAtiD,QAAY,GAAA0tC,UAAA,aAAAgpF,GAAA,CAAmC,IAAAj4H,EAAAivC,UAAA,GAAmB5vC,KAAAs+H,YAAA39H,EAAAw3H,aAAA,OAAAn4H,KAAAwa,QAAAxa,KAAAwa,MAAA,IAAA2jI,GAAAn+I,KAAAs+H,cAAAt+H,KAAAwa,MAAAK,QAAAla,QAA+G,GAAAivC,UAAA,aAAAxH,EAAA,CAAkC,IAAA7yB,EAAAq6B,UAAA,GAAmBr6B,EAAAhT,MAAAvC,KAAAq+I,mBAA+BuwC,mBAAA,SAAAztL,GAAgCnB,KAAA4+I,qBAAAz9I,GAA4BmtL,mBAAA,SAAAntL,GAAgCnB,KAAA0+I,SAAA,IAAAx0H,EAAAlqB,KAAAuqE,UAAA,IAAArgD,EAAyC,QAAA9hB,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA8qL,cAAA9qL,EAAAylK,SAAA3nK,KAAA0+I,SAAAl6F,IAAAtiD,GAAAlC,KAAAuqE,UAAA/lB,IAAAtiD,KAAuE2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/I,MAAWA,GAAAywC,gBAAA,SAAA1tL,GAAiC,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAA6qL,eAAkC,OAAApsL,KAAAksL,gBAAA3qL,EAAA4qL,aAAA,GAAAnsL,EAAAysL,cAAA,MAAmEhvC,GAAAqwC,gBAAA,SAAAttL,EAAAiH,GAAkC,QAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAAQ,EAAAutF,WAA+B/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,QAAezT,GAAAmN,EAAAi3K,eAAAtqL,EAAAsiD,IAAAjvC,EAAAq3K,cAA2C,OAAA1qL,GAASk8I,GAAAmwC,oBAAA,SAAAptL,EAAAiH,GAAsC,QAAAlG,EAAAf,EAAAutF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAeuiI,GAAA0wC,kBAAAnuL,EAAAyH,KAA2Bg2I,GAAA0wC,kBAAA,SAAA3tL,EAAAiH,GAAoC,IAAAlG,EAAAy7I,GAAAmuB,uBAAA3qK,EAAAiH,GAAqC,OAAAlG,KAAA85J,QAAA76J,IAAuBi9I,GAAAowC,mBAAA,SAAArtL,GAAmCi9I,GAAAywC,gBAAA1tL,GAAsB,IAAAiH,EAAA,KAAW,GAAGA,GAAA,EAAK,QAAAlG,EAAAf,EAAAutF,WAAuBxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAA8rL,kBAAA9rL,EAAAwsL,iBAAAxsL,EAAA8rL,kBAAArkL,GAAA,WAAmEA,IAASA,EAAAk2I,GAAAr9I,UAAA,CAAiBS,OAAA,SAAAP,GAAmBA,aAAAy3H,IAAA54H,KAAAk8B,EAAAsoB,IAAArjD,IAA+B00H,YAAA,WAAwB,OAAAjgG,IAAUuxH,SAAA,WAAqB,OAAA7I,MAAWF,GAAA2wC,gBAAAzwC,GAAwB,IAAA0wC,GAAA52K,OAAA8iJ,OAAA,CAAsB+zB,YAAA7wC,KAAiBh2I,EAAA02I,GAAA79I,UAAA,CAAgBipL,eAAA,SAAA/oL,GAA2B,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAga,MAAAwqC,IAAAtiD,KAAmBgtL,4BAAA,SAAA/tL,EAAAiH,GAA2C,IAAAlG,EAAAlC,KAAAguI,IAAA,GAAAr5G,cAAAqlG,eAAAr5H,EAAAX,KAAAguI,IAAA,GAAAr5G,cAAAqlG,eAAAzkH,EAAApU,EAAA6tK,wBAAAxxI,EAAAr8B,EAAA2tK,gCAA0J,IAAA5sK,GAAA,IAAAvB,EAAA4U,GAAAnN,EAAAsyJ,WAAA,iBAAAx4J,GAAA,IAAAvB,GAAA4U,GAAAnN,EAAAsyJ,WAAA,aAAAl9H,GAAAp1B,EAAAsyJ,WAAA,kBAAAx4J,GAAA,IAAAvB,GAAA4U,GAAAnN,EAAAsyJ,WAAA,aAAAl9H,GAAAp1B,EAAAsyJ,WAAA,kBAAAx4J,GAAA,IAAAvB,GAAA68B,GAAAp1B,EAAAsyJ,WAAA,cAAuOy0B,mBAAA,SAAAhuL,EAAAiH,GAAkC,QAAAlG,EAAAlC,KAAAguI,IAAA7sI,GAAAiqK,kBAAwClpK,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAelb,EAAAqmK,eAAAhnK,KAAAovL,kBAAAzuL,EAAAyH,EAAApI,KAAAguI,IAAA5lI,GAAAusB,eAAA30B,KAAAg/I,cAAAx6F,IAAA7jD,MAAmGyuL,kBAAA,SAAAjuL,EAAAiH,EAAAlG,GAAmC,GAAAA,EAAA83H,eAAA,GAAuB,IAAAr5H,EAAAX,KAAA6oI,UAAA82B,OAAAx+J,EAAAiiI,gBAAAlhI,GAAiDf,EAAAw7I,WAAA0pB,gBAAAj+J,EAAAzH,QAAkCQ,EAAAw7I,WAAA0pB,gBAAAj+J,EAAAk0C,EAAAohF,WAAgDorC,UAAA,WAAsB,IAAA3nK,EAAA,IAAAk8H,GAAa,GAAAl8H,EAAAoX,IAAA+jC,EAAAohF,SAAAphF,EAAAohF,SAAA,IAAA19H,KAAAguI,IAAA,GAAAr5G,cAAA06G,sBAAA7+E,WAAAxwD,KAAAguI,IAAA,GAAAr5G,cAAA06G,uBAAA,OAAArvI,KAAAqvL,kBAAAluL,KAAkLnB,KAAAguI,IAAA,GAAAijC,iBAAAjxK,KAAAwlI,IAAA,GAAAxlI,KAAAguI,IAAA,GAAAijC,iBAAAjxK,KAAAwlI,IAAA,GAAkF,IAAAp9H,EAAApI,KAAAguI,IAAA,GAAAqjC,yBAAArxK,KAAAguI,IAAA,GAAAhuI,KAAAwlI,IAAA,GAAmExlI,KAAAoqL,yBAAA,GAAApqL,KAAAoqL,yBAAA,GAAApqL,KAAAmqL,mBAAA,GAAAnqL,KAAAmqL,mBAAA,GAAAnqL,KAAAsvL,qBAAAtvL,KAAAkvL,4BAAA9mL,EAAAjH,GAAwL,IAAAe,EAAA,IAAAq6I,GAAA57I,EAAAuB,EAAA2nL,gBAAA7pL,KAAAguI,IAAA,GAAAo9B,mBAAgEprK,KAAAkqL,eAAAvpL,GAAuB,IAAA4U,EAAArT,EAAA2nL,gBAAA7pL,KAAAguI,IAAA,GAAAo9B,mBAAuD,OAAAprK,KAAAkqL,eAAA30K,GAAAvV,KAAAuvL,iBAAAvvL,KAAAmvL,mBAAA,KAAAnvL,KAAAmvL,mBAAA,KAAAnvL,KAAA6oK,SAAA1nK,MAAiIouL,eAAA,WAA2B,QAAApuL,EAAAnB,KAAAga,MAAA00E,WAAgCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAezT,EAAAq/J,WAAAkG,iBAAA3tK,KAAAguI,OAAyCm8C,mBAAA,SAAAhpL,GAAgC,QAAAiH,EAAApI,KAAAguI,IAAA7sI,GAAAypK,kBAAwCxiK,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAX,KAAAga,MAAAqvJ,QAAAnnK,EAAAkhI,iBAAuDziI,EAAAgoK,SAAAxnK,EAAAe,EAAAy6I,WAAAmc,YAAA33J,MAA2CquL,uBAAA,SAAAruL,GAAoC,QAAAiH,EAAApI,KAAAguI,IAAA7sI,GAAAiqK,kBAAwChjK,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAAAmc,YAAA33J,GAAAoU,EAAArT,EAAA4uK,0BAAApiF,WAA2Fn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA9B,KAAAga,MAAA60B,KAAArR,EAAAnqB,OAA0CvR,EAAA66I,WAAAiM,OAAAznJ,KAAAR,IAAA27C,EAAAmhF,SAAA37H,EAAAsnK,iBAAAjoK,GAAAW,EAAA6mK,SAAAxnK,EAAAm7C,EAAAkhF,aAAyFiyD,kBAAA,SAAAtuL,EAAAiH,GAAiC,IAAAlG,EAAAlC,KAAA6oI,UAAA82B,OAAAx+J,EAAAiiI,gBAAApjI,KAAAguI,IAAA5lI,GAAAusB,eAAyExzB,EAAAw7I,WAAA0pB,gBAAAj+J,EAAAlG,IAAkCkoL,yBAAA,SAAAjpL,GAAsC,QAAAiH,EAAApI,KAAAguI,IAAA7sI,GAAAiqK,kBAAwChjK,EAAA+/I,WAAY,QAAAjmJ,EAAAkG,EAAAyT,OAAAlb,EAAAuB,EAAAy6I,WAAAmc,YAAA33J,GAAAoU,EAAArT,EAAA4uK,0BAAApiF,WAA2Fn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA9B,KAAAga,MAAAqvJ,QAAA7rI,EAAAnqB,OAA6C1S,IAAA27C,EAAAmhF,SAAA37H,EAAAsnK,iBAAAjoK,GAAAW,EAAA66I,WAAAiM,OAAAznJ,IAAAW,EAAA6mK,SAAAxnK,EAAAm7C,EAAAkhF,YAAuF8xD,mBAAA,WAA+B,QAAAnuL,EAAAnB,KAAAga,MAAA00E,WAAgCvtF,EAAAgnJ,WAAY,CAAE,IAAA//I,EAAAjH,EAAA0a,OAAA3Z,EAAAkG,EAAAu0I,WAA8BnoI,EAAAiuH,OAAAvgI,EAAA2kK,mBAAA,iCAAAz+J,EAAA4+J,eAAA9kK,EAAA0mJ,OAAA,GAAA5oJ,KAAAyvL,kBAAArnL,EAAA,GAAApI,KAAAyvL,kBAAArnL,EAAA,MAAsJygK,SAAA,SAAA1nK,GAAsB,QAAAiH,EAAApI,KAAAg/I,cAAAtwD,WAAwCtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe3Z,EAAA2mK,SAAA1nK,GAAc,QAAAR,EAAAX,KAAAga,MAAA00E,WAAgC/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAetG,EAAAszJ,SAAA1nK,GAAAoU,EAAA00K,kBAAA9oL,KAAsCkuL,kBAAA,SAAAluL,GAA+B,IAAAiH,EAAApI,KAAAguI,IAAA,GAAAr5G,cAAgCvsB,EAAA+xG,YAAAh5G,EAAAoX,IAAA+jC,EAAAkhF,SAAAlhF,EAAAohF,SAAAt1H,EAAA4xH,gBAAA74H,EAAAoX,IAAA+jC,EAAAmhF,SAAAnhF,EAAAohF,SAAAt1H,EAAAipJ,yBAAmH,IAAAnvJ,EAAAlC,KAAAguI,IAAA,GAAAr5G,cAAgCzyB,EAAAi4G,YAAAh5G,EAAAoX,IAAA+jC,EAAAohF,SAAAphF,EAAAkhF,SAAAt7H,EAAA83H,gBAAA74H,EAAAoX,IAAA+jC,EAAAohF,SAAAphF,EAAAmhF,SAAAv7H,EAAAmvJ,0BAAmHx7B,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArI,MAAW12I,EAAA62I,GAAAh+I,UAAA,CAAkByuL,sBAAA,SAAAvuL,GAAkC,GAAAA,aAAA63H,GAAA,SAA4B,GAAA73H,aAAA23H,GAAA,OAAA94H,KAAA2vL,2BAAAxuL,GAA6D,GAAAA,aAAAy3H,GAAA,OAAA54H,KAAA4vL,gCAAAzuL,GAAkE,QAAAiH,EAAA,EAAYA,EAAAjH,EAAA0/H,mBAAuBz4H,IAAA,CAAK,IAAAlG,EAAAf,EAAAyrJ,aAAAxkJ,GAAwB,IAAApI,KAAA0vL,sBAAAxtL,GAAA,SAA2C,UAAS2tL,iCAAA,SAAA1uL,EAAAiH,GAAgD,GAAAjH,EAAA09E,OAAAz2E,GAAA,OAAApI,KAAA2vL,2BAAAxuL,GAAyD,GAAAA,EAAAgO,IAAA/G,EAAA+G,GAAc,GAAAhO,EAAAgO,IAAAnP,KAAAk/I,QAAAlM,WAAA7xI,EAAAgO,IAAAnP,KAAAk/I,QAAAjM,UAAA,cAAuE,GAAA9xI,EAAAiO,IAAAhH,EAAAgH,IAAAjO,EAAAiO,IAAApP,KAAAk/I,QAAA3P,WAAApuI,EAAAiO,IAAApP,KAAAk/I,QAAA5P,WAAA,SAAyF,UAASsgD,gCAAA,SAAAzuL,GAA6C,QAAAiH,EAAAjH,EAAA4+I,wBAAA79I,EAAA,IAAA4P,EAAAnR,EAAA,IAAAmR,EAAAyD,EAAA,EAAwDA,EAAAnN,EAAA+M,OAAA,EAAaI,IAAA,GAAAnN,EAAAg7H,cAAA7tH,EAAArT,GAAAkG,EAAAg7H,cAAA7tH,EAAA,EAAA5U,IAAAX,KAAA6vL,iCAAA3tL,EAAAvB,GAAA,SAAwG,UAASgvL,2BAAA,WAAuC,GAAA//I,UAAA,aAAAkpF,GAAA,CAA8B,IAAA33H,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA2vL,2BAAAxuL,EAAAiiI,iBAA0D,GAAAxzF,UAAA,aAAA99B,EAAA,CAA6B,IAAA1J,EAAAwnC,UAAA,GAAmB,OAAAxnC,EAAA+G,IAAAnP,KAAAk/I,QAAAlM,WAAA5qI,EAAA+G,IAAAnP,KAAAk/I,QAAAjM,WAAA7qI,EAAAgH,IAAApP,KAAAk/I,QAAA3P,WAAAnnI,EAAAgH,IAAApP,KAAAk/I,QAAA5P,YAA+H4Z,SAAA,SAAA/nJ,GAAsB,QAAAnB,KAAAk/I,QAAAgK,SAAA/nJ,EAAAkuI,yBAAArvI,KAAA0vL,sBAAAvuL,IAAuF00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAlI,MAAWA,GAAAiK,SAAA,SAAA/nJ,EAAAiH,GAA4B,IAAAlG,EAAA,IAAA+8I,GAAA99I,GAAgB,OAAAe,EAAAgnJ,SAAA9gJ,IAAqBA,EAAA+2I,GAAAl+I,UAAA,CAAiBuvD,WAAA,SAAArvD,EAAAiH,GAAyB,IAAAlG,EAAA,IAAAmmC,EAAAlnC,EAAAiH,GAAiB,IAAApI,KAAAk/I,QAAA1uF,WAAAtuD,GAAA,SAAwC,GAAAlC,KAAAk/I,QAAA1uF,WAAArvD,GAAA,SAAuC,GAAAnB,KAAAk/I,QAAA1uF,WAAApoD,GAAA,SAAuC,GAAAjH,EAAAgtI,UAAA/lI,GAAA,GAAqB,IAAAzH,EAAAQ,EAAQA,EAAAiH,IAAAzH,EAAQ,IAAA4U,GAAA,EAAS,OAAAnN,EAAAgH,EAAAjO,EAAAiO,IAAAmG,GAAA,GAAAA,EAAAvV,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAAs/I,UAAAt/I,KAAAu/I,WAAAv/I,KAAAwlI,GAAAuxB,oBAAA51J,EAAAiH,EAAApI,KAAAo/I,QAAAp/I,KAAAq/I,WAAAr/I,KAAAwlI,GAAA0a,mBAA+KrqB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhI,MAAW/2I,EAAAo3I,GAAAv+I,UAAA,CAAkB6uL,QAAA,SAAA3uL,GAAoB,QAAAiH,EAAA,EAAYA,EAAAjH,EAAA0/H,qBAAA7gI,KAAAmrI,QAAsC/iI,IAAA,CAAK,IAAAlG,EAAAf,EAAAyrJ,aAAAxkJ,GAAwB,GAAAlG,aAAAy1H,GAAA33H,KAAA8vL,QAAA5tL,QAAmC,GAAAlC,KAAAg7K,MAAA94K,GAAAlC,KAAAkxJ,SAAA,OAAAlxJ,KAAAmrI,SAAA,SAAiEtV,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3H,MAAWp3I,EAAAutB,GAAA10B,UAAA,CAAkBuvD,WAAA,SAAArvD,GAAuB,IAAAnB,KAAAk/I,QAAA1uF,WAAArvD,EAAAkuI,uBAAA,SAA8D,IAAAjnI,EAAA,IAAAq3I,GAAAz/I,KAAAk/I,SAA2B,GAAA92I,EAAA0nL,QAAA3uL,GAAAiH,EAAAooD,aAAA,SAAwC,IAAAtuD,EAAA,IAAAy9I,GAAA3/I,KAAAoyD,WAA6B,GAAAlwD,EAAA4tL,QAAA3uL,GAAAe,EAAA2lK,gBAAA,SAA2C,IAAAlnK,EAAA,IAAAq/I,GAAAhgJ,KAAAoyD,WAA6B,OAAAzxD,EAAAmvL,QAAA3uL,KAAAR,EAAA6vD,cAAqCqlE,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxxH,MAAWA,GAAA66B,WAAA,SAAArvD,EAAAiH,GAA8B,IAAAlG,EAAA,IAAAyzB,GAAAx0B,GAAgB,OAAAe,EAAAsuD,WAAApoD,IAAuBs1B,EAAA+hH,GAAAD,IAAAp3I,EAAAq3I,GAAAx+I,UAAA,CAA0BiwJ,OAAA,WAAkB,WAAAlxJ,KAAA0/I,aAA6Bs7B,MAAA,SAAA75K,GAAmB,IAAAiH,EAAAjH,EAAAkuI,sBAA8B,OAAArvI,KAAAk/I,QAAA1uF,WAAApoD,GAAApI,KAAAk/I,QAAAgK,SAAA9gJ,IAAApI,KAAA0/I,aAAA,QAAAt3I,EAAA4qI,WAAAhzI,KAAAk/I,QAAAlM,WAAA5qI,EAAA6qI,WAAAjzI,KAAAk/I,QAAAjM,WAAAjzI,KAAA0/I,aAAA,QAAAt3I,EAAAmnI,WAAAvvI,KAAAk/I,QAAA3P,WAAAnnI,EAAAknI,WAAAtvI,KAAAk/I,QAAA5P,WAAAtvI,KAAA0/I,aAAA,qBAA0SlvF,WAAA,WAAuB,OAAAxwD,KAAA0/I,aAAwB7pB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1H,MAAW/hH,EAAAiiH,GAAAH,IAAAp3I,EAAAu3I,GAAA1+I,UAAA,CAA2BiwJ,OAAA,WAAkB,WAAAlxJ,KAAA6/I,gBAAgCm7B,MAAA,SAAA75K,GAAmB,KAAAA,aAAA63H,IAAA,YAAkC,IAAA5wH,EAAAjH,EAAAkuI,sBAA8B,IAAArvI,KAAAk/I,QAAA1uF,WAAApoD,GAAA,YAA2C,QAAAlG,EAAA,IAAA4P,EAAAnR,EAAA,EAAoBA,EAAA,EAAIA,IAAA,GAAAX,KAAA4/I,QAAAxc,cAAAziI,EAAAuB,GAAAkG,EAAA8gJ,SAAAhnJ,IAAAinI,GAAAikC,uBAAAlrK,EAAAf,GAAA,OAAAnB,KAAA6/I,gBAAA,QAAwHgoB,cAAA,WAA0B,OAAA7nK,KAAA6/I,gBAA2BhqB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxH,MAAWjiH,EAAAsiH,GAAAR,IAAAp3I,EAAA43I,GAAA/+I,UAAA,CAA2BuvD,WAAA,WAAsB,OAAAxwD,KAAAkgJ,iBAA4BgR,OAAA,WAAmB,WAAAlxJ,KAAAkgJ,iBAAiC86B,MAAA,SAAA75K,GAAmB,IAAAiH,EAAAjH,EAAAkuI,sBAA8B,IAAArvI,KAAAk/I,QAAA1uF,WAAApoD,GAAA,YAA2C,IAAAlG,EAAA8rC,GAAA+hI,SAAA5uK,GAAqBnB,KAAA+vL,iCAAA7tL,IAAyC6tL,iCAAA,SAAA5uL,GAA8C,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe,GAAA7b,KAAAgwL,8BAAA9tL,GAAAlC,KAAAkgJ,gBAAA,cAA2E8vC,8BAAA,SAAA7uL,GAA2C,QAAAiH,EAAAjH,EAAA4+I,wBAAA79I,EAAA,EAAwCA,EAAAkG,EAAA+M,OAAWjT,IAAA,GAAAkG,EAAAg7H,cAAAlhI,EAAA,EAAAlC,KAAAo9H,IAAAh1H,EAAAg7H,cAAAlhI,EAAAlC,KAAAqf,IAAArf,KAAAigJ,gBAAAzvF,WAAAxwD,KAAAo9H,GAAAp9H,KAAAqf,IAAA,OAAArf,KAAAkgJ,iBAAA,QAAoJrqB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnH,MAAWtiH,EAAAyiH,GAAArS,IAAA1lI,EAAA+3I,GAAAl/I,UAAA,CAA2BgvL,sBAAA,WAAiC,OAAAjwL,KAAAogJ,QAAA0oB,aAAgCjzC,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhH,MAAWA,GAAA0I,OAAA,SAAA1nJ,EAAAiH,GAA0B,QAAAjH,EAAAkuI,sBAAAwZ,OAAAzgJ,EAAAinI,2BAAAluI,EAAA0rJ,eAAA1M,GAAA+vC,OAAA/uL,EAAAiH,GAAAmyJ,aAAgHpa,GAAA3vF,WAAA,SAAArvD,EAAAiH,GAA6B,QAAAjH,EAAAkuI,sBAAA7+E,WAAApoD,EAAAinI,yBAAAluI,EAAA0rJ,cAAAl3H,GAAA66B,WAAArvD,EAAAiH,KAAAykJ,cAAAl3H,GAAA66B,WAAApoD,EAAAjH,GAAAg/I,GAAA+vC,OAAA/uL,EAAAiH,GAAAiyJ,iBAA2Kla,GAAAgwC,QAAA,SAAAhvL,EAAAiH,GAA0B,QAAAjH,EAAAkuI,sBAAA7+E,WAAApoD,EAAAinI,wBAAA8Q,GAAA+vC,OAAA/uL,EAAAiH,GAAAyyJ,UAAA15J,EAAA64H,eAAA5xH,EAAA4xH,iBAAiImmB,GAAAiwC,OAAA,SAAAjvL,EAAAiH,GAAyB,OAAAA,EAAA8gJ,SAAA/nJ,IAAqBg/I,GAAAkwC,UAAA,SAAAlvL,EAAAiH,GAA4B,OAAA+3I,GAAA0I,OAAAzgJ,EAAAjH,IAAsBg/I,GAAA+vC,OAAA,WAAsB,OAAAtgJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAAi+I,GAAAh/I,EAAAiH,GAAAzH,EAAAuB,EAAA+tL,wBAA4E,OAAAtvL,EAAS,OAAAivC,UAAAztC,OAAA,CAAyB,oBAAAytC,UAAA,IAAAA,UAAA,aAAAxH,GAAAwH,UAAA,aAAAxH,EAAA,CAAsF,IAAA7yB,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAiD,OAAAuwG,GAAAmwC,gBAAA/6K,EAAAioB,GAAApoB,QAAAtT,GAA0C,GAAA4tG,EAAA9/D,UAAA,GAAArlB,IAAAqlB,UAAA,aAAAxH,GAAAwH,UAAA,aAAAxH,EAAA,CAA0E,IAAA9nC,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAA1tC,EAAA,IAAAi+I,GAAA7/I,EAAAc,EAAA2Q,GAAApR,EAAAuB,EAAA+tL,wBAA6F,OAAAtvL,KAAWw/I,GAAAq0B,SAAA,SAAArzK,EAAAiH,GAA2B,QAAAjH,EAAAkuI,sBAAA7+E,WAAApoD,EAAAinI,wBAAA8Q,GAAA+vC,OAAA/uL,EAAAiH,GAAA0yJ,WAAA35J,EAAA64H,eAAA5xH,EAAA4xH,iBAAkImmB,GAAAjjG,SAAA,SAAA/7C,EAAAiH,GAA2B,OAAAjH,EAAAqvD,WAAApoD,IAAuB+3I,GAAAmwC,gBAAA,SAAAnvL,EAAAiH,GAAkC,OAAAjH,EAAAqsJ,2BAAArsJ,KAAAqsJ,2BAAAplJ,GAAA+3I,GAAA+vC,OAAA/uL,EAAAiH,IAAsF+3I,GAAAowC,QAAA,SAAApvL,EAAAiH,GAA0B,QAAAjH,EAAAkuI,sBAAA7+E,WAAApoD,EAAAinI,wBAAA8Q,GAAA+vC,OAAA/uL,EAAAiH,GAAA6yJ,UAAA95J,EAAA64H,eAAA5xH,EAAA4xH,iBAAiImmB,GAAA+I,SAAA,SAAA/nJ,EAAAiH,GAA2B,QAAAjH,EAAAkuI,sBAAA6Z,SAAA9gJ,EAAAinI,yBAAAluI,EAAA0rJ,cAAA5N,GAAAiK,SAAA/nJ,EAAAiH,GAAA+3I,GAAA+vC,OAAA/uL,EAAAiH,GAAAqyJ,eAAmI,IAAA+1B,GAAAp4K,OAAA8iJ,OAAA,CAAsBu1B,SAAAtwC,KAAc/3I,EAAAi4I,GAAAp/I,UAAA,CAAgByvL,gBAAA,SAAAvvL,EAAAiH,GAA8B,UAAAjH,EAAA,YAAwB,QAAAe,EAAA,EAAYA,EAAAf,EAAA0/H,mBAAuB3+H,IAAA,CAAK,IAAAvB,EAAAQ,EAAAyrJ,aAAA1qJ,GAAwBlC,KAAAsgJ,WAAA3/I,EAAAw5G,WAAA/xG,EAAAo8C,IAAA7jD,KAAuCgwL,QAAA,WAAoB,QAAAxvL,EAAA,IAAA+oB,EAAA9hB,EAAApI,KAAAugJ,WAAA7xD,WAA6CtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAA0wL,gBAAAxuL,EAAAf,GAA0B,WAAAA,EAAAgU,OAAA,OAAAnV,KAAAs+H,YAAAt+H,KAAAs+H,YAAAgzB,yBAAA,WAAAtxJ,KAAAs+H,YAAA22B,cAAA9zJ,IAAmI00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9G,MAAWA,GAAAswC,QAAA,WAAwB,OAAA/gJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAAi4I,GAAAl/I,GAA+B,OAAAiH,EAAAuoL,UAAmB,OAAA/gJ,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAxnC,EAAA,IAAAi4I,MAAAuwC,WAAA1uL,EAAAvB,IAA+D,OAAAyH,EAAAuoL,UAAmB,OAAA/gJ,UAAAztC,OAAA,CAAyB,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAxnC,EAAA,IAAAi4I,MAAAuwC,WAAAr7K,EAAAioB,EAAA17B,IAAgF,OAAAsG,EAAAuoL,YAAoBtwC,GAAAG,eAAA,SAAAr/I,GAA+B,OAAAA,EAAAg5G,UAAA,KAAAh5G,EAAAutF,WAAA7yE,OAAAs8G,cAAyDkoB,GAAAuwC,WAAA,WAA0B,OAAAhhJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA,IAAAgoB,EAA0C,OAAAhoB,EAAAsiD,IAAArjD,GAAAe,EAAAsiD,IAAAp8C,GAAAlG,EAA2B,OAAA0tC,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAA1tC,EAAA,IAAAgoB,EAAyD,OAAAhoB,EAAAsiD,IAAA7jD,GAAAuB,EAAAsiD,IAAAjvC,GAAArT,EAAAsiD,IAAAhnB,GAAAt7B,IAAqCkG,EAAAq4I,GAAAx/I,UAAA,CAAiB4+D,MAAA,WAAiB,QAAA1+D,EAAA,IAAA2/H,GAAA14H,EAAA,IAAAmvH,GAAAr1H,EAAA,EAA8BA,EAAAlC,KAAA0gJ,UAAA7f,mBAAoC3+H,IAAA,CAAK,IAAAvB,EAAAX,KAAA0gJ,UAAAkM,aAAA1qJ,GAAAqT,EAAA5U,EAAAyiI,gBAAA5lG,EAAAr8B,EAAAw+J,OAAApqJ,EAAAvV,KAAA2gJ,WAAsFnjH,IAAA8e,EAAAohF,UAAAt1H,EAAAo8C,IAAAjvC,GAAyB,OAAAnN,EAAA+M,OAAA,OAAAnV,KAAA2gJ,UAAsC,IAAA7+I,EAAA,KAAAxB,EAAAi2H,EAAAgyB,kBAAAngJ,GAAoC,OAAAtG,EAAA,IAAAxB,EAAA6B,OAAAnC,KAAA+3H,SAAA85B,YAAAvxJ,EAAA,IAAAN,KAAA+3H,SAAA+5B,2BAAAxxJ,GAAA+/I,GAAAswC,QAAA7uL,EAAA9B,KAAA2gJ,YAA+H9qB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1G,MAAWA,GAAA5gF,MAAA,SAAA1+D,EAAAiH,GAAyB,IAAAlG,EAAA,IAAAu+I,GAAAt/I,EAAAiH,GAAkB,OAAAlG,EAAA29D,SAAiBz3D,EAAA8kC,GAAAjsC,UAAA,CAAiBS,OAAA,SAAAP,IAAmB,IAAAnB,KAAA4gJ,WAAAz/I,EAAAurJ,iBAAA1sJ,KAAA4gJ,WAAA5gJ,KAAAo6I,MAAA51F,IAAArjD,IAA0E00H,YAAA,WAAwB,OAAA4B,KAAW0vB,SAAA,WAAqB,OAAAj6G,MAAWA,GAAAqc,QAAA,WAAwB,OAAA3Z,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAkC,OAAA1C,GAAAqc,QAAApoD,EAAAiH,EAAA,IAAA8hB,GAA6B,OAAA0lB,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAiD,OAAA1tC,EAAAwqJ,iBAAA/rJ,EAAA4U,EAAAivC,IAAAtiD,gBAAAy1H,IAAAz1H,EAAAK,MAAA,IAAA2qC,GAAAvsC,EAAA4U,QAA8EnN,EAAAy4I,GAAA5/I,UAAA,CAAiB4vL,mBAAA,SAAA1vL,GAA+B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA,KAAsBm6F,EAAA/uG,EAAAyO,GAAAmG,EAAAvV,KAAA8wL,UAAAnwL,gBAAAynC,IAAA7yB,EAAA5U,GAAAyH,EAAAo8C,IAAAjvC,GAA0D,OAAAnN,GAAS2oL,kBAAA,SAAA5vL,EAAAiH,EAAAlG,GAAmC,QAAAvB,EAAA,IAAAupB,EAAA3U,EAAA,EAAoBA,EAAAnN,EAAAy4H,mBAAuBtrH,IAAA,CAAK,IAAAioB,EAAAp1B,EAAAwkJ,aAAAr3I,GAAwBioB,EAAA6xG,sBAAA7+E,WAAArvD,GAAAR,EAAA6jD,IAAAhnB,GAAAt7B,EAAAsiD,IAAAhnB,GAAwD,OAAAx9B,KAAAs+H,YAAA22B,cAAAt0J,IAAyCqwL,eAAA,SAAA7vL,EAAAiH,GAA8B,IAAAlG,EAAAf,EAAAkuI,sBAAA1uI,EAAAyH,EAAAinI,sBAAwD,IAAAntI,EAAAsuD,WAAA7vD,GAAA,CAAqB,IAAA4U,EAAA8qI,GAAAswC,QAAAxvL,EAAAiH,GAAsB,OAAAmN,EAAS,GAAApU,EAAA0/H,oBAAA,GAAAz4H,EAAAy4H,oBAAA,SAAA7gI,KAAAixL,YAAA9vL,EAAAiH,GAAiF,IAAAo1B,EAAAt7B,EAAAg4G,aAAAv5G,GAAwB,OAAAX,KAAAkxL,+BAAA/vL,EAAAiH,EAAAo1B,IAAkDqiC,MAAA,WAAkB,UAAA7/D,KAAA8gJ,WAAA,UAAA2K,sBAAA,yCAAmG,GAAAzrJ,KAAA8gJ,WAAA3mC,UAAA,YAAyCn6G,KAAAs+H,YAAAt+H,KAAA8gJ,WAAApyD,WAAA7yE,OAAAs8G,aAAgE,QAAAh3H,EAAA,IAAAyhI,GAAAie,GAAAswC,uBAAA/oL,EAAApI,KAAA8gJ,WAAApyD,WAAwEtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe1a,EAAAgC,OAAAjB,EAAAmtI,sBAAAntI,GAAoClC,KAAA8gJ,WAAA,KAAqB,IAAAngJ,EAAAQ,EAAAqgK,YAAAjsJ,EAAAvV,KAAA8wL,UAAAnwL,GAAwC,OAAA4U,GAAS67K,YAAA,WAAwB,OAAAxhJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAoxL,YAAAjwL,EAAA,EAAAA,EAAAgU,QAAsC,OAAAy6B,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAiD,GAAAjvC,EAAAuB,GAAA,GAAW,IAAAqT,EAAAsrI,GAAAlsH,YAAAvsB,EAAAlG,GAA0B,OAAAlC,KAAAqxL,UAAA97K,EAAA,MAA8B,GAAA5U,EAAAuB,IAAA,SAAAlC,KAAAqxL,UAAAxwC,GAAAlsH,YAAAvsB,EAAAlG,GAAA2+I,GAAAlsH,YAAAvsB,EAAAlG,EAAA,IAA4E,IAAAs7B,EAAAz5B,KAAAmjJ,OAAAvmJ,EAAAuB,GAAA,GAAAJ,GAAAyT,EAAAvV,KAAAoxL,YAAAhpL,EAAAlG,EAAAs7B,GAAAx9B,KAAAoxL,YAAAhpL,EAAAo1B,EAAA78B,IAA8E,OAAAX,KAAAqxL,UAAA97K,EAAAzT,KAA4BwvL,cAAA,SAAAnwL,GAA2B,QAAAiH,EAAA,KAAAlG,EAAAf,EAAAutF,WAA8BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAezT,EAAA,OAAAA,EAAAzH,EAAAsnH,OAAA7/G,EAAAy3D,MAAAl/D,GAA+B,OAAAyH,GAASipL,UAAA,SAAAlwL,EAAAiH,GAAyB,cAAAjH,GAAA,OAAAiH,EAAA,YAAAjH,EAAAiH,EAAA6/G,OAAA,OAAA7/G,EAAAjH,EAAA8mH,OAAAjoH,KAAAgxL,eAAA7vL,EAAAiH,IAA4F6oL,YAAA,SAAA9vL,EAAAiH,GAA2B,OAAAy4I,GAAA0wC,mBAAApwL,EAAA0+D,MAAAz3D,KAAyC0oL,UAAA,SAAA3vL,GAAuB,IAAAiH,EAAApI,KAAA6wL,mBAAA1vL,GAAAe,EAAAlC,KAAAoxL,YAAAhpL,GAAuD,OAAAlG,GAASgvL,+BAAA,SAAA/vL,EAAAiH,EAAAlG,GAAgD,IAAAvB,EAAA,IAAAupB,EAAA3U,EAAAvV,KAAA+wL,kBAAA7uL,EAAAf,EAAAR,GAAA68B,EAAAx9B,KAAA+wL,kBAAA7uL,EAAAkG,EAAAzH,GAAAmB,EAAA9B,KAAAixL,YAAA17K,EAAAioB,GAAoG78B,EAAA6jD,IAAA1iD,GAAS,IAAAxB,EAAA+/I,GAAAswC,QAAAhwL,GAAoB,OAAAL,GAASkxL,YAAA,WAAwB,OAAA5hJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAmX,IAAA,GAAA6/G,aAAAj2H,EAAAkG,EAAA6sJ,cAAA9zJ,GAAAR,EAAAuB,EAAAg9B,OAAA,GAA8E,OAAAv+B,EAAS,OAAAivC,UAAAztC,OAAA,CAAyB,IAAAoT,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAAxnC,EAAAmN,EAAA4iH,aAAAj2H,EAAAkG,EAAAkpJ,yBAAA,CAAA/7I,EAAAioB,IAAA78B,EAAAuB,EAAAg9B,OAAA,GAAqG,OAAAv+B,IAAUk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAtG,MAAWA,GAAA0wC,mBAAA,SAAApwL,GAAoC,GAAAuuG,EAAAvuG,EAAA43H,IAAA,OAAA53H,EAAoB,IAAAiH,EAAA+xI,GAAAgyB,YAAAhrK,GAAwB,WAAAiH,EAAA+M,OAAA/M,EAAAkQ,IAAA,GAAAnX,EAAAg3H,aAAAs7B,mBAAAp6B,GAAA87B,eAAA/sJ,KAAqFy4I,GAAAlsH,YAAA,SAAAxzB,EAAAiH,GAA8B,OAAAA,GAAAjH,EAAAgU,OAAA,KAAAhU,EAAAmX,IAAAlQ,IAAiCy4I,GAAAhhF,MAAA,SAAA1+D,GAAsB,IAAAiH,EAAA,IAAAy4I,GAAA1/I,GAAgB,OAAAiH,EAAAy3D,SAAiBghF,GAAAswC,sBAAA,EAAA/oL,EAAA24I,GAAA9/I,UAAA,CAA4CwwL,WAAA,SAAAtwL,GAAuB,IAAAiH,EAAApI,KAAA+3H,SAAA85B,cAAkC,OAAA1sB,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA4kC,QAAkCqe,cAAA,SAAAvwL,EAAAiH,GAA6B,cAAAjH,GAAA,OAAAiH,EAAA,YAAAA,EAAAjH,EAAA,OAAAA,EAAAiH,EAAAjH,EAAA0+D,MAAAz3D,IAAgEmhD,QAAA,WAAoB,GAAAmmD,EAAA9/D,UAAA,GAAA9sC,GAAA,QAAA3B,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAutF,WAA2DtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAupD,QAAArnD,QAAgB,GAAA0tC,UAAA,aAAAxH,EAAA,CAAkC,IAAAznC,EAAAivC,UAAA,GAAmB,OAAA5vC,KAAA+3H,WAAA/3H,KAAA+3H,SAAAp3H,EAAAw3H,cAAAjrF,GAAAqc,QAAA5oD,EAAAynC,EAAA+lH,kBAAAnuJ,KAAAstD,UAAApgB,GAAAqc,QAAA5oD,EAAAynC,EAAA6lH,qBAAAjuJ,KAAAgmD,OAAA9Y,GAAAqc,QAAA5oD,EAAAynC,EAAA4lH,gBAAAhuJ,KAAAgC,UAAkM69D,MAAA,WAAoB,UAAA7/D,KAAA+3H,SAAA,YAAoC,IAAA3vH,EAAA,KAAW,GAAApI,KAAAgC,OAAAmT,OAAA,GAAyB,IAAAjT,EAAAlC,KAAA+3H,SAAAk9B,cAAAj1J,KAAAgC,QAA+CoG,EAAApI,KAAAyxL,WAAAvvL,GAAqB,IAAAvB,EAAA,KAAW,GAAAX,KAAAgmD,MAAA7wC,OAAA,GAAwB,IAAAI,EAAAvV,KAAA+3H,SAAAk9B,cAAAj1J,KAAAgmD,OAA8CrlD,EAAAX,KAAAyxL,WAAAl8K,GAAqB,IAAAioB,EAAA,KAAWx9B,KAAAstD,SAAAn4C,OAAA,IAAAqoB,EAAAqjH,GAAAhhF,MAAA7/D,KAAAstD,WAAoD,IAAAxrD,EAAA9B,KAAA0xL,cAAA/wL,EAAA68B,GAAAr8B,EAAA,KAAqC,OAAAA,EAAA,OAAAiH,EAAAtG,EAAA,OAAAA,EAAAsG,EAAAq4I,GAAA5gF,MAAAz3D,EAAAtG,GAAA,OAAAX,EAAAnB,KAAA+3H,SAAAu5B,2BAAAnwJ,GAAiG00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAApG,MAAWA,GAAAlhF,MAAA,WAAsB,OAAAjwB,UAAAztC,OAAA,CAAyB,GAAAutG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAAsB,IAAA3B,EAAAyuC,UAAA,GAAAxnC,EAAA,IAAA24I,GAAA5/I,GAA+B,OAAAiH,EAAAy3D,QAAiB,GAAAjwB,UAAA,aAAAxH,EAAA,CAA6B,IAAAlmC,EAAA0tC,UAAA,GAAAxnC,EAAA,IAAA24I,GAAA7+I,GAA+B,OAAAkG,EAAAy3D,cAAkB,OAAAjwB,UAAAztC,OAAA,CAA8B,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAAxnC,EAAA,IAAA24I,GAAApgJ,EAAA4U,GAAgD,OAAAnN,EAAAy3D,UAAmB,IAAA8xH,GAAAv5K,OAAA8iJ,OAAA,CAAsB02B,aAAA7wC,KAAgB8wC,GAAAz5K,OAAA8iJ,OAAA,CAAoB42B,UAAAv0C,GAAAw0C,qBAAA/0C,KAAqCg1C,GAAA55K,OAAA8iJ,OAAA,CAAoB+2B,WAAAn6D,GAAAo6D,WAAAl+C,GAAA90G,OAAAwmJ,GAAAhyK,SAAA+yK,GAAA0L,UAAAvJ,GAAAp6H,QAAAs6H,GAAAqF,WAAAa,GAAAkB,OAAAM,GAAA3wH,MAAA8xH,GAAA99I,MAAAg+I,KAAsHn0J,EAAAsjH,GAAA9uH,GAAA+uH,qBAAA74I,EAAA44I,GAAA//I,UAAA,CAA6CizJ,gBAAA,SAAA/yJ,EAAAiH,GAA8B,OAAAjH,EAAAgB,OAAA,YAA4B,QAAAD,EAAA,IAAAL,MAAAV,EAAAgB,QAAAyhC,KAAA,MAAAjjC,EAAA,EAA6CA,EAAAQ,EAAAgB,OAAWxB,IAAA,CAAK,IAAA4U,EAAA,IAAAzD,EAAA3Q,EAAAR,IAAkBX,KAAAkhJ,SAAA2T,YAAAt/I,GAAArT,EAAAvB,GAAA4U,EAAoC,IAAAioB,EAAA,IAAAzS,EAAA7oB,GAAA,GAAAJ,EAAA07B,EAAA+qH,oBAAAjoJ,EAAA,EAAgD8H,aAAAwwH,KAAAt4H,EAAA,GAAA8H,aAAAgxH,KAAA94H,EAAA,GAA8C,IAAAc,EAAAc,EAAQ,OAAAlC,KAAAmhJ,kBAAA//I,EAAA,MAAAU,EAAAK,OAAA7B,EAAAc,EAAAU,GAAqD+zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnG,MAAW54I,EAAAg5I,GAAAngJ,UAAA,CAAkBmxL,qBAAA,SAAAjxL,GAAiC,IAAAiH,EAAAjH,EAAQnB,KAAAqhJ,uBAAAj5I,EAAApI,KAAAqyL,SAAAlxL,EAAAnB,KAAAkhJ,WAA8D,IAAAh/I,EAAAkG,EAAA82B,OAAA,GAAAv+B,EAAAuB,EAAsB,OAAAlC,KAAAqhJ,uBAAA1gJ,EAAAX,KAAAqyL,SAAAnwL,EAAAf,EAAA+sI,sBAAAvtI,GAA+E2xL,gBAAA,SAAAnxL,GAA6B,IAAAiH,EAAA,KAAW,GAAApI,KAAAqhJ,qBAAA,CAA8B,IAAAn/I,EAAAlC,KAAAuyL,cAAApxL,EAAAg3H,aAAAn4H,KAAAkhJ,UAAuD94I,EAAA,IAAA8pB,GAAAhwB,QAAYkG,EAAA,IAAA8pB,GAAc,IAAAvxB,EAAAX,KAAAmhJ,gBAA2BhgJ,EAAA64H,gBAAA,IAAAr5H,GAAA,GAA4B,IAAA4U,EAAAnN,EAAAurJ,KAAAxyJ,EAAA,IAAA6/I,GAAAhhJ,KAAAkhJ,SAAAvgJ,IAAwC,OAAA4U,GAAS88K,SAAA,SAAAlxL,EAAAiH,GAAwB,IAAAlG,EAAAlC,KAAAwyL,aAAArxL,EAAAg3H,aAAA/vH,GAA0C,OAAAlG,EAAAyxJ,KAAAxyJ,EAAA,IAAA+wB,GAAAiiI,wBAA8Cs+B,6BAAA,SAAAtxL,GAA0CnB,KAAAmhJ,gBAAAhgJ,GAAuBoxL,cAAA,SAAApxL,EAAAiH,GAA6B,IAAAlG,EAAA,IAAAm3H,GAAAjxH,EAAAjH,EAAAi1H,UAAAj1H,EAAAm4H,gCAA6D,OAAAp3H,GAASwwL,wBAAA,SAAAvxL,GAAqCnB,KAAAqhJ,qBAAAlgJ,GAA4B2yB,OAAA,SAAA3yB,GAAoB,IAAAiH,EAAApI,KAAAsyL,gBAAAnxL,GAA8B,OAAAnB,KAAAshJ,YAAAl5I,EAAAsnG,EAAAtnG,EAAA2wH,IAAA3wH,EAAAk8D,UAAAl8D,EAAApI,KAAAoyL,qBAAAhqL,MAA+EuqL,aAAA,SAAAxxL,GAA0BnB,KAAAshJ,YAAAngJ,GAAmBqxL,aAAA,SAAArxL,EAAAiH,GAA4B,GAAAjH,EAAA+sI,sBAAA9lI,EAAA,WAAA8pB,GAA2C,IAAAhwB,EAAAlC,KAAAuyL,cAAApxL,EAAAiH,GAAAzH,EAAA,IAAAuxB,GAAAhwB,GAA0C,OAAAvB,GAASk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/F,MAAWA,GAAAttH,OAAA,SAAA3yB,EAAAiH,GAA0B,IAAAlG,EAAA,IAAAk/I,GAAAh5I,GAAgB,OAAAlG,EAAA4xB,OAAA3yB,IAAmBigJ,GAAAkxC,gBAAA,SAAAnxL,EAAAiH,GAAkC,IAAAlG,EAAA,IAAAk/I,GAAAh5I,GAAgB,OAAAlG,EAAAywL,cAAA,GAAAzwL,EAAA4xB,OAAA3yB,IAAuC,IAAAyxL,GAAAx6K,OAAA8iJ,OAAA,CAAsB23B,yBAAAzxC,KAA8Bh5I,EAAAm5I,GAAAtgJ,UAAA,CAAgB6xL,gBAAA,SAAA3xL,EAAAiH,GAA8B,GAAAjH,EAAA,IAAAiH,EAAA,YAAuBpI,KAAAo/H,IAAAhC,GAAAp9H,KAAAshI,IAAAngI,GAAAnB,KAAAo/H,IAAA//G,GAAArf,KAAAshI,IAAAl5H,GAAgD,QAAAlG,GAAA,EAAAvB,EAAAQ,EAAAoU,EAAApU,EAAA,EAAuBoU,EAAAnN,EAAImN,IAAA,CAAK,IAAAioB,EAAAx9B,KAAAo/H,IAAA1rH,SAAA1T,KAAAshI,IAAA/rH,IAAqCioB,EAAAt7B,MAAAs7B,EAAA78B,EAAA4U,GAAe,GAAArT,GAAAlC,KAAA6xI,kBAAA,IAAAt8H,EAAApU,EAAA,EAA2CoU,EAAAnN,EAAImN,IAAAvV,KAAAwhJ,MAAAjsI,IAAA,OAAqBvV,KAAA8yL,gBAAA3xL,EAAAR,GAAAX,KAAA8yL,gBAAAnyL,EAAAyH,IAAyDwwK,qBAAA,SAAAz3K,GAAkCnB,KAAA6xI,kBAAA1wI,GAAyB8xD,SAAA,WAAqBjzD,KAAAwhJ,MAAA,IAAA3/I,MAAA7B,KAAAshI,IAAAn/H,QAAAyhC,KAAA,MAAiD,QAAAziC,EAAA,EAAYA,EAAAnB,KAAAshI,IAAAn/H,OAAkBhB,IAAAnB,KAAAwhJ,MAAArgJ,IAAA,EAAqBnB,KAAA8yL,gBAAA,EAAA9yL,KAAAshI,IAAAn/H,OAAA,GAA0C,IAAAiG,EAAA,IAAA2iB,EAAA,IAAA5pB,EAAA,EAAoBA,EAAAnB,KAAAshI,IAAAn/H,OAAkBhB,IAAAnB,KAAAwhJ,MAAArgJ,IAAAiH,EAAAo8C,IAAA,IAAA1yC,EAAA9R,KAAAshI,IAAAngI,KAA6C,OAAAiH,EAAAmgJ,qBAA6B1yB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5F,MAAWA,GAAAtuF,SAAA,SAAA9xD,EAAAiH,GAA4B,IAAAlG,EAAA,IAAAq/I,GAAApgJ,GAAgB,OAAAe,EAAA02K,qBAAAxwK,GAAAlG,EAAA+wD,YAA8C7qD,EAAAq5I,GAAAxgJ,UAAA,CAAiB8xL,eAAA,SAAA5xL,GAA2BnB,KAAA0hJ,sBAAAvgJ,GAA6BqxK,kBAAA,WAA8B,OAAAxyK,KAAA4+H,UAAAzkB,UAAAn6G,KAAA4+H,UAAA3W,OAAA,IAAAriF,GAAA5lC,KAAA0hJ,sBAAA1hJ,KAAA6xI,mBAAA1mF,UAAAnrD,KAAA4+H,YAA0Ig6C,qBAAA,SAAAz3K,GAAkC,GAAAA,EAAA,YAAAR,EAAA,kCAAqDX,KAAA6xI,kBAAA1wI,GAAyB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1F,MAAWA,GAAAxuF,SAAA,SAAA9xD,EAAAiH,GAA4B,IAAAlG,EAAA,IAAAu/I,GAAAtgJ,GAAgB,OAAAe,EAAA02K,qBAAAxwK,GAAAlG,EAAAswK,qBAAuD90I,EAAAkI,GAAA+4F,IAAAv2H,EAAAw9B,GAAA3kC,UAAA,CAA0Bm8J,iBAAA,SAAAj8J,EAAAiH,GAA+B,GAAAjH,EAAAg5G,UAAA,YAA2B,IAAAj4G,EAAAy8H,GAAA19H,UAAAm8J,iBAAApsJ,KAAAhR,KAAAmB,EAAAiH,GAAmD,OAAAA,aAAAoxH,GAAAt3H,EAAAlC,KAAA+4K,gBAAA72K,IAAiD62K,gBAAA,SAAA53K,GAA6B,OAAAnB,KAAA0hJ,sBAAAvgJ,EAAA+9B,OAAA,GAAA/9B,GAAgDg8J,qBAAA,SAAAh8J,EAAAiH,GAAoC,IAAAlG,EAAAf,EAAAonJ,oBAAA5nJ,EAAA,KAAmC,OAAAA,EAAA,IAAAuB,EAAAC,OAAA,IAAAN,MAAA,GAAA+hC,KAAA,MAAA29G,GAAAtuF,SAAA/wD,EAAAlC,KAAA6xI,mBAAA7xI,KAAA+5B,QAAAu/F,+BAAA11G,OAAAjjB,IAA0Ig9J,sBAAA,SAAAx8J,EAAAiH,GAAqC,IAAAlG,EAAAy8H,GAAA19H,UAAA08J,sBAAA3sJ,KAAAhR,KAAAmB,EAAAiH,GAAwD,OAAApI,KAAA+4K,gBAAA72K,IAA+Bm7J,oBAAA,SAAAl8J,EAAAiH,GAAmC,IAAAlG,EAAAkG,aAAA4wH,GAAAr4H,EAAAg+H,GAAA19H,UAAAo8J,oBAAArsJ,KAAAhR,KAAAmB,EAAAiH,GAAwE,OAAAlG,GAAAvB,aAAAy4H,GAAAz4H,EAAA,MAAiCk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvhH,MAAW67G,GAAAuxC,cAAAptJ,GAAAlI,EAAAikH,GAAAxkB,IAAA/0H,EAAAu5I,GAAA1gJ,UAAA,CAA+CikK,SAAA,WAAoB,OAAAllK,KAAAI,OAAkB6yL,UAAA,WAAsB,OAAAjzL,KAAA+2H,QAAmBlB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxF,MAAWv5I,EAAAw5I,GAAA3gJ,UAAA,CAAkBiyL,YAAA,SAAA/xL,GAAwBnB,KAAA+hJ,WAAAv9F,IAAArjD,IAAuBgyL,aAAA,WAAyB,OAAAnzL,KAAA6hJ,WAAA1pB,aAAAg7B,iBAAAvR,GAAApjB,mBAAAx+H,KAAA+hJ,cAA6FqxC,cAAA,WAA0B,IAAAjyL,EAAAnB,KAAA+hJ,WAAA5sI,OAA6B,WAAAhU,EAAA,EAAAA,EAAA,GAAmB8xL,UAAA,WAAsB,OAAAjzL,KAAA6hJ,YAAuBwxC,WAAA,SAAAlyL,GAAwB,OAAAnB,KAAA8hJ,KAAA3gJ,IAAoBmyL,qBAAA,WAAiC,OAAAtzL,KAAA6hJ,WAAAjtH,kBAAwC2+J,eAAA,WAA2B,OAAAvzL,KAAAgiJ,aAAwBwxC,aAAA,WAAyB,OAAAxzL,KAAA6hJ,WAAA1pB,aAAAc,iBAAA2oB,GAAApjB,mBAAAx+H,KAAA+hJ,cAA6F0xC,YAAA,WAAwB,OAAAzzL,KAAA8hJ,MAAiBvzF,KAAA,WAAiB,IAAAptD,EAAAnB,KAAA6hJ,WAAAjtH,iBAAuC50B,KAAA8hJ,KAAA,IAAAjgJ,MAAAV,EAAAgB,OAAA,GAAAyhC,KAAA,MAA2C,QAAAx7B,EAAA,EAAYA,EAAAjH,EAAAgB,OAAA,EAAaiG,IAAA,CAAK,IAAAlG,EAAA,IAAAy/I,GAAAxgJ,EAAAiH,GAAAjH,EAAAiH,EAAA,GAAApI,KAAA6hJ,WAAAz5I,GAA4CpI,KAAA8hJ,KAAA15I,GAAAlG,IAAgBwxL,qBAAA,WAAiC,OAAA9xC,GAAApjB,mBAAAx+H,KAAA+hJ,aAA8ClsB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvF,MAAWA,GAAApjB,mBAAA,SAAAr9H,GAAoC,QAAAiH,EAAA,IAAAvG,MAAAV,EAAAgU,OAAA,GAAAyuB,KAAA,MAAA1hC,EAAA,KAAAvB,EAAA,EAAsDA,EAAAQ,EAAAgU,OAAWxU,IAAAuB,EAAAf,EAAAmX,IAAA3X,GAAAyH,EAAAzH,GAAAuB,EAAAk7H,GAAyB,OAAAh1H,IAAAjG,OAAA,GAAAD,EAAAmd,GAAAjX,GAA4BA,EAAA41B,GAAA/8B,UAAA,CAAiBw3G,OAAA,SAAAt3G,GAAmBnB,KAAAI,MAAAq4G,OAAA,IAAApwE,EAAAlnC,EAAAi8H,GAAAj8H,EAAAke,IAAAle,IAAsCqjD,IAAA,WAAgB,GAAA5U,UAAA,aAAAgyG,GAAA,QAAAzgJ,EAAAyuC,UAAA,GAAAxnC,EAAAjH,EAAAsyL,cAAAvxL,EAAA,EAA0EA,EAAAkG,EAAAjG,OAAWD,IAAA,CAAK,IAAAvB,EAAAyH,EAAAlG,GAAWlC,KAAAwkD,IAAA7jD,QAAY,GAAAivC,UAAA,aAAAutF,GAAA,CAAmC,IAAA5nH,EAAAq6B,UAAA,GAAmB5vC,KAAAI,MAAA+C,OAAA,IAAAklC,EAAA9yB,EAAA6nH,GAAA7nH,EAAA8J,IAAA9J,KAAuCgrJ,MAAA,SAAAp/J,GAAmB,IAAAiH,EAAA,IAAAigC,EAAAlnC,EAAAi8H,GAAAj8H,EAAAke,IAAAnd,EAAA,IAAA+/I,GAAA9gJ,GAAmCnB,KAAAI,MAAAmgK,MAAAn4J,EAAAlG,GAAsB,IAAAvB,EAAAuB,EAAA8tK,WAAmB,OAAArvK,GAASk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnpH,MAAW51B,EAAA65I,GAAAhhJ,UAAA,CAAkBq/J,UAAA,SAAAn/J,GAAsB,IAAAiH,EAAAjH,EAAQknC,EAAAmoB,WAAApoD,EAAAg1H,GAAAh1H,EAAAiX,GAAArf,KAAAkiJ,SAAA9kB,GAAAp9H,KAAAkiJ,SAAA7iI,KAAArf,KAAAqjE,MAAA7e,IAAArjD,IAA6E6uK,SAAA,WAAqB,OAAAhwK,KAAAqjE,OAAkBwyD,YAAA,WAAwB,OAAA6L,KAAWylB,SAAA,WAAqB,OAAAlF,MAAW75I,EAAA+5I,GAAAlhJ,UAAA,CAAkBw+C,QAAA,SAAAt+C,EAAAiH,GAAsB,IAAAlG,EAAAlC,KAAAsiJ,QAAAnhJ,GAAAR,EAAAX,KAAAsiJ,QAAAl6I,GAAAmN,EAAA,IAAA4nH,GAAAj7H,EAAAvB,GAAsD,OAAAX,KAAAy4G,OAAAz4G,KAAA6O,KAAA1N,EAAAiH,GAAApI,KAAAqiJ,YAAA79F,IAAAjvC,MAA4Do+K,mBAAA,SAAAxyL,EAAAiH,EAAAlG,GAAoC,QAAAlC,KAAA4zL,yBAAA1xL,MAAAlC,KAAA6zL,wBAAA1yL,EAAAiH,EAAAlG,IAAgF02K,qBAAA,SAAAz3K,GAAkCnB,KAAA6xI,kBAAA1wI,GAAyB2xL,gBAAA,SAAA3xL,EAAAiH,EAAAlG,GAAiCA,GAAA,EAAK,IAAAvB,EAAA,IAAAkB,MAAA,GAAA+hC,KAAA,MAA8B,GAAAziC,EAAA,IAAAiH,EAAA,CAAY,IAAAmN,EAAAvV,KAAA6O,KAAAwkL,WAAAlyL,GAA8B,OAAAnB,KAAA6O,KAAAqkL,YAAA39K,GAAA,KAAqC,IAAAioB,GAAA,EAAS,GAAAx9B,KAAA6O,KAAAukL,gBAAApzL,KAAA6O,KAAA0kL,iBAAA,CAAyD,IAAAzxL,EAAAI,EAAA,EAAUJ,EAAA9B,KAAA6O,KAAA0kL,mBAAA/1J,GAAA,GAAqC,IAAAl9B,EAAA,IAAAuB,MAAA,GAAA+hC,KAAA,MAAAxiC,EAAApB,KAAA8zL,kBAAA9zL,KAAAsiJ,QAAAnhJ,EAAAiH,EAAA9H,GAA2EA,EAAA,GAAAN,KAAA6xI,oBAAAr0G,GAAA,GAAoC,IAAAzrB,EAAA,IAAAorH,GAAa,GAAAprH,EAAAqrH,GAAAp9H,KAAAsiJ,QAAAnhJ,GAAA4Q,EAAAsN,GAAArf,KAAAsiJ,QAAAl6I,GAAAzH,EAAA,GAAAQ,EAAAR,EAAA,GAAAyH,EAAApI,KAAA2zL,mBAAA3zL,KAAA6O,KAAAlO,EAAAoR,KAAAyrB,GAAA,GAAAA,EAAA,CAA6GjoB,EAAAvV,KAAAy/C,QAAAt+C,EAAAiH,GAAwB,OAAApI,KAAA6O,KAAAqkL,YAAA39K,GAAA,KAAqCvV,KAAA8yL,gBAAA3xL,EAAAC,EAAAc,GAAAlC,KAAA8yL,gBAAA1xL,EAAAgH,EAAAlG,IAAwD0xL,yBAAA,SAAAzyL,GAAsC,QAAAiH,EAAApI,KAAAqiJ,YAAAke,MAAAp/J,GAAAe,EAAAkG,EAAAsmF,WAAmDxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe,GAAA7b,KAAAujL,wBAAA5iL,EAAAQ,GAAA,SAA8C,UAAS2yL,kBAAA,SAAA3yL,EAAAiH,EAAAlG,EAAAvB,GAAqC,IAAA4U,EAAA,IAAA4nH,GAAa5nH,EAAA6nH,GAAAj8H,EAAAiH,GAAAmN,EAAA8J,GAAAle,EAAAe,GAAoB,QAAAs7B,GAAA,EAAA17B,EAAAsG,EAAA9H,EAAA8H,EAAA,EAAuB9H,EAAA4B,EAAI5B,IAAA,CAAK,IAAAc,EAAAD,EAAAb,GAAAyR,EAAAwD,EAAA7B,SAAAtS,GAA2B2Q,EAAAyrB,MAAAzrB,EAAAjQ,EAAAxB,GAAe,OAAAK,EAAA,GAAA68B,EAAA17B,GAAgBmxD,SAAA,SAAA9xD,GAAsBnB,KAAA6O,KAAA1N,EAAAnB,KAAAsiJ,QAAAnhJ,EAAAmyL,uBAAAtzL,KAAA8yL,gBAAA,EAAA9yL,KAAAsiJ,QAAAngJ,OAAA,MAAkGs2G,OAAA,SAAAt3G,EAAAiH,EAAAlG,GAAwB,QAAAvB,EAAAyH,EAAYzH,EAAAuB,EAAIvB,IAAA,CAAK,IAAA4U,EAAApU,EAAAkyL,WAAA1yL,GAAsBX,KAAAoiJ,WAAA3pC,OAAAljG,KAA2BguK,wBAAA,SAAApiL,EAAAiH,GAAuC,OAAApI,KAAAwlI,GAAAuxB,oBAAA51J,EAAAi8H,GAAAj8H,EAAAke,GAAAjX,EAAAg1H,GAAAh1H,EAAAiX,IAAArf,KAAAwlI,GAAA4xB,0BAAyFy8B,wBAAA,SAAA1yL,EAAAiH,EAAAlG,GAAyC,QAAAvB,EAAAX,KAAAoiJ,WAAAme,MAAAr+J,GAAAqT,EAAA5U,EAAA+tF,WAAkDn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe,GAAA7b,KAAAujL,wBAAA/lJ,EAAAt7B,GAAA,CAAsC,GAAAigJ,GAAA4xC,gBAAA5yL,EAAAiH,EAAAo1B,GAAA,SAAsC,UAAU,UAASq4F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhF,MAAWA,GAAA4xC,gBAAA,SAAA5yL,EAAAiH,EAAAlG,GAAqC,GAAAA,EAAA+wL,cAAA9xL,EAAA8xL,YAAA,SAA0C,IAAAtyL,EAAAuB,EAAAgjK,WAAmB,OAAAvkK,GAAAyH,EAAA,IAAAzH,EAAAyH,EAAA,IAAuBA,EAAAm6I,GAAAthJ,UAAA,CAAiB23K,qBAAA,SAAAz3K,GAAiCnB,KAAA6xI,kBAAA1wI,GAAyB8xD,SAAA,SAAA9xD,GAAsB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAYnoJ,KAAAoiJ,WAAA59F,IAAAp8C,EAAAyT,QAA+B,IAAAzT,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAA,IAAAigJ,GAAAniJ,KAAAoiJ,WAAApiJ,KAAAqiJ,aAA+CngJ,EAAA02K,qBAAA54K,KAAA6xI,mBAAA3vI,EAAA+wD,SAAA7qD,EAAAyT,UAAqEg6G,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5E,MAAWn6I,EAAAo6I,GAAAvhJ,UAAA,CAAkBuxK,kBAAA,WAA6B,GAAAxyK,KAAA4+H,UAAAzkB,UAAA,OAAAn6G,KAAA4+H,UAAA3W,OAAyDjoH,KAAA0iJ,cAAA,IAAAlnB,GAAAx7H,KAAA4+H,UAAAr8H,MAAA,IAAAqgJ,GAAA5iJ,YAAAyiJ,eAAAxvF,SAAAjzD,KAAA0iJ,cAAAl7H,UAAuH,IAAArmB,EAAA,IAAAwhJ,GAAA3iJ,KAAA0iJ,eAAAv3F,UAAAnrD,KAAA4+H,WAA2D,OAAAz9H,GAASy3K,qBAAA,SAAAz3K,GAAkC,GAAAA,EAAA,YAAAR,EAAA,kCAAqDX,KAAAyiJ,eAAAm2B,qBAAAz3K,IAA4C00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3E,MAAWA,GAAAvvF,SAAA,SAAA9xD,EAAAiH,GAA4B,IAAAlG,EAAA,IAAAsgJ,GAAArhJ,GAAgB,OAAAe,EAAA02K,qBAAAxwK,GAAAlG,EAAAswK,qBAAuD90I,EAAAilH,GAAAhkB,IAAAv2H,EAAAu6I,GAAA1hJ,UAAA,CAA0Bk8J,qBAAA,SAAAh8J,EAAAiH,GAAmC,OAAAjH,EAAAgU,OAAA,YAA4B,GAAA/M,aAAAwwH,GAAA,CAAoB,IAAA12H,EAAAlC,KAAA0iJ,cAAApqI,IAAAlQ,GAAgC,OAAApI,KAAAs9J,yBAAAp7J,EAAAwxL,wBAA+D,OAAA/0D,GAAA19H,UAAAk8J,qBAAAnsJ,KAAAhR,KAAAmB,EAAAiH,IAAwDytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxE,MAAWv6I,EAAAw6I,GAAA3hJ,UAAA,CAAkBS,OAAA,SAAAP,GAAmB,GAAAA,aAAAy3H,GAAA,CAAoB,IAAAxwH,EAAAjH,EAAQ,GAAAiH,EAAA+xG,UAAA,YAA2B,IAAAj4G,EAAAkG,EAAAm3H,WAAA,IAAA5+H,EAAA,IAAAihJ,GAAAx5I,EAAAlG,GAAqClC,KAAA6iJ,IAAAH,cAAA1mB,IAAA5zH,EAAAzH,KAAiCk1H,YAAA,WAAwB,OAAAjgG,IAAUuxH,SAAA,WAAqB,OAAAvE,MAAWJ,GAAAwxC,sBAAArxC,GAAAH,GAAAyxC,2BAAArxC,GAA+D,IAAAsxC,GAAA97K,OAAA8iJ,OAAA,CAAsBi5B,yBAAA1yC,GAAA2yC,6BAAA5xC,KAA8Dp6I,EAAA06I,GAAA7hJ,UAAA,CAAgBozL,QAAA,WAAmB,OAAAzkJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAAijJ,WAAAjjJ,KAAA+iJ,OAAiD,GAAA5hJ,EAAAuS,SAAA1T,KAAAo/H,IAAAhC,IAAAp9H,KAAAijJ,WAAA,OAAAjjJ,KAAAgjJ,QAAAhjJ,KAAAo/H,IAAA66B,WAAA7xJ,GAAA,KAA2F,GAAAjH,EAAAuS,SAAA1T,KAAAo/H,IAAA//G,IAAArf,KAAAijJ,WAAA,OAAAjjJ,KAAAgjJ,QAAAF,GAAAwxC,kBAAAt0L,KAAAo/H,IAAAh3H,GAAA,KAAqGpI,KAAAgjJ,QAAA7hJ,OAAe,OAAAyuC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAvV,KAAAu0L,qBAAAryL,GAAAs7B,EAAAjoB,EAAAvV,KAAA+iJ,OAAiFpiJ,EAAAwiI,SAAAnjI,KAAAo/H,IAAAhC,IAAAp9H,KAAAgjJ,QAAAhjJ,KAAAo/H,IAAA66B,WAAAz8H,GAAAx9B,KAAAgjJ,QAAAF,GAAAwxC,kBAAAt0L,KAAAo/H,IAAA5hG,KAA2Gg3J,iBAAA,SAAArzL,GAA8BnB,KAAAijJ,WAAA9hJ,GAAkBozL,qBAAA,SAAApzL,GAAkC,OAAAA,EAAAnB,KAAAijJ,WAAAjjJ,KAAAijJ,WAAA9hJ,GAA2CszL,cAAA,WAA0B,OAAAz0L,KAAAgjJ,SAAoBntB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAArE,MAAWA,GAAAwxC,kBAAA,SAAAnzL,EAAAiH,GAAqC,IAAAlG,EAAA,IAAA4P,EAAY,OAAA5P,EAAAiN,EAAAhO,EAAAke,GAAAlQ,EAAA/G,GAAAjH,EAAAke,GAAAlQ,EAAAhO,EAAAi8H,GAAAjuH,GAAAjN,EAAAkN,EAAAjO,EAAAke,GAAAjQ,EAAAhH,GAAAjH,EAAAke,GAAAjQ,EAAAjO,EAAAi8H,GAAAhuH,GAAAlN,GAAmEkG,EAAA+6I,GAAAliJ,UAAA,CAAiByzL,eAAA,SAAAvzL,EAAAiH,KAA8BytH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAhE,MAAW/6I,EAAAg7I,GAAAniJ,UAAA,CAAkByzL,eAAA,SAAAvzL,EAAAiH,GAA6B,IAAAlG,EAAAf,EAAA2iK,iBAAAnjK,EAAAuB,EAAAghJ,YAAA3tI,EAAA5U,EAAA,EAAA68B,EAAA,IAAAslH,GAAA5gJ,GAAAJ,EAAAshJ,GAAAuxC,oBAAAxzL,EAAAiH,GAAA9H,EAAA,EAAAwB,EAAA4R,SAAAtL,GAAA,GAAAhH,EAAAd,EAAkH,OAAAc,EAAAmU,IAAAnU,EAAAmU,GAAAioB,EAAAg3J,iBAAApzL,GAAAo8B,EAAA62J,QAAAvyL,GAAA07B,EAAAi3J,iBAAuE5+D,YAAA,WAAwB,OAAAstB,KAAWgE,SAAA,WAAqB,OAAA/D,MAAWA,GAAAuxC,oBAAA,SAAAxzL,EAAAiH,GAAuC,IAAAlG,EAAAf,EAAA2iK,iBAAAnjK,EAAAuB,EAAAu3J,QAAArxJ,GAAwC,OAAAzH,GAASyH,EAAAi7I,GAAApiJ,UAAA,CAAiB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAA9D,MAAWA,GAAAuxC,QAAA,SAAAzzL,EAAAiH,EAAAlG,GAA6B,OAAAkG,EAAA+G,EAAAhO,EAAAgO,IAAAjN,EAAAkN,EAAAjO,EAAAiO,IAAAhH,EAAAgH,EAAAjO,EAAAiO,IAAAlN,EAAAiN,EAAAhO,EAAAgO,IAA8Ck0I,GAAAwxC,uBAAA,SAAA1zL,EAAAiH,EAAAlG,EAAAvB,GAA6C,IAAA4U,EAAA0gH,EAAAxxD,QAAAtjE,EAAAgO,GAAAq7I,aAAA7pJ,EAAAwO,GAAAquB,EAAAy4F,EAAAxxD,QAAAtjE,EAAAiO,GAAAo7I,aAAA7pJ,EAAAyO,GAAAtN,EAAAm0H,EAAAxxD,QAAAr8D,EAAA+G,GAAAq7I,aAAA7pJ,EAAAwO,GAAA7O,EAAA21H,EAAAxxD,QAAAr8D,EAAAgH,GAAAo7I,aAAA7pJ,EAAAyO,GAAAhO,EAAA60H,EAAAxxD,QAAAviE,EAAAiN,GAAAq7I,aAAA7pJ,EAAAwO,GAAA4C,EAAAkkH,EAAAxxD,QAAAviE,EAAAkN,GAAAo7I,aAAA7pJ,EAAAyO,GAAAsuB,EAAAnoB,EAAAy0I,SAAA1pJ,GAAAkqJ,aAAA1oJ,EAAAkoJ,SAAAxsH,IAAA77B,EAAAG,EAAAkoJ,SAAAj4I,GAAAy4I,aAAAppJ,EAAA4oJ,SAAA1pJ,IAAAkU,EAAApT,EAAA4oJ,SAAAxsH,GAAAgtH,aAAAj1I,EAAAy0I,SAAAj4I,IAAAD,EAAAyD,EAAAy0I,SAAAz0I,GAAA40I,QAAA3sH,EAAAwsH,SAAAxsH,IAAA/8B,EAAAqB,EAAAkoJ,SAAAloJ,GAAAqoJ,QAAA7pJ,EAAA0pJ,SAAA1pJ,IAAA47B,EAAA96B,EAAA4oJ,SAAA5oJ,GAAA+oJ,QAAAp4I,EAAAi4I,SAAAj4I,IAAAjP,EAAAgP,EAAAg5I,aAAAnpJ,GAAAwoJ,QAAA1pJ,EAAAqqJ,aAAAt2I,IAAA21I,QAAAjuH,EAAA4uH,aAAAptH,IAAAD,EAAA36B,EAAAunJ,cAAA,EAA6iB,OAAA5sH,GAAS4lH,GAAAyxC,oBAAA,SAAA3zL,EAAAiH,EAAAlG,EAAAvB,GAA0C,IAAA4U,EAAA8tI,GAAA0xC,oBAAA5zL,EAAAiH,EAAAlG,EAAAvB,GAAA68B,EAAA6lH,GAAA2xC,iBAAA7zL,EAAAiH,EAAAlG,EAAAvB,GAAAmB,EAAAuhJ,GAAA4xC,aAAA9zL,EAAAiH,EAAAlG,EAAAvB,GAAAL,EAAA4wI,GAAAolC,aAAAn1K,EAAAiH,EAAAlG,GAAyHimC,EAAAm7B,IAAAk1F,QAAA,qBAAAz0J,KAAA6hB,IAAAjlB,EAAA+S,SAAApT,GAAAa,EAAAuS,SAAApT,IAAAa,EAAAuS,SAAApT,IAAAiV,IAAAioB,GAAAjoB,IAAAzT,IAAAqmC,EAAAm7B,IAAAk1F,QAAA,gDAAAjjJ,EAAA,iBAAAioB,EAAA,iBAAA17B,EAAA,KAAAqmC,EAAAm7B,IAAAk1F,QAAAl8B,GAAAm6B,aAAA,IAAA38B,GAAA,CAAA34H,EAAAiH,EAAAlG,EAAAvB,MAAAwnC,EAAAm7B,IAAAk1F,QAAA,kBAAAl8B,GAAA44D,QAAA50L,GAAA,aAAAa,EAAAuS,SAAApT,IAAA6nC,EAAAm7B,IAAAk1F,QAAA,qBAAAz0J,KAAA6hB,IAAAjlB,EAAA+S,SAAApT,GAAAa,EAAAuS,SAAApT,GAAA,IAAA6nC,EAAAm7B,IAAAk1F,QAAA,qBAAAz0J,KAAA6hB,IAAAjlB,EAAA+S,SAAApT,GAAA8H,EAAAsL,SAAApT,GAAA,IAAA6nC,EAAAm7B,IAAAk1F,QAAA,qBAAAz0J,KAAA6hB,IAAAjlB,EAAA+S,SAAApT,GAAA4B,EAAAwR,SAAApT,GAAA,IAAA6nC,EAAAm7B,IAAAk1F,YAAmkBnV,GAAA8xC,iBAAA,SAAAh0L,EAAAiH,EAAAlG,EAAAvB,GAAuC,IAAA4U,EAAA0gH,EAAAm0B,IAAAjpJ,EAAAgO,GAAAg7I,QAAAl0B,EAAAm0B,IAAAjpJ,EAAAiO,IAAA07I,aAAAzH,GAAA+xC,cAAAhtL,EAAAlG,EAAAvB,IAAA68B,EAAAy4F,EAAAm0B,IAAAhiJ,EAAA+G,GAAAg7I,QAAAl0B,EAAAm0B,IAAAhiJ,EAAAgH,IAAA07I,aAAAzH,GAAA+xC,cAAAj0L,EAAAe,EAAAvB,IAAAmB,EAAAm0H,EAAAm0B,IAAAloJ,EAAAiN,GAAAg7I,QAAAl0B,EAAAm0B,IAAAloJ,EAAAkN,IAAA07I,aAAAzH,GAAA+xC,cAAAj0L,EAAAiH,EAAAzH,IAAAL,EAAA21H,EAAAm0B,IAAAzpJ,EAAAwO,GAAAg7I,QAAAl0B,EAAAm0B,IAAAzpJ,EAAAyO,IAAA07I,aAAAzH,GAAA+xC,cAAAj0L,EAAAiH,EAAAlG,IAAAd,EAAAmU,EAAAi1I,aAAAhtH,GAAA2sH,QAAAroJ,GAAA0oJ,aAAAlqJ,GAAAyR,EAAA3Q,EAAAipJ,cAAA,EAAmW,OAAAt4I,GAASsxI,GAAA4xC,aAAA,SAAA9zL,EAAAiH,EAAAlG,EAAAvB,GAAmC,IAAA4U,EAAA27H,GAAAolC,aAAAn1K,EAAAiH,EAAAlG,GAAAs7B,EAAAr8B,EAAAuS,SAAA6B,GAAAzT,EAAAnB,EAAA+S,SAAA6B,GAAAioB,EAA+D,OAAA17B,GAAA,GAAYuhJ,GAAAgyC,qBAAA,SAAAl0L,EAAAiH,EAAAlG,EAAAvB,GAA2C,IAAA4U,EAAApU,EAAAgO,EAAAxO,EAAAwO,EAAAquB,EAAAr8B,EAAAiO,EAAAzO,EAAAyO,EAAAtN,EAAAsG,EAAA+G,EAAAxO,EAAAwO,EAAA7O,EAAA8H,EAAAgH,EAAAzO,EAAAyO,EAAAhO,EAAAc,EAAAiN,EAAAxO,EAAAwO,EAAA4C,EAAA7P,EAAAkN,EAAAzO,EAAAyO,EAAAsuB,EAAAnoB,EAAAjV,EAAAwB,EAAA07B,EAAA77B,EAAAG,EAAAiQ,EAAA3Q,EAAAd,EAAAkU,EAAApT,EAAAo8B,EAAAjoB,EAAAxD,EAAAD,EAAAyD,IAAAioB,IAAA/8B,EAAAqB,IAAAxB,IAAA47B,EAAA96B,IAAA2Q,IAAAjP,EAAAgP,EAAAnQ,EAAAlB,EAAA+T,EAAA0nB,EAAAwB,EAC7r+B,OAAA56B,EAAA,GAAWugJ,GAAA2xC,iBAAA,SAAA7zL,EAAAiH,EAAAlG,EAAAvB,GAAuC,IAAA4U,EAAA0gH,EAAAxxD,QAAA9jE,EAAAwO,GAAAquB,EAAAy4F,EAAAxxD,QAAA9jE,EAAAyO,GAAAtN,EAAAm0H,EAAAxxD,QAAAtjE,EAAAgO,GAAA7O,EAAA21H,EAAAxxD,QAAAtjE,EAAAiO,GAAAhO,EAAA60H,EAAAxxD,QAAAr8D,EAAA+G,GAAA4C,EAAAkkH,EAAAxxD,QAAAr8D,EAAAgH,GAAAsuB,EAAAu4F,EAAAxxD,QAAAviE,EAAAiN,GAAAxN,EAAAs0H,EAAAxxD,QAAAviE,EAAAkN,GAAAoF,EAAA1S,EAAAkoJ,SAAAloJ,GAAA0iD,IAAAlkD,EAAA0pJ,SAAA1pJ,IAAA0pJ,SAAA3G,GAAAiyC,cAAAl0L,EAAA2Q,EAAA2rB,EAAA/7B,EAAA4T,EAAAioB,IAAA1rB,EAAA1Q,EAAA4oJ,SAAA5oJ,GAAAojD,IAAAzyC,EAAAi4I,SAAAj4I,IAAAi4I,SAAA3G,GAAAiyC,cAAAxzL,EAAAxB,EAAAo9B,EAAA/7B,EAAA4T,EAAAioB,IAAA/8B,EAAAi9B,EAAAssH,SAAAtsH,GAAA8mB,IAAA7iD,EAAAqoJ,SAAAroJ,IAAAqoJ,SAAA3G,GAAAiyC,cAAAxzL,EAAAxB,EAAAc,EAAA2Q,EAAAwD,EAAAioB,IAAAtB,EAAA3mB,EAAAy0I,SAAAz0I,GAAAivC,IAAAhnB,EAAAwsH,SAAAxsH,IAAAwsH,SAAA3G,GAAAiyC,cAAAxzL,EAAAxB,EAAAc,EAAA2Q,EAAA2rB,EAAA/7B,IAAAmB,EAAA0R,EAAA01I,SAAAp4I,GAAA0yC,IAAA/jD,GAAAypJ,SAAAhuH,GAAAuB,EAAA36B,EAAAunJ,cAAA,EAA+e,OAAA5sH,GAAS4lH,GAAA0xC,oBAAA,SAAA5zL,EAAAiH,EAAAlG,EAAAvB,GAA0C,IAAA4U,GAAApU,EAAAgO,EAAAhO,EAAAgO,EAAAhO,EAAAiO,EAAAjO,EAAAiO,GAAAi0I,GAAAuxC,QAAAxsL,EAAAlG,EAAAvB,IAAAyH,EAAA+G,EAAA/G,EAAA+G,EAAA/G,EAAAgH,EAAAhH,EAAAgH,GAAAi0I,GAAAuxC,QAAAzzL,EAAAe,EAAAvB,IAAAuB,EAAAiN,EAAAjN,EAAAiN,EAAAjN,EAAAkN,EAAAlN,EAAAkN,GAAAi0I,GAAAuxC,QAAAzzL,EAAAiH,EAAAzH,MAAAwO,EAAAxO,EAAAwO,EAAAxO,EAAAyO,EAAAzO,EAAAyO,GAAAi0I,GAAAuxC,QAAAzzL,EAAAiH,EAAAlG,GAAA,EAAwJ,OAAAqT,GAAS8tI,GAAAkyC,iBAAA,SAAAp0L,EAAAiH,EAAAlG,EAAAvB,GAAuC,OAAA0iJ,GAAAgyC,qBAAAl0L,EAAAiH,EAAAlG,EAAAvB,IAAwC0iJ,GAAAiyC,cAAA,SAAAn0L,EAAAiH,EAAAlG,EAAAvB,EAAA4U,EAAAioB,GAAwC,OAAAt7B,EAAAgoJ,SAAA/oJ,GAAA6oJ,SAAAxsH,EAAA0sH,SAAA9hJ,IAAA8hJ,SAAAvpJ,EAAAupJ,SAAA9hJ,GAAA4hJ,SAAAz0I,EAAA20I,SAAA/oJ,MAA6FkiJ,GAAA+xC,cAAA,SAAAj0L,EAAAiH,EAAAlG,GAAkC,IAAAvB,EAAAs1H,EAAAxxD,QAAAr8D,EAAA+G,GAAAq7I,aAAArpJ,EAAAgO,GAAA27I,aAAA70B,EAAAxxD,QAAAviE,EAAAkN,GAAAo7I,aAAArpJ,EAAAiO,IAAAmG,EAAA0gH,EAAAxxD,QAAAr8D,EAAAgH,GAAAo7I,aAAArpJ,EAAAiO,GAAA07I,aAAA70B,EAAAxxD,QAAAviE,EAAAiN,GAAAq7I,aAAArpJ,EAAAgO,IAAwK,OAAAxO,EAAA6pJ,aAAAj1I,IAAyBnN,EAAAk7I,GAAAriJ,UAAA,CAAiBu0L,aAAA,SAAAr0L,EAAAiH,GAA2B,IAAAlG,EAAA,IAAAohJ,GAAAtjJ,KAAAosJ,OAAApsJ,KAAAssJ,QAAA3rJ,EAAAX,KAAAy1L,SAAAvzL,EAAAf,GAAAoU,EAAAvV,KAAAy1L,SAAAt0L,EAAAiH,GAAAo1B,EAAA,IAAA+K,EAAA5nC,EAAA4U,GAAAzT,EAAA,KAAoG,IAAIA,EAAA,IAAAwhJ,GAAA9lH,EAAA4uH,OAAA5uH,EAAA8uH,QAA4B,MAAA3rJ,GAAS,KAAAA,aAAA2tE,GAAA,MAAA3tE,EAA6BwnC,EAAA4a,IAAAy1G,QAAA,MAAAt2J,EAAA,QAAAf,EAAA,QAAAiH,GAAA+/B,EAAA4a,IAAAy1G,QAAA73J,GAAqE,OAAAmB,GAAS4zL,IAAA,SAAAv0L,GAAiB,OAAAnB,KAAAk8B,EAAA/sB,EAAAhO,EAAAirJ,OAAApsJ,KAAAk8B,EAAA9sB,EAAAjO,EAAAmrJ,QAA2CqpC,KAAA,WAAiB,OAAA5xL,KAAAgR,KAAA/U,KAAAk8B,EAAA/sB,EAAAnP,KAAAk8B,EAAA/sB,EAAAnP,KAAAk8B,EAAA9sB,EAAApP,KAAAk8B,EAAA9sB,IAAsDwmL,KAAA,WAAiB,OAAA51L,KAAAk8B,EAAAwF,GAAgB+zJ,SAAA,SAAAt0L,EAAAiH,GAAwB,IAAAlG,EAAAkG,EAAAgkJ,OAAAjrJ,EAAAirJ,OAAAzrJ,EAAAyH,EAAAkkJ,OAAAnrJ,EAAAmrJ,OAAA/2I,EAAA,IAAAgzB,EAAApnC,EAAAirJ,OAAAlqJ,EAAA,EAAAf,EAAAmrJ,OAAA3rJ,EAAA,KAAA68B,EAAA,IAAA+K,EAAApnC,EAAAirJ,OAAAzrJ,EAAAuB,EAAA,EAAAf,EAAAmrJ,OAAApqJ,EAAAvB,EAAA,KAA0H,WAAA4nC,EAAAhzB,EAAAioB,IAAkBqhD,OAAA,WAAmB,OAAAjvC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAk8B,EAAA/sB,IAAAhO,EAAAirJ,QAAApsJ,KAAAk8B,EAAA9sB,IAAAjO,EAAAmrJ,OAAgD,OAAA18G,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAA5vC,KAAAk8B,EAAAxoB,SAAAtL,EAAAg7H,iBAAAlhI,IAA6CkhI,cAAA,WAA0B,OAAApjI,KAAAk8B,GAAc25J,WAAA,SAAA10L,EAAAiH,EAAAlG,GAA4B,OAAAmhJ,GAAAkyC,iBAAAp0L,EAAA+6B,EAAA9zB,EAAA8zB,EAAAh6B,EAAAg6B,EAAAl8B,KAAAk8B,IAA+C45J,kBAAA,SAAA30L,EAAAiH,EAAAlG,GAAmC,IAAAvB,EAAAQ,EAAAirJ,OAAA72I,EAAApU,EAAAmrJ,OAAA9uH,EAAAp1B,EAAAgkJ,OAAAzrJ,EAAAmB,EAAAI,EAAAkqJ,OAAAzrJ,EAAAL,EAAA8H,EAAAkkJ,OAAA/2I,EAAAnU,EAAAc,EAAAoqJ,OAAA/2I,EAAAxD,EAAAyrB,EAAAp8B,EAAAU,EAAAxB,EAAAo9B,EAAA19B,KAAAosJ,OAAAzrJ,EAAAgB,EAAA3B,KAAAssJ,OAAA/2I,EAAAf,GAAApT,EAAAs8B,EAAA57B,EAAAH,GAAAoQ,EAAAD,IAAAxR,EAAAo9B,EAAAF,EAAA77B,GAAAoQ,EAAAtR,EAAAU,EAAAy0L,OAAAphL,GAAApM,EAAAwtL,OAAAz0L,EAAAy0L,QAAA9jL,GAAA5P,EAAA0zL,OAAAz0L,EAAAy0L,QAA4M,OAAAn1L,GAASonG,SAAA,SAAA1mG,GAAsB,IAAAiH,GAAApI,KAAAk8B,EAAA/sB,EAAAhO,EAAAirJ,QAAA,EAAAlqJ,GAAAlC,KAAAk8B,EAAA9sB,EAAAjO,EAAAmrJ,QAAA,EAAA3rJ,GAAAX,KAAAk8B,EAAAwF,EAAAvgC,EAAAy0L,QAAA,EAA4E,WAAAtyC,GAAAl7I,EAAAlG,EAAAvB,IAAqBo1L,QAAA,SAAA50L,GAAqB,OAAAnB,KAAAszJ,MAAAnyJ,EAAAg4K,OAAAh4K,EAAAm4K,SAAqChmB,MAAA,SAAAnyJ,EAAAiH,GAAqB,OAAAjH,EAAA+6B,EAAA/sB,EAAAnP,KAAAk8B,EAAA/sB,IAAA/G,EAAA8zB,EAAA9sB,EAAApP,KAAAk8B,EAAA9sB,IAAAjO,EAAA+6B,EAAA9sB,EAAApP,KAAAk8B,EAAA9sB,IAAAhH,EAAA8zB,EAAA/sB,EAAAnP,KAAAk8B,EAAA/sB,GAAA,GAA4Ei9I,KAAA,WAAiB,OAAApsJ,KAAAk8B,EAAA/sB,GAAgBwlH,aAAA,SAAAxzH,GAA0B,OAAAnB,KAAAk8B,EAAA/sB,EAAAhO,EAAAmrJ,OAAAtsJ,KAAAk8B,EAAA9sB,EAAAjO,EAAAirJ,QAA2C4pC,KAAA,SAAA70L,GAAkBnB,KAAAk8B,EAAAwF,EAAAvgC,GAAW80L,MAAA,SAAA90L,GAAmB,WAAAmiJ,GAAAniJ,EAAAnB,KAAAk8B,EAAA/sB,EAAAhO,EAAAnB,KAAAk8B,EAAA9sB,IAAqCmvC,MAAA,WAAkB,WAAA+kG,GAAAtjJ,KAAAk8B,EAAA9sB,GAAApP,KAAAk8B,EAAA/sB,IAAoC+mL,OAAA,SAAA/0L,GAAoB,OAAAnB,KAAAszJ,MAAAnyJ,EAAAm4K,OAAAn4K,EAAAg4K,SAAqC/rJ,SAAA,WAAqB,gBAAAptB,KAAAk8B,EAAA/sB,EAAA,IAAAnP,KAAAk8B,EAAA9sB,EAAA,KAA0CylH,IAAA,SAAA1zH,GAAiB,WAAAmiJ,GAAAtjJ,KAAAk8B,EAAA/sB,EAAAhO,EAAAirJ,OAAApsJ,KAAAk8B,EAAA9sB,EAAAjO,EAAAmrJ,SAAmDA,KAAA,WAAiB,OAAAtsJ,KAAAk8B,EAAA9sB,GAAgB+mL,SAAA,SAAAh1L,EAAAiH,GAAwB,IAAAlG,EAAAlC,KAAAW,EAAAyH,EAAAysH,IAAA1zH,GAAAoU,EAAArT,EAAA2yH,IAAA1zH,GAAAq8B,EAAA78B,EAAAg0H,aAAAp/G,GAAqD,OAAAioB,EAAA,EAAA8lH,GAAA/c,KAAA/oG,EAAA,EAAA8lH,GAAA9c,MAAA7lI,EAAAyrJ,OAAA72I,EAAA62I,OAAA,GAAAzrJ,EAAA2rJ,OAAA/2I,EAAA+2I,OAAA,EAAAhJ,GAAA8yC,OAAAz1L,EAAAg1L,OAAApgL,EAAAogL,OAAAryC,GAAA+yC,OAAAl1L,EAAA09E,OAAA38E,GAAAohJ,GAAAgzC,OAAAluL,EAAAy2E,OAAA38E,GAAAohJ,GAAAizC,YAAAjzC,GAAAkzC,SAA2Kp0G,IAAA,SAAAjhF,GAAiB,WAAAmiJ,GAAAtjJ,KAAAk8B,EAAA/sB,EAAAhO,EAAAirJ,OAAApsJ,KAAAk8B,EAAA9sB,EAAAjO,EAAAmrJ,SAAmD54I,SAAA,SAAAvS,EAAAiH,GAAwB,OAAArE,KAAAgR,KAAAhR,KAAAulB,IAAAlhB,EAAAgkJ,OAAAjrJ,EAAAirJ,OAAA,GAAAroJ,KAAAulB,IAAAlhB,EAAAkkJ,OAAAnrJ,EAAAmrJ,OAAA,KAA8EmqC,kBAAA,SAAAt1L,EAAAiH,GAAiC,IAAAlG,EAAAlC,KAAAw1L,aAAAr0L,EAAAiH,GAAAzH,EAAAX,KAAA0T,SAAAxR,EAAAf,GAAAoU,EAAAvV,KAAA0T,SAAA1T,KAAAmB,GAAAq8B,EAAAx9B,KAAA0T,SAAAvS,EAAAiH,GAA+F,OAAAo1B,EAAAjoB,MAAAioB,KAAAx9B,KAAA0T,SAAAtL,EAAApI,MAAAw9B,EAAAjoB,MAAAioB,GAAA78B,EAAA4U,GAAyDsgH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA7D,MAAWA,GAAA8yB,aAAA,WAA6B,OAAAxmI,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAAyH,EAAAsL,SAAAxR,GAAAqT,EAAApU,EAAAuS,SAAAtL,GAAAo1B,EAAAt7B,EAAAw/B,EAAAt5B,EAAAs5B,EAAA5/B,EAAAsG,EAAAs5B,EAAAlE,GAAAjoB,EAAA5U,GAAyG,OAAAmB,EAAS,OAAA8tC,UAAAztC,OAAA,CAAyB,IAAA7B,EAAAsvC,UAAA,GAAAxuC,EAAAwuC,UAAA,GAAA79B,EAAA69B,UAAA,GAAAlS,EAAAkS,UAAA,GAAAjuC,EAAAP,EAAA+N,EAAAqF,EAAApT,EAAAgO,EAAA0C,EAAAC,EAAA5C,EAAAxN,EAAAlB,EAAAi9B,EAAAvuB,EAAAxN,EAAAu6B,EAAAnqB,EAAA3C,EAAAoF,EAAA1R,EAAA46B,EAAAtuB,EAAAoF,EAAAipB,EAAA3rB,EAAAhP,EAAArC,EAAAy7B,EAAA9sB,EAAA9O,EAAA6O,EAAAxN,EAAAwN,EAAA7O,EAAA8O,EAAAoF,EAAAwW,GAAAloB,EAAAsM,EAAA3O,EAAA0O,GAAAsuB,EAAAvT,IAAAgS,EAAA9sB,EAAA0C,EAAA3C,GAAAsuB,EAAA1S,EAAA3pB,EAAAsgC,EAAA1W,GAAAjZ,EAAA2vB,EAAAtgC,EAAAsgC,GAAAxX,GAAAwT,EAAAgE,EAAAtgC,EAAAsgC,GAAiM,OAAA3W,IAAUu4H,GAAA/c,KAAA,EAAA+c,GAAA9c,MAAA,EAAA8c,GAAA+yC,OAAA,EAAA/yC,GAAA8yC,OAAA,EAAA9yC,GAAAkzC,QAAA,EAAAlzC,GAAAgzC,OAAA,EAAAhzC,GAAAizC,YAAA,EAAA74J,EAAA6lH,GAAAD,IAAAl7I,EAAAm7I,GAAAtiJ,UAAA,CAAiHy1L,cAAA,WAAyB,OAAA12L,KAAAyjJ,YAAuBkzC,gBAAA,SAAAx1L,GAA6BnB,KAAAwjJ,gBAAAriJ,GAAuBsmB,MAAA,SAAAtmB,GAAmBA,EAAAqiJ,kBAAAxjJ,KAAAwjJ,iBAAA,EAAAxjJ,KAAAyjJ,WAAAtiJ,EAAAsiJ,aAA0EmzC,eAAA,WAA2B,OAAA52L,KAAAwjJ,iBAA4BqzC,cAAA,SAAA11L,GAA2BnB,KAAAwjJ,iBAAA,EAAAxjJ,KAAAyjJ,WAAAtiJ,GAA0C00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA5D,MAAWn7I,EAAA+kC,GAAAlsC,UAAA,CAAkB61L,kBAAA,SAAA31L,GAA8B,QAAAnB,KAAA+2L,eAAA51L,MAAAnB,KAAA+2L,eAAA51L,EAAA8a,QAA+D+6K,cAAA,WAA0B,WAAA75D,GAAAn9H,KAAA2jJ,OAAAvgB,gBAAApjI,KAAAm5K,OAAA/1C,kBAAuE+1C,KAAA,WAAiB,OAAAn5K,KAAAic,MAAAq9J,QAAyBF,MAAA,WAAkB,OAAAp5K,KAAA6b,MAAiBk7K,eAAA,SAAA51L,GAA4B,SAAAnB,KAAAs5K,OAAAl2C,gBAAAD,SAAAhiI,EAAAm4K,OAAAl2C,mBAAApjI,KAAAm5K,OAAA/1C,gBAAAD,SAAAhiI,EAAAg4K,OAAA/1C,mBAA0I6zD,MAAA,WAAkB,OAAAj3L,KAAAic,MAAAm9J,QAAAn9J,OAAgCi7K,MAAA,WAAkB,OAAAl3L,KAAA6b,KAAAI,OAAuBk7K,MAAA,WAAkB,OAAAn3L,KAAAic,MAAAm9J,SAA0Bge,IAAA,WAAgB,OAAAp3L,KAAA0jJ,MAAiB2zC,MAAA,WAAkB,OAAAr3L,KAAA0jJ,KAAA7nI,KAAA6nI,MAA2BznI,IAAA,WAAgB,OAAAjc,KAAA0jJ,WAAsB4zC,QAAA,SAAAn2L,GAAqBnB,KAAA2jJ,OAAAxiJ,GAAco2L,MAAA,WAAkB,OAAAv3L,KAAAw3L,SAAApe,QAAAge,OAAmCl0C,UAAA,WAAsB,OAAAljJ,KAAAs5K,OAAAl2C,gBAAA1vH,SAAA1T,KAAAm5K,OAAA/1C,kBAAyEo0D,OAAA,WAAmB,OAAAx3L,KAAA0jJ,KAAAznI,OAAuBw7K,QAAA,SAAAt2L,GAAqBnB,KAAAic,MAAAq7K,QAAAn2L,IAAsB4+J,QAAA,SAAA5+J,GAAqBnB,KAAA4I,KAAAzH,GAAY6+J,QAAA,WAAoB,OAAAhgK,KAAA4I,MAAiB4rJ,OAAA,WAAmBx0J,KAAA0jJ,KAAA,MAAe41B,KAAA,WAAiB,OAAAt5K,KAAA2jJ,QAAmB+zC,MAAA,WAAkB,OAAA13L,KAAA0jJ,KAAA7nI,KAAA27K,UAA+BpqK,SAAA,WAAqB,IAAAjsB,EAAAnB,KAAA2jJ,OAAAvgB,gBAAAh7H,EAAApI,KAAAm5K,OAAA/1C,gBAAgE,OAAA9G,GAAAm6B,aAAAt1J,EAAAiH,IAA4BuvL,OAAA,WAAmB,cAAA33L,KAAA0jJ,MAAwBk0C,WAAA,WAAuB,OAAA53L,KAAAs5K,OAAAl2C,gBAAA+K,UAAAnuI,KAAAm5K,OAAA/1C,kBAAA,EAAApjI,UAAAic,OAA6F47K,MAAA,WAAkB,OAAA73L,KAAAw3L,SAAApe,QAAAoe,UAAsC/sB,QAAA,SAAAtpK,GAAqBnB,KAAA6b,KAAA1a,GAAY00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAh6G,MAAWA,GAAA2qJ,SAAA,SAAA32L,EAAAiH,GAA4B,IAAAlG,EAAA,IAAAirC,GAAAxsC,EAAA,IAAAwsC,GAAA53B,EAAA,IAAA43B,GAAA3P,EAAA,IAAA2P,GAAwCjrC,EAAAwhJ,KAAA/iJ,IAAA+iJ,KAAAnuI,IAAAmuI,KAAAlmH,IAAAkmH,KAAAxhJ,IAAAuoK,QAAAvoK,GAAAvB,EAAA8pK,QAAAjtI,GAAAjoB,EAAAk1J,QAAAl1J,GAAAioB,EAAAitI,QAAA9pK,GAAwF,IAAAmB,EAAAI,EAAQ,OAAAJ,EAAAw1L,QAAAn2L,GAAAW,EAAA21L,QAAArvL,GAAAtG,GAAmCqrC,GAAA0lH,KAAA,SAAA1xJ,GAAqB,IAAAiH,EAAAjH,EAAAk2L,QAAAn1L,EAAAf,EAAA8a,MAAAo7K,QAAkClqJ,GAAAxE,OAAAxnC,EAAAiH,GAAA+kC,GAAAxE,OAAAxnC,EAAA8a,MAAA/Z,GAAAirC,GAAAxE,OAAAxnC,EAAAiH,EAAAmvL,SAAApqJ,GAAAxE,OAAAxnC,EAAA8a,MAAA/Z,EAAAq1L,SAAAp2L,EAAAm2L,QAAAlvL,EAAA+wK,QAAAh4K,EAAAs2L,QAAAv1L,EAAAi3K,SAAgIhsI,GAAAxE,OAAA,SAAAxnC,EAAAiH,GAAyB,IAAAlG,EAAAf,EAAAi4K,QAAAge,MAAAz2L,EAAAyH,EAAAgxK,QAAAge,MAAA7hL,EAAAnN,EAAAgxK,QAAA57I,EAAAr8B,EAAAi4K,QAAAt3K,EAAAnB,EAAAy4K,QAAA94K,EAAA4B,EAAAk3K,QAAwFj4K,EAAAspK,QAAAl1J,GAAAnN,EAAAqiK,QAAAjtI,GAAAt7B,EAAAuoK,QAAA3oK,GAAAnB,EAAA8pK,QAAAnqK,IAAoD6sC,GAAA4qJ,QAAA,SAAA52L,EAAAiH,GAA0B,IAAAlG,EAAAirC,GAAA2qJ,SAAA32L,EAAAg4K,OAAA/wK,EAAAkxK,QAAqC,OAAAnsI,GAAAxE,OAAAzmC,EAAAf,EAAAo2L,SAAApqJ,GAAAxE,OAAAzmC,EAAA+Z,MAAA7T,GAAAlG,GAAqDkG,EAAAw7I,GAAA3iJ,UAAA,CAAiB+2L,WAAA,SAAA72L,GAAuB,IAAAiH,EAAApI,KAAA6jJ,OAAA8b,OAAAx+J,GAA4B,GAAAnB,KAAA6jJ,OAAAo0C,eAAA7vL,EAAAjH,GAAA,OAAAiH,EAA4CpI,KAAA6jJ,OAAAq0C,SAAA9vL,EAAAjH,EAAAiiI,mBAAAh7H,IAAAivL,QAAAr3L,KAAA6jJ,OAAA2Q,OAAApsJ,EAAAgxK,UAAuF,IAAAl3K,EAAAlC,KAAA6jJ,OAAAi0C,SAAA1vL,EAAAkxK,OAAAn4K,GAAuCgsC,GAAAxE,OAAAzmC,EAAAkG,GAAe,IAAAzH,EAAAuB,EAAQ,GAAAA,EAAAlC,KAAA6jJ,OAAAk0C,QAAA3vL,EAAAlG,EAAA+Z,OAAA7T,EAAAlG,EAAAm1L,cAAgDjvL,EAAAmvL,UAAA52L,GAAqB,OAAM,CAAE,IAAA4U,EAAAnN,EAAAivL,QAAgB,GAAA9hL,EAAA4jK,OAAA4c,QAAA3tL,IAAAjH,EAAA00L,WAAAztL,EAAAkxK,OAAA/jK,EAAA4jK,OAAA/wK,EAAA+wK,QAAAhsI,GAAA0lH,KAAAzqJ,OAAAivL,YAAwF,CAAK,GAAAjvL,EAAAgxK,UAAAz4K,EAAA,OAAAuB,EAA0BkG,IAAAgxK,QAAA8d,WAAsBiB,YAAA,SAAAh3L,GAAyB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAg4L,WAAA91L,KAAoB2zH,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAvD,MAAWx7I,EAAAinB,GAAApuB,UAAA,CAAkB0+J,OAAA,SAAAx+J,KAAoB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA93H,MAAWjnB,EAAA47I,GAAA/iJ,UAAA,CAAkBstD,KAAA,WAAgBvuD,KAAAikJ,SAAAjkJ,KAAA0rK,YAA8B/L,OAAA,SAAAx+J,GAAoBnB,KAAAikJ,SAAA0zC,UAAA33L,KAAAuuD,OAAoC,IAAAnmD,EAAApI,KAAA6jJ,OAAAu0C,eAAAj3L,EAAAnB,KAAAikJ,UAAkD,OAAAjkJ,KAAAikJ,SAAA77I,KAAyBsjK,SAAA,WAAqB,IAAAvqK,EAAAnB,KAAA6jJ,OAAA4jB,WAA6B,OAAAtmK,EAAAutF,WAAA7yE,QAA2Bg6G,YAAA,WAAwB,OAAAxmG,KAAW83H,SAAA,WAAqB,OAAAnD,MAAWtmH,EAAAwmH,GAAAnyI,GAAA3J,EAAA87I,GAAAjjJ,UAAA,CAA0BoyL,WAAA,WAAsB,OAAArzL,KAAAo/H,KAAgBvJ,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAjD,MAAWA,GAAAC,eAAA,SAAAhjJ,EAAAiH,GAAkC,cAAAA,EAAAjH,EAAA,MAAAiH,EAAA,KAAAjH,GAAiCiH,EAAAg8I,GAAAnjJ,UAAA,CAAiB+5K,MAAA,SAAA75K,KAAmB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA/C,MAAWh8I,EAAAi8I,GAAApjJ,UAAA,CAAkBo3L,oBAAA,SAAAl3L,GAAgC,IAAAiH,EAAA,IAAAg9I,GAAa,OAAAplJ,KAAAs4L,eAAAlwL,EAAAjH,GAAAiH,EAAAiwL,uBAAwDE,cAAA,SAAAp3L,GAA2B,QAAAA,EAAA09E,OAAA7+E,KAAA0kJ,YAAA,OAAAvjJ,EAAA09E,OAAA7+E,KAAA0kJ,YAAA,OAAAvjJ,EAAA09E,OAAA7+E,KAAA0kJ,YAAA,KAA0GuzC,eAAA,SAAA92L,EAAAiH,GAA8B,SAAAA,EAAAy2E,OAAA19E,EAAAm4K,OAAAt5K,KAAA48E,aAAAx0E,EAAAy2E,OAAA19E,EAAAg4K,OAAAn5K,KAAA48E,aAAgFm7G,QAAA,SAAA52L,EAAAiH,GAAuB,IAAAlG,EAAAirC,GAAA4qJ,QAAA52L,EAAAiH,GAAsB,OAAApI,KAAAukJ,UAAA//F,IAAAtiD,MAA+Bs2L,sBAAA,SAAAr3L,EAAAiH,GAAqC,IAAAlG,EAAA,IAAAgoB,EAAAvpB,EAAAQ,EAAgB,GAAG,IAAAoU,EAAApU,EAAAi2L,MAAA9d,OAAAl2C,gBAAqClhI,EAAAsiD,IAAAjvC,GAAApU,IAAAk2L,cAAqBl2L,IAAAR,GAAa,IAAA68B,EAAA,IAAAzS,EAAYyS,EAAA83F,OAAApzH,GAAA,GAAAs7B,EAAAirH,YAAAjrH,EAAAroB,OAAA,IAAAgzB,EAAAm7B,IAAAk1F,QAAAh7H,KAAAgnB,IAAAhnB,EAAAllB,IAAAklB,EAAAroB,OAAA,QAAwF,IAAArT,EAAA07B,EAAA+qH,oBAAAjoJ,EAAA8H,EAAA4rJ,cAAA5rJ,EAAA6wH,iBAAAn3H,GAAA,MAAAV,EAAAT,EAAA24K,OAAqF,OAAAh5K,EAAAqtJ,YAAAvsJ,EAAAgiI,iBAAA9iI,GAA0Cm4L,WAAA,SAAAt3L,GAAwBnB,KAAA4kJ,QAAAzjJ,GAAe6jJ,WAAA,WAAuB,IAAA7jJ,EAAAnB,KAAA83L,SAAA93L,KAAA0kJ,YAAA,GAAA1kJ,KAAA0kJ,YAAA,IAAAt8I,EAAApI,KAAA83L,SAAA93L,KAAA0kJ,YAAA,GAAA1kJ,KAAA0kJ,YAAA,IAAsHv3G,GAAAxE,OAAAxnC,EAAA8a,MAAA7T,GAAqB,IAAAlG,EAAAlC,KAAA83L,SAAA93L,KAAA0kJ,YAAA,GAAA1kJ,KAAA0kJ,YAAA,IAA6D,OAAAv3G,GAAAxE,OAAAvgC,EAAA6T,MAAA/Z,GAAAirC,GAAAxE,OAAAzmC,EAAA+Z,MAAA9a,MAAmDu3L,kBAAA,SAAAv3L,GAA+B,IAAAiH,EAAA,IAAAvG,MAAA,GAAA+hC,KAAA,MAA8BygH,GAAAs0C,iBAAAx3L,EAAAiH,GAAyB,IAAAlG,EAAA,IAAAL,MAAA,GAAA+hC,KAAA,MAA8BygH,GAAAs0C,iBAAAx3L,EAAA8a,MAAA/Z,GAA+B,IAAAvB,EAAAQ,EAAAo2L,QAAApe,OAAuB,GAAAn5K,KAAAu4L,cAAA53L,GAAA,SAAkC,IAAA4U,EAAApU,EAAA8a,MAAAs7K,QAAApe,OAA6B,QAAAn5K,KAAAu4L,cAAAhjL,IAA8BuiL,SAAA,SAAA32L,EAAAiH,GAAwB,IAAAlG,EAAAirC,GAAA2qJ,SAAA32L,EAAAiH,GAAuB,OAAApI,KAAAukJ,UAAA//F,IAAAtiD,MAA+Bo2L,eAAA,SAAAn3L,EAAAiH,GAA8BpI,KAAAskJ,aAAkB,IAAApiJ,EAAA,IAAAk8H,GAAal8H,EAAAtB,KAAAZ,KAAAwkJ,cAA0B,QAAA7jJ,EAAA,IAAAi2H,GAAgB10H,EAAAmiD,SAAW,CAAE,IAAA9uC,EAAArT,EAAAqB,MAAc,IAAA5C,EAAAuoJ,SAAA3zI,GAAA,CAAmB,IAAAioB,EAAAx9B,KAAA44L,qBAAArjL,EAAArT,EAAAkG,EAAAzH,GAAyC,OAAA68B,GAAAr8B,EAAA65K,MAAAx9I,MAAuBq7J,YAAA,SAAA13L,GAAyB,SAAAnB,KAAAu4L,cAAAp3L,EAAAm4K,UAAAt5K,KAAAu4L,cAAAp3L,EAAAg4K,UAAsE+e,SAAA,SAAA/2L,EAAAiH,GAAwBpI,KAAAo/H,IAAA/vE,eAAAluD,EAAAm4K,OAAAl2C,gBAAAjiI,EAAAg4K,OAAA/1C,iBAA2E,IAAAlhI,EAAAlC,KAAAo/H,IAAA1rH,SAAAtL,GAA2B,OAAAlG,EAAAlC,KAAAykJ,0BAAuCh6E,YAAA,WAAwB,WAAApiC,EAAAroC,KAAA2kJ,WAA4BI,YAAA,SAAA5jJ,GAAyB,IAAAiH,EAAAjH,EAAAunJ,WAAAxmJ,EAAAf,EAAAwnJ,YAAAhoJ,EAAA,EAAuCA,EAAAyH,EAAAlG,EAAA,GAAAkG,EAAA,GAAAlG,EAAAlC,KAAA0kJ,YAAA,OAAApB,IAAAniJ,EAAA8xI,UAAA9xI,EAAA6xI,WAAA,EAAA7xI,EAAAmuI,UAAA3uI,GAAAX,KAAA0kJ,YAAA,OAAApB,GAAAniJ,EAAA6xI,UAAAryI,EAAAQ,EAAAouI,UAAA5uI,GAAAX,KAAA0kJ,YAAA,OAAApB,GAAAniJ,EAAA8xI,UAAAtyI,EAAAQ,EAAAouI,UAAA5uI,GAAAX,KAAA2kJ,SAAA,IAAAt8G,EAAAroC,KAAA0kJ,YAAA,GAAAthB,gBAAApjI,KAAA0kJ,YAAA,GAAAthB,iBAAApjI,KAAA2kJ,SAAAmE,gBAAA9oJ,KAAA0kJ,YAAA,GAAAthB,kBAAsW01D,uBAAA,SAAA33L,GAAoC,IAAAiH,EAAA,IAAAi9I,GAAa,OAAArlJ,KAAAs4L,eAAAlwL,EAAAjH,GAAAiH,EAAA2wL,gBAAiDC,YAAA,SAAA73L,GAAyB,QAAAiH,EAAA,IAAAwuH,EAAA10H,EAAAlC,KAAAukJ,UAAA71D,WAA4CxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAAtG,EAAA5U,EAAA24K,QAA0Bn4K,GAAAnB,KAAAu4L,cAAAhjL,IAAAnN,EAAAo8C,IAAAjvC,GAAoC,IAAAioB,EAAA78B,EAAAw4K,QAAeh4K,GAAAnB,KAAAu4L,cAAA/6J,IAAAp1B,EAAAo8C,IAAAhnB,GAAoC,OAAAp1B,GAASwwL,qBAAA,SAAAz3L,EAAAiH,EAAAlG,EAAAvB,GAAwC,IAAA4U,EAAApU,EAAAq8B,EAAA,EAAA17B,GAAA,EAAiB,GAAG9B,KAAA6kJ,SAAArnH,GAAAjoB,EAAAvV,KAAA64L,YAAAtjL,KAAAzT,GAAA,GAA+C,IAAAxB,EAAAiV,EAAA0G,MAActb,EAAAuoJ,SAAA5oJ,IAAA8H,EAAAxH,KAAAN,GAAAK,EAAA6jD,IAAAjvC,GAAAioB,IAAAjoB,IAAAgiL,cAAkDhiL,IAAApU,GAAa,OAAAW,IAAAI,EAAA,KAAAlC,KAAA6kJ,UAAgC4iB,SAAA,WAAqB,OAAA73H,UAAAztC,OAAA,OAAAnC,KAAAukJ,UAA8C,OAAA30G,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAAi5L,iBAAA,GAAA/2L,EAAA,IAAAL,MAAAuG,EAAA+M,QAAAyuB,KAAA,MAAAjjC,EAAA,EAAA4U,EAAAnN,EAAAsmF,WAAsGn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe3Z,EAAAvB,KAAAQ,EAAAgyJ,iBAAA,CAAA31H,EAAA87I,OAAAl2C,gBAAA5lG,EAAA27I,OAAA/1C,kBAA+E,OAAAjiI,EAAAswJ,sBAAAvvJ,KAAmCg3L,qBAAA,SAAA/3L,GAAkC,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAA,IAAA00H,EAAAj2H,EAAAX,KAAAukJ,UAAA71D,WAAoD/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAA2hB,EAAAjoB,EAAA+jK,OAA0Bp3K,EAAAgnJ,SAAA1rH,KAAAt7B,EAAAsiD,IAAAhnB,IAAAr8B,GAAAnB,KAAAu4L,cAAA/6J,IAAAp1B,EAAAo8C,IAAAjvC,IAA8D,IAAAzT,EAAAyT,EAAA0G,MAAA3b,EAAAwB,EAAAw3K,OAAyBp3K,EAAAgnJ,SAAA5oJ,KAAA4B,EAAAsiD,IAAAlkD,IAAAa,GAAAnB,KAAAu4L,cAAAj4L,IAAA8H,EAAAo8C,IAAA1iD,IAA8D,OAAAsG,GAASuwL,iBAAA,SAAAx3L,GAA8B,IAAAiH,EAAA,IAAA88I,GAAa,OAAAllJ,KAAAs4L,eAAAlwL,EAAAjH,GAAAiH,EAAAuwL,oBAAqDM,gBAAA,SAAA93L,GAA6BnB,KAAAskJ,aAAkB,IAAAl8I,EAAA,IAAA8hB,EAAAhoB,EAAA,IAAAk8H,GAAqBl8H,EAAAtB,KAAAZ,KAAAwkJ,cAA0B,QAAA7jJ,EAAA,IAAAi2H,GAAgB10H,EAAAmiD,SAAW,CAAE,IAAA9uC,EAAArT,EAAAqB,MAAc,IAAA5C,EAAAuoJ,SAAA3zI,GAAA,CAAmB,IAAAioB,EAAAjoB,EAAAqiL,cAAqBz2L,GAAAnB,KAAA64L,YAAAr7J,IAAAp1B,EAAAo8C,IAAAhnB,GAAAt7B,EAAAtB,KAAA2U,EAAA6jK,SAAAl3K,EAAAtB,KAAA2U,EAAA0G,MAAAm9J,SAAAz4K,EAAA6jD,IAAAjvC,GAAA5U,EAAA6jD,IAAAjvC,EAAA0G,QAAqG,OAAA7T,GAASosJ,OAAA,SAAArzJ,GAAoBgsC,GAAAxE,OAAAxnC,IAAAk2L,SAAAlqJ,GAAAxE,OAAAxnC,EAAA8a,MAAA9a,EAAA8a,MAAAo7K,SAA0D,IAAAjvL,EAAAjH,EAAA8a,MAAA/Z,EAAAf,EAAAi2L,MAAAz2L,EAAAQ,EAAAi2L,MAAAn7K,MAAwCjc,KAAAukJ,UAAA9rC,OAAAt3G,GAAAnB,KAAAukJ,UAAA9rC,OAAArwG,GAAApI,KAAAukJ,UAAA9rC,OAAAv2G,GAAAlC,KAAAukJ,UAAA9rC,OAAA93G,GAAAQ,EAAAqzJ,SAAApsJ,EAAAosJ,SAAAtyJ,EAAAsyJ,SAAA7zJ,EAAA6zJ,UAAgJ4jC,eAAA,SAAAj3L,EAAAiH,GAA8B,QAAAlG,EAAA,EAAAvB,EAAAX,KAAAukJ,UAAApvI,OAAAI,EAAAnN,IAAyC,CAAE,GAAAlG,MAAAvB,EAAA,UAAAujJ,GAAA3uI,EAAAyhL,iBAA2C,GAAA71L,EAAA09E,OAAAtpE,EAAA+jK,SAAAn4K,EAAA09E,OAAAtpE,EAAA4jK,QAAA,MAAgD,GAAAh4K,EAAA40L,QAAAxgL,OAAA0G,WAA0B,GAAA9a,EAAA40L,QAAAxgL,EAAA6jK,SAAA,CAA8B,GAAAj4K,EAAA40L,QAAAxgL,EAAAsiL,SAAA,MAA8BtiL,IAAAsiL,aAAYtiL,IAAA6jK,QAAiB,OAAA7jK,GAASwuI,aAAA,WAAyB,OAAA/jJ,KAAA48E,WAAsBu8G,uBAAA,SAAAh4L,GAAoCnB,KAAAs4L,eAAA,IAAArzC,IAAA,GAA+B,QAAA78I,EAAA,IAAA8hB,EAAAhoB,EAAAlC,KAAAk5L,sBAAA,GAAAv4L,EAAAuB,EAAAwsF,WAA+D/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAezT,EAAAo8C,IAAAxkD,KAAAw4L,sBAAAjjL,EAAApU,IAAuC,OAAAiH,GAASgxL,kBAAA,SAAAj4L,GAA+B,IAAAiH,EAAApI,KAAAm5L,uBAAAh4L,GAAqC,OAAAA,EAAAmwJ,yBAAAj4B,GAAA67B,gBAAA9sJ,KAAyD2wL,aAAA,SAAA53L,GAA0B,QAAAiH,EAAApI,KAAA84L,wBAAA,GAAA52L,EAAA,IAAAL,MAAAuG,EAAA+M,QAAAyuB,KAAA,MAAAjjC,EAAA,EAAA4U,EAAAnN,EAAAsmF,WAA8Fn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAe3Z,EAAAvB,KAAAQ,EAAA6yJ,cAAA7yJ,EAAA83H,iBAAAz7F,GAAA,MAAmD,OAAAr8B,EAAAmwJ,yBAAApvJ,IAAqC81L,WAAA,SAAA72L,GAAwB,IAAAiH,EAAApI,KAAA2/J,OAAAx+J,GAAqB,GAAAA,EAAA09E,OAAAz2E,EAAAkxK,OAAAt5K,KAAA48E,YAAAz7E,EAAA09E,OAAAz2E,EAAA+wK,OAAAn5K,KAAA48E,WAAA,OAAAx0E,EAAiF,IAAAlG,EAAAlC,KAAA83L,SAAA1vL,EAAAkxK,OAAAn4K,GAAgCgsC,GAAAxE,OAAAzmC,EAAAkG,GAAe,IAAAzH,EAAAuB,EAAQ,GAAAA,EAAAlC,KAAA+3L,QAAA3vL,EAAAlG,EAAA+Z,OAAA7T,EAAAlG,EAAAm1L,cAAyCjvL,EAAAmvL,UAAA52L,GAAqB,OAAAA,GAASg/J,OAAA,WAAmB,OAAA/vH,UAAAztC,OAAA,CAAyB,GAAAytC,UAAA,aAAA0zG,GAAA,CAA8B,IAAAniJ,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAA4kJ,QAAA+a,OAAAx+J,GAA8B,GAAAyuC,UAAA,aAAA99B,EAAA,CAA6B,IAAA1J,EAAAwnC,UAAA,GAAmB,OAAA5vC,KAAA4kJ,QAAA+a,OAAA,IAAArc,GAAAl7I,UAAuC,OAAAwnC,UAAAztC,OAAA,CAA8B,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAr6B,EAAAvV,KAAA4kJ,QAAA+a,OAAA,IAAArc,GAAAphJ,IAAmE,UAAAqT,EAAA,YAAwB,IAAAioB,EAAAjoB,EAAQA,EAAA4jK,OAAA/1C,gBAAAD,SAAAjhI,KAAAs7B,EAAAjoB,EAAA0G,OAAkD,IAAAna,EAAA07B,EAAQ,GAAG,GAAA17B,EAAAq3K,OAAA/1C,gBAAAD,SAAAxiI,GAAA,OAAAmB,EAAiDA,IAAAs3K,cAAYt3K,IAAA07B,GAAa,cAAaq4F,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA9C,MAAWA,GAAAs0C,iBAAA,SAAAx3L,EAAAiH,GAAoC,GAAAA,EAAA,GAAAjH,EAAAiH,EAAA,GAAAA,EAAA,GAAAmvL,QAAAnvL,EAAA,GAAAA,EAAA,GAAAmvL,QAAAnvL,EAAA,GAAAmvL,UAAAnvL,EAAA,aAAAzH,EAAA,iCAA8GyH,EAAA68I,GAAAhkJ,UAAA,CAAiB+5K,MAAA,SAAA75K,GAAkB,QAAAiH,EAAAjH,EAAA,GAAAm4K,OAAAl2C,gBAAAlhI,EAAAf,EAAA,GAAAm4K,OAAAl2C,gBAAAziI,EAAAQ,EAAA,GAAAm4K,OAAAl2C,gBAAA7tH,EAAA27H,GAAAolC,aAAAluK,EAAAlG,EAAAvB,GAAA68B,EAAA,IAAA8lH,GAAA/tI,GAAAzT,EAAA,EAA2IA,EAAA,EAAIA,IAAAX,EAAAW,GAAAs1L,MAAAE,QAAA95J,IAA0Bq4F,YAAA,WAAwB,OAAAuuB,KAAW+C,SAAA,WAAqB,OAAAlC,MAAW78I,EAAA88I,GAAAjkJ,UAAA,CAAkB03L,iBAAA,WAA4B,OAAA34L,KAAAmlJ,SAAoB61B,MAAA,SAAA75K,GAAmBnB,KAAAmlJ,QAAA3gG,IAAArjD,EAAAqoC,UAA4BqsF,YAAA,WAAwB,OAAAuuB,KAAW+C,SAAA,WAAqB,OAAAjC,MAAW98I,EAAAg9I,GAAAnkJ,UAAA,CAAkB+5K,MAAA,SAAA75K,GAAkBnB,KAAAmlJ,QAAA3gG,IAAA,CAAArjD,EAAA,GAAAm4K,OAAAn4K,EAAA,GAAAm4K,OAAAn4K,EAAA,GAAAm4K,UAAwD+e,oBAAA,WAAgC,OAAAr4L,KAAAmlJ,SAAoBtvB,YAAA,WAAwB,OAAAuuB,KAAW+C,SAAA,WAAqB,OAAA/B,MAAWh9I,EAAAi9I,GAAApkJ,UAAA,CAAkBo4L,kBAAA,SAAAl4L,GAAuCA,EAAAgB,QAAA,EAAAm6H,GAAAm6B,aAAAt1J,EAAA,GAAAA,EAAA,IAAAA,EAAAgB,QAAA,GAAAm6H,GAAA44D,QAAA/zL,EAAA,KAA2E65K,MAAA,SAAA75K,GAAmBnB,KAAAslJ,UAAAr2F,QAAuB,QAAA7mD,EAAA,EAAYA,EAAA,EAAIA,IAAA,CAAK,IAAAlG,EAAAf,EAAAiH,GAAAkxK,OAAkBt5K,KAAAslJ,UAAA9gG,IAAAtiD,EAAAkhI,iBAAsC,GAAApjI,KAAAslJ,UAAAnwI,OAAA,GAA4BnV,KAAAslJ,UAAAmD,YAA2B,IAAA9nJ,EAAAX,KAAAslJ,UAAAiD,oBAAyC,OAAA5nJ,EAAAwB,OAAA,YAA4BnC,KAAAulJ,UAAA/gG,IAAA7jD,KAAuBo4L,aAAA,WAAyB,OAAA/4L,KAAAulJ,WAAsB1vB,YAAA,WAAwB,OAAAuuB,KAAW+C,SAAA,WAAqB,OAAA9B,MAAWhB,GAAAi1C,4BAAAr0C,GAAAZ,GAAAk1C,yBAAAr0C,GAAAb,GAAAm1C,0BAAAp0C,GAAAf,GAAAo1C,2BAAAp0C,GAAAhB,GAAAS,4BAAA,IAAA18I,EAAAo9I,GAAAvkJ,UAAA,CAAuL6iK,eAAA,WAA0B,OAAA9jK,KAAA+gJ,IAAe24C,QAAA,WAAoB,IAAAv4L,EAAAnB,KAAA+gJ,GAAA3d,cAAA,GAA+B,OAAAjiI,EAAAugC,GAAWi4J,UAAA,WAAsB,IAAAx4L,EAAAnB,KAAA+gJ,GAAA3d,cAAA,GAA+B,OAAAjiI,EAAAugC,GAAWw4E,aAAA,SAAA/4G,GAA0B,OAAAnB,KAAA+gJ,GAAA7mC,aAAA/4G,EAAA2iK,mBAAgD81B,SAAA,WAAqB,OAAA55L,KAAA+gJ,GAAA3d,cAAA,IAAgCy2D,OAAA,WAAmB,OAAA75L,KAAA+gJ,GAAA3d,cAAA,IAAgC02D,QAAA,WAAoB,IAAA34L,EAAAnB,KAAA+gJ,GAAA3d,cAAA,GAA+B,OAAAjiI,EAAAiO,GAAW2qL,UAAA,WAAsB,IAAA54L,EAAAnB,KAAA+gJ,GAAA3d,cAAA,GAA+B,OAAAjiI,EAAAgO,GAAW29I,WAAA,SAAA3rJ,GAAwB,OAAAnB,KAAA+gJ,GAAA+L,WAAA3rJ,EAAA2iK,mBAA8Ck2B,UAAA,WAAsB,IAAA74L,EAAAnB,KAAA+gJ,GAAA3d,cAAA,GAA+B,OAAAjiI,EAAAiO,GAAW2wJ,QAAA,SAAA5+J,GAAqBnB,KAAA4I,KAAAzH,GAAY6+J,QAAA,WAAoB,OAAAhgK,KAAA4I,MAAiBqxL,QAAA,WAAoB,IAAA94L,EAAAnB,KAAA+gJ,GAAA3d,cAAA,GAA+B,OAAAjiI,EAAAgO,GAAWie,SAAA,WAAqB,OAAAptB,KAAA+gJ,GAAA3zH,YAA0ByoG,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA3B,MAAWp9I,EAAAq9I,GAAAxkJ,UAAA,CAAkB+5K,MAAA,SAAA75K,KAAmB00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAA1B,MAAWr9I,EAAAs9I,GAAAzkJ,UAAA,CAAkBi5L,WAAA,WAAsB,OAAAl6L,KAAA61B,MAAA,GAAoBskK,SAAA,WAAqB,OAAAn6L,KAAAkM,OAAkBk3H,cAAA,WAA0B,OAAApjI,KAAAk8B,GAAck+J,QAAA,SAAAj5L,GAAqBnB,KAAAiM,KAAA9K,GAAYirJ,KAAA,WAAiB,OAAApsJ,KAAAk8B,EAAA/sB,GAAgB6wJ,QAAA,WAAoB,OAAAhgK,KAAA4I,MAAiByxL,SAAA,WAAqB,OAAAr6L,KAAA61B,OAAkBykK,QAAA,WAAoB,OAAAt6L,KAAAiM,MAAiBqgJ,KAAA,WAAiB,OAAAtsJ,KAAAk8B,EAAA9sB,GAAgBmrL,UAAA,WAAsBv6L,KAAA61B,MAAA71B,KAAA61B,MAAA,GAAwB2kK,SAAA,SAAAr5L,GAAsBnB,KAAAkM,MAAA/K,GAAa00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAzB,MAAWt9I,EAAAu9I,GAAA1kJ,UAAA,CAAkBkC,OAAA,WAAkB,OAAAysC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA5vC,KAAAmD,OAAAhC,EAAA,MAA2B,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,UAAA5vC,KAAA85B,KAAA,OAAA95B,KAAA85B,KAAA,IAAA4rH,GAAAt9I,EAAAlG,GAAAlC,KAAA85B,KAA2D,GAAA95B,KAAA48E,UAAA,GAAqB,IAAAj8E,EAAAX,KAAAy6L,kBAAAryL,GAAgC,UAAAzH,EAAA,OAAAA,EAAA45L,YAAA55L,EAAmC,OAAAX,KAAA06L,YAAAtyL,EAAAlG,KAA8Bq+J,MAAA,WAAkB,IAAAp/J,EAAAyuC,UAAAxnC,EAAApI,KAAuB,OAAA4vC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAA,IAAAupB,EAA2B,OAAAlqB,KAAAugK,MAAAr+J,EAAAvB,KAAyB,OAAAivC,UAAAztC,OAAA,GAAAytC,UAAA,aAAAvH,GAAAqnE,EAAA9/D,UAAA,GAAAxgC,IAAA,WAAmF,IAAAlN,EAAAf,EAAA,GAAAR,EAAAQ,EAAA,GAAkBiH,EAAAuyL,UAAAvyL,EAAA0xB,KAAA53B,GAAA,GAAyB2zH,YAAA,WAAuB,OAAA4vB,KAAWu1B,MAAA,SAAA75K,GAAmBR,EAAA6jD,IAAArjD,MAAnL,QAAkM,GAAAyuC,UAAA,aAAAvH,GAAAqnE,EAAA9/D,UAAA,GAAA61G,IAAA,CAAsD,IAAAlwI,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAkC5vC,KAAA26L,UAAA36L,KAAA85B,KAAAvkB,GAAA,EAAAioB,KAAkCm9J,UAAA,SAAAx5L,EAAAiH,EAAAlG,EAAAvB,GAA6B,UAAAQ,EAAA,YAAwB,IAAAoU,EAAA,KAAAioB,EAAA,KAAA17B,EAAA,KAAyBI,GAAAqT,EAAAnN,EAAA4qI,UAAAx1G,EAAAp1B,EAAA6qI,UAAAnxI,EAAAX,EAAAirJ,SAAA72I,EAAAnN,EAAAmnI,UAAA/xG,EAAAp1B,EAAAknI,UAAAxtI,EAAAX,EAAAmrJ,QAAoF,IAAAhsJ,EAAAiV,EAAAzT,EAAAV,EAAAU,GAAA07B,EAAiBl9B,GAAAN,KAAA26L,UAAAx5L,EAAAm5L,UAAAlyL,GAAAlG,EAAAvB,GAAAyH,EAAA8gJ,SAAA/nJ,EAAAiiI,kBAAAziI,EAAAq6K,MAAA75K,GAAAC,GAAApB,KAAA26L,UAAAx5L,EAAAg5L,WAAA/xL,GAAAlG,EAAAvB,IAAuH85L,kBAAA,SAAAt5L,GAA+B,IAAAiH,EAAA,IAAAy9I,GAAA1kJ,EAAAnB,KAAA48E,WAA+B,OAAA58E,KAAAugK,MAAAn4J,EAAAwyL,gBAAAxyL,KAAAuS,WAAmDw/F,QAAA,WAAoB,cAAAn6G,KAAA85B,MAAwB4gK,YAAA,SAAAv5L,EAAAiH,GAA2B,QAAAlG,EAAAlC,KAAA85B,KAAAn5B,EAAAX,KAAA85B,KAAAvkB,GAAA,EAAAioB,GAAA,EAA0C,OAAAt7B,GAAS,CAAE,UAAAA,EAAA,CAAa,IAAAJ,EAAAX,EAAAuS,SAAAxR,EAAAkhI,kBAAApjI,KAAA48E,UAAoD,GAAA96E,EAAA,OAAAI,EAAAq4L,YAAAr4L,EAA4Bs7B,EAAAjoB,EAAApU,EAAAgO,EAAAjN,EAAAkqJ,OAAAjrJ,EAAAiO,EAAAlN,EAAAoqJ,OAAA3rJ,EAAAuB,IAAAs7B,EAAAt7B,EAAAo4L,UAAAp4L,EAAAi4L,WAAA5kL,KAAoEvV,KAAA4lJ,cAAA5lJ,KAAA4lJ,cAAA,EAAwC,IAAAtlJ,EAAA,IAAAolJ,GAAAvkJ,EAAAiH,GAAkB,OAAAo1B,EAAA78B,EAAAy5L,QAAA95L,GAAAK,EAAA65L,SAAAl6L,MAAsCu1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAxB,MAAWA,GAAAk1C,cAAA,WAA8B,OAAAjrJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAA+1G,GAAAk1C,cAAA15L,GAAA,GAA8B,OAAAyuC,UAAAztC,OAAA,CAAyB,QAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAAjvC,EAAA,IAAAoqB,EAAAxV,EAAAnN,EAAAsmF,WAA6Dn5E,EAAA4yI,WAAY,QAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAAI,EAAAs7B,EAAA68J,WAAA,EAAA/5L,EAAA,EAA2CA,EAAAwB,EAAIxB,IAAAK,EAAA6jD,IAAAhnB,EAAA4lG,iBAAA,GAAgC,OAAAziI,EAAA4nJ,sBAA8BngJ,EAAAy9I,GAAA5kJ,UAAA,CAAiB+5K,MAAA,SAAA75K,GAAkB,IAAAiH,EAAApI,KAAAk8B,EAAAxoB,SAAAvS,EAAAiiI,iBAAAlhI,EAAAkG,GAAApI,KAAA48E,UAA6D,IAAA16E,EAAA,YAAkB,IAAAvB,GAAA,GAAS,OAAAX,KAAA8lJ,WAAA19I,EAAApI,KAAA+lJ,WAAA,OAAA/lJ,KAAA8lJ,WAAA19I,IAAApI,KAAA+lJ,WAAA5kJ,EAAAiiI,gBAAA+K,UAAAnuI,KAAA8lJ,UAAA1iB,iBAAA,KAAAziI,GAAA,GAAAA,IAAAX,KAAA8lJ,UAAA3kJ,EAAAnB,KAAA+lJ,UAAA39I,IAAmMwyL,cAAA,WAA0B,IAAAz5L,EAAA,IAAAknC,EAAAroC,KAAAk8B,GAAoB,OAAA/6B,EAAA8nJ,SAAAjpJ,KAAA48E,WAAAz7E,GAAoCwZ,QAAA,WAAoB,OAAA3a,KAAA8lJ,WAAsBjwB,YAAA,WAAwB,OAAA4vB,KAAW0B,SAAA,WAAqB,OAAAtB,MAAWF,GAAAm1C,iBAAAj1C,GAAAz9I,EAAA49I,GAAA/kJ,UAAA,CAAyC85L,mBAAA,WAA8B,OAAA/6L,KAAAimJ,iBAA4B+0C,OAAA,WAAmB,OAAAh7L,KAAAsmJ,KAAgB20C,mBAAA,WAA+Bj7L,KAAAk7L,wBAA6B,IAAA/5L,EAAA,EAAAiH,EAAA,EAAY,GAAAA,EAAApI,KAAAm7L,eAAAn7L,KAAAmmJ,UAAAhlJ,UAA4CiH,EAAA,GAAAjH,EAAA6kJ,GAAAo1C,iBAAgCjD,YAAA,SAAAh3L,GAAyB,QAAAiH,EAAAjH,EAAAutF,WAAuBtmF,EAAA+/I,WAAY,CAAE,IAAAjmJ,EAAAkG,EAAAyT,OAAe7b,KAAAg4L,WAAA91L,KAAoBm5L,iBAAA,WAA6B,OAAAr7L,KAAAumJ,eAA0B+0C,cAAA,WAA0B,QAAAn6L,EAAA,IAAAU,MAAA7B,KAAAimJ,gBAAA9wI,OAAAnV,KAAAkmJ,YAAA/wI,QAAAyuB,KAAA,MAAAx7B,EAAA,EAAAlG,EAAAlC,KAAAimJ,gBAAAv3D,WAA0HxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe1a,EAAAiH,KAAAzH,EAAAyiI,gBAAyB,QAAA7tH,EAAAvV,KAAAkmJ,YAAAx3D,WAAsCn5E,EAAA4yI,WAAY,CAAExnJ,EAAA4U,EAAAsG,OAAe1a,EAAAiH,KAAAzH,EAAAyiI,gBAAyB,OAAAjiI,GAASo6L,eAAA,SAAAp6L,EAAAiH,GAA8BpI,KAAAmmJ,SAAAhlJ,EAAAnB,KAAAkmJ,YAAA99I,GAAmCozL,kBAAA,WAA8B,IAAAr6L,EAAA,IAAAk4H,GAAAjxH,EAAApI,KAAAs7L,gBAAAp5L,EAAA,IAAAiJ,GAAA/C,EAAAjH,GAAkDnB,KAAA8hC,WAAA5/B,EAAA46J,iBAAkCo+B,sBAAA,WAAkCl7L,KAAAw7L,oBAAAx7L,KAAAm4L,YAAAn4L,KAAAkmJ,cAA4Du1C,oBAAA,SAAAt6L,GAAiC,IAAAiH,EAAAjH,EAAAy4L,WAAA13L,EAAAf,EAAA04L,SAAAl5L,EAAA,IAAAmR,GAAA1J,EAAA+G,EAAAjN,EAAAiN,GAAA,GAAA/G,EAAAgH,EAAAlN,EAAAkN,GAAA,GAAAouB,EAAAp1B,EAAAsL,SAAA/S,GAAAmB,EAAA,IAAAumC,EAAA1nC,GAA4FmB,EAAAmnJ,SAAAzrH,GAAc,QAAAl9B,EAAAN,KAAAsmJ,IAAAia,MAAAz+J,GAAAV,EAAA,KAAA2Q,EAAAwD,EAAA45H,UAAAzxG,EAAAp9B,EAAAouF,WAAgEhxD,EAAAyqH,WAAY,CAAE,IAAAxmJ,EAAA+7B,EAAA7hB,OAAArH,EAAA7S,EAAAyhI,gBAAmC,IAAA5uH,EAAA2uH,SAAA/6H,KAAAoM,EAAA2uH,SAAAjhI,GAAA,CAAmC,IAAAzB,EAAAE,EAAA+S,SAAAc,GAAoB,GAAA/T,EAAA+8B,EAAA,CAAQ,IAAAtB,EAAAz7B,GAAQ,OAAAW,GAAA86B,EAAAnqB,KAAA3Q,EAAAoT,EAAAzC,EAAAmqB,KAA6B,OAAA96B,GAASs6L,sBAAA,WAAkC,OAAA17L,KAAAmmJ,UAAqBw1C,oBAAA,SAAAx6L,GAAiCnB,KAAAqmJ,YAAAllJ,GAAmB27J,cAAA,WAA0B,OAAA98J,KAAA8hC,YAAuBiiH,aAAA,WAAyB,OAAA/jJ,KAAA48E,WAAsBu+G,eAAA,SAAAh6L,GAA4B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAA,EAAAvB,EAAA,IAAAupB,EAAA3U,EAAApU,EAAAutF,WAA2Cn5E,EAAA4yI,WAAY,CAAE,IAAA3qH,EAAAjoB,EAAAsG,OAAA/Z,EAAA9B,KAAAy7L,oBAAAj+J,GAA6C,UAAA17B,EAAA,CAAa9B,KAAAgjJ,QAAAhjJ,KAAAqmJ,YAAAquC,eAAAl3J,EAAA17B,GAAkD,IAAAxB,EAAAN,KAAA47L,aAAA57L,KAAAgjJ,QAAAxlH,GAAAp8B,GAAApB,KAAAg4L,WAAA13L,GAAA,IAAAklJ,GAAAhoH,EAAAu8J,YAAAv8J,EAAAw8J,YAAAx8J,EAAAm8J,YAAAr5L,EAAA8rJ,OAAA9rJ,EAAAgsJ,OAAAhsJ,EAAAs1L,OAAAp4J,EAAAwiI,YAAAjuJ,EAAA,IAAAyzI,GAAAllJ,EAAA8rJ,OAAA9rJ,EAAAgsJ,OAAAhsJ,EAAAs1L,OAAAp4J,EAAAy8J,UAAAz8J,EAAAs8J,UAAAt8J,EAAAk8J,UAAAl8J,EAAAwiI,WAA6O53J,EAAAo8C,IAAApjD,GAAAgH,EAAAo8C,IAAAzyC,GAAApR,EAAA6jD,IAAAhnB,GAAAt7B,GAAA,GAAiC,OAAAf,EAAA06L,UAAAl7L,GAAAQ,EAAAm0H,OAAAltH,GAAAlG,GAAoC05L,aAAA,WAAyB,OAAAhsJ,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA,KAA0B,cAAApI,KAAAumJ,cAAAvmJ,KAAAumJ,cAAAq1C,aAAAz6L,EAAA,UAAAoiJ,GAAApiJ,GAAqF,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAD,EAAA0tC,UAAA,GAAAjvC,EAAAivC,UAAA,GAAAxnC,EAAA,KAAyC,OAAAA,EAAA,OAAApI,KAAAumJ,cAAAvmJ,KAAAumJ,cAAAq1C,aAAA15L,EAAAvB,GAAA,IAAA4iJ,GAAArhJ,GAAAkG,EAAAuuL,iBAAA,GAAAvuL,IAA2G0zL,eAAA,WAA2B,OAAA97L,KAAA6jJ,QAAmBk4C,mBAAA,WAA+B,IAAA56L,EAAA6kJ,GAAAg2C,sBAAAh8L,KAAAimJ,iBAAA79I,EAAA49I,GAAAg2C,sBAAAh8L,KAAAkmJ,aAAAhkJ,EAAA,IAAAmmC,EAAAlnC,GAA6Ge,EAAA4mJ,gBAAA1gJ,GAAqB,IAAAzH,EAAA,GAAAuB,EAAAwmJ,WAAAnzI,EAAA,GAAArT,EAAAymJ,YAAAnrH,EAAAz5B,KAAA0K,IAAA9N,EAAA4U,GAAyDvV,KAAAwmJ,eAAA,IAAAn+G,EAAAnmC,GAAAlC,KAAAwmJ,eAAAyC,SAAAzrH,IAA6Dy+J,iBAAA,SAAA96L,GAA8BnB,KAAAumJ,cAAAplJ,GAAqB+6L,oBAAA,WAAgCl8L,KAAA+7L,qBAAA/7L,KAAA6jJ,OAAA,IAAAQ,GAAArkJ,KAAAwmJ,eAAAxmJ,KAAA48E,WAAA58E,KAAA6jJ,OAAA40C,WAAA,IAAAz0C,GAAAhkJ,KAAA6jJ,SAAA7jJ,KAAAomJ,OAAA,IAAAxC,GAAA5jJ,KAAA6jJ,QAAA7jJ,KAAAm4L,YAAAn4L,KAAAimJ,kBAAoM+xC,WAAA,WAAuB,GAAApoJ,UAAA,aAAA2zG,GAAA,CAA8B,IAAApiJ,EAAAyuC,UAAA,GAAAxnC,EAAApI,KAAAsmJ,IAAAnjJ,OAAAhC,EAAAiiI,gBAAAjiI,GAA0D,GAAAiH,EAAA8xL,aAAA,CAAmB,IAAAh4L,EAAAkG,EAAA43J,UAAkB,OAAA99J,EAAAulB,MAAAtmB,GAAAe,EAAoB,OAAAlC,KAAAomJ,OAAA4xC,WAAA72L,KAAmC,GAAAyuC,UAAA,aAAA99B,EAAA,CAA6B,IAAAnR,EAAAivC,UAAA,GAAmB5vC,KAAAg4L,WAAAh4L,KAAA47L,aAAAj7L,MAAuCk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAnB,MAAWA,GAAAg2C,sBAAA,SAAA76L,GAAuC,QAAAiH,EAAA,IAAAigC,EAAAnmC,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAezT,EAAA0gJ,gBAAAnoJ,EAAAyiI,iBAAqC,OAAAh7H,GAAS49I,GAAAo1C,eAAA,GAAAhzL,EAAAq+I,GAAAxlJ,UAAA,CAAsC2iB,OAAA,WAAkB,UAAA5jB,KAAA6jJ,OAAA,YAAkC,IAAA1iJ,EAAAslJ,GAAA38E,SAAA9pE,KAAA0mJ,YAAAt+I,EAAAq+I,GAAA01C,WAAAn8L,KAAA0mJ,YAAoE1mJ,KAAA6jJ,OAAA,IAAAQ,GAAAljJ,EAAAnB,KAAA48E,WAAqC,IAAA16E,EAAA,IAAA0hJ,GAAA5jJ,KAAA6jJ,QAA0B3hJ,EAAAi2L,YAAA/vL,IAAiBg0L,aAAA,SAAAj7L,GAA0BnB,KAAA48E,UAAAz7E,GAAiBk7L,SAAA,WAAqB,GAAAzsJ,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmB5vC,KAAA0mJ,WAAAD,GAAA61C,yBAAAn7L,QAA+C,GAAAuuG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAA2B,IAAAsF,EAAAwnC,UAAA,GAAmB5vC,KAAA0mJ,WAAAD,GAAAh5G,OAAA8oF,EAAAgyB,kBAAAngJ,MAAmDq/J,SAAA,SAAAtmK,GAAsB,OAAAnB,KAAA4jB,SAAA5jB,KAAA6jJ,OAAA4jB,SAAAtmK,IAA6C26L,eAAA,WAA2B,OAAA97L,KAAA4jB,SAAA5jB,KAAA6jJ,QAAiCk1C,aAAA,SAAA53L,GAA0B,OAAAnB,KAAA4jB,SAAA5jB,KAAA6jJ,OAAAk1C,aAAA53L,IAAiD00H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAV,MAAWA,GAAA61C,yBAAA,SAAAn7L,GAA0C,UAAAA,EAAA,WAAA4pB,EAAyB,IAAA3iB,EAAAjH,EAAAyzB,iBAAyB,OAAA6xH,GAAAh5G,OAAArlC,IAAoBq+I,GAAA38E,SAAA,SAAA3oE,GAAyB,QAAAiH,EAAA,IAAAigC,EAAAnmC,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAezT,EAAA0gJ,gBAAAnoJ,GAAqB,OAAAyH,GAASq+I,GAAAh5G,OAAA,SAAAtsC,GAAuB,IAAAiH,EAAAmuH,EAAA04B,SAAA9tJ,GAAoBq2H,GAAAxyH,KAAAoD,GAAW,IAAAlG,EAAA,IAAA6oB,EAAA3iB,GAAA,GAAoB,OAAAlG,GAASukJ,GAAA01C,WAAA,SAAAh7L,GAA2B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAezT,EAAAo8C,IAAA,IAAA8+F,GAAA3iJ,IAAiB,OAAAyH,GAASA,EAAAu+I,GAAA1lJ,UAAA,CAAiBs7L,mBAAA,SAAAp7L,GAA+B,QAAAiH,EAAA,IAAA8hB,EAAAhoB,EAAAf,EAAAutF,WAA+BxsF,EAAAimJ,WAAY,CAAE,IAAAxnJ,EAAAuB,EAAA2Z,OAAe7b,KAAA6mJ,oBAAA21C,YAAA77L,IAAAyH,EAAAo8C,IAAA,IAAA++F,GAAA5iJ,IAA0D,OAAAyH,GAASwb,OAAA,WAAmB,UAAA5jB,KAAA6jJ,OAAA,YAAkC,IAAA1iJ,EAAAslJ,GAAA38E,SAAA9pE,KAAA0mJ,YAAAt+I,EAAA,IAAA8hB,EAA2C,OAAAlqB,KAAA4mJ,kBAAAzlJ,EAAA2nJ,gBAAA9oJ,KAAA4mJ,gBAAAvX,uBAAArvI,KAAAy8L,eAAAz8L,KAAA4mJ,iBAAAx+I,EAAAu+I,GAAA+1C,yBAAA18L,KAAA4mJ,kBAA2L,IAAA1kJ,EAAAlC,KAAAu8L,mBAAAv8L,KAAA0mJ,YAAA/lJ,EAAA,IAAAqlJ,GAAA9jJ,EAAAlC,KAAA48E,WAA0Ej8E,EAAA46L,eAAAnzL,EAAA,IAAA8hB,EAAAlqB,KAAA6mJ,oBAAAr/H,WAAA7mB,EAAAu7L,sBAAAv7L,EAAAs6L,qBAAAj7L,KAAA6jJ,OAAAljJ,EAAAm7L,kBAA2IM,aAAA,SAAAj7L,GAA0BnB,KAAA48E,UAAAz7E,GAAiBo6L,eAAA,SAAAp6L,GAA4BnB,KAAA4mJ,gBAAAzlJ,GAAuBk7L,SAAA,SAAAl7L,GAAsBnB,KAAA0mJ,WAAAD,GAAA61C,yBAAAn7L,IAA+CsmK,SAAA,SAAAtmK,GAAsB,OAAAnB,KAAA4jB,SAAA5jB,KAAA6jJ,OAAA4jB,SAAAtmK,IAA6C26L,eAAA,WAA2B,OAAA97L,KAAA4jB,SAAA5jB,KAAA6jJ,QAAiCk1C,aAAA,SAAA53L,GAA0B,OAAAnB,KAAA4jB,SAAA5jB,KAAA6jJ,OAAAk1C,aAAA53L,IAAiDs7L,eAAA,SAAAt7L,GAA4B,QAAAiH,EAAAjH,EAAAyzB,iBAAA1yB,EAAA,EAAiCA,EAAAkG,EAAAjG,OAAWD,IAAA,CAAK,IAAAvB,EAAA,IAAA4iJ,GAAAn7I,EAAAlG,IAAmBlC,KAAA6mJ,oBAAA7qB,IAAA5zH,EAAAlG,GAAAvB,KAAsCk1H,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAR,MAAWA,GAAA+1C,yBAAA,WAAyC,OAAA9sJ,UAAAztC,OAAA,CAAyB,QAAAhB,EAAAyuC,UAAA,GAAAxnC,EAAA4lC,GAAA+hI,SAAA5uK,GAAAe,EAAA,IAAAgoB,EAAAvpB,EAAAyH,EAAAsmF,WAA+D/tF,EAAAwnJ,WAAY,CAAE,IAAA5yI,EAAA5U,EAAAkb,OAAe8qI,GAAA+1C,yBAAAnnL,EAAArT,GAAiC,OAAAA,EAAS,OAAA0tC,UAAAztC,OAAA,KAAAq7B,EAAAoS,UAAA,GAAA9tC,EAAA8tC,UAAA,GAAAtvC,EAAAk9B,EAAA5I,iBAAA,IAAAj0B,EAAA,EAAuFA,EAAAL,EAAA6B,OAAWxB,IAAAmB,EAAA0iD,IAAA,IAAAghG,GAAAllJ,EAAAK,EAAA,GAAAL,EAAAK,OAA+ByH,EAAA0+I,GAAA7lJ,UAAA,CAAiB2iB,OAAA,WAAkB,UAAA5jB,KAAA6jJ,OAAA,YAAkC,IAAA1iJ,EAAAslJ,GAAA38E,SAAA9pE,KAAA0mJ,YAAmC1mJ,KAAAgnJ,WAAA7lJ,EAAkB,IAAAiH,EAAArE,KAAA0K,IAAAzO,KAAAgnJ,WAAA0B,WAAA1oJ,KAAAgnJ,WAAA2B,aAAuE3oJ,KAAAgnJ,WAAAiC,SAAA7gJ,GAAA,OAAApI,KAAA+mJ,SAAA/mJ,KAAAgnJ,WAAA8B,gBAAA9oJ,KAAA+mJ,SAA+F,IAAA7kJ,EAAAukJ,GAAA01C,WAAAn8L,KAAA0mJ,YAAqC1mJ,KAAA6jJ,OAAA,IAAAQ,GAAAljJ,EAAAnB,KAAA48E,WAAqC,IAAAj8E,EAAA,IAAAijJ,GAAA5jJ,KAAA6jJ,QAA0BljJ,EAAAw3L,YAAAj2L,IAAiBy6L,WAAA,SAAAx7L,GAAwBnB,KAAA4jB,SAAc,IAAAxb,EAAApI,KAAA6jJ,OAAAu1C,kBAAAj4L,GAAuC,OAAA2lJ,GAAA81C,uBAAAx0L,EAAApI,KAAAgnJ,aAAoDo1C,aAAA,SAAAj7L,GAA0BnB,KAAA48E,UAAAz7E,GAAiBk7L,SAAA,WAAqB,GAAAzsJ,UAAA,aAAAxH,EAAA,CAA6B,IAAAjnC,EAAAyuC,UAAA,GAAmB5vC,KAAA0mJ,WAAAD,GAAA61C,yBAAAn7L,QAA+C,GAAAuuG,EAAA9/D,UAAA,GAAA9sC,GAAA,CAA2B,IAAAsF,EAAAwnC,UAAA,GAAmB5vC,KAAA0mJ,WAAAD,GAAAh5G,OAAA8oF,EAAAgyB,kBAAAngJ,MAAmDy0L,gBAAA,SAAA17L,GAA6BnB,KAAA+mJ,QAAA5lJ,GAAe26L,eAAA,WAA2B,OAAA97L,KAAA4jB,SAAA5jB,KAAA6jJ,QAAiChuB,YAAA,WAAwB,UAASsxB,SAAA,WAAqB,OAAAL,MAAWA,GAAA81C,uBAAA,SAAAz7L,EAAAiH,GAA0C,QAAAlG,EAAAf,EAAAg3H,aAAAo1B,WAAAnlJ,GAAAzH,EAAA,IAAAupB,EAAA3U,EAAA,EAAmDA,EAAApU,EAAA0/H,mBAAuBtrH,IAAA,CAAK,IAAAioB,EAAAr8B,EAAAyrJ,aAAAr3I,GAAAzT,EAAA,KAA+BsG,EAAA8gJ,SAAA1rH,EAAA6xG,uBAAAvtI,EAAA07B,EAAAp1B,EAAAooD,WAAAhzB,EAAA6xG,yBAAAvtI,EAAAI,EAAAg4G,aAAA18E,GAAA17B,EAAA6rJ,YAAAnwH,EAAA8vH,gBAAA,OAAAxrJ,KAAAq4G,WAAAx5G,EAAA6jD,IAAA1iD,GAAoK,OAAAX,EAAAg3H,aAAAm5B,yBAAAj4B,GAAA67B,gBAAAv0J,KAAuE,IAAAm8L,GAAA1kL,OAAA8iJ,OAAA,CAAsB6hC,OAAAz5C,KAAU05C,GAAA5kL,OAAA8iJ,OAAA,CAAoB+hC,uCAAAt2C,GAAAu2C,6BAAAz2C,GAAA02C,sBAAAr2C,GAAAs2C,SAAAN,KAAiH10L,EAAA6+I,GAAAhmJ,UAAA,CAAgB40H,YAAA,WAAuB,UAASsxB,SAAA,WAAqB,OAAAF,MAAWA,GAAApnF,MAAA,SAAA1+D,EAAAiH,GAAyB,GAAAjH,EAAAg5G,WAAA/xG,EAAA+xG,UAAA,CAA6B,GAAAh5G,EAAAg5G,WAAA/xG,EAAA+xG,UAAA,OAAAs0B,GAAA4jC,kBAAA5jC,GAAA4kC,MAAAlyK,EAAAiH,EAAAjH,EAAAg3H,cAAqF,GAAAh3H,EAAAg5G,UAAA,OAAA/xG,EAAA6/G,OAA+B,GAAA7/G,EAAA+xG,UAAA,OAAAh5G,EAAA8mH,OAA+B,OAAA9mH,EAAAqsJ,2BAAArsJ,KAAAqsJ,2BAAAplJ,GAAA+8H,GAAA6tC,UAAA7xK,EAAAiH,EAAAqmI,GAAA4kC,QAAkGjrK,EAAAggC,EAAAnnC,UAAA,CAAgB6rJ,WAAA,SAAA3rJ,GAAuB,QAAAnB,KAAAqvI,sBAAAxwD,OAAA19E,EAAAkuI,wBAAA8Q,GAAA+vC,OAAAlwL,KAAAmB,GAAA45J,SAAA/6J,KAAAg6H,eAAA74H,EAAA64H,iBAAqIn6D,MAAA,WAAkB,OAAAjwB,UAAAztC,OAAA,OAAA4+I,GAAAlhF,MAAA7/D,MAA8C,OAAA4vC,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAq3G,GAAApnF,MAAA7/D,KAAAmB,KAAyBmjE,QAAA,WAAoB,OAAAi5E,GAAAj5E,QAAAtkE,OAAwBk6G,aAAA,SAAA/4G,GAA0B,GAAAnB,KAAAm6G,WAAAh5G,EAAAg5G,UAAA,OAAAs0B,GAAA4jC,kBAAA5jC,GAAAs+B,aAAA/sK,KAAAmB,EAAAnB,KAAA+5B,SAAgG,GAAA/5B,KAAAmS,uBAAA,CAAgC,IAAA/J,EAAAjH,EAAQ,OAAAglI,GAAAh9H,IAAAnJ,KAAA,CAAoB61H,YAAA,WAAuB,OAAAo9C,QAAc9pK,IAAA,SAAAhI,GAAiB,OAAAA,EAAA+4G,aAAA9xG,MAA4B,OAAApI,KAAAwtJ,2BAAAxtJ,WAAAwtJ,2BAAArsJ,GAAAgkI,GAAA6tC,UAAAhzK,KAAAmB,EAAAstI,GAAAs+B,eAAqHlkB,OAAA,SAAA1nJ,GAAoB,OAAAg/I,GAAA0I,OAAA7oJ,KAAAmB,IAAyBkvL,UAAA,SAAAlvL,GAAuB,OAAAg/I,GAAAkwC,UAAArwL,KAAAmB,IAA4BgvL,QAAA,SAAAhvL,GAAqB,OAAAg/I,GAAAgwC,QAAAnwL,KAAAmB,IAA0BqvD,WAAA,SAAArvD,GAAwB,OAAAg/I,GAAA3vF,WAAAxwD,KAAAmB,IAA6BivL,OAAA,SAAAjvL,GAAoB,OAAAg/I,GAAAiwC,OAAApwL,KAAAmB,IAAyBqzK,SAAA,SAAArzK,GAAsB,OAAAg/I,GAAAq0B,SAAAx0K,KAAAmB,IAA2B+7C,SAAA,SAAA/7C,GAAsB,OAAAg/I,GAAAjjG,SAAAl9C,KAAAmB,IAA2BovL,QAAA,SAAApvL,GAAqB,OAAAg/I,GAAAowC,QAAAvwL,KAAAmB,IAA0B+9B,OAAA,WAAmB,OAAA0Q,UAAAztC,OAAA,CAAyB,IAAAhB,EAAAyuC,UAAA,GAAmB,OAAAmqG,GAAAyrC,SAAAxlL,KAAAmB,GAA2B,OAAAyuC,UAAAztC,OAAA,CAAyB,IAAAiG,EAAAwnC,UAAA,GAAA1tC,EAAA0tC,UAAA,GAAkC,OAAAmqG,GAAAyrC,SAAAxlL,KAAAoI,EAAAlG,GAA6B,OAAA0tC,UAAAztC,OAAA,CAAyB,IAAAxB,EAAAivC,UAAA,GAAAr6B,EAAAq6B,UAAA,GAAApS,EAAAoS,UAAA,GAAiD,OAAAmqG,GAAAyrC,SAAAxlL,KAAAW,EAAA4U,EAAAioB,KAAgCsE,WAAA,WAAuB,WAAA32B,GAAAnL,MAAA88J,iBAAoCozB,OAAA,WAAmB,QAAA/uL,EAAAyuC,UAAAztC,OAAAiG,EAAAvG,MAAAV,GAAAe,EAAA,EAA0CA,EAAAf,EAAIe,IAAAkG,EAAAlG,GAAA0tC,UAAA1tC,GAAsB,OAAAi+I,GAAA+vC,OAAA3tL,MAAA49I,GAAA,CAAAngJ,MAAA0U,OAAAtM,KAA4CsnI,YAAA,WAAwB,GAAA1vI,KAAAm6G,UAAA,OAAAn6G,KAAA+5B,QAAA83H,cAAoD,IAAA1wJ,EAAAw8H,GAAA+R,YAAA1vI,MAA2B,OAAAA,KAAA21J,6BAAAx0J,EAAAnB,OAAiD4zK,iBAAA,WAA6B,GAAA5zK,KAAAm6G,UAAA,OAAAn6G,KAAA+5B,QAAA83H,cAAoD,IAAA1wJ,EAAA,KAAAiH,EAAApI,KAAAg6H,eAAiC,OAAA5xH,EAAA,CAAU,IAAAlG,EAAA,IAAAsjI,GAAAxlI,MAAmBmB,EAAAe,EAAA0xK,wBAAuB,OAAAxrK,EAAA,CAAelG,EAAA,IAAAs1B,GAAAx3B,MAAmBmB,EAAAe,EAAA0xK,uBAAuB,CAAK1xK,EAAA,IAAA6sI,GAAA/uI,MAAmBmB,EAAAe,EAAA0xK,mBAAuB,OAAA5zK,KAAA21J,6BAAAx0J,EAAAnB,OAAiDkzK,cAAA,SAAA/xK,GAA2B,GAAAnB,KAAAm6G,WAAAh5G,EAAAg5G,UAAA,CAAgC,GAAAn6G,KAAAm6G,WAAAh5G,EAAAg5G,UAAA,OAAAs0B,GAAA4jC,kBAAA5jC,GAAA0kC,cAAAnzK,KAAAmB,EAAAnB,KAAA+5B,SAAiG,GAAA/5B,KAAAm6G,UAAA,OAAAh5G,EAAA8mH,OAAkC,GAAA9mH,EAAAg5G,UAAA,OAAAn6G,KAAAioH,OAAkC,OAAAjoH,KAAAwtJ,2BAAAxtJ,WAAAwtJ,2BAAArsJ,GAAAgkI,GAAA6tC,UAAAhzK,KAAAmB,EAAAstI,GAAA0kC,gBAAsHxd,6BAAA,SAAAx0J,EAAAiH,GAA4C,OAAAA,EAAA8lI,oBAAA2mB,YAAA1zJ,GAAAiH,EAAA+vH,aAAA05B,YAAA1wJ,IAA0Ek8L,OAAA,WAAmB,IAAAl8L,EAAA,IAAAm7H,GAAa,OAAAn7H,EAAA8+B,MAAAjgC,OAAqBotB,SAAA,WAAqBptB,KAAAq9L,UAAcn0C,SAAA,SAAA/nJ,GAAsB,OAAAg/I,GAAA+I,SAAAlpJ,KAAAmB,IAA2BoyK,WAAA,SAAApyK,GAAwB,OAAAnB,KAAAm6G,UAAAs0B,GAAA4jC,kBAAA5jC,GAAA6kC,WAAAtzK,KAAAmB,EAAAnB,KAAA+5B,SAAA54B,EAAAg5G,UAAAn6G,KAAAioH,QAAAjoH,KAAAwtJ,2BAAAxtJ,WAAAwtJ,2BAAArsJ,GAAAgkI,GAAA6tC,UAAAhzK,KAAAmB,EAAAstI,GAAA6kC,cAAoNtgB,SAAA,WAAqB,IAAA7xJ,EAAA,IAAA6yI,GAAAh0I,MAAmB,OAAAmB,EAAA6xJ,YAAoBwzB,iBAAA,SAAArlL,EAAAiH,GAAgC,IAAAlG,EAAAlC,KAAAqvI,sBAAA37H,SAAAvS,EAAAkuI,uBAAmE,QAAAntI,EAAAkG,IAAAuyI,GAAA6rC,iBAAAxmL,KAAAmB,EAAAiH,IAA4CsL,SAAA,SAAAvS,GAAsB,OAAAw5I,GAAAjnI,SAAA1T,KAAAmB,IAA2BiwJ,kBAAA,SAAAjwJ,GAA+B,OAAAnB,KAAAmnJ,aAAAhmJ,EAAAgmJ,cAAyC,IAAAm2C,GAAA,kBAAyBn8L,EAAAu1G,QAAA4mF,GAAAn8L,EAAAo8L,UAAAtlB,GAAA92K,EAAA23K,QAAAG,GAAA93K,EAAAkrE,SAAAquG,GAAAv5K,EAAA2F,KAAA0jC,GAAArpC,EAAAq8L,UAAA5iB,GAAAz5K,EAAAf,MAAAm7K,GAAAp6K,EAAAy+B,GAAAu9I,GAAAh8K,EAAAs8L,OAAAjgB,GAAAr8K,EAAAu8L,UAAA1L,GAAA7wL,EAAAmc,UAAAs1K,GAAAzxL,EAAA8xD,SAAAihI,GAAA/yL,EAAAynC,YAAAo0J,GAAA5kL,OAAAC,eAAAlX,EAAA,cAAkN8E,OAAA,6FClB1/8B,IAAAgS,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiB0uK,YAAA,CAAa51L,SAAA,aAAuB,CAAAknB,EAAA,gBAAqBe,MAAA,CAAOgH,SAAAlI,EAAAkI,SAAA1tB,MAAAwlB,EAAAxlB,MAAAoD,QAAAoiB,EAAA8uK,WAAAntG,OAAA3hE,EAAA+uK,YAAAvtG,cAAA,GAAAvwC,YAAA,mBAAA+U,SAAAhmC,EAAAgmC,WAAAhmC,EAAAuB,QAAAlqB,KAAA,6BAAyNupB,MAAA,CAAQzpB,MAAA6oB,EAAA,kBAAAliB,SAAA,SAAA+iB,GAAuDb,EAAAgvK,kBAAAnuK,GAA0BE,WAAA,sBAAiC,CAAAf,EAAAivK,UAA+CjvK,EAAAgB,KAA/Cb,EAAA,YAAkCqmC,KAAA,SAAa,CAAAxmC,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAAkvK,eAAA,YAAAlvK,EAAAoD,GAAA,cAAwFojC,KAAA,WAAe,GAAArmC,EAAA,uBAAgCe,MAAA,CAAOiuK,MAAA,GAAAvkJ,QAAA5qB,EAAA4qB,QAAAsgC,MAAAlrD,EAAAkrD,SAAoDlrD,EAAAovK,WAAApvK,EAAA7oB,MAAAgpB,EAAA,mBAAqDe,MAAA,CAAOg1D,cAAAl2D,EAAA7oB,SAAyB6oB,EAAAgB,MAAA,IACn0BoB,EAAA,mrBC4BA,IAAAitK,EAAA,CACA9qK,WAAA,CACAo/D,eAAA,KACA+L,kBAAA,KACAjR,sBAAA,MAEA50E,MAAA,CACA1S,MAAAymB,OACA2D,QAAA3D,OACAsK,SAAA,CACA9wB,KAAAimC,QACA1a,SAAA,GAEAqjC,SAAA3oB,QACA7iC,MAAAojB,OACAqxK,UAAA5xJ,QACAzqC,OAAAZ,SACAo9L,UAAA/xJ,QACAiyJ,iBAAA,CACAl4L,KAAAimC,QACA1a,SAAA,IAGA7oB,KAvBA,WAwBA,OACA8wC,SAAA,EACAsgC,OAAA,IAGAtoD,SAAAuF,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,qBACA,qBAFA,GAIAA,OAAA8e,EAAA,KAAA9e,CAAA,mCACA+e,cAAA,SAAAC,GAAA,OAAAA,EAAAxuB,KAAAyuB,QAAAC,WACA+mK,oBAAA,SAAAjnK,GAAA,OAAAA,EAAAxuB,KAAAyuB,QAAAinK,mBANA,CAQAV,WARA,WAQA,IAAA9iL,EAAA9a,KACA,IAAAA,KAAAq+L,oBAAAr+L,KAAAqwB,SACA,SAGA,IAAAkuK,EAAAv+L,KAAAo+L,iBAAAp+L,KAAAq+L,oBAAAr+L,KAAAqwB,SAAArwB,KAAAq+L,oBAAAr+L,KAAAqwB,SAAA3uB,OAAA,SAAA8I,GAAA,OAAAsQ,EAAAqc,cAAA3sB,GAAAw2D,SAEA,OAAAhhE,KAAA0B,OACA68L,EAAA78L,OAAA,SAAA8I,GAAA,OAAAsQ,EAAApZ,OAAAoZ,EAAAqc,cAAA3sB,MACA+zL,GAEAP,cAnBA,WAoBA,OAAAh+L,KAAAsJ,MACAtJ,KAAAsJ,MAEAtJ,KAAAw+L,WAGAV,kBAAA,CACAxlL,IADA,WAEA,OAAAtY,KAAA49L,WAAAvpK,SAAAr0B,KAAAiG,OAAAjG,KAAAiG,MAAA,MAEAsS,IAJA,SAIAwe,GAAA,IAAA9b,EAAAjb,KACAA,KAAAgsC,MAAA,QAAAjV,GAEAA,IAEA/2B,KAAA05C,SAAA,EAEA15C,KAAA63B,mBAAAd,GACAw4B,KAAA,WACAt0C,EAAAy+B,SAAA,EACAz+B,EAAA+wB,MAAA,mBAEA+qE,MAAA,SAAA/8B,GAGA,MAFA/+D,EAAAy+B,SAAA,EACAz+B,EAAA++D,OAAA,EACAA,OAIA6jH,YAjDA,WAiDA,IAAAviL,EAAAtb,KACA,OACAqJ,KAAA,SAAAmB,GAAA,OAAA8Q,EAAA6b,cAAA3sB,GAAArE,MACAmD,MAAA,SAAAkB,GAAA,OAAA8Q,EAAAmjL,YAAAnjL,EAAA6b,cAAA3sB,OAGAg0L,UAvDA,WAwDA,OAAAx+L,KAAA0+L,iBAAA1+L,KAAAqwB,YAGAkE,QAAA0C,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,mCACA,wBACA,uBAHA,CAKAqmL,YALA,SAKAt1L,GACA,kBAAAA,EAAAsuB,SACA,YAGA,OAAAtuB,EAAA2gC,QACA,6BACA,qCACA,0BACA,qBAIApS,MAAA,CACArH,QAAA,CACAsH,WAAA,EACAC,QAFA,SAEAvH,GAAA,IAAA1U,EAAA3b,KACAqwB,IAEArwB,KAAA05C,SAAA,EAEA15C,KAAA2+L,sBAAAtuK,GACAk/B,KAAA,WACA5zC,EAAA+9B,SAAA,IAEAq9D,MAAA,SAAA/8B,GAGA,MAFAr+D,EAAA+9B,SAAA,EACA/9B,EAAAq+D,OAAA,EACAA,OAIA4jH,WAAA,CACAjmK,WAAA,EACAC,QAFA,SAEA2mK,GACAv+L,KAAAiG,QAAAs4L,EAAAlqK,SAAAr0B,KAAAiG,QACAjG,KAAAgsC,MAAA,kBC9Jwa4yJ,EAAA,cCOxa9sK,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdwmL,EACA3mL,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,kCClBf,IAAArsB,EAAehG,EAAQ,QAAiBgG,SACxCu5B,EAAwBv/B,EAAQ,QAAeu/B,kBA0B/C3/B,EAAAC,QAAA,SAAA6a,EAAAC,EAAA+kB,GACA,IAAAquE,EAAAzpG,KAAAsvC,GAAA,IACAq6D,EAAAjoG,EAAA0U,GACA0kL,EAAAp5L,EAAA2U,GACA04C,EAAA06C,GAAAqxF,EAAA,GAAAnxF,EAAA,IACA36C,EAAAy6C,GAAAqxF,EAAA,GAAAnxF,EAAA,IACA/6C,EAAA66C,EAAAE,EAAA,GACA76C,EAAA26C,EAAAqxF,EAAA,GAEAv+L,EAAAyD,KAAAulB,IAAAvlB,KAAAolB,IAAA2pC,EAAA,MACA/uD,KAAAulB,IAAAvlB,KAAAolB,IAAA4pC,EAAA,MAAAhvD,KAAAklB,IAAA0pC,GAAA5uD,KAAAklB,IAAA4pC,GAEA,OAAA7zB,EAAA,EAAAj7B,KAAAg4C,MAAAh4C,KAAAgR,KAAAzU,GAAAyD,KAAAgR,KAAA,EAAAzU,IAAA6+B,yCCrCA9/B,EAAAC,QAAAw/L,EAEA,IAAAC,EAAmBt/L,EAAQ,QAE3B,SAAAq/L,EAAA98L,GACA,IAAAg9L,EAAAD,EAAA/8L,GACA07B,EAAAshK,EAAA78L,OACA,GAAAu7B,GAAA,EACA,SAIA,IAFA,IAAA3jB,EAAA,IAAAlY,MAAA67B,GACAp9B,EAAA0+L,EAAAthK,EAAA,GACA/8B,EAAA,EAAcA,EAAA+8B,IAAK/8B,EAAA,CACnB,IAAAJ,EAAAy+L,EAAAr+L,GACAoZ,EAAApZ,GAAA,CAAAL,EAAAC,GACAD,EAAAC,EAEA,OAAAwZ,wCCnBA,IAAAklL,EAAAx/L,EAAA,QAAAy/L,EAAAz/L,EAAAyC,EAAA+8L,GAAwqBC,EAAG,mDCA3qB,IAAAxrL,EAAejU,EAAQ,QA0BvBJ,EAAAC,QAAA,SAAA6/L,EAAAn9L,GAEA,IADA,IAAAo9L,EAAAC,EAAAzqL,IACAjU,EAAA,EAAmBA,EAAAqB,EAAAwE,SAAArE,OAA4BxB,IAAA,CAC/C,IAAA2+L,EAAA5rL,EAAAyrL,EAAAn9L,EAAAwE,SAAA7F,GAAA,SACA2+L,EAAAD,IACAD,EAAAp9L,EAAAwE,SAAA7F,GACA0+L,EAAAC,GAGA,OAAAF,wCCjCA,IAAA7pK,EAAiB91B,EAAQ,QACzB8/L,EAAgB9/L,EAAQ,QACxB+/L,EAAkB//L,EAAQ,QAC1BggM,EAAqBhgM,EAAQ,QAE7BigM,EAAA,EAEAC,EAAA,sBACAC,GAAA,KAAAD,KACAE,GAAA,KAAAF,KAEA,SAAAG,EAAAriK,EAAA97B,GAEA,IADA,IAAA+9B,EAAA,IAAA79B,MAAA47B,EAAAt7B,OAAA,GACAxB,EAAA,EAAcA,EAAA88B,EAAAt7B,SAAYxB,EAE1B,IADA,IAAA4U,EAAAmqB,EAAA/+B,EAAA,OAAAkB,MAAA47B,EAAAt7B,OAAA,GACAS,EAAA,EAAAG,EAAA,EAAoBH,EAAA66B,EAAAt7B,SAAYS,EAChCA,IAAAjB,IAGA4T,EAAAxS,KAAA06B,EAAA98B,GAAAiC,IAGA,OAAA88B,EAGA,SAAAwL,EAAAhpC,GAEA,IADA,IAAAw9B,EAAA,IAAA79B,MAAAK,GACAvB,EAAA,EAAcA,EAAAuB,IAAKvB,EAAA,CACnB++B,EAAA/+B,GAAA,IAAAkB,MAAAK,GACA,QAAAU,EAAA,EAAgBA,EAAAV,IAAKU,EACrB88B,EAAA/+B,GAAAiC,GAAA,KAAAA,EAAA,IAAAV,EAAAvB,EAAA,OAAAI,KAAA,IAGA,OAAA2+B,EAGA,SAAAkhB,EAAA1+C,GACA,SAAAA,EACA,IAEA,GAGA,SAAA69L,EAAAC,GACA,OAAAA,EAAA79L,OACA,OAAA69L,EAAA,GACG,OAAAA,EAAA79L,OACH,cAAA69L,EAAA,OAAAA,EAAA,QAAAj/L,KAAA,IAEA,IAAA08B,EAAAuiK,EAAA79L,QAAA,EACA,cAAA49L,EAAAC,EAAA19L,MAAA,EAAAm7B,IAAA,IAAAsiK,EAAAC,EAAA19L,MAAAm7B,IAAA,KAAA18B,KAAA,IAIA,SAAAk/L,EAAAxiK,GACA,OAAAA,EAAAt7B,OACA,oBAAAs7B,EAAA,UAAAA,EAAA,iBAAAA,EAAA,UAAAA,EAAA,YAAA18B,KAAA,KAGA,IADA,IAAAi/L,EAAA,GACAr/L,EAAA,EAAgBA,EAAA88B,EAAAt7B,SAAYxB,EAC5Bq/L,EAAAp/L,KAAA,UAAAm/L,EAAAE,EAAAH,EAAAriK,EAAA98B,KAAA,IAAAigD,EAAAjgD,GAAA88B,EAAA,GAAA98B,GAAA,KAAAI,KAAA,KAEA,OAAAi/L,EAIA,SAAA1xD,EAAApsI,GAKA,IAJA,IAAAmU,EAAA,GACA6pL,EAAA,GACAziK,EAAAyN,EAAAhpC,GACAytC,EAAA,GACAhvC,EAAA,EAAcA,EAAAuB,IAAKvB,EACnB,OAAAA,GACA0V,EAAAzV,KAAA2B,MAAA8T,EAAA4pL,EAAAH,EAAAriK,EAAA98B,KAEAu/L,EAAAt/L,KAAA2B,MAAA29L,EAAAD,EAAAH,EAAAriK,EAAA98B,KAEAgvC,EAAA/uC,KAAA,IAAAD,GAEA,IAAAw/L,EAAAJ,EAAA1pL,GACA+pL,EAAAL,EAAAG,GACAG,EAAA,cAAAn+L,EAAA,QACAxB,EAAA,aAAA2/L,EAAA,IAAA1wJ,EAAA5uC,OAAA,WAA0Do/L,EAAA,MAAAC,EAAA,6CACnCC,GAAAt/L,KAAA,IACvBF,EAAA,IAAAC,SAAA,2BAAAJ,GACA,OAAAG,EAAA0+L,EAAAhqK,EAAAiqK,EAAAC,GAGA,IAAAa,EAAAhyD,EAAA,GACAiyD,EAAAjyD,EAAA,GAEAkyD,EAAA,CACA,WAA2B,UAC3B,WAA2B,UAC3B,SAAAlgM,EAAAC,GACA,OAAAA,EAAA,GAAAD,EAAA,IAEA,SAAAA,EAAAC,EAAAoB,GACA,IAGA67B,EAHAzrB,GAAAzR,EAAA,GAAAqB,EAAA,KAAApB,EAAA,GAAAoB,EAAA,IACA4T,GAAAjV,EAAA,GAAAqB,EAAA,KAAApB,EAAA,GAAAoB,EAAA,IACAy7B,EAAArrB,EAAAwD,EAEA,GAAAxD,EAAA,GACA,GAAAwD,GAAA,EACA,OAAA6nB,EAEAI,EAAAzrB,EAAAwD,MAEK,MAAAxD,EAAA,GAOL,OAAAqrB,EANA,GAAA7nB,GAAA,EACA,OAAA6nB,EAEAI,IAAAzrB,EAAAwD,GAKA,IAAAkrL,EAAAb,EAAApiK,EACA,OAAAJ,GAAAqjK,GAAArjK,IAAAqjK,EACArjK,EAEAkjK,EAAAhgM,EAAAC,EAAAoB,IAEA,SAAArB,EAAAC,EAAAoB,EAAAlB,GACA,IAAAigM,EAAApgM,EAAA,GAAAG,EAAA,GACAkgM,EAAApgM,EAAA,GAAAE,EAAA,GACAmgM,EAAAj/L,EAAA,GAAAlB,EAAA,GACAogM,EAAAvgM,EAAA,GAAAG,EAAA,GACAqgM,EAAAvgM,EAAA,GAAAE,EAAA,GACAsgM,EAAAp/L,EAAA,GAAAlB,EAAA,GACAugM,EAAA1gM,EAAA,GAAAG,EAAA,GACAwgM,EAAA1gM,EAAA,GAAAE,EAAA,GACAygM,EAAAv/L,EAAA,GAAAlB,EAAA,GACA0gM,EAAAR,EAAAI,EACAK,EAAAR,EAAAE,EACAO,EAAAT,EAAAC,EACAS,EAAAZ,EAAAK,EACAQ,EAAAb,EAAAI,EACAU,EAAAb,EAAAE,EACAzjK,EAAA4jK,GAAAG,EAAAC,GACAH,GAAAI,EAAAC,GACAJ,GAAAK,EAAAC,GACAC,GAAA19L,KAAA6hB,IAAAu7K,GAAAp9L,KAAA6hB,IAAAw7K,IAAAr9L,KAAA6hB,IAAAo7K,IACAj9L,KAAA6hB,IAAAy7K,GAAAt9L,KAAA6hB,IAAA07K,IAAAv9L,KAAA6hB,IAAAq7K,IACAl9L,KAAA6hB,IAAA27K,GAAAx9L,KAAA6hB,IAAA47K,IAAAz9L,KAAA6hB,IAAAs7K,GACAT,EAAAZ,EAAA4B,EACA,OAAArkK,EAAAqjK,IAAArjK,EAAAqjK,EACArjK,EAEAmjK,EAAAjgM,EAAAC,EAAAoB,EAAAlB,KAIA,SAAAihM,EAAA/xJ,GACA,IAAA9uC,EAAA2/L,EAAA7wJ,EAAAxtC,QAIA,OAHAtB,IACAA,EAAA2/L,EAAA7wJ,EAAAxtC,QAAAmsI,EAAA3+F,EAAAxtC,SAEAtB,EAAA0B,WAAAoE,EAAAgpC,GAGA,SAAAgyJ,IACA,MAAAnB,EAAAr+L,QAAAu9L,EACAc,EAAA5/L,KAAA0tI,EAAAkyD,EAAAr+L,SAIA,IAFA,IAAAwtC,EAAA,GACAiyJ,EAAA,SACAjhM,EAAA,EAAcA,GAAA++L,IAAe/+L,EAC7BgvC,EAAA/uC,KAAA,IAAAD,GACAihM,EAAAhhM,KAAA,IAAAD,GAEA,IAAAD,EAAA,CACA,2BAAAivC,EAAA5uC,OAAA,sDAEA,IAAAJ,EAAA,EAAcA,GAAA++L,IAAe/+L,EAC7BD,EAAAE,KAAA,QAAAD,EAAA,YAAAA,EAAA,IAAAgvC,EAAArtC,MAAA,EAAA3B,GAAAI,OAAA,MAEAL,EAAAE,KAAA,mIACAghM,EAAAhhM,KAAAF,EAAAK,KAAA,KAEA,IAAAF,EAAAC,SAAAyB,WAAAoE,EAAAi7L,GACAviM,EAAAC,QAAAuB,EAAA0B,WAAAoE,EAAA,CAAA+6L,GAAAhtL,OAAA8rL,IACA,IAAA7/L,EAAA,EAAcA,GAAA++L,IAAe/+L,EAC7BtB,EAAAC,QAAAqB,GAAA6/L,EAAA7/L,GAIAghM,yCC7LA,IAAA1pL,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,SAAmBE,YAAA,mGAAAolC,MAAA,CAAsHstI,eAAA/yK,EAAAgzK,cAAiC,CAAA7yK,EAAA,SAAAA,EAAA,MAAuB9M,MAAA,CAAQnW,MAAA8iB,EAAAizK,YAAA,OAAgCjzK,EAAAsC,GAAAtC,EAAA,oBAAA2qF,EAAA94G,GAA4C,OAAAsuB,EAAA,MAAgBjW,IAAArY,EAAAwhB,MAAA,CAAcnW,MAAAytG,EAAAztG,QAAsB,CAAA8iB,EAAAoD,GAAA,UAAAunF,EAAA,KAAA3qF,EAAAkzK,iBAAAvoF,EAAAwoF,WAAAxoF,EAAAr1B,MAAAn1D,EAAA,SAAAH,EAAAM,GAAAN,EAAAO,GAAAoqF,EAAAr1B,UAAA,CAAAt1D,EAAAM,GAAA,iBAAAN,EAAAO,GAAAoqF,EAAAr1B,OAAA,mBAA2MA,MAAAq1B,EAAAr1B,QAAqBq1B,EAAA,SAAAxqF,EAAA,4BAAmDe,MAAA,CAAOgxC,OAAArgE,IAAAmuB,EAAAozK,SAAAC,WAAArzK,EAAAqzK,WAAAj8L,KAAAuzG,EAAAvzG,MAA2EyqB,GAAA,CAAKC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAAszK,OAAAzhM,OAAuBmuB,EAAAgB,MAAA,KAAe,KAAAb,EAAA,SAAmB4lC,IAAA,YAAAlkC,GAAA,CAAoBk+H,OAAA//H,EAAAuzK,WAAuB,CAAAvzK,EAAAlmB,KAAA,QAAAkmB,EAAAsC,GAAAtC,EAAA,oBAAA4J,EAAA/3B,GAA6D,OAAAmuB,EAAAoD,GAAA,WAAAjD,EAAA,MAAkCjW,IAAArY,EAAA4zD,MAAAzlC,EAAAwzK,UAAAxzK,EAAAwzK,UAAA5pK,EAAA/3B,GAAA,IAAuDmuB,EAAAsC,GAAAtC,EAAA,oBAAA2qF,EAAA72G,GAA4C,OAAAqsB,EAAA,MAAgBjW,IAAApW,EAAAuf,MAAA,CAAcnW,MAAAytG,EAAAztG,OAAoB2kB,GAAA,CAAMC,MAAA,SAAAkb,GAAyBhd,EAAAkd,MAAA,SAC5pCtT,MACA+gF,SACA8oF,SAAA5hM,EACA6hM,YAAA5/L,EACAqD,MAAAwzG,EAAAxzG,MAAAyyB,EAAA/3B,GACA84C,MAAA3N,OACiB,CAAAhd,EAAAoD,GAAA,GAAAunF,EAAA,IAAAxqF,EAAA,uBAAuDe,MAAA,CAAO/pB,MAAAwzG,EAAAxzG,MAAAyyB,EAAA/3B,GAAAuF,KAAAuzG,EAAAvzG,KAAAu8L,gBAAAhpF,EAAAipF,iBAAqF,CAAIhqK,MAAA+gF,SAAA8oF,SAAA5hM,EAAA6hM,YAAA5/L,EAAAqD,MAAAwzG,EAAAxzG,MAAAyyB,EAAA/3B,MAAoF,KAAM,KAAO+3B,MAAAt4B,MAAAO,OAAsBsuB,EAAA,MAAAA,EAAA,MAAqBE,YAAA,UAAAa,MAAA,CAA6B2yK,QAAA7zK,EAAA8zK,WAAAzgM,SAAiC,CAAA8sB,EAAA,SAAAH,EAAAM,GAAA,sDAClX8B,EAAA,gFCRI2xK,EAAM,WAAgB,IAAA/zK,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAkBE,YAAA,cAAAolC,MAAA,CAAiCyM,OAAAlyC,EAAAkyC,QAAmBrwC,GAAA,CAAKC,MAAA,SAAAkb,GAAyB,OAAAhd,EAAAkd,MAAA,YAA4B,CAAA/c,EAAA,UAAee,MAAA,CAAOq0D,KAAAv1D,EAAAu1D,KAAAy+G,cAAA,OAAkC,IAC7QC,EAAe,uCCSnBC,EAAA,CACAC,OAAA,CAAAt7G,EAAA,KAAAA,EAAA,MACAj2B,OAAA,CAAAi2B,EAAA,MAAAA,EAAA,OACAu7G,OAAA,CAAAv7G,EAAA,KAAAA,EAAA,OAGAw7G,EAAA,CACA9vK,WAAA,CACA+vK,OAAA1kG,EAAA,oBAEA/lF,MAAA,CACAzS,KAAAwmB,OACAs0C,OAAA70B,QACAg2J,WAAAh2J,SAEAza,SAAA,CACA2yD,KADA,WAEA,IAAArkF,KAAAghE,OAAA,OAAA2mB,EAAA,KAEA,IAAArD,EAAA0+G,EAAAhjM,KAAAkG,OAAA,CAAAyhF,EAAA,KAAAA,EAAA,OAEA,OAAArD,EAAAx8D,OAAA9nB,KAAAmiM,gBC/B+YkB,EAAA,0BCQ/YvxK,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdirL,EACAR,EACAE,GACF,EACA,KACA,WACA,MAIeO,EAAAxxK,sBC6CfyxK,EAAA,CACAN,OAAA,SAAA3iM,EAAAC,GAAA,OAAAD,EAAAo6F,cAAAn6F,IACAmxD,OAAA,SAAApxD,EAAAC,GAAA,OAAAD,EAAAC,GACAkxF,KAAA,SAAAnxF,EAAAC,GAAA,OAAA+wF,IAAAhxF,GAAAgxF,IAAA/wF,IACAijM,SAAA,SAAAljM,EAAAC,GAAA,OAAA+wF,IAAAhxF,GAAAgxF,IAAA/wF,IACAoG,UAAA,SAAArG,EAAAC,GAAA,OAAAD,EAAA8sB,WAAAstE,cAAAn6F,EAAA6sB,cAGAq2K,EAAA,CACAR,OAAA,aACAvxI,OAAA,eACA+/B,KAAA,eACA+xG,SAAA,eACA78L,UAAA,QAGA+8L,EAAA,CACArwK,WAAA,CACAiwK,2BACAK,sBAAA,MAEAhrL,MAAA,CACAioF,QAAAxoF,OACA4pL,gBAAA71J,QACA21J,YAAA31J,QACAvjC,KAAA/G,MACAygM,UAAAxhM,SACA8iM,oBAAA,CACA19L,KAAAimC,QACA1a,SAAA,IAGA7oB,KAhBA,WAiBA,OACAs5L,SAAA,KACAC,YAAA,EACAJ,YAAA,OAGArwK,SAAA,CACAkxK,WADA,WACA,IAAA9nL,EAAA9a,KACA,OAAAoY,OAAA2C,KAAA/a,KAAA4gG,SACAz3F,IAAA,SAAA6P,GACA,IAAAohB,EAAAtf,EAAA8lF,QAAA5nF,GACA9S,EAAAk0B,EAAAl0B,KAAAk9F,EAAAhpE,EAAAgpE,SAFAygG,EAEAzpK,EAAAn0B,aAFA,IAAA49L,EAEA,SAAA10L,GAAA,OAAAA,EAAA6J,IAFA6qL,EAEA5B,EAAA7nK,EAAA6nK,SAFA6B,EAGA1pK,EAAA2pK,uBAHA,IAAAD,EAGAP,EAAAr9L,GAHA49L,EAAAE,EAGA5pK,EAAA6pK,mBAHA,IAAAD,EAGAP,EAAAv9L,GAHA89L,EAKA,OACAx5L,GAAAwO,EACAorE,MAAA,kBAAAhqD,EACAA,OACAzzB,IAAAyzB,EAAAgqD,MACAhqD,EAAAgqD,MACAprE,EACAipL,WACA/7L,OACAD,QACAm9F,WACA2gG,kBACAE,cACAj4L,MAAAouB,EAAApuB,MACA02L,aAAAtoK,EAAAsoK,iBAKAwB,WA3BA,WA2BA,IAAAjpL,EAAAjb,KACA,UAAAA,KAAAkiM,UAAAliM,KAAA4jM,oBAAA,OAAA5jM,KAAA4I,KAEA,IAAAA,EAAAwP,OAAA2oB,EAAA,KAAA3oB,CAAApY,KAAA4I,MAHAu7L,EAIAnkM,KAAA4iM,WAAA5iM,KAAAkiM,UAAAj8L,EAJAk+L,EAIAl+L,MAAA89L,EAJAI,EAIAJ,gBAEAvvL,EAAAxU,KAAAmiM,WACA,SAAA7hM,EAAAC,GAAA,OAAAwjM,EAAA99L,EAAA1F,EAAA0a,EAAArS,KAAA5F,QAAAzC,IAAA0F,EAAA3F,EAAA2a,EAAArS,KAAA5F,QAAA1C,MACA,SAAAA,EAAAC,GAAA,OAAAwjM,EAAA99L,EAAA3F,EAAA2a,EAAArS,KAAA5F,QAAA1C,IAAA2F,EAAA1F,EAAA0a,EAAArS,KAAA5F,QAAAzC,MAGA,OADAqI,EAAA5D,KAAAwP,GACA5L,IAGA2rB,QAAA,CACA6tK,OADA,SACAzhM,GACAX,KAAAkiM,WAAAvhM,GAAAX,KAAAmiM,YACAniM,KAAAkiM,SAAA,KACAliM,KAAAmiM,YAAA,GACAniM,KAAAkiM,WAAAvhM,EACAX,KAAAmiM,YAAA,GAEAniM,KAAAkiM,SAAAvhM,EACAX,KAAAmiM,YAAA,GAGA,IAAAiC,EAAA,OAAApkM,KAAAkiM,SACA,KACA,CAAAzoF,OAAAz5G,KAAA4iM,WAAAjiM,GAAAwhM,WAAAniM,KAAAmiM,YAEAniM,KAAAgsC,MAAA,SAAAo4J,IAGA/B,SAnBA,SAmBA5oJ,GACAz5C,KAAAgsC,MAAA,SAAAyN,KAIA04C,QAxFA,WAyFAnyF,KAAA+hM,YAAA/hM,KAAA+1D,MAAAsuI,UAAAC,cCzKkYC,EAAA,ECQ9XC,aAAYpsL,OAAA2Z,EAAA,KAAA3Z,CACdmsL,EACAtsL,EACAiZ,GACF,EACA,KACA,WACA,OAIe1Q,EAAA,KAAAgkL,6CCkBf,SAAA3hH,EAAA1zE,EAAAC,EAAAsyB,GAEA,KAAA1hC,gBAAA6iF,GAAA,WAAAA,EAAA1zE,EAAAC,EAAAsyB,GAEA1hC,KAAAmP,EAAA2Y,OAAA3Y,GACAnP,KAAAoP,EAAA0Y,OAAA1Y,GACApP,KAAA0hC,EAAA5Z,OAAA4Z,GAUAmhD,EAAA5hF,UAAAwjM,KAAA,SAAA3hM,GACA,KAAAA,aAAA+/E,GAAA,UAAAvpE,UAAA,4BAEA,WAAAupE,EAAA7iF,KAAAmP,EAAArM,EAAAqM,EAAAnP,KAAAoP,EAAAtM,EAAAsM,EAAApP,KAAA0hC,EAAA5+B,EAAA4+B,IAUAmhD,EAAA5hF,UAAAyjM,MAAA,SAAA5hM,GACA,KAAAA,aAAA+/E,GAAA,UAAAvpE,UAAA,4BAEA,WAAAupE,EAAA7iF,KAAAmP,EAAArM,EAAAqM,EAAAnP,KAAAoP,EAAAtM,EAAAsM,EAAApP,KAAA0hC,EAAA5+B,EAAA4+B,IAUAmhD,EAAA5hF,UAAAg1L,MAAA,SAAA9mL,GAGA,OAFAA,EAAA2Y,OAAA3Y,GAEA,IAAA0zE,EAAA7iF,KAAAmP,IAAAnP,KAAAoP,EAAAD,EAAAnP,KAAA0hC,EAAAvyB,IAUA0zE,EAAA5hF,UAAA0jM,UAAA,SAAAx1L,GAGA,OAFAA,EAAA2Y,OAAA3Y,GAEA,IAAA0zE,EAAA7iF,KAAAmP,IAAAnP,KAAAoP,EAAAD,EAAAnP,KAAA0hC,EAAAvyB,IAUA0zE,EAAA5hF,UAAAy0L,IAAA,SAAA5yL,GACA,KAAAA,aAAA+/E,GAAA,UAAAvpE,UAAA,4BAEA,OAAAtZ,KAAAmP,EAAArM,EAAAqM,EAAAnP,KAAAoP,EAAAtM,EAAAsM,EAAApP,KAAA0hC,EAAA5+B,EAAA4+B,GAUAmhD,EAAA5hF,UAAAs9C,MAAA,SAAAz7C,GACA,KAAAA,aAAA+/E,GAAA,UAAAvpE,UAAA,4BAEA,IAAAnK,EAAAnP,KAAAoP,EAAAtM,EAAA4+B,EAAA1hC,KAAA0hC,EAAA5+B,EAAAsM,EACAA,EAAApP,KAAA0hC,EAAA5+B,EAAAqM,EAAAnP,KAAAmP,EAAArM,EAAA4+B,EACAA,EAAA1hC,KAAAmP,EAAArM,EAAAsM,EAAApP,KAAAoP,EAAAtM,EAAAqM,EAEA,WAAA0zE,EAAA1zE,EAAAC,EAAAsyB,IASAmhD,EAAA5hF,UAAAqpJ,OAAA,WACA,WAAAznE,GAAA7iF,KAAAmP,GAAAnP,KAAAoP,GAAApP,KAAA0hC,IASAmhD,EAAA5hF,UAAAkB,OAAA,WACA,OAAA4B,KAAAgR,KAAA/U,KAAAmP,EAAAnP,KAAAmP,EAAAnP,KAAAoP,EAAApP,KAAAoP,EAAApP,KAAA0hC,EAAA1hC,KAAA0hC,IAUAmhD,EAAA5hF,UAAA0jE,KAAA,WACA,IAAAyoF,EAAAptJ,KAAAmC,SACA,MAAAirJ,EAAA,OAAAptJ,KACA,MAAAotJ,EAAA,OAAAptJ,KAEA,IAAAmP,EAAAnP,KAAAmP,EAAAi+I,EACAh+I,EAAApP,KAAAoP,EAAAg+I,EACA1rH,EAAA1hC,KAAA0hC,EAAA0rH,EAEA,WAAAvqE,EAAA1zE,EAAAC,EAAAsyB,IAYAmhD,EAAA5hF,UAAA2jM,QAAA,SAAA9hM,EAAAZ,GACA,KAAAY,aAAA+/E,GAAA,UAAAvpE,UAAA,4BACA,KAAApX,aAAA2gF,QAAAl8E,GAAAzE,GAAA,UAAAoX,UAAA,4BAEA,IAAAsnC,OAAAj6C,GAAAzE,EAAA,EAAA6B,KAAA68C,KAAA5gD,KAAAu+C,MAAAz7C,GAAA4yL,IAAAxzL,IACA2iM,EAAA7kM,KAAAu+C,MAAAz7C,GAAAX,SAAAy+C,EACAkkJ,EAAA9kM,KAAA01L,IAAA5yL,GAEA,OAAAiB,KAAAg4C,MAAA8oJ,EAAAC,IAWAjiH,EAAA5hF,UAAA8jM,aAAA,SAAA1yF,EAAA2yF,GACA,KAAA3yF,aAAAxvB,GAAA,UAAAvpE,UAAA,+BAiBA,IAbA,IAAA+F,EAAArf,KAAA2kE,OACAzoC,EAAA,CAAA7c,EAAAlQ,EAAAkQ,EAAAjQ,EAAAiQ,EAAAqiB,GACAphC,EAAA+xG,EAAA1tC,OACAnnC,EAAAz5B,KAAAolB,IAAA67K,GACArjM,EAAAoC,KAAAklB,IAAA+7K,GAEApvK,EAAA,CACA,CAAAt1B,EAAA6O,EAAA7O,EAAA6O,GAAA,EAAAxN,KAAArB,EAAA6O,EAAA7O,EAAA8O,GAAA,EAAAzN,GAAArB,EAAAohC,EAAAlE,EAAAl9B,EAAA6O,EAAA7O,EAAAohC,GAAA,EAAA//B,GAAArB,EAAA8O,EAAAouB,GACA,CAAAl9B,EAAA8O,EAAA9O,EAAA6O,GAAA,EAAAxN,GAAArB,EAAAohC,EAAAlE,EAAAl9B,EAAA8O,EAAA9O,EAAA8O,GAAA,EAAAzN,KAAArB,EAAA8O,EAAA9O,EAAAohC,GAAA,EAAA//B,GAAArB,EAAA6O,EAAAquB,GACA,CAAAl9B,EAAAohC,EAAAphC,EAAA6O,GAAA,EAAAxN,GAAArB,EAAA8O,EAAAouB,EAAAl9B,EAAAohC,EAAAphC,EAAA8O,GAAA,EAAAzN,GAAArB,EAAA6O,EAAAquB,EAAAl9B,EAAAohC,EAAAphC,EAAAohC,GAAA,EAAA//B,OAGAsjM,EAAA,QACAtkM,EAAA,EAAiBA,EAAA,EAAKA,IACtB,QAAAiC,EAAA,EAAqBA,EAAA,EAAKA,IAC1BqiM,EAAAtkM,IAAAi1B,EAAAj1B,GAAAiC,GAAAs5B,EAAAt5B,GAGA,IAAA2c,EAAA,IAAAsjE,EAAAoiH,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,OAAA1lL,GAWAsjE,EAAA5hF,UAAAmsB,SAAA,SAAA9P,GACA,IAAA4e,OAAAv1B,IAAA2W,EAAA,EAAAwK,OAAAxK,GAEAqgB,EAAA,IAAA39B,KAAAmP,EAAA6P,QAAAkd,GAAA,IAAAl8B,KAAAoP,EAAA4P,QAAAkd,GAAA,IAAAl8B,KAAA0hC,EAAA1iB,QAAAkd,GAAA,IAEA,OAAAyB,QAOAh3B,IAAA5C,KAAA68C,OACA78C,KAAA68C,KAAA,SAAAzxC,GAEA,OADAA,KACA,IAAAA,GAAAE,MAAAF,KACAA,EAAA,SAKgC9P,EAAAC,UAAAD,EAAAC,QAAAujF,yBCvOhC,SAAAx8E,EAAAR,EAAAiN,GACA,IAAAjN,EAAA,UAAAzD,MAAA,sBAEA,OACA8D,KAAA,UACA4M,cAAA,GACAjN,YAGAxG,EAAAC,QAAA+G,UAeAhH,EAAAC,QAAA+D,MAAA,SAAAsC,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBACA,QAAAuE,IAAAhB,EAAAxD,OAAA,UAAAC,MAAA,gCACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,+CACA,qBAAAuD,EAAA,sBAAAA,EAAA,aAAAvD,MAAA,4BAEA,OAAAiE,EAAA,CACAH,KAAA,QACAP,eACKmN,IAwBLzT,EAAAC,QAAAm6B,QAAA,SAAA9zB,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,QAAAzB,EAAA,EAAmBA,EAAAgF,EAAAxD,OAAwBxB,IAAA,CAC3C,IAAA8W,EAAA9R,EAAAhF,GACA,GAAA8W,EAAAtV,OAAA,EACA,UAAAC,MAAA,+DAEA,QAAAQ,EAAA,EAAuBA,EAAA6U,IAAAtV,OAAA,GAAAA,OAAkCS,IACzD,GAAA6U,IAAAtV,OAAA,GAAAS,KAAA6U,EAAA,GAAA7U,GACA,UAAAR,MAAA,+CAKA,OAAAiE,EAAA,CACAH,KAAA,UACAP,eACKmN,IA8BLzT,EAAAC,QAAAwW,WAAA,SAAAnQ,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,IAoBLzT,EAAAC,QAAAiH,kBAAA,SAAAC,GACA,IAAAA,EAAA,UAAApE,MAAA,sBAEA,OACA8D,KAAA,oBACAM,aAmBAnH,EAAAC,QAAAy7E,gBAAA,SAAAp1E,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,kBACAP,eACKmN,IAkBLzT,EAAAC,QAAAuqE,WAAA,SAAAlkE,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,IAmBLzT,EAAAC,QAAAqkF,aAAA,SAAAh+E,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,eACAP,eACKmN,IAwBLzT,EAAAC,QAAA4lM,mBAAA,SAAAt+L,EAAAkM,GACA,IAAAlM,EAAA,UAAAxE,MAAA,wBAEA,OAAAiE,EAAA,CACAH,KAAA,qBACAU,cACKkM,IAGL,IAAAqyL,EAAA,CACAC,MAAA,KACAC,cAAA,SACAC,QAAA,WACAx3F,QAAA,EACAy3F,OAAA,UACAC,MAAA,QACAC,OAAA,OACAC,OAAA,OACAC,WAAA,KACAC,WAAA,KACAC,KAAA,aAYAxmM,EAAAC,QAAA0/B,kBAAA,SAAA8uE,EAAA3uE,GACA,IAAA0K,EAAAs7J,EAAAhmK,GAAA,cACA,QAAAx4B,IAAAkjC,EAAA,UAAAznC,MAAA,gBAEA,OAAA0rG,EAAAjkE,GAYAxqC,EAAAC,QAAA2/B,kBAAA,SAAAvrB,EAAAyrB,GACA,IAAA0K,EAAAs7J,EAAAhmK,GAAA,cACA,QAAAx4B,IAAAkjC,EAAA,UAAAznC,MAAA,gBAEA,OAAAsR,EAAAm2B,GAYAxqC,EAAAC,QAAAwmM,kBAAA,SAAApyL,EAAAyrB,GACA,IAAA0K,EAAAs7J,EAAAhmK,GAAA,cACA,QAAAx4B,IAAAkjC,EAAA,UAAAznC,MAAA,gBAEA,OAAAsR,EAAAm2B,EAAA,+BClUA,IAAAjkC,EAAgBnG,EAAQ,QAAiBmG,UAwCzC,SAAA83C,EAAAqoJ,EAAAC,EAAA3iM,EAAA4iM,GACA,IAAA9nJ,EAAA96C,EAAA,GAAA0iM,EAAA,GACA3nJ,EAAA/6C,EAAA,GAAA0iM,EAAA,GACA1nJ,EAAA2nJ,EAAA,GAAAD,EAAA,GACAznJ,EAAA0nJ,EAAA,GAAAD,EAAA,GACAxnJ,EAAAJ,EAAAG,EAAAF,EAAAC,EACA,WAAAE,IAGA0nJ,EAKK,UAAAA,EACLliM,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EAAA0nJ,EAAA,GAAA1iM,EAAA,IAAAA,EAAA,IAAA2iM,EAAA,GAAAA,EAAA,IAAA3iM,EAAA,IAAAA,EAAA,GAAA0iM,EAAA,GAEAznJ,EAAA,EAAAynJ,EAAA,GAAA1iM,EAAA,IAAAA,EAAA,IAAA2iM,EAAA,GAAAA,EAAA,IAAA3iM,EAAA,IAAAA,EAAA,GAAA0iM,EAAA,GACK,QAAAE,EACLliM,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EAAA0nJ,EAAA,IAAA1iM,EAAA,IAAAA,EAAA,GAAA2iM,EAAA,GAAAA,EAAA,GAAA3iM,EAAA,IAAAA,EAAA,IAAA0iM,EAAA,GAEAznJ,EAAA,EAAAynJ,EAAA,IAAA1iM,EAAA,IAAAA,EAAA,GAAA2iM,EAAA,GAAAA,EAAA,GAAA3iM,EAAA,IAAAA,EAAA,IAAA0iM,EAAA,GACK,SAAAE,EACLliM,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EAAA0nJ,EAAA,GAAA1iM,EAAA,IAAAA,EAAA,GAAA2iM,EAAA,GAAAA,EAAA,GAAA3iM,EAAA,IAAAA,EAAA,GAAA0iM,EAAA,GAEAznJ,EAAA,EAAAynJ,EAAA,GAAA1iM,EAAA,IAAAA,EAAA,GAAA2iM,EAAA,GAAAA,EAAA,GAAA3iM,EAAA,IAAAA,EAAA,GAAA0iM,EAAA,QAJK,EAdLhiM,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EAAA0nJ,EAAA,IAAA1iM,EAAA,IAAAA,EAAA,IAAA2iM,EAAA,GAAAA,EAAA,IAAA3iM,EAAA,IAAAA,EAAA,IAAA0iM,EAAA,GAEAznJ,EAAA,EAAAynJ,EAAA,IAAA1iM,EAAA,IAAAA,EAAA,IAAA2iM,EAAA,GAAAA,EAAA,IAAA3iM,EAAA,IAAAA,EAAA,IAAA0iM,EAAA,IArCA1mM,EAAAC,QAAA,SAAA+D,EAAAwS,EAAAqwL,GAGA,IAFA,IAAAj6F,EAAArmG,EAAAvC,GACAkzD,EAAA3wD,EAAAiQ,GACAlV,EAAA,EAAmBA,EAAA41D,EAAAp0D,OAAA,EAA2BxB,IAAA,CAC9C,IAAA6vH,GAAA,EAMA,GALA01E,IACA,IAAAvlM,IAAA6vH,EAAA,SACA7vH,IAAA41D,EAAAp0D,OAAA,IAAAquH,EAAA,OACA,IAAA7vH,KAAA,IAAA41D,EAAAp0D,OAAA,IAAAquH,EAAA,SAEA9yE,EAAA6Y,EAAA51D,GAAA41D,EAAA51D,EAAA,GAAAsrG,EAAAukB,GAAA,SAEA,gCC3BAnxH,EAAAC,QAAA,CAAkB03F,QAAA,8BAAA4B,WAAA,iCAAAM,MAAA,4BAAAE,QAAA,kECDlB,IAAA+sG,EAAA1mM,EAAA,QAAA2mM,EAAA3mM,EAAAyC,EAAAikM,GAAwlBC,EAAG,0BCkC3lB,IAAAC,EASA,SAAAC,EAAAvkJ,GACA,IAAAphD,EAAAwjD,EAAA,EAEA,IAAAxjD,KAAAohD,EACAoC,MAAA,GAAAA,EAAApC,EAAAj1B,WAAAnsB,GACAwjD,GAAA,EAGA,OAAA7kD,EAAAgyB,OAAAvtB,KAAA6hB,IAAAu+B,GAAA7kD,EAAAgyB,OAAAnvB,QAWA,SAAAokM,EAAAxkJ,GAEA,SAAAO,IAEA,GAAAA,EAAAujB,QAAA,CAEA,IAAA2gI,EAAAlkJ,EAGAqhB,GAAA,IAAAy+C,KACApkF,EAAA2lC,GAAA0iI,GAAA1iI,GACA6iI,EAAAvkJ,KAAAjkB,EACAwoK,EAAAtiM,KAAAmiM,EACAG,EAAA7iI,OACA0iI,EAAA1iI,EAIA,IADA,IAAAh0B,EAAA,IAAA9tC,MAAA+tC,UAAAztC,QACAxB,EAAA,EAAmBA,EAAAgvC,EAAAxtC,OAAiBxB,IACpCgvC,EAAAhvC,GAAAivC,UAAAjvC,GAGAgvC,EAAA,GAAArwC,EAAAmnM,OAAA92J,EAAA,IAEA,kBAAAA,EAAA,IAEAA,EAAArT,QAAA,MAIA,IAAAl8B,EAAA,EACAuvC,EAAA,GAAAA,EAAA,GAAAhyB,QAAA,yBAAAtI,EAAAma,GAEA,UAAAna,EAAA,OAAAA,EACAjV,IACA,IAAAmoE,EAAAjpE,EAAAwjD,WAAAtzB,GACA,uBAAA+4C,EAAA,CACA,IAAAhuC,EAAAoV,EAAAvvC,GACAiV,EAAAkzD,EAAAv3D,KAAAw1L,EAAAjsK,GAGAoV,EAAAhH,OAAAvoC,EAAA,GACAA,IAEA,OAAAiV,IAIA/V,EAAAwiD,WAAA9wC,KAAAw1L,EAAA72J,GAEA,IAAA+2J,EAAApkJ,EAAA7nB,KAAAn7B,EAAAm7B,KAAAD,QAAAC,IAAA6e,KAAA9e,SACAksK,EAAAnkM,MAAAikM,EAAA72J,IAaA,OAVA2S,EAAAP,YACAO,EAAAujB,QAAAvmE,EAAAumE,QAAA9jB,GACAO,EAAAnB,UAAA7hD,EAAA6hD,YACAmB,EAAA/O,MAAA+yJ,EAAAvkJ,GAGA,oBAAAziD,EAAAivD,MACAjvD,EAAAivD,KAAAjM,GAGAA,EAWA,SAAAW,EAAAd,GACA7iD,EAAAgQ,KAAA6yC,GAEA7iD,EAAAqnM,MAAA,GACArnM,EAAAsnM,MAAA,GAKA,IAHA,IAAAz5K,GAAA,kBAAAg1B,IAAA,IAAAh1B,MAAA,UACAogB,EAAApgB,EAAAhrB,OAEAxB,EAAA,EAAiBA,EAAA4sC,EAAS5sC,IAC1BwsB,EAAAxsB,KACAwhD,EAAAh1B,EAAAxsB,GAAAgd,QAAA,aACA,MAAAwkC,EAAA,GACA7iD,EAAAsnM,MAAAhmM,KAAA,IAAAghD,OAAA,IAAAO,EAAAqnG,OAAA,SAEAlqJ,EAAAqnM,MAAA/lM,KAAA,IAAAghD,OAAA,IAAAO,EAAA,OAWA,SAAA0qE,IACAvtH,EAAA2jD,OAAA,IAWA,SAAA4iB,EAAA1/D,GACA,IAAAxF,EAAA4sC,EACA,IAAA5sC,EAAA,EAAA4sC,EAAAjuC,EAAAsnM,MAAAzkM,OAAyCxB,EAAA4sC,EAAS5sC,IAClD,GAAArB,EAAAsnM,MAAAjmM,GAAAK,KAAAmF,GACA,SAGA,IAAAxF,EAAA,EAAA4sC,EAAAjuC,EAAAqnM,MAAAxkM,OAAyCxB,EAAA4sC,EAAS5sC,IAClD,GAAArB,EAAAqnM,MAAAhmM,GAAAK,KAAAmF,GACA,SAGA,SAWA,SAAAsgM,EAAAlsK,GACA,OAAAA,aAAAn4B,MAAAm4B,EAAAkyE,OAAAlyE,EAAAyoB,QACAzoB,EAhMAj7B,EAAAD,EAAAC,QAAAinM,EAAAjkJ,MAAAikJ,EAAA,WAAAA,EACAjnM,EAAAmnM,SACAnnM,EAAAutH,UACAvtH,EAAA2jD,SACA3jD,EAAAumE,UACAvmE,EAAA0iD,SAAmBviD,EAAQ,QAM3BH,EAAAqnM,MAAA,GACArnM,EAAAsnM,MAAA,GAQAtnM,EAAAwjD,WAAA,yBCAA,IAAA/sC,EAAA,SAAArJ,GACA1M,KAAAgC,OAAA0K,EAAA1K,QAAA,GACAhC,KAAAoW,SAAA1J,EAAA0J,UAAA,IACApW,KAAAiW,UAAAvJ,EAAAuJ,WAAA,IACAjW,KAAA6mM,QAAA,GACA7mM,KAAA8mM,SAAA,GACA9mM,KAAA+mM,WAAAr6L,EAAAq6L,YAAA,GACA/mM,KAAAmC,OAAAnC,KAAAgC,OAAAG,OACAnC,KAAAgnM,MAAA,EAEA,QAAArmM,EAAA,EAAmBA,EAAAX,KAAAmC,OAAiBxB,IAAAX,KAAAgC,OAAArB,GAAA+gC,EAAA1hC,KAAAgC,OAAArB,GAAA+gC,GAAA,EACpC,IAAA/gC,EAAA,EAAmBA,EAAAX,KAAAmC,OAAA,EAAqBxB,IAAA,CACxC,IAAA0e,EAAArf,KAAAgC,OAAArB,GACA4e,EAAAvf,KAAAgC,OAAArB,EAAA,GACAX,KAAA6mM,QAAAjmM,KAAA,CACAuO,GAAAkQ,EAAAlQ,EAAAoQ,EAAApQ,GAAA,EACAC,GAAAiQ,EAAAjQ,EAAAmQ,EAAAnQ,GAAA,EACAsyB,GAAAriB,EAAAqiB,EAAAniB,EAAAmiB,GAAA,IAGA1hC,KAAA8mM,SAAAlmM,KAAA,CAAAZ,KAAAgC,OAAA,GAAAhC,KAAAgC,OAAA,KACA,IAAArB,EAAA,EAAmBA,EAAAX,KAAA6mM,QAAA1kM,OAAA,EAA6BxB,IAAA,CAChD0e,EAAArf,KAAA6mM,QAAAlmM,GACA4e,EAAAvf,KAAA6mM,QAAAlmM,EAAA,GADA,IAEA47B,EAAAv8B,KAAAgC,OAAArB,EAAA,GAAAwO,GAAAnP,KAAA6mM,QAAAlmM,GAAAwO,EAAAnP,KAAA6mM,QAAAlmM,EAAA,GAAAwO,GAAA,EACAqtB,EAAAx8B,KAAAgC,OAAArB,EAAA,GAAAyO,GAAApP,KAAA6mM,QAAAlmM,GAAAyO,EAAApP,KAAA6mM,QAAAlmM,EAAA,GAAAyO,GAAA,EACA63L,EAAAjnM,KAAAgC,OAAArB,EAAA,GAAA+gC,GAAA1hC,KAAA6mM,QAAAlmM,GAAAyO,EAAApP,KAAA6mM,QAAAlmM,EAAA,GAAA+gC,GAAA,EACA1hC,KAAA8mM,SAAAlmM,KAAA,EACAuO,GAAA,EAAAnP,KAAAiW,WAAAjW,KAAAgC,OAAArB,EAAA,GAAAwO,EAAAnP,KAAAiW,WAAAjW,KAAA6mM,QAAAlmM,GAAAwO,EAAAotB,GACAntB,GAAA,EAAApP,KAAAiW,WAAAjW,KAAAgC,OAAArB,EAAA,GAAAyO,EAAApP,KAAAiW,WAAAjW,KAAA6mM,QAAAlmM,GAAAyO,EAAAotB,GACAkF,GAAA,EAAA1hC,KAAAiW,WAAAjW,KAAAgC,OAAArB,EAAA,GAAA+gC,EAAA1hC,KAAAiW,WAAAjW,KAAA6mM,QAAAlmM,GAAA+gC,EAAAulK,IACA,CACA93L,GAAA,EAAAnP,KAAAiW,WAAAjW,KAAAgC,OAAArB,EAAA,GAAAwO,EAAAnP,KAAAiW,WAAAjW,KAAA6mM,QAAAlmM,EAAA,GAAAwO,EAAAotB,GACAntB,GAAA,EAAApP,KAAAiW,WAAAjW,KAAAgC,OAAArB,EAAA,GAAAyO,EAAApP,KAAAiW,WAAAjW,KAAA6mM,QAAAlmM,EAAA,GAAAyO,EAAAotB,GACAkF,GAAA,EAAA1hC,KAAAiW,WAAAjW,KAAAgC,OAAArB,EAAA,GAAA+gC,EAAA1hC,KAAAiW,WAAAjW,KAAA6mM,QAAAlmM,EAAA,GAAA+gC,EAAAulK,MAIA,OAFAjnM,KAAA8mM,SAAAlmM,KAAA,CAAAZ,KAAAgC,OAAAhC,KAAAmC,OAAA,GAAAnC,KAAAgC,OAAAhC,KAAAmC,OAAA,KACAnC,KAAAo/B,MAAAp/B,KAAAknM,WAAAlnM,KAAA+mM,YACA/mM,MAMA+V,EAAA9U,UAAAimM,WAAA,SAAAC,GACA,IAAA/nK,EAAA,GACAgoK,EAAApnM,KAAAqW,IAAA,GACA+oB,EAAAx+B,KAAA,GACA,QAAAO,EAAA,EAAmBA,EAAAnB,KAAAoW,SAAmBjV,GAAA,IACtC,IAAAkmM,EAAArnM,KAAAqW,IAAAlV,GACA0T,EAAA9Q,KAAAgR,MAAAsyL,EAAAl4L,EAAAi4L,EAAAj4L,IAAAk4L,EAAAl4L,EAAAi4L,EAAAj4L,IAAAk4L,EAAAj4L,EAAAg4L,EAAAh4L,IAAAi4L,EAAAj4L,EAAAg4L,EAAAh4L,IAAAi4L,EAAA3lK,EAAA0lK,EAAA1lK,IAAA2lK,EAAA3lK,EAAA0lK,EAAA1lK,IACA7sB,EAAAsyL,IACA/nK,EAAAx+B,KAAAO,GACAimM,EAAAC,GAGA,OAAAjoK,GAMArpB,EAAA9U,UAAAqmM,OAAA,SAAAnmM,GACA,IAAAke,EAAArf,KAAAqW,IAAAlV,EAAA,IACAoe,EAAAvf,KAAAqW,IAAAlV,EAAA,IACA,OACA8nE,MAAA,IAAAllE,KAAAg4C,MAAA18B,EAAAjQ,EAAAmQ,EAAAnQ,EAAAiQ,EAAAlQ,EAAAoQ,EAAApQ,GAAA,KACAo4L,MAAAxjM,KAAAgR,MAAAwK,EAAApQ,EAAAkQ,EAAAlQ,IAAAoQ,EAAApQ,EAAAkQ,EAAAlQ,IAAAoQ,EAAAnQ,EAAAiQ,EAAAjQ,IAAAmQ,EAAAnQ,EAAAiQ,EAAAjQ,IAAAmQ,EAAAmiB,EAAAriB,EAAAqiB,IAAAniB,EAAAmiB,EAAAriB,EAAAqiB,MAWA3rB,EAAA9U,UAAAoV,IAAA,SAAAqtD,GAEA,SAAA8jI,EAAArmM,EAAAke,EAAAP,EAAAC,EAAAQ,GACA,IAAA6oB,EAAA,SAAAjnC,GACA,IAAAsmM,EAAAtmM,IAAAumM,EAAAD,EAAAtmM,EACA,WAAAsmM,GAAA,EAAAtmM,GAAA,EAAAA,GAAA,EAAAA,IAAA,EAAAA,IAAA,EAAAA,IAAA,EAAAA,IAAA,EAAAA,KAEAZ,EAAA6nC,EAAAjnC,GACAkV,EAAA,CACAlH,EAAAoQ,EAAApQ,EAAA5O,EAAA,GAAAwe,EAAA5P,EAAA5O,EAAA,GAAAue,EAAA3P,EAAA5O,EAAA,GAAA8e,EAAAlQ,EAAA5O,EAAA,GACA6O,EAAAmQ,EAAAnQ,EAAA7O,EAAA,GAAAwe,EAAA3P,EAAA7O,EAAA,GAAAue,EAAA1P,EAAA7O,EAAA,GAAA8e,EAAAjQ,EAAA7O,EAAA,GACAmhC,EAAAniB,EAAAmiB,EAAAnhC,EAAA,GAAAwe,EAAA2iB,EAAAnhC,EAAA,GAAAue,EAAA4iB,EAAAnhC,EAAA,GAAA8e,EAAAqiB,EAAAnhC,EAAA,IAEA,OAAA8V,EAEA,IAAAlV,EAAAuiE,EAAA1jE,KAAAgnM,MACA7lM,EAAA,IAAAA,EAAA,GACAA,EAAAnB,KAAAoW,WAAAjV,EAAAnB,KAAAoW,SAAA,GAEA,IAAAqxL,EAAA,EAAAznM,KAAAoW,SACA,GAAAqxL,GAAA,SAAAznM,KAAAgC,OAAAhC,KAAAmC,OAAA,GAEA,IAAAD,EAAA6B,KAAAuS,OAAAtW,KAAAgC,OAAAG,OAAA,GAAAslM,GACAE,GAAA3nM,KAAAmC,OAAA,GAAAslM,EAAAvlM,EACA,OAAAslM,EAAAG,EAAA3nM,KAAAgC,OAAAE,GAAAlC,KAAA8mM,SAAA5kM,GAAA,GAAAlC,KAAA8mM,SAAA5kM,EAAA,MAAAlC,KAAAgC,OAAAE,EAAA,KAGA7C,EAAAC,QAAAyW,uCCrIA,IAAA6xL,EAAAnoM,EAAA,QAAAooM,EAAApoM,EAAAyC,EAAA0lM,GAAslBC,EAAG,0BCAzlB,IAAAxhK,EAAW5mC,EAAQ,QAAsBoG,SACzC0N,EAAiB9T,EAAQ,QAAY8T,WAiCrClU,EAAAC,QAAA,SAAAoH,GACA,OAAA6M,EAAA7M,EAAA,SAAAT,EAAAJ,GACA,OAAAI,EAAAogC,EAAAxgC,IACK,0BCrCL,IAAAiiM,EAAiBroM,EAAQ,QACzBsoM,EAAkBtoM,EAAQ,QAC1B6T,EAAe7T,EAAQ,QAAY6T,SACnCk2B,EAAY/pC,EAAQ,QAgEpB,SAAAwzD,EAAAptD,EAAA+2E,EAAAorH,GACA,IAAA9hM,EAAAL,EAAAK,KAGA,aAAAA,GAAA,eAAAA,EAAA,OAAAL,EAGAkiM,EAAAliM,GAAA,GAEA,IAAAF,EAAAE,EAAAF,YACA,OAAAO,GACA,iBACAL,EAAA,eAAAoiM,EAAAtiM,EAAAi3E,EAAAorH,GACA,MACA,sBACAniM,EAAA,eAAAF,EAAAwD,IAAA,SAAA68C,GACA,OAAAiiJ,EAAAjiJ,EAAA42B,EAAAorH,KAEA,MACA,cACAniM,EAAA,eAAAqiM,EAAAviM,EAAAi3E,EAAAorH,GACA,MACA,mBACAniM,EAAA,eAAAF,EAAAwD,IAAA,SAAA88C,GACA,OAAAiiJ,EAAAjiJ,EAAA22B,EAAAorH,KAGA,OAAAniM,EAaA,SAAAoiM,EAAAtiM,EAAAi3E,EAAAorH,GACA,OAAAF,EAAAniM,EAAAwD,IAAA,SAAAkK,GACA,OAAgBlE,EAAAkE,EAAA,GAAAjE,EAAAiE,EAAA,GAAAquB,EAAAruB,EAAA,MACXupE,EAAAorH,GAAA7+L,IAAA,SAAA8I,GACL,OAAAA,EAAA,GAAAA,EAAA9C,EAAA8C,EAAA7C,EAAA6C,EAAAyvB,GAAA,CAAAzvB,EAAA9C,EAAA8C,EAAA7C,KAcA,SAAA84L,EAAAviM,EAAAi3E,EAAAorH,GACA,OAAAriM,EAAAwD,IAAA,SAAAsO,GACA,IAAA6pH,EAAA7pH,EAAAtO,IAAA,SAAAkK,GACA,OAAoBlE,EAAAkE,EAAA,GAAAjE,EAAAiE,EAAA,MAEpB,GAAAiuH,EAAAn/H,OAAA,EACA,UAAAC,MAAA,mBAEA,IAAA+lM,EAAAL,EAAAxmE,EAAA1kD,EAAAorH,GAAA7+L,IAAA,SAAA8I,GACA,OAAAA,EAAA9C,EAAA8C,EAAA7C,KAGA,OAAAg5L,EAAAD,GACAvrH,GAAA,IAAAA,EACAurH,EAAAL,EAAAxmE,EAAA1kD,EAAAorH,GAAA7+L,IAAA,SAAA8I,GACA,OAAAA,EAAA9C,EAAA8C,EAAA7C,KAQA,OAJA+4L,IAAAhmM,OAAA,QAAAgmM,EAAA,OACAA,IAAAhmM,OAAA,QAAAgmM,EAAA,OACAA,EAAAvnM,KAAAunM,EAAA,IAEAA,IAYA,SAAAC,EAAA3wL,GACA,QAAAA,EAAAtV,OAAA,MAEA,IAAAsV,EAAAtV,QAAAsV,EAAA,QAAAA,EAAA,OAAAA,EAAA,QAAAA,EAAA,OAtHApY,EAAAC,QAAA,SAAAoH,EAAAk2E,EAAAorH,EAAAvpK,GACA,IAAA/3B,EAAA,UAAAtE,MAAA,uBACA,GAAAw6E,KAAA,YAAAx6E,MAAA,qBAQA,OALA,IAAAq8B,IAAA/3B,EAAA8iC,EAAA9iC,IAEA4M,EAAA5M,EAAA,SAAAI,GACAmsD,EAAAnsD,EAAA81E,EAAAorH,KAEAthM,yBCvDA,IAAA2hM,EAEC,sBAFD,WACA,OAAAjwL,OAAAnX,UAAAmsB,SAAApc,KAAA4+B,WADA,GAOA,SAAA04J,EAAAz4J,GACA,4BAAAz3B,OAAAnX,UAAAmsB,SAAApc,KAAA6+B,GAIA,SAAA04J,EAAA14J,GACA,OAAAA,GACA,iBAAAA,GACA,iBAAAA,EAAA1tC,QACAiW,OAAAnX,UAAA8c,eAAA/M,KAAA6+B,EAAA,YACAz3B,OAAAnX,UAAAunM,qBAAAx3L,KAAA6+B,EAAA,YACA,EAdAvwC,EAAAD,EAAAC,QAAA+oM,EAAAC,EAAAC,EAEAjpM,EAAAgpM,YAKAhpM,EAAAipM,sCCRA,IAAA9/L,EAAWhJ,EAAQ,QACnByqC,EAAczqC,EAAQ,QACtB0H,EAAc1H,EAAQ,QACtBiU,EAAejU,EAAQ,QACvByhC,EAAgBzhC,EAAQ,QACxBiqC,EAAmBjqC,EAAQ,QAC3BkqC,EAAoBlqC,EAAQ,QAC5BgpM,EAAAthM,EAAA2O,WACA1P,EAAA86B,EAAA96B,UACAsiM,EAAAvhM,EAAA9D,MACA4T,EAAAxO,EAAAwO,YACA0xL,EAAAxhM,EAAAwhM,eACAC,EAAAzhM,EAAAyhM,gBACAp7F,EAAArmG,EAAAqmG,gBAmDA,SAAAq7F,EAAA3sK,EAAA57B,EAAAC,EAAA4+B,EAAA2pK,GAEA,IAAAC,GAAA,IAAAD,EAAAp1L,EAAApT,EAAA47B,EAAAiD,GAAA6pK,EAAA1oM,EAAA47B,EAAAiD,GACA8pK,EAAAN,GAAA,IAAAG,EAAA5+J,EAAA5pC,EAAA47B,GAAAwN,EAAAppC,EAAA47B,IACAgtK,EAAAP,GAAA,IAAAG,EAAA5+J,EAAA5pC,EAAAC,GAAAmpC,EAAAppC,EAAAC,IACA4oM,EAAAplM,KAAA6hB,IAAAqjL,EAAAC,GAYA,GAAAC,EAAA,UAAAJ,EAEA,IAAAK,GAAAF,EAAA,SACAG,EAAAV,GAAA,IAAAG,EAAA5+J,EAAA3pC,EAAA27B,GAAAwN,EAAAnpC,EAAA27B,IACAotK,EAAAvlM,KAAA6hB,IAAAyjL,EAAAD,GAYA,OAXAE,EAAA,MAAAA,EAAAvlM,KAAA6hB,IAAA0jL,EAAA,MAWAA,EAAA,QAAAR,EAAAp1L,EAAAwoB,EAAA37B,EAAA4+B,GAAA6pK,EAAA9sK,EAAA37B,EAAA4+B,IAYA,IAAA2pK,EAAAC,EAAAhlM,KAAAolB,IAAAqkF,EAAA27F,IACAI,EAAAjpM,EAAAC,EAAA27B,EAAAiD,GAaA,SAAAoqK,EAAAjpM,EAAAC,EAAA27B,EAAAiD,GACA,IAAAxZ,EAAA,GAEA5hB,KAAA6hB,IAAAtlB,EAAA,UAAAyD,KAAA6hB,IAAArlB,EAAA,UAAAwD,KAAA6hB,IAAAsW,EAAA,YACAvW,EAAArlB,EAAA,MAAAC,EAAA,MAAA27B,EAAA,eAGA,IAAA4N,EAAA4+J,EAAAxsK,GACAiM,EAAApJ,EAAA,CAAAz+B,EAAA,GAAAqlB,EAAArlB,EAAA,KACA8nC,EAAArJ,EAAA,CAAAx+B,EAAA,GAAAolB,EAAAplB,EAAA,KACAw1H,EAAAh3F,EAAA,CAAA7C,EAAA,GAAAvW,EAAAuW,EAAA,KACAwB,EAAA8rK,EAAAC,EAAAthK,EAAAC,EAAA2tF,IAEA,IAAApwG,IAAA+X,EAAA,IAAA/X,GACA,IAAA+jL,EAAA//J,EAAAG,EAAApM,EAAAyB,GACA,OAAAuqK,EAmBA,SAAAD,EAAAnpM,EAAAC,EAAA27B,GACA,IAAAjoB,EAAA3T,EAAA,GAAA4T,EAAA5T,EAAA,GACA6T,EAAA5T,EAAA,GAAA6T,EAAA7T,EAAA,GACAghC,EAAArF,EAAA,GAAAsF,EAAAtF,EAAA,GACAuuB,EAAAt2C,EAAAF,EAAAy2C,EAAAt2C,EAAAF,EACAy1L,EAAAl/I,IAAAC,IACAtpD,IAAAmgC,EAAAttB,GAAAw2C,GAAAjpB,EAAAttB,GAAAw2C,GAAAi/I,EACAx6L,EAAA8E,EAAA7S,EAAAqpD,EAAAr7C,EAAA8E,EAAA9S,EAAAspD,EACA,OAAAv7C,EAAAC,GAaA,SAAA45L,EAAA7uL,EAAAC,EAAA+kB,GAEA,IAAAxZ,EAAA,EACA5hB,KAAA6hB,IAAAzL,EAAA,WACAwL,EAAAxL,EAAA,eAEApW,KAAA6hB,IAAAxL,EAAA,WACAuL,EAAAvL,EAAA,eAEA,IAAAiF,EAAA0f,EAAA,CAAA5kB,EAAA,GAAAwL,EAAAxL,EAAA,KACAoF,EAAAwf,EAAA,CAAA3kB,EAAA,GAAAuL,EAAAvL,EAAA,KAEAgwI,EAAA,SAAAloJ,GAA4B,OAAAA,KAC5B0nM,EAAAx/C,EAAA/qI,EAAA,GAAAE,EAAA,IAAA6qI,EAAA/qI,EAAA,GAAAE,EAAA,IACA9e,EAAAsD,KAAAgR,KAAA60L,GACA,OAAAhB,EAAAnoM,EAAA,SAAA0+B,GAWA,SAAAJ,EAAAyhB,GACA,IAAAC,EAAA18C,KAAAsvC,GAAA,IAEAlL,EAAA,QACAuY,EAAA,mBAEAG,EAAA,CACA1Y,EAAAqY,EAAA,GAAAC,EACAtY,EAAApkC,KAAA02B,IAAA12B,KAAAimB,IAAA,IAAAjmB,KAAAsvC,GAAA,GAAAmN,EAAA,GAAAC,KAOA,OAJAI,EAAA,GAAAH,IAAAG,EAAA,GAAAH,GACAG,EAAA,IAAAH,IAAAG,EAAA,IAAAH,GACAG,EAAA,GAAAH,IAAAG,EAAA,GAAAH,GACAG,EAAA,IAAAH,IAAAG,EAAA,IAAAH,GACAG,EAWA,SAAA2oJ,EAAA3oJ,GAEA,IAAAC,EAAA,IAAA/8C,KAAAsvC,GACAlL,EAAA,QAEA,OACA0Y,EAAA,GAAAC,EAAA3Y,GACA,GAAApkC,KAAAsvC,GAAA,EAAAtvC,KAAAg9C,KAAAh9C,KAAAi9C,KAAAH,EAAA,GAAA1Y,KAAA2Y,GA7MAzhD,EAAAC,QAAA,SAAA+D,EAAAwL,EAAAswB,EAAA2pK,GAEA,IAAAzlM,EAAA,UAAAjB,MAAA,qBAGA,GAFAP,MAAAkE,QAAA1C,KAAAqlM,EAAArlM,GACA+C,EAAA/C,EAAA,kBACAwL,EAAA,UAAAzM,MAAA,oBACAP,MAAAkE,QAAA8I,KAAA45L,EAAA55L,GACAzI,EAAAyI,EAAA,qBAEA,IAAA6E,EAAAkB,IACAsnB,EAAA74B,EAAAwC,SAAAF,YAOA,OANAsR,EAAApI,EAAA,SAAAmhD,GACA,IAAA1vD,EAAA0vD,EAAAnqD,SAAAF,YAAA,GACApF,EAAAyvD,EAAAnqD,SAAAF,YAAA,GACAlF,EAAAooM,EAAA3sK,EAAA57B,EAAAC,EAAA4+B,EAAA2pK,GACAp1L,EAAAjT,IAAAiT,EAAAjT,KAEAiT,2BCnDA,IAAAm2L,EAAiBpqM,EAAQ,QAqBzB,SAAAqqM,EAAA7G,GACA,GAAAA,EAAA,CAGA,IAAA8G,EAAA,uBACAC,EAAA,uBACAC,EAAA,2FACAC,EAAA,6GACAC,EAAA,QAEAC,EAAA,QACA9pM,EAAA,EACA+U,EAAA4tL,EAAA5tL,MAAA00L,GACA,GAAA10L,EAAA,CACAA,IAAA,GACA,QAAA1U,EAAA,EAAqBA,EAAAypM,EAAAjoM,OAAgBxB,IACrCypM,EAAAzpM,GAAAghD,SAAAtsC,EAAA1U,GAAA0U,EAAA1U,GAAA,SAGA,GAAA0U,EAAA4tL,EAAA5tL,MAAA20L,GAAA,CACA30L,IAAA,GACA,IAAA1U,EAAA,EAAqBA,EAAAypM,EAAAjoM,OAAgBxB,IACrCypM,EAAAzpM,GAAAghD,SAAAtsC,EAAA/S,MAAA,EAAA3B,EAAA,EAAAA,EAAA,YAGA,GAAA0U,EAAA4tL,EAAA5tL,MAAA40L,GAAA,CACA,IAAAtpM,EAAA,EAAqBA,EAAAypM,EAAAjoM,OAAgBxB,IACrCypM,EAAAzpM,GAAAghD,SAAAtsC,EAAA1U,EAAA,IAEAL,EAAAu9B,WAAAxoB,EAAA,SAEA,GAAAA,EAAA4tL,EAAA5tL,MAAA60L,GAAA,CACA,IAAAvpM,EAAA,EAAqBA,EAAAypM,EAAAjoM,OAAgBxB,IACrCypM,EAAAzpM,GAAAoD,KAAAkjB,MAAA,KAAA4W,WAAAxoB,EAAA1U,EAAA,KAEAL,EAAAu9B,WAAAxoB,EAAA,SAEA,GAAAA,EAAA4tL,EAAA5tL,MAAA80L,GAAA,CACA,kBAAA90L,EAAA,GACA,gBAGA,GADA+0L,EAAAP,EAAAx0L,EAAA,KACA+0L,EACA,OAIA,IAAAzpM,EAAA,EAAkBA,EAAAypM,EAAAjoM,OAAgBxB,IAClCypM,EAAAzpM,GAAA+0B,EAAA00K,EAAAzpM,GAAA,OASA,OAHAL,EAJAA,GAAA,GAAAA,EAIAo1B,EAAAp1B,EAAA,KAHA,EAKA8pM,EAAA,GAAA9pM,EACA8pM,GAGA,SAAAC,EAAApH,GACA,GAAAA,EAAA,CAGA,IAAAqH,EAAA,2GACAj1L,EAAA4tL,EAAA5tL,MAAAi1L,GACA,GAAAj1L,EAAA,CACA,IAAAk1L,EAAA1sK,WAAAxoB,EAAA,IACAqoB,EAAAhI,EAAAisB,SAAAtsC,EAAA,WACAmoB,EAAA9H,EAAAmI,WAAAxoB,EAAA,WACAtD,EAAA2jB,EAAAmI,WAAAxoB,EAAA,WACA/U,EAAAo1B,EAAArmB,MAAAk7L,GAAA,EAAAA,EAAA,KACA,OAAA7sK,EAAAF,EAAAzrB,EAAAzR,KAIA,SAAAkqM,EAAAvH,GACA,GAAAA,EAAA,CAGA,IAAAwH,EAAA,yGACAp1L,EAAA4tL,EAAA5tL,MAAAo1L,GACA,GAAAp1L,EAAA,CACA,IAAAk1L,EAAA1sK,WAAAxoB,EAAA,IACAqoB,EAAAhI,EAAAisB,SAAAtsC,EAAA,WACAi5D,EAAA54C,EAAAmI,WAAAxoB,EAAA,WACA9U,EAAAm1B,EAAAmI,WAAAxoB,EAAA,WACA/U,EAAAo1B,EAAArmB,MAAAk7L,GAAA,EAAAA,EAAA,KACA,OAAA7sK,EAAA4wC,EAAA/tE,EAAAD,KAIA,SAAAoqM,EAAAzH,GACA,IAAAgH,EAAAH,EAAA7G,GACA,OAAAgH,KAAA3nM,MAAA,KAGA,SAAAqoM,EAAA1H,GACA,IAAA2H,EAAAP,EAAApH,GACA,OAAA2H,KAAAtoM,MAAA,KAGA,SAAAuoM,EAAA5H,GACA,IAAA6H,EAAAhB,EAAA7G,GACA,OAAA6H,EACAA,EAAA,IAEAA,EAAAT,EAAApH,IACA6H,EAAA,IAEAA,EAAAN,EAAAvH,IACA6H,EAAA,QADA,EAMA,SAAAC,EAAAX,GACA,UAAAY,EAAAZ,EAAA,IAAAY,EAAAZ,EAAA,IACAY,EAAAZ,EAAA,IAGA,SAAAr2J,EAAAk2J,EAAAM,GACA,OAAAA,EAAA,GAAAN,EAAA,IAAAA,EAAA,KACAgB,EAAAhB,EAAAM,GAEA,OAAAN,EAAA,QAAAA,EAAA,QAAAA,EAAA,OAGA,SAAAgB,EAAAhB,EAAAM,GAIA,YAHA5jM,IAAA4jM,IACAA,OAAA5jM,IAAAsjM,EAAA,GAAAA,EAAA,MAEA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,GACA,KAAAM,EAAA,IAGA,SAAAW,EAAAjB,EAAAM,GACA,GAAAA,EAAA,GAAAN,EAAA,IAAAA,EAAA,KACA,OAAAkB,EAAAlB,EAAAM,GAEA,IAAAh1L,EAAAxR,KAAAkjB,MAAAgjL,EAAA,YACAn4L,EAAA/N,KAAAkjB,MAAAgjL,EAAA,YACA1pM,EAAAwD,KAAAkjB,MAAAgjL,EAAA,YAEA,aAAA10L,EAAA,MAAAzD,EAAA,MAAAvR,EAAA,KAGA,SAAA4qM,EAAAlB,EAAAM,GACA,IAAAh1L,EAAAxR,KAAAkjB,MAAAgjL,EAAA,YACAn4L,EAAA/N,KAAAkjB,MAAAgjL,EAAA,YACA1pM,EAAAwD,KAAAkjB,MAAAgjL,EAAA,YACA,cAAA10L,EAAA,MAAAzD,EAAA,MAAAvR,EAAA,OAAAgqM,GAAAN,EAAA,WAGA,SAAAmB,EAAAR,EAAAL,GACA,OAAAA,EAAA,GAAAK,EAAA,IAAAA,EAAA,KACAS,EAAAT,EAAAL,GAEA,OAAAK,EAAA,QAAAA,EAAA,SAAAA,EAAA,QAGA,SAAAS,EAAAT,EAAAL,GAIA,YAHA5jM,IAAA4jM,IACAA,OAAA5jM,IAAAikM,EAAA,GAAAA,EAAA,MAEA,QAAAA,EAAA,QAAAA,EAAA,SAAAA,EAAA,SACAL,EAAA,IAKA,SAAAe,EAAAb,EAAAF,GAIA,YAHA5jM,IAAA4jM,IACAA,OAAA5jM,IAAA8jM,EAAA,GAAAA,EAAA,MAEA,OAAAA,EAAA,QAAAA,EAAA,SAAAA,EAAA,aACA9jM,IAAA4jM,GAAA,IAAAA,EAAA,KAAAA,EAAA,QAGA,SAAAJ,EAAAC,GACA,OAAAmB,EAAAnB,EAAA9nM,MAAA,MAIA,SAAAozB,EAAA81K,EAAAhlK,EAAA/3B,GACA,OAAA1K,KAAAyiC,IAAAziC,KAAA0K,IAAA+3B,EAAAglK,GAAA/8L,GAGA,SAAAu8L,EAAAQ,GACA,IAAA7tK,EAAA6tK,EAAAp+K,SAAA,IAAAP,cACA,OAAA8Q,EAAAx7B,OAAA,MAAAw7B,IAjNAt+B,EAAAC,QAAA,CACAwqM,UACAO,UACAK,SACAC,SACAH,SACAK,WAEAE,YACAh3J,YACAk3J,aACAC,gBACAC,iBACAC,YACAC,aACAC,YACAnB,WAsMA,IAAAoB,EAAA,GACA,QAAAplM,KAAA0jM,EACA0B,EAAA1B,EAAA1jM,8BC3NA,IAAAslM,EAAYhsM,EAAQ,QAKpB,SAAAoG,EAAAowH,GACA,IAAAt1H,EAAA0lC,EAAA,EACA,OAAA4vF,EAAA/vH,MACA,cACA,OAAAo8E,EAAA2zC,EAAAtwH,aACA,mBACA,IAAAhF,EAAA,EAAuBA,EAAAs1H,EAAAtwH,YAAAxD,OAA0BxB,IACjD0lC,GAAAi8C,EAAA2zC,EAAAtwH,YAAAhF,IAEA,OAAA0lC,EACA,YACA,iBACA,iBACA,sBACA,SACA,yBACA,IAAA1lC,EAAA,EAAuBA,EAAAs1H,EAAArvH,WAAAzE,OAAyBxB,IAChD0lC,GAAAxgC,EAAAowH,EAAArvH,WAAAjG,IAEA,OAAA0lC,GAIA,SAAAi8C,EAAArwE,GACA,IAAAo0B,EAAA,EACA,GAAAp0B,KAAA9P,OAAA,GACAkkC,GAAAtiC,KAAA6hB,IAAA8lL,EAAAz5L,EAAA,KACA,QAAAtR,EAAA,EAAuBA,EAAAsR,EAAA9P,OAAmBxB,IAC1C0lC,GAAAtiC,KAAA6hB,IAAA8lL,EAAAz5L,EAAAtR,KAGA,OAAA0lC,EAkBA,SAAAqlK,EAAAz5L,GACA,IAAAoN,EAAAE,EAAAosL,EAAAC,EAAAC,EAAAC,EAAAnrM,EACA0lC,EAAA,EACA0lK,EAAA95L,EAAA9P,OAEA,GAAA4pM,EAAA,GACA,IAAAprM,EAAA,EAAmBA,EAAAorM,EAAkBprM,IACrCA,IAAAorM,EAAA,GACAH,EAAAG,EAAA,EACAF,EAAAE,EAAA,EACAD,EAAA,GACanrM,IAAAorM,EAAA,GACbH,EAAAG,EAAA,EACAF,EAAA,EACAC,EAAA,IAEAF,EAAAjrM,EACAkrM,EAAAlrM,EAAA,EACAmrM,EAAAnrM,EAAA,GAEA0e,EAAApN,EAAA25L,GACArsL,EAAAtN,EAAA45L,GACAF,EAAA15L,EAAA65L,GACAzlK,IAAA2lK,EAAAL,EAAA,IAAAK,EAAA3sL,EAAA,KAAAtb,KAAAolB,IAAA6iL,EAAAzsL,EAAA,KAGA8mB,IAAAolK,EAAAj3F,OAAAi3F,EAAAj3F,OAAA,EAGA,OAAAnuE,EAGA,SAAA2lK,EAAA/1E,GACA,OAAAA,EAAAlyH,KAAAsvC,GAAA,IArFAh0C,EAAAC,QAAAuG,WACAxG,EAAAC,QAAAmY,KAAAi0L,uCCDA,IAAAzkM,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QACtB2H,EAAc3H,EAAQ,QAEtB4H,EAAAF,EAAAE,KAEAJ,EAAAW,KAAA,UACAw8E,MAAA,CACAt8E,SAAA,EACAsF,UAAA,OACApF,WAAA,EACAuzG,WAAA,IACAtyG,QAAA,GACAlB,SAAA,MACAsB,KAAA,GACAnB,OAAA,OAOA,IAAA0+F,EAAA1/F,EAAAwD,OAAA,CACAC,WAAA,SAAAC,GACA,IAAAO,EAAAnL,KACAmH,EAAAuD,OAAAS,EAAAP,GAGAO,EAAAN,eAAA,IAKAE,aAAA1D,EACAyB,OAAA,SAAAkC,EAAAC,EAAAC,GACA,IAAAC,EAAAnL,KA0BA,OAvBAmL,EAAAJ,eAGAI,EAAAH,WACAG,EAAAF,YACAE,EAAAD,UAGAC,EAAAC,sBACAD,EAAAE,gBACAF,EAAAG,qBAEAH,EAAAI,oBACAJ,EAAAK,cACAL,EAAAM,mBAGAN,EAAAO,YACAP,EAAAQ,MACAR,EAAAS,WAEAT,EAAAU,cAEAV,EAAAW,SAGAD,YAAAxE,EAIA+D,oBAAA/D,EACAgE,cAAA,WACA,IAAAF,EAAAnL,KAEAmL,EAAAY,gBAEAZ,EAAAa,MAAAb,EAAAH,SACAG,EAAAc,KAAA,EACAd,EAAAe,MAAAf,EAAAa,QAEAb,EAAAgB,OAAAhB,EAAAF,UAGAE,EAAAiB,IAAA,EACAjB,EAAAkB,OAAAlB,EAAAgB,QAIAhB,EAAAmB,YAAA,EACAnB,EAAAoB,WAAA,EACApB,EAAAqB,aAAA,EACArB,EAAAsB,cAAA,EAGAtB,EAAAW,QAAA,CACAE,MAAA,EACAG,OAAA,IAGAb,mBAAAjE,EAIAkE,kBAAAlE,EACAmE,YAAAnE,EACAoE,iBAAApE,EAIAqE,UAAArE,EACAsE,IAAA,WACA,IAAAR,EAAAnL,KACAkN,EAAA/F,EAAA+F,eACAJ,EAAA3B,EAAAuB,QACA5E,EAAAgF,EAAAhF,QACAN,EAAA0F,EAAAJ,EAAAtF,SAAAP,EAAAgG,OAAAE,iBACArB,EAAAX,EAAAW,QACAm1G,EAAA95G,EAAApB,QAAA+G,EAAAzD,MAAAyD,EAAAzD,KAAAlH,OAAA,EACAo5G,EAAAp0G,EAAAuF,QAAAwI,aAAApI,EAAAyuG,WAAA/zG,GACAykM,EAAAnkM,EAAAm5G,EAAA1F,EAAA,EAAAzuG,EAAA7D,QAAA,EAEAkC,EAAAY,gBACAD,EAAAE,MAAAb,EAAAH,SACAc,EAAAK,OAAA8/L,IAEAngM,EAAAE,MAAAigM,EACAngM,EAAAK,OAAAhB,EAAAF,WAGAE,EAAAa,MAAAF,EAAAE,MACAb,EAAAgB,OAAAL,EAAAK,QAGAP,SAAAvE,EAGA0E,aAAA,WACA,IAAAsK,EAAArW,KAAA0M,QAAA3E,SACA,cAAAsO,GAAA,WAAAA,GAIA3H,KAAA,WACA,IAAAvD,EAAAnL,KACA+M,EAAA5B,EAAA4B,IACAG,EAAA/F,EAAA+F,eACAJ,EAAA3B,EAAAuB,QACA2tE,EAAApzE,EAAAgG,OAEA,GAAAH,EAAAhF,QAAA,CACA,IAWAkD,EAAAkhM,EAAAC,EAXA3kM,EAAA0F,EAAAJ,EAAAtF,SAAA6yE,EAAAltE,iBACAC,EAAAF,EAAAJ,EAAAM,UAAAitE,EAAAhtE,kBACAC,EAAAJ,EAAAJ,EAAAQ,WAAA+sE,EAAA9sE,mBACA6+L,EAAAjlM,EAAAsG,WAAAjG,EAAA4F,EAAAE,GACAiuG,EAAAp0G,EAAAuF,QAAAwI,aAAApI,EAAAyuG,WAAA/zG,GACA+b,EAAAg4F,EAAA,EAAAzuG,EAAA7D,QACA27B,EAAA,EACAx4B,EAAAjB,EAAAiB,IACAH,EAAAd,EAAAc,KACAI,EAAAlB,EAAAkB,OACAH,EAAAf,EAAAe,MAGAa,EAAAxD,UAAA2D,EAAAJ,EAAAkC,UAAAqrE,EAAAprE,kBACAlC,EAAAY,KAAAy+L,EAGAjhM,EAAAY,gBACAmgM,EAAAjgM,GAAAC,EAAAD,GAAA,EACAkgM,EAAA//L,EAAAmX,EACAvY,EAAAkB,EAAAD,IAEAigM,EAAA,SAAAp/L,EAAA/E,SAAAkE,EAAAsX,EAAArX,EAAAqX,EACA4oL,EAAA//L,GAAAC,EAAAD,GAAA,EACApB,EAAAqB,EAAAD,EACAw4B,EAAA7gC,KAAAsvC,IAAA,SAAAvmC,EAAA/E,UAAA,QAGAgF,EAAAuC,OACAvC,EAAAi+C,UAAAkhJ,EAAAC,GACAp/L,EAAAszB,OAAAuE,GACA73B,EAAAe,UAAA,SACAf,EAAAgB,aAAA,SAEA,IAAA1E,EAAAyD,EAAAzD,KACA,GAAAlC,EAAApB,QAAAsD,GAEA,IADA,IAAA+F,EAAA,EACAzO,EAAA,EAAmBA,EAAA0I,EAAAlH,SAAiBxB,EACpCoM,EAAAoD,SAAA9G,EAAA1I,GAAA,EAAAyO,EAAApE,GACAoE,GAAAmsG,OAGAxuG,EAAAoD,SAAA9G,EAAA,IAAA2B,GAGA+B,EAAAmD,cAKA,SAAAm8L,EAAA7jM,EAAA8jM,GACA,IAAAloH,EAAA,IAAAwiB,EAAA,CACA75F,IAAAvE,EAAAuE,IACAL,QAAA4/L,EACA9jM,UAGApB,EAAAgK,UAAA5I,EAAA47E,EAAAkoH,GACAllM,EAAAiK,OAAA7I,EAAA47E,GACA57E,EAAA+jM,WAAAnoH,EAGA/kF,EAAAC,QAAA,CACAkL,GAAA,QASA8G,SAAAs1F,EAEAr1F,WAAA,SAAA/I,GACA,IAAA8jM,EAAA9jM,EAAAkE,QAAA03E,MAEAkoH,GACAD,EAAA7jM,EAAA8jM,IAIAvhM,aAAA,SAAAvC,GACA,IAAA8jM,EAAA9jM,EAAAkE,QAAA03E,MACAmoH,EAAA/jM,EAAA+jM,WAEAD,GACAnlM,EAAAqK,QAAA86L,EAAArlM,EAAAgG,OAAAm3E,OAEAmoH,GACAnlM,EAAAgK,UAAA5I,EAAA+jM,EAAAD,GACAC,EAAA7/L,QAAA4/L,GAEAD,EAAA7jM,EAAA8jM,IAEGC,IACHnlM,EAAAqK,UAAAjJ,EAAA+jM,UACA/jM,EAAA+jM,mDCtPA,IAAAplM,EAAc1H,EAAQ,QAQtB,SAAA+sM,EAAApkM,EAAAI,GACA,OAAAJ,EAAA6I,OACA,CACA9B,EAAA/G,EAAA+G,EACAC,EAAAhH,EAAAgH,GAIAjI,EAAAqlM,oBAAApkM,EAAAI,GAQA,SAAAikM,EAAAjkM,EAAAovB,GACA,IACAnvB,EAAA9H,EAAAiC,EAAAgT,EAAAqxD,EADAp+D,EAAAL,EAAAI,KAAAC,SAGA,IAAAlI,EAAA,EAAAiV,EAAA/M,EAAA1G,OAAoCxB,EAAAiV,IAAUjV,EAC9C,GAAA6H,EAAAiB,iBAAA9I,GAKA,IADA8H,EAAAD,EAAAE,eAAA/H,GACAiC,EAAA,EAAAqkE,EAAAx+D,EAAAG,KAAAzG,OAAsCS,EAAAqkE,IAAUrkE,EAAA,CAChD,IAAAkf,EAAArZ,EAAAG,KAAAhG,GACAkf,EAAAoyB,MAAAvO,MACA/N,EAAA9V,IAYA,SAAA4qL,EAAAlkM,EAAAT,GACA,IAAA6G,EAAA,GAQA,OANA69L,EAAAjkM,EAAA,SAAAsZ,GACAA,EAAAmqC,QAAAlkD,EAAAoH,EAAApH,EAAAqH,IACAR,EAAAhO,KAAAkhB,KAIAlT,EAWA,SAAA+9L,EAAAnkM,EAAAT,EAAAoyC,EAAAyyJ,GACA,IAAAn9D,EAAA3nH,OAAAyjH,kBACAshE,EAAA,GAmBA,OAjBAJ,EAAAjkM,EAAA,SAAAsZ,GACA,IAAAq4B,GAAAr4B,EAAAmqC,QAAAlkD,EAAAoH,EAAApH,EAAAqH,GAAA,CAIA,IAAAyW,EAAA/D,EAAAuqC,iBACA34C,EAAAk5L,EAAA7kM,EAAA8d,GAEAnS,EAAA+7H,GACAo9D,EAAA,CAAA/qL,GACA2tH,EAAA/7H,GACGA,IAAA+7H,GAEHo9D,EAAAjsM,KAAAkhB,MAIA+qL,EAQA,SAAAC,EAAAz6F,GACA,IAAA06F,GAAA,IAAA16F,EAAArvG,QAAA,KACAgqM,GAAA,IAAA36F,EAAArvG,QAAA,KAEA,gBAAAwvD,EAAAC,GACA,IAAAgnH,EAAAszB,EAAAhpM,KAAA6hB,IAAA4sC,EAAArjD,EAAAsjD,EAAAtjD,GAAA,EACAoqK,EAAAyzB,EAAAjpM,KAAA6hB,IAAA4sC,EAAApjD,EAAAqjD,EAAArjD,GAAA,EACA,OAAArL,KAAAgR,KAAAhR,KAAAulB,IAAAmwJ,EAAA,GAAA11K,KAAAulB,IAAAiwJ,EAAA,KAIA,SAAA0zB,EAAAzkM,EAAAJ,EAAAsE,GACA,IAAA3E,EAAAykM,EAAApkM,EAAAI,GAEAkE,EAAA2lG,KAAA3lG,EAAA2lG,MAAA,IACA,IAAAu6F,EAAAE,EAAApgM,EAAA2lG,MACAhvC,EAAA32D,EAAAytC,UAAAuyJ,EAAAlkM,EAAAT,GAAA4kM,EAAAnkM,EAAAT,GAAA,EAAA6kM,GACAh+L,EAAA,GAEA,OAAAy0D,EAAAlhE,QAIAqG,EAAAI,KAAAC,SAAAiO,QAAA,SAAA1N,EAAAd,GACA,GAAAE,EAAAiB,iBAAAnB,GAAA,CACA,IAAAG,EAAAD,EAAAE,eAAAJ,GACAwZ,EAAArZ,EAAAG,KAAAy6D,EAAA,GAAA39B,QAGA5jB,MAAAoyB,MAAAvO,MACA/2B,EAAAhO,KAAAkhB,MAKAlT,GAfA,GA+BAvP,EAAAC,QAAA,CAEA4tM,MAAA,CACAC,OAAA,SAAA3kM,EAAAJ,GACA,IAAAL,EAAAykM,EAAApkM,EAAAI,GACAoG,EAAA,GASA,OAPA69L,EAAAjkM,EAAA,SAAAsZ,GACA,GAAAA,EAAAmqC,QAAAlkD,EAAAoH,EAAApH,EAAAqH,GAEA,OADAR,EAAAhO,KAAAkhB,GACAlT,IAIAA,EAAAtM,MAAA,MASAgH,MAAA2jM,EAYA7sM,MAAA6sM,EAWA7jM,QAAA,SAAAZ,EAAAJ,EAAAsE,GACA,IAAA3E,EAAAykM,EAAApkM,EAAAI,GACAkE,EAAA2lG,KAAA3lG,EAAA2lG,MAAA,KACA,IAAAu6F,EAAAE,EAAApgM,EAAA2lG,MACAhvC,EAAA32D,EAAAytC,UAAAuyJ,EAAAlkM,EAAAT,GAAA4kM,EAAAnkM,EAAAT,GAAA,EAAA6kM,GAMA,OAJAvpI,EAAAlhE,OAAA,IACAkhE,EAAA76D,EAAAE,eAAA26D,EAAA,GAAA5/B,eAAA76B,MAGAy6D,GASA+pI,SAAA,SAAA5kM,EAAAJ,GACA,OAAA6kM,EAAAzkM,EAAAJ,EAAA,CAA+B+xC,WAAA,KAW/B92C,MAAA,SAAAmF,EAAAJ,GACA,IAAAL,EAAAykM,EAAApkM,EAAAI,GACA,OAAAkkM,EAAAlkM,EAAAT,IAWAslM,QAAA,SAAA7kM,EAAAJ,EAAAsE,GACA,IAAA3E,EAAAykM,EAAApkM,EAAAI,GACAkE,EAAA2lG,KAAA3lG,EAAA2lG,MAAA,KACA,IAAAu6F,EAAAE,EAAApgM,EAAA2lG,MACAw6F,EAAAF,EAAAnkM,EAAAT,EAAA2E,EAAAytC,UAAAyyJ,GAmBA,OAhBAC,EAAA1qM,OAAA,GACA0qM,EAAA7nM,KAAA,SAAA1E,EAAAC,GACA,IAAA+sM,EAAAhtM,EAAAgsD,UACAihJ,EAAAhtM,EAAA+rD,UACA5xB,EAAA4yK,EAAAC,EAOA,OALA,IAAA7yK,IAEAA,EAAAp6B,EAAAmjC,cAAAljC,EAAAkjC,eAGA/I,IAKAmyK,EAAAvqM,MAAA,MAWA6M,EAAA,SAAA3G,EAAAJ,EAAAsE,GACA,IAAA3E,EAAAykM,EAAApkM,EAAAI,GACA66D,EAAA,GACAmqI,GAAA,EAiBA,OAfAf,EAAAjkM,EAAA,SAAAsZ,GACAA,EAAAqqC,SAAApkD,EAAAoH,IACAk0D,EAAAziE,KAAAkhB,GAGAA,EAAAmqC,QAAAlkD,EAAAoH,EAAApH,EAAAqH,KACAo+L,GAAA,KAMA9gM,EAAAytC,YAAAqzJ,IACAnqI,EAAA,IAEAA,GAWAj0D,EAAA,SAAA5G,EAAAJ,EAAAsE,GACA,IAAA3E,EAAAykM,EAAApkM,EAAAI,GACA66D,EAAA,GACAmqI,GAAA,EAiBA,OAfAf,EAAAjkM,EAAA,SAAAsZ,GACAA,EAAAsqC,SAAArkD,EAAAqH,IACAi0D,EAAAziE,KAAAkhB,GAGAA,EAAAmqC,QAAAlkD,EAAAoH,EAAApH,EAAAqH,KACAo+L,GAAA,KAMA9gM,EAAAytC,YAAAqzJ,IACAnqI,EAAA,IAEAA,6BCtUA,IAAA8qH,EAAiB1uL,EAAQ,QAsBzBJ,EAAAC,QAAA,SAAAoH,GACA,OAAAynL,EAAAznL,yCCvBA,IAAAuR,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,IAAAG,EAAA,OAAAA,EAAA,sBAAoDS,MAAA,CAAOzpB,MAAA6oB,EAAA,YAAAliB,SAAA,SAAA+iB,GAAiDb,EAAAihE,YAAApgE,GAAoBE,WAAA,gBAA2B,CAAAZ,EAAA,OAAYe,MAAA,CAAOslC,KAAA,UAAgBA,KAAA,UAAe,CAAAxmC,EAAAM,GAAA,2BAAAN,EAAA,KAAAG,EAAA,mBAAqEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6BAAuDo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAhD,WAAA2oB,EAAA3lB,MAAA2lB,EAAA2+K,qBAAAx+K,EAAA,sBAA6Ge,MAAA,CAAOtjB,QAAAoiB,EAAA4+K,eAAAvkM,IAAA2lB,EAAA3lB,KAA2CumB,MAAA,CAAQzpB,MAAA6oB,EAAA,sBAAAliB,SAAA,SAAA+iB,GAA2Db,EAAAi/F,sBAAAp+F,GAA8BE,WAAA,2BAAqCf,EAAAgB,KAAAb,EAAA,WAAyBe,MAAA,CAAO29K,kBAAA7+K,EAAA3lB,QAA2B2lB,EAAAgB,MAAA,GAAAb,EAAA,sBAAyCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,iEAA2Fo8C,OAAA,IAAY,oBAAA97C,MAAA,CAAgCzpB,MAAA6oB,EAAA,WAAAliB,SAAA,SAAA+iB,GAAgDb,EAAA8+K,WAAAj+K,GAAmBE,WAAA,eAA0B,CAAAf,EAAA,SAAAG,EAAA,gBAAoCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,WAAAuyD,GAAA,WAA6B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mEAA6Fo8C,OAAA,IAAY,kBAAA97C,MAAA,CAA8BzpB,MAAA6oB,EAAA,mBAAAliB,SAAA,SAAA+iB,GAAwDb,EAAA++K,mBAAAl+K,GAA2BE,WAAA,uBAAkC,CAAAZ,EAAA,SAAAH,EAAAM,GAAA,oEAAAN,EAAAgB,KAAAhB,EAAA,IAAAG,EAAA,qBAAoIe,MAAA,CAAO29K,kBAAA7+K,EAAAg/K,iBAAAl3K,QAAA9H,EAAAi/F,sBAAAggF,sBAAAj/K,EAAA2+K,wBAA2H3+K,EAAAgB,KAAAb,EAAA,OAAqBE,YAAA,aAAwB,CAAAF,EAAA,6BAAkCe,MAAA,CAAO7mB,IAAA2lB,EAAAg/K,qBAA4B,OAAAh/K,EAAA3lB,IAAA,SAAA8lB,EAAA,8BAAAH,EAAA3lB,IAAAsuB,SAAAxI,EAAA,OAAAA,EAAA,sBAAsHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,SAAAuyD,GAAA,WAA2B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAuFo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAA,EAAA,mBAAkCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mEAAAN,EAAAM,GAAA,qBAAyHo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAk/K,QAAA7nM,WAAA8oB,EAAA,mBAAuEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,qBAA0Ho8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAw9J,UAAAn/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,WAAA9D,EAAA,mBAAqHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oEAAAN,EAAAM,GAAA,qBAA0Ho8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAAy9J,UAAAp/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,WAAA9D,EAAA,mBAAqHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,qBAA2Ho8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA09J,WAAA,IAAAr/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,eAAA9D,EAAA,mBAA8Ho8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,qBAA2Ho8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA29J,WAAA,IAAAt/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,eAAA9D,EAAA,mBAA8Ho8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qEAAAN,EAAAM,GAAA,qBAA2Ho8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA49J,WAAA,IAAAv/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,eAAA9D,EAAA,mBAA8Ho8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,kFAAAN,EAAAM,GAAA,qBAAwIo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA69J,wBAAAx/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,WAAA9D,EAAA,mBAAmIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,4EAAAN,EAAAM,GAAA,qBAAkIo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA3lB,IAAAsnC,SAAA89J,kBAAA,IAAAz/K,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,sBAAAjE,EAAAgB,OAAAhB,EAAAgB,KAAAhB,EAAA,qBAAAG,EAAA,gBAAwLe,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,IAAAy3B,aAAA,MAA+B3R,EAAA,0BAA+Be,MAAA,CAAO7mB,IAAA2lB,EAAA3lB,OAAe2lB,EAAA3lB,KAAA2lB,EAAA41D,KAAA,oCAAAz1D,EAAA,OAAsEe,MAAA,CAAOw+K,sBAAA,CAAA1/K,EAAA3lB,IAAAqB,OAAoCskB,EAAAgB,KAAAhB,EAAA2+K,qBAAiH3+K,EAAAgB,KAAjHb,EAAA,YAAsDe,MAAA,CAAOgB,UAAA,CAAAlC,EAAA3lB,IAAAqB,IAAAymB,WAAA,qBAAoD,GAAAnC,EAAAgB,MACzkKoB,EAAA,iKCDIu9K,EAAM,WAAgB,IAAA3/K,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,OAAkB,CAAAF,EAAA,YAAiBe,MAAA,CAAO40D,MAAA,IAAWj0D,GAAA,CAAKC,MAAA,SAAAkb,GAAyBhd,EAAA4/K,WAAA,KAAuB,CAAAz/K,EAAA,OAAYe,MAAA,CAAOhkB,MAAA,OAAA6tC,IAAqBp6C,EAAQ,aAA4BqvB,EAAA,UAAAG,EAAA,YAAmCe,MAAA,CAAOw+K,sBAAA1/K,EAAAynF,mBAA4C7mF,MAAA,CAAQzpB,MAAA6oB,EAAA,UAAAliB,SAAA,SAAA+iB,GAA+Cb,EAAA4/K,UAAA/+K,GAAkBE,WAAA,eAAyBf,EAAAgB,MAAA,IACpd6+K,EAAe,2BCgBnBC,EAAA,CACAv7K,WAAA,CACA0yD,WAAA,KACA8oH,WAAA,MAEAl2L,MAAA,CACA49F,kBAAA10G,OAEA+G,KARA,WASA,OACA8lM,WAAA,KC3B0XI,EAAA,cCO1Xh9K,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd02L,EACAL,EACAE,GACF,EACA,KACA,KACA,MAIeI,EAAAj9K,0DClBXk9K,EAAM,WAAgB,IAAAlgL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,qBAAgC,CAAAL,EAAA,iBAAAG,EAAAH,EAAAk1D,iBAAA,CAAkDC,IAAA,YAAAj0D,MAAA,CAAuB29K,kBAAA7+K,EAAAmgL,kBAAsCngL,EAAAgB,MAAA,IACrPo/K,EAAe,GCDfC,EAAM,WAAgB,IAAArgL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,mBAAuCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAsgL,kBAAAngL,EAAA,mBAAsEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAk/K,QAAA7nM,WAAA8oB,EAAA,mBAAuEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yCAAmEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,qCAAAN,EAAAO,GAAAP,EAAAqB,cAAA,KAAAlB,EAAA,mBAAwHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,gDAA0Eo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAV,EAAAugL,kBAAAvgL,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,WAAA9D,EAAA,mBAAiIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8CAAwEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAyO,oBAAAjwB,EAAA,mBAAiFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uDAAiFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAA6+J,6BAAArgL,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,gDAAAN,EAAAsC,GAAAtC,EAAA2hB,SAAA,uBAAA8+J,GAA2M,OAAAtgL,EAAA,yCAAmDjW,IAAAu2L,EAAAtsI,KAAAjzC,MAAA,CAA6Bw/K,gBAAAD,OAAgCzgL,EAAA2hB,SAAA,sBAAAxhB,EAAA,OAAAA,EAAA,MAAAA,EAAA,SAAAH,EAAAM,GAAA,wDAAAH,EAAA,mBAA2Jo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2gL,6BAAAtpM,WAAA8oB,EAAA,mBAA4Fo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,yCAAmEo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAi/J,sBAAAC,UAAA,IAAA7gL,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,mBAAAjE,EAAAgB,MAAA,IAC/sE8/K,EAAe,eCDfC,EAAM,WAAgB,IAAA/gL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,mBAAuCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qCAA+Do8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAygL,aAAAtsI,WAAAh0C,EAAA,mBAA4Eo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6CAAuEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAygL,aAAA,iBAAAzgL,EAAAygL,aAAA,WAAAtgL,EAAA,mBAAwHo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,iDAA2Eo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,6CAAAN,EAAAO,GAAAP,EAAAygL,aAAAO,iBAAA,qBAAAhhL,EAAAygL,aAAA,YAAAtgL,EAAA,mBAAmMo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,0CAAoEo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAihL,2BAAAjhL,EAAAgB,KAAAhB,EAAAygL,aAAA,qBAAAtgL,EAAA,mBAAgIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAkhL,oCAAAlhL,EAAAgB,KAAAb,EAAA,WACr0CghL,EAAe,2BC8CnBC,EAAA,CACA78K,WAAA,CACAqiC,kBAAA,MAEA/8C,MAAA,CACA42L,aAAA,CACArpM,KAAAkS,OACA4e,UAAA,IAGAtF,SAAA,CACAq+K,qBADA,WAEA,IAAA/vM,KAAAuvM,aAAAx9J,YAAA,SADA,IAAAo+J,EAGA/3L,OAAAg4L,EAAA,KAAAh4L,CAAApY,KAAAuvM,aAAAx9J,aAAA,GAAA5rC,EAHAgqM,EAGAhqM,KAAAkqM,EAHAF,EAGAE,aACA,SAAA37L,OAAAvO,EAAA,MAAAuO,OAAA27L,EAAA,MAEAL,8BAPA,WAQA,OAAA53L,OAAAg4L,EAAA,KAAAh4L,CAAApY,KAAAuvM,aAAAe,sBAAAnqM,QCjEwdoqM,EAAA,ECOpdC,EAAYp4L,OAAA2Z,EAAA,KAAA3Z,CACdm4L,EACAV,EACAI,GACF,EACA,KACA,WACA,MAIeQ,EAAAD,gkBC8Df,IAAAE,EAAA,CACAr9K,WAAA,CACAqiC,kBAAA,KACA+6I,yCAEA93L,MAAA,CACAs2L,eAAA,CACA/oM,KAAAkS,OACA4e,UAAA,IAGAtF,SAAAuF,EAAA,GACA7e,OAAA8e,EAAA,KAAA9e,CAAA,cACA,aAFA,CAIA+X,SAJA,WAKA,IAAAwgL,EAAA,CACAC,8BAAA,aACAC,6BAAA,YACAC,sBAAA,OACAC,6BAAA,aAGA,OAAAJ,EAAA3wM,KAAAivM,eAAAx3K,WAEA43K,gBAdA,WAeA,OAAArvM,KAAAguM,QAAAhuM,KAAAmwB,WAEA69K,QAjBA,WAkBA,OAAAhuM,KAAAgxM,SAAAhxM,KAAAivM,eAAAgC,YAEAxB,6BApBA,WAqBA,OAAAzvM,KAAAgxM,SAAAhxM,KAAAywC,SAAAi/J,sBAAAuB,YAEAxgK,SAvBA,WAwBA,OAAAzwC,KAAAivM,eAAAx+J,UAEA2+J,YA1BA,WA2BA,OAAAh3L,OAAAy9C,EAAA,OAAAz9C,CAAApY,KAAAywC,SAAA,0BCtH4cygK,EAAA,ECOxcC,EAAY/4L,OAAA2Z,EAAA,KAAA3Z,CACd84L,EACA/B,EACAS,GACF,EACA,KACA,WACA,MAIewB,EAAAD,UClBXE,EAAM,WAAgB,IAAAviL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,mBAAuCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAApZ,QAAAlxB,WAAA8oB,EAAA,mBAAgFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAk/K,QAAA7nM,WAAA8oB,EAAA,mBAAuEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,4CAAsEo8C,OAAA,MAAe,CAAA18C,EAAA,YAAAG,EAAA,OAAAA,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6iB,YAAAroC,UAAAwlB,EAAAM,GAAA,qBAAAH,EAAA,QAAAH,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAAwiL,GAAA,aAAAxiL,GAAA6iB,YAAA4/J,cAAA72L,QAAA,MAAAoU,EAAAO,GAAAP,EAAAwiL,GAAA,aAAAxiL,GAAA6iB,YAAA4/J,cAAA32L,MAAA,SAAAqU,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,yCAAAH,EAAA,mBAAgXo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qCAA+Do8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAmgL,eAAAtqI,WAAA11C,EAAA,mBAA8Eo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qDAA+Eo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAA+gK,oBAAAviL,EAAA,mBAAiFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8DAAwFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmoD,WAAA64G,yBAAAxiL,EAAA,uBAAqGe,MAAA,CAAO0hL,SAAA,8CAAsD,IACxuDC,EAAe,knBCiEnB,IAAAC,EAAA,CACAv+K,WAAA,CACAk6D,sBAAA,KACA73B,kBAAA,MAEAm8I,QAAA,CACAC,WADA,SACAC,GACA,OAAAzgH,IAAAygH,GAAAviL,OAAA,cAGA7W,MAAA,CACAs2L,eAAA,CACA/oM,KAAAkS,OACA4e,UAAA,IAGApuB,KAhBA,WAiBA,OACA+oC,YAAA,OAGAjgB,SAAAsgL,EAAA,GACA55L,OAAA8e,EAAA,KAAA9e,CAAA,cACA,aAFA,CAIAq4B,SAJA,WAKA,OAAAzwC,KAAAivM,eAAAx+J,UAEAu9J,QAPA,WAQA,OAAAhuM,KAAAgxM,SAAAhxM,KAAAivM,eAAAgC,cAGA3hJ,QAhCA,WAgCA,IAAAx0C,EAAA9a,KACAA,KAAAivM,eAAAgD,eACA75L,OAAAotF,EAAA,KAAAptF,CAAA,oDACA5N,GAAA,wCACAkL,OAAA,CACAu8L,cAAA,kBAAAn3L,EAAAm0L,eAAAgD,gBAEAxsG,SAAA,SAAAysG,GACAp3L,EAAA62B,YAAA,CACA4/J,cAAAW,EAAAX,cACAjoM,MAAA8O,OAAAjR,EAAA,KAAAiR,CAAA85L,SC5GocC,GAAA,ECOhcC,GAAYh6L,OAAA2Z,EAAA,KAAA3Z,CACd+5L,GACAd,EACAM,GACF,EACA,KACA,KACA,MAIeU,GAAAD,WClBXE,GAAM,WAAgB,IAAAxjL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,wBAAmC,CAAAF,EAAA,mBAAwBo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAA18C,EAAA,QAAAG,EAAA,OAAAA,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAuI,QAAAlxB,WAAA8oB,EAAA,OAAAA,EAAA,QAAAA,EAAA,SAAAH,EAAAM,GAAA,2CAAAH,EAAA,mBAAmLo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAA18C,EAAA,QAAAG,EAAA,OAAAH,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAAk/K,QAAA7nM,MAAA,YAAA8oB,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,yCAAAH,EAAA,mBAA6Ko8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,4CAAsEo8C,OAAA,MAAe,CAAA18C,EAAA,YAAAG,EAAA,OAAAA,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6iB,YAAAroC,UAAAwlB,EAAAM,GAAA,qBAAAH,EAAA,QAAAH,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAAwiL,GAAA,aAAAxiL,GAAA6iB,YAAA4/J,cAAA72L,QAAA,MAAAoU,EAAAO,GAAAP,EAAAwiL,GAAA,aAAAxiL,GAAA6iB,YAAA4/J,cAAA32L,MAAA,SAAAqU,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,yCAAAH,EAAA,mBAAgXo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAuFo8C,OAAA,MAAe,CAAA18C,EAAA,aAAAG,EAAA,SAAAH,EAAAM,GAAA,mCAAAN,EAAAO,GAAAP,EAAA21D,iBAAAx1D,EAAA,SAAAH,EAAAM,GAAA,uCAAAH,EAAA,mBAAuLo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oDAA8Eo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,oDAAAN,EAAAO,GAAAP,EAAA2hB,SAAA8hK,UAAA,yBAAAzjL,EAAAM,GAAA,WAAAN,EAAAO,GAAA,mBAAAJ,EAAA,SAAAH,EAAAM,GAAA,oDAAAN,EAAAO,GAAAP,EAAA2hB,SAAA+hK,aAAA,uCAAA1jL,EAAA2jL,eAAA3jL,EAAA2hB,SAAAiiK,oBAAAzjL,EAAA,mBAA2Zo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,kEAA4Fo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAA,wBAAA3hB,EAAAmgL,eAAA,WAAAngL,EAAAgB,KAAAhB,EAAA,cAAAG,EAAA,OAAAA,EAAA,mBAAoKo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,SAAAH,EAAAM,GAAA,+CAAAN,EAAAO,GAAAP,EAAA2hB,SAAAkiK,gBAAA,GAAA1jL,EAAA,mBAAiIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oDAA8Eo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,SAAAH,EAAAM,GAAA,gDAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmiK,iBAAA,GAAA3jL,EAAA,mBAAmIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8CAAwEo8C,OAAA,IAAY,oBAAwB,CAAAv8C,EAAA,SAAAH,EAAAM,GAAA,0CAAAN,EAAAO,GAAAP,EAAA2hB,SAAAoiK,WAAA,OAAA/jL,EAAAgB,MAAA,IAC7pGgjL,GAAe,6jBCsGnB,IAAAC,GAAA,CACA1/K,WAAA,CACAqiC,kBAAA,MAEAm8I,QAAA,CACAC,WADA,SACAC,GACA,OAAAzgH,IAAAygH,GAAAviL,OAAA,cAGA7W,MAAA,CACAs2L,eAAA72L,QAEAxP,KAZA,WAaA,OACA+oC,YAAA,OAGAjgB,SAAAshL,GAAA,GACA56L,OAAAyzD,EAAA,KAAAzzD,CAAA,CACA,uBAFA,GAIAA,OAAA8e,EAAA,KAAA9e,CAAA,cACA,aALA,CAOA41L,QAPA,WAQA,OAAAhuM,KAAAgxM,SAAAhxM,KAAAivM,eAAAx+J,SAAAwgK,YAEAxgK,SAVA,WAWA,OAAAzwC,KAAAivM,eAAAx+J,UAEAg0C,aAbA,WAcA,OAAAzkF,KAAAywC,SAAAg0C,cAEAguH,cAhBA,WAiBA,OAAAzyM,KAAAywC,SAAA8hK,YAAA,GAEAl7K,QAnBA,WAoBA,OAAAr3B,KAAAywC,SAAApZ,WAGAi4B,QAxCA,WAwCA,IAAAx0C,EAAA9a,KACAA,KAAAivM,eAAAgD,eACA75L,OAAAotF,EAAA,KAAAptF,CAAA,oDACA5N,GAAA,wCACAkL,OAAA,CACAu8L,cAAA,kBAAAn3L,EAAAm0L,eAAAgD,gBAEAxsG,SAAA,SAAAysG,GACAp3L,EAAA62B,YAAA,CACA4/J,cAAAW,EAAAX,cACAjoM,MAAA8O,OAAAjR,EAAA,KAAAiR,CAAA85L,SCzJqce,GAAA,GCQjcC,cAAY96L,OAAA2Z,EAAA,KAAA3Z,CACd66L,GACAX,GACAQ,IACF,EACA,KACA,WACA,OAIeK,GAAAD,WCnBXE,GAAM,WAAgB,IAAAtkL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,mBAAuCo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAApZ,QAAAlxB,WAAA8oB,EAAA,mBAAgFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,uCAAiEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAk/K,QAAA7nM,WAAA8oB,EAAA,mBAAuEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qCAA+Do8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAmgL,eAAAtqI,WAAA11C,EAAA,mBAA8Eo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qDAA+Eo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAA+gK,oBAAAviL,EAAA,mBAAiFo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,oEAA8Fo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmoD,WAAAy6G,6BAAApkL,EAAA,mBAAqGo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAuFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmoD,WAAA06G,sBAAArkL,EAAA,mBAA8Fo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,6DAAuFo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmoD,WAAA26G,sBAAAtkL,EAAA,mBAA8Fo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,0EAAoGo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA2hB,SAAAmoD,WAAA46G,8BAAAvkL,EAAA,UAAAA,EAAA,SAAAH,EAAAM,GAAA,kEAAAN,EAAAsC,GAAAtC,EAAA2hB,SAAAmoD,WAAA,eAAA5kE,GAAwO,OAAA/E,EAAA,OAAiBjW,IAAAgb,EAAAk4D,QAAgB,CAAAp9D,EAAAM,GAAA,SAAAN,EAAAO,GAAAP,EAAA2kL,gBAAA,IAAAz/K,EAAA,uBAAA/E,EAAA,QAAgGE,YAAA,aAAwB,CAAAL,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA4kL,sBAAA,KAAA1/K,EAAA,6BAAA/E,EAAA,QAAoHE,YAAA,aAAwB,CAAAL,EAAAM,GAAA,WAAAN,EAAAO,GAAAP,EAAA6kL,eAAA,KAAA3/K,EAAA,sBAAmF,IACp6E4/K,GAAe,6jBC6EnB,IAAAC,GAAA,CACAxgL,WAAA,CACAqiC,kBAAA,MAEA/8C,MAAA,CACAs2L,eAAA,CACA/oM,KAAAkS,OACA4e,UAAA,IAGAtF,SAAAoiL,GAAA,GACA17L,OAAA8e,EAAA,KAAA9e,CAAA,cACA,aAFA,CAIAq4B,SAJA,WAKA,OAAAzwC,KAAAivM,eAAAx+J,UAEAu9J,QAPA,WAQA,OAAAhuM,KAAAgxM,SAAAhxM,KAAAivM,eAAAgC,YAEAwC,gBAVA,WAWA,OAAAzzM,KAAAuvB,MAAAy7B,UAAA,6CAEA0oJ,sBAbA,WAcA,OAAA1zM,KAAAuvB,MAAAy7B,UAAA,mDAEA2oJ,eAhBA,WAiBA,OAAA3zM,KAAAuvB,MAAAy7B,UAAA,+CCzGoc+oJ,GAAA,GCQhcC,cAAY57L,OAAA2Z,EAAA,KAAA3Z,CACd27L,GACAX,GACAQ,IACF,EACA,KACA,WACA,OAIeK,GAAAD,WCnBXE,GAAM,WAAgB,IAAAplL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,kCAA6C,CAAAF,EAAA,mBAAwBo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAqlL,kBAAAllL,EAAA,mBAAsEo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,wCAAkEo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAslL,sBAAAnlL,EAAA,mBAA0Eo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,4CAAsEo8C,OAAA,MAAe,CAAA18C,EAAA,YAAAG,EAAA,OAAAA,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAA6iB,YAAAroC,UAAAwlB,EAAAM,GAAA,qBAAAH,EAAA,QAAAH,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAAwiL,GAAA,aAAAxiL,GAAA6iB,YAAA4/J,cAAA72L,QAAA,MAAAoU,EAAAO,GAAAP,EAAAwiL,GAAA,aAAAxiL,GAAA6iB,YAAA4/J,cAAA32L,MAAA,SAAAqU,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,yCAAAH,EAAA,mBAAgXo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,qEAA+Fo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAulL,oBAAAvlL,EAAAwlL,cAAAxlL,EAAAmgL,eAAAx+J,SAAA8jK,cAAAtlL,EAAA,mBAAwIo8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,8CAAwEo8C,OAAA,IAAY,qBAAyB,CAAAv8C,EAAA,OAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAmgL,eAAAx+J,SAAA,kBAAA3hB,EAAAmgL,eAAA,WAAAngL,EAAAgB,KAAAb,EAAA,mBAA+Io8C,YAAAv8C,EAAAw8C,GAAA,EAAqBtyD,IAAA,QAAAuyD,GAAA,WAA0B,OAAAt8C,EAAA,SAAAH,EAAAM,GAAA,mDAA6Eo8C,OAAA,MAAe,CAAAv8C,EAAA,OAAAA,EAAA,SAAAH,EAAAM,GAAA,+CAAAN,EAAAO,GAAAP,EAAAmgL,eAAAx+J,SAAA+jK,mBAAA,0BAC1wDC,GAAe,6jBCgEnB,IAAAC,GAAA,CACArhL,WAAA,CACAqiC,kBAAA,MAEAm8I,QAAA,CACAC,WADA,SACAC,GACA,OAAAzgH,IAAAygH,GAAAviL,OAAA,cAGA7W,MAAA,CACAs2L,eAAA72L,QAEAxP,KAZA,WAaA,OACA+oC,YAAA,OAGAjgB,SAAAijL,GAAA,GACAv8L,OAAA8e,EAAA,KAAA9e,CAAA,qBACAw8L,SAAA,SAAAx9K,GAAA,OAAAA,EAAAy9K,kBAAAjsM,KAAAksM,UAAAC,WAFA,GAIA38L,OAAA8e,EAAA,KAAA9e,CAAA,cACA,aALA,GAOAA,OAAAyzD,EAAA,KAAAzzD,CAAA,CACA,mBARA,CAUAi8L,aAVA,WAWA,GAAAr0M,KAAAivM,eAAA,CACA,IAAA/oM,EAAAlG,KAAAgxM,SAAAhxM,KAAAivM,eAAAgC,WAAA/qM,KACA,OAAAlG,KAAAg1M,SAAA,gBAAAtgM,OAAAxO,IAEA,aAGAkuM,gBAlBA,WAmBA,OAAAp0M,KAAAivM,eACAjvM,KAAAgxM,SAAAhxM,KAAAivM,eAAAgC,WAAA9qM,KAEA,OAGAguM,YAzBA,WA0BA,OAAAn0M,KAAAivM,gBAAAjvM,KAAAivM,eAAAx+J,UAAAzwC,KAAAivM,eAAAx+J,SAAApZ,QAAAr3B,KAAAivM,eAAAx+J,SAAApZ,QAAAlxB,KAAA,OAEAmuM,aA5BA,WA6BA,sCAAAt0M,KAAAivM,eAAAx3K,YAGA63B,QAjDA,WAiDA,IAAAx0C,EAAA9a,KACAA,KAAAivM,eAAAgD,eACA75L,OAAAotF,EAAA,KAAAptF,CAAA,oDACA5N,GAAA,wCACAkL,OAAA,CACAu8L,cAAA,kBAAAn3L,EAAAm0L,eAAAgD,gBAEAxsG,SAAA,SAAAysG,GACAp3L,EAAA62B,YAAA,CACA4/J,cAAAW,EAAAX,cACAjoM,MAAA8O,OAAAjR,EAAA,KAAAiR,CAAA85L,SC5H8c+C,GAAA,GCQ1cC,cAAY98L,OAAA2Z,EAAA,KAAA3Z,CACd68L,GACAf,GACAO,IACF,EACA,KACA,WACA,OAIeU,GAAAD,WCLfE,GAAA,CACAz8L,MAAA,CACAs2L,eAAA72L,QAEAsZ,SAAA,CACAsyD,iBADA,WAEA,IAAAhkF,KAAAivM,eACA,YAGA,OAAAjvM,KAAAivM,eAAAx3K,UACA,mCACA,oCACA,mCACA,4BACA,OAAA25K,EAEA,gCACA,OAAAiB,GAEA,gCACA,OAAA4B,GAEA,gCACA,OAAAd,GAEA,2BACA,kCACA,yCACA,OAAAgC,GAEA,QACA,gBC9C0bE,GAAA,GCQtbC,cAAYl9L,OAAA2Z,EAAA,KAAA3Z,CACdi9L,GACArG,EACAE,GACF,EACA,KACA,WACA,OAIeqG,GAAAD,WCnBXE,GAAM,WAAgB,IAAA1mL,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,8BAAAH,EAAAmgL,eAAAnlK,QAAAhb,EAAA2mL,kBAAsI3mL,EAAAgB,KAAtIb,EAAA,OAA0GE,YAAA,iBAA4B,CAAAF,EAAA,SAAAH,EAAAM,GAAA,4CAAAN,EAAAO,GAAAP,EAAA4mL,uBAAA,GAAA5mL,EAAAsC,GAAAtC,EAAA,4BAAAkF,GAA8J,OAAA/E,EAAA,OAAiBjW,IAAAgb,EAAA7tB,KAAAgpB,YAAA,gBAAyC,CAAAF,EAAA,KAAUE,YAAA,eAAAhN,MAAA6R,EAAA,QAA8C/E,EAAA,UAAeE,YAAA,aAAwB,CAAAL,EAAAM,GAAA,QAAAN,EAAAO,GAAA2E,EAAA7tB,MAAA,OAAA8oB,EAAA,OAAoDE,YAAA,aAAwB,CAAAL,EAAAM,GAAA,WAAAN,EAAAO,GAAA,SAAAP,EAAAmgL,eAAAnlK,OAAA9V,EAAA/tB,MAAA6oB,EAAAS,MAAAC,OAAAwE,EAAA/tB,MAAA,WAAA6oB,EAAAO,GAAAP,EAAAmgL,eAAAtqI,MAAA,iBAAqK,IACnwBgxI,GAAe,6jBCkBnB,IAAAC,GAAA,CACAj9L,MAAA,CACAs2L,eAAA72L,OACAwe,QAAAlK,OACA+oL,kBAAA,CACAvvM,KAAAimC,QACA1a,SAAA,IAGAC,SAAA,CACAmkL,mBADA,WACA,IAAA/6L,EAAA9a,KACA,IAAAA,KAAAivM,qBAAAtoM,IAAA3G,KAAAivM,eAAAp7K,MAAA,SAEA,IAAAiiL,EAAA,SAAA9hL,EAAA5zB,GAAA,OAAA21M,GAAA,GAAA/hL,EAAA,CAAA7R,MAAArH,EAAAk7L,aAAA51M,MAEA61M,EAAAj2M,KAAAy1M,kBACAr9L,OAAAy9C,EAAA,WAAAz9C,CAAApY,KAAAivM,eAAAp7K,MAAA,WAAA1qB,IAAA2sM,GACA91M,KAAAivM,eAAAp7K,MAAA1qB,IAAA2sM,GAEA,OAAA91M,KAAAy1M,kBAAAr9L,OAAAy9C,EAAA,WAAAz9C,CAAA69L,EAAA,WAAA79L,OAAAy9C,EAAA,WAAAz9C,CAAA69L,EAAA,WAEAC,kBAZA,WAaA,OAAAl2M,KAAAy1M,kBACA,GAEAr9L,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAAivM,eAAAjvM,KAAA42B,UAEA8+K,kBAlBA,WAmBA,6CAAA11M,KAAAivM,eAAAx3K,SAAA,6CAGAlD,QAAA,CACAyhL,aADA,SACA51M,GACA,OAAAJ,KAAAy1M,kBACA,UAAA/gM,OAAAssB,EAAA,KAAAs/D,KAAA,EAAAlgG,EAAAJ,KAAAivM,eAAAp7K,MAAA1xB,OAAAnC,KAAAivM,eAAAx3K,UAAA,KAEA,UAAA/iB,OAAA1U,KAAAk2M,kBAAA91M,GAAA,QCvDoc+1M,GAAA,GCQhcC,cAAYh+L,OAAA2Z,EAAA,KAAA3Z,CACd+9L,GACAX,GACAG,IACF,EACA,KACA,WACA,OAIeU,GAAAD,klBCkHf,IAAAE,GAAA,CACA1F,8BAAA,aACAC,6BAAA,YACAC,sBAAA,OACAC,6BAAA,aAGAjuG,GAAA,CACAzvE,WAAA,CACAkiL,WACAzrH,qBAAA,KACAne,qBAAA,KACA0qI,qBACA3gJ,kBAAA,KACA6gJ,eAAA,KACAC,4BAAA,KACAC,yBAAA,KACA9yG,eAAA,KACAorG,MACAt7K,WAAA,MAEApB,OAAA,CACA6zD,GAAA,MAEAvtE,MAAA,CACAxP,IAAAiP,QAEAxP,KApBA,WAqBA,OACAguB,QAAA,UACAm5D,aAAA,EACA69G,YAAA,EACAC,oBAAA,IAGAn8K,SAAAglL,GAAA,GACAt+L,OAAAyzD,EAAA,KAAAzzD,CAAA,mCACA,6BAFA,GAIAA,OAAA8e,EAAA,KAAA9e,CAAA,cACA,aALA,CAOAq1L,qBAPA,WAQA,6BAAAztM,KAAAmJ,IAAAsuB,UAEAi2K,eAVA,WAWA,OAAA1tM,KAAAmJ,KAAAnJ,KAAAytM,qBAAA,GAEAztM,KAAAmJ,IAAAsuB,SAAAk/K,WAAA,sBACA,8BAEA,mCAGA3I,QAnBA,WAoBA,OAAAhuM,KAAAmJ,IACAnJ,KAAAgxM,SAAAhxM,KAAAmJ,IAAA8nM,WADA,MAGA9gL,SAvBA,WAwBA,OAAAnwB,KAAAmJ,IAEAmtM,GAAAt2M,KAAAmJ,IAAAsuB,UAFA,MAIAm/K,eA5BA,WA6BA,OAAA52M,KAAAguM,SAAAhuM,KAAAmwB,SAEAnwB,KAAAguM,QAAAhuM,KAAAmwB,UAAA,IAFA,GAIA29K,iBAjCA,WAiCA,IAAAhzL,EAAA9a,KACA,OAAAA,KAAAmJ,IAEAnJ,KAAA6tM,mBAAA7tM,KAAAmJ,IAEautM,GAAA,GACb12M,KAAAmJ,IADA,CAEA0qB,MAAA7zB,KAAAmJ,IAAA0qB,MAAA1qB,IAAA,SAAA6qB,GAAA,OAAA0iL,GAAA,GACA1iL,EADA,CAEA/tB,MAAA6U,EAAA87L,eAAA5iL,EAAA/tB,YARA,IAYAO,SA9CA,WA+CA,OAAA4R,OAAA2C,KAAA/a,KAAA8tM,kBAAA3rM,OAEAiW,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAA8tM,iBAAA9tM,KAAA+tH,uBAFA,MAKAx5F,QAAAmiL,GAAA,GACAt+L,OAAA8e,EAAA,KAAA9e,CAAA,yBACA,WAGAsf,MAAA,CACAg2K,eADA,SACAhhM,GACAA,EAAA2nB,SAAAr0B,KAAA+tH,yBACA/tH,KAAA+tH,sBAAArhH,EAAA,YAIA4iD,QA5FA,WA6FAtvD,KAAA2sH,MAAA3sH,KAAAwG,YCzOybqwM,GAAA,GCQrb7zG,cAAY5qF,OAAA2Z,EAAA,KAAA3Z,CACdy+L,GACA5+L,EACAiZ,GACF,EACA,KACA,WACA,OAIe1Q,EAAA,KAAAwiF,gDCnBf,IAAA8zG,EAAAr3M,EAAA,QAAAs3M,EAAAt3M,EAAAyC,EAAA40M,GAAomBC,EAAG,uCCIvmB,IAAAxjK,EAAY9zC,EAAQ,QACpBwH,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB0iE,EAAmB1iE,EAAQ,QAE3BJ,EAAAC,QAAA,WA4ZA,SAAA03M,EAAAC,EAAA/8L,EAAAg9L,GACA,IAAAC,EAYA,MAXA,kBAAAF,GACAE,EAAAx1J,SAAAs1J,EAAA,KAEA,IAAAA,EAAAj0M,QAAA,OAEAm0M,IAAA,IAAAj9L,EAAAk9L,WAAAF,KAGAC,EAAAF,EAGAE,EAOA,SAAAE,EAAApxM,GACA,YAAAU,IAAAV,GAAA,OAAAA,GAAA,SAAAA,EAQA,SAAAqxM,EAAAC,EAAAC,EAAAC,GACA,IAAAhkK,EAAA1xB,SAAA21L,YACAN,EAAAjwM,EAAAwwM,eAAAJ,GACAK,EAAAnkK,EAAAokK,iBAAAN,GAAAC,GACAM,EAAArkK,EAAAokK,iBAAAT,GAAAI,GACAO,EAAAV,EAAAO,GACAI,EAAAX,EAAAS,GACAG,EAAAnwL,OAAAyjH,kBAEA,OAAAwsE,GAAAC,EACAj0M,KAAAyiC,IACAuxK,EAAAf,EAAAY,EAAAL,EAAAE,GAAAQ,EACAD,EAAAhB,EAAAc,EAAAV,EAAAK,GAAAQ,GAGA,OApcA9wM,EAAA+wM,YAAA,WACA,OAAA/wM,EAAAsgB,MAAAtgB,EAAAqiC,MAAAoG,UAAA,OAAAttC,MAAA0O,KAAA4+B,UAAA,IACA0/B,OAAA,SAAAt2D,EAAAN,EAAAwE,EAAAxQ,GACA,IAAAyiE,EAAAz2D,EAAAM,IAAA,GACA+qD,EAAA7mD,EAAAlE,GAEA,WAAAA,EAEAN,EAAAM,GAAA7R,EAAAgxM,WAAAhpI,EAAApL,GACK,UAAA/qD,EAELN,EAAAM,GAAA7R,EAAAsgB,MAAA0nD,EAAA,CAAAhN,EAAAi2I,iBAAAr0I,EAAA79D,MAAA69D,IAEA58D,EAAA+nE,QAAAl2D,EAAAN,EAAAwE,EAAAxQ,OAMAvF,EAAAgxM,WAAA,WACA,OAAAhxM,EAAAsgB,MAAAtgB,EAAAqiC,MAAAoG,UAAA,OAAAttC,MAAA0O,KAAA4+B,UAAA,IACA0/B,OAAA,SAAAt2D,EAAAN,EAAAwE,EAAAxQ,GACA,aAAAsM,GAAA,UAAAA,EAAA,CACA,IACArY,EAAAuF,EAAAwvB,EADA2iL,EAAAn7L,EAAAlE,GAAA7W,OAOA,IAJAuW,EAAAM,KACAN,EAAAM,GAAA,IAGArY,EAAA,EAAgBA,EAAA03M,IAAU13M,EAC1B+0B,EAAAxY,EAAAlE,GAAArY,GACAuF,EAAAiB,EAAA+F,eAAAwoB,EAAAxvB,KAAA,UAAA8S,EAAA,qBAEArY,GAAA+X,EAAAM,GAAA7W,QACAuW,EAAAM,GAAApY,KAAA,KAGA8X,EAAAM,GAAArY,GAAAuF,MAAAwvB,EAAAxvB,MAAAwvB,EAAAxvB,OAAAwS,EAAAM,GAAArY,GAAAuF,KAGAiB,EAAAsgB,MAAA/O,EAAAM,GAAArY,GAAA,CAAAwhE,EAAAi2I,iBAAAlyM,GAAAwvB,IAGAvuB,EAAAsgB,MAAA/O,EAAAM,GAAArY,GAAA+0B,QAIAvuB,EAAA+nE,QAAAl2D,EAAAN,EAAAwE,EAAAxQ,OAMAvF,EAAAg9G,MAAA,SAAAnxE,EAAAslK,GACA,GAAAnxM,EAAApB,QAAAitC,IAAAnxC,MAAAZ,UAAAS,OACA,OAAAsxC,EAAAtxC,OAAA42M,GAEA,IAAApqI,EAAA,GAQA,OANA/mE,EAAA6G,KAAAglC,EAAA,SAAAnmC,GACAyrM,EAAAzrM,IACAqhE,EAAAttE,KAAAiM,KAIAqhE,GAEA/mE,EAAA66G,UAAAngH,MAAAZ,UAAA+gH,UACA,SAAA3yE,EAAAziC,EAAA2a,GACA,OAAA8nB,EAAA2yE,UAAAp1G,EAAA2a,IAEA,SAAA8nB,EAAAziC,EAAA2a,GACAA,OAAA5gB,IAAA4gB,EAAA8nB,EAAA9nB,EACA,QAAA5mB,EAAA,EAAAiV,EAAAy5B,EAAAltC,OAAuCxB,EAAAiV,IAAUjV,EACjD,GAAAiM,EAAAoE,KAAAuW,EAAA8nB,EAAA1uC,KAAA0uC,GACA,OAAA1uC,EAGA,UAEAwG,EAAA4/G,cAAA,SAAAwxF,EAAAD,EAAA5rE,GAEAvlI,EAAAo9D,cAAAmoE,KACAA,GAAA,GAEA,QAAA/rI,EAAA+rI,EAAA,EAA8B/rI,EAAA43M,EAAAp2M,OAA0BxB,IAAA,CACxD,IAAA63M,EAAAD,EAAA53M,GACA,GAAA23M,EAAAE,GACA,OAAAA,IAIArxM,EAAAsxM,kBAAA,SAAAF,EAAAD,EAAA5rE,GAEAvlI,EAAAo9D,cAAAmoE,KACAA,EAAA6rE,EAAAp2M,QAEA,QAAAxB,EAAA+rI,EAAA,EAA8B/rI,GAAA,EAAQA,IAAA,CACtC,IAAA63M,EAAAD,EAAA53M,GACA,GAAA23M,EAAAE,GACA,OAAAA,IAMArxM,EAAAmtC,SAAA,SAAApyC,GACA,OAAAmN,MAAAwuB,WAAA37B,KAAA8xC,SAAA9xC,IAEAiF,EAAAuxM,aAAA,SAAAvpM,EAAAC,EAAA4sB,GACA,OAAAj4B,KAAA6hB,IAAAzW,EAAAC,GAAA4sB,GAEA70B,EAAAwxM,YAAA,SAAAxpM,EAAA6sB,GACA,IAAA48K,EAAA70M,KAAAkjB,MAAA9X,GACA,OAAAypM,EAAA58K,EAAA7sB,GAAAypM,EAAA58K,EAAA7sB,GAEAhI,EAAAsH,IAAA,SAAA4gC,GACA,OAAAA,EAAAvb,OAAA,SAAArlB,EAAAxI,GACA,OAAAoJ,MAAApJ,GAGAwI,EAFA1K,KAAA0K,MAAAxI,IAGG6hB,OAAA0jH,oBAEHrkI,EAAAq/B,IAAA,SAAA6I,GACA,OAAAA,EAAAvb,OAAA,SAAA0S,EAAAvgC,GACA,OAAAoJ,MAAApJ,GAGAugC,EAFAziC,KAAAyiC,MAAAvgC,IAGG6hB,OAAAyjH,oBAEHpkI,EAAAy5C,KAAA78C,KAAA68C,KACA,SAAAzxC,GACA,OAAApL,KAAA68C,KAAAzxC,IAEA,SAAAA,GAEA,OADAA,KACA,IAAAA,GAAAE,MAAAF,GACAA,EAEAA,EAAA,QAEAhI,EAAA0pG,MAAA9sG,KAAA8sG,MACA,SAAA1hG,GACA,OAAApL,KAAA8sG,MAAA1hG,IAEA,SAAAA,GACA,IAAAslK,EAAA1wK,KAAA02B,IAAAtrB,GAAApL,KAAA80M,OAGAC,EAAA/0M,KAAAkjB,MAAAwtJ,GACAskC,EAAA5pM,IAAApL,KAAAulB,IAAA,GAAAwvL,GAEA,OAAAC,EAAAD,EAAArkC,GAEAttK,EAAAkhB,UAAA,SAAAi9K,GACA,OAAAA,GAAAvhM,KAAAsvC,GAAA,MAEAlsC,EAAAqlB,UAAA,SAAAshF,GACA,OAAAA,GAAA,IAAA/pG,KAAAsvC,KAGAlsC,EAAAujG,kBAAA,SAAAsuG,EAAAC,GACA,IAAAC,EAAAD,EAAA9pM,EAAA6pM,EAAA7pM,EACAgqM,EAAAF,EAAA7pM,EAAA4pM,EAAA5pM,EACAgqM,EAAAr1M,KAAAgR,KAAAmkM,IAAAC,KAEAlwI,EAAAllE,KAAAg4C,MAAAo9J,EAAAD,GAMA,OAJAjwI,GAAA,GAAAllE,KAAAsvC,KACA41B,GAAA,EAAAllE,KAAAsvC,IAGA,CACA41B,QACAv1D,SAAA0lM,IAGAjyM,EAAAkyM,sBAAA,SAAA7mJ,EAAAC,GACA,OAAA1uD,KAAAgR,KAAAhR,KAAAulB,IAAAmpC,EAAAtjD,EAAAqjD,EAAArjD,EAAA,GAAApL,KAAAulB,IAAAmpC,EAAArjD,EAAAojD,EAAApjD,EAAA,KAEAjI,EAAAs5G,WAAA,SAAAlc,GACA,OAAAA,EAAA,YAEAp9F,EAAAu/B,YAAA,SAAA4yK,EAAAC,EAAAC,EAAAr4M,GAMA,IAAA2lC,EAAAwyK,EAAA3zK,KAAA4zK,EAAAD,EACAh/H,EAAAi/H,EACA19L,EAAA29L,EAAA7zK,KAAA4zK,EAAAC,EAEAC,EAAA11M,KAAAgR,KAAAhR,KAAAulB,IAAAgxD,EAAAnrE,EAAA23B,EAAA33B,EAAA,GAAApL,KAAAulB,IAAAgxD,EAAAlrE,EAAA03B,EAAA13B,EAAA,IACAwkD,EAAA7vD,KAAAgR,KAAAhR,KAAAulB,IAAAzN,EAAA1M,EAAAmrE,EAAAnrE,EAAA,GAAApL,KAAAulB,IAAAzN,EAAAzM,EAAAkrE,EAAAlrE,EAAA,IAEAsqM,EAAAD,KAAA7lJ,GACA+lJ,EAAA/lJ,GAAA6lJ,EAAA7lJ,GAGA8lJ,EAAArqM,MAAAqqM,GAAA,EAAAA,EACAC,EAAAtqM,MAAAsqM,GAAA,EAAAA,EAEA,IAAAC,EAAAz4M,EAAAu4M,EACAG,EAAA14M,EAAAw4M,EAEA,OACA7yK,SAAA,CACA33B,EAAAmrE,EAAAnrE,EAAAyqM,GAAA/9L,EAAA1M,EAAA23B,EAAA33B,GACAC,EAAAkrE,EAAAlrE,EAAAwqM,GAAA/9L,EAAAzM,EAAA03B,EAAA13B,IAEAyM,KAAA,CACA1M,EAAAmrE,EAAAnrE,EAAA0qM,GAAAh+L,EAAA1M,EAAA23B,EAAA33B,GACAC,EAAAkrE,EAAAlrE,EAAAyqM,GAAAh+L,EAAAzM,EAAA03B,EAAA13B,MAIAjI,EAAAw4L,QAAA73K,OAAA63K,SAAA,MACAx4L,EAAAs/B,oBAAA,SAAAzkC,GAMA,IAUArB,EAAAm5M,EAAAC,EAAAC,EA4BAC,EAAAC,EAAAC,EAAAC,EA0BA3gC,EAhEA4gC,GAAAr4M,GAAA,IAAAmH,IAAA,SAAA9F,GACA,OACAqsB,MAAArsB,EAAAsgC,OACA22K,OAAA,EACAC,GAAA,KAKAC,EAAAH,EAAAl4M,OAEA,IAAAxB,EAAA,EAAaA,EAAA65M,IAAe75M,EAE5B,GADAo5M,EAAAM,EAAA15M,IACAo5M,EAAArqL,MAAAiW,KAAA,CAMA,GAFAm0K,EAAAn5M,EAAA,EAAA05M,EAAA15M,EAAA,QACAq5M,EAAAr5M,EAAA65M,EAAA,EAAAH,EAAA15M,EAAA,QACAq5M,MAAAtqL,MAAAiW,KAAA,CACA,IAAA80K,EAAAT,EAAAtqL,MAAAvgB,EAAA4qM,EAAArqL,MAAAvgB,EAGA4qM,EAAAO,OAAA,IAAAG,GAAAT,EAAAtqL,MAAAtgB,EAAA2qM,EAAArqL,MAAAtgB,GAAAqrM,EAAA,GAGAX,KAAApqL,MAAAiW,KACAo0K,EAAAQ,GAAAR,EAAAO,QACIN,KAAAtqL,MAAAiW,KACJo0K,EAAAQ,GAAAT,EAAAQ,OACIt6M,KAAA4gD,KAAAk5J,EAAAQ,UAAAt6M,KAAA4gD,KAAAm5J,EAAAO,QACJP,EAAAQ,GAAA,EAEAR,EAAAQ,IAAAT,EAAAQ,OAAAP,EAAAO,QAAA,EAMA,IAAA35M,EAAA,EAAaA,EAAA65M,EAAA,IAAmB75M,EAChCo5M,EAAAM,EAAA15M,GACAq5M,EAAAK,EAAA15M,EAAA,GACAo5M,EAAArqL,MAAAiW,MAAAq0K,EAAAtqL,MAAAiW,OAIAx+B,EAAAuxM,aAAAqB,EAAAO,OAAA,EAAAt6M,KAAA2/L,SACAoa,EAAAQ,GAAAP,EAAAO,GAAA,GAIAN,EAAAF,EAAAQ,GAAAR,EAAAO,OACAJ,EAAAF,EAAAO,GAAAR,EAAAO,OACAF,EAAAr2M,KAAAulB,IAAA2wL,EAAA,GAAAl2M,KAAAulB,IAAA4wL,EAAA,GACAE,GAAA,IAIAD,EAAA,EAAAp2M,KAAAgR,KAAAqlM,GACAL,EAAAQ,GAAAN,EAAAE,EAAAJ,EAAAO,OACAN,EAAAO,GAAAL,EAAAC,EAAAJ,EAAAO,UAKA,IAAA35M,EAAA,EAAaA,EAAA65M,IAAe75M,EAC5Bo5M,EAAAM,EAAA15M,GACAo5M,EAAArqL,MAAAiW,OAIAm0K,EAAAn5M,EAAA,EAAA05M,EAAA15M,EAAA,QACAq5M,EAAAr5M,EAAA65M,EAAA,EAAAH,EAAA15M,EAAA,QACAm5M,MAAApqL,MAAAiW,OACA8zI,GAAAsgC,EAAArqL,MAAAvgB,EAAA2qM,EAAApqL,MAAAvgB,GAAA,EACA4qM,EAAArqL,MAAAmX,sBAAAkzK,EAAArqL,MAAAvgB,EAAAsqK,EACAsgC,EAAArqL,MAAAqX,sBAAAgzK,EAAArqL,MAAAtgB,EAAAqqK,EAAAsgC,EAAAQ,IAEAP,MAAAtqL,MAAAiW,OACA8zI,GAAAugC,EAAAtqL,MAAAvgB,EAAA4qM,EAAArqL,MAAAvgB,GAAA,EACA4qM,EAAArqL,MAAAsX,kBAAA+yK,EAAArqL,MAAAvgB,EAAAsqK,EACAsgC,EAAArqL,MAAAuX,kBAAA8yK,EAAArqL,MAAAtgB,EAAAqqK,EAAAsgC,EAAAQ,MAIApzM,EAAAy/B,SAAA,SAAAoM,EAAA5yC,EAAAs6M,GACA,OAAAA,EACAt6M,GAAA4yC,EAAA7wC,OAAA,EAAA6wC,EAAA,GAAAA,EAAA5yC,EAAA,GAEAA,GAAA4yC,EAAA7wC,OAAA,EAAA6wC,IAAA7wC,OAAA,GAAA6wC,EAAA5yC,EAAA,IAEA+G,EAAAw/B,aAAA,SAAAqM,EAAA5yC,EAAAs6M,GACA,OAAAA,EACAt6M,GAAA,EAAA4yC,IAAA7wC,OAAA,GAAA6wC,EAAA5yC,EAAA,GAEAA,GAAA,EAAA4yC,EAAA,GAAAA,EAAA5yC,EAAA,IAGA+G,EAAAwzM,QAAA,SAAA12I,EAAAh9C,GACA,IAEA2zL,EAFAnmC,EAAA1wK,KAAAuS,MAAAnP,EAAA0pG,MAAA5sC,IACA42I,EAAA52I,EAAAlgE,KAAAulB,IAAA,GAAAmrJ,GAuBA,OAlBAmmC,EAFA3zL,EACA4zL,EAAA,IACA,EACIA,EAAA,EACJ,EACIA,EAAA,EACJ,EAEA,GAEGA,GAAA,EACH,EACGA,GAAA,EACH,EACGA,GAAA,EACH,EAEA,GAGAD,EAAA72M,KAAAulB,IAAA,GAAAmrJ,IAGAttK,EAAA86G,iBAAA,WACA,2BAAAz7F,OACA,SAAA5Z,GACAA,KAGA4Z,OAAAs7F,uBACAt7F,OAAAs0L,6BACAt0L,OAAAu0L,0BACAv0L,OAAAw0L,wBACAx0L,OAAAy0L,yBACA,SAAAruM,GACA,OAAA4Z,OAAA00L,WAAAtuM,EAAA,SAZA,GAgBAzF,EAAAqlM,oBAAA,SAAAxgF,EAAAxjH,GACA,IAAAqjD,EAAAG,EACA5jD,EAAA4jH,EAAAmvF,eAAAnvF,EACAl8G,EAAAk8G,EAAAtzG,QAAAszG,EAAAovF,WACAC,EAAAvrM,EAAAwW,wBAEA6pK,EAAA/nL,EAAA+nL,QACAA,KAAAhuL,OAAA,GACA0pD,EAAAskI,EAAA,GAAA3wH,QACAxT,EAAAmkI,EAAA,GAAA1wH,UAGA5T,EAAAzjD,EAAAo3D,QACAxT,EAAA5jD,EAAAq3D,SAMA,IAAAnzD,EAAAuxB,WAAA12B,EAAAm0M,SAAAxrM,EAAA,iBACAvD,EAAAsxB,WAAA12B,EAAAm0M,SAAAxrM,EAAA,gBACAtD,EAAAqxB,WAAA12B,EAAAm0M,SAAAxrM,EAAA,kBACArD,EAAAoxB,WAAA12B,EAAAm0M,SAAAxrM,EAAA,mBACA9D,EAAAqvM,EAAAnvM,MAAAmvM,EAAApvM,KAAAK,EAAAE,EACAL,EAAAkvM,EAAAhvM,OAAAgvM,EAAAjvM,IAAAG,EAAAE,EAOA,OAHAo/C,EAAA9nD,KAAAkjB,OAAA4kC,EAAAwvJ,EAAApvM,KAAAK,GAAA,EAAAwD,EAAA9D,MAAAxD,EAAA+yM,yBACAvvJ,EAAAjoD,KAAAkjB,OAAA+kC,EAAAqvJ,EAAAjvM,IAAAG,GAAA,EAAAuD,EAAA3D,OAAA3D,EAAA+yM,yBAEA,CACApsM,EAAA08C,EACAz8C,EAAA48C,IAqDA7kD,EAAAq0M,mBAAA,SAAAjE,GACA,OAAAD,EAAAC,EAAA,4BAGApwM,EAAAs0M,oBAAA,SAAAlE,GACA,OAAAD,EAAAC,EAAA,8BAKApwM,EAAAu0M,kBAAA,SAAAj3L,EAAAxb,EAAA0yM,GAGA,OAFA1yM,EAAA9B,EAAAm0M,SAAA72L,EAAAxb,GAEAA,EAAAjG,QAAA,QAAA24M,EAAAh6J,SAAA14C,EAAA,IAAA04C,SAAA14C,EAAA,KAKA9B,EAAAwwM,eAAA,SAAAJ,GACA,IAAAxgF,EAAAwgF,EAAAH,WAIA,OAHArgF,KAAA6kF,OACA7kF,IAAA6kF,MAEA7kF,GAEA5vH,EAAA00M,gBAAA,SAAAtE,GACA,IAAA9yL,EAAAtd,EAAAwwM,eAAAJ,GACA,IAAA9yL,EACA,OAAA8yL,EAAAjT,YAGA,IAAAA,EAAA7/K,EAAA6/K,YACAh4L,EAAAnF,EAAAu0M,kBAAAj3L,EAAA,eAAA6/K,GACA93L,EAAArF,EAAAu0M,kBAAAj3L,EAAA,gBAAA6/K,GAEAh2H,EAAAg2H,EAAAh4L,EAAAE,EACAsvM,EAAA30M,EAAAq0M,mBAAAjE,GACA,OAAAloM,MAAAysM,GAAAxtI,EAAAvqE,KAAAyiC,IAAA8nC,EAAAwtI,IAEA30M,EAAA40M,iBAAA,SAAAxE,GACA,IAAA9yL,EAAAtd,EAAAwwM,eAAAJ,GACA,IAAA9yL,EACA,OAAA8yL,EAAAyE,aAGA,IAAAA,EAAAv3L,EAAAu3L,aACAzvM,EAAApF,EAAAu0M,kBAAAj3L,EAAA,cAAAu3L,GACAvvM,EAAAtF,EAAAu0M,kBAAAj3L,EAAA,iBAAAu3L,GAEAt+K,EAAAs+K,EAAAzvM,EAAAE,EACAwvM,EAAA90M,EAAAs0M,oBAAAlE,GACA,OAAAloM,MAAA4sM,GAAAv+K,EAAA35B,KAAAyiC,IAAA9I,EAAAu+K,IAEA90M,EAAAm0M,SAAA,SAAAY,EAAAC,GACA,OAAAD,EAAAE,aACAF,EAAAE,aAAAD,GACAp6L,SAAA21L,YAAAG,iBAAAqE,EAAA,MAAAG,iBAAAF,IAEAh1M,EAAAm1M,YAAA,SAAA9zM,EAAA+zM,GACA,IAAApnK,EAAA3sC,EAAA+yM,wBAAAgB,GAAA,qBAAA/1L,eAAAg2L,kBAAA,EACA,OAAArnK,EAAA,CAIA,IAAArlC,EAAAtH,EAAAsH,OACA3D,EAAA3D,EAAA2D,OACAH,EAAAxD,EAAAwD,MAEA8D,EAAA3D,SAAAgpC,EACArlC,EAAA9D,QAAAmpC,EACA3sC,EAAAuE,IAAA2oB,MAAAyf,KAKArlC,EAAAqS,MAAAhW,QAAA2D,EAAAqS,MAAAnW,QACA8D,EAAAqS,MAAAhW,SAAA,KACA2D,EAAAqS,MAAAnW,QAAA,QAIA7E,EAAAsG,WAAA,SAAA22F,EAAAh3F,EAAAE,GACA,OAAAF,EAAA,IAAAg3F,EAAA,MAAA92F,GAEAnG,EAAAg0G,YAAA,SAAApuG,EAAAY,EAAA8uM,EAAAh/H,GACAA,KAAA,GACA,IAAA70E,EAAA60E,EAAA70E,KAAA60E,EAAA70E,MAAA,GACA8zM,EAAAj/H,EAAAk/H,eAAAl/H,EAAAk/H,gBAAA,GAEAl/H,EAAA9vE,WACA/E,EAAA60E,EAAA70E,KAAA,GACA8zM,EAAAj/H,EAAAk/H,eAAA,GACAl/H,EAAA9vE,QAGAZ,EAAAY,OACA,IAAAivM,EAAA,EACAz1M,EAAA6G,KAAAyuM,EAAA,SAAAI,QAEAl2M,IAAAk2M,GAAA,OAAAA,IAAA,IAAA11M,EAAApB,QAAA82M,GACAD,EAAAz1M,EAAA8G,YAAAlB,EAAAnE,EAAA8zM,EAAAE,EAAAC,GACI11M,EAAApB,QAAA82M,IAGJ11M,EAAA6G,KAAA6uM,EAAA,SAAAC,QAEAn2M,IAAAm2M,GAAA,OAAAA,GAAA31M,EAAApB,QAAA+2M,KACAF,EAAAz1M,EAAA8G,YAAAlB,EAAAnE,EAAA8zM,EAAAE,EAAAE,QAMA,IAAAC,EAAAL,EAAAv6M,OAAA,EACA,GAAA46M,EAAAN,EAAAt6M,OAAA,CACA,QAAAxB,EAAA,EAAkBA,EAAAo8M,EAAWp8M,WAC7BiI,EAAA8zM,EAAA/7M,IAEA+7M,EAAA/zK,OAAA,EAAAo0K,GAEA,OAAAH,GAEAz1M,EAAA8G,YAAA,SAAAlB,EAAAnE,EAAA8zM,EAAAE,EAAA3Z,GACA,IAAA7yL,EAAAxH,EAAAq6L,GAQA,OAPA7yL,IACAA,EAAAxH,EAAAq6L,GAAAl2L,EAAAkB,YAAAg1L,GAAAj3L,MACA0wM,EAAA97M,KAAAqiM,IAEA7yL,EAAAwsM,IACAA,EAAAxsM,GAEAwsM,GAEAz1M,EAAA22G,mBAAA,SAAA2+F,GACA,IAAAO,EAAA,EAQA,OAPA71M,EAAA6G,KAAAyuM,EAAA,SAAAI,GACA11M,EAAApB,QAAA82M,IACAA,EAAA16M,OAAA66M,IACAA,EAAAH,EAAA16M,UAIA66M,GAGA71M,EAAAosC,QAKA,SAAAttC,GAMA,OAJAA,aAAAg3M,iBACAh3M,EAAAgB,EAAAgG,OAAAsC,cAGAgkC,EAAAttC,IAVA,SAAAA,GAEA,OADAu0B,QAAAw/C,MAAA,uBACA/zE,GAWAkB,EAAAugC,cAAA,SAAAw1K,GAEA,OAAAA,aAAAC,cACAD,EACA/1M,EAAAosC,MAAA2pK,GAAAE,SAAA,IAAAC,OAAA,IAAAtpK,mDCvnBA,IAAA97B,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,iBAAqCe,MAAA,CAAOxpB,SAAAsoB,EAAAtoB,SAAAg6B,eAAA1R,EAAA3M,MAAAue,UAAA,EAAAC,WAAA,UAAAC,aAAA9R,EAAAwuL,cAA8G,IACnPpsL,EAAA,+pBCgBA,IAAAqsL,EAAA,CACAlqL,WAAA,CACAyN,gBAAA,MAEAnoB,MAAA,CACA2kM,UAAA,CACAp3M,KAAAimC,QACA1a,SAAA,GAEAtoB,IAAAiP,OACAolM,QAAA,CACAt3M,KAAA4hB,OACA2J,QAAA,MAGAC,SAAA,CACAlrB,SADA,WAEA,IAAAxG,KAAAmJ,UAAAxC,IAAA3G,KAAAmJ,IAAA0qB,MAAA,SACA,IAAAzb,OAAA2C,KAAA/a,KAAAmJ,KAAAhH,OAAA,SAEA,IAAAs7M,EAAArlM,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAAmJ,IAAA,QACAu0M,EAAAD,EAAAt7M,OAEA,OAAAs7M,EAAAt0M,IAAA,SAAAgG,GAAA,IAAAwuM,EACAxuM,EAAA2D,WAAA7M,EADA03M,EACA13M,MAAA23M,EADAD,EACAC,WAAA1xH,EADAyxH,EACAzxH,OAAAn1D,EADA4mL,EACA5mL,UAAA8mL,EADAF,EACAE,WACA,OAAA5mL,EAAA,GACA9nB,EADA,CAEA2D,WAAA,CACAkhB,KAAA6pL,EACAH,YACAz3M,QACA23M,aACA1xH,SACAn1D,YACA+mL,aAAA3uM,EAAA2D,WAAA7M,MAAAmnB,iBAKAjL,MAxBA,WAyBA,GAAAniB,KAAAmJ,IAGA,OAAAiP,OAAAkc,EAAA,KAAAlc,CAAApY,KAAAw9M,QAAAx9M,KAAAmJ,IAAAsuB,aC5DiasmL,EAAA,cCOjajsL,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd2lM,EACA9lM,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,kCClBf,IAAApe,EAAejU,EAAQ,QACvBgqC,EAAehqC,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtBkU,EAAalU,EAAQ,QACrByhC,EAAgBzhC,EAAQ,QACxBoH,EAAAq6B,EAAAr6B,YACAxD,EAAA8D,EAAA9D,MACAkD,EAAAY,EAAAZ,kBAuBAlH,EAAAC,QAAA,SAAA8gB,EAAA49L,EAAA7+K,EAAA4rD,EAAAkzH,GACA,IAAAj3M,EAAA,GAEAk3M,EAAA99L,EAEA,IAAAA,EAAA,UAAAhe,MAAA,oBAEA,GADAP,MAAAkE,QAAAqa,OAAAqpB,EAAArpB,IACA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,+BAEA,IAAA4zB,EAAA5V,EAAA,GACA6V,EAAA7V,EAAA,GACA8V,EAAA9V,EAAA,GACA+V,EAAA/V,EAAA,GAEAi5F,EAAA2kG,EAAAtqM,EAAArQ,EAAA,CAAA2yB,EAAAC,IAAA5yB,EAAA,CAAA6yB,EAAAD,IAAAkJ,GACA8uC,EAAAorC,GAAAnjF,EAAAF,GACAsjF,EAAA0kG,EAAAtqM,EAAArQ,EAAA,CAAA2yB,EAAAC,IAAA5yB,EAAA,CAAA2yB,EAAAG,IAAAgJ,GACAo6E,EAAAD,GAAAnjF,EAAAF,GAEA,QAAA80D,EACA,IAAAozH,EAAAjoL,EAAAF,EACAooL,EAAAjoL,EAAAF,EACA2qE,EAAA78F,KAAAuS,MAAA6nM,EAAAlwI,GACAlzC,EAAAh3B,KAAAuS,MAAA8nM,EAAA7kG,GAEAkgE,GAAA0kC,EAAAv9G,EAAA3yB,GAAA,EACAsrG,GAAA6kC,EAAArjL,EAAAw+E,GAAA,EAGA,IAAAn6F,GAAAvd,MAAAkE,QAAAm4M,KAAA,YAAAr3M,EAAAq3M,IAAA,iBAAAr3M,EAAAq3M,IAEA1kG,EAAAxjF,GACA,IAAA+0D,IAAAyuB,GAAAigE,GACA,MAAAjgE,GAAAtjF,EAAA,CACA,IAAAwjF,EAAAzjF,GACA,IAAA80D,IAAA2uB,GAAA6/D,GACA,MAAA7/D,GAAAvjF,EAAA,CACA,IAAAhgB,EAAA9S,EAAA,CAAAm2G,EAAAE,KACA,IAAAukG,GAAA7+L,EACAzL,EAAAwC,EAAA+nM,IACAl3M,EAAApG,KAAAuV,GAGAnP,EAAApG,KAAAuV,GAEAujG,GAAAH,EAEAC,GAAAvrC,EAGA,OAAA1nE,EAAAS,yCCxEA,GAA8B3H,EAAAC,QAAA,IAAAooB,EAAiCjoB,EAAQ,QAgCvE,SAAAs4B,EAAA/D,EAAA4E,EAAAhR,EAAAC,EAAAG,EAAAq2L,EAAA3oL,GACA,KAAA11B,gBAAA+3B,GACA,WAAAA,EAAA/D,EAAA4E,EAAAhR,EAAAC,EAAAG,EAAAq2L,EAAA3oL,GAOA,QAJA/uB,IAAAqhB,MAAAN,EAAAM,MAAAmD,YACAxkB,IAAA03M,MAAA,WACA13M,IAAA+uB,MAAA,QAEA,GAAA1B,MAAA,cAAA5xB,MAAA,oBAAA4xB,GACA,IAAA4E,EAAAvjB,MAAA,mBAAAjT,MAAA,0BAAAw2B,GAKA54B,KAAAg0B,KAAAlM,OAAAkM,GACAh0B,KAAA44B,aAAA/L,cACA7sB,KAAA4nB,QAAAE,OAAAF,GACA5nB,KAAA6nB,SAAAC,OAAAD,GACA7nB,KAAAgoB,QACAhoB,KAAAq+M,YAAA,OAAAA,EAAA,KAAAv2L,OAAAu2L,GACAr+M,KAAA01B,MAAA,OAAAA,EAAA,KAAA5N,OAAA4N,GAiBAhO,EAAAzmB,UAAA03B,MAAA,WACA,GAAAtpB,MAAArP,KAAAooB,MAAA/Y,MAAArP,KAAAuoB,KAAA,UAAAnmB,MAAA,iBACA,UAAApC,KAAAooB,KAAApoB,KAAAooB,KAAA,cAAAhmB,MAAA,sBAEA,IAAAk8M,EAAA,IAAAC,EAAA,IAEAvqL,EAAAjwB,KAAAuS,OAAAtW,KAAAuoB,IAAA,UACAG,GAAA,GAAAsL,EAAA,UAAA3L,YAIAm2L,EAAA,wBACAzlL,EAAAylL,EAAAhmL,OAAAz0B,KAAAuS,MAAAtW,KAAAooB,IAAA,OAEA,IAAA4L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,KAAA,IAAmDyL,IAAQtL,GAAA,GAAAL,aAE3D,IAAA2L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,IAAA,IAAmDyL,IAAQtL,GAAA,GAAAL,aAC3D,IAAA2L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,KAAA,IAAmDyL,IAAQtL,GAAA,GAAAL,aAC3D,IAAA2L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,IAAA,KAAmDyL,IAAQtL,GAAA,GAAAL,aAC3D,IAAA2L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,KAAA,KAAmDyL,IAAQtL,GAAA,GAAAL,aAC3D,IAAA2L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,IAAA,KAAmDyL,IAAQtL,GAAA,GAAAL,aAC3D,IAAA2L,GAAA,KAAA+E,GAAA/4B,KAAAuoB,KAAA,KAAmDyL,IAAQtL,GAAA,GAAAL,aAqC3D,IAnCA,IAAAF,EAAAnoB,KAAAooB,IAAAC,YACAC,EAAAtoB,KAAAuoB,IAAAF,YAAAK,EAEApoB,EAAAN,KAAAgoB,MAAAwzB,UAAAl7C,EAAAkU,EAAAxU,KAAAgoB,MAAAwzB,UAAAhnC,EAGA+5B,EAAA,MAIAnmC,EAAArE,KAAAgR,KAAAP,GAAA,EAAAA,IACAtS,EAAAsS,GAAA,EAAAA,GACAsU,EAAA5mB,IAAA6mB,EAAA7mB,EAAA4mB,EAAA21L,EAAAv8M,EAAA6mB,EAAA21L,EAAAx8M,EAAAu8M,EAAAE,EAAAz8M,EAAAw8M,EAEAhiK,EAAA34C,KAAAklB,IAAAX,GAAAm0B,EAAA14C,KAAAolB,IAAAb,GAAAs2L,EAAA76M,KAAAimB,IAAA1B,GAEAu2L,EAAA96M,KAAAimB,IAAA7B,GACAg0B,EAAAp4C,KAAA+6M,KAAA12M,EAAArE,KAAAg7M,MAAA32M,EAAAy2M,EAAA96M,KAAAgR,KAAA,EAAA8pM,OAEAG,EAAAH,EAAA96M,KAAAgR,KAAA,EAAAonC,OAAAp4C,KAAAgR,KAAA,EAAA8pM,KAEAI,EAAAl7M,KAAAg4C,MAAAijK,EAAAtiK,GACAwiK,EAAAn7M,KAAAo7M,MAAA1iK,EAAA14C,KAAAgR,KAAAiqM,IAAAtiK,MAEAvU,EAAA7nC,GAAA,EAAA4B,IAAA,MAAA4mB,EAAA,KAAA21L,EAAA,MAAAE,GAEAS,EAAA,MACA,GAAAl9M,EAAA,IAAA4mB,EAAA,KAAAC,EAAA,OAAA01L,EAAA,QAAAC,EAAA,WAAAC,EACA,MAAA71L,EAAA,GAAAC,EAAA,SAAA01L,EAAA,QAAAC,EAAA,gBAAAC,EACA,OAAA51L,EAAA,QAAA01L,EAAA,YAAAC,EAAA,cAAAC,EACA,aAAAF,EAAA,QAAAC,EAAA,gBAAAC,EACA,YAAAD,EAAA,gBAAAC,EACA,kBAAAA,GAEAU,EAAAJ,EACAr8M,EAAA,EAAiBA,GAAA,EAAMA,IAAAy8M,GAAAD,EAAAx8M,GAAAmB,KAAAolB,IAAA,EAAAvmB,EAAAq8M,GAAAl7M,KAAAu7M,KAAA,EAAA18M,EAAAs8M,GAEvB,IAAAK,EAAAL,EACA,IAAAt8M,EAAA,EAAiBA,GAAA,EAAMA,IAAA28M,GAAAH,EAAAx8M,GAAAmB,KAAAklB,IAAA,EAAArmB,EAAAq8M,GAAAl7M,KAAA+6M,KAAA,EAAAl8M,EAAAs8M,GAEvB,IAAA/vM,EAAAo/B,EAAApG,EAAAo3K,EACAnwM,EAAAm/B,EAAApG,EAAAk3K,EAIAG,EAAA,EACA,IAAA58M,EAAA,EAAiBA,GAAA,EAAMA,IAAA48M,GAAA,EAAA58M,EAAAw8M,EAAAx8M,GAAAmB,KAAAklB,IAAA,EAAArmB,EAAAq8M,GAAAl7M,KAAAu7M,KAAA,EAAA18M,EAAAs8M,GACvB,IAAAO,EAAA,EACA,IAAA78M,EAAA,EAAiBA,GAAA,EAAMA,IAAA68M,GAAA,EAAA78M,EAAAw8M,EAAAx8M,GAAAmB,KAAAolB,IAAA,EAAAvmB,EAAAq8M,GAAAl7M,KAAA+6M,KAAA,EAAAl8M,EAAAs8M,GAEvB,IAAAQ,EAAA37M,KAAAg9C,KAAAi+J,EAAAj7M,KAAAgR,KAAA,EAAAiqM,KAAAJ,GACAe,EAAA57M,KAAAg4C,MAAA0jK,EAAAD,GAEAI,EAAAF,EAAAC,EAIAz2L,EAAAnlB,KAAAolB,IAAAhB,GACA03L,EAAA97M,KAAAgR,KAAA,EAAA3M,IAAA8gB,KAAAnlB,KAAAgR,KAAA,EAAA8pM,KAAA96M,KAAAgR,KAAAiqM,IAAAtiK,KACAojK,EAAA33K,EAAA7nC,EAAAyD,KAAAgR,KAAAyqM,IAAAC,KAEA18M,EAAAwrC,EAAAsxK,EAAAC,EAKA3wM,GAAAmvM,EACAlvM,EAAA,IAAAA,GAAAmvM,GAGApvM,EAAA2Y,OAAA3Y,EAAA6P,QAAA,IACA5P,EAAA0Y,OAAA1Y,EAAA4P,QAAA,IACA,IAAAq/L,EAAAv2L,OAAA83L,EAAApzL,YAAAxN,QAAA,IACA0W,EAAA5N,OAAA/kB,EAAAic,QAAA,KAEA0e,EAAA19B,KAAAooB,KAAA,UAEA,WAAA2P,EAAA/D,EAAA0J,EAAAvuB,EAAAC,EAAApP,KAAAgoB,MAAAq2L,EAAA3oL,IAcAqC,EAAA92B,UAAAs3B,UAAA,WACA,IAAAmJ,EAAA1hC,KAAAg0B,KACA0J,EAAA19B,KAAA44B,WACAzpB,EAAAnP,KAAA4nB,QACAxY,EAAApP,KAAA6nB,SAEA,GAAAxY,MAAAqyB,IAAAryB,MAAAF,IAAAE,MAAAD,GAAA,UAAAhN,MAAA,sBAEA,IAAAk8M,EAAA,IAAAC,EAAA,IAEAj+M,EAAAN,KAAAgoB,MAAAwzB,UAAAl7C,EAAAkU,EAAAxU,KAAAgoB,MAAAwzB,UAAAhnC,EAGA+5B,EAAA,MAEAp/B,GAAAmvM,EACAlvM,EAAA,KAAAsuB,EAAAtuB,EAAAmvM,EAAAnvM,EAsBA,IAlBA,IAAAhH,EAAArE,KAAAgR,KAAAP,GAAA,EAAAA,IACAtS,EAAAsS,GAAA,EAAAA,GACAsU,EAAA5mB,IAAA6mB,EAAA7mB,EAAA4mB,EAAA21L,EAAAv8M,EAAA6mB,EAAA21L,EAAAx8M,EAAAu8M,EAAAE,EAAAz8M,EAAAw8M,EAEAv2K,EAAA7nC,GAAA,EAAA4B,IAAA,MAAA4mB,EAAA,KAAA21L,EAAA,MAAAE,GAEAY,EAAApwM,GAAAo/B,EAAApG,GACAk3K,EAAAjwM,GAAAm/B,EAAApG,GAEA43K,EAAA,MACA,GAAA79M,EAAA,IAAA4mB,EAAA,MAAAC,EAAA,MAAA01L,EAAA,OAAAC,EAAA,aAAAC,EACA,KAAA71L,EAAA,KAAAC,EAAA,SAAA01L,EAAA,OAAAC,EAAA,gBAAAC,EACA,OAAA51L,EAAA,OAAA01L,EAAA,SAAAC,EAAA,WAAAC,EACA,YAAAF,EAAA,OAAAC,EAAA,eAAAC,EACA,YAAAD,EAAA,eAAAC,EACA,mBAAAA,GAEAM,EAAAI,EACAz8M,EAAA,EAAiBA,GAAA,EAAMA,IAAAq8M,GAAAc,EAAAn9M,GAAAmB,KAAAolB,IAAA,EAAAvmB,EAAAy8M,GAAAt7M,KAAAu7M,KAAA,EAAA18M,EAAA28M,GAEvB,IAAAL,EAAAK,EACA,IAAA38M,EAAA,EAAiBA,GAAA,EAAMA,IAAAs8M,GAAAa,EAAAn9M,GAAAmB,KAAAklB,IAAA,EAAArmB,EAAAy8M,GAAAt7M,KAAA+6M,KAAA,EAAAl8M,EAAA28M,GAEvB,IAAAS,EAAAj8M,KAAA+6M,KAAAI,GACAe,EAAAl8M,KAAAolB,IAAA81L,GAAAiB,EAAAn8M,KAAAklB,IAAAg2L,GAEAD,EAAAiB,EAAAl8M,KAAAgR,KAAAirM,IAAAE,KAEAC,EAAAnB,EACA,GACA,IAAAoB,EAAAr8M,KAAA+6M,KAAA12M,EAAArE,KAAAg7M,MAAA32M,EAAA+3M,EAAAp8M,KAAAgR,KAAA,EAAAorM,OACAE,EAAAF,EAAAp8M,KAAAgR,KAAA,EAAAqrM,OAAAr8M,KAAAgR,KAAA,EAAAorM,KACAG,GAAAtB,EAAAqB,GAAAt8M,KAAAgR,KAAA,EAAAsrM,MACA,KAAAj4M,KAAA+3M,OAAA,EAAA/3M,KAAArE,KAAAgR,KAAA,EAAAorM,MACAA,GAAAG,QACKv8M,KAAA6hB,IAAA06L,GAAA,OAEL,IAAAzB,EAAAsB,EAEAh4L,EAAApkB,KAAAg9C,KAAA89J,GAEAv2L,EAAAvkB,KAAAg4C,MAAAikK,EAAAE,GAIAhkL,EAAA,EACA,IAAAt5B,EAAA,EAAiBA,GAAA,EAAMA,IAAAs5B,GAAA,EAAAt5B,EAAAm9M,EAAAn9M,GAAAmB,KAAAklB,IAAA,EAAArmB,EAAAy8M,GAAAt7M,KAAAu7M,KAAA,EAAA18M,EAAA28M,GACvB,IAAA3pL,EAAA,EACA,IAAAhzB,EAAA,EAAiBA,GAAA,EAAMA,IAAAgzB,GAAA,EAAAhzB,EAAAm9M,EAAAn9M,GAAAmB,KAAAolB,IAAA,EAAAvmB,EAAAy8M,GAAAt7M,KAAA+6M,KAAA,EAAAl8M,EAAA28M,GAEvB,IAAAG,EAAA37M,KAAAg9C,KAAAh9C,KAAAimB,IAAAi1L,GAAAl7M,KAAAw8M,KAAArB,IACAS,EAAA57M,KAAAg4C,MAAAnmB,EAAAsG,GAEA0jL,EAAAF,EAAAC,EAIAz2L,EAAAnlB,KAAAolB,IAAAhB,GACA03L,EAAA97M,KAAAgR,KAAA,EAAA3M,IAAA8gB,KAAAnlB,KAAAgR,KAAA,EAAA8pM,KAAA96M,KAAAgR,KAAAirM,IAAAE,KACAJ,EAAA33K,EAAA7nC,EAAAyD,KAAAgR,KAAAmnB,IAAAtG,KAEA7yB,EAAAwrC,EAAAsxK,EAAAC,EAIAp3L,GAAA,GAAAgZ,EAAA,UAAArZ,YACAC,GAAAI,EAGA,IAAAN,EAAAN,OAAAK,EAAAqE,YAAAxN,QAAA,KACAuJ,EAAAT,OAAAQ,EAAAkE,YAAAxN,QAAA,KACAq/L,EAAAv2L,OAAA83L,EAAApzL,YAAAxN,QAAA,IACA0W,EAAA5N,OAAA/kB,EAAAic,QAAA,KAEAwhM,EAAA,IAAA94L,EAAAU,EAAAG,EAAAvoB,KAAAgoB,OAKA,OAHAw4L,EAAAnC,cACAmC,EAAA9qL,QAEA8qL,GAsBAzoL,EAAAtL,MAAA,SAAAg0L,EAAAz4L,GAMA,QALArhB,IAAAqhB,MAAAN,EAAAM,MAAAmD,OAGAs1L,IAAA9zL,OAAAtX,MAAA,QAEA,MAAAorM,GAAA,GAAAA,EAAAt+M,OAAA,UAAAC,MAAA,2BAAAq+M,EAAA,KAEA,IAAAzsL,EAAAysL,EAAA,GAAA7nL,EAAA6nL,EAAA,GAAA74L,EAAA64L,EAAA,GAAA54L,EAAA44L,EAAA,GAEA,WAAA1oL,EAAA/D,EAAA4E,EAAAhR,EAAAC,EAAAG,IAkBA+P,EAAA92B,UAAAmsB,SAAA,SAAAC,GACAA,EAAAvF,OAAAuF,GAAA,GAEA,IAAAqU,EAAA1hC,KAAAg0B,KAAA,OAAAh0B,KAAAg0B,KAAAh0B,KAAAg0B,KACA0J,EAAA19B,KAAA44B,WACAxwB,EAAApI,KAAA4nB,QACA1lB,EAAAlC,KAAA6nB,SACA,OAAAxY,MAAAqyB,KAAAhE,EAAAroB,MAAA,SAAAhG,MAAAjH,IAAAiH,MAAAnN,GAAA,GAEAw/B,EAAA,IAAAhE,EAAA,IAAAt1B,EAAA4W,QAAAqO,GAAA,IAAAnrB,EAAA8c,QAAAqO,SAOA1mB,IAAA5C,KAAA+6M,OACA/6M,KAAA+6M,KAAA,SAAA3vM,GACA,OAAApL,KAAAi9C,IAAA7xC,GAAApL,KAAAi9C,KAAA7xC,IAAA,SAKAxI,IAAA5C,KAAAu7M,OACAv7M,KAAAu7M,KAAA,SAAAnwM,GACA,OAAApL,KAAAi9C,IAAA7xC,GAAApL,KAAAi9C,KAAA7xC,IAAA,SAKAxI,IAAA5C,KAAAw8M,OACAx8M,KAAAw8M,KAAA,SAAApxM,GACA,OAAApL,KAAAi9C,IAAA7xC,GAAApL,KAAAi9C,KAAA7xC,KAAApL,KAAAi9C,IAAA7xC,GAAApL,KAAAi9C,KAAA7xC,WAKAxI,IAAA5C,KAAAo7M,QACAp7M,KAAAo7M,MAAA,SAAAhwM,GACA,OAAApL,KAAA02B,IAAAtrB,EAAApL,KAAAgR,KAAA,EAAA5F,aAKAxI,IAAA5C,KAAAg7M,QACAh7M,KAAAg7M,MAAA,SAAA5vM,GACA,OAAApL,KAAA02B,KAAA,EAAAtrB,IAAA,EAAAA,IAAA,IAKgC9P,EAAAC,UAAAD,EAAAC,QAAAy4B,2BCxYhC,IAAA/pB,EAAWvO,EAAQ,QAAYkS,UAC/BmwB,EAAiBriC,EAAQ,QACzBg6B,EAAch6B,EAAQ,QAAeg6B,QA2BrCp6B,EAAAC,QAAA,SAAA+G,GACA,IAAArE,EAAA,GAGAgM,EAAA3H,EAAA,SAAAgN,GACArR,EAAApB,KAAA,CAAAyS,EAAA,GAAAA,EAAA,OAGA,IAAA2rL,EAAAl9J,EAAA9/B,GAGA,GAAAg9L,EAAA78L,QAAA,GAEA,IADA,IAAAsV,EAAA,GACA9W,EAAA,EAAuBA,EAAAq+L,EAAA78L,OAAiBxB,IACxC8W,EAAA7W,KAAAoB,EAAAg9L,EAAAr+L,GAAA,KAGA,OADA8W,EAAA7W,KAAAoB,EAAAg9L,IAAA78L,OAAA,QACAs3B,EAAA,CAAAhiB,kDCvCe,IAAAipM,EAAA,WACf,WAAAC,GAGA,SAAAA,IACA3gN,KAAA+iC,QAGA49K,EAAA1/M,UAAA,CACA4iB,YAAA88L,EACA59K,MAAA,WACA/iC,KAAAw9B,EACAx9B,KAAAmB,EAAA,GAEAqjD,IAAA,SAAAp1C,GACAo1C,EAAAo8J,EAAAxxM,EAAApP,KAAAmB,GACAqjD,EAAAxkD,KAAA4gN,EAAApjL,EAAAx9B,KAAAw9B,GACAx9B,KAAAw9B,EAAAx9B,KAAAmB,GAAAy/M,EAAAz/M,EACAnB,KAAAw9B,EAAAojL,EAAAz/M,GAEAsjE,QAAA,WACA,OAAAzkE,KAAAw9B,IAIA,IAAAojL,EAAA,IAAAD,EAEA,SAAAn8J,EAAAk8J,EAAApgN,EAAAC,GACA,IAAA4O,EAAAuxM,EAAAljL,EAAAl9B,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACAugN,EAAA1xM,EAAA4mB,EACA2qL,EAAAv/M,EAAAb,EAAAugN,GAAAtgN,EAAAw1B,GCtCO,IAAAiG,EAAA,KACA8kL,EAAA,MACAt2J,EAAAzmD,KAAAsvC,GACA0tK,EAAAv2J,EAAA,EACAw2J,EAAAx2J,EAAA,EACAy2J,EAAA,EAAAz2J,EAEA86I,EAAA,IAAA96I,EACAsjD,EAAAtjD,EAAA,IAEA5kC,EAAA7hB,KAAA6hB,IACAm7B,EAAAh9C,KAAAg9C,KACAhF,EAAAh4C,KAAAg4C,MACA9yB,EAAAllB,KAAAklB,IACAkV,EAAAp6B,KAAAo6B,KACA6iB,EAAAj9C,KAAAi9C,IAEAvmB,GADA12B,KAAAuS,MACAvS,KAAA02B,KACAnR,EAAAvlB,KAAAulB,IACAH,EAAAplB,KAAAolB,IACI+3L,EAAIn9M,KAAA68C,MAAA,SAAAzxC,GAA6B,OAAAA,EAAA,IAAAA,EAAA,QACrC4F,EAAAhR,KAAAgR,KACAiV,EAAAjmB,KAAAimB,IAEA,SAAAm3L,EAAAhyM,GACP,OAAAA,EAAA,IAAAA,GAAA,EAAAq7C,EAAAzmD,KAAAo9M,KAAAhyM,GAGO,SAAA8iD,EAAA9iD,GACP,OAAAA,EAAA,EAAA4xM,EAAA5xM,GAAA,GAAA4xM,EAAAh9M,KAAAkuD,KAAA9iD,GAGO,SAAAiyM,EAAAjyM,GACP,OAAAA,EAAAga,EAAAha,EAAA,IAAAA,ECjCe,SAAA9H,KCAf,SAAAg6M,EAAAx7M,EAAAy7M,GACAz7M,GAAA07M,EAAAxjM,eAAAlY,EAAAK,OACAq7M,EAAA17M,EAAAK,MAAAL,EAAAy7M,GAIA,IAAAE,EAAA,CACAnzJ,QAAA,SAAAxe,EAAAyxK,GACAD,EAAAxxK,EAAAhqC,SAAAy7M,IAEAzlC,kBAAA,SAAAhsI,EAAAyxK,GACA,IAAA96M,EAAAqpC,EAAArpC,SAAA7F,GAAA,EAAAuB,EAAAsE,EAAArE,OACA,QAAAxB,EAAAuB,EAAAm/M,EAAA76M,EAAA7F,GAAAkF,SAAAy7M,KAIAC,EAAA,CACAE,OAAA,SAAA5xK,EAAAyxK,GACAA,EAAAI,UAEA5+K,MAAA,SAAA+M,EAAAyxK,GACAzxK,IAAAlqC,YACA27M,EAAAj+M,MAAAwsC,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAEA6T,WAAA,SAAA7T,EAAAyxK,GACA,IAAA37M,EAAAkqC,EAAAlqC,YAAAhF,GAAA,EAAAuB,EAAAyD,EAAAxD,OACA,QAAAxB,EAAAuB,EAAA2tC,EAAAlqC,EAAAhF,GAAA2gN,EAAAj+M,MAAAwsC,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAEA8T,WAAA,SAAA9T,EAAAyxK,GACAK,EAAA9xK,EAAAlqC,YAAA27M,EAAA,IAEAx9J,gBAAA,SAAAjU,EAAAyxK,GACA,IAAA37M,EAAAkqC,EAAAlqC,YAAAhF,GAAA,EAAAuB,EAAAyD,EAAAxD,OACA,QAAAxB,EAAAuB,EAAAy/M,EAAAh8M,EAAAhF,GAAA2gN,EAAA,IAEAv9J,QAAA,SAAAlU,EAAAyxK,GACAM,EAAA/xK,EAAAlqC,YAAA27M,IAEAt9J,aAAA,SAAAnU,EAAAyxK,GACA,IAAA37M,EAAAkqC,EAAAlqC,YAAAhF,GAAA,EAAAuB,EAAAyD,EAAAxD,OACA,QAAAxB,EAAAuB,EAAA0/M,EAAAj8M,EAAAhF,GAAA2gN,IAEA99J,mBAAA,SAAA3T,EAAAyxK,GACA,IAAA16M,EAAAipC,EAAAjpC,WAAAjG,GAAA,EAAAuB,EAAA0E,EAAAzE,OACA,QAAAxB,EAAAuB,EAAAm/M,EAAAz6M,EAAAjG,GAAA2gN,KAIA,SAAAK,EAAAh8M,EAAA27M,EAAAh4K,GACA,IAAAvyB,EAAApW,GAAA,EAAAuB,EAAAyD,EAAAxD,OAAAmnC,EACAg4K,EAAA56J,YACA,QAAA/lD,EAAAuB,EAAA6U,EAAApR,EAAAhF,GAAA2gN,EAAAj+M,MAAA0T,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAuqM,EAAA36J,UAGA,SAAAi7J,EAAAj8M,EAAA27M,GACA,IAAA3gN,GAAA,EAAAuB,EAAAyD,EAAAxD,OACAm/M,EAAAO,eACA,QAAAlhN,EAAAuB,EAAAy/M,EAAAh8M,EAAAhF,GAAA2gN,EAAA,GACAA,EAAAQ,aAGe,ICtDXC,EACJC,EACIC,EACAC,EACAC,EDkDWC,EAAA,SAAAvyK,EAAAyxK,GACfzxK,GAAA2xK,EAAAzjM,eAAA8xB,EAAA3pC,MACAs7M,EAAA3xK,EAAA3pC,MAAA2pC,EAAAyxK,GAEAD,EAAAxxK,EAAAyxK,IC7DOe,EAAkB3B,IAEzB4B,EAAc5B,IAOP6B,EAAA,CACPl/M,MAASgE,EACTq/C,UAAar/C,EACbs/C,QAAWt/C,EACXw6M,aAAA,WACAQ,EAAAt/K,QACAw/K,EAAA77J,UAAA87J,EACAD,EAAA57J,QAAA87J,GAEAX,WAAA,WACA,IAAAY,GAAAL,EACAC,EAAA99J,IAAAk+J,EAAA,EAA+BzB,EAAGyB,KAClC1iN,KAAA0mD,UAAA1mD,KAAA2mD,QAAA3mD,KAAAqD,MAAiDgE,GAEjDq6M,OAAA,WACAY,EAAA99J,IAAgBy8J,KAIhB,SAAAuB,IACAD,EAAAl/M,MAAAs/M,EAGA,SAAAF,IACAG,EAAYb,EAAQC,GAGpB,SAAAW,EAAAE,EAAAC,GACAP,EAAAl/M,MAAAu/M,EACEb,EAAQc,EAAAb,EAAAc,EACVD,GAAY/0G,EAAOg1G,GAASh1G,EAC1Bm0G,EAAOY,EAAWX,EAAUj5L,EAAG65L,IAAA,EAAiB9B,GAAYmB,EAAUh5L,EAAG25L,GAG3E,SAAAF,EAAAC,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC5Bg1G,IAAA,EAAkB9B,EAKlB,IAAA+B,EAAAF,EAAyBZ,EACzBe,EAAAD,GAAA,OACAE,EAAAD,EAAAD,EACAG,EAAej6L,EAAG65L,GAClBK,EAAeh6L,EAAG25L,GAClB//M,EAAUo/M,EAAOgB,EACjB/hN,EAAU8gN,EAAOgB,EAAAngN,EAAgBkmB,EAAGg6L,GACpCngN,EAAAC,EAAAigN,EAAyB75L,EAAG85L,GAC5BZ,EAAA79J,IAAkBzI,EAAKj5C,EAAA1B,IAGrB6gN,EAAOY,EAAWX,EAAOgB,EAAWf,EAAOgB,EAG9B,IAAAC,EAAA,SAAAvzK,GAGf,OAFAyyK,EAAAv/K,QACEq/K,EAAMvyK,EAAA0yK,GACR,EAAAD,GCtEO,SAASe,EAASC,GACzB,OAAUvnK,EAAKunK,EAAA,GAAAA,EAAA,IAA8BrxJ,EAAIqxJ,EAAA,KAG1C,SAASC,EAASC,GACzB,IAAAX,EAAAW,EAAA,GAAAV,EAAAU,EAAA,GAAAN,EAA0Dj6L,EAAG65L,GAC7D,OAAAI,EAAmBj6L,EAAG45L,GAAAK,EAAmB/5L,EAAG05L,GAAU15L,EAAG25L,IAGlD,SAAAW,EAAAnjN,EAAAC,GACP,OAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAGO,SAAAmjN,EAAApjN,EAAAC,GACP,OAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,IAIO,SAAAojN,GAAArjN,EAAAC,GACPD,EAAA,IAAAC,EAAA,GAAAD,EAAA,IAAAC,EAAA,GAAAD,EAAA,IAAAC,EAAA,GAGO,SAAAqjN,GAAAtc,EAAAvkM,GACP,OAAAukM,EAAA,GAAAvkM,EAAAukM,EAAA,GAAAvkM,EAAAukM,EAAA,GAAAvkM,GAIO,SAAA8gN,GAAApjN,GACP,IAAAsR,EAAUgD,EAAItU,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACdA,EAAA,IAAAsR,EAAAtR,EAAA,IAAAsR,EAAAtR,EAAA,IAAAsR,ECzBA,IAAI+xM,GAASC,GAAMC,GAASC,GACxBC,GACAC,GAAUC,GACVC,GAEJC,GACArgJ,GAFAsgJ,GAAe7D,IAIf8D,GAAA,CACAnhN,MAAAohN,GACA/9J,UAAAg+J,GACA/9J,QAAAg+J,GACA9C,aAAA,WACA2C,GAAAnhN,MAAAuhN,GACAJ,GAAA99J,UAAAm+J,GACAL,GAAA79J,QAAAm+J,GACAP,GAAAxhL,QACIw/K,EAAUV,gBAEdC,WAAA,WACIS,EAAUT,aACd0C,GAAAnhN,MAAAohN,GACAD,GAAA99J,UAAAg+J,GACAF,GAAA79J,QAAAg+J,GACQtC,EAAW,GAAMyB,KAAYE,GAAO,KAASD,KAASE,GAAI,KAClEM,GAAwBvoL,EAASioL,GAAI,GACrCM,IAAyBvoL,IAAS+nL,IAAI,IACtC9/I,GAAA,GAAe6/I,GAAO7/I,GAAA,GAAa+/I,KAInC,SAAAS,GAAA5B,EAAAC,GACAwB,GAAA1jN,KAAAqjE,GAAA,CAAuB6/I,GAAOjB,EAAWmB,GAAOnB,IAChDC,EAAYiB,KAAMA,GAAIjB,GACtBA,EAAYmB,KAAMA,GAAInB,GAGtB,SAASiC,GAASlC,EAAAC,GAClB,IAAA5mL,EAAUqnL,EAAS,CAAAV,EAAW/0G,EAAOg1G,EAAQh1G,IAC7C,GAAMu2G,GAAE,CACR,IAAAW,EAAiBtB,EAAeW,GAAEnoL,GAClC+oL,EAAA,CAAAD,EAAA,IAAAA,EAAA,MACAE,EAAqBxB,EAAcuB,EAAAD,GAC/BnB,GAAyBqB,GAC7BA,EAAiB7B,EAAS6B,GAC1B,IAGAC,EAHAx/L,EAAAk9L,EAAyBqB,GACzBtjK,EAAAj7B,EAAA,OACAy/L,EAAAF,EAAA,GAAkC5f,EAAO1kJ,EAEzCykK,EAAuBz/L,EAAGD,GAAA,IAC1B0/L,GAAAzkK,EAA+BsjK,GAAOkB,KAAAxkK,EAAAiiK,IACtCsC,EAAAD,EAAA,GAA6B5f,EAC7B6f,EAAiBlB,KAAMA,GAAIkB,KACtBC,KAAA,aAAAC,GAAAzkK,EAAwEsjK,GAAOkB,KAAAxkK,EAAAiiK,IACpFsC,GAAAD,EAAA,GAA8B5f,EAC9B6f,EAAiBpB,KAAMA,GAAIoB,KAE3BrC,EAAgBiB,KAAMA,GAAIjB,GAC1BA,EAAgBmB,KAAMA,GAAInB,KAE1BuC,EACAxC,EAAmBqB,GACPoB,GAAMxB,GAAOjB,GAAYyC,GAAMxB,GAASE,MAAUA,GAAOnB,GAEzDyC,GAAKzC,EAASmB,IAAWsB,GAAMxB,GAASE,MAAUF,GAAOjB,GAG3DmB,IAAWF,IACrBjB,EAAqBiB,KAASA,GAAOjB,GACrCA,EAAqBmB,KAASA,GAAOnB,IAErCA,EAAqBqB,GACPoB,GAAMxB,GAAOjB,GAAYyC,GAAMxB,GAASE,MAAUA,GAAOnB,GAEzDyC,GAAKzC,EAASmB,IAAWsB,GAAMxB,GAASE,MAAUF,GAAOjB,QAKvEyB,GAAA1jN,KAAAqjE,GAAA,CAAyB6/I,GAAOjB,EAAWmB,GAAOnB,IAElDC,EAAYiB,KAAMA,GAAIjB,GACtBA,EAAYmB,KAAMA,GAAInB,GACpBuB,GAAEnoL,EAAMgoL,GAAOrB,EAGjB,SAAA6B,KACAF,GAAAnhN,MAAuB0hN,GAGvB,SAAAJ,KACA1gJ,GAAA,GAAa6/I,GAAO7/I,GAAA,GAAa+/I,GACjCQ,GAAAnhN,MAAAohN,GACEJ,GAAE,KAGJ,SAAAO,GAAA/B,EAAAC,GACA,GAAMuB,GAAE,CACR,IAAA1+L,EAAAk9L,EAAyBqB,GACzBK,GAAA//J,IAAiB5+B,EAAGD,GAAA,IAAAA,KAAA,YAAAA,QAEhBw+L,GAAQtB,EAAWuB,GAAKtB,EAE1BP,EAAUl/M,MAAAw/M,EAAAC,GACViC,GAASlC,EAAAC,GAGX,SAAA+B,KACEtC,EAAU77J,YAGZ,SAAAo+J,KACAF,GAAkBT,GAAUC,IAC1B7B,EAAU57J,UACN/gC,EAAG2+L,IAAavoL,IAAS8nL,KAAYE,GAAO,MAClD//I,GAAA,GAAa6/I,GAAO7/I,GAAA,GAAa+/I,GAC/BK,GAAE,KAMJ,SAASiB,GAAKC,EAAAC,GACd,OAAAA,GAAAD,GAAA,EAAAC,EAAA,IAAAA,EAGA,SAAAC,GAAAnlN,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,GAGA,SAAAmlN,GAAAzhJ,EAAA90D,GACA,OAAA80D,EAAA,IAAAA,EAAA,GAAAA,EAAA,IAAA90D,MAAA80D,EAAA,GAAA90D,EAAA80D,EAAA,IAAAA,EAAA,GAAA90D,EAGe,ICxIfw2M,GAAAC,GACIC,GAAIC,GAAEC,GACNC,GAAIC,GAAEC,GACVC,GAAAC,GAAAC,GACIC,GAAUC,GACVC,GAAIC,GAAEC,GDmIKvjK,GAAA,SAAA98C,GACf,IAAA1F,EAAAuB,EAAA5B,EAAAC,EAAA67B,EAAAuqL,EAAAhhM,EAOA,GALEs+L,GAAOD,KAAYF,GAAUC,GAAInvM,KACnC0vM,GAAA,GACElC,EAAM/7M,EAAAm+M,IAGRtiN,EAAAoiN,GAAAniN,OAAA,CAIA,IAHAmiN,GAAAt/M,KAAAygN,IAGA9kN,EAAA,EAAAL,EAAAgkN,GAAA,GAAAloL,EAAA,CAAA97B,GAA4CK,EAAAuB,IAAOvB,EACnDJ,EAAA+jN,GAAA3jN,GACA+kN,GAAAplN,EAAAC,EAAA,KAAAmlN,GAAAplN,EAAAC,EAAA,KACY+kN,GAAKhlN,EAAA,GAAAC,EAAA,IAAe+kN,GAAKhlN,EAAA,GAAAA,EAAA,MAAAA,EAAA,GAAAC,EAAA,IACzB+kN,GAAK/kN,EAAA,GAAAD,EAAA,IAAeglN,GAAKhlN,EAAA,GAAAA,EAAA,MAAAA,EAAA,GAAAC,EAAA,KAErC67B,EAAAx7B,KAAAN,EAAAC,GAMA,IAAAomN,GAAA/xM,IAAA1S,EAAAk6B,EAAAj6B,OAAA,EAAAxB,EAAA,EAAAL,EAAA87B,EAAAl6B,GAA2EvB,GAAAuB,EAAQ5B,EAAAC,IAAAI,EACnFJ,EAAA67B,EAAAz7B,IACAglB,EAAmB2/L,GAAKhlN,EAAA,GAAAC,EAAA,KAAAomN,MAAAhhM,EAA4Cm+L,GAAOvjN,EAAA,GAASyjN,GAAO1jN,EAAA,IAM3F,OAFAgkN,GAAArgJ,GAAA,KAES6/I,KAAOlvM,KAAiBmvM,KAAInvM,IACrC,EAAAywB,SAAA,CAAAA,UACA,EAAUy+K,GAASC,IAAI,CAAIC,GAASC,MCnKpC2C,GAAA,CACAlF,OAAUr6M,EACVhE,MAAAwjN,GACAngK,UAAAogK,GACAngK,QAAAogK,GACAlF,aAAA,WACA+E,GAAAlgK,UAAAsgK,GACAJ,GAAAjgK,QAAAsgK,IAEAnF,WAAA,WACA8E,GAAAlgK,UAAAogK,GACAF,GAAAjgK,QAAAogK,KAKA,SAAAF,GAAAhE,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC5B,IAAAo1G,EAAej6L,EAAG65L,GAClBoE,GAAAhE,EAAkCj6L,EAAG45L,GAAAK,EAAmB/5L,EAAG05L,GAAU15L,EAAG25L,IAGxE,SAAAoE,GAAA/3M,EAAAC,EAAAsyB,KACAikL,GACEE,KAAE12M,EAAS02M,IAAEF,GACbG,KAAE12M,EAAS02M,IAAEH,GACfI,KAAArkL,EAAAqkL,IAAAJ,GAGA,SAAAmB,KACAF,GAAAvjN,MAAA8jN,GAGA,SAAAA,GAAAtE,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC5B,IAAAo1G,EAAej6L,EAAG65L,GAChB0D,GAAEtD,EAAYj6L,EAAG45L,GACjB4D,GAAEvD,EAAY/5L,EAAG05L,GACnB6D,GAAOv9L,EAAG25L,GACV8D,GAAAvjN,MAAA+jN,GACAF,GAAyBV,GAAIC,GAAEC,IAG/B,SAAAU,GAAAvE,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC5B,IAAAo1G,EAAej6L,EAAG65L,GAClB3zM,EAAA+zM,EAAmBj6L,EAAG45L,GACtBzzM,EAAA8zM,EAAmB/5L,EAAG05L,GACtBnhL,EAAUvY,EAAG25L,GACbx0I,EAAUvyB,EAAMhnC,GAAIu5D,EAAMm4I,GAAE/kL,EAAAglL,GAAAt3M,GAAAk/D,KAAAo4I,GAAAv3M,EAAmCq3M,GAAE9kL,GAAA4sC,KAAiBk4I,GAAEp3M,EAAOq3M,GAAEt3M,GAAAm/D,GAAYk4I,GAAEr3M,EAAOs3M,GAAEr3M,EAAAs3M,GAAAhlL,GACpHkkL,IAAAt3I,EACE03I,IAAE13I,GAASk4I,IAAMA,GAAEr3M,IACnB82M,IAAE33I,GAASm4I,IAAMA,GAAEr3M,IACrB82M,IAAA53I,GAAAo4I,OAAAhlL,IACAwlL,GAAyBV,GAAIC,GAAEC,IAG/B,SAAAK,KACAH,GAAAvjN,MAAAwjN,GAKA,SAAAG,KACAJ,GAAAvjN,MAAAgkN,GAGA,SAAAJ,KACAK,GAAoBhB,GAAUC,IAC9BK,GAAAvjN,MAAAwjN,GAGA,SAAAQ,GAAAxE,EAAAC,GACEwD,GAAQzD,EAAW0D,GAAKzD,EAC1BD,GAAY/0G,EAAOg1G,GAASh1G,EAC5B84G,GAAAvjN,MAAAikN,GACA,IAAApE,EAAej6L,EAAG65L,GAChB0D,GAAEtD,EAAYj6L,EAAG45L,GACjB4D,GAAEvD,EAAY/5L,EAAG05L,GACnB6D,GAAOv9L,EAAG25L,GACVoE,GAAyBV,GAAIC,GAAEC,IAG/B,SAAAY,GAAAzE,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC5B,IAAAo1G,EAAej6L,EAAG65L,GAClB3zM,EAAA+zM,EAAmBj6L,EAAG45L,GACtBzzM,EAAA8zM,EAAmB/5L,EAAG05L,GACtBnhL,EAAUvY,EAAG25L,GACblhI,EAAW6kI,GAAE/kL,EAAAglL,GAAAt3M,EACbyyE,EAAA6kI,GAAAv3M,EAAoBq3M,GAAE9kL,EACtB6lL,EAAWf,GAAEp3M,EAAOq3M,GAAEt3M,EACtBsuB,EAAU1oB,EAAI6sE,IAAAC,IAAA0lI,KACdj5I,EAAUrc,EAAIx0B,GACd36B,EAAA26B,IAAA6wC,EAAA7wC,EACA0oL,IAAArjN,EAAA8+E,EACAwkI,IAAAtjN,EAAA++E,EACAwkI,IAAAvjN,EAAAykN,EACA3B,IAAAt3I,EACE03I,IAAE13I,GAASk4I,IAAMA,GAAEr3M,IACnB82M,IAAE33I,GAASm4I,IAAMA,GAAEr3M,IACrB82M,IAAA53I,GAAAo4I,OAAAhlL,IACAwlL,GAAyBV,GAAIC,GAAEC,IAGhB,IAAAjzM,GAAA,SAAAo8B,GACf81K,GAAAC,GACEC,GAAKC,GAAEC,GACPC,GAAKC,GAAEC,GACTC,GAAAC,GAAAC,GAAA,EACEjE,EAAMvyK,EAAA+2K,IAER,IAAAz3M,EAAAg3M,GACA/2M,EAAAg3M,GACA1kL,EAAA2kL,GACA5oL,EAAAtuB,IAAAC,IAAAsyB,IAGA,OAAAjE,EAAUqjL,IACV3xM,EAAQ62M,GAAE52M,EAAM62M,GAAEvkL,EAAAwkL,GAElBN,GAAa5pL,IAAO7sB,EAAM02M,GAAEz2M,EAAM02M,GAAEpkL,EAAAqkL,IACpCtoL,EAAAtuB,IAAAC,IAAAsyB,IAEAjE,EAAYqjL,GAAQ,CAAAz7K,SAGpB,CAAU0W,EAAK3sC,EAAAD,GAASm2L,EAASrzI,EAAIvwB,EAAK3sB,EAAI0oB,IAAO6nK,IC1ItCkiB,GAAA,SAAAr4M,GACf,kBACA,OAAAA,ICFes4M,GAAA,SAAAnnN,EAAAC,GAEf,SAAAknN,EAAAt4M,EAAAC,GACA,OAAAD,EAAA7O,EAAA6O,EAAAC,GAAA7O,EAAA4O,EAAA,GAAAA,EAAA,IAOA,OAJA7O,EAAA8/B,QAAA7/B,EAAA6/B,SAAAqnL,EAAArnL,OAAA,SAAAjxB,EAAAC,GACA,OAAAD,EAAA5O,EAAA6/B,OAAAjxB,EAAAC,GAAAD,GAAA7O,EAAA8/B,OAAAjxB,EAAA,GAAAA,EAAA,MAGAs4M,GCPA,SAAAC,GAAA7E,EAAAC,GACA,OAAUl9L,EAAGi9L,GAAWr4J,EAAEq4J,EAAA9+M,KAAAkjB,OAAA47L,EAAiC5B,GAAOA,EAAG4B,EAAAC,GAK9D,SAAA6E,GAAAC,EAAAC,EAAAC,GACP,OAAAF,GAAyB3G,GAAG4G,GAAAC,EAA8BL,GAAOM,GAAAH,GAAAI,GAAAH,EAAAC,IACjEC,GAAAH,GACAC,GAAAC,EAAAE,GAAAH,EAAAC,GACAJ,GAGA,SAAAO,GAAAL,GACA,gBAAA/E,EAAAC,GACA,OAAAD,GAAA+E,EAAA,CAAA/E,EAA4Cr4J,EAAEq4J,EAAY5B,EAAG4B,GAAar4J,EAAEq4J,EAAY5B,EAAG4B,EAAAC,IAI3F,SAAAiF,GAAAH,GACA,IAAAhjL,EAAAqjL,GAAAL,GAEA,OADAhjL,EAAAxE,OAAA6nL,IAAAL,GACAhjL,EAGA,SAAAojL,GAAAH,EAAAC,GACA,IAAAI,EAAoBj/L,EAAG4+L,GACvBM,EAAoBh/L,EAAG0+L,GACvBO,EAAsBn/L,EAAG6+L,GACzBO,EAAsBl/L,EAAG2+L,GAEzB,SAAAljL,EAAAi+K,EAAAC,GACA,IAAAI,EAAiBj6L,EAAG65L,GACpB3zM,EAAY8Z,EAAG45L,GAAAK,EACf9zM,EAAY+Z,EAAG05L,GAAAK,EACfxhL,EAAYvY,EAAG25L,GACf//M,EAAA2+B,EAAAwmL,EAAA/4M,EAAAg5M,EACA,OACMpsK,EAAK3sC,EAAAg5M,EAAArlN,EAAAslN,EAAAl5M,EAAA+4M,EAAAxmL,EAAAymL,GACLl2J,EAAIlvD,EAAAqlN,EAAAh5M,EAAAi5M,IAgBV,OAZAzjL,EAAAxE,OAAA,SAAAyiL,EAAAC,GACA,IAAAI,EAAiBj6L,EAAG65L,GACpB3zM,EAAY8Z,EAAG45L,GAAAK,EACf9zM,EAAY+Z,EAAG05L,GAAAK,EACfxhL,EAAYvY,EAAG25L,GACf//M,EAAA2+B,EAAA0mL,EAAAh5M,EAAAi5M,EACA,OACMtsK,EAAK3sC,EAAAg5M,EAAA1mL,EAAA2mL,EAAAl5M,EAAA+4M,EAAAnlN,EAAAolN,GACLl2J,EAAIlvD,EAAAmlN,EAAA/4M,EAAAg5M,KAIVvjL,EAnDA8iL,GAAAtnL,OAAAsnL,GAsDe,IAAAY,GAAA,SAAAjoL,GAGf,SAAAkoL,EAAA5iN,GAEA,OADAA,EAAA06B,EAAA16B,EAAA,GAA0CmoG,EAAOnoG,EAAA,GAAmBmoG,GACpEnoG,EAAA,IAA6B2/L,EAAO3/L,EAAA,IAAoB2/L,EAAO3/L,EAQ/D,OAZA06B,EAAAsnL,GAAAtnL,EAAA,GAAqCytE,EAAOztE,EAAA,GAAcytE,EAAOztE,EAAAl+B,OAAA,EAAAk+B,EAAA,GAAkCytE,EAAO,GAO1Gy6G,EAAAnoL,OAAA,SAAAz6B,GAEA,OADAA,EAAA06B,EAAAD,OAAAz6B,EAAA,GAAiDmoG,EAAOnoG,EAAA,GAAmBmoG,GAC3EnoG,EAAA,IAA6B2/L,EAAO3/L,EAAA,IAAoB2/L,EAAO3/L,GAG/D4iN,GCpEO,SAAAC,GAAAlH,EAAA5xM,EAAAiW,EAAApI,EAAAkyE,EAAAk4G,GACP,GAAAhiL,EAAA,CACA,IAAA8iM,EAAkBx/L,EAAGvZ,GACrBg5M,EAAkBv/L,EAAGzZ,GACrB23L,EAAA9pL,EAAAoI,EACA,MAAA8pE,GACAA,EAAA//E,EAAA6N,EAA8B0jM,EAC9BtZ,EAAAj4L,EAAA23L,EAAA,IAEA53G,EAAAk5H,GAAAF,EAAAh5H,GACAk4G,EAAAghB,GAAAF,EAAA9gB,IACApqL,EAAA,EAAAkyE,EAAAk4G,EAAAl4G,EAAAk4G,KAAAl4G,GAAAlyE,EAA6D0jM,IAE7D,QAAA59M,EAAAlC,EAAAsuF,EAAyBlyE,EAAA,EAAApc,EAAAwmM,EAAAxmM,EAAAwmM,EAAiCxmM,GAAAkmM,EAC1DhkM,EAAYggN,EAAS,CAAAoF,GAAAC,EAA0Bz/L,EAAG9nB,IAAAunN,EAAkBv/L,EAAGhoB,KACvEmgN,EAAAj+M,QAAA,GAAAA,EAAA,KAKA,SAAAslN,GAAAF,EAAAplN,GACAA,EAAUkgN,EAASlgN,KAAA,IAAAolN,EACjB5E,GAAyBxgN,GAC3B,IAAAqM,EAAeyxM,GAAI99M,EAAA,IACnB,SAAAA,EAAA,MAAAqM,KAA+CuxM,EAAMjlL,GAAWilL,EAGjD,IAAA2H,GAAA,WACf,IAGAnxM,EACA4oB,EAJAxa,EAAe2hM,GAAQ,OACvB93M,EAAe83M,GAAQ,IACvBlqM,EAAkBkqM,GAAQ,GAG1BlG,EAAA,CAAgBj+M,SAEhB,SAAAA,EAAA8L,EAAAC,GACAqI,EAAA7W,KAAAuO,EAAAkxB,EAAAlxB,EAAAC,IACAD,EAAA,IAAYm2L,EAAOn2L,EAAA,IAAUm2L,EAG7B,SAAAujB,IACA,IAAAlnN,EAAAkkB,EAAAtjB,MAAAvC,KAAA4vC,WACAr6B,EAAA7F,EAAAnN,MAAAvC,KAAA4vC,WAA4Ck+D,EAC5C5xE,EAAA5e,EAAA/a,MAAAvC,KAAA4vC,WAA+Ck+D,EAM/C,OALAr2F,EAAA,GACA4oB,EAAasnL,IAAahmN,EAAA,GAASmsG,GAAOnsG,EAAA,GAAUmsG,EAAO,GAAA1tE,OAC3DooL,GAAAlH,EAAA/rM,EAAA2mB,EAAA,GACAv6B,EAAA,CAASuE,KAAA,UAAAP,YAAA,CAAA8R,IACTA,EAAA4oB,EAAA,KACA1+B,EAeA,OAZAknN,EAAAhjM,OAAA,SAAAowG,GACA,OAAArmF,UAAAztC,QAAA0jB,EAAA,oBAAAowG,IAAsEuxF,GAAQ,EAAAvxF,EAAA,IAAAA,EAAA,KAAA4yF,GAAAhjM,GAG9EgjM,EAAAn5M,OAAA,SAAAumH,GACA,OAAArmF,UAAAztC,QAAAuN,EAAA,oBAAAumH,IAAsEuxF,IAAQvxF,GAAA4yF,GAAAn5M,GAG9Em5M,EAAAvrM,UAAA,SAAA24G,GACA,OAAArmF,UAAAztC,QAAAmb,EAAA,oBAAA24G,IAAyEuxF,IAAQvxF,GAAA4yF,GAAAvrM,GAGjFurM,GCpEe3pL,GAAA,WACf,IACArwB,EADAm3C,EAAA,GAEA,OACA3iD,MAAA,SAAA8L,EAAAC,GACAP,EAAAjO,KAAA,CAAAuO,EAAAC,KAEAs3C,UAAA,WACAV,EAAAplD,KAAAiO,EAAA,KAEA83C,QAAat/C,EACbyhN,OAAA,WACA9iK,EAAA7jD,OAAA,GAAA6jD,EAAAplD,KAAAolD,EAAAziD,MAAAmR,OAAAsxC,EAAA1U,WAEA5R,OAAA,WACA,IAAAA,EAAAsmB,EAGA,OAFAA,EAAA,GACAn3C,EAAA,KACA6wB,KClBeqpL,GAAA,SAAAzoN,EAAAC,GACf,OAASqlB,EAAGtlB,EAAA,GAAAC,EAAA,IAAgBy7B,GAAWpW,EAAGtlB,EAAA,GAAAC,EAAA,IAAgBy7B,GCD1D,SAAAgtL,GAAA3lN,EAAArB,EAAAinN,EAAAC,GACAlpN,KAAAmP,EAAA9L,EACArD,KAAA0hC,EAAA1/B,EACAhC,KAAA8B,EAAAmnN,EACAjpN,KAAAoI,EAAA8gN,EACAlpN,KAAA8C,GAAA,EACA9C,KAAAkC,EAAAlC,KAAAk8B,EAAA,KAMe,IAAA4sL,GAAA,SAAA3iE,EAAAgjE,EAAAC,EAAA51K,EAAA8tK,GACf,IAEA3gN,EACAuB,EAHAmnN,EAAA,GACAz7I,EAAA,GAwBA,GApBAu4E,EAAArvI,QAAA,SAAAk5C,GACA,MAAA9tD,EAAA8tD,EAAA7tD,OAAA,QACA,IAAAD,EAAAiN,EAAAiuH,EAAAptE,EAAA,GAAA3wC,EAAA2wC,EAAA9tD,GAKA,GAAQ6mN,GAAU3rF,EAAA/9G,GAAlB,CAEA,IADAiiM,EAAA56J,YACA/lD,EAAA,EAAiBA,EAAAuB,IAAOvB,EAAA2gN,EAAAj+M,OAAA+5H,EAAAptE,EAAArvD,IAAA,GAAAy8H,EAAA,IACxBkkF,EAAA36J,eAIA0iK,EAAAzoN,KAAAuO,EAAA,IAAA65M,GAAA5rF,EAAAptE,EAAA,UACA4d,EAAAhtE,KAAAuO,EAAArN,EAAA,IAAAknN,GAAA5rF,EAAA,KAAAjuH,GAAA,IACAk6M,EAAAzoN,KAAAuO,EAAA,IAAA65M,GAAA3pM,EAAA2wC,EAAA,UACA4d,EAAAhtE,KAAAuO,EAAArN,EAAA,IAAAknN,GAAA3pM,EAAA,KAAAlQ,GAAA,OAGAk6M,EAAAlnN,OAAA,CAMA,IAJAyrE,EAAA5oE,KAAAmkN,GACEG,GAAID,GACJC,GAAI17I,GAENjtE,EAAA,EAAAuB,EAAA0rE,EAAAzrE,OAA8BxB,EAAAuB,IAAOvB,EACrCitE,EAAAjtE,GAAAyH,EAAAghN,KAGA,IACApnN,EACAqB,EAFAqX,EAAA2uM,EAAA,GAIA,SAEA,IAAA/uI,EAAA5/D,EACA6uM,GAAA,EACA,MAAAjvI,EAAAx3E,EAAA,IAAAw3E,IAAAp4E,KAAAwY,EAAA,OACA1Y,EAAAs4E,EAAA54C,EACA4/K,EAAA56J,YACA,GAEA,GADA4zB,EAAAx3E,EAAAw3E,EAAAx4E,EAAAgB,GAAA,EACAw3E,EAAAlyE,EAAA,CACA,GAAAmhN,EACA,IAAA5oN,EAAA,EAAAuB,EAAAF,EAAAG,OAAwCxB,EAAAuB,IAAOvB,EAAA2gN,EAAAj+M,SAAArB,EAAArB,IAAA,GAAA0C,EAAA,SAE/CmwC,EAAA8mC,EAAAnrE,EAAAmrE,EAAAp4E,EAAAiN,EAAA,EAAAmyM,GAEAhnI,IAAAp4E,MACO,CACP,GAAAqnN,EAEA,IADAvnN,EAAAs4E,EAAAp+C,EAAAwF,EACA/gC,EAAAqB,EAAAG,OAAA,EAAqCxB,GAAA,IAAQA,EAAA2gN,EAAAj+M,SAAArB,EAAArB,IAAA,GAAA0C,EAAA,SAE7CmwC,EAAA8mC,EAAAnrE,EAAAmrE,EAAAp+C,EAAA/sB,GAAA,EAAAmyM,GAEAhnI,IAAAp+C,EAEAo+C,IAAAx4E,EACAE,EAAAs4E,EAAA54C,EACA6nL,YACKjvI,EAAAx3E,GACLw+M,EAAA36J,aAIA,SAAS2iK,GAAIj6K,GACb,GAAAntC,EAAAmtC,EAAAltC,OAAA,CACA,IAAAD,EAGA3B,EAFAI,EAAA,EACAL,EAAA+uC,EAAA,GAEA,QAAA1uC,EAAAuB,EACA5B,EAAA4B,EAAA3B,EAAA8uC,EAAA1uC,GACAJ,EAAA27B,EAAA57B,EACAA,EAAAC,EAEAD,EAAA4B,EAAA3B,EAAA8uC,EAAA,GACA9uC,EAAA27B,EAAA57B,GC/FA,IAAIkpN,GAAM9I,IAEK+I,GAAA,SAAAhwL,EAAAp2B,GACf,IAAAw/M,EAAAx/M,EAAA,GACAy/M,EAAAz/M,EAAA,GACA8/M,EAAeh6L,EAAG25L,GAClBkC,EAAA,CAAgB77L,EAAG05L,IAAW55L,EAAG45L,GAAA,GACjC55I,EAAA,EACAygJ,EAAA,EAEEF,GAAGzmL,QAEL,IAAAogL,EAAAL,EAA0B/B,EAAS/kL,GACnC,IAAAmnL,IAAAL,GAAiC/B,EAAS/kL,GAE1C,QAAAr7B,EAAA,EAAAuB,EAAAu3B,EAAAt3B,OAAqCxB,EAAAuB,IAAOvB,EAC5C,GAAA88B,GAAAhmB,EAAAgiB,EAAA94B,IAAAwB,OASA,IARA,IAAAsV,EACAgmB,EACAksL,EAAAlyM,EAAAgmB,EAAA,GACA8nL,EAAAoE,EAAA,GACAC,EAAAD,EAAA,KAA+B3I,EAC/B6I,EAAkB1gM,EAAGygM,GACrBE,EAAkB7gM,EAAG2gM,GAErBhnN,EAAA,EAAmBA,EAAA66B,IAAO76B,EAAA2iN,EAAAC,EAAAqE,EAAAE,EAAAD,EAAAE,EAAAL,EAAA79G,EAAA,CAC1B,IAAAA,EAAAr0F,EAAA7U,GACA4iN,EAAA15G,EAAA,GACAm+G,EAAAn+G,EAAA,KAAiCk1G,EACjC+I,EAAoB5gM,EAAG8gM,GACvBD,EAAoB/gM,EAAGghM,GACvBtkM,EAAA6/L,EAAAD,EACA3kK,EAAAj7B,GAAA,OACAukM,EAAAtpK,EAAAj7B,EACA0/L,EAAA6E,EAAoC1/J,EACpCznD,EAAA8mN,EAAAE,EAOA,GALMP,GAAGhlK,IAAKzI,EAAKh5C,EAAA69C,EAAYz3B,EAAG+gM,GAAAJ,EAAAE,EAAAjnN,EAAoCkmB,EAAGihM,KACzEjhJ,GAAAo8I,EAAA1/L,EAAAi7B,EAA6CqgK,EAAGt7L,EAIhD0/L,EAAAE,GAAA1C,EAAA2C,GAAA3C,EAAA,CACA,IAAA56J,EAAkBy7J,EAAeH,EAASoG,GAAUpG,EAASz3G,IACrD+3G,GAAyB57J,GACjC,IAAAiyD,EAA2BwpG,EAAcsB,EAAA/8J,GACjC47J,GAAyB3pG,GACjC,IAAAiwG,GAAA9E,EAAA1/L,GAAA,QAA4DssC,EAAIioD,EAAA,KAChE4oG,EAAAqH,GAAArH,IAAAqH,IAAAliK,EAAA,IAAAA,EAAA,OACAyhK,GAAArE,EAAA1/L,GAAA,SAiBA,OAAAsjD,GAAmBjtC,GAAOitC,EAAYjtC,GAAWwtL,IAAOxtL,GAAO,EAAA0tL,GCtEhDU,GAAA,SAAA9pN,EAAAC,GACf,OAAAD,EAAAC,GAAA,EAAAD,EAAAC,EAAA,EAAAD,GAAAC,EAAA,EAAA8kC,KCCeowJ,GAAA,SAAAt3K,GAEf,OADA,IAAAA,EAAAhc,SAAAgc,EAAAksM,GAAAlsM,IACA,CACAlS,KAAA,SAAA3L,EAAA6O,EAAAq7B,EAAAC,GACA,MAAAD,MAAA,GACA,MAAAC,MAAAnqC,EAAA6B,QACA,MAAAqoC,EAAAC,EAAA,CACA,IAAAkD,EAAAnD,EAAAC,IAAA,EACAtsB,EAAA7d,EAAAqtC,GAAAx+B,GAAA,EAAAq7B,EAAAmD,EAAA,EACAlD,EAAAkD,EAEA,OAAAnD,GAEAt+B,MAAA,SAAA5L,EAAA6O,EAAAq7B,EAAAC,GACA,MAAAD,MAAA,GACA,MAAAC,MAAAnqC,EAAA6B,QACA,MAAAqoC,EAAAC,EAAA,CACA,IAAAkD,EAAAnD,EAAAC,IAAA,EACAtsB,EAAA7d,EAAAqtC,GAAAx+B,GAAA,EAAAs7B,EAAAkD,EACAnD,EAAAmD,EAAA,EAEA,OAAAnD,KAKA,SAAA6/K,GAAA71M,GACA,gBAAA/T,EAAA0O,GACA,OAAWi7M,GAAS51M,EAAA/T,GAAA0O,IC3BpB,IAAAm7M,GAAsB70B,GAAS20B,IACxBE,GAAAp+M,MACAo+M,GAAAr+M,KCHQ,ICFXs+M,GAAK1oN,MAAAZ,UCAMupN,IDEID,GAAKjoN,MACPioN,GAAKphN,ICHP,SAAAuR,EAAAlI,EAAA60L,GACf3sL,KAAAlI,KAAA60L,GAAAnlM,EAAA0tC,UAAAztC,QAAA,GAAAqQ,EAAAkI,IAAA,KAAAxY,EAAA,KAAAmlM,EAEA,IAAA1mM,GAAA,EACAuB,EAAA,EAAA6B,KAAA0K,IAAA,EAAA1K,KAAAo6B,MAAA3rB,EAAAkI,GAAA2sL,IACApjI,EAAA,IAAApiE,MAAAK,GAEA,QAAAvB,EAAAuB,EACA+hE,EAAAtjE,GAAA+Z,EAAA/Z,EAAA0mM,EAGA,OAAApjI,ICXAlgE,KAAAgR,KAAA,IACAhR,KAAAgR,KAAA,IACAhR,KAAAgR,KAAA,GCFe,ICAA0S,GAAA,SAAAgjM,GACf,IACAhtL,EAGArB,EACAiT,EALAntC,EAAAuoN,EAAAtoN,OAEAxB,GAAA,EACAiC,EAAA,EAIA,QAAAjC,EAAAuB,EAAAU,GAAA6nN,EAAA9pN,GAAAwB,OACAi6B,EAAA,IAAAv6B,MAAAe,GAEA,QAAAV,GAAA,GACAmtC,EAAAo7K,EAAAvoN,GACAu7B,EAAA4R,EAAAltC,OACA,QAAAs7B,GAAA,EACArB,IAAAx5B,GAAAysC,EAAA5R,GAIA,OAAArB,GCjBe,ICIAsuL,GAAA,SAAAC,EAAAC,EAAAp3K,EAAA94B,GACf,gBAAAmwM,GACA,IAIApxL,EACA0sH,EACA1uI,EANA5I,EAAA+7M,EAAAC,GACAC,EAAqB5rL,KACrB6rL,EAAAH,EAAAE,GACAE,GAAA,EAKAp9I,EAAA,CACAvqE,QACAqjD,YACAC,UACAk7J,aAAA,WACAj0I,EAAAvqE,MAAA4nN,EACAr9I,EAAAlnB,UAAAG,EACA+mB,EAAAjnB,QAAAG,EACAq/F,EAAA,GACA1sH,EAAA,IAEAqoL,WAAA,WACAl0I,EAAAvqE,QACAuqE,EAAAlnB,YACAknB,EAAAjnB,UACAw/F,EAAmB1+H,GAAK0+H,GACxB,IAAAijE,EAA0BK,GAAehwL,EAAA/e,GACzCyrI,EAAAhkJ,QACA6oN,IAAAH,EAAAhJ,eAAAmJ,GAAA,GACUlC,GAAU3iE,EAAW+kE,GAAmB9B,EAAA51K,EAAAq3K,IACzCzB,IACT4B,IAAAH,EAAAhJ,eAAAmJ,GAAA,GACAH,EAAAnkK,YACAlT,EAAA,YAAAq3K,GACAA,EAAAlkK,WAEAqkK,IAAAH,EAAA/I,aAAAkJ,GAAA,GACA7kE,EAAA1sH,EAAA,MAEAioL,OAAA,WACAmJ,EAAAhJ,eACAgJ,EAAAnkK,YACAlT,EAAA,YAAAq3K,GACAA,EAAAlkK,UACAkkK,EAAA/I,eAIA,SAAAz+M,EAAAw/M,EAAAC,GACA6H,EAAA9H,EAAAC,IAAA+H,EAAAxnN,MAAAw/M,EAAAC,GAGA,SAAAqI,EAAAtI,EAAAC,GACAj0M,EAAAxL,MAAAw/M,EAAAC,GAGA,SAAAp8J,IACAknB,EAAAvqE,MAAA8nN,EACAt8M,EAAA63C,YAGA,SAAAC,IACAinB,EAAAvqE,QACAwL,EAAA83C,UAGA,SAAAskK,EAAApI,EAAAC,GACArrM,EAAA7W,KAAA,CAAAiiN,EAAAC,IACAiI,EAAA1nN,MAAAw/M,EAAAC,GAGA,SAAAj8J,IACAkkK,EAAArkK,YACAjvC,EAAA,GAGA,SAAAqvC,IACAmkK,EAAAxzM,EAAA,MAAAA,EAAA,OACAszM,EAAApkK,UAEA,IAEAhmD,EAAA88B,EACAuyB,EACA3sD,EAJA+nN,EAAAL,EAAAK,QACAC,EAAAP,EAAAprL,SACAx9B,EAAAmpN,EAAAlpN,OAQA,GAJAsV,EAAAlU,MACAk2B,EAAA74B,KAAA6W,GACAA,EAAA,KAEAvV,EAGA,KAAAkpN,GAEA,GADAp7J,EAAAq7J,EAAA,IACA5tL,EAAAuyB,EAAA7tD,OAAA,MAGA,IAFA6oN,IAAAH,EAAAhJ,eAAAmJ,GAAA,GACAH,EAAAnkK,YACA/lD,EAAA,EAAqBA,EAAA88B,IAAO98B,EAAAkqN,EAAAxnN,SAAA2sD,EAAArvD,IAAA,GAAA0C,EAAA,IAC5BwnN,EAAAlkK,gBAOAzkD,EAAA,KAAAkpN,GAAAC,EAAAzqN,KAAAyqN,EAAA9nN,MAAAmR,OAAA22M,EAAA/5K,UAEA60G,EAAAvlJ,KAAAyqN,EAAA3pN,OAAA4pN,KAGA,OAAA19I,IAIA,SAAA09I,GAAAt7J,GACA,OAAAA,EAAA7tD,OAAA,EAKA,SAAS+oN,GAAmB5qN,EAAAC,GAC5B,QAAAD,IAAA6O,GAAA,KAAA7O,EAAA,GAAoCygN,EAAS/kL,EAAU+kL,EAAMzgN,EAAA,MAC7DC,IAAA4O,GAAA,KAAA5O,EAAA,GAAoCwgN,EAAS/kL,EAAU+kL,EAAMxgN,EAAA,IC9H9C,IAAAgrN,GAAAb,GACf,WAAc,UACdc,GACAC,GACA,EAAIjhK,GAAKu2J,IAMT,SAAAyK,GAAAlK,GACA,IAGA8J,EAHA7F,EAAAlgL,IACAukL,EAAAvkL,IACAqmL,EAAArmL,IAGA,OACAqhB,UAAA,WACA46J,EAAA56J,YACA0kK,EAAA,GAEA/nN,MAAA,SAAAmiN,EAAAyE,GACA,IAAA0B,EAAAnG,EAAA,EAAgCh7J,GAAMA,EACtC7kC,EAAkBC,EAAG4/L,EAAAD,GACX3/L,EAAGD,EAAS6kC,GAAMxuB,GAC5BslL,EAAAj+M,MAAAkiN,EAAAqE,KAAAK,GAAA,IAA6DlJ,GAAUA,GACvEO,EAAAj+M,MAAAqoN,EAAA9B,GACAtI,EAAA36J,UACA26J,EAAA56J,YACA46J,EAAAj+M,MAAAsoN,EAAA/B,GACAtI,EAAAj+M,MAAAmiN,EAAAoE,GACAwB,EAAA,GACOM,IAAAC,GAAAhmM,GAAsC6kC,IACjC5kC,EAAG2/L,EAAAmG,GAAoB1vL,IAAOupL,GAAAmG,EAAqB1vL,GACnDpW,EAAG4/L,EAAAmG,GAAoB3vL,IAAOwpL,GAAAmG,EAAqB3vL,GAC/D4tL,EAAAgC,GAAArG,EAAAqE,EAAApE,EAAAyE,GACA3I,EAAAj+M,MAAAqoN,EAAA9B,GACAtI,EAAA36J,UACA26J,EAAA56J,YACA46J,EAAAj+M,MAAAsoN,EAAA/B,GACAwB,EAAA,GAEA9J,EAAAj+M,MAAAkiN,EAAAC,EAAAoE,EAAAK,GACAyB,EAAAC,GAEAhlK,QAAA,WACA26J,EAAA36J,UACA4+J,EAAAqE,EAAAvkL,KAEA+lL,MAAA,WACA,SAAAA,IAKA,SAAAQ,GAAArG,EAAAqE,EAAApE,EAAAyE,GACA,IAAAH,EACAE,EACA6B,EAA0B1iM,EAAGo8L,EAAAC,GAC7B,OAAS5/L,EAAGimM,GAAsB7vL,EAC1B+kB,GAAM53B,EAAGygM,IAAAI,EAAoB/gM,EAAGghM,IAAU9gM,EAAGq8L,GACzCr8L,EAAG8gM,IAAAH,EAAoB7gM,EAAG2gM,IAAUzgM,EAAGo8L,KACnDuE,EAAAE,EAAA6B,KACAjC,EAAAK,GAAA,EAGA,SAAAwB,GAAAtxM,EAAAC,EAAAmD,EAAA+jM,GACA,IAAAwB,EACA,SAAA3oM,EACA2oM,EAAAvlM,EAAsBwjM,EACtBO,EAAAj+M,OAAkBmnD,EAAEs4J,GACpBxB,EAAAj+M,MAAA,EAAAy/M,GACAxB,EAAAj+M,MAAiBmnD,EAAEs4J,GACnBxB,EAAAj+M,MAAiBmnD,EAAE,GACnB82J,EAAAj+M,MAAiBmnD,GAAEs4J,GACnBxB,EAAAj+M,MAAA,GAAAy/M,GACAxB,EAAAj+M,OAAkBmnD,GAAEs4J,GACpBxB,EAAAj+M,OAAkBmnD,EAAE,GACpB82J,EAAAj+M,OAAkBmnD,EAAEs4J,QACjB,GAAUl9L,EAAGzL,EAAA,GAAAC,EAAA,IAAoB4hB,EAAO,CAC3C,IAAA6mL,EAAA1oM,EAAA,GAAAC,EAAA,GAAmCowC,GAAMA,EACzCs4J,EAAAvlM,EAAAslM,EAAA,EACAvB,EAAAj+M,OAAAw/M,EAAAC,GACAxB,EAAAj+M,MAAA,EAAAy/M,GACAxB,EAAAj+M,MAAAw/M,EAAAC,QAEAxB,EAAAj+M,MAAA+W,EAAA,GAAAA,EAAA,ICnFe,IAAA0xM,GAAA,SAAAp8M,GACf,IAAAypI,EAAWlwH,EAAGvZ,GACdiW,EAAA,EAAkBmoF,EAClBi+G,EAAA5yE,EAAA,EACA6yE,EAAsBpmM,EAAGuzH,GAAOn9G,EAEhC,SAAAwX,EAAAr5B,EAAAC,EAAAmD,EAAA+jM,GACIkH,GAAYlH,EAAA5xM,EAAAiW,EAAApI,EAAApD,EAAAC,GAGhB,SAAAwI,EAAAigM,EAAAC,GACA,OAAW75L,EAAG45L,GAAW55L,EAAG65L,GAAA3pE,EAO5B,SAAAyxE,EAAAtJ,GACA,IAAAqI,EACA/1K,EACA8iB,EACAu1J,EACAb,EACA,OACA1kK,UAAA,WACAulK,EAAAv1J,GAAA,EACA00J,EAAA,GAEA/nN,MAAA,SAAAw/M,EAAAC,GACA,IACA/2G,EADAD,EAAA,CAAA+2G,EAAAC,GAEAhgN,EAAA8f,EAAAigM,EAAAC,GACAnhN,EAAAoqN,EACAjpN,EAAA,EAAApC,EAAAmiN,EAAAC,GACAhgN,EAAApC,EAAAmiN,KAAA,EAAgDr4J,GAAMA,GAAEs4J,GAAA,EAYxD,IAXA6G,IAAAsC,EAAAv1J,EAAA5zD,IAAAw+M,EAAA56J,YAGA5jD,IAAA4zD,IACAq1C,EAAA5xD,EAAAwvK,EAAA79G,KACAC,GAAyBg9G,GAAUY,EAAA59G,IAAoBg9G,GAAUj9G,EAAAC,MACjED,EAAA,IAAyB9vE,EACzB8vE,EAAA,IAAyB9vE,EACzBl5B,EAAA8f,EAAAkpF,EAAA,GAAAA,EAAA,MAGAhpG,IAAA4zD,EACA00J,EAAA,EACAtoN,GAEAw+M,EAAA56J,YACAqlD,EAAA5xD,EAAA2xD,EAAA69G,GACArI,EAAAj+M,MAAA0oG,EAAA,GAAAA,EAAA,MAGAA,EAAA5xD,EAAAwvK,EAAA79G,GACAw1G,EAAAj+M,MAAA0oG,EAAA,GAAAA,EAAA,IACAu1G,EAAA36J,WAEAgjK,EAAA59G,OACS,GAAAigH,GAAArC,GAAAoC,EAAAjpN,EAAA,CACT,IAAA3B,EAGAQ,EAAAiyC,KAAAzyC,EAAAg5C,EAAA2xD,EAAA69G,GAAA,MACAyB,EAAA,EACAW,GACAzK,EAAA56J,YACA46J,EAAAj+M,MAAAlC,EAAA,MAAAA,EAAA,OACAmgN,EAAAj+M,MAAAlC,EAAA,MAAAA,EAAA,OACAmgN,EAAA36J,YAEA26J,EAAAj+M,MAAAlC,EAAA,MAAAA,EAAA,OACAmgN,EAAA36J,UACA26J,EAAA56J,YACA46J,EAAAj+M,MAAAlC,EAAA,MAAAA,EAAA,UAIA2B,GAAA6mN,GAA8BZ,GAAUY,EAAA79G,IACxCw1G,EAAAj+M,MAAAyoG,EAAA,GAAAA,EAAA,IAEA69G,EAAA79G,EAAAp1C,EAAA5zD,EAAA8wC,EAAAjyC,GAEAglD,QAAA,WACA+P,GAAA4qJ,EAAA36J,UACAgjK,EAAA,MAIAyB,MAAA,WACA,OAAAA,GAAAa,GAAAv1J,IAAA,IAMA,SAAAvc,EAAA75C,EAAAC,EAAA2rN,GACA,IAAAtvF,EAAa2mF,EAASjjN,GACtB2U,EAAasuM,EAAShjN,GAItB4rN,EAAA,QACArjM,EAAa46L,EAAc9mF,EAAA3nH,GAC3Bm3M,EAAe3I,EAAY36L,KAC3BujM,EAAAvjM,EAAA,GACAm3K,EAAAmsB,EAAAC,IAGA,IAAApsB,EAAA,OAAAisB,GAAA5rN,EAEA,IAAAwe,EAAAq6H,EAAAizE,EAAAnsB,EACAlhL,GAAAo6H,EAAAkzE,EAAApsB,EACAqsB,EAAgB5I,EAAcyI,EAAArjM,GAC9Bqf,EAAYy7K,GAAcuI,EAAArtM,GAC1BspB,EAAYw7K,GAAc96L,EAAA/J,GACtB4kM,GAAmBx7K,EAAAC,GAGvB,IAAAhnC,EAAAkrN,EACAh+I,EAAYm1I,EAAYt7K,EAAA/mC,GACxByD,EAAa4+M,EAAYriN,KACzBqmM,EAAAn5H,IAAAzpE,GAA2B4+M,EAAYt7K,KAAA,GAEvC,KAAAs/J,EAAA,IAEA,IAAAtmM,EAAY4T,EAAI0yL,GAChB7xK,EAAYguL,GAAcxiN,IAAAktE,EAAAntE,GAAA0D,GAI1B,GAHI8+M,GAAmB/tL,EAAAuS,GACvBvS,EAAQytL,EAASztL,IAEjBs2L,EAAA,OAAAt2L,EAGA,IAIA8L,EAJA6jL,EAAAjlN,EAAA,GACAklN,EAAAjlN,EAAA,GACAqpN,EAAAtpN,EAAA,GACA2pN,EAAA1pN,EAAA,GAGAilN,EAAAD,IAAA7jL,EAAA6jL,IAAAC,IAAA9jL,GAEA,IAAA/b,EAAA6/L,EAAAD,EACAgH,EAAgB3mM,EAAGD,EAAS6kC,GAAMxuB,EAClCwwL,EAAAD,GAAA5mM,EAAoCqW,EAKpC,IAHAuwL,GAAAtC,EAAAL,IAAAloL,EAAAkoL,IAAAK,IAAAvoL,GAGA8qL,EACAD,EACA3C,EAAAK,EAAA,EAAAr0L,EAAA,IAAsChQ,EAAGgQ,EAAA,GAAA2vL,GAAmBvpL,EAAO4tL,EAAAK,GACnEL,GAAAh0L,EAAA,IAAAA,EAAA,IAAAq0L,EACAtkM,EAAkB6kC,GAAE+6J,GAAA3vL,EAAA,IAAAA,EAAA,IAAA4vL,GAAA,CACpB,IAAAxjI,EAAe4hI,GAAcxiN,IAAAktE,EAAAntE,GAAA0D,GAE7B,OADM8+M,GAAmB3hI,EAAA75C,GACzB,CAAAvS,EAAiBytL,EAASrhI,MAM1B,SAAAthF,EAAAmiN,EAAAC,GACA,IAAAvtM,EAAAw2M,EAAAr8M,EAAmC86C,EAAE96C,EACrChP,EAAA,EAKA,OAJAmiN,GAAAttM,EAAA7U,GAAA,EACAmiN,EAAAttM,IAAA7U,GAAA,GACAoiN,GAAAvtM,EAAA7U,GAAA,EACAoiN,EAAAvtM,IAAA7U,GAAA,GACAA,EAGA,OAASgqN,GAAI9nM,EAAAgoM,EAAAp3K,EAAAu4K,EAAA,IAAAr8M,GAAA,EAAgE86C,EAAE96C,EAAW86C,KCpL3EiiK,GAAA,SAAAnsN,EAAAC,EAAA8iD,EAAAvoB,EAAA7mB,EAAAC,GACf,IAQAqB,EARAisE,EAAAlhF,EAAA,GACAmhF,EAAAnhF,EAAA,GACAohF,EAAAnhF,EAAA,GACAohF,EAAAphF,EAAA,GACAkvF,EAAA,EACAk4G,EAAA,EACAprK,EAAAmlD,EAAAF,EACAhlD,EAAAmlD,EAAAF,EAIA,GADAlsE,EAAA8tC,EAAAm+B,EACAjlD,KAAAhnB,EAAA,IAEA,GADAA,GAAAgnB,EACAA,EAAA,GACA,GAAAhnB,EAAAk6E,EAAA,OACAl6E,EAAAoyL,MAAApyL,QACG,GAAAgnB,EAAA,GACH,GAAAhnB,EAAAoyL,EAAA,OACApyL,EAAAk6E,MAAAl6E,GAIA,GADAA,EAAAtB,EAAAutE,EACAjlD,KAAAhnB,EAAA,IAEA,GADAA,GAAAgnB,EACAA,EAAA,GACA,GAAAhnB,EAAAoyL,EAAA,OACApyL,EAAAk6E,MAAAl6E,QACG,GAAAgnB,EAAA,GACH,GAAAhnB,EAAAk6E,EAAA,OACAl6E,EAAAoyL,MAAApyL,GAIA,GADAA,EAAAulB,EAAA2mD,EACAjlD,KAAAjnB,EAAA,IAEA,GADAA,GAAAinB,EACAA,EAAA,GACA,GAAAjnB,EAAAk6E,EAAA,OACAl6E,EAAAoyL,MAAApyL,QACG,GAAAinB,EAAA,GACH,GAAAjnB,EAAAoyL,EAAA,OACApyL,EAAAk6E,MAAAl6E,GAIA,GADAA,EAAArB,EAAAutE,EACAjlD,KAAAjnB,EAAA,IAEA,GADAA,GAAAinB,EACAA,EAAA,GACA,GAAAjnB,EAAAoyL,EAAA,OACApyL,EAAAk6E,MAAAl6E,QACG,GAAAinB,EAAA,GACH,GAAAjnB,EAAAk6E,EAAA,OACAl6E,EAAAoyL,MAAApyL,GAKA,OAFAk6E,EAAA,IAAAnvF,EAAA,GAAAkhF,EAAAiO,EAAAlzD,EAAAj8B,EAAA,GAAAmhF,EAAAgO,EAAAjzD,GACAmrK,EAAA,IAAApnM,EAAA,GAAAihF,EAAAmmH,EAAAprK,EAAAh8B,EAAA,GAAAkhF,EAAAkmH,EAAAnrK,IACA,OCnDAkwL,GAAA,IAAAC,IAAAD,GAKe,SAAAE,GAAAvpK,EAAAvoB,EAAA7mB,EAAAC,GAEf,SAAA0O,EAAAzT,EAAAC,GACA,OAAAi0C,GAAAl0C,MAAA8E,GAAA6mB,GAAA1rB,MAAA8E,EAGA,SAAAs/B,EAAAr5B,EAAAC,EAAAmD,EAAA+jM,GACA,IAAAhhN,EAAA,EAAAmwD,EAAA,EACA,SAAAt2C,IACA7Z,EAAAy4I,EAAA5+H,EAAAoD,OAAAkzC,EAAAsoF,EAAA3+H,EAAAmD,KACAsvM,EAAA1yM,EAAAC,GAAA,EAAAmD,EAAA,EACA,GAAA+jM,EAAAj+M,MAAA,IAAA/C,GAAA,IAAAA,EAAA+iD,EAAApvC,EAAA3T,EAAA,EAAA4T,EAAA4mB,UACAx6B,KAAAid,EAAA,QAAAkzC,QAEA6wJ,EAAAj+M,MAAA+W,EAAA,GAAAA,EAAA,IAIA,SAAA2+H,EAAA78G,EAAA3e,GACA,OAAWqI,EAAGsW,EAAA,GAAAmnB,GAAcrnB,EAAOze,EAAA,MACzBqI,EAAGsW,EAAA,GAAAjoB,GAAc+nB,EAAOze,EAAA,MACxBqI,EAAGsW,EAAA,GAAApB,GAAckB,EAAOze,EAAA,MAClCA,EAAA,MAGA,SAAA4rM,EAAA7oN,EAAAC,GACA,OAAAssN,EAAAvsN,EAAA6O,EAAA5O,EAAA4O,GAGA,SAAA09M,EAAAvsN,EAAAC,GACA,IAAAusN,EAAA/zE,EAAAz4I,EAAA,GACAysN,EAAAh0E,EAAAx4I,EAAA,GACA,OAAAusN,IAAAC,EAAAD,EAAAC,EACA,IAAAD,EAAAvsN,EAAA,GAAAD,EAAA,GACA,IAAAwsN,EAAAxsN,EAAA,GAAAC,EAAA,GACA,IAAAusN,EAAAxsN,EAAA,GAAAC,EAAA,GACAA,EAAA,GAAAD,EAAA,GAGA,gBAAAghN,GACA,IAEAn7D,EACA1sH,EACAhiB,EACAu1M,EAAAC,EAAAC,EACAC,EAAAC,EAAAC,EACAvnJ,EACAslJ,EARAkC,EAAAhM,EACAiM,EAAuBruL,KASvBsuL,EAAA,CACAnqN,QACAqjD,YACAC,UACAk7J,eACAC,cAGA,SAAAz+M,EAAA8L,EAAAC,GACAwT,EAAAzT,EAAAC,IAAAk+M,EAAAjqN,MAAA8L,EAAAC,GAGA,SAAAq+M,IAGA,IAFA,IAAA/D,EAAA,EAEA/oN,EAAA,EAAAuB,EAAAu3B,EAAAt3B,OAAyCxB,EAAAuB,IAAOvB,EAChD,QAAAquE,EAAAve,EAAAh5C,EAAAgiB,EAAA94B,GAAAiC,EAAA,EAAA66B,EAAAhmB,EAAAtV,OAAAkB,EAAAoU,EAAA,GAAAi2M,EAAArqN,EAAA,GAAAstD,EAAAttD,EAAA,GAAkHT,EAAA66B,IAAO76B,EACzHosE,EAAA0+I,EAAAj9J,EAAAE,EAAAttD,EAAAoU,EAAA7U,GAAA8qN,EAAArqN,EAAA,GAAAstD,EAAAttD,EAAA,GACAotD,GAAAv8C,EAAyBy8C,EAAAz8C,IAAAw5M,EAAA1+I,IAAA96D,EAAAu8C,IAAAE,EAAAF,IAAApN,EAAA2rB,MAAA06I,EACT/4J,GAAAz8C,IAAAw5M,EAAA1+I,IAAA96D,EAAAu8C,IAAAE,EAAAF,IAAApN,EAAA2rB,MAAA06I,EAIhB,OAAAA,EAIA,SAAA7H,IACAyL,EAAAC,EAAApnE,EAAA,GAAA1sH,EAAA,GAAA2xL,GAAA,EAGA,SAAAtJ,IACA,IAAAsH,EAAAqE,IACAE,EAAAvC,GAAAhC,EACAxmM,GAAAujI,EAAgC1+H,GAAK0+H,IAAAhkJ,QACrCwrN,GAAA/qM,KACA0+L,EAAAO,eACA8L,IACArM,EAAA56J,YACAlT,EAAA,YAAA8tK,GACAA,EAAA36J,WAEA/jC,GACUkmM,GAAU3iE,EAAAgjE,EAAAC,EAAA51K,EAAA8tK,GAEpBA,EAAAQ,cAEAwL,EAAAhM,EAAAn7D,EAAA1sH,EAAAhiB,EAAA,KAGA,SAAAivC,IACA8mK,EAAAnqN,MAAAuqN,EACAn0L,KAAA74B,KAAA6W,EAAA,IACAquD,GAAA,EACAunJ,GAAA,EACAF,EAAAC,EAAA/nL,IAMA,SAAAshB,IACAw/F,IACAynE,EAAAZ,EAAAC,GACAC,GAAAG,GAAAE,EAAAzE,SACA3iE,EAAAvlJ,KAAA2sN,EAAA7tL,WAEA8tL,EAAAnqN,QACAgqN,GAAAC,EAAA3mK,UAGA,SAAAinK,EAAAz+M,EAAAC,GACA,IAAAtM,EAAA8f,EAAAzT,EAAAC,GAEA,GADAqqB,GAAAhiB,EAAA7W,KAAA,CAAAuO,EAAAC,IACA02D,EACAknJ,EAAA79M,EAAA89M,EAAA79M,EAAA89M,EAAApqN,EACAgjE,GAAA,EACAhjE,IACAwqN,EAAA5mK,YACA4mK,EAAAjqN,MAAA8L,EAAAC,SAGA,GAAAtM,GAAAuqN,EAAAC,EAAAjqN,MAAA8L,EAAAC,OACA,CACA,IAAA9O,EAAA,CAAA6sN,EAAAppN,KAAA0K,IAAAk+M,GAAA5oN,KAAAyiC,IAAAkmL,GAAAS,IAAAC,EAAArpN,KAAA0K,IAAAk+M,GAAA5oN,KAAAyiC,IAAAkmL,GAAAU,KACA7sN,EAAA,CAAA4O,EAAApL,KAAA0K,IAAAk+M,GAAA5oN,KAAAyiC,IAAAkmL,GAAAv9M,IAAAC,EAAArL,KAAA0K,IAAAk+M,GAAA5oN,KAAAyiC,IAAAkmL,GAAAt9M,KACcq9M,GAAQnsN,EAAAC,EAAA8iD,EAAAvoB,EAAA7mB,EAAAC,IACtBm5M,IACAC,EAAA5mK,YACA4mK,EAAAjqN,MAAA/C,EAAA,GAAAA,EAAA,KAEAgtN,EAAAjqN,MAAA9C,EAAA,GAAAA,EAAA,IACAuC,GAAAwqN,EAAA3mK,UACAykK,GAAA,GACWtoN,IACXwqN,EAAA5mK,YACA4mK,EAAAjqN,MAAA8L,EAAAC,GACAg8M,GAAA,GAIA+B,EAAAh+M,EAAAi+M,EAAAh+M,EAAAi+M,EAAAvqN,EAGA,OAAA0qN,GCnKe,ICIXK,GACAC,GACAC,GDNWC,GAAA,WACf,IAIAvwI,EACAwwI,EACArgJ,EANAvqB,EAAA,EACAvoB,EAAA,EACA7mB,EAAA,IACAC,EAAA,IAKA,OAAA05D,EAAA,CACA0zI,OAAA,SAAAA,GACA,OAAA7jI,GAAAwwI,IAAA3M,EAAA7jI,IAA+DmvI,GAAavpK,EAAAvoB,EAAA7mB,EAAAC,EAAb04M,CAAaqB,EAAA3M,IAE5Eh8L,OAAA,SAAA2wG,GACA,OAAArmF,UAAAztC,QAAAkhD,GAAA4yE,EAAA,MAAAn7F,GAAAm7F,EAAA,MAAAhiH,GAAAgiH,EAAA,MAAA/hH,GAAA+hH,EAAA,MAAAx4C,EAAAwwI,EAAA,KAAArgJ,GAAA,EAAAvqB,EAAAvoB,GAAA,CAAA7mB,EAAAC,OCXAg6M,GAAgBxN,IAKhByN,GAAA,CACAzM,OAAUr6M,EACVhE,MAASgE,EACTq/C,UAAA0nK,GACAznK,QAAWt/C,EACXw6M,aAAgBx6M,EAChBy6M,WAAcz6M,GAGd,SAAA+mN,KACAD,GAAA9qN,MAAAgrN,GACAF,GAAAxnK,QAAA2nK,GAGA,SAAAA,KACAH,GAAA9qN,MAAA8qN,GAAAxnK,QAA8Ct/C,EAG9C,SAAAgnN,GAAAxL,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC1B+/G,GAAOhL,EAAWiL,GAAU3kM,EAAG25L,GAAOiL,GAAU9kM,EAAG65L,GACrDqL,GAAA9qN,MAAAkrN,GAGA,SAAAA,GAAA1L,EAAAC,GACAD,GAAY/0G,EAAOg1G,GAASh1G,EAC5B,IAAAq1G,EAAeh6L,EAAG25L,GAClBI,EAAej6L,EAAG65L,GAClBn9L,EAAcC,EAAGi9L,EAAUgL,IAC3BW,EAAiBvlM,EAAGtD,GACpB8oM,EAAiBtlM,EAAGxD,GACpBxW,EAAA+zM,EAAAuL,EACAr/M,EAAU2+M,GAAO5K,EAAY2K,GAAO5K,EAAAsL,EACpC9sL,EAAUosL,GAAO3K,EAAY4K,GAAO7K,EAAAsL,EACpCN,GAAA1pK,IAAgBzI,EAAMhnC,EAAI5F,IAAAC,KAAAsyB,IACxBmsL,GAAOhL,EAAWiL,GAAO3K,EAAW4K,GAAO7K,EAG9B,IAAAwL,GAAA,SAAA7+K,GAGf,OAFAq+K,GAAAnrL,QACEq/K,EAAMvyK,EAAAs+K,KACRD,ICjDIS,GAAW,YACXC,GAAM,CAAI1oN,KAAA,aAAAP,YAAiCgpN,IAEhCj7M,GAAA,SAAApT,EAAAC,GAGf,OAFEouN,GAAW,GAAAruN,EACXquN,GAAW,GAAApuN,EACJmuN,GAAOE,KCJhBC,GAAA,CACAxgK,QAAA,SAAAxe,EAAAxsC,GACA,OAAAyrN,GAAAj/K,EAAAhqC,SAAAxC,IAEAw4K,kBAAA,SAAAhsI,EAAAxsC,GACA,IAAAmD,EAAAqpC,EAAArpC,SAAA7F,GAAA,EAAAuB,EAAAsE,EAAArE,OACA,QAAAxB,EAAAuB,EAAA,GAAA4sN,GAAAtoN,EAAA7F,GAAAkF,SAAAxC,GAAA,SACA,WAIA0rN,GAAA,CACAtN,OAAA,WACA,UAEA3+K,MAAA,SAAA+M,EAAAxsC,GACA,OAAAwkK,GAAAh4H,EAAAlqC,YAAAtC,IAEAqgD,WAAA,SAAA7T,EAAAxsC,GACA,IAAAsC,EAAAkqC,EAAAlqC,YAAAhF,GAAA,EAAAuB,EAAAyD,EAAAxD,OACA,QAAAxB,EAAAuB,EAAA,GAAA2lK,GAAAliK,EAAAhF,GAAA0C,GAAA,SACA,UAEAsgD,WAAA,SAAA9T,EAAAxsC,GACA,OAAA2rN,GAAAn/K,EAAAlqC,YAAAtC,IAEAygD,gBAAA,SAAAjU,EAAAxsC,GACA,IAAAsC,EAAAkqC,EAAAlqC,YAAAhF,GAAA,EAAAuB,EAAAyD,EAAAxD,OACA,QAAAxB,EAAAuB,EAAA,GAAA8sN,GAAArpN,EAAAhF,GAAA0C,GAAA,SACA,UAEA0gD,QAAA,SAAAlU,EAAAxsC,GACA,OAAA4rN,GAAAp/K,EAAAlqC,YAAAtC,IAEA2gD,aAAA,SAAAnU,EAAAxsC,GACA,IAAAsC,EAAAkqC,EAAAlqC,YAAAhF,GAAA,EAAAuB,EAAAyD,EAAAxD,OACA,QAAAxB,EAAAuB,EAAA,GAAA+sN,GAAAtpN,EAAAhF,GAAA0C,GAAA,SACA,UAEAmgD,mBAAA,SAAA3T,EAAAxsC,GACA,IAAAuD,EAAAipC,EAAAjpC,WAAAjG,GAAA,EAAAuB,EAAA0E,EAAAzE,OACA,QAAAxB,EAAAuB,EAAA,GAAA4sN,GAAAloN,EAAAjG,GAAA0C,GAAA,SACA,WAIA,SAAAyrN,GAAAjpN,EAAAxC,GACA,SAAAwC,IAAAkpN,GAAAhxM,eAAAlY,EAAAK,QACA6oN,GAAAlpN,EAAAK,MAAAL,EAAAxC,GAIA,SAAAwkK,GAAAliK,EAAAtC,GACA,OAAiB,IAARqQ,GAAQ/N,EAAAtC,GAGjB,SAAA2rN,GAAArpN,EAAAtC,GACA,IAAAyR,EAAWpB,GAAQ/N,EAAA,GAAAA,EAAA,IACnBwwJ,EAAWziJ,GAAQ/N,EAAA,GAAAtC,GACnB6rN,EAAWx7M,GAAQrQ,EAAAsC,EAAA,IACnB,OAAAwwJ,EAAA+4D,GAAAp6M,EAAyBknB,EAGzB,SAAAizL,GAAAtpN,EAAAtC,GACA,QAAWomN,GAAe9jN,EAAAwD,IAAAgmN,IAAAC,GAAA/rN,IAG1B,SAAA8rN,GAAA13M,GACA,OAAAA,IAAAtO,IAAAimN,IAAA33M,EAAAlU,MAAAkU,EAGA,SAAA23M,GAAA/rN,GACA,OAAAA,EAAA,GAAqByqG,EAAOzqG,EAAA,GAAayqG,GAG1B,IAAAo7C,GAAA,SAAAr5G,EAAAxsC,GACf,OAAAwsC,GAAAg/K,GAAA9wM,eAAA8xB,EAAA3pC,MACA2oN,GAAAh/K,EAAA3pC,MACA4oN,IAAAj/K,EAAAxsC,IC/EA,SAAAgsN,GAAAv0L,EAAA5mB,EAAAsoB,GACA,IAAAptB,EAAUo7M,GAAK1vL,EAAA5mB,EAAU8nB,EAAOQ,GAAA9nB,OAAAR,GAChC,gBAAA/E,GAAsB,OAAAC,EAAAjG,IAAA,SAAAiG,GAA2B,OAAAD,EAAAC,MAGjD,SAAAkgN,GAAAjsK,EAAApvC,EAAAsoB,GACA,IAAAptB,EAAUq7M,GAAKnnK,EAAApvC,EAAU+nB,EAAOO,GAAA7nB,OAAAT,GAChC,gBAAA7E,GAAsB,OAAAD,EAAAhG,IAAA,SAAAgG,GAA2B,OAAAA,EAAAC,MAGlC,SAASmgN,KACxB,IAAAt7M,EAAAovC,EAAAmsK,EAAAC,EACAv7M,EAAA4mB,EAAA40L,EAAAC,EAEAxgN,EAAAC,EAAAyc,EAAAwqG,EADA95F,EAAA,GAAAC,EAAAD,EAAAqzL,EAAA,GAAAC,EAAA,IAEAvyM,EAAA,IAEA,SAAAwyM,IACA,OAAY5pN,KAAA,kBAAAP,YAAAqgD,KAGZ,SAAAA,IACA,OAAWwkK,GAAMrsL,EAAIsxL,EAAAG,KAAAJ,EAAAI,GAAAzmN,IAAA0iB,GACrBnX,OAAgB81M,GAAMrsL,EAAIwxL,EAAAE,KAAAH,EAAAG,GAAA1mN,IAAAktH,IAC1B3hH,OAAgB81M,GAAMrsL,EAAIklB,EAAA9mB,KAAAtoB,EAAAsoB,GAAA76B,OAAA,SAAAyN,GAA4C,OAAQyW,EAAGzW,EAAAygN,GAAW5zL,IAAU7yB,IAAAgG,IACtGuF,OAAgB81M,GAAMrsL,EAAIrD,EAAA0B,KAAAtoB,EAAAsoB,GAAA96B,OAAA,SAAA0N,GAA4C,OAAQwW,EAAGxW,EAAAygN,GAAW7zL,IAAU7yB,IAAAiG,IAqEtG,OAlEA0gN,EAAA9pK,MAAA,WACA,OAAAA,IAAA78C,IAAA,SAAAxD,GAA8C,OAASO,KAAA,aAAAP,kBAGvDmqN,EAAA//J,QAAA,WACA,OACA7pD,KAAA,UACAP,YAAA,CACAkmB,EAAA4jM,GAAA/6M,OACA2hH,EAAAq5F,GAAAptN,MAAA,GACAupB,EAAA2jM,GAAAvnN,UAAA3F,MAAA,GACA+zH,EAAAs5F,GAAA1nN,UAAA3F,MAAA,OAKAwtN,EAAAxqM,OAAA,SAAA2wG,GACA,OAAArmF,UAAAztC,OACA2tN,EAAAC,YAAA95F,GAAA+5F,YAAA/5F,GADA65F,EAAAE,eAIAF,EAAAC,YAAA,SAAA95F,GACA,OAAArmF,UAAAztC,QACAstN,GAAAx5F,EAAA,MAAAu5F,GAAAv5F,EAAA,MACA05F,GAAA15F,EAAA,MAAAy5F,GAAAz5F,EAAA,MACAw5F,EAAAD,IAAAv5F,EAAAw5F,IAAAD,IAAAv5F,GACA05F,EAAAD,IAAAz5F,EAAA05F,IAAAD,IAAAz5F,GACA65F,EAAAxyM,cALA,EAAAmyM,EAAAE,GAAA,CAAAH,EAAAE,KAQAI,EAAAE,YAAA,SAAA/5F,GACA,OAAArmF,UAAAztC,QACAkhD,GAAA4yE,EAAA,MAAAhiH,GAAAgiH,EAAA,MACAn7F,GAAAm7F,EAAA,MAAA/hH,GAAA+hH,EAAA,MACA5yE,EAAApvC,IAAAgiH,EAAA5yE,IAAApvC,IAAAgiH,GACAn7F,EAAA5mB,IAAA+hH,EAAAn7F,IAAA5mB,IAAA+hH,GACA65F,EAAAxyM,cALA,EAAA+lC,EAAAvoB,GAAA,CAAA7mB,EAAAC,KAQA47M,EAAAzoB,KAAA,SAAApxE,GACA,OAAArmF,UAAAztC,OACA2tN,EAAAG,UAAAh6F,GAAAi6F,UAAAj6F,GADA65F,EAAAI,aAIAJ,EAAAG,UAAA,SAAAh6F,GACA,OAAArmF,UAAAztC,QACAytN,GAAA35F,EAAA,GAAA45F,GAAA55F,EAAA,GACA65F,GAFA,CAAAF,EAAAC,IAKAC,EAAAI,UAAA,SAAAj6F,GACA,OAAArmF,UAAAztC,QACAo6B,GAAA05F,EAAA,GAAAz5F,GAAAy5F,EAAA,GACA65F,GAFA,CAAAvzL,EAAAC,IAKAszL,EAAAxyM,UAAA,SAAA24G,GACA,OAAArmF,UAAAztC,QACAmb,GAAA24G,EACA9mH,EAAAkgN,GAAAv0L,EAAA5mB,EAAA,IACA9E,EAAAkgN,GAAAjsK,EAAApvC,EAAAqJ,GACAuO,EAAAwjM,GAAAM,EAAAD,EAAA,IACAr5F,EAAAi5F,GAAAG,EAAAD,EAAAlyM,GACAwyM,GANAxyM,GASAwyM,EACAC,YAAA,WAAiC/zL,GAAO,QAAcA,KACtDg0L,YAAA,WAAiCh0L,GAAO,QAAcA,KAG/C,SAAAm0L,KACP,OAASZ,OCrGM,ICIXa,GACAC,GACAC,GACAC,GDPWC,GAAA,SAAAlwN,EAAAC,GACf,IAAA8iD,EAAA/iD,EAAA,GAAkBwtG,EAClBhzE,EAAAx6B,EAAA,GAAkBwtG,EAClB75F,EAAA1T,EAAA,GAAkButG,EAClB55F,EAAA3T,EAAA,GAAkButG,EAClB2iH,EAAYxnM,EAAG6R,GACf41L,EAAYvnM,EAAG2R,GACf61L,EAAY1nM,EAAG/U,GACf08M,EAAYznM,EAAGjV,GACf28M,EAAAJ,EAAkBxnM,EAAGo6B,GACrBytK,EAAAL,EAAkBtnM,EAAGk6B,GACrB0tK,EAAAJ,EAAkB1nM,EAAGhV,GACrB+8M,EAAAL,EAAkBxnM,EAAGlV,GACrBxT,EAAA,EAAcwxD,EAAKl9C,EAAKqsM,EAAQltM,EAAA4mB,GAAA21L,EAAAE,EAAwBvP,EAAQntM,EAAAovC,KAChEtgD,EAAUomB,EAAG1oB,GAEb+yC,EAAA/yC,EAAA,SAAAU,GACA,IAAAinC,EAAYjf,EAAGhoB,GAAAV,GAAAsC,EACfolC,EAAYhf,EAAG1oB,EAAAU,GAAA4B,EACfoM,EAAAg5B,EAAA0oL,EAAAzoL,EAAA2oL,EACA3hN,EAAA+4B,EAAA2oL,EAAA1oL,EAAA4oL,EACAtvL,EAAAyG,EAAAuoL,EAAAtoL,EAAAwoL,EACA,OACM70K,EAAK3sC,EAAAD,GAASm2L,EACdvpJ,EAAKra,EAAI3sB,EAAI5F,IAAAC,MAAmBk2L,IAEnC,WACH,OAAAjiJ,EAAiBiiJ,EAAOxqK,EAAOwqK,IAK/B,OAFA9xJ,EAAA9/B,SAAAjT,EAEA+yC,GElCey9K,GAAA,SAAA9hN,GACf,OAAAA,GDGI+hN,GAAUxQ,IACVyQ,GAAczQ,IAMd0Q,GAAU,CACd/tN,MAASgE,EACTq/C,UAAar/C,EACbs/C,QAAWt/C,EACXw6M,aAAA,WACIuP,GAAU1qK,UAAa2qK,GACvBD,GAAUzqK,QAAW2qK,IAEzBxP,WAAA,WACIsP,GAAU1qK,UAAa0qK,GAAUzqK,QAAWyqK,GAAU/tN,MAASgE,EAC/D6pN,GAAO1sK,IAAK5+B,EAAIurM,KAChBA,GAAWpuL,SAEfrD,OAAA,WACA,IAAA2G,EAAe6qL,GAAO,EAEtB,OADIA,GAAOnuL,QACXsD,IAIA,SAASgrL,KACPD,GAAU/tN,MAASkuN,GAGrB,SAASA,GAAcpiN,EAAAC,GACrBgiN,GAAU/tN,MAASmuN,GACnBpB,GAAME,GAAEnhN,EAAMkhN,GAAME,GAAEnhN,EAGxB,SAASoiN,GAASriN,EAAAC,GAChB+hN,GAAW3sK,IAAK+rK,GAAEphN,EAAOmhN,GAAElhN,GAC3BkhN,GAAEnhN,EAAMohN,GAAEnhN,EAGZ,SAASkiN,KACPE,GAAUpB,GAAKC,IAGF,IAAAoB,GAAA,GE/CXC,GAAE98M,IACF+8M,GAAKD,GACLE,IAAMF,GACNG,GAAKD,GAELE,GAAY,CAChBzuN,MAAS0uN,GACTrrK,UAAar/C,EACbs/C,QAAWt/C,EACXw6M,aAAgBx6M,EAChBy6M,WAAcz6M,EACdq4B,OAAA,WACA,IAAAyjB,EAAA,EAAmBuuK,GAAIC,IAAE,CAAIC,GAAIC,KAEjC,OADID,GAAKC,KAAOF,GAAKD,GAAE98M,KACvBuuC,IAIA,SAAS4uK,GAAW5iN,EAAAC,GACpBD,EAAUuiN,KAAIA,GAAEviN,GAChBA,EAAUyiN,KAAIA,GAAEziN,GAChBC,EAAUuiN,KAAIA,GAAEviN,GAChBA,EAAUyiN,KAAIA,GAAEziN,GAGD,ICdX4iN,GACAC,GACAC,GACAC,GDWWC,GAAA,GCvBXC,GAAE,EACFC,GAAE,EACFC,GAAE,EACFC,GAAE,EACFC,GAAE,EACFC,GAAE,EACFC,GAAE,EACFC,GAAE,EACFC,GAAE,EAMFC,GAAc,CAClBzvN,MAAS0vN,GACTrsK,UAAassK,GACbrsK,QAAWssK,GACXpR,aAAA,WACIiR,GAAcpsK,UAAawsK,GAC3BJ,GAAcnsK,QAAWwsK,IAE7BrR,WAAA,WACIgR,GAAczvN,MAAS0vN,GACvBD,GAAcpsK,UAAassK,GAC3BF,GAAcnsK,QAAWssK,IAE7BvzL,OAAA,WACA,IAAAjsB,EAAmBo/M,GAAE,CAAIF,GAAKE,GAAID,GAAKC,IAC7BH,GAAE,CAAIF,GAAKE,GAAID,GAAKC,IACpBH,GAAE,CAAIF,GAAKE,GAAID,GAAKC,IAC9B,CAAAltL,SAIA,OAHIgtL,GAAKC,GAAKC,GACVC,GAAKC,GAAKC,GACVC,GAAKC,GAAKC,GAAE,EAChBp/M,IAIA,SAASs/M,GAAa5jN,EAAAC,GACpBijN,IAAEljN,EACFmjN,IAAEljN,IACAmjN,GAGJ,SAASS,KACPF,GAAczvN,MAAA+vN,GAGhB,SAAAA,GAAAjkN,EAAAC,GACE0jN,GAAczvN,MAAAgwN,GACdN,GAAcb,GAAE/iN,EAAMgjN,GAAE/iN,GAG1B,SAAAikN,GAAAlkN,EAAAC,GACA,IAAAmtB,EAAAptB,EAAe+iN,GAAE11L,EAAAptB,EAAW+iN,GAAEzwL,EAAM3sB,EAAIwnB,IAAAC,KACtCg2L,IAAE9wL,GAASwwL,GAAE/iN,GAAA,EACbsjN,IAAE/wL,GAASywL,GAAE/iN,GAAA,EACbsjN,IAAEhxL,EACFqxL,GAAcb,GAAE/iN,EAAMgjN,GAAE/iN,GAG1B,SAAS6jN,KACPH,GAAczvN,MAAS0vN,GAGzB,SAASG,KACPJ,GAAczvN,MAAAiwN,GAGhB,SAASH,KACTI,GAAoBvB,GAAKC,IAGzB,SAAAqB,GAAAnkN,EAAAC,GACE0jN,GAAczvN,MAAAkwN,GACdR,GAAcf,GAAME,GAAE/iN,EAAM8iN,GAAME,GAAE/iN,GAGtC,SAAAmkN,GAAApkN,EAAAC,GACA,IAAAmtB,EAAAptB,EAAe+iN,GACf11L,EAAAptB,EAAe+iN,GACfzwL,EAAU3sB,EAAIwnB,IAAAC,KAEZg2L,IAAE9wL,GAASwwL,GAAE/iN,GAAA,EACbsjN,IAAE/wL,GAASywL,GAAE/iN,GAAA,EACbsjN,IAAEhxL,EAEJA,EAAMywL,GAAEhjN,EAAO+iN,GAAE9iN,EACfujN,IAAEjxL,GAASwwL,GAAE/iN,GACbyjN,IAAElxL,GAASywL,GAAE/iN,GACbyjN,IAAE,EAAAnxL,EACFqxL,GAAcb,GAAE/iN,EAAMgjN,GAAE/iN,GAGX,IAAAokN,GAAA,GChGA,SAAAC,GAAA99M,GACf3V,KAAA4mF,SAAAjxE,EAGA89M,GAAAxyN,UAAA,CACAyyN,QAAA,IACAzuL,YAAA,SAAAgxF,GACA,OAAAj2H,KAAA0zN,QAAAz9F,EAAAj2H,MAEA6hN,aAAA,WACA7hN,KAAA2zN,MAAA,GAEA7R,WAAA,WACA9hN,KAAA2zN,MAAAtuL,KAEAqhB,UAAA,WACA1mD,KAAA4zN,OAAA,GAEAjtK,QAAA,WACA,IAAA3mD,KAAA2zN,OAAA3zN,KAAA4mF,SAAAzZ,YACAntE,KAAA4zN,OAAAvuL,KAEAhiC,MAAA,SAAA8L,EAAAC,GACA,OAAApP,KAAA4zN,QACA,OACA5zN,KAAA4mF,SAAAn2E,OAAAtB,EAAAC,GACApP,KAAA4zN,OAAA,EACA,MAEA,OACA5zN,KAAA4mF,SAAAl2E,OAAAvB,EAAAC,GACA,MAEA,QACApP,KAAA4mF,SAAAn2E,OAAAtB,EAAAnP,KAAA0zN,QAAAtkN,GACApP,KAAA4mF,SAAA3+B,IAAA94C,EAAAC,EAAApP,KAAA0zN,QAAA,EAAiDzS,GACjD,QAIAvhL,OAAUr4B,GCvCV,IACAwsN,GACIC,GACAC,GACAC,GACAC,GALAC,GAAYxT,IAOZyT,GAAY,CAChB9wN,MAASgE,EACTq/C,UAAA,WACIytK,GAAY9wN,MAAS+wN,IAEzBztK,QAAA,WACAktK,IAAoBQ,GAAYP,GAAKC,IACjCI,GAAY9wN,MAASgE,GAEzBw6M,aAAA,WACAgS,IAAA,GAEA/R,WAAA,WACA+R,GAAA,MAEAn0L,OAAA,WACA,IAAAv9B,GAAkB+xN,GAElB,OADIA,GAASnxL,QACb5gC,IAIA,SAASiyN,GAAgBjlN,EAAAC,GACvB+kN,GAAY9wN,MAASgxN,GACrBP,GAAME,GAAE7kN,EAAM4kN,GAAME,GAAE7kN,EAGxB,SAASilN,GAAWllN,EAAAC,GAClB4kN,IAAE7kN,EAAO8kN,IAAE7kN,EACX8kN,GAAS1vK,IAAKzvC,EAAKi/M,GAAKA,GAAKC,GAAKA,KAClCD,GAAE7kN,EAAM8kN,GAAE7kN,EAGG,IAAAklN,GAAA,GC5CA,SAAAC,KACfv0N,KAAAw0N,QAAA,GAoDA,SAASC,GAAM/kN,GACf,YAAAA,EACA,IAAAA,EAAA,IAAAA,EAAA,eAAAA,EACA,IAAAA,EAAA,IAAAA,EAAA,cAAAA,EACA,IArDA6kN,GAAAtzN,UAAA,CACAyyN,QAAA,IACAgB,QAAWD,GAAM,KACjBxvL,YAAA,SAAAgxF,GAEA,OADAA,QAAAj2H,KAAA0zN,UAAA1zN,KAAA0zN,QAAAz9F,EAAAj2H,KAAA00N,QAAA,MACA10N,MAEA6hN,aAAA,WACA7hN,KAAA2zN,MAAA,GAEA7R,WAAA,WACA9hN,KAAA2zN,MAAAtuL,KAEAqhB,UAAA,WACA1mD,KAAA4zN,OAAA,GAEAjtK,QAAA,WACA,IAAA3mD,KAAA2zN,OAAA3zN,KAAAw0N,QAAA5zN,KAAA,KACAZ,KAAA4zN,OAAAvuL,KAEAhiC,MAAA,SAAA8L,EAAAC,GACA,OAAApP,KAAA4zN,QACA,OACA5zN,KAAAw0N,QAAA5zN,KAAA,IAAAuO,EAAA,IAAAC,GACApP,KAAA4zN,OAAA,EACA,MAEA,OACA5zN,KAAAw0N,QAAA5zN,KAAA,IAAAuO,EAAA,IAAAC,GACA,MAEA,QACA,MAAApP,KAAA00N,UAAA10N,KAAA00N,QAAiDD,GAAMz0N,KAAA0zN,UACvD1zN,KAAAw0N,QAAA5zN,KAAA,IAAAuO,EAAA,IAAAC,EAAApP,KAAA00N,SACA,QAIAh1L,OAAA,WACA,GAAA1/B,KAAAw0N,QAAAryN,OAAA,CACA,IAAAu9B,EAAA1/B,KAAAw0N,QAAAzzN,KAAA,IAEA,OADAf,KAAAw0N,QAAA,GACA90L,EAEA,cCvCe,IAAAi1L,GAAA,SAAA91L,EAAAlpB,GACf,IACAi/M,EACAC,EAFA5vL,EAAA,IAIA,SAAA5kB,EAAAwvB,GAKA,OAJAA,IACA,oBAAA5K,GAAA4vL,EAAA5vL,eAAA1iC,MAAAvC,KAAA4vC,YACMwyK,EAAMvyK,EAAA+kL,EAAAC,KAEZA,EAAAn1L,SAwCA,OArCArf,EAAAgmB,KAAA,SAAAwJ,GAEA,OADIuyK,EAAMvyK,EAAA+kL,EAA0BnD,KACzBA,GAAQ/xL,UAGnBrf,EAAAi0M,QAAA,SAAAzkL,GAEA,OADIuyK,EAAMvyK,EAAA+kL,EAA0BN,KACzBA,GAAW50L,UAGtBrf,EAAA8iC,OAAA,SAAAtT,GAEA,OADIuyK,EAAMvyK,EAAA+kL,EAA0BxC,KACzBA,GAAU1yL,UAGrBrf,EAAA5M,SAAA,SAAAo8B,GAEA,OADIuyK,EAAMvyK,EAAA+kL,EAA0BpB,KACzBA,GAAY9zL,UAGvBrf,EAAAwe,WAAA,SAAAo3F,GACA,OAAArmF,UAAAztC,QAAAyyN,EAAA,MAAA3+F,GAAAp3F,EAAA,KAAkFoyL,KAAQpyL,EAAAo3F,GAAAqrF,OAAAjhM,GAAAwe,GAG1Fxe,EAAA1K,QAAA,SAAAsgH,GACA,OAAArmF,UAAAztC,QACA0yN,EAAA,MAAA5+F,GAAAtgH,EAAA,SAAqD4+M,IAAU,IAAQd,GAAW99M,EAAAsgH,GAClF,oBAAAhxF,GAAA4vL,EAAA5vL,eACA5kB,GAHA1K,GAMA0K,EAAA4kB,YAAA,SAAAgxF,GACA,OAAArmF,UAAAztC,QACA8iC,EAAA,oBAAAgxF,KAAA4+F,EAAA5vL,aAAAgxF,OACA51G,GAFA4kB,GAKA5kB,EAAAwe,cAAAlpB,YC3Dem/M,GAAA,SAAAvgM,GACf,OACA+sL,OAAAyT,GAAAxgM,KAIO,SAAAwgM,GAAAxgM,GACP,gBAAA+sL,GACA,IAAA9jL,EAAA,IAAAw3L,GACA,QAAAh8M,KAAAub,EAAAiJ,EAAAxkB,GAAAub,EAAAvb,GAEA,OADAwkB,EAAA8jL,SACA9jL,GAIA,SAAAw3L,MCZA,SAAArpN,GAAAkzB,EAAAo2L,EAAAplL,GACA,IAAA+9B,EAAA/uC,EAAAq2L,YAAAr2L,EAAAq2L,aAMA,OALAr2L,EAAAnJ,MAAA,KAAAs1B,UAAA,OACA,MAAA4iB,GAAA/uC,EAAAq2L,WAAA,MACE9S,EAASvyK,EAAAhR,EAAAyiL,OAA2B8Q,KACtC6C,EAAY7C,GAAY1yL,UACxB,MAAAkuC,GAAA/uC,EAAAq2L,WAAAtnJ,GACA/uC,EAGO,SAAAs2L,GAAAt2L,EAAAvZ,EAAAuqB,GACP,OAAAlkC,GAAAkzB,EAAA,SAAAt+B,GACA,IAAA+tE,EAAAhpD,EAAA,MAAAA,EAAA,MACAoY,EAAApY,EAAA,MAAAA,EAAA,MACAviB,EAAAgB,KAAAyiC,IAAA8nC,GAAA/tE,EAAA,MAAAA,EAAA,OAAAm9B,GAAAn9B,EAAA,MAAAA,EAAA,QACA4O,GAAAmW,EAAA,OAAAgpD,EAAAvrE,GAAAxC,EAAA,MAAAA,EAAA,UACA6O,GAAAkW,EAAA,OAAAoY,EAAA36B,GAAAxC,EAAA,MAAAA,EAAA,UACAs+B,EAAAnJ,MAAA,IAAA3yB,GAAAioD,UAAA,CAAA77C,EAAAC,KACGygC,GAGI,SAAAulL,GAAAv2L,EAAA1pB,EAAA06B,GACP,OAAAslL,GAAAt2L,EAAA,OAAA1pB,GAAA06B,GAGO,SAAAwlL,GAAAx2L,EAAA7yB,EAAA6jC,GACP,OAAAlkC,GAAAkzB,EAAA,SAAAt+B,GACA,IAAA+tE,GAAAtiE,EACAjJ,EAAAurE,GAAA/tE,EAAA,MAAAA,EAAA,OACA4O,GAAAm/D,EAAAvrE,GAAAxC,EAAA,MAAAA,EAAA,UACA6O,GAAArM,EAAAxC,EAAA,MACAs+B,EAAAnJ,MAAA,IAAA3yB,GAAAioD,UAAA,CAAA77C,EAAAC,KACGygC,GAGI,SAAAylL,GAAAz2L,EAAA1yB,EAAA0jC,GACP,OAAAlkC,GAAAkzB,EAAA,SAAAt+B,GACA,IAAAm9B,GAAAvxB,EACApJ,EAAA26B,GAAAn9B,EAAA,MAAAA,EAAA,OACA4O,GAAApM,EAAAxC,EAAA,MACA6O,GAAAsuB,EAAA36B,GAAAxC,EAAA,MAAAA,EAAA,UACAs+B,EAAAnJ,MAAA,IAAA3yB,GAAAioD,UAAA,CAAA77C,EAAAC,KACGygC,GD5BHmlL,GAAA/zN,UAAA,CACA4iB,YAAAmxM,GACA3xN,MAAA,SAAA8L,EAAAC,GAAyBpP,KAAAshN,OAAAj+M,MAAA8L,EAAAC,IACzBsyM,OAAA,WAAsB1hN,KAAAshN,OAAAI,UACtBh7J,UAAA,WAAyB1mD,KAAAshN,OAAA56J,aACzBC,QAAA,WAAuB3mD,KAAAshN,OAAA36J,WACvBk7J,aAAA,WAA4B7hN,KAAAshN,OAAAO,gBAC5BC,WAAA,WAA0B9hN,KAAAshN,OAAAQ,eEpB1B,IAAAyT,GAAA,GACAC,GAAqBvsM,EAAG,GAAM6kF,GAEf2nH,GAAA,SAAAh8D,EAAAi8D,GACf,OAAAA,EAAmBC,GAAQl8D,EAAAi8D,GAAAE,GAAAn8D,IAG3B,SAAAm8D,GAAAn8D,GACA,OAASs7D,GAAW,CACpB1xN,MAAA,SAAA8L,EAAAC,GACAD,EAAAsqJ,EAAAtqJ,EAAAC,GACApP,KAAAshN,OAAAj+M,MAAA8L,EAAA,GAAAA,EAAA,OAKA,SAASwmN,GAAQl8D,EAAAi8D,GAEjB,SAAAG,EAAAxyK,EAAAvoB,EAAAyqL,EAAAv2I,EAAA0+I,EAAA95K,EAAA3/B,EAAAC,EAAAsxM,EAAA/0J,EAAAE,EAAA7xC,EAAAspH,EAAAk5E,GACA,IAAA/kL,EAAAtoB,EAAAovC,EACA7mB,EAAAtoB,EAAA4mB,EACAwC,EAAAf,IAAAC,IACA,GAAAc,EAAA,EAAAo4L,GAAAttF,IAAA,CACA,IAAA9nI,EAAA0uE,EAAAve,EACAlwD,EAAAmtN,EAAA/8J,EACAhvD,EAAAiyC,EAAA90B,EACA2e,EAAc1oB,EAAIzU,IAAAC,IAAAoB,KAClBm0N,EAAiB7jK,EAAItwD,GAAA87B,GACrBs4L,EAAoBnwM,EAAIA,EAAGjkB,GAAA,GAAWq6B,GAAWpW,EAAG2/L,EAAAC,GAAsBxpL,GAAOupL,EAAAC,GAAA,EAA6BzpK,EAAKx7C,EAAAD,GACnH47B,EAAAu9H,EAAAs8D,EAAAD,GACA3hN,EAAA+nB,EAAA,GACA9nB,EAAA8nB,EAAA,GACA85L,EAAA7hN,EAAAkvC,EACA4yK,EAAA7hN,EAAA0mB,EACAmsK,EAAAzqK,EAAAw5L,EAAAz5L,EAAA05L,GACAhvB,IAAA3pK,EAAAo4L,GACa9vM,GAAG2W,EAAAy5L,EAAAx5L,EAAAy5L,GAAA34L,EAAA,QAChB0xC,EAAAve,EAAAi9J,EAAA/8J,EAAA/c,EAAA90B,EAAA02M,MACAK,EAAAxyK,EAAAvoB,EAAAyqL,EAAAv2I,EAAA0+I,EAAA95K,EAAAz/B,EAAAC,EAAA2hN,EAAAz1N,GAAAm9B,EAAAl9B,GAAAk9B,EAAA97B,EAAAymI,EAAAk5E,GACAA,EAAAj+M,MAAA8Q,EAAAC,GACAyhN,EAAA1hN,EAAAC,EAAA2hN,EAAAz1N,EAAAC,EAAAoB,EAAAsS,EAAAC,EAAAsxM,EAAA/0J,EAAAE,EAAA7xC,EAAAspH,EAAAk5E,KAIA,gBAAAA,GACA,IAAA4U,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACAhR,EAAAliK,EAAAvoB,EAAAk0C,EAAA0+I,EAAA95K,EAEA4iL,EAAA,CACAnzN,QACAqjD,YACAC,UACAk7J,aAAA,WAAgCP,EAAAO,eAAuB2U,EAAA9vK,UAAAG,GACvDi7J,WAAA,WAA8BR,EAAAQ,aAAqB0U,EAAA9vK,cAGnD,SAAArjD,EAAA8L,EAAAC,GACAD,EAAAsqJ,EAAAtqJ,EAAAC,GACAkyM,EAAAj+M,MAAA8L,EAAA,GAAAA,EAAA,IAGA,SAAAu3C,IACArD,EAAAhe,IACAmxL,EAAAnzN,MAAAuqN,EACAtM,EAAA56J,YAGA,SAAAknK,EAAA/K,EAAAC,GACA,IAAAnhN,EAAc4hN,EAAS,CAAAV,EAAAC,IAAA5mL,EAAAu9H,EAAAopD,EAAAC,GACvB+S,EAAAxyK,EAAAvoB,EAAAyqL,EAAAv2I,EAAA0+I,EAAA95K,EAAAyP,EAAAnnB,EAAA,GAAApB,EAAAoB,EAAA,GAAAqpL,EAAA1C,EAAA7zI,EAAArtE,EAAA,GAAA+rN,EAAA/rN,EAAA,GAAAiyC,EAAAjyC,EAAA,GAAA4zN,GAAAjU,GACAA,EAAAj+M,MAAAggD,EAAAvoB,GAGA,SAAA6rB,IACA6vK,EAAAnzN,QACAi+M,EAAA36J,UAGA,SAAAE,IACAH,IACA8vK,EAAAnzN,MAAAozN,EACAD,EAAA7vK,QAAAG,EAGA,SAAA2vK,EAAA5T,EAAAC,GACA8K,EAAAsI,EAAArT,EAAAC,GAAAqT,EAAA9yK,EAAA+yK,EAAAt7L,EAAAu7L,EAAArnJ,EAAAsnJ,EAAA5I,EAAA6I,EAAA3iL,EACA4iL,EAAAnzN,MAAAuqN,EAGA,SAAA9mK,IACA+uK,EAAAxyK,EAAAvoB,EAAAyqL,EAAAv2I,EAAA0+I,EAAA95K,EAAAuiL,EAAAC,EAAAF,EAAAG,EAAAC,EAAAC,EAAAhB,GAAAjU,GACAkV,EAAA7vK,UACAA,IAGA,OAAA6vK,GCxFA,IAAAE,GAAuB3B,GAAW,CAClC1xN,MAAA,SAAA8L,EAAAC,GACApP,KAAAshN,OAAAj+M,MAAA8L,EAA0B2+F,EAAO1+F,EAAM0+F,MAIvC,SAAA6oH,GAAAt2L,GACA,OAAS00L,GAAW,CACpB1xN,MAAA,SAAA8L,EAAAC,GACA,IAAAmG,EAAA8qB,EAAAlxB,EAAAC,GACA,OAAApP,KAAAshN,OAAAj+M,MAAAkS,EAAA,GAAAA,EAAA,OAKA,SAAAqhN,GAAA7zN,EAAAw5B,EAAAC,GACA,SAAA2uB,EAAAh8C,EAAAC,GACA,OAAAmtB,EAAAx5B,EAAAoM,EAAAqtB,EAAAz5B,EAAAqM,GAKA,OAHA+7C,EAAA/qB,OAAA,SAAAjxB,EAAAC,GACA,QAAAD,EAAAotB,GAAAx5B,GAAAy5B,EAAAptB,GAAArM,IAEAooD,EAGA,SAAA0rK,GAAA9zN,EAAAw5B,EAAAC,EAAA+tK,GACA,IAAAusB,EAAiB7tM,EAAGshL,GACpBwsB,EAAiB5tM,EAAGohL,GACpBjqM,EAAAw2N,EAAA/zN,EACAxC,EAAAw2N,EAAAh0N,EACAkC,EAAA6xN,EAAA/zN,EACAmC,EAAA6xN,EAAAh0N,EACAwF,GAAAwuN,EAAAv6L,EAAAs6L,EAAAv6L,GAAAx5B,EACAgtI,GAAAgnF,EAAAx6L,EAAAu6L,EAAAt6L,GAAAz5B,EACA,SAAAooD,EAAAh8C,EAAAC,GACA,OAAA9O,EAAA6O,EAAA5O,EAAA6O,EAAAmtB,EAAAC,EAAAj8B,EAAA4O,EAAA7O,EAAA8O,GAKA,OAHA+7C,EAAA/qB,OAAA,SAAAjxB,EAAAC,GACA,OAAAnK,EAAAkK,EAAAjK,EAAAkK,EAAA7G,EAAAwnI,EAAA7qI,EAAAiK,EAAAlK,EAAAmK,IAEA+7C,EAGe,SAAS6rK,GAAUv9D,GAClC,OAAAw9D,GAAA,WAAuC,OAAAx9D,GAAvCw9D,GAGO,SAAAA,GAAAC,GACP,IAAAz9D,EAIAp5H,EAGAvF,EAAA7mB,EAAAC,EAEAijN,EACAC,EACAC,EACA55I,EACAwwI,EAZAlrN,EAAA,IACAoM,EAAA,IAAAC,EAAA,IACAyzM,EAAA,EAAAC,EAAA,EACA8E,EAAA,EAAAC,EAAA,EAAAC,EAAA,EACAvd,EAAA,EACAvF,EAAA,KAAAsyB,EAA8B/L,GAC9BloK,EAAA,KAAAk0K,EAAwCtG,GACxCyE,EAAA,GAOA,SAAA72L,EAAAx7B,GACA,OAAAg0N,EAAAh0N,EAAA,GAA6CyqG,EAAOzqG,EAAA,GAAayqG,GAGjE,SAAA1tE,EAAA/8B,GAEA,OADAA,EAAAg0N,EAAAj3L,OAAA/8B,EAAA,GAAAA,EAAA,IACAA,GAAA,CAAAA,EAAA,GAAgCiiM,EAAOjiM,EAAA,GAAaiiM,GA+DpD,SAAAkyB,IACA,IAAA3xM,EAAAgxM,GAAA9zN,EAAA,IAAAwnM,GAAAhoM,MAAA,KAAAk3J,EAAAopD,EAAAC,IACA33J,GAAAo/I,EAAAssB,GAAAD,IAAA7zN,EAAAoM,EAAA0W,EAAA,GAAAzW,EAAAyW,EAAA,GAAA0kL,GAKA,OAJAlqK,EAAasnL,GAAaC,EAAAC,EAAAC,GAC1BsP,EAAuB3P,GAAOhuD,EAAAtuG,GAC9BksK,EAA6B5P,GAAOpnL,EAAA+2L,GACpCD,EAAsB1B,GAAQ2B,EAAA1B,GAC9B3yL,IAGA,SAAAA,IAEA,OADA06C,EAAAwwI,EAAA,KACApvL,EAGA,OA3EAA,EAAAyiL,OAAA,SAAAA,GACA,OAAA7jI,GAAAwwI,IAAA3M,EAAA7jI,IAAAi5I,GAAAC,GAAAt2L,EAAAs2L,CAAAW,EAAAH,EAAAI,EAAAtJ,EAAA3M,QAGAziL,EAAAy4L,QAAA,SAAArhG,GACA,OAAArmF,UAAAztC,QAAAm1N,EAAArhG,EAAA+uE,OAAAr+L,EAAAo8B,KAAAu0L,GAGAz4L,EAAA04L,SAAA,SAAAthG,GACA,OAAArmF,UAAAztC,QAAAo1N,EAAAthG,EAAA5yE,EAAAvoB,EAAA7mB,EAAAC,EAAA,KAAA6uB,KAAAw0L,GAGA14L,EAAA44L,UAAA,SAAAxhG,GACA,OAAArmF,UAAAztC,QAAAm1N,GAAArhG,EAA8C61F,GAAU9mB,EAAA/uE,EAAanoB,IAAOk3F,EAAA,KAAmBumB,IAAgBxoL,KAAAiiK,EAAsBM,GAGrIzmK,EAAAq2L,WAAA,SAAAj/F,GACA,OAAArmF,UAAAztC,QAAAo1N,EAAA,MAAAthG,GAAA5yE,EAAAvoB,EAAA7mB,EAAAC,EAAA,KAAiF+8M,IAAYrE,GAAavpK,GAAA4yE,EAAA,MAAAn7F,GAAAm7F,EAAA,MAAAhiH,GAAAgiH,EAAA,MAAA/hH,GAAA+hH,EAAA,OAAAlzF,KAAA,MAAAsgB,EAAA,OAAAA,EAAAvoB,GAAA,CAAA7mB,EAAAC,KAG1G2qB,EAAAnJ,MAAA,SAAAugG,GACA,OAAArmF,UAAAztC,QAAAY,GAAAkzH,EAAAuhG,KAAAz0N,GAGA87B,EAAAmsB,UAAA,SAAAirE,GACA,OAAArmF,UAAAztC,QAAAgN,GAAA8mH,EAAA,GAAA7mH,GAAA6mH,EAAA,GAAAuhG,KAAA,CAAAroN,EAAAC,IAGAyvB,EAAAhZ,OAAA,SAAAowG,GACA,OAAArmF,UAAAztC,QAAA0gN,EAAA5sF,EAAA,OAAqDnoB,EAAOg1G,EAAA7sF,EAAA,OAAqBnoB,EAAO0pH,KAAA,CAAA3U,EAA0Bvd,EAAOwd,EAAQxd,IAGjIzmK,EAAAwB,OAAA,SAAA41F,GACA,OAAArmF,UAAAztC,QAAAylN,EAAA3xF,EAAA,OAA0DnoB,EAAO+5G,EAAA5xF,EAAA,OAA0BnoB,EAAOg6G,EAAA7xF,EAAA9zH,OAAA,EAAA8zH,EAAA,OAA2CnoB,EAAO,EAAA0pH,KAAA,CAAA5P,EAAmCtiB,EAAOuiB,EAAaviB,EAAOwiB,EAAexiB,IAGjOzmK,EAAAoqC,MAAA,SAAAgtD,GACA,OAAArmF,UAAAztC,QAAAooM,EAAAt0E,EAAA,IAAiDnoB,EAAO0pH,KAAAjtB,EAAwBjF,GAGhFzmK,EAAAvhB,UAAA,SAAA24G,GACA,OAAArmF,UAAAztC,QAAAg1N,EAAiD1B,GAAQ2B,EAAA1B,EAAAz/F,KAAAlzF,KAA+ChuB,EAAI2gN,IAG5G72L,EAAAs2L,UAAA,SAAA7vM,EAAAuqB,GACA,OAAWslL,GAASt2L,EAAAvZ,EAAAuqB,IAGpBhR,EAAAu2L,QAAA,SAAAjgN,EAAA06B,GACA,OAAWulL,GAAOv2L,EAAA1pB,EAAA06B,IAGlBhR,EAAAw2L,SAAA,SAAArpN,EAAA6jC,GACA,OAAWwlL,GAAQx2L,EAAA7yB,EAAA6jC,IAGnBhR,EAAAy2L,UAAA,SAAAnpN,EAAA0jC,GACA,OAAWylL,GAASz2L,EAAA1yB,EAAA0jC,IAkBpB,WAGA,OAFA4pH,EAAAy9D,EAAA30N,MAAAvC,KAAA4vC,WACA/Q,EAAAuB,OAAAq5H,EAAAr5H,UACAo3L,KC9JO,SAAAE,GAAAR,GACP,IAAAtN,EAAA,EACAK,EAAaz/J,EAAE,EACf/sB,EAAUw5L,GAAiBC,GAC3Bh7L,EAAAuB,EAAAmsL,EAAAK,GAMA,OAJA/tL,EAAAy7L,UAAA,SAAA1hG,GACA,OAAArmF,UAAAztC,OAAAs7B,EAAAmsL,EAAA3zF,EAAA,GAA8CnoB,EAAOm8G,EAAAh0F,EAAA,GAAgBnoB,GAAO,CAAA87G,EAAYtkB,EAAO2kB,EAAS3kB,IAGxGppK,ECXO,SAAA07L,GAAAhO,GACP,IAAAE,EAAgB7gM,EAAG2gM,GAEnB,SAAArB,EAAA1F,EAAAC,GACA,OAAAD,EAAAiH,EAA8B3gM,EAAG25L,GAAAgH,GAOjC,OAJAvB,EAAAnoL,OAAA,SAAAjxB,EAAAC,GACA,OAAAD,EAAA26M,EAAyB73J,EAAI7iD,EAAA06M,KAG7BvB,ECTO,SAAAsP,GAAA/8L,EAAA5mB,GACP,IAAAw8M,EAAYvnM,EAAG2R,GAAA54B,GAAAwuN,EAAiBvnM,EAAGjV,IAAA,EAGnC,GAAM0R,EAAG1jB,GAAM85B,EAAO,OAAS47L,GAAuB98L,GAEtD,IAAAn5B,EAAA,EAAA+uN,GAAA,EAAAxuN,EAAAwuN,GAAAoH,EAAwC/iN,EAAIpT,GAAAO,EAE5C,SAAAu3J,EAAAtqJ,EAAAC,GACA,IAAAmG,EAAYR,EAAIpT,EAAA,EAAAO,EAAainB,EAAG/Z,IAAAlN,EAChC,OAAAqT,EAAgB4T,EAAGha,GAAAjN,GAAA41N,EAAAviN,EAAmB0T,EAAG9Z,IAQzC,OALAsqJ,EAAAr5H,OAAA,SAAAjxB,EAAAC,GACA,IAAA2oN,EAAAD,EAAA1oN,EACA,OAAY2sC,EAAK5sC,EAAIyW,EAAGmyM,IAAA71N,EAAag/M,EAAI6W,GAAO9lK,GAAItwD,GAAAwN,IAAA4oN,KAAA71N,MAAA,EAAAA,MAGpDu3J,EAGe,IAAAu+D,GAAA,WACf,OAASN,GAAeG,IACxBniM,MAAA,SACA7P,OAAA,cC1BeoyM,GAAA,WACf,OAASD,KACTL,UAAA,aACAjiM,MAAA,MACAs1B,UAAA,WACA3qB,OAAA,QACAxa,OAAA,aCDA,SAAAqyM,GAAAC,GACA,IAAAj2N,EAAAi2N,EAAAh2N,OACA,OACAkB,MAAA,SAAA8L,EAAAC,GAA2B,IAAAzO,GAAA,EAAY,QAAAA,EAAAuB,EAAAi2N,EAAAx3N,GAAA0C,MAAA8L,EAAAC,IACvCsyM,OAAA,WAAwB,IAAA/gN,GAAA,EAAY,QAAAA,EAAAuB,EAAAi2N,EAAAx3N,GAAA+gN,UACpCh7J,UAAA,WAA2B,IAAA/lD,GAAA,EAAY,QAAAA,EAAAuB,EAAAi2N,EAAAx3N,GAAA+lD,aACvCC,QAAA,WAAyB,IAAAhmD,GAAA,EAAY,QAAAA,EAAAuB,EAAAi2N,EAAAx3N,GAAAgmD,WACrCk7J,aAAA,WAA8B,IAAAlhN,GAAA,EAAY,QAAAA,EAAAuB,EAAAi2N,EAAAx3N,GAAAkhN,gBAC1CC,WAAA,WAA4B,IAAAnhN,GAAA,EAAY,QAAAA,EAAAuB,EAAAi2N,EAAAx3N,GAAAmhN,eASzB,IAAAsW,GAAA,WACf,IAAA36I,EACAwwI,EACsBoK,EACOC,EACAC,EAC7Bl1N,EAHAm1N,EAAgBP,KAChBQ,EAAeT,KAAc33L,OAAA,SAAAxa,OAAA,WAAA8xM,UAAA,SAC7Be,EAAeV,KAAc33L,OAAA,SAAAxa,OAAA,WAAA8xM,UAAA,QAC7BgB,EAAA,CAA4Bt1N,MAAA,SAAA8L,EAAAC,GAAuB/L,EAAA,CAAA8L,EAAAC,KAEnD,SAAAwpN,EAAAjzN,GACA,IAAAwJ,EAAAxJ,EAAA,GAAAyJ,EAAAzJ,EAAA,GACA,OAAAtC,EAAA,KACAg1N,EAAAh1N,MAAA8L,EAAAC,GAAA/L,IACAi1N,EAAAj1N,MAAA8L,EAAAC,GAAA/L,KACAk1N,EAAAl1N,MAAA8L,EAAAC,GAAA/L,GAmEA,SAAA0/B,IAEA,OADA06C,EAAAwwI,EAAA,KACA2K,EAGA,OArEAA,EAAAx4L,OAAA,SAAAz6B,GACA,IAAA5C,EAAAy1N,EAAA9iM,QACAv0B,EAAAq3N,EAAAxtK,YACA77C,GAAAxJ,EAAA,GAAAxE,EAAA,IAAA4B,EACAqM,GAAAzJ,EAAA,GAAAxE,EAAA,IAAA4B,EACA,OAAAqM,GAAA,KAAAA,EAAA,MAAAD,IAAA,MAAAA,GAAA,KAAAspN,EACArpN,GAAA,MAAAA,EAAA,MAAAD,IAAA,MAAAA,GAAA,KAAAupN,EACAF,GAAAp4L,OAAAz6B,IAGAizN,EAAAtX,OAAA,SAAAA,GACA,OAAA7jI,GAAAwwI,IAAA3M,EAAA7jI,IAAAy6I,GAAA,CAAAM,EAAAlX,OAAA2M,EAAA3M,GAAAmX,EAAAnX,UAAAoX,EAAApX,aAGAsX,EAAAt7M,UAAA,SAAA24G,GACA,OAAArmF,UAAAztC,QACAq2N,EAAAl7M,UAAA24G,GAAAwiG,EAAAn7M,UAAA24G,GAAAyiG,EAAAp7M,UAAA24G,GACAlzF,KAFAy1L,EAAAl7M,aAKAs7M,EAAAljM,MAAA,SAAAugG,GACA,OAAArmF,UAAAztC,QACAq2N,EAAA9iM,MAAAugG,GAAAwiG,EAAA/iM,MAAA,IAAAugG,GAAAyiG,EAAAhjM,MAAAugG,GACA2iG,EAAA5tK,UAAAwtK,EAAAxtK,cAFAwtK,EAAA9iM,SAKAkjM,EAAA5tK,UAAA,SAAAirE,GACA,IAAArmF,UAAAztC,OAAA,OAAAq2N,EAAAxtK,YACA,IAAAjoD,EAAAy1N,EAAA9iM,QAAAvmB,GAAA8mH,EAAA,GAAA7mH,GAAA6mH,EAAA,GAiBA,OAfAoiG,EAAAG,EACAxtK,UAAAirE,GACAi/F,WAAA,EAAA/lN,EAAA,KAAApM,EAAAqM,EAAA,KAAArM,GAAA,CAAAoM,EAAA,KAAApM,EAAAqM,EAAA,KAAArM,KACAu+M,OAAAqX,GAEAL,EAAAG,EACAztK,UAAA,CAAA77C,EAAA,KAAApM,EAAAqM,EAAA,KAAArM,IACAmyN,WAAA,EAAA/lN,EAAA,KAAApM,EAAsCi5B,EAAO5sB,EAAA,IAAArM,EAAkBi5B,GAAO,CAAA7sB,EAAA,KAAApM,EAAoBi5B,EAAO5sB,EAAA,KAAArM,EAAkBi5B,KACnHslL,OAAAqX,GAEAJ,EAAAG,EACA1tK,UAAA,CAAA77C,EAAA,KAAApM,EAAAqM,EAAA,KAAArM,IACAmyN,WAAA,EAAA/lN,EAAA,KAAApM,EAAsCi5B,EAAO5sB,EAAA,KAAArM,EAAkBi5B,GAAO,CAAA7sB,EAAA,KAAApM,EAAoBi5B,EAAO5sB,EAAA,KAAArM,EAAkBi5B,KACnHslL,OAAAqX,GAEA51L,KAGA61L,EAAAzD,UAAA,SAAA7vM,EAAAuqB,GACA,OAAWslL,GAASyD,EAAAtzM,EAAAuqB,IAGpB+oL,EAAAxD,QAAA,SAAAjgN,EAAA06B,GACA,OAAWulL,GAAOwD,EAAAzjN,EAAA06B,IAGlB+oL,EAAAvD,SAAA,SAAArpN,EAAA6jC,GACA,OAAWwlL,GAAQuD,EAAA5sN,EAAA6jC,IAGnB+oL,EAAAtD,UAAA,SAAAnpN,EAAA0jC,GACA,OAAWylL,GAASsD,EAAAzsN,EAAA0jC,IAQpB+oL,EAAAljM,MAAA,OC3GO,SAAAmjM,GAAAnjM,GACP,gBAAAvmB,EAAAC,GACA,IAAAwyE,EAAa34D,EAAG9Z,GAChB0yE,EAAa54D,EAAG7Z,GAChBrM,EAAA2yB,EAAAksD,EAAAC,GACA,OACA9+E,EAAA8+E,EAAe14D,EAAGha,GAClBpM,EAAUomB,EAAG/Z,KAKN,SAAA0pN,GAAA7vJ,GACP,gBAAA95D,EAAAC,GACA,IAAAsyB,EAAY3sB,EAAI5F,IAAAC,KAChBzN,EAAAsnE,EAAAvnC,GACAq3L,EAAa5vM,EAAGxnB,GAChBi3D,EAAa3vC,EAAGtnB,GAChB,OACMo6C,EAAK5sC,EAAA4pN,EAAAr3L,EAAAk3B,GACL3G,EAAIvwB,GAAAtyB,EAAA2pN,EAAAr3L,KClBH,IAAAs3L,GAA4BH,GAAY,SAAAI,GAC/C,OAASlkN,EAAI,KAAAkkN,MAGbD,GAAA54L,OAA+B04L,GAAe,SAAAp3L,GAC9C,SAAauwB,EAAIvwB,EAAA,KAGF,IAAAw3L,GAAA,WACf,OAASlC,GAAUgC,IACnBtjM,MAAA,QACA+hM,UAAA,UCXO0B,GAA8BN,GAAY,SAAAl3N,GACjD,OAAAA,EAAcw/M,EAAIx/M,OAAYwnB,EAAGxnB,KAGjCw3N,GAAA/4L,OAAiC04L,GAAe,SAAAp3L,GAChD,OAAAA,IAGe,IAAA03L,GAAA,WACf,OAASpC,GAAUmC,IACnBzjM,MAAA,SACA+hM,UAAA,UCXO,SAAA4B,GAAAxW,EAAAC,GACP,OAAAD,EAAkBpoL,EAAIzQ,GAAK+2L,EAAM+B,GAAA,KAGjCuW,GAAAj5L,OAAA,SAAAjxB,EAAAC,GACA,OAAAD,EAAA,EAAiB4xC,EAAKC,EAAG5xC,IAAO2xM,IAGjB,IAAAjY,GAAA,WACf,OAAAwwB,GAAAD,IACA3jM,MAAA,IAAmBurL,IAGZ,SAAAqY,GAAA7/D,GACP,IAKA3+H,EAAA7mB,EAAAC,EALAupB,EAAUu5L,GAAUv9D,GACpB5zI,EAAA4X,EAAA5X,OACA6P,EAAA+H,EAAA/H,MACAs1B,EAAAvtB,EAAAutB,UACAkqK,EAAAz3L,EAAAy3L,WACA7xK,EAAA,KAkBA,SAAAk2K,IACA,IAAAx2N,EAAYynD,EAAE90B,IACdv0B,EAAAs8B,EAAc6qL,GAAQ7qL,EAAA4C,UAAAD,OAAA,QACtB,OAAA80L,EAAA,MAAA7xK,EACA,EAAAliD,EAAA,GAAA4B,EAAA5B,EAAA,GAAA4B,GAAA,CAAA5B,EAAA,GAAA4B,EAAA5B,EAAA,GAAA4B,IAAA02J,IAAA4/D,GACA,EAAAt1N,KAAA0K,IAAAtN,EAAA,GAAA4B,EAAAsgD,GAAAvoB,GAAA,CAAA/2B,KAAAyiC,IAAArlC,EAAA,GAAA4B,EAAAkR,GAAAC,IACA,EAAAmvC,EAAAt/C,KAAA0K,IAAAtN,EAAA,GAAA4B,EAAA+3B,IAAA,CAAA7mB,EAAAlQ,KAAAyiC,IAAArlC,EAAA,GAAA4B,EAAAmR,MAGA,OAzBAupB,EAAA/H,MAAA,SAAAugG,GACA,OAAArmF,UAAAztC,QAAAuzB,EAAAugG,GAAAsjG,KAAA7jM,KAGA+H,EAAAutB,UAAA,SAAAirE,GACA,OAAArmF,UAAAztC,QAAA6oD,EAAAirE,GAAAsjG,KAAAvuK,KAGAvtB,EAAA5X,OAAA,SAAAowG,GACA,OAAArmF,UAAAztC,QAAA0jB,EAAAowG,GAAAsjG,KAAA1zM,KAGA4X,EAAAy3L,WAAA,SAAAj/F,GACA,OAAArmF,UAAAztC,QAAA,MAAA8zH,EAAA5yE,EAAAvoB,EAAA7mB,EAAAC,EAAA,MAAAmvC,GAAA4yE,EAAA,MAAAn7F,GAAAm7F,EAAA,MAAAhiH,GAAAgiH,EAAA,MAAA/hH,GAAA+hH,EAAA,OAAAsjG,KAAA,MAAAl2K,EAAA,OAAAA,EAAAvoB,GAAA,CAAA7mB,EAAAC,KAYAqlN,IC9CA,SAAAC,GAAApqN,GACA,OAAS4a,GAAK+2L,EAAM3xM,GAAA,GAGb,SAAAqqN,GAAA3+L,EAAA5mB,GACP,IAAAu8M,EAAYxnM,EAAG6R,GACf54B,EAAA44B,IAAA5mB,EAAsBiV,EAAG2R,GAAOL,EAAGg2L,EAAOxnM,EAAG/U,IAAQumB,EAAG++L,GAAAtlN,GAAAslN,GAAA1+L,IACxDtmB,EAAAi8M,EAAgBnnM,EAAGkwM,GAAA1+L,GAAA54B,KAEnB,IAAAA,EAAA,OAAiBm3N,GAEjB,SAAA5/D,EAAAtqJ,EAAAC,GACAoF,EAAA,EAAgBpF,GAAU2xM,EAAS/kL,IAAO5sB,GAAO2xM,EAAS/kL,GAChD5sB,EAAS2xM,EAAS/kL,IAAO5sB,EAAM2xM,EAAS/kL,GAClD,IAAAzmB,EAAAf,EAAgB8U,EAAGkwM,GAAApqN,GAAAlN,GACnB,OAAAqT,EAAgB4T,EAAGjnB,EAAAiN,GAAAqF,EAAAe,EAAiB0T,EAAG/mB,EAAAiN,IAQvC,OALAsqJ,EAAAr5H,OAAA,SAAAjxB,EAAAC,GACA,IAAAsqN,EAAAllN,EAAApF,EAAAmG,EAAwB2rM,EAAIh/M,GAAM6S,EAAI5F,IAAAuqN,KACtC,OAAY39K,EAAK5sC,EAAIyW,EAAG8zM,IAAAx3N,EAAYg/M,EAAIwY,GAAA,EAAU34K,EAAKz3B,EAAG9U,EAAAe,EAAA,EAAArT,IAAkB6+M,IAG5EtnD,EAGe,IAAAkgE,GAAA,WACf,OAASjC,GAAe+B,IACxB/jM,MAAA,OACAiiM,UAAA,UC/BO,SAAAiC,GAAA/W,EAAAC,GACP,OAAAD,EAAAC,GAGA8W,GAAAx5L,OAAAw5L,GAEe,IAAAC,GAAA,WACf,OAAS7C,GAAU4C,IACnBlkM,MAAA,SCNO,SAAAokM,GAAAh/L,EAAA5mB,GACP,IAAAu8M,EAAYxnM,EAAG6R,GACf54B,EAAA44B,IAAA5mB,EAAsBiV,EAAG2R,IAAA21L,EAAcxnM,EAAG/U,OAAA4mB,GAC1ChpB,EAAA2+M,EAAAvuN,EAAA44B,EAEA,GAAMlV,EAAG1jB,GAAM85B,EAAO,OAAS49L,GAE/B,SAAAngE,EAAAtqJ,EAAAC,GACA,IAAA2qN,EAAAjoN,EAAA1C,EAAA4qN,EAAA93N,EAAAiN,EACA,OAAA4qN,EAAiB5wM,EAAG6wM,GAAAloN,EAAAioN,EAAe9wM,EAAG+wM,IAQtC,OALAvgE,EAAAr5H,OAAA,SAAAjxB,EAAAC,GACA,IAAA2qN,EAAAjoN,EAAA1C,EACA,OAAY2sC,EAAK5sC,EAAIyW,EAAGm0M,IAAA73N,EAAYg/M,EAAI6Y,GAAAjoN,EAAUovM,EAAIh/M,GAAM6S,EAAI5F,IAAA4qN,OAGhEtgE,EAGe,IAAAwgE,GAAA,WACf,OAASvC,GAAeoC,IACxBpkM,MAAA,SACA7P,OAAA,cCxBAq0M,GAAA,SACAC,IAAA,QACAC,GAAA,OACAC,GAAA,QACAzwM,GAAQ7U,EAAI,KACZqnC,GAAA,GAEO,SAAAk+K,GAAAzX,EAAAC,GACP,IAAA/wM,EAAUkgD,EAAIroC,GAAKT,EAAG25L,IAAA/1L,EAAAhb,IAAAwoN,EAAAxtM,MACtB,OACA81L,EAAa55L,EAAGlX,IAAA6X,IAAAswM,GAAA,EAAAC,GAAAptM,EAAAwtM,GAAA,EAAAH,GAAA,EAAAC,GAAAttM,KAChBhb,GAAAmoN,GAAAC,GAAAptM,EAAAwtM,GAAAH,GAAAC,GAAAttM,KAIAutM,GAAAl6L,OAAA,SAAAjxB,EAAAC,GAEA,IADA,IACAuW,EAAA+zM,EAAAc,EADAzoN,EAAA3C,EAAA2d,EAAAhb,IAAAwoN,EAAAxtM,MACApsB,EAAA,EAAiCA,EAAAy7C,KAAgBz7C,EAIjD,GAHA+4N,EAAA3nN,GAAAmoN,GAAAC,GAAAptM,EAAAwtM,GAAAH,GAAAC,GAAAttM,IAAA3d,EACAorN,EAAAN,GAAA,EAAAC,GAAAptM,EAAAwtM,GAAA,EAAAH,GAAA,EAAAC,GAAAttM,GACAhb,GAAA4T,EAAA+zM,EAAAc,EAAAztM,EAAAhb,IAAAwoN,EAAAxtM,MACQnH,EAAGD,GAAUm7L,EAAQ,MAE7B,OACAl3L,GAAAza,GAAA+qN,GAAA,EAAAC,GAAAptM,EAAAwtM,GAAA,EAAAH,GAAA,EAAAC,GAAAttM,IAA+D9D,EAAGlX,GAC9DkgD,EAAK9oC,EAAGpX,GAAA6X,MAIG,IAAA6wM,GAAA,WACf,OAASzD,GAAUsD,IACnB5kM,MAAA,UC9BO,SAAAglM,GAAAvrN,EAAAC,GACP,IAAAyyE,EAAW54D,EAAG7Z,GAAArM,EAASkmB,EAAG9Z,GAAA0yE,EAC1B,OAAAA,EAAe14D,EAAGha,GAAApM,EAASomB,EAAG/Z,GAAArM,GAG9B23N,GAAAt6L,OAAqB04L,GAAgB/3K,GAEtB,IAAA45K,GAAA,WACf,OAAS3D,GAAU0D,IACnBhlM,MAAA,SACA+hM,UAAA,KCTA,SAASmD,GAAcxwK,EAAAC,EAAAylD,EAAAC,GACvB,WAAA3lD,GAAA,IAAAC,GAAA,IAAAylD,GAAA,IAAAC,EAAwDkhH,GAAW8D,GAAW,CAC9E1xN,MAAA,SAAA8L,EAAAC,GACApP,KAAAshN,OAAAj+M,MAAA8L,EAAAi7C,EAAA0lD,EAAA1gG,EAAAi7C,EAAA0lD,MAKe,IAAA8qH,GAAA,WACf,IACA//L,EAAA7mB,EAAAC,EAEAupE,EACAwwI,EACApvL,EALA97B,EAAA,EAAA+sG,EAAA,EAAAC,EAAA,EAAA+qH,EAAA,EAAAC,EAAA,EAAA5vK,EAAyD8lK,GACzD5tK,EAAA,KACAk0K,EAAiBtG,GAKjB,SAAAluL,IAEA,OADA06C,EAAAwwI,EAAA,KACApvL,EAGA,OAAAA,EAAA,CACAyiL,OAAA,SAAAA,GACA,OAAA7jI,GAAAwwI,IAAA3M,EAAA7jI,IAAAtyB,EAAAosK,EAAAtJ,EAAA3M,KAEAiW,SAAA,SAAAthG,GACA,OAAArmF,UAAAztC,QAAAo1N,EAAAthG,EAAA5yE,EAAAvoB,EAAA7mB,EAAAC,EAAA,KAAA6uB,KAAAw0L,GAEArC,WAAA,SAAAj/F,GACA,OAAArmF,UAAAztC,QAAAo1N,EAAA,MAAAthG,GAAA5yE,EAAAvoB,EAAA7mB,EAAAC,EAAA,KAAmF+8M,IAAYrE,GAAavpK,GAAA4yE,EAAA,MAAAn7F,GAAAm7F,EAAA,MAAAhiH,GAAAgiH,EAAA,MAAA/hH,GAAA+hH,EAAA,OAAAlzF,KAAA,MAAAsgB,EAAA,OAAAA,EAAAvoB,GAAA,CAAA7mB,EAAAC,KAE5GwhB,MAAA,SAAAugG,GACA,OAAArmF,UAAAztC,QAAAgpD,EAA6CyvK,IAAc73N,GAAAkzH,GAAA6kG,EAAA/3N,EAAAg4N,EAAAjrH,EAAAC,GAAAhtE,KAAAhgC,GAE3DioD,UAAA,SAAAirE,GACA,OAAArmF,UAAAztC,QAAAgpD,EAA6CyvK,GAAc73N,EAAA+3N,EAAA/3N,EAAAg4N,EAAAjrH,GAAAmmB,EAAA,GAAAlmB,GAAAkmB,EAAA,IAAAlzF,KAAA,CAAA+sE,EAAAC,IAE3DirH,SAAA,SAAA/kG,GACA,OAAArmF,UAAAztC,QAAAgpD,EAA6CyvK,GAAc73N,GAAA+3N,EAAA7kG,GAAA,KAAAlzH,EAAAg4N,EAAAjrH,EAAAC,GAAAhtE,KAAA+3L,EAAA,GAE3DG,SAAA,SAAAhlG,GACA,OAAArmF,UAAAztC,QAAAgpD,EAA6CyvK,GAAc73N,EAAA+3N,EAAA/3N,GAAAg4N,EAAA9kG,GAAA,KAAAnmB,EAAAC,GAAAhtE,KAAAg4L,EAAA,GAE3D5F,UAAA,SAAA7vM,EAAAuqB,GACA,OAAaslL,GAASt2L,EAAAvZ,EAAAuqB,IAEtBulL,QAAA,SAAAjgN,EAAA06B,GACA,OAAaulL,GAAOv2L,EAAA1pB,EAAA06B,IAEpBwlL,SAAA,SAAArpN,EAAA6jC,GACA,OAAawlL,GAAQx2L,EAAA7yB,EAAA6jC,IAErBylL,UAAA,SAAAnpN,EAAA0jC,GACA,OAAaylL,GAASz2L,EAAA1yB,EAAA0jC,MCvDf,SAAAqrL,GAAArY,EAAAC,GACP,IAAAgT,EAAAhT,IAAAqY,EAAArF,IACA,OACAjT,GAAA,cAAAiT,EAAAqF,MAAA,QAAArF,EAAA,QAAAqF,GAAA,UACArY,GAAA,SAAAgT,GAAA,QAAAqF,GAAA,QAAArF,EAAA,gBAAAqF,MAIAD,GAAA96L,OAAA,SAAAjxB,EAAAC,GACA,IAAAuW,EAAAm9L,EAAA1zM,EAAAzO,EAAA,GACA,GACA,IAAAm1N,EAAAhT,IAAAqY,EAAArF,IACAhT,GAAAn9L,GAAAm9L,GAAA,SAAAgT,GAAA,QAAAqF,GAAA,QAAArF,EAAA,gBAAAqF,KAAA/rN,IACA,SAAA0mN,GAAA,QAAAqF,GAAA,QAAArF,EAAA,mBAAAqF,WACWv1M,EAAGD,GAAUqW,KAAOr7B,EAAA,GAC/B,OACAwO,GAAA,OAAA2mN,EAAAhT,MAAAgT,UAAA,gBAAAA,GAAA,mBACAhT,IAIe,IAAAsY,GAAA,WACf,OAASpE,GAAUkE,IACnBxlM,MAAA,UCtBO,SAAA2lM,GAAAlsN,EAAAC,GACP,OAAU6Z,EAAG7Z,GAAM+Z,EAAGha,GAAKga,EAAG/Z,IAG9BisN,GAAAj7L,OAAyB04L,GAAgB7mK,GAE1B,IAAAqpK,GAAA,WACf,OAAStE,GAAUqE,IACnB3lM,MAAA,OACA+hM,UAAA,GAAsBz7L,ICTf,SAAAu/L,GAAApsN,EAAAC,GACP,IAAAyyE,EAAW54D,EAAG7Z,GAAArM,EAAA,EAAakmB,EAAG9Z,GAAA0yE,EAC9B,OAAAA,EAAe14D,EAAGha,GAAApM,EAASomB,EAAG/Z,GAAArM,GAG9Bw4N,GAAAn7L,OAA0B04L,GAAe,SAAAp3L,GACzC,SAAaqf,EAAIrf,KAGF,IAAA85L,GAAA,WACf,OAASxE,GAAUuE,IACnB7lM,MAAA,KACA+hM,UAAA,MCbO,SAAAgE,GAAA5Y,EAAAC,GACP,OAAUroL,EAAIzQ,GAAK+2L,EAAM+B,GAAA,KAAAD,GAGzB4Y,GAAAr7L,OAAA,SAAAjxB,EAAAC,GACA,QAAAA,EAAA,EAAkB2xC,EAAKC,EAAG7xC,IAAO4xM,IAGlB,IAAA2a,GAAA,WACf,IAAAj+L,EAAU67L,GAAkBmC,IAC5B51M,EAAA4X,EAAA5X,OACAwa,EAAA5C,EAAA4C,OAUA,OARA5C,EAAA5X,OAAA,SAAAowG,GACA,OAAArmF,UAAAztC,OAAA0jB,EAAA,EAAAowG,EAAA,GAAAA,EAAA,MAAAA,EAAApwG,IAAA,CAAAowG,EAAA,IAAAA,EAAA,MAGAx4F,EAAA4C,OAAA,SAAA41F,GACA,OAAArmF,UAAAztC,OAAAk+B,EAAA,CAAA41F,EAAA,GAAAA,EAAA,GAAAA,EAAA9zH,OAAA,EAAA8zH,EAAA,YAAAA,EAAA51F,IAAA,CAAA41F,EAAA,GAAAA,EAAA,GAAAA,EAAA,SAGA51F,EAAA,UACA3K,MAAA,UCzBAj2B,EAAAgB,EAAA+f,EAAA,4BAAA4iM,IAAA3jN,EAAAgB,EAAA+f,EAAA,8BAAA2iC,KAAA1jD,EAAAgB,EAAA+f,EAAA,gCAAA/M,KAAAhU,EAAAgB,EAAA+f,EAAA,8BAAAooM,KAAAnpN,EAAAgB,EAAA+f,EAAA,wCAAA+qM,KAAA9rN,EAAAgB,EAAA+f,EAAA,kCAAAsrM,KAAArsN,EAAAgB,EAAA+f,EAAA,kCAAAwtM,KAAAvuN,EAAAgB,EAAA+f,EAAA,qCAAAosM,KAAAntN,EAAAgB,EAAA+f,EAAA,gCAAA0oI,KAAAzpJ,EAAAgB,EAAA+f,EAAA,gCAAA9M,KAAAjU,EAAAgB,EAAA+f,EAAA,iCAAA+uM,KAAA9vN,EAAAgB,EAAA+f,EAAA,mCAAA2vM,KAAA1wN,EAAAgB,EAAA+f,EAAA,mCAAAgwM,KAAA/wN,EAAAgB,EAAA+f,EAAA,8BAAAkuM,KAAAjvN,EAAAgB,EAAA+f,EAAA,4BAAAm0M,KAAAl1N,EAAAgB,EAAA+f,EAAA,8BAAAy3M,KAAAx4N,EAAAgB,EAAA+f,EAAA,iCAAA43M,KAAA34N,EAAAgB,EAAA+f,EAAA,0CAAA04M,KAAAz5N,EAAAgB,EAAA+f,EAAA,6CAAAw4M,KAAAv5N,EAAAgB,EAAA+f,EAAA,4CAAA44M,KAAA35N,EAAAgB,EAAA+f,EAAA,+CAAA24M,KAAA15N,EAAAgB,EAAA+f,EAAA,sCAAAm5M,KAAAl6N,EAAAgB,EAAA+f,EAAA,yCAAAi5M,KAAAh6N,EAAAgB,EAAA+f,EAAA,sCAAAw3M,KAAAv4N,EAAAgB,EAAA+f,EAAA,yCAAAq3M,KAAAp4N,EAAAgB,EAAA+f,EAAA,wCAAAy5M,KAAAx6N,EAAAgB,EAAA+f,EAAA,2CAAAs5M,KAAAr6N,EAAAgB,EAAA+f,EAAA,kCAAAi6M,KAAAh7N,EAAAgB,EAAA+f,EAAA,qCAAA85M,KAAA76N,EAAAgB,EAAA+f,EAAA,uCAAAq5M,KAAAp6N,EAAAgB,EAAA+f,EAAA,0CAAAo5M,KAAAn6N,EAAAgB,EAAA+f,EAAA,gCAAAm6M,KAAAl7N,EAAAgB,EAAA+f,EAAA,mCAAAk6M,KAAAj7N,EAAAgB,EAAA+f,EAAA,gCAAAq6M,KAAAp7N,EAAAgB,EAAA+f,EAAA,kCAAAw2M,KAAAv3N,EAAAgB,EAAA+f,EAAA,yCAAAy2M,KAAAx3N,EAAAgB,EAAA+f,EAAA,gCAAAsoL,KAAArpM,EAAAgB,EAAA+f,EAAA,mCAAA64M,KAAA55N,EAAAgB,EAAA+f,EAAA,qCAAA46M,KAAA37N,EAAAgB,EAAA+f,EAAA,wCAAA06M,KAAAz7N,EAAAgB,EAAA+f,EAAA,oCAAA86M,KAAA77N,EAAAgB,EAAA+f,EAAA,uCAAA66M,KAAA57N,EAAAgB,EAAA+f,EAAA,qCAAAg7M,KAAA/7N,EAAAgB,EAAA+f,EAAA,wCAAA+6M,KAAA97N,EAAAgB,EAAA+f,EAAA,0CAAAk7M,KAAAj8N,EAAAgB,EAAA+f,EAAA,6CAAAi7M,KAAAh8N,EAAAgB,EAAA+f,EAAA,gCAAA8nM,KAAA7oN,EAAAgB,EAAA+f,EAAA,8BAAA4hM,IAAA3iN,EAAAgB,EAAA+f,EAAA,iCAAAs0M,wCCKA,SAAA6G,EAAAr7N,EAAAC,GACA,IAAA4O,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACAugN,EAAA1xM,EAAA4mB,EACAsF,EAAA96B,EAAAw1B,EACAuiH,EAAAh4I,EAAAugN,EACAzxM,EAAAkpI,EAAAj9G,EACA,OAAAjsB,EACA,CAAAA,EAAAD,GAEA,CAAAA,GAGA,SAAAysN,EAAAxzN,EAAAoM,GACA,IAAAonH,EAAA,EAAAxzH,EAAAjG,OACA05N,EAAA,EAAArnN,EAAArS,OACA,OAAAy5H,GAAA,IAAAigG,EACA,OAAAF,EAAAvzN,EAAA,GAAAoM,EAAA,IAEA,IAUAlU,EAAAC,EAVA2B,EAAA05H,EAAAigG,EACA/pN,EAAA,IAAAjQ,MAAAK,GACA2zB,EAAA,EACAimM,EAAA,EACAC,EAAA,EACAn2M,EAAA7hB,KAAA6hB,IACAwoH,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,GACA2B,EAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,GAEAisF,EAAApiB,GACAr5M,EAAA6tI,EACA0tF,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,MAGA7tI,EAAAwvI,EACAgsF,GAAA,EACAA,EAAAF,IACA9rF,EAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,KAGA+rF,EAAAlgG,GAAAogG,EAAApiB,GAAAmiB,GAAAF,GACAv7N,EAAA8tI,EACA0tF,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,MAGA9tI,EAAAyvI,EACAgsF,GAAA,EACAA,EAAAF,IACA9rF,EAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,KAGA,IAKAksF,EAAAC,EAAAC,EAAAC,EAAAC,EALAltN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACAumM,EAAAltN,EACA4yE,EAAA7yE,EAEA,MAAA2sN,EAAAlgG,GAAAmgG,EAAAF,EACAG,EAAApiB,GACAt5M,EAAA8tI,EACA0tF,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,MAGA9tI,EAAAyvI,EACAgsF,GAAA,EACAA,EAAAF,IACA9rF,EAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,KAGAxvI,EAAA+7N,EACAntN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACA3mB,IACA0C,EAAA+jB,KAAAzmB,GAEA6sN,EAAAj6I,EAAA7yE,EACA+sN,EAAAD,EAAAj6I,EACAm6I,EAAAF,EAAAC,EACAE,EAAAjtN,EAAA+sN,EACAG,EAAAr6I,EAAAm6I,EACAG,EAAAD,EAAAD,EACAp6I,EAAAi6I,EAEA,MAAAH,EAAAlgG,EACAt7H,EAAA8tI,EACA7tI,EAAA+7N,EACAntN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACA3mB,IACA0C,EAAA+jB,KAAAzmB,GAEA6sN,EAAAj6I,EAAA7yE,EACA+sN,EAAAD,EAAAj6I,EACAm6I,EAAAF,EAAAC,EACAE,EAAAjtN,EAAA+sN,EACAG,EAAAr6I,EAAAm6I,EACAG,EAAAD,EAAAD,EACAp6I,EAAAi6I,EACAH,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,IAGA,MAAAC,EAAAF,EACAv7N,EAAAyvI,EACAxvI,EAAA+7N,EACAntN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACA3mB,IACA0C,EAAA+jB,KAAAzmB,GAEA6sN,EAAAj6I,EAAA7yE,EACA+sN,EAAAD,EAAAj6I,EACAm6I,EAAAF,EAAAC,EACAE,EAAAjtN,EAAA+sN,EACAG,EAAAr6I,EAAAm6I,EACAG,EAAAD,EAAAD,EACAp6I,EAAAi6I,EACAF,GAAA,EACAA,EAAAF,IACA9rF,EAAAv7H,EAAAunN,IAaA,OAVAO,IACAxqN,EAAA+jB,KAAAymM,GAEAt6I,IACAlwE,EAAA+jB,KAAAmsD,GAEAnsD,IACA/jB,EAAA+jB,KAAA,GAEA/jB,EAAA3P,OAAA0zB,EACA/jB,EAxJAzS,EAAAC,QAAAs8N,4DCFA,IAAAW,EAAA98N,EAAA,QAAA+8N,EAAA/8N,EAAAyC,EAAAq6N,GAA4mBC,EAAG,qCCY/mB,IAAAC,EAAA,GA0DA,SAAAC,EAAA55N,GACA,IAAAnB,EAAA,GAQA,OAPAmB,MACAA,GAAAnB,IACA,MAAAmB,IAAAnB,GAAA,IACA,SAAAmB,IAAAnB,GAAA,GACA,UAAAmB,IAAAnB,GAAA,GACA,UAAAmB,IAAAnB,GAAA,GACA,WAAAmB,IAAAnB,GAAA,GACAA,EAhEArC,EAAAm9N,WACAn9N,EAAAq9N,QAAA,WACAr9N,EAAAs9N,SAAA,GAAAH,EAAA,EAGAn9N,EAAAshD,KAAA,SAAA99C,GACA,OAAAA,EAAA,IAAAA,EAAA,IAIAxD,EAAAsmB,IAAA,SAAA9iB,GACA,IAAAyhD,EAAAzhD,GAAA25N,EAAA,EACA,OAAA35N,EAAAyhD,MAIAjlD,EAAAknC,IAAA,SAAAr3B,EAAAC,GACA,OAAAA,GAAAD,EAAAC,KAAAD,EAAAC,IAIA9P,EAAAmP,IAAA,SAAAU,EAAAC,GACA,OAAAD,KAAAC,KAAAD,EAAAC,IAIA9P,EAAAu9N,OAAA,SAAA/5N,GACA,QAAAA,IAAA,MAAAA,GAIAxD,EAAAw9N,KAAA,SAAAh6N,GACA,IAAAyS,EAAA+7B,EAKA,OAJA/7B,GAAAzS,EAAA,UAA4BA,KAAAyS,EAC5B+7B,GAAAxuC,EAAA,QAA4BA,KAAAwuC,EAAc/7B,GAAA+7B,EAC1CA,GAAAxuC,EAAA,OAA4BA,KAAAwuC,EAAc/7B,GAAA+7B,EAC1CA,GAAAxuC,EAAA,MAA4BA,KAAAwuC,EAAc/7B,GAAA+7B,EAC1C/7B,EAAAzS,GAAA,GAIAxD,EAAAuxG,MAAA,SAAA/tG,GACA,OAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MACAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MACAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,QAIAxD,EAAA2uC,SAAA,SAAAnrC,GAGA,OAFAA,OAAA,aACAA,GAAA,UAAAA,QAAA,aACA,UAAAA,OAAA,oBAeAxD,EAAAo9N,qBAGAp9N,EAAAy9N,SAAA,SAAAj6N,GAQA,OAPAA,GAAA,IAAAA,IACAA,EACAA,OAAA,EACAA,OAAA,EACAA,OAAA,EACAA,OAAA,EACAA,OAAA,GACAA,EAAA,GAIAxD,EAAA09N,SAAA,SAAAl6N,GAMA,OALAA,OAAA,EACAA,OAAA,EACAA,OAAA,EACAA,OAAA,EACAA,OAAA,GACAA,OAAA,IAIAxD,EAAAkG,OAAA,SAAA1C,GAKA,OAJAA,OAAA,GACAA,OAAA,EACAA,OAAA,EACAA,GAAA,GACA,QAAAA,EAAA,GAGA,IAAAm6N,EAAA,IAAAp7N,MAAA,MAEA,SAAAq7N,GACA,QAAAv8N,EAAA,EAAcA,EAAA,MAAOA,EAAA,CACrB,IAAAmC,EAAAnC,EAAA4U,EAAA5U,EAAA68B,EAAA,EACA,IAAA16B,KAAA,EAAkBA,EAAGA,KAAA,EACrByS,IAAA,EACAA,GAAA,EAAAzS,IACA06B,EAEA0/L,EAAAv8N,GAAA4U,GAAAioB,EAAA,MARA,CAUCy/L,GAGD39N,EAAA2I,QAAA,SAAAnF,GACA,OAAAm6N,EAAA,IAAAn6N,IAAA,GACAm6N,EAAAn6N,IAAA,WACAm6N,EAAAn6N,IAAA,WACAm6N,EAAAn6N,IAAA,SAIAxD,EAAA69N,YAAA,SAAAhuN,EAAAC,GAaA,OAZAD,GAAA,MACAA,EAAA,UAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAC,GAAA,MACAA,EAAA,UAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAD,EAAAC,GAAA,GAIA9P,EAAA89N,cAAA,SAAAt6N,EAAAZ,GAMA,OALAY,MAAAZ,EAAA,WACAY,EAAA,WAAAA,MAAA,GACAA,EAAA,WAAAA,MAAA,GACAA,EAAA,UAAAA,MAAA,GACAA,EAAA,OAAAA,MAAA,IACAA,GAAA,QAKAxD,EAAA+9N,YAAA,SAAAluN,EAAAC,EAAAsyB,GAoBA,OAnBAvyB,GAAA,KACAA,EAAA,YAAAA,KAAA,IACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAC,GAAA,KACAA,EAAA,YAAAA,KAAA,IACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GACAD,GAAAC,GAAA,EAEAsyB,GAAA,KACAA,EAAA,YAAAA,KAAA,IACAA,EAAA,WAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GACAA,EAAA,YAAAA,KAAA,GAEAvyB,EAAAuyB,GAAA,GAIApiC,EAAAg+N,cAAA,SAAAx6N,EAAAZ,GAMA,OALAY,MAAAZ,EAAA,WACAY,EAAA,YAAAA,MAAA,GACAA,EAAA,WAAAA,MAAA,GACAA,EAAA,YAAAA,MAAA,GACAA,EAAA,MAAAA,MAAA,IACAA,GAAA,QAIAxD,EAAAkvC,gBAAA,SAAA1rC,GACA,IAAA3B,EAAA2B,IAAA,EACA,OAAA3B,EAAA,IAAAA,OAAA,IAAAu7N,EAAA55N,GAAA,yBCzMA,IAAAO,EAAY5D,EAAQ,QAAe4D,MAmFnC,SAAAk6N,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAEA,IAAAC,EAAA19N,EAAAC,EAAA09N,EAAAC,EACAx+L,EAAA,CACAvwB,EAAA,KACAC,EAAA,KACA+uN,SAAA,EACAC,SAAA,GAGA,OADAJ,GAAAD,EAAAF,IAAAH,EAAAF,IAAAM,EAAAF,IAAAD,EAAAF,GACA,IAAAO,EACA,OAAAt+L,EAAAvwB,GAAA,OAAAuwB,EAAAtwB,GACAswB,GAKAp/B,EAAAm9N,EAAAI,EACAt9N,EAAAi9N,EAAAI,EACAK,GAAAH,EAAAF,GAAAt9N,GAAAy9N,EAAAF,GAAAt9N,EACA29N,GAAAR,EAAAF,GAAAl9N,GAAAq9N,EAAAF,GAAAl9N,EACAD,EAAA29N,EAAAD,EACAz9N,EAAA29N,EAAAF,EAGAt+L,EAAAvwB,EAAAquN,EAAAl9N,GAAAo9N,EAAAF,GACA99L,EAAAtwB,EAAAquN,EAAAn9N,GAAAq9N,EAAAF,GAGAn9N,GAAA,GAAAA,GAAA,IACAo/B,EAAAy+L,SAAA,GAGA59N,GAAA,GAAAA,GAAA,IACAm/B,EAAA0+L,SAAA,MAGA1+L,EAAAy+L,UAAAz+L,EAAA0+L,UACA,CAAA1+L,EAAAvwB,EAAAuwB,EAAAtwB,IAnGA/P,EAAAC,QAAA,SAAA++N,GACA,IAAA14N,EACAU,EACAW,EAAA,CACAd,KAAA,oBACAM,SAAA,IAOA,GAJAH,EADA,YAAAg4N,EAAAn4N,KACAm4N,EAAAx4N,SAEAw4N,EAEA,eAAAh4N,EAAAH,KACAP,EAAA,CAAAU,EAAAV,kBACK,uBAAAU,EAAAH,KACLP,EAAAU,EAAAV,iBACK,oBAAAU,EAAAH,KACLP,EAAA,GAAA+O,OAAAnS,MAAA,GAAA8D,EAAAV,iBACK,gBAAAU,EAAAH,KAGL,UAAA9D,MAAA,6FAFAuD,EAAAU,EAAAV,YAqCA,OAhCAA,EAAAmR,QAAA,SAAAwnN,GACA34N,EAAAmR,QAAA,SAAAynN,GACA,QAAA59N,EAAA,EAA2BA,EAAA29N,EAAAn8N,OAAA,EAAsBxB,IAEjD,QAAAoC,EAAApC,EAA+BoC,EAAAw7N,EAAAp8N,OAAA,EAAsBY,IAAA,CACrD,GAAAu7N,IAAAC,EAAA,CAEA,OAAAx6N,KAAA6hB,IAAAjlB,EAAAoC,GACA,SAGA,GAEA,IAAApC,GACAoC,IAAAu7N,EAAAn8N,OAAA,GAEAm8N,EAAA39N,GAAA,KAAA29N,IAAAn8N,OAAA,OACAm8N,EAAA39N,GAAA,KAAA29N,IAAAn8N,OAAA,MAEA,SAIA,IAAA+3G,EAAAqjH,EAAAe,EAAA39N,GAAA,GAAA29N,EAAA39N,GAAA,GAAA29N,EAAA39N,EAAA,MAAA29N,EAAA39N,EAAA,MACA49N,EAAAx7N,GAAA,GAAAw7N,EAAAx7N,GAAA,GAAAw7N,EAAAx7N,EAAA,MAAAw7N,EAAAx7N,EAAA,OACAm3G,GACAlzG,EAAAR,SAAA5F,KAAAyC,EAAA,CAAA62G,EAAA,GAAAA,EAAA,WAMAlzG,sCC9EA,IAAAw3N,EAAA/+N,EAAA,QAAAg/N,EAAAh/N,EAAAyC,EAAAs8N,GAAgsBC,EAAG,qCCEnsB,IAAAt3N,EAAc1H,EAAQ,QACtByiE,EAAYziE,EAAQ,QAQpB,SAAA+wG,EAAAC,EAAAC,GACA,IAKA7mE,EACAvsB,EACAohN,EAPAx5J,EAAA,GASA,GAAAurC,EAAAjrC,UAAAirC,EAAAjrC,SAAA,EACAk5J,EAAAjuH,EAAAjrC,aACE,CACF,IAAAm5J,EAAAx3N,EAAAwzM,QAAAjqG,EAAAjiG,IAAAiiG,EAAAlqE,KAAA,GACAk4L,EAAAv3N,EAAAwzM,QAAAgkB,GAAAluH,EAAAtD,SAAA,OAEA7vF,EAAAmzF,EAAAnzF,eACA3W,IAAA2W,IAEAusB,EAAA9lC,KAAAulB,IAAA,GAAAhM,GACAohN,EAAA36N,KAAAo6B,KAAAugM,EAAA70L,MAGA,IAAA+0L,EAAA76N,KAAAuS,MAAAo6F,EAAAlqE,IAAAk4L,KACAG,EAAA96N,KAAAo6B,KAAAuyE,EAAAjiG,IAAAiwN,KAGAv3N,EAAAo9D,cAAAksC,EAAAjqE,MAAAr/B,EAAAo9D,cAAAksC,EAAAhiG,OAAAgiG,EAAAjrC,UAEAr+D,EAAAwxM,aAAAloG,EAAAhiG,IAAAgiG,EAAAjqE,KAAAiqE,EAAAjrC,SAAAk5J,EAAA,OACAE,EAAAnuH,EAAAjqE,IACAq4L,EAAApuH,EAAAhiG,KAIA,IAAAqwN,GAAAD,EAAAD,GAAAF,EAGAI,EADA33N,EAAAuxM,aAAAomB,EAAA/6N,KAAAkjB,MAAA63M,GAAAJ,EAAA,KACA36N,KAAAkjB,MAAA63M,GAEA/6N,KAAAo6B,KAAA2gM,GAGAxhN,EAAA,EACAohN,EAAA,IACAphN,EAAAvZ,KAAAulB,IAAA,KAAAvlB,KAAAuS,MAAAnP,EAAA0pG,MAAA6tH,KACAE,EAAA76N,KAAAkjB,MAAA23M,EAAAthN,KACAuhN,EAAA96N,KAAAkjB,MAAA43M,EAAAvhN,MAEA4nD,EAAAtkE,UAAA+F,IAAA8pG,EAAAjqE,IAAAiqE,EAAAjqE,IAAAo4L,GACA,QAAAh8N,EAAA,EAAgBA,EAAAk8N,IAAel8N,EAC/BsiE,EAAAtkE,KAAAmD,KAAAkjB,OAAA23M,EAAAh8N,EAAA87N,GAAAphN,MAIA,OAFA4nD,EAAAtkE,UAAA+F,IAAA8pG,EAAAhiG,IAAAgiG,EAAAhiG,IAAAowN,GAEA35J,EAGA7lE,EAAAC,QAAA,SAAAgjC,GAEA,IAAAj7B,EAAAF,EAAAE,KAEAi7B,EAAA8pE,gBAAAlqC,EAAAx3D,OAAA,CACAw7B,cAAA,SAAAjgC,GACA,wBAAAA,GACAA,EAEAi8D,EAAAjhE,UAAAilC,cAAAl1B,KAAAhR,KAAAiG,IAGAgnG,uBAAA,WACA,IAAA9hG,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACA47D,EAAAx7D,EAAAo4D,MAKA,GAAAoD,EAAA0zC,YAAA,CACA,IAAA+iH,EAAA53N,EAAAy5C,KAAAz1C,EAAAq7B,KACAw4L,EAAA73N,EAAAy5C,KAAAz1C,EAAAsD,KAEAswN,EAAA,GAAAC,EAAA,EAEA7zN,EAAAsD,IAAA,EACKswN,EAAA,GAAAC,EAAA,IAEL7zN,EAAAq7B,IAAA,GAIA,IAAAy4L,OAAAt4N,IAAA2hE,EAAA9hC,UAAA7/B,IAAA2hE,EAAAupB,aACAqtI,OAAAv4N,IAAA2hE,EAAA75D,UAAA9H,IAAA2hE,EAAAwpB,kBAEAnrF,IAAA2hE,EAAA9hC,IACAr7B,EAAAq7B,IAAA8hC,EAAA9hC,SACI7/B,IAAA2hE,EAAAupB,eACJ,OAAA1mF,EAAAq7B,IACAr7B,EAAAq7B,IAAA8hC,EAAAupB,aAEA1mF,EAAAq7B,IAAAziC,KAAAyiC,IAAAr7B,EAAAq7B,IAAA8hC,EAAAupB,oBAIAlrF,IAAA2hE,EAAA75D,IACAtD,EAAAsD,IAAA65D,EAAA75D,SACI9H,IAAA2hE,EAAAwpB,eACJ,OAAA3mF,EAAAsD,IACAtD,EAAAsD,IAAA65D,EAAAwpB,aAEA3mF,EAAAsD,IAAA1K,KAAA0K,IAAAtD,EAAAsD,IAAA65D,EAAAwpB,eAIAmtI,IAAAC,GAKA/zN,EAAAq7B,KAAAr7B,EAAAsD,MACAwwN,EACA9zN,EAAAsD,IAAAtD,EAAAq7B,IAAA,EAEAr7B,EAAAq7B,IAAAr7B,EAAAsD,IAAA,GAKAtD,EAAAq7B,MAAAr7B,EAAAsD,MACAtD,EAAAsD,MAEA65D,EAAA0zC,aACA7wG,EAAAq7B,QAIA0mE,aAAA7lG,EACAgmG,yBAAAhmG,EAEAigE,WAAA,WACA,IAAAn8D,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACA47D,EAAAx7D,EAAAo4D,MAMAioC,EAAAhiG,EAAA+hG,eACAC,EAAAppG,KAAA0K,IAAA,EAAA0+F,GAEA,IAAAgyH,EAAA,CACAhyH,WACA3mE,IAAA8hC,EAAA9hC,IACA/3B,IAAA65D,EAAA75D,IACA6O,UAAAgrD,EAAAhrD,UACAkoD,SAAAr+D,EAAA+F,eAAAo7D,EAAA82J,cAAA92J,EAAA9C,WAEAN,EAAA/5D,EAAA+5D,MAAAsrC,EAAA2uH,EAAAh0N,GAEAA,EAAAkiG,2BAIAliG,EAAAsD,IAAAtH,EAAAsH,IAAAy2D,GACA/5D,EAAAq7B,IAAAr/B,EAAAq/B,IAAA0+B,GAEAoD,EAAArgE,SACAi9D,EAAAj9D,UAEAkD,EAAAuP,MAAAvP,EAAAsD,IACAtD,EAAAyP,IAAAzP,EAAAq7B,MAEAr7B,EAAAuP,MAAAvP,EAAAq7B,IACAr7B,EAAAyP,IAAAzP,EAAAsD,MAGAg6D,qBAAA,WACA,IAAAt9D,EAAAnL,KACAmL,EAAAoiG,eAAApiG,EAAA+5D,MAAA5iE,QACA6I,EAAAm1G,cAAAn1G,EAAA+5D,MAAAliE,QAAA,GAEAk/D,EAAAjhE,UAAAwnE,qBAAAz3D,KAAA7F,0CCjMA,IAAA8M,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,cAAwBe,MAAA,CAAO7pB,KAAA,UAAgBwqB,GAAA,CAAK+nC,MAAA5pC,EAAA4pC,MAAA2mK,cAAAvwM,EAAAwwM,WAAAC,MAAAzwM,EAAAywM,QAAkE,CAAAzwM,EAAAoD,GAAA,gBAC/MhB,EAAA,GCWAsuM,EAAA,CACA52N,KADA,WAEA,OACA62N,eAAA,OAGAlrM,QAAA,CACAmkC,MADA,SACA52C,GACA9hB,KAAAy/N,eAAA39M,EAAAK,MAAAhW,OAEA,IAAAH,EAAA6rM,iBAAA/1L,GAAA9V,MAEA8V,EAAAK,MAAAnW,QACA8V,EAAAK,MAAApa,SAAA,WACA+Z,EAAAK,MAAAu9M,WAAA,SACA59M,EAAAK,MAAAhW,OAAA,OAEA,IAAAA,EAAA0rM,iBAAA/1L,GAAA3V,OAEA2V,EAAAK,MAAAnW,MAAA,KACA8V,EAAAK,MAAApa,SAAA,KACA+Z,EAAAK,MAAAu9M,WAAA,KACA59M,EAAAK,MAAAhW,OAAA,EAEA21G,sBAAA,WACAhgG,EAAAK,MAAAhW,YAGAmzN,WAtBA,SAsBAx9M,GACAA,EAAAK,MAAAhW,OAAA,OACAnM,KAAAgsC,MAAA,UAEAuzL,MA1BA,SA0BAz9M,GACA,IAAA3V,EAAA0rM,iBAAA/1L,GAAA3V,OAEA2V,EAAAK,MAAAhW,SAEA21G,sBAAA,WACAhgG,EAAAK,MAAAhW,OAAA,OClDyYwzN,EAAA,0BCQzY7tM,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdunN,EACA1nN,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,gCCnBf,IAAA68F,EAAelvH,EAAQ,QACvBkU,EAAalU,EAAQ,QACrB64G,EAAY74G,EAAQ,QAgCpBJ,EAAAC,QAAA,SAAAguD,EAAAtrD,EAAA49N,EAAAC,GACA,IAAA1wG,EAAA7W,EAAA,GAEA4W,EAAAltH,EAAAwE,SAAA2C,IAAA,SAAA0D,GACA,OACAkxE,KAAAlxE,EAAAhH,SAAAF,YAAA,GACAq4E,KAAAnxE,EAAAhH,SAAAF,YAAA,GACAs4E,KAAApxE,EAAAhH,SAAAF,YAAA,GACAu4E,KAAArxE,EAAAhH,SAAAF,YAAA,GACAw2M,SAAAtvM,EAAAiG,WAAA8sN,MAsBA,OAlBAzwG,EAAAx3E,KAAAu3E,GACA5hE,EAAA9mD,SAAAsQ,QAAA,SAAAs6C,GAEAA,EAAAt+C,aACAs+C,EAAAt+C,WAAA,IAEA,IAAAsN,EAAAuuG,EAAAv9D,GACA0uK,EAAA3wG,EAAAzW,OAAA,CAA4C36B,KAAA39D,EAAA,GAAA49D,KAAA59D,EAAA,GAAA69D,KAAA79D,EAAA,GAAA89D,KAAA99D,EAAA,KAC5CoH,EAAA,GACAs4M,EAAAhpN,QAAA,SAAAX,GACAxC,EAAA,CAAwBzN,KAAA,QAAAP,YAAA,CAAAwQ,EAAA4nE,KAAA5nE,EAAA6nE,OAAmD5sB,IAC3E5pC,EAAA5mB,KAAAuV,EAAAgmM,YAIA/qJ,EAAAt+C,WAAA+sN,GAAAr4M,IAGA8lC,sCCjEA,IAAAyyK,EAAAtgO,EAAA,QAAAugO,EAAAvgO,EAAAyC,EAAA69N,GAA2qBC,EAAG,wBCC9qB,IAAArhM,EAAWl/B,EAAQ,QACnB4mC,EAAW5mC,EAAQ,QACnB4G,EAAc5G,EAAQ,QAAe4G,QACrCI,EAAchH,EAAQ,QAAiBgH,QACvCM,EAAkBtH,EAAQ,QAAYsH,YAkEtC,SAAAk5N,EAAAn5N,GACA,OAAAA,EAAAZ,MACA,cACA,OAAAmgC,EAAAv/B,GAAA,EAAAA,EACA,KACA,mBACA,IAAAnB,EAAA,GAIA,GAHAoB,EAAAD,EAAA,SAAAT,GACAggC,EAAAhgC,GAAA,GAAAV,EAAA/E,KAAAyF,EAAAR,SAAAF,eAEAA,EAAAxD,OAAA,OAAwC+D,KAAA,eAAAP,gBAxCxCtG,EAAAC,QAAA,SAAA4gO,EAAAC,GACA,IAAAhjL,EAAA12C,EAAAy5N,GACA9iL,EAAA32C,EAAA05N,GACArtN,EAAAotN,EAAAptN,YAAA,GAKA,GAFAqqC,EAAA8iL,EAAA9iL,GACAC,EAAA6iL,EAAA7iL,IACAD,EAAA,YACA,IAAAC,EAAA,OAAA/2C,EAAA82C,EAAArqC,GAGA,IAAA6sB,EAAA,IAAAhB,EAAAiB,GAAAC,cACAv/B,EAAAq/B,EAAAG,KAAAqd,GACA58C,EAAAo/B,EAAAG,KAAAsd,GACAgjL,EAAA9/N,EAAAizK,WAAAhzK,GACA,GAAA6/N,EAAAjmH,UAAA,YACA,IAAAp6E,EAAA,IAAApB,EAAAiB,GAAAI,cACAl5B,EAAAi5B,EAAAE,MAAAmgM,GAEA,OAAA/5N,EAAAS,EAAAgM,0BC5DA,IAAAwlG,EAAY74G,EAAQ,QAGpBgoB,EAAA,WACA,IAAAyiC,EAAA,GAQA,OAPAroD,MAAAZ,UAAAqB,MAAA0O,KAAA4+B,WAAA94B,QAAA,SAAAk3H,GACAA,GACA51H,OAAA2C,KAAAizH,GAAAl3H,QAAA,SAAAkC,GACAkxC,EAAAlxC,GAAAg1H,EAAAh1H,OAIAkxC,GA8IA,SAAA/P,EAAAkmL,EAAAC,EAAAC,EAAAC,GACA,GAAAC,EAAAJ,EAAAE,IAAAE,EAAAJ,EAAAG,IAAAC,EAAAH,EAAAC,IAAAE,EAAAD,EAAAD,GAAA,YACA,IAAAl9K,EAAAg9K,EAAA,GACAvlM,EAAAulM,EAAA,GACApsN,EAAAqsN,EAAA,GACApsN,EAAAosN,EAAA,GACAnsN,EAAAosN,EAAA,GACAnsN,EAAAmsN,EAAA,GACAh/L,EAAAi/L,EAAA,GACAh/L,EAAAg/L,EAAA,GACAE,GAAAr9K,EAAApvC,IAAAG,EAAAotB,IAAA1G,EAAA5mB,IAAAC,EAAAotB,GACA,MAAAm/L,EAAA,YACA,IAAAC,IAAAt9K,EAAAnvC,EAAA4mB,EAAA7mB,IAAAE,EAAAotB,IAAA8hB,EAAApvC,IAAAE,EAAAqtB,EAAAptB,EAAAmtB,IAAAm/L,EACAE,IAAAv9K,EAAAnvC,EAAA4mB,EAAA7mB,IAAAG,EAAAotB,IAAA1G,EAAA5mB,IAAAC,EAAAqtB,EAAAptB,EAAAmtB,IAAAm/L,EACA,OAAAC,EAAAC,GAIA,SAAAH,EAAAI,EAAAC,GAEA,IAAAD,IAAAC,EACA,SAGA,GAAAD,EAAA1+N,QAAA2+N,EAAA3+N,OACA,SAEA,QAAAxB,EAAA,EAAAoR,EAAA8uN,EAAA1+N,OAAkCxB,EAAAoR,EAAOpR,IAEzC,GAAAkgO,EAAAlgO,aAAAkB,OAAAi/N,EAAAngO,aAAAkB,OAEA,IAAA4+N,EAAAI,EAAAlgO,GAAAmgO,EAAAngO,IACA,cAEA,GAAAkgO,EAAAlgO,IAAAmgO,EAAAngO,GAEA,SAGA,SAnLAsG,SAAA,CACA2mD,iBAAA,EACA5xB,QAAA,EACA+kM,sBAAA,EACAC,oBAAA,GAGA3hO,EAAAC,QAAA,SAAA+G,EAAA46N,EAAAC,GACA,IAAAx0N,EAOA,GALAA,EAAA+a,EAAAxgB,SADA,kBAAAi6N,EACAA,EAEA,CAA8BtzK,gBAAAszK,IAG9B,WAAA76N,EAAAR,SAAAK,KAAA,UAAA9D,MAAA,uCAEA,IAAAiR,EAAAhN,EAAAR,SAAAF,YAEAukD,EAAA,GACAi3K,EAAA,GAEA,GAAAz0N,EAAAkhD,gBAAA,CAEA,IADA,IAAAwzK,EAAA,GACAC,EAAA,EAAuBA,EAAAhuN,EAAAlR,OAAsBk/N,IAC7C,QAAAC,EAAA,EAAyBA,EAAAjuN,EAAAguN,GAAAl/N,OAAA,EAA+Bm/N,IACxDF,EAAAxgO,KAAA2gO,EAAAF,EAAAC,IAGA,IAAA/mK,EAAA+9C,IACA/9C,EAAA5iB,KAAAypL,GAGA,IAAAC,EAAA,EAAqBA,EAAAhuN,EAAAlR,OAAsBk/N,IAC3C,IAAAC,EAAA,EAAuBA,EAAAjuN,EAAAguN,GAAAl/N,OAAA,EAA+Bm/N,IACtD,GAAA50N,EAAAkhD,gBAAA,CACA,IAAA4zK,EAAAjnK,EAAAm+C,OAAA6oH,EAAAF,EAAAC,IACAE,EAAA1qN,QAAA,SAAA2qN,GACA,IAAAC,EAAAD,EAAAhqN,KACAkqN,EAAAF,EAAApnN,KACAunN,EAAAP,EAAAC,EAAAI,EAAAC,UAIA,QAAAD,EAAA,EAA2BA,EAAAruN,EAAAlR,OAAsBu/N,IACjD,QAAAC,EAAA,EAA8BA,EAAAtuN,EAAAquN,GAAAv/N,OAAA,EAA+Bw/N,IAE7DC,EAAAP,EAAAC,EAAAI,EAAAC,GAQA,OADAV,IAAA/2K,EAAA,CAA2BhkD,KAAA,UAAAL,SAAA,CAA4BK,KAAA,aAAAP,YAAAukD,KACvDA,EAGA,SAAA23K,EAAAC,GACA,IAAAj5M,EAAAnc,EAAAsvB,QAAAtvB,EAAAsvB,QACA,OAAAnT,IAAAi5M,EAAA,IAAAA,EAAA,IAAAj5M,GAAAi5M,IAEA,SAAAC,EAAAD,GACA,OAAAA,EAAA,EAAAp1N,EAAAsvB,SAAA8lM,EAAA,EAAAp1N,EAAAsvB,QAGA,SAAA4lM,EAAAP,EAAAC,EAAAI,EAAAC,GACA,IAAAtB,EAAAhtN,EAAAguN,GAAAC,GACAhB,EAAAjtN,EAAAguN,GAAAC,EAAA,GACAf,EAAAltN,EAAAquN,GAAAC,GACAnB,EAAAntN,EAAAquN,GAAAC,EAAA,GAEAK,EAAA7nL,EAAAkmL,EAAAC,EAAAC,EAAAC,GAEA,SAAAwB,EAAA,CAEA,GAAA1B,EAAA,IAAAD,EAAA,GACA,IAAA4B,GAAAD,EAAA,GAAA3B,EAAA,KAAAC,EAAA,GAAAD,EAAA,SAEA4B,GAAAD,EAAA,GAAA3B,EAAA,KAAAC,EAAA,GAAAD,EAAA,IAEA,GAAAG,EAAA,IAAAD,EAAA,GACA,IAAA2B,GAAAF,EAAA,GAAAzB,EAAA,KAAAC,EAAA,GAAAD,EAAA,SAEA2B,GAAAF,EAAA,GAAAzB,EAAA,KAAAC,EAAA,GAAAD,EAAA,IAKA,IAAAwB,EAAAE,KAAAF,EAAAG,MAMAL,EAAAI,KAAAJ,EAAAK,IACAx1N,EAAAq0N,yBAKAc,EAAAI,KAAAJ,EAAAK,IACAx1N,EAAAs0N,oBADA,CAIA,IAAAhoN,EAAAgpN,EACAv0L,GAAA0zL,EAAAnoN,GACAy0B,IACA0zL,EAAAnoN,IAAA,GAGAioN,EACA/2K,EAAAtpD,KAAAqgO,EAAAe,EAAAX,EAAAC,EAAAjB,EAAAC,EAAA2B,EAAAP,EAAAC,EAAApB,EAAAC,EAAA0B,EAAAz0L,IAEAyc,EAAAtpD,KAAAohO,KAKA,SAAAT,EAAA9pN,EAAA4C,GAEA,IAAAK,EAAArH,EAAAoE,GAAA4C,GACAO,EAAAvH,EAAAoE,GAAA4C,EAAA,GAEA,GAAAK,EAAA,GAAAE,EAAA,GACA,IAAAmjE,EAAArjE,EAAA,GAAAujE,EAAArjE,EAAA,QAEAmjE,EAAAnjE,EAAA,GAAAqjE,EAAAvjE,EAAA,GAEA,GAAAA,EAAA,GAAAE,EAAA,GACA,IAAAojE,EAAAtjE,EAAA,GAAAwjE,EAAAtjE,EAAA,QAEAojE,EAAApjE,EAAA,GAAAsjE,EAAAxjE,EAAA,GAEA,OAAYqjE,OAAAC,OAAAC,OAAAC,OAAAzmE,OAAA4C,6CCrJZ,IAAApC,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,sBAAAolC,MAAA,CAAyC4tK,SAAArzM,EAAAod,OAAoB,CAAAjd,EAAA,OAAYE,YAAA,6BAAAolC,MAAA,CAAgD4tK,SAAArzM,EAAAod,MAAmBvb,GAAA,CAAKC,MAAA9B,EAAAszM,SAAoB,CAAAnzM,EAAA,MAAWE,YAAA,eAA0B,CAAAL,EAAAoD,GAAA,UAAApD,EAAAM,GAAA,aAAAN,EAAAO,GAAAP,EAAAuzM,QAAA,kBAAApzM,EAAA,OAAsFE,YAAA,kBAA6B,CAAAF,EAAA,SAAcE,YAAA,QAAmB,CAAAF,EAAA,cAAmBe,MAAA,CAAO7pB,KAAA,OAAA+7B,KAAA,WAA+B,CAAApT,EAAA,KAAAG,EAAA,OAAuBjW,KAAA,GAAS,CAAA8V,EAAAoD,GAAA,iBAAAjD,EAAA,OAAoCjW,KAAA,GAAU,CAAA8V,EAAAoD,GAAA,uBAAAjD,EAAA,OAA0CE,YAAA,cAAAolC,MAAA,CAAiC4tK,SAAArzM,EAAAod,OAAoB,CAAAjd,EAAA,KAAUE,YAAA,2BAA+BF,EAAA,sBAAiC0B,GAAA,CAAI2xM,MAAA,SAAAx2L,GAAyB,OAAAhd,EAAAkd,MAAA,YAA4B,CAAA/c,EAAA,OAAYwc,WAAA,EAAatlC,KAAA,OAAAulC,QAAA,SAAAzlC,MAAA6oB,EAAA,KAAAe,WAAA,SAAgEV,YAAA,+BAA4C,CAAAF,EAAA,OAAYE,YAAA,wBAAmC,CAAAL,EAAAoD,GAAA,wBACr+BhB,EAAA,eCoCAqxM,EAAA,CACAlvM,WAAA,CACAmvM,qBAAA,MAEA7pN,MAAA,CACA0pN,OAAA,GACAp8N,MAAA,CACAC,KAAAimC,QACA1a,QAAA,OAGA7oB,KAXA,WAYA,OACA65N,cAAA,IAGA/wM,SAAA,CACAwa,KADA,WAEA,cAAAlsC,KAAAiG,MAAAjG,KAAAyiO,aAAAziO,KAAAiG,QAGAsuB,QAAA,CACA6tM,OADA,WAEA,OAAApiO,KAAAiG,MACAjG,KAAAyiO,cAAAziO,KAAAyiO,aAEAziO,KAAAgsC,MAAA,SAAAhsC,KAAAiG,UC/D0Xy8N,EAAA,0BCQ1X5wM,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdsqN,EACAzqN,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,gCCnBf,IAAArsB,EAAehG,EAAQ,QAAiBgG,SAyBxC,SAAAykC,EAAAxvB,EAAAE,EAAA+nN,GACA,QAAAA,EAAA,OAAAC,EAAAloN,EAAAE,GAEA,IAAA4yF,EAAAzpG,KAAAsvC,GAAA,IACAo6D,EAAA,IAAA1pG,KAAAsvC,GACAq6D,EAAAjoG,EAAAiV,GACAmkL,EAAAp5L,EAAAmV,GAEA83C,EAAA86C,EAAAE,EAAA,GACA96C,EAAA46C,EAAAqxF,EAAA,GACAlsI,EAAA66C,EAAAE,EAAA,GACA76C,EAAA26C,EAAAqxF,EAAA,GACAv+L,EAAAyD,KAAAolB,IAAAypC,EAAAF,GAAA3uD,KAAAklB,IAAA4pC,GACAtyD,EAAAwD,KAAAklB,IAAA0pC,GAAA5uD,KAAAolB,IAAA0pC,GACA9uD,KAAAolB,IAAAwpC,GAAA5uD,KAAAklB,IAAA4pC,GAAA9uD,KAAAklB,IAAA2pC,EAAAF,GAEAmwK,EAAAp1H,EAAA1pG,KAAAg4C,MAAAz7C,EAAAC,GAEA,OAAAsiO,EAUA,SAAAD,EAAAloN,EAAAE,GAEA,IAAAioN,EAAA34L,EAAAtvB,EAAAF,GAEA,OADAmoN,KAAA,SACAA,EAGAxjO,EAAAC,QAAA4qC,wBC5DA,IAAAouE,EAAY74G,EAAQ,QACpBogE,EAAYpgE,EAAQ,QACpB0H,EAAc1H,EAAQ,QACtBgqC,EAAehqC,EAAQ,QACvBsH,EAAkBtH,EAAQ,QAAYsH,YA6CtC,SAAA+7N,EAAAC,EAAAC,EAAAC,GACA,IAAAt9N,EAAA,GAUA,OATAA,EAAA/E,KAAAmiO,EAAAl9N,SAAAF,YAAA,IAEAoB,EAAAi8N,EAAA,SAAA38N,GACAV,EAAA/E,KAAAyF,EAAAR,SAAAF,YAAA,MAGAoB,EAAAk8N,EAAA,SAAA58N,GACAV,EAAA/E,KAAAyF,EAAAR,SAAAF,YAAA,MAEAwB,EAAAsyB,QAAA9zB,GAUA,SAAAu9N,EAAAzpM,GACA,IAAA0pM,EAAA,GACAC,EAAA,GAUA,OATAr8N,EAAA0yB,EAAA,SAAApzB,GACA,IAAAV,EAAAU,EAAAR,SAAAF,YACA09N,EAAA19N,EAAA,GACA29N,EAAA39N,EAAArD,MAAA,GACA6gO,EAAAviO,KAAAuG,EAAAsyB,QAAA,CAAA4pM,KACAC,EAAAxsN,QAAA,SAAAysN,GACAH,EAAAxiO,KAAAuG,EAAAsyB,QAAA,CAAA8pM,SAGA,CAAAp8N,EAAAZ,kBAAA48N,GAAAh8N,EAAAZ,kBAAA68N,IAUA,SAAAI,EAAAj/K,GACA,IAAAk/K,EAAA,qDACA99N,EAAA4+C,KAAA1+C,SAAAF,aAAA89N,EACA,OAAAt8N,EAAAsyB,QAAA9zB,GAUA,SAAA+9N,EAAAp2K,GACA,GAAAA,EAAA9mD,SAAArE,QAAA,SAAAmrD,EAEA,IAAAiN,EAAAopK,EAAAr2K,GACAtmD,EAAA,GACA48N,EAAA,GAkCA,OAhCA78N,EAAAumD,EAAA,SAAAn6C,EAAAd,GAEA,GAAAuxN,EAAAvxN,GAAA,SAGAkoD,EAAAk+C,OAAA,CAAqBr4G,MAAAiS,GAAoBwxN,GACzCD,EAAAvxN,IAAA,EAGA,SACA,IAAA+N,EAAAqpB,EAAAt2B,GACAulG,EAAAn+C,EAAAm+C,OAAA,CACA36B,KAAA39D,EAAA,GACA49D,KAAA59D,EAAA,GACA69D,KAAA79D,EAAA,GACA89D,KAAA99D,EAAA,KAEA,GAAAs4F,EAAAv2G,OAAA,GACA,IAAA0uH,EAAAnY,EAAAvvG,IAAA,SAAA0D,GAGA,OAFA+2N,EAAA/2N,EAAAzM,QAAA,EACAm6D,EAAAk+C,OAAA,CAAiCr4G,MAAAyM,EAAAzM,OAAkByjO,GACnDh3N,EAAAnG,UAEAmqH,EAAAjwH,KAAAuS,GACAA,EAAA0sD,EAAAt9D,MAAAvC,KAAA6wH,GAGA,OAAAnY,EAAAv2G,OAAA,MAEA6E,EAAApG,KAAAuS,KAGAhM,EAAAZ,kBAAAS,GAWA,SAAA68N,EAAAvjO,EAAAC,GACA,OAAAD,EAAAF,QAAAG,EAAAH,MAUA,SAAAujO,EAAAn9N,GACA,IAAA+zD,EAAA+9C,IACA3gE,EAAA,GAaA,OAZA5wC,EAAAP,EAAA,SAAAH,EAAAjG,GACA,IAAAggB,EAAAqpB,EAAApjC,GACAsxC,EAAA/2C,KAAA,CACAm9E,KAAA39D,EAAA,GACA49D,KAAA59D,EAAA,GACA69D,KAAA79D,EAAA,GACA89D,KAAA99D,EAAA,GACA1Z,QAAAL,EACAjG,YAGAm6D,EAAA5iB,QACA4iB,EA/JAl7D,EAAAC,QAAA,SAAAm6B,EAAA8qB,GAEA,IAAAw+K,EAAAS,EAAAj/K,GAGAu/K,EAAAZ,EAAAzpM,GACAupM,EAAAc,EAAA,GACAb,EAAAa,EAAA,GAGAd,EAAAU,EAAAV,GACAC,EAAAS,EAAAT,GAGA,IAAAc,EAAAjB,EAAAC,EAAAC,EAAAC,GACA,OAAAc,sCCnCA1kO,EAAAC,QAAA,SAAAgjC,GAEAA,EAAA0hM,UAAA,SAAAruN,EAAA/K,GAGA,OAFAA,EAAA1E,KAAA,YAEA,IAAAo8B,EAAA3sB,EAAA/K,wCCPe4V,EAAA,MACb2U,QADa,WAEXn1B,KAAKo1B,OAAOC,OAAO,uDAAuD,IAE5EC,cAJa,WAKXt1B,KAAKo1B,OAAOC,OAAO,uDAAuD,wCCC9E,IAAAluB,EAAc1H,EAAQ,QAEtBwkO,EAAA,WACAC,EAAA,WACAC,EAAAD,EAAA,iBACAE,EAAAF,EAAA,mBACAG,EAAA,0CAOAC,EAAA,CACAC,WAAA,YACAC,UAAA,YACAC,SAAA,UACAC,aAAA,aACAC,YAAA,YACAC,YAAA,YACAC,UAAA,UACAC,aAAA,WACAC,WAAA,YAYA,SAAAC,EAAAljN,EAAAq6L,GACA,IAAAl2M,EAAAkB,EAAAm0M,SAAAx5L,EAAAq6L,GACA/mM,EAAAnP,KAAAoP,MAAA,qBACA,OAAAD,EAAA0S,OAAA1S,EAAA,SAAAzO,EAQA,SAAAs+N,EAAAn1N,EAAAlF,GACA,IAAAuX,EAAArS,EAAAqS,MAIA+iN,EAAAp1N,EAAAq1N,aAAA,UACAC,EAAAt1N,EAAAq1N,aAAA,SAoBA,GAjBAr1N,EAAAm0N,GAAA,CACAoB,QAAA,CACAl5N,OAAA+4N,EACAl5N,MAAAo5N,EACAjjN,MAAA,CACAra,QAAAqa,EAAAra,QACAqE,OAAAgW,EAAAhW,OACAH,MAAAmW,EAAAnW,SAQAmW,EAAAra,QAAAqa,EAAAra,SAAA,QAEA,OAAAs9N,GAAA,KAAAA,EAAA,CACA,IAAAE,EAAAN,EAAAl1N,EAAA,cACAnJ,IAAA2+N,IACAx1N,EAAA9D,MAAAs5N,GAIA,UAAAJ,GAAA,KAAAA,EACA,QAAAp1N,EAAAqS,MAAAhW,OAIA2D,EAAA3D,OAAA2D,EAAA9D,OAAApB,EAAA8B,QAAA64N,aAAA,OACG,CACH,IAAAC,EAAAR,EAAAl1N,EAAA,eACAnJ,IAAA2+N,IACAx1N,EAAA3D,OAAAq5N,GAKA,OAAA11N,EAQA,IAAA21N,EAAA,WACA,IAAAC,GAAA,EACA,IACA,IAAAh5N,EAAA0L,OAAAC,eAAA,GAAwC,WACxCC,IAAA,WACAotN,GAAA,KAGAl/M,OAAAkrG,iBAAA,SAAAhlH,GACE,MAAAtE,IAGF,OAAAs9N,EAZA,GAiBAC,IAAAF,GAAA,CAA2DG,SAAA,GAE3D,SAAAl0G,EAAAx3G,EAAAhU,EAAAopC,GACAp1B,EAAAw3G,iBAAAxrH,EAAAopC,EAAAq2L,GAGA,SAAAh0G,EAAAz3G,EAAAhU,EAAAopC,GACAp1B,EAAAy3G,oBAAAzrH,EAAAopC,EAAAq2L,GAGA,SAAAE,EAAA3/N,EAAAsC,EAAA2G,EAAAC,EAAA02N,GACA,OACA5/N,OACAsC,QACAyI,OAAA60N,GAAA,KACA32N,OAAAxI,IAAAwI,IAAA,KACAC,OAAAzI,IAAAyI,IAAA,MAIA,SAAA22N,EAAAtsL,EAAAjxC,GACA,IAAAtC,EAAAo+N,EAAA7qL,EAAAvzC,OAAAuzC,EAAAvzC,KACAmQ,EAAAlP,EAAAqlM,oBAAA/yJ,EAAAjxC,GACA,OAAAq9N,EAAA3/N,EAAAsC,EAAA6N,EAAAlH,EAAAkH,EAAAjH,EAAAqqC,GAGA,SAAAusL,EAAAz6J,EAAAsD,GACA,IAAAo3J,GAAA,EACAt2L,EAAA,GAEA,kBACAA,EAAA9tC,MAAAZ,UAAAqB,MAAA0O,KAAA4+B,WACAi/B,KAAA7uE,KAEAimO,IACAA,GAAA,EACA9+N,EAAA86G,iBAAAjxG,KAAAwV,OAAA,WACAy/M,GAAA,EACA16J,EAAAhpE,MAAAssE,EAAAl/B,OAOA,SAAAu2L,EAAAtuM,GACA,IAAAuuM,EAAApkN,SAAAC,cAAA,OACAokN,EAAAlC,EAAA,eACAmC,EAAA,IACAlkN,EACA,oHAUAgkN,EAAAhkN,MAAAmkN,QAAAnkN,EACAgkN,EAAAlkN,UAAAmkN,EACAD,EAAAI,UACA,eAAAH,EAAA,mBAAAjkN,EAAA,yCAGAkkN,EAAA,aACAA,EAAA,4CAKAD,EAAA,mBAAAjkN,EAAA,qFAUA,IAAA8+I,EAAAklE,EAAAthN,WAAA,GACA2hN,EAAAL,EAAAthN,WAAA,GAEAshN,EAAAM,OAAA,WACAxlE,EAAAylE,WAAAL,EACAplE,EAAA0lE,UAAAN,EACAG,EAAAE,WAAAL,EACAG,EAAAG,UAAAN,GAEA,IAAAhkC,EAAA,WACA8jC,EAAAM,SACA7uM,KAMA,OAHA85F,EAAAuvC,EAAA,SAAAohC,EAAA/oJ,KAAA2nH,EAAA,WACAvvC,EAAA80G,EAAA,SAAAnkC,EAAA/oJ,KAAAktL,EAAA,WAEAL,EAIA,SAAAS,EAAA1sN,EAAA0d,GACA,IAAAivM,EAAA3sN,EAAA+pN,KAAA/pN,EAAA+pN,GAAA,IACAz4J,EAAAq7J,EAAAC,YAAA,SAAA1+N,GACAA,EAAA2+N,gBAAA3C,GACAxsM,KAIAzwB,EAAA6G,KAAAq2N,EAAA,SAAAn+N,GACAwrH,EAAAx3G,EAAAhU,EAAAslE,KAQAq7J,EAAAG,SAAA9sN,EAAA+sN,aAEA/sN,EAAAgtN,UAAA1iL,IAAA2/K,GAGA,SAAAgD,EAAAjtN,GACA,IAAA2sN,EAAA3sN,EAAA+pN,IAAA,GACAz4J,EAAAq7J,EAAAC,YAEAt7J,IACArkE,EAAA6G,KAAAq2N,EAAA,SAAAn+N,GACAyrH,EAAAz3G,EAAAhU,EAAAslE,YAGAq7J,EAAAC,aAGA5sN,EAAAgtN,UAAAzuH,OAAA0rH,GAGA,SAAAiD,EAAAltN,EAAAo1B,EAAA9mC,GACA,IAAAq+N,EAAA3sN,EAAA+pN,KAAA/pN,EAAA+pN,GAAA,IAGAkC,EAAAU,EAAAV,QAAAD,EAAAF,EAAA,WACA,GAAAa,EAAAV,QACA,OAAA72L,EAAAu2L,EAAA,SAAAr9N,OAMAo+N,EAAA1sN,EAAA,WACA,GAAA2sN,EAAAV,QAAA,CACA,IAAA1hN,EAAAvK,EAAAk9L,WACA3yL,OAAA0hN,EAAA/uB,YACA3yL,EAAAG,aAAAuhN,EAAA1hN,EAAA4iN,YAIAlB,EAAAM,YAKA,SAAAa,EAAAptN,GACA,IAAA2sN,EAAA3sN,EAAA+pN,IAAA,GACAkC,EAAAU,EAAAV,eAEAU,EAAAV,QACAgB,EAAAjtN,GAEAisN,KAAA/uB,YACA+uB,EAAA/uB,WAAAmwB,YAAApB,GAIA,SAAAqB,EAAA/gI,EAAAvkF,GAEA,IAAAC,EAAAskF,EAAAghI,QAAA1lN,SAAAC,cAAA,SACAykF,EAAAghI,SACAhhI,EAAAghI,OAAAtlN,EACAD,EAAA,mBAAAA,EACAC,EAAAulN,aAAA,mBACA3lN,SAAA4lN,qBAAA,WAAAtjN,YAAAlC,IAGAA,EAAAkC,YAAAtC,SAAA6lN,eAAA1lN,IAGA7iB,EAAAC,QAAA,CAMAkyH,SAAA,qBAAAhrG,QAAA,qBAAAzE,SAEApX,WAAA,WACA,IAAAk9N,EAAA,kCAEAL,EAAAxnO,KAGA,sBAAAokO,EAAA,IAAoDyD,EAAA,eACpDzD,EAAA,IAA4CyD,EAAA,KAC5C1D,EAAA,sBACAC,EAAA,qBACAA,EAAA,cAKA95L,eAAA,SAAAz9B,EAAAjC,GACA,kBAAAiC,EACAA,EAAAkV,SAAA+lN,eAAAj7N,GACGA,EAAA1K,SAEH0K,IAAA,IAGAA,KAAAiD,SAEAjD,IAAAiD,QAMA,IAAA6F,EAAA9I,KAAA09B,YAAA19B,EAAA09B,WAAA,MASA,OAAA50B,KAAA7F,SAAAjD,GACAo4N,EAAAp4N,EAAAjC,GACA+K,GAGA,MAGA87G,eAAA,SAAA97G,GACA,IAAA7F,EAAA6F,EAAA7F,OACA,GAAAA,EAAAm0N,GAAA,CAIA,IAAAoB,EAAAv1N,EAAAm0N,GAAAoB,QACA,mBAAAvuN,QAAA,SAAA6+C,GACA,IAAA1vD,EAAAo/N,EAAA1vK,GACAxuD,EAAAo9D,cAAAt+D,GACA6J,EAAAi4N,gBAAApyK,GAEA7lD,EAAA43N,aAAA/xK,EAAA1vD,KAIAkB,EAAA6G,KAAAq3N,EAAAljN,OAAA,GAAkC,SAAAlc,EAAA+S,GAClClJ,EAAAqS,MAAAnJ,GAAA/S,IAOA6J,EAAA9D,MAAA8D,EAAA9D,aAEA8D,EAAAm0N,KAGAvyG,iBAAA,SAAAlpH,EAAAtC,EAAAopC,GACA,IAAAx/B,EAAAtH,EAAAsH,OACA,cAAA5J,EAAA,CAMA,IAAA2gO,EAAAv3L,EAAA20L,KAAA30L,EAAA20L,GAAA,IACA+D,EAAAnB,EAAAmB,UAAAnB,EAAAmB,QAAA,IACAx8J,EAAAw8J,EAAAx/N,EAAAgC,GAAA,IAAAtE,GAAA,SAAAuzC,GACAnK,EAAAy2L,EAAAtsL,EAAAjxC,KAGAkpH,EAAA5hH,EAAA5J,EAAAslE,QAVA47J,EAAAt3N,EAAAw/B,EAAA9mC,IAaAmpH,oBAAA,SAAAnpH,EAAAtC,EAAAopC,GACA,IAAAx/B,EAAAtH,EAAAsH,OACA,cAAA5J,EAAA,CAMA,IAAA2gO,EAAAv3L,EAAA20L,IAAA,GACA+D,EAAAnB,EAAAmB,SAAA,GACAx8J,EAAAw8J,EAAAx/N,EAAAgC,GAAA,IAAAtE,GACAslE,GAIAmmD,EAAA7hH,EAAA5J,EAAAslE,QAXA87J,EAAAx3N,EAAAw/B,KA0BAnoC,EAAA8gO,SAAAv2G,EAWAvqH,EAAA+gO,YAAAv2G,mFChcA,GAA8BtyH,EAAAC,QAAA,IAAAujF,EAAmCpjF,EAAQ,QACzE,GAA8BJ,EAAAC,QAAA,IAAAwjF,EAA8BrjF,EAAQ,QA4BpE,SAAAioB,EAAAU,EAAAG,GAEA,KAAAvoB,gBAAA0nB,GAAA,WAAAA,EAAAU,EAAAG,GAEAvoB,KAAAooB,IAAAN,OAAAM,GACApoB,KAAAuoB,IAAAT,OAAAS,GAaAb,EAAAzmB,UAAAknO,SAAA,WACA,IAAAhgN,EAAAnoB,KAAAooB,IAAAC,YACAC,EAAAtoB,KAAAuoB,IAAAF,YAGAlZ,EAAApL,KAAAklB,IAAAd,GAAApkB,KAAAklB,IAAAX,GACAlZ,EAAArL,KAAAklB,IAAAd,GAAApkB,KAAAolB,IAAAb,GACAoZ,EAAA39B,KAAAolB,IAAAhB,GAEA,WAAA06D,EAAA1zE,EAAAC,EAAAsyB,IAaAmhD,EAAA5hF,UAAAmnO,UAAA,WACA,IAAAjgN,EAAApkB,KAAAg4C,MAAA/7C,KAAA0hC,EAAA39B,KAAAgR,KAAA/U,KAAAmP,EAAAnP,KAAAmP,EAAAnP,KAAAoP,EAAApP,KAAAoP,IACAkZ,EAAAvkB,KAAAg4C,MAAA/7C,KAAAoP,EAAApP,KAAAmP,GAEA,WAAAuY,EAAAS,EAAAqE,YAAAlE,EAAAkE,cAgBA9E,EAAAzmB,UAAAonO,YAAA,SAAAn+L,GACA,IAAA/hB,EAAAnoB,KAAAooB,IAAAC,YACAC,EAAAtoB,KAAAuoB,IAAAF,YACAigN,EAAAxgN,OAAAoiB,GAAA7hB,YAEAlZ,EAAApL,KAAAolB,IAAAb,GAAAvkB,KAAAklB,IAAAq/M,GAAAvkO,KAAAolB,IAAAhB,GAAApkB,KAAAklB,IAAAX,GAAAvkB,KAAAolB,IAAAm/M,GACAl5N,GAAArL,KAAAklB,IAAAX,GAAAvkB,KAAAklB,IAAAq/M,GAAAvkO,KAAAolB,IAAAhB,GAAApkB,KAAAolB,IAAAb,GAAAvkB,KAAAolB,IAAAm/M,GACA5mM,EAAA39B,KAAAklB,IAAAd,GAAApkB,KAAAolB,IAAAm/M,GAEA,WAAAzlJ,EAAA1zE,EAAAC,EAAAsyB,IAiBAmhD,EAAA5hF,UAAAonO,YAAA,SAAAn+L,GACA,IAAAo+L,EAAAxgN,OAAAoiB,GAAA7hB,YAEA0C,EAAA,IAAA83D,EAAA,OACAz6E,EAAA2iB,EAAAwzB,MAAAv+C,MACAkC,EAAAlC,KAAAu+C,MAAAn2C,GACAmgO,EAAAngO,EAAA6tL,MAAAlyL,KAAAklB,IAAAq/M,GAAAlgO,EAAAjG,UACAqmO,EAAAtmO,EAAA+zL,MAAAlyL,KAAAolB,IAAAm/M,GAAApmO,EAAAC,UACAR,EAAA6mO,EAAA9jC,MAAA6jC,GAEA,OAAA5mO,GAgBA+lB,EAAAzmB,UAAAs5C,WAAA,SAAAl3C,EAAAqM,GACA,KAAArM,aAAAqkB,GAAA,UAAApO,UAAA,8BACA5J,OAAA/I,IAAA+I,EAAA,OAAAoY,OAAApY,GAEA,IAAA2P,EAAArf,KAAAmoO,WACA5oN,EAAAlc,EAAA8kO,WAEAM,EAAAppN,EAAAulL,QAAArlL,GACA9e,EAAAgoO,EAAA/4N,EAEA,OAAAjP,GAgBAinB,EAAAzmB,UAAAynO,UAAA,SAAArlO,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IAAA+F,EAAArf,KAAAmoO,WACA5oN,EAAAlc,EAAA8kO,WAEAp9M,EAAA,IAAA83D,EAAA,OAEA/jE,EAAAO,EAAAk/B,MAAAh/B,GACAR,EAAAM,EAAAk/B,MAAAxzB,GAEAu9M,EAAAxpN,EAAA8lL,QAAA7lL,EAAAM,GAEA,OAAAipN,EAAA97M,YAAA,UAeA9E,EAAAzmB,UAAA0nO,WAAA,SAAAtlO,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IAAA+F,EAAArf,KAAAmoO,WACA5oN,EAAAlc,EAAA8kO,WAEAx6L,EAAAtuB,EAAAolL,KAAAllL,GAAAolD,OAEA,OAAAh3B,EAAAy6L,aAiBA1gN,EAAAzmB,UAAA2nO,oBAAA,SAAAvlO,EAAAw3M,GACA,KAAAx3M,aAAAqkB,GAAA,UAAApO,UAAA,8BAGA,IAAA6yM,EAAAnsN,KAAAmoO,WACAr/M,EAAAzlB,EAAA8kO,WACAtjC,EAAAsnB,EAAA5tK,MAAAz1B,GAAA3mB,SACA2iM,EAAAqnB,EAAAz2B,IAAA5sK,GACA2/M,EAAA1kO,KAAAg4C,MAAA8oJ,EAAAC,GAGA+jC,EAAAJ,EAAA3gN,OAAA+yL,GACAiuB,EAAA/kO,KAAAolB,IAAA0/M,GACAE,EAAAhlO,KAAAklB,IAAA4/M,GAGApoO,EAAA0rN,EAAA5tK,MAAAz1B,GAAA67C,OAAApmB,MAAA4tK,GAGA6c,EAAA7c,EAAAl2B,MAAA8yC,GAAAtkC,KAAAhkM,EAAAw1L,MAAA6yC,IAEA,WAAAjmJ,EAAAmmJ,EAAA75N,EAAA65N,EAAA55N,EAAA45N,EAAAtnM,GAAA0mM,aAkBA1gN,EAAAzmB,UAAAgoO,2BAAA,SAAA5lO,EAAAw3M,GACA,KAAAx3M,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IAAA6yM,EAAAnsN,KAAAmoO,WACAr/M,EAAAzlB,EAAA8kO,WAEAa,EAAA7c,EAAA1nB,KAAA37K,EAAA47K,MAAAynB,GAAAl2B,MAAAnuK,OAAA+yL,KAEA,WAAAh4H,EAAAmmJ,EAAA75N,EAAA65N,EAAA55N,EAAA45N,EAAAtnM,GAAA0mM,aAiBA1gN,EAAAzmB,UAAA45C,iBAAA,SAAAnnC,EAAAw2B,EAAAx6B,GACAA,OAAA/I,IAAA+I,EAAA,OAAAoY,OAAApY,GAEA,IAAAy8M,EAAAnsN,KAAAmoO,WACAM,EAAA3gN,OAAApU,GAAAhE,EACA44N,EAAAxgN,OAAAoiB,GAAA7hB,YAEA0C,EAAA,IAAA83D,EAAA,OAEA7mE,EAAA+O,EAAAwzB,MAAA4tK,GAAAxnJ,OACAmiE,EAAAqlF,EAAA5tK,MAAAviC,GAEAktN,EAAAltN,EAAAi6K,MAAAlyL,KAAAolB,IAAAm/M,IACAa,EAAAriG,EAAAmvD,MAAAlyL,KAAAklB,IAAAq/M,IAEA7nO,EAAA0oO,EAAA1kC,KAAAykC,GAEA/5N,EAAAg9M,EAAAl2B,MAAAlyL,KAAAklB,IAAAw/M,IACAr5N,EAAA3O,EAAAw1L,MAAAlyL,KAAAolB,IAAAs/M,IAEA3/M,EAAA3Z,EAAAs1L,KAAAr1L,GAEA,OAAA0Z,EAAAs/M,aAkBA1gN,EAAAwyF,aAAA,SAAAkvH,EAAAC,EAAAC,EAAAC,GACA,KAAAH,aAAA1hN,GAAA,UAAApO,UAAA,mCACA,KAAAgwN,aAAA5hN,GAAA,UAAApO,UAAA,mCACA,KAAA+vN,aAAA3hN,IAAArY,MAAAg6N,GAAA,UAAA/vN,UAAA,gDACA,KAAAiwN,aAAA7hN,IAAArY,MAAAk6N,GAAA,UAAAjwN,UAAA,gDAOA,IAGAwF,EAAAC,EAAAyqN,EAAAC,EAHApqN,EAAA+pN,EAAAjB,WACA5oN,EAAA+pN,EAAAnB,WAKAkB,aAAA3hN,GACA5I,EAAAO,EAAAk/B,MAAA8qL,EAAAlB,YACAqB,EAAA,aAEA1qN,EAAAsqN,EAAAf,YAAAvgN,OAAAuhN,IACAG,EAAA,WAEAD,aAAA7hN,GACA3I,EAAAQ,EAAAg/B,MAAAgrL,EAAApB,YACAsB,EAAA,aAEA1qN,EAAAuqN,EAAAjB,YAAAvgN,OAAAyhN,IACAE,EAAA,WAIA,IAAA5lK,EAAA/kD,EAAAy/B,MAAAx/B,GACAi/B,EAAAj/B,EAAAw/B,MAAAz/B,GAKAo7F,EAAA,KAAAwvH,EAAA,KAAAC,EAAA,KACA,OAAAH,EAAA,IAAAC,GACA,sBAKA,OAHAC,EAAA3lO,KAAA68C,KAAA9hC,EAAAy/B,MAAAl/B,GAAAq2K,IAAA7xH,IACA8lK,EAAA5lO,KAAA68C,KAAA7hC,EAAAw/B,MAAAh/B,GAAAm2K,IAAA7xH,IAEA6lK,EAAAC,GACA,OACAzvH,EAAAr2C,EACA,MACA,OACAq2C,EAAAl8D,EACA,MACA,OAEAk8D,EAAA76F,EAAAolL,KAAAllL,GAAAm2K,IAAA7xH,GAAA,EAAA7lB,EAAA6lB,EACA,MAEA,MACA,uBACA6lK,EAAA3lO,KAAA68C,KAAA9hC,EAAAy/B,MAAAl/B,GAAAq2K,IAAA7xH,IACAq2C,EAAAwvH,EAAA,EAAA7lK,EAAA7lB,EACA,MACA,uBACA2rL,EAAA5lO,KAAA68C,KAAA7hC,EAAAw/B,MAAAh/B,GAAAm2K,IAAA7xH,IACAq2C,EAAAyvH,EAAA,EAAA9lK,EAAA7lB,EACA,MACA,wBACA,IAAArQ,EAAAtuB,EAAAolL,KAAAllL,GAAAklL,KAAA4kC,EAAAlB,YAAA1jC,KAAA8kC,EAAApB,YACAjuH,EAAAvsE,EAAA+nJ,IAAA7xH,GAAA,EAAAA,EAAA7lB,EACA,MAGA,OAAAk8D,EAAAkuH,aAqBA1gN,EAAAzmB,UAAA2oO,qBAAA,SAAAC,EAAAC,EAAAp6N,GACA,KAAAm6N,aAAAniN,GAAA,UAAApO,UAAA,kCACA,IAAAo2F,OAAA/oG,IAAA+I,EAAA,OAAAoY,OAAApY,GAEAwsB,EAAAl8B,KAAAmoO,WAEAzrB,EAAAotB,aAAApiN,EACAmiN,EAAA1B,WAAA5pL,MAAAurL,EAAA3B,YACA0B,EAAAxB,YAAAvgN,OAAAgiN,IAEA1qB,EAAA1C,EAAA9X,QAAA1oK,GAAAn4B,KAAAsvC,GAAA,EAEA5yC,EAAA2+M,EAAA1vG,EAEA,OAAAjvG,GAqBAinB,EAAAzmB,UAAA8oO,qBAAA,SAAAF,EAAAC,EAAAp6N,GACA,KAAAm6N,aAAAniN,GAAA,UAAApO,UAAA,kCACA,IAAAo2F,OAAA/oG,IAAA+I,EAAA,OAAAoY,OAAApY,GAEAwsB,EAAAl8B,KAAAmoO,WAEAzrB,EAAAotB,aAAApiN,EACAmiN,EAAA1B,WAAA5pL,MAAAurL,EAAA3B,YACA0B,EAAAxB,YAAAvgN,OAAAgiN,IAEAE,EAAAttB,EAAAn+J,MAAAriB,GAAAqiB,MAAAm+J,GAEA0C,EAAAyqB,EAAA1B,WAAAvjC,QAAAolC,EAAAttB,GAEAj8M,EAAA2+M,EAAA1vG,EAEA,OAAAjvG,GAwBAinB,EAAAzmB,UAAAgpO,sBAAA,SAAAn+H,EAAAC,GACA,IAAA7vE,EAAA,KAEA,GAAAl8B,KAAA48J,UAAA9wD,EAAAC,GAAA,CAEA,IAAAm+H,EAAAlqO,KAAAmoO,WAAAhc,EAAArgH,EAAAq8H,WAAAr/M,EAAAijF,EAAAo8H,WACArpN,EAAAqtM,EAAA5tK,MAAAz1B,GACA/J,EAAAmrN,EAAA3rL,MAAAz/B,GACA5c,EAAA4c,EAAAy/B,MAAAx/B,GACAmd,EAAAh6B,EAAAkmO,gBACK,CAEL,IAAA/qM,EAAAr9B,KAAAu6C,WAAAuxD,GACAxuE,EAAAt9B,KAAAu6C,WAAAwxD,GACA7vE,EAAAmB,EAAAC,EAAAwuE,EAAAC,EAGA,OAAA7vE,GAcAxU,EAAAzmB,UAAA27J,UAAA,SAAA9wD,EAAAC,GACA,IAAAm+H,EAAAlqO,KAAAmoO,WAAAhc,EAAArgH,EAAAq8H,WAAAr/M,EAAAijF,EAAAo8H,WAGAgC,EAAAD,EAAAxlC,MAAAynB,GAAAie,EAAAthN,EAAA47K,MAAAynB,GACAke,EAAAH,EAAAxlC,MAAA57K,GAAAwhN,EAAAne,EAAAznB,MAAA57K,GAGAyhN,EAAAJ,EAAAz0C,IAAA00C,GACAI,EAAAH,EAAA30C,IAAA40C,GAEA1tE,EAAA2tE,GAAA,GAAAC,GAAA,EACAC,EAAAP,EAAAx0C,IAAAy2B,IAAA,GAAA+d,EAAAx0C,IAAA5sK,IAAA,EAEA,OAAA8zI,GAAA6tE,GAeA/iN,EAAAzmB,UAAAypO,WAAA,SAAAjxM,GAOA,IAAA6P,EAAA7P,EAAA,GAAAolD,OAAAplD,IAAAt3B,OAAA,IACAmnC,GAAA7P,EAAA74B,KAAA64B,EAAA,IAQA,IANA,IAAAkxM,EAAAlxM,EAAAt3B,OAAA,EAEA+5B,EAAAl8B,KAAAmoO,WAGAyC,EAAA,GACA9nO,EAAA,EAAiBA,EAAA6nO,EAAa7nO,IAAA8nO,EAAA9nO,GAAAo5B,EAAAwoK,MAAAjrK,EAAA32B,GAAAqlO,YAC9ByC,EAAAhqO,KAAAgqO,EAAA,IAGA,IAAAC,EAAA,EACA,IAAA/nO,EAAA,EAAiBA,EAAA6nO,EAAa7nO,IAC9B+nO,GAAAD,EAAA9nO,GAAA8hM,QAAAgmC,EAAA9nO,EAAA,GAAAo5B,GAGA,IAAA4uM,EAAA/mO,KAAA6hB,IAAAilN,GAAA9mO,KAAAsvC,GAIA,OAFA/J,GAAA7P,EAAAl2B,MAEAunO,GAgBApjN,EAAAqjN,OAAA,SAAAtxM,EAAA/pB,GAGA,IAAAggG,OAAA/oG,GAAA+I,EAAA,OAAAoY,OAAApY,GAGA45B,EAAA7P,EAAA,GAAAolD,OAAAplD,IAAAt3B,OAAA,IACAmnC,GAAA7P,EAAA74B,KAAA64B,EAAA,IAMA,IAJA,IAAAv3B,EAAAu3B,EAAAt3B,OAAA,EAGAR,EAAA,GACAmB,EAAA,EAAiBA,EAAAZ,EAAKY,IAAA,CACtB,IAAAnC,EAAA84B,EAAA32B,GAAAqlO,WACAvlO,EAAA62B,EAAA32B,EAAA,GAAAqlO,WACAxmO,EAAAmB,GAAAnC,EAAA49C,MAAA37C,GAEAjB,EAAAf,KAAAe,EAAA,IAMA,IAAAwqN,EAAA1yL,EAAA,GAAA0uM,WACA6C,EAAA,EACA,IAAAloO,EAAA,EAAiBA,EAAAZ,EAAKY,IAAAkoO,GAAArpO,EAAAmB,GAAA8hM,QAAAjjM,EAAAmB,EAAA,GAAAqpN,GACtB,IAAA0e,EAAA3oO,EAAA6B,KAAAsvC,GAAAtvC,KAAA6hB,IAAAolN,GAEAhgN,EAAA6/M,GAAA3oO,EAAA,GAAA6B,KAAAsvC,GACAlL,EAAAnd,EAAA0kF,IAIA,OAFApmE,GAAA7P,EAAAl2B,MAEA4kC,GAWAzgB,EAAAujN,OAAA,SAAAjpO,GAIA,IAHA,IAAAy7B,EAAA,IAAAolD,EAAA,OAGA3mD,EAAA,EAAiBA,EAAAl6B,EAAAG,OAAiB+5B,IAClCuB,IAAAgnK,KAAAziM,EAAAk6B,GAAAisM,YAIA,OAAA1qM,EAAAknC,OAAAyjK,aAeA1gN,EAAAzmB,UAAA49E,OAAA,SAAAx7E,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,OAAAtZ,KAAAooB,KAAA/kB,EAAA+kB,KACApoB,KAAAuoB,KAAAllB,EAAAklB,KAaAb,EAAAzmB,UAAAmsB,SAAA,SAAAoC,EAAA6gF,GACA,OAAAvtB,EAAAwtB,MAAAtwG,KAAAooB,IAAAoH,EAAA6gF,GAAA,KAAAvtB,EAAAytB,MAAAvwG,KAAAuoB,IAAAiH,EAAA6gF,SAOA1pG,IAAAmhB,OAAA7mB,UAAAonB,YACAP,OAAA7mB,UAAAonB,UAAA,WAA6C,OAAAroB,KAAA+D,KAAAsvC,GAAA,WAI7C1sC,IAAAmhB,OAAA7mB,UAAAurB,YACA1E,OAAA7mB,UAAAurB,UAAA,WAA6C,WAAAxsB,KAAA+D,KAAAsvC,UAI7C1sC,IAAA5C,KAAA68C,OACA78C,KAAA68C,KAAA,SAAAzxC,GAEA,OADAA,KACA,IAAAA,GAAAE,MAAAF,KACAA,EAAA,SAKgC9P,EAAAC,UAAAD,EAAAC,QAAAooB,EAAAroB,EAAAC,QAAAujF,+CC/sBhC,IAAAqoJ,EAAAzrO,EAAA,QAAA0rO,EAAA1rO,EAAAyC,EAAAgpO,GAAmmBC,EAAG,sBCAtmB,SAAA1rL,EAAA2rL,GACA,OAAAA,KAAAllO,MAAA,MACA,wBAIA,OAHAklO,EAAA5kO,SAAA4kO,EAAA5kO,SAAAstB,OAAA,SAAAu3M,EAAAhlO,GACA,OAAAglO,EAAA32N,OAAA+qC,EAAAp5C,KACa,IACb+kO,EACA,cACA,OAAAA,EAAAvlO,SACA45C,EAAA2rL,EAAAvlO,UAAAsD,IAAA,SAAArC,GACA,OACAZ,KAAA,UACA4M,WAAAurB,KAAA5R,MAAA4R,KAAAC,UAAA8sM,EAAAt4N,aACAjN,SAAAiB,KALAskO,EAQA,iBACA,OAAAA,EAAAzlO,YAAAwD,IAAA,SAAA8sH,GACA,OAAwB/vH,KAAA,QAAAP,YAAAswH,KAExB,mBACA,OAAAm1G,EAAAzlO,YAAAwD,IAAA,SAAA8sH,GACA,OAAwB/vH,KAAA,UAAAP,YAAAswH,KAExB,sBACA,OAAAm1G,EAAAzlO,YAAAwD,IAAA,SAAA8sH,GACA,OAAwB/vH,KAAA,aAAAP,YAAAswH,KAExB,yBACA,OAAAm1G,EAAAxkO,WAAAuC,IAAAs2C,GAAA3rB,OAAA,SAAAqkF,EAAA70B,GACA,OAAA60B,EAAAzjG,OAAA4uE,IACa,IACb,YACA,cACA,iBACA,OAAA8nJ,IAIA/rO,EAAAC,QAAAmgD,4DCrCA,IAAA6rL,EAAc7rO,EAAQ,QACtB8rO,EAAe9rO,EAAQ,QACvBkW,EAAclW,EAAQ,QACtB+rO,EAAA,WACAC,EAAA,GAAAD,GAEAF,IAAAv1G,EAAAu1G,EAAA/iM,EAAgC9oC,EAAQ,OAARA,CAA4B+rO,GAAA,UAC5DxnH,SAAA,SAAA0nH,GACA,IAAAC,EAAAh2N,EAAA3V,KAAA0rO,EAAAF,GACAI,EAAAh8L,UAAAztC,OAAA,EAAAytC,UAAA,QAAAjpC,EACA4mC,EAAAg+L,EAAAI,EAAAxpO,QACAyY,OAAAjU,IAAAilO,EAAAr+L,EAAAxpC,KAAAyiC,IAAA+kM,EAAAK,GAAAr+L,GACAmrE,EAAAhsF,OAAAg/M,GACA,OAAAD,EACAA,EAAAz6N,KAAA26N,EAAAjzH,EAAA99F,GACA+wN,EAAArpO,MAAAsY,EAAA89F,EAAAv2G,OAAAyY,KAAA89F,2BCjBA,IAAAmzH,EAAsBpsO,EAAQ,QAC9B4D,EAAY5D,EAAQ,QAAe4D,MACnC6mC,EAAczqC,EAAQ,QACtBi1C,EAAkBj1C,EAAQ,QAkB1BJ,EAAAC,QAAA,SAAAuP,EAAA6E,EAAAyrB,GACA,IAAAltB,EACA,eAAApD,EAAA3I,KAAA+L,EAAApD,EAAAhJ,SAAAF,gBACA,mBAAAkJ,EAAA3I,KACA,UAAA9D,MAAA,kDADA6P,EAAApD,EAAAlJ,YAIA,IADA,IAAAquH,EAAA,EACArzH,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAmBxB,IAAA,CACtC,GAAA+S,GAAAsgH,GAAArzH,IAAAsR,EAAA9P,OAAA,QACA,GAAA6xH,GAAAtgH,EAAA,CACA,IAAAogH,EAAApgH,EAAAsgH,EACA,GAAAF,EACA,CACA,IAAAv2G,EAAA2sB,EAAAj4B,EAAAtR,GAAAsR,EAAAtR,EAAA,QACAozH,EAAAr/E,EAAAziC,EAAAtR,GAAAmzH,EAAAv2G,EAAA4hB,GACA,OAAA40F,EAJA,OAAA1wH,EAAA4O,EAAAtR,IAOAqzH,GAAA63G,EAAA55N,EAAAtR,GAAAsR,EAAAtR,EAAA,GAAAw+B,GAGA,OAAA97B,EAAA4O,IAAA9P,OAAA,wCC1CA,IAAA2pO,EAAArsO,EAAA,QAAAssO,EAAAtsO,EAAAyC,EAAA4pO,GAAirBC,EAAG,wBCCprB,IAAAxlO,EAAwB9G,EAAQ,QAAe8G,kBA4B/C,SAAAylO,EAAA54L,EAAAj+B,GACA,IAAAyrM,EAAAxgN,EAAA6rO,EAAA74L,EAAA9wC,MAAA,GAAA3B,EAAAyyC,EAAAjxC,OAAAqkC,EAAA7lC,EAAAwU,EACA,MAAAxU,KAAA6lC,EACApmC,EAAA2D,KAAAuS,OAAA3V,EAAA,GAAAoD,KAAAF,UACA+8M,EAAAqrB,EAAA7rO,GACA6rO,EAAA7rO,GAAA6rO,EAAAtrO,GACAsrO,EAAAtrO,GAAAigN,EAEA,OAAAqrB,EAAA3pO,MAAAkkC,GAbAnnC,EAAAC,QAAA,SAAA2oC,EAAAujK,GACA,IAAA0gC,EAAA3lO,EAAAylO,EAAA/jM,EAAAzhC,SAAAglM,IACA,OAAA0gC,yBC1BA,IAAAtyM,EAAAC;;;;;;;;;;;;;CAOA,SAAAC,EAAAC,GAGQH,EAAO,GAAEC,EAAA,WAAc,OAAS8gC,SAAA5gC,MAA0Bx3B,MAAAjD,EAAAs6B,QAAAjzB,IAAAkzB,IAAAx6B,EAAAC,QAAAu6B,IAHlE,CAgBC75B,EAAA,WAED,IAAAi6B,EAAA,CACAC,gBAAA,KACAC,SAAA,EACAmzB,UAAA,GAGAlzB,EAAA,GASA,SAAAugC,EAAA/xD,EAAAkuD,EAAAq1K,EAAAz/N,GAEAA,KAAA,GAIA,IAFA,IAAA4tB,EAAAliB,OAAA2C,KAAAkf,GAEAt5B,EAAA,EAAkBA,EAAA25B,EAAAn4B,OAAuBxB,IAAA,CACzC,IAAAqY,EAAAshB,EAAA35B,GACA45B,EAAA7tB,EAAAsM,GACAuhB,EAAA,qBAAAA,GAAA,OAAAA,IAAAN,EAAAjhB,GAEAohB,EAAAphB,GAAAuhB,EAGAH,EAAAD,SACAK,QAAAC,IAAA,uDAAAq8B,EAAA,KAAAA,EAAAq1K,GAAA,KAEA,IAEAzxM,EAFAmB,EAAAuwM,GAAAxjO,EAAAkuD,EAAAq1K,GAgBA,OAbA/xM,EAAAkzB,UACAlzB,EAAAD,SACAK,QAAAC,IAAA,4EACAC,EAAA2xM,GAAAxwM,KAEAzB,EAAAD,SACAK,QAAAC,IAAA,4EACAC,EAAA4xM,GAAAzwM,IAGA,oBAAAzB,EAAAF,iBACAE,EAAAF,gBAAAQ,GAEAA,EASA,IAAA6xM,EAAA,GACAC,EAAA,GACAC,EAAA,EACAC,EAAA,EAoGAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAC,EAAA,GACAC,EAAA,GACAC,EAAA,GAEAjB,EAAA,IAAAG,EAAA,OACAF,EAAA,IAAAG,EAAA,MACAF,EAAA,IAAAG,EAAA,MACAO,EAAA,IAAAG,EAAA,MACAF,EAAA,IAAAG,EAAA,MACAF,EAAA,IAAAG,EAAA,MAEAvB,EAAA,IAAAG,EAAA,MACAF,EAAA,IAAAG,EAAA,OACAF,EAAA,IAAAY,EAAA,MACAC,EAAA,IAAAH,EAAA,MACAI,EAAA,IAAAH,EAAA,MACAR,EAAA,IAAAY,EAAA,MAIAI,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAX,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAEAL,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAI,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAEAX,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAL,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OAEAa,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACApB,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OAGAgB,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAX,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAEAX,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAEAX,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAX,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OAEAgB,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAL,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACApB,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAGAI,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAU,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAEAR,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAd,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OAEAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAU,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MAEAR,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAd,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OAEAI,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAU,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAL,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAEAL,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAL,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAd,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MAGAI,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAU,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAvB,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OAEAU,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAI,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAL,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAjB,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAEAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAO,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAL,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAI,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MAEAd,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAd,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MAEAI,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAI,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAO,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACApB,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAEAI,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAI,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACApB,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OAGAO,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAX,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAEAmB,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACApB,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAEAU,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MAEAd,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAI,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MAEAR,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAO,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACApB,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MACAC,EAAA,IAAAA,EAAA,MAEAI,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACAO,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAL,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAX,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OAEAI,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAI,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAI,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAL,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAEAR,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAO,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAvB,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MAEAU,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAL,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAI,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACApB,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OAEAI,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAa,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAL,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MACAjB,EAAA,KAAAA,EAAA,OACAC,EAAA,KAAAA,EAAA,MACAC,EAAA,KAAAA,EAAA,MAEAI,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAI,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAjB,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,QACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OACAC,EAAA,IAAAA,EAAA,OAEAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,QACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAO,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OACAC,EAAA,GAAAA,EAAA,OAGAjB,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAI,EAAA,QACAC,EAAA,OACAC,EAAA,OACAL,EAAA,QACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,QACAC,EAAA,OACAL,EAAA,OACAC,EAAA,QACAC,EAAA,OACApB,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OAEAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAL,EAAA,MACAC,EAAA,MACAC,EAAA,MACAO,EAAA,MACAC,EAAA,MACAC,EAAA,MACAL,EAAA,MACAC,EAAA,MACAC,EAAA,MACApB,EAAA,OACAC,EAAA,MACAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAC,EAAA,MAEAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAL,EAAA,OACAC,EAAA,MACAC,EAAA,MACAO,EAAA,MACAC,EAAA,OACAC,EAAA,MACAL,EAAA,MACAC,EAAA,MACAC,EAAA,MACApB,EAAA,OACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MAGAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAI,EAAA,QACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,QACAC,EAAA,OACApB,EAAA,OACAC,EAAA,OACAC,EAAA,OAEAI,EAAA,OACAC,EAAA,QACAC,EAAA,OACAI,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACApB,EAAA,QACAC,EAAA,OACAC,EAAA,OAEAI,EAAA,OACAC,EAAA,QACAC,EAAA,OACAI,EAAA,OACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,OACAC,EAAA,OACApB,EAAA,QACAC,EAAA,OACAC,EAAA,OAEAI,EAAA,OACAC,EAAA,OACAC,EAAA,OACAI,EAAA,QACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,QACAC,EAAA,OACApB,EAAA,OACAC,EAAA,OACAC,EAAA,OAGAI,EAAA,OACAC,EAAA,OACAC,EAAA,OACAO,EAAA,QACAC,EAAA,OACAC,EAAA,OACAL,EAAA,QACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,QACAC,EAAA,OACAL,EAAA,OACAC,EAAA,QACAC,EAAA,OACAjB,EAAA,OACAC,EAAA,OACAC,EAAA,OAEAC,EAAA,OACAC,EAAA,QACAC,EAAA,OACAO,EAAA,OACAC,EAAA,OACAC,EAAA,OACAL,EAAA,QACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,QACAC,EAAA,OACAL,EAAA,OACAC,EAAA,OACAC,EAAA,OACAjB,EAAA,QACAC,EAAA,OACAC,EAAA,OAEAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,QACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,QACAC,EAAA,OACAvB,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OAEAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,QACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAO,EAAA,OACAC,EAAA,OACAC,EAAA,OACAvB,EAAA,QACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OACAC,EAAA,OAEAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAL,EAAA,MACAC,EAAA,MACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACApB,EAAA,OACAC,EAAA,MACAC,EAAA,MAEAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAL,EAAA,OACAC,EAAA,MACAC,EAAA,MACAI,EAAA,MACAC,EAAA,OACAC,EAAA,MACApB,EAAA,MACAC,EAAA,MACAC,EAAA,MAEAO,EAAA,MACAC,EAAA,OACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAL,EAAA,MACAC,EAAA,MACAC,EAAA,MACApB,EAAA,OACAC,EAAA,MACAC,EAAA,MACAC,EAAA,OACAC,EAAA,MACAC,EAAA,MAEAI,EAAA,MACAC,EAAA,MACAC,EAAA,MACAI,EAAA,OACAC,EAAA,MACAC,EAAA,MACAI,EAAA,MACAC,EAAA,OACAC,EAAA,MACAL,EAAA,MACAC,EAAA,MACAC,EAAA,MACApB,EAAA,OACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MACAC,EAAA,MAQA,IAAAmB,EAAA,SAAAhuO,GACA,QAAAA,EAAA86D,WAAA,YAAA96D,EAAA+6D,cAEAkzK,EAAA,SAAAjuO,GACA,UAAAA,EAAAk7D,aAAA,OAAAl7D,EAAAi7D,YAAA,KAEAizK,EAAA,SAAAluO,GACA,QAAAA,EAAAq7D,SAAA,YAAAr7D,EAAAo7D,YAEA+yK,EAAA,SAAAnuO,GACA,UAAAA,EAAAw7D,SAAA,OAAAx7D,EAAAu7D,QAAA,KAGA6yK,EAAA,SAAApuO,GACA,QAAAA,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,WAEA6yK,EAAA,SAAAruO,GACA,QAAAA,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,eAEAozK,EAAA,SAAAtuO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,CAAAl7D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAEAkzK,EAAA,SAAAvuO,GACA,UAAAA,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,SAAA,CAAAx7D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAGAmzK,EAAA,SAAAxuO,GACA,gBAAAA,EAAA+6D,YAAA,GAAA/6D,EAAAk7D,aAAA,QAEAuzK,EAAA,SAAAzuO,GACA,cAAAA,EAAAi7D,YAAA,IAAAj7D,EAAAq7D,SAAA,WAEAqzK,EAAA,SAAA1uO,GACA,gBAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAw7D,SAAA,QAEAmzK,EAAA,SAAA3uO,GACA,QAAAA,EAAA86D,WAAA,gBAAA96D,EAAAu7D,QAAA,KAEAqzK,EAAA,SAAA5uO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,GAAAl7D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,WAEAqzK,EAAA,SAAA7uO,GACA,QAAAA,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,IAAAr7D,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,KAGAg0K,EAAA,WACA,iCAGAC,EAAA,SAAA/uO,GACA,UAAAA,EAAAk7D,aAAA,mBAAAl7D,EAAAu7D,QAAA,KAGAyzK,EAAA,SAAAhvO,GACA,QAAAA,EAAAq7D,SAAA,wBAAAr7D,EAAA+6D,cAGAk0K,EAAA,SAAAjvO,GACA,cAAAA,EAAAi7D,YAAA,MAAAj7D,EAAAw7D,SAAA,cAGA0zK,EAAA,SAAAlvO,GACA,gBAAAA,EAAAo7D,UAAA,CAAAp7D,EAAA86D,WAAA,iBAGAq0K,EAAA,SAAAnvO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,GAAAl7D,EAAAw7D,SAAA,OAAAx7D,EAAAu7D,QAAA,KAGA6zK,EAAA,SAAApvO,GACA,gBAAAA,EAAAo7D,UAAA,CAAAp7D,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,IAAA96D,EAAAq7D,SAAA,KAGAg0K,EAAA,SAAArvO,GACA,UAAAA,EAAAk7D,aAAA,OAAAl7D,EAAAi7D,YAAA,MAAAj7D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,WAGA8zK,EAAA,SAAAtvO,GACA,QAAAA,EAAAq7D,SAAA,IAAAr7D,EAAA86D,WAAA,YAAA96D,EAAA+6D,YAAA,CAAA/6D,EAAAu7D,QAAA,KAGAg0K,GAAA,SAAAvvO,GACA,QAAAA,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAAw7D,SAAA,OAAAx7D,EAAAu7D,QAAA,KAGAi0K,GAAA,SAAAxvO,GACA,gBAAAA,EAAAo7D,UAAA,GAAAp7D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,SAAA,CAAAx7D,EAAAq7D,SAAA,KAGAo0K,GAAA,SAAAzvO,GACA,UAAAA,EAAAk7D,aAAA,OAAAl7D,EAAAi7D,YAAA,IAAAj7D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAGAq0K,GAAA,SAAA1vO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,CAAAl7D,EAAA86D,WAAA,YAAA96D,EAAA+6D,cAIA40K,GAAA,SAAA3vO,GACA,UAAAA,EAAAk7D,aAAA,eAAAl7D,EAAA+6D,YAAA,CAAA/6D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAGAu0K,GAAA,SAAA5vO,GACA,oBAAAA,EAAAi7D,YAAA,MAAAj7D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,SAAA,CAAAx7D,EAAAq7D,SAAA,KAGAw0K,GAAA,SAAA7vO,GACA,gBAAAA,EAAAo7D,UAAA,CAAAp7D,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAAw7D,SAAA,QAGAs0K,GAAA,SAAA9vO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,CAAAl7D,EAAA86D,WAAA,gBAAA96D,EAAAu7D,QAAA,KAGAw0K,GAAA,SAAA/vO,GACA,gBAAAA,EAAAo7D,UAAA,CAAAp7D,EAAA86D,WAAA,YAAA96D,EAAA+6D,YAAA,CAAA/6D,EAAAq7D,SAAA,KAGA20K,GAAA,SAAAhwO,GACA,UAAAA,EAAAk7D,aAAA,OAAAl7D,EAAAi7D,YAAA,MAAAj7D,EAAAw7D,SAAA,OAAAx7D,EAAAu7D,QAAA,KAIA00K,GAAA,SAAAjwO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,CAAAl7D,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,SAAA,CAAAx7D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAIA60K,GAAA,SAAAlwO,GACA,gBAAAA,EAAAo7D,UAAA,CAAAp7D,EAAA86D,WAAA,YAAA96D,EAAA+6D,YAAA,CAAA/6D,EAAAq7D,SAAA,KAGA80K,GAAA,SAAAnwO,GACA,UAAAA,EAAAk7D,aAAA,OAAAl7D,EAAAi7D,YAAA,MAAAj7D,EAAAw7D,SAAA,OAAAx7D,EAAAu7D,QAAA,KAIA60K,GAAA,SAAApwO,GACA,gBAAAA,EAAAo7D,UAAA,CAAAp7D,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,SAAA,CAAAx7D,EAAAq7D,SAAA,KAGAg1K,GAAA,SAAArwO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,CAAAl7D,EAAA86D,WAAA,YAAA96D,EAAA+6D,YAAA,CAAA/6D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAGAi1K,GAAA,SAAAtwO,GACA,UAAAA,EAAAo7D,UAAA,GAAAp7D,EAAAk7D,aAAA,CAAAl7D,EAAAi7D,YAAA,IAAAj7D,EAAA86D,WAAA,MAAA96D,EAAAw7D,SAAA,OAAAx7D,EAAAu7D,QAAA,KAGAg1K,GAAA,SAAAvwO,GACA,UAAAA,EAAAk7D,aAAA,OAAAl7D,EAAAi7D,YAAA,MAAAj7D,EAAA+6D,YAAA,GAAA/6D,EAAAw7D,SAAA,CAAAx7D,EAAAu7D,QAAA,IAAAv7D,EAAAq7D,SAAA,KAWAm1K,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GACAC,GAAA,GAGAJ,GAAA,GAAAC,GAAA,MACAD,GAAA,KAAAC,GAAA,QACAF,GAAA,GAAAD,GAAA,MACAC,GAAA,KAAAD,GAAA,QACAD,GAAA,IAAAO,GAAA,MACAP,GAAA,KAAAO,GAAA,OACAF,GAAA,IAAAC,GAAA,OACAD,GAAA,KAAAC,GAAA,QAGAJ,GAAA,GAAAG,GAAA,MACAF,GAAA,GAAAC,GAAA,MACAF,GAAA,KAAAG,GAAA,QACAF,GAAA,KAAAC,GAAA,QACAJ,GAAA,GAAAG,GAAA,KACAF,GAAA,GAAAC,GAAA,MACAF,GAAA,KAAAG,GAAA,OACAF,GAAA,KAAAC,GAAA,QACAF,GAAA,IAAAO,GAAA,MACAN,GAAA,IAAAK,GAAA,MACAN,GAAA,KAAAO,GAAA,OACAN,GAAA,KAAAK,GAAA,OACAF,GAAA,KAAAG,GAAA,QACAF,GAAA,KAAAC,GAAA,QACAF,GAAA,IAAAG,GAAA,OACAF,GAAA,IAAAC,GAAA,OAGAL,GAAA,GAAAG,GAAA,MACAH,GAAA,KAAAG,GAAA,QACAF,GAAA,IAAAK,GAAA,MACAL,GAAA,KAAAK,GAAA,OACAP,GAAA,IAAAK,GAAA,OACAL,GAAA,IAAAK,GAAA,OACAF,GAAA,IAAAG,GAAA,MACAH,GAAA,KAAAG,GAAA,OACAN,GAAA,KAAAK,GAAA,QACAJ,GAAA,KAAAG,GAAA,QACAJ,GAAA,IAAAK,GAAA,OACAJ,GAAA,IAAAG,GAAA,OACAF,GAAA,KAAAK,GAAA,OACAJ,GAAA,KAAAG,GAAA,OACAJ,GAAA,IAAAK,GAAA,MACAJ,GAAA,IAAAG,GAAA,MAGAL,GAAA,KAAAK,GAAA,OACAL,GAAA,IAAAK,GAAA,MACAF,GAAA,KAAAG,GAAA,QACAH,GAAA,IAAAG,GAAA,OACAL,GAAA,IAAAG,GAAA,OACAH,GAAA,IAAAG,GAAA,OACAL,GAAA,IAAAG,GAAA,MACAH,GAAA,IAAAG,GAAA,MACAH,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAI,GAAA,OACAL,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAI,GAAA,OACAL,GAAA,IAAAE,GAAA,MACAC,GAAA,IAAAI,GAAA,MACAP,GAAA,KAAAE,GAAA,OACAC,GAAA,KAAAI,GAAA,OACAN,GAAA,GAAAI,GAAA,MACAH,GAAA,GAAAE,GAAA,MACAH,GAAA,KAAAI,GAAA,QACAH,GAAA,KAAAE,GAAA,QACAD,GAAA,KAAAI,GAAA,OACAH,GAAA,KAAAE,GAAA,QACAH,GAAA,IAAAI,GAAA,MACAH,GAAA,IAAAE,GAAA,OACAJ,GAAA,IAAAI,GAAA,MACAH,GAAA,IAAAE,GAAA,OACAH,GAAA,KAAAI,GAAA,OACAH,GAAA,KAAAE,GAAA,QACAL,GAAA,KAAAI,GAAA,QACAC,GAAA,KAAAE,GAAA,QACAP,GAAA,IAAAI,GAAA,OACAC,GAAA,IAAAE,GAAA,OACAN,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAI,GAAA,MACAL,GAAA,KAAAM,GAAA,OACAL,GAAA,KAAAI,GAAA,OACAN,GAAA,GAAAI,GAAA,MACAH,GAAA,GAAAE,GAAA,MACAH,GAAA,KAAAI,GAAA,QACAH,GAAA,KAAAE,GAAA,QAGAF,GAAA,IAAAM,GAAA,MACAH,GAAA,IAAAE,GAAA,OACAL,GAAA,KAAAM,GAAA,OACAH,GAAA,KAAAE,GAAA,QACAJ,GAAA,KAAAE,GAAA,QACAC,GAAA,KAAAE,GAAA,QACAL,GAAA,IAAAE,GAAA,OACAC,GAAA,IAAAE,GAAA,OACAP,GAAA,IAAAE,GAAA,MACAC,GAAA,IAAAE,GAAA,OACAL,GAAA,IAAAE,GAAA,MACAC,GAAA,IAAAE,GAAA,OACAL,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAE,GAAA,OACAH,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAE,GAAA,OACAH,GAAA,KAAAG,GAAA,OACAC,GAAA,KAAAG,GAAA,QACAP,GAAA,IAAAG,GAAA,MACAC,GAAA,IAAAG,GAAA,OACAN,GAAA,IAAAK,GAAA,MACAJ,GAAA,IAAAG,GAAA,OACAJ,GAAA,KAAAK,GAAA,OACAJ,GAAA,KAAAG,GAAA,QAGAL,GAAA,IAAAG,GAAA,MACAF,GAAA,IAAAC,GAAA,OACAE,GAAA,IAAAG,GAAA,OACAF,GAAA,IAAAC,GAAA,OACAN,GAAA,KAAAO,GAAA,OACAN,GAAA,KAAAK,GAAA,OACAJ,GAAA,KAAAG,GAAA,QACAF,GAAA,KAAAC,GAAA,QACAJ,GAAA,IAAAO,GAAA,MACAN,GAAA,IAAAC,GAAA,OACAC,GAAA,IAAAC,GAAA,OACAC,GAAA,IAAAC,GAAA,OAGAN,GAAA,KAAAO,GAAA,OACAJ,GAAA,KAAAC,GAAA,QACAH,GAAA,KAAAC,GAAA,QACAG,GAAA,KAAAC,GAAA,QACAN,GAAA,KAAAG,GAAA,OACAC,GAAA,KAAAG,GAAA,QACAN,GAAA,KAAAK,GAAA,OACAJ,GAAA,KAAAG,GAAA,QAGAL,GAAA,KAAAO,GAAA,OACAL,GAAA,KAAAG,GAAA,QACAF,GAAA,KAAAC,GAAA,QACAJ,GAAA,KAAAE,GAAA,OACAC,GAAA,KAAAC,GAAA,QACAC,GAAA,KAAAE,GAAA,QACAP,GAAA,KAAAO,GAAA,OACAN,GAAA,KAAAK,GAAA,OACAH,GAAA,KAAAC,GAAA,QACAJ,GAAA,KAAAO,GAAA,OACAN,GAAA,KAAAE,GAAA,QACAC,GAAA,KAAAE,GAAA,QACAN,GAAA,IAAAG,GAAA,MACAF,GAAA,IAAAC,GAAA,OACAG,GAAA,IAAAC,GAAA,OACAN,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAC,GAAA,OACAC,GAAA,IAAAE,GAAA,OACAJ,GAAA,IAAAC,GAAA,OACAE,GAAA,IAAAG,GAAA,OACAF,GAAA,IAAAC,GAAA,OACAL,GAAA,IAAAM,GAAA,MACAL,GAAA,IAAAE,GAAA,OACAC,GAAA,IAAAC,GAAA,OAOA,IAAAE,GAAA,GA4EA,SAAAt2M,GAAAzrB,EAAA0rB,EAAA5mB,GACA,OAAA9E,EAAA0rB,IAAA5mB,EAAA4mB,GAGA,SAAA/0B,GAAAqrO,GACA,OAAAA,EAAAvtN,YAAAuJ,WAAApqB,QAAA,YASA,SAAAopO,GAAAxjO,EAAAkuD,EAAAq1K,GAOA,IANA,IAAApxM,EAAAnyB,EAAAzG,OAAA,EACA64B,EAAApyB,EAAA,GAAAzG,OAAA,EACAkvO,EAAA,CAAoBt2M,OAAAC,OAAA71B,MAAA,IAEpB4xD,EAAAD,EAAA/yD,KAAA6hB,IAAAumN,GAEAvpO,EAAA,EAAkBA,EAAAm4B,IAAUn4B,EAAA,CAC5ByuO,EAAAlsO,MAAAvC,GAAA,GACA,QAAAjC,EAAA,EAAoBA,EAAAq6B,IAAUr6B,EAAA,CAE9B,IAAAu6B,EAAA,EAEAC,EAAAvyB,EAAAhG,EAAA,GAAAjC,GACAy6B,EAAAxyB,EAAAhG,EAAA,GAAAjC,EAAA,GACA06B,EAAAzyB,EAAAhG,GAAAjC,EAAA,GACA26B,EAAA1yB,EAAAhG,GAAAjC,GAEA,KAAA0O,MAAA8rB,IAAA9rB,MAAA+rB,IAAA/rB,MAAAgsB,IAAAhsB,MAAAisB,IAAA,CAIAJ,GAAAC,EAAA27B,EAAA,EAAA37B,EAAA47B,EAAA,OACA77B,GAAAE,EAAA07B,EAAA,EAAA17B,EAAA27B,EAAA,MACA77B,GAAAG,EAAAy7B,EAAA,EAAAz7B,EAAA07B,EAAA,IACA77B,GAAAI,EAAAw7B,EAAA,EAAAx7B,EAAAy7B,EAAA,IAEA,IAAAu6K,GAAAp2M,EAGAK,EAAA,EACA,QAAAL,GACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,KAAAA,GACA,MAAAA,GACA,MAAAA,GACA,MAAAA,GACA,MAAAA,GACA,MAAAA,GACA,MAAAA,EACA,CACA,IAAAM,GAAAL,EAAAC,EAAAC,EAAAC,GAAA,EAEAC,EAAAC,EAAAu7B,EAAA,EAAAv7B,EAAAs7B,EAAA,IAKA,KAAA57B,EACA,IAAAK,EACAL,EAAA,GACa,IAAAK,IACbL,EAAA,KAEW,MAAAA,EACX,IAAAK,GACAL,EAAA,GACAK,EAAA,GACa,IAAAA,IACbL,EAAA,IAKA,KAAAA,EACA,IAAAK,GACAL,EAAA,IACAK,EAAA,GACa,IAAAA,IACbL,EAAA,KAEW,KAAAA,EACX,IAAAK,GACAL,EAAA,IACAK,EAAA,GACa,IAAAA,IACbL,EAAA,KAEW,MAAAA,EACX,IAAAK,IACAL,EAAA,KACW,MAAAA,EACX,IAAAK,IACAL,EAAA,KAIA,MAAAA,EACAK,EAAA,IACAL,EAAA,IACAK,EAAA,GAEW,MAAAL,EACXK,EAAA,IACAL,EAAA,IACAK,EAAA,GAEW,KAAAL,EACXK,EAAA,IACAL,EAAA,GACAK,EAAA,GAEW,KAAAL,EACXK,EAAA,IACAL,EAAA,GACAK,EAAA,GAEW,KAAAL,EACXK,EAAA,GACAL,EAAA,IACAK,EAAA,GAEAL,EAAA,IAEW,KAAAA,EACXK,EAAA,GACAL,EAAA,IACAK,EAAA,GAEAL,EAAA,IAEW,KAAAA,EACXK,EAAA,GACAL,EAAA,GACAK,EAAA,GAEAL,EAAA,GAEW,MAAAA,IACXK,EAAA,GACAL,EAAA,GACAK,EAAA,GAEAL,EAAA,IAMA,MAAAA,GAAA,KAAAA,EAAA,CACA,IAAAwgC,EAAAF,EAAAP,EAAAG,EACAG,EAAAF,EAAAM,EAAAT,EAEAQ,EAAAF,EAAAP,EAAAG,EAAAG,EACAF,EAAAM,EAAAT,EAAA,GAEA,IAAAnhD,EAAA,GAIA,IAAAmhB,GACA+/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAvhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACX+/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAphB,EAAAnZ,KAAAkwO,GAAA51M,KACW,IAAAA,GACXmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAthB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAvhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACAogC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,KACW,MAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACAmgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,KACW,KAAAA,GACXygC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAowO,GAAA91M,KACW,MAAAA,GACXygC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAowO,GAAA91M,KAGA,MAAAA,GACAkgC,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAphB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,IAAAA,GACXkgC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAvhB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACXqgC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAvhB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,IAAAA,GACXqgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAthB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXqgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACAqgC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAsgC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXggC,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAmwO,GAAA71M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,MAAAA,IACXggC,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAmwO,GAAA71M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KAIA,IAAAA,GACAmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA6/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAvhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACA8/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAphB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXkgC,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAmgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,MAAAA,GACXkgC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAkgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAAiwO,GAAA31M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACAugC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACAsgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAvhB,EAAAnZ,KAAA+vO,GAAAz1M,KACW,KAAAA,GACX+/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACAogC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACX+/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACAqgC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACXqgC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACA8/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA6/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAvhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXkgC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAogC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,KAAAA,GACXkgC,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAqgC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KAIA,MAAAA,GACAmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAsgC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXggC,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACXggC,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACXkgC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAvhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,KAAAA,GACXkgC,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAphB,EAAAnZ,KAAAiwO,GAAA31M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACAthB,EAAAnZ,KAAAkwO,GAAA51M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACAvhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAugC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACAsgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAmgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAkgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,IAAAA,GACXmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAvhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,MAAAA,GACXmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAphB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,MAAAA,GACX+/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAkwO,GAAA51M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACX+/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAkwO,GAAA51M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACXkgC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACXkgC,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAkwO,GAAA51M,IACAnhB,EAAAnZ,KAAAqwO,GAAA/1M,KACW,MAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACA8/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA6/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACXmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAqgC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,MAAAA,GACXmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAogC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,IAAAA,GACXqgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAvhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXqgC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KAIA,KAAAA,GACAmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACA8/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,MAAAA,GACXmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA6/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,MAAAA,GACXkgC,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACXkgC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAvhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACAqgC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,KAAAA,GACXqgC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACAogC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,KACW,MAAAA,GACXqgC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,GACAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACXqgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,GACArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACXmgC,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,GACAphB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KACW,MAAAA,GACXmgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,GACArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KAIA,KAAAA,GACA,IAAAK,GACAggC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,KAEAogC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACX,IAAAK,GACAggC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,KAEAogC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,MAAAA,GACX,IAAAK,GACAggC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KAIA,MAAAA,GACA,IAAAK,GACAggC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACX,IAAAK,GACA8/B,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,KAEAkgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,MAAAA,GACX,IAAAK,GACAggC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,MAAAA,GACX,IAAAK,GACA8/B,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,KAEAkgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,KAIA,MAAAA,GACA,IAAAK,GACAggC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACX,IAAAK,GACAggC,EAAA1gC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAkgC,EAAA3gC,GAAAi8B,EAAA37B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAqgC,EAAA,EAAA3gC,GAAAk8B,EAAA37B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,MAAAA,GACX,IAAAK,GACAggC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,MAAAA,GACX,IAAAK,GACAggC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACA6/B,EAAA,EAAApgC,GAAAi8B,EAAAz7B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,KAEAmgC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA4/B,EAAApgC,GAAAk8B,EAAAz7B,EAAAD,GACA6/B,EAAArgC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,IAEAphB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,KACW,KAAAA,GACX,IAAAK,GACAggC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,KAEAogC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACX,IAAAK,GACAggC,EAAA,EAAA1gC,GAAAi8B,EAAA17B,EAAAC,GACAggC,EAAA,EAAAxgC,GAAAk8B,EAAA37B,EAAAC,GACA+/B,EAAAvgC,GAAAk8B,EAAAz7B,EAAAD,GACA4/B,EAAApgC,GAAAi8B,EAAAx7B,EAAAD,GACAsgC,EAAA9gC,GAAAi8B,EAAAx7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAi8B,EAAA17B,EAAAD,KAEAogC,EAAA1gC,GAAAk8B,EAAA17B,EAAAD,GACAigC,EAAAxgC,GAAAi8B,EAAAz7B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAi8B,EAAAz7B,EAAAC,GACA2/B,EAAA,EAAApgC,GAAAk8B,EAAA17B,EAAAC,GACAqgC,EAAA,EAAA9gC,GAAAk8B,EAAA57B,EAAAG,GACAogC,EAAA7gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAA+vO,GAAAz1M,IACAnhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAkwO,GAAA51M,KACW,KAAAA,GACX,IAAAK,GACA8/B,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,KAEAkgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAmwO,GAAA71M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KACW,KAAAA,GACX,IAAAK,GACA8/B,EAAA,EAAAxgC,GAAAi8B,EAAA17B,EAAAC,GACA+/B,EAAAvgC,GAAAi8B,EAAAx7B,EAAAD,GACA6/B,EAAArgC,GAAAi8B,EAAAx7B,EAAAH,GACAwgC,EAAA9gC,GAAAk8B,EAAAz7B,EAAAH,GACAugC,EAAA,EAAA7gC,GAAAk8B,EAAA37B,EAAAD,GACAqgC,EAAA,EAAA3gC,GAAAi8B,EAAA17B,EAAAD,KAEAkgC,EAAAxgC,GAAAk8B,EAAA17B,EAAAD,GACAggC,EAAA,EAAAvgC,GAAAk8B,EAAA17B,EAAAC,GACA4/B,EAAA,EAAArgC,GAAAk8B,EAAA57B,EAAAG,GACAqgC,EAAA,EAAA9gC,GAAAi8B,EAAA37B,EAAAG,GACAogC,EAAA7gC,GAAAi8B,EAAA37B,EAAAC,GACAogC,EAAA3gC,GAAAk8B,EAAA57B,EAAAC,IAEArhB,EAAAnZ,KAAAgwO,GAAA11M,IACAnhB,EAAAnZ,KAAAiwO,GAAA31M,IACAnhB,EAAAnZ,KAAAowO,GAAA91M,KAGA,KAAAA,IACAqgC,EAAA,EACAF,EAAA,EACAD,EAAA,EACAH,EAAA,EACAC,EAAA,EACAS,EAAA,EACAD,EAAA,EACAF,EAAA,IAGAE,EAAA,GAAAA,EAAA,GAAAF,EAAA,GAAAA,EAAA,GAAAD,EAAA,GAAAA,EAAA,GAAAH,EAAA,GAAAA,EAAA,GAAAF,EAAA,GAAAA,EAAA,GAAAS,EAAA,GAAAA,EAAA,IACAnhC,QAAAC,IAAA,+BAAAS,EAAA,IAAAo2M,EAAA,IAAAn2M,EAAA,IAAAC,EAAA,IAAAC,EAAA,IAAAC,EAAA,IAAAC,EAAA,IAAAmgC,EAAA,IAAAF,EAAA,IAAAD,EAAA,IAAAF,EAAA,IAAAD,EAAA,IAAAH,EAAA,IAAAC,EAAA,IAAAS,GAGA01K,EAAAlsO,MAAAvC,GAAAjC,GAAA,CACAu6B,OACAo2M,YACA/1M,UACAmgC,UACAF,WACAD,WACAF,cACAD,cACAH,aACAC,aACAS,UACA5hD,YAMA,OAAAs3N,EAGA,SAAA/E,GAAAzwM,GAMA,IALA,IAAA5L,EAAA,GACA8K,EAAAc,EAAAd,KACAC,EAAAa,EAAAb,KACAu2M,EAAA,GAEA3uO,EAAA,EAAkBA,EAAAm4B,EAAUn4B,IAC5B,QAAAjC,EAAA,EAAoBA,EAAAq6B,EAAUr6B,IAC9B,wBAAAk7B,EAAA12B,MAAAvC,GAAAjC,IAAAk7B,EAAA12B,MAAAvC,GAAAjC,GAAAoZ,MAAA5X,OAAA,GAGA,IAAAhC,EAAA07B,EAAA12B,MAAAvC,GAAAjC,GAIAuD,EAAAstO,GAAArxO,GACA0b,EAAA,KACAqgB,EAAAv7B,EACAi1B,EAAAhzB,EAEA,OAAAsB,GACAqtO,EAAA3wO,KAAA,CAAAsD,EAAAg4B,EAAA,GAAAA,EAAAh4B,EAAAg4B,EAAA,GAAAtG,IAKA,GAOA,GADA/Z,EAAA41N,GAAA51M,EAAA12B,MAAAywB,GAAAsG,GAAAh4B,EAAAiL,EAAAjL,EAAAkL,EAAAlL,EAAApC,GACA,OAAA+Z,EAQA,MAIA,GAVA01N,EAAA3wO,KAAA,CAAAib,EAAAqgB,EAAA,GAAAA,EAAArgB,EAAAqgB,EAAA,GAAAtG,IACAsG,GAAArgB,EAAA1M,EACAymB,GAAA/Z,EAAAzM,EACAlL,EAAA2X,EAOA+Z,EAAA,GAAAA,GAAAmF,GAAAmB,EAAA,GAAAA,GAAAlB,GAAA,qBAAAa,EAAA12B,MAAAywB,GAAAsG,GAAA,CAOAA,GAAArgB,EAAA1M,EACAymB,GAAA/Z,EAAAzM,EAIA,IAAAsiO,EAAAC,GAAA91M,EAAAK,EAAAtG,EAAA/Z,EAAA1M,EAAA0M,EAAAzM,EAAAyM,EAAA/Z,GACA,UAAA4vO,EASA,MARAA,EAAArxN,KAAAvJ,QAAA,SAAA+gD,GAEA05K,EAAA3wO,KAAAi3D,KAEA37B,EAAAw1M,EAAA/wO,EACAi1B,EAAA87M,EAAA9uO,EACAsB,EAAAwtO,SAMW,qBAAA71M,EAAA12B,MAAAywB,GAAAsG,IACXL,EAAA12B,MAAAywB,GAAAsG,GAAAniB,MAAA5X,OAAA,GAEA8tB,EAAArvB,KAAA2wO,GAGAA,EAAA,GACA11M,EAAA12B,MAAAvC,GAAAjC,GAAAoZ,MAAA5X,OAAA,GACAxB,IAIA,OAAAsvB,EAGA,SAAA0hN,GAAA91M,EAAAl7B,EAAAiC,EAAAgvO,EAAAC,EAAAC,GACA,IAAA3xO,EAAA07B,EAAA12B,MAAAvC,GAAAjC,GACAu6B,EAAA/6B,EAAAmxO,UACAp1M,EAAAv7B,EAAAixO,EACAh8M,EAAAhzB,EAAAivO,EACAxxN,EAAA,GACAipB,GAAA,EAEA,OAAAA,EAAA,CAEA,wBAAAzN,EAAA12B,MAAAywB,IAAA,qBAAAiG,EAAA12B,MAAAywB,GAAAsG,GAWA,GANAtG,GAAAi8M,EACA31M,GAAA01M,EACAzxO,EAAA07B,EAAA12B,MAAAywB,GAAAsG,GACAhB,EAAA/6B,EAAAmxO,WAGA,IAAAO,EACA,OAAAC,EACA,GAAA52M,EAAAwxM,EACArsN,EAAAzf,KAAA,CAAAs7B,EAAAtG,IACAg8M,GAAA,EACAC,EAAA,EACAC,EAAA,MACa,MAAA52M,EAAAuxM,GAKA,CACbpsN,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAAi7D,YAAAxlC,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAVAjpB,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,MASW,CACX,KAAA52M,EAAAwxM,GAKa,IAAAxxM,EAAAuxM,EAAA,CACbpsN,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAAi7D,YAAAxlC,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAEAjpB,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAA86D,WAAArlC,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAjBAjpB,EAAAzf,KAAA,CAAAs7B,EAAAtG,IACAg8M,GAAA,EACAC,EAAA,EACAC,EAAA,OAiBS,OAAAD,EAET,OAAAC,EAAA,CACA,KAAA52M,EAAAsxM,GAKa,IAAAtxM,EAAAqxM,EAQA,CACblsN,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAAu7D,QAAA9lC,EAAA,IACAg8M,EAAA,EACAC,GAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAbAjpB,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAAq7D,SAAA5lC,EAAA,IACAg8M,EAAA,EACAC,GAAA,EACAC,EAAA,EACAxoM,GAAA,EAEA,MAXAjpB,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAA,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,OAmBAzxN,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAA,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,OAUS,QAAAF,EAET,OAAAE,EAAA,CAEA,KAAA52M,EAAAqxM,GAMa,IAAArxM,EAAAwxM,EAQA,CAEbrsN,EAAAzf,KAAA,CAAAs7B,EAAAtG,EAAAz1B,EAAA+6D,aACA02K,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAbAjpB,EAAAzf,KAAA,CAAAs7B,EAAAtG,EAAAz1B,EAAAw7D,UACAi2K,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAZAjpB,EAAAzf,KAAA,CAAAs7B,EAAAtG,EAAA,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,MAmBW,CAEX,KAAA52M,EAAAqxM,GAMa,CACb/xM,QAAAC,IAAA,mCACA,MAPApa,EAAAzf,KAAA,CAAAs7B,EAAAtG,EAAA,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,MAOS,QAAAF,EAqCA,CACTp3M,QAAAC,IAAA,qDACA,MArCA,OAAAq3M,EAAA,CACA,KAAA52M,EAAAuxM,GAKa,CACbpsN,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAAz1B,EAAAk7D,cACAu2K,GAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAVAjpB,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,IACAg8M,EAAA,EACAC,GAAA,EACAC,EAAA,MASW,CACX,KAAA52M,EAAAuxM,GAKa,IAAAvxM,EAAAsxM,EAOA,CACbnsN,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAAz1B,EAAAo7D,WACAq2K,GAAA,EACAC,EAAA,EACAC,EAAA,EACA,MAXAzxN,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAAz1B,EAAAk7D,cACAu2K,GAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EACA,MAVAjpB,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,IACAg8M,EAAA,EACAC,GAAA,EACAC,EAAA,QA0BA,GAJA3xO,EAAA07B,EAAA12B,MAAAywB,GAAAsG,GACAhB,EAAA/6B,EAAAmxO,WAGA,IAAAM,EACA,OAAAE,EAEA,wBAAAj2M,EAAA12B,MAAAywB,EAAA,yBAAAiG,EAAA12B,MAAAywB,EAAA,GAAAsG,GACA01M,EAAA,EACAC,GAAA,EACAC,EAAA,MACa,MAAA52M,EAAAwxM,GAGA,CACbrsN,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAAi7D,YAAAxlC,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EAEA,MARAjpB,EAAAzf,KAAA,CAAAs7B,EAAAtG,QAUW,CACX,KAAAsF,EAAAqxM,GAEa,CACb/xM,QAAAC,IAAA,uDAAAyB,EAAA,IAAAtG,GACA,MAHA4E,QAAAC,IAAA,+DAMS,OAAAm3M,EAAA,CACT,OAAAE,EAAA,CACAt3M,QAAAC,IAAA,mCACA,MAGA,wBAAAoB,EAAA12B,MAAAywB,EAAA,yBAAAiG,EAAA12B,MAAAywB,EAAA,GAAAsG,GACA01M,EAAA,EACAC,EAAA,EACAC,EAAA,MACa,MAAA52M,EAAAsxM,GAKA,CACbnsN,EAAAzf,KAAA,CAAAs7B,EAAA/7B,EAAAu7D,QAAA9lC,EAAA,IACAg8M,EAAA,EACAC,GAAA,EACAC,EAAA,EACAxoM,GAAA,EAEA,MAXAjpB,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAA,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,QAWS,QAAAD,EAAA,CACT,OAAAC,EAoBW,CACXt3M,QAAAC,IAAA,mCACA,MApBA,wBAAAoB,EAAA12B,MAAAywB,GAAAsG,EAAA,GACA01M,EAAA,EACAC,EAAA,EACAC,EAAA,MACa,MAAA52M,EAAAuxM,GAKA,CACbpsN,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,EAAAz1B,EAAAo7D,WACAq2K,GAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EAEA,MAXAjpB,EAAAzf,KAAA,CAAAs7B,EAAA,EAAAtG,IACAg8M,EAAA,EACAC,GAAA,EACAC,EAAA,OAcS,QAAAD,EA2BA,CACTr3M,QAAAC,IAAA,yDACA,MA5BA,OAAAq3M,EAqBW,CAEXt3M,QAAAC,IAAA,mCACA,MArBA,wBAAAoB,EAAA12B,MAAAywB,GAAAsG,EAAA,GACA01M,GAAA,EACAC,EAAA,EACAC,EAAA,MACa,MAAA52M,EAAAqxM,GAKA,CACblsN,EAAAzf,KAAA,CAAAs7B,EAAAtG,EAAAz1B,EAAA+6D,aACA02K,EAAA,EACAC,EAAA,EACAC,EAAA,EACAxoM,GAAA,EAEA,MAXAjpB,EAAAzf,KAAA,CAAAs7B,EAAAtG,EAAA,IACAg8M,EAAA,EACAC,EAAA,EACAC,EAAA,GA0BA,GAJA51M,GAAA01M,EACAh8M,GAAAi8M,EAGA31M,IAAAv7B,GAAAi1B,IAAAhzB,EACA,MAMA,OAAYyd,OAAA1f,EAAAu7B,EAAAt5B,EAAAgzB,EAAAzmB,EAAAyiO,EAAAxiO,EAAAyiO,EAAA/vO,EAAAgwO,GAGZ,SAAA70N,GAAA9c,EAAA4xO,UACA5xO,EAAA4Z,MAAAg4N,GACA,QAAAhvO,EAAAgvO,EAAA,EAA4BhvO,EAAA5C,EAAA4Z,MAAA5X,OAAuBY,IACnD5C,EAAA4Z,MAAAhX,EAAA,GAAA5C,EAAA4Z,MAAAhX,GAEA5C,EAAA4Z,MAAAxW,MAGA,SAAAiuO,GAAArxO,GAEA,GAAAA,EAAA4Z,MAAA5X,OAAA,GACA,IAAAiG,EAAAjI,EAAA4Z,MAAA5Z,EAAA4Z,MAAA5X,OAAA,GAEA+4B,EAAA/6B,EAAAmxO,UACA,OAAAlpO,GACA,cAAA8yB,EAAAsxM,EACA,CAA4BtwM,EAAA,GAAA/7B,EAAAo7D,UAAApsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAAu7D,QAAA,GAAAvsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAu7D,QAAA,GAAAvsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAk7D,aAAAlsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAi7D,YAAA,GAAAjsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAAu7D,QAAA,GAAAvsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,CAAA/7B,EAAAu7D,QAAA,GAAAvsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAA86D,WAAA,GAAA9rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAsxM,EACA,CAA4BtwM,EAAA,GAAA/7B,EAAAo7D,UAAApsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAAq7D,SAAA,GAAArsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAq7D,SAAA,GAAArsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAk7D,aAAAlsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAi7D,YAAA,GAAAjsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAAq7D,SAAA,GAAArsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,CAAA/7B,EAAAq7D,SAAA,GAAArsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAA86D,WAAA,GAAA9rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAi7D,YAAA,GAAAjsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAo7D,UAAApsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,cAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,GAAA/7B,EAAAo7D,UAAApsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAA86D,WAAA,GAAA9rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,GAAA/7B,EAAA+6D,YAAA/rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAo7D,UAAApsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAqxM,EACA,CAA4BrwM,EAAA,GAAA/7B,EAAAo7D,UAAApsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAw7D,SAAAxsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAi7D,YAAA,GAAAjsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAk7D,aAAAlsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,GAAA/7B,EAAAk7D,aAAAlsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAA86D,WAAA,GAAA9rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,GAAA/7B,EAAA+6D,YAAA/rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAk7D,aAAAlsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAqxM,EACA,CAA4BrwM,EAAA,GAAA/7B,EAAAk7D,aAAAlsD,GAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAw7D,SAAAxsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAuxM,EACA,CAA4BvwM,EAAA,CAAA/7B,EAAAi7D,YAAA,GAAAjsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAA+6D,YAAA/rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAqxM,EACA,CAA4BrwM,EAAA,CAAA/7B,EAAAi7D,YAAA,GAAAjsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAw7D,SAAAxsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAwxM,EACA,CAA4BxwM,EAAA,GAAA/7B,EAAA+6D,YAAA/rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAA86D,WAAA,GAAA9rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAqxM,EACA,CAA4BrwM,EAAA,CAAA/7B,EAAA86D,WAAA,GAAA9rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAw7D,SAAAxsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAqxM,EACA,CAA4BrwM,EAAA,CAAA/7B,EAAAu7D,QAAA,GAAAvsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAA+6D,YAAA/rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAsxM,EACA,CAA4BtwM,EAAA,GAAA/7B,EAAA+6D,YAAA/rD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAAq7D,SAAA,GAAArsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAqxM,EACA,CAA4BrwM,EAAA,CAAA/7B,EAAAu7D,QAAA,GAAAvsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,GAAA/7B,EAAAw7D,SAAAxsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,eAAAo5B,EAAAsxM,EACA,CAA4BtwM,EAAA,GAAA/7B,EAAAw7D,SAAAxsD,EAAA,EAAAC,EAAA,EAAAtN,EAAA,GAE5B,CAA4Bo6B,EAAA,CAAA/7B,EAAAq7D,SAAA,GAAArsD,EAAA,EAAAC,GAAA,EAAAtN,EAAA,GAE5B,QAAA04B,QAAAC,IAAA,wDACAD,QAAAC,IAAAt6B,GACA,OAIA,YAGA,SAAAsxO,GAAAtxO,EAAAgP,EAAAC,EAAAtN,GAEA,IAAAsG,EAAA4pO,EAAAJ,EAAAC,EACAC,EADA52M,EAAA/6B,EAAA+6B,KAGA,OAAA/rB,GACA,cAAArN,GACA,OAAAsG,EAAAwoO,GAAA11M,GACA02M,EAAAxE,EAAAlyM,GACA22M,EAAAxE,EAAAnyM,GACA42M,EAAAxE,EAAApyM,GACA,MACA,QAAA9yB,EAAAuoO,GAAAz1M,GACA02M,EAAA3E,EAAA/xM,GACA22M,EAAA3E,EAAAhyM,GACA42M,EAAA3E,EAAAjyM,GACA,MAEA,MACA,cAAAp5B,GACA,OAAAsG,EAAA2oO,GAAA71M,GACA02M,EAAA5D,EAAA9yM,GACA22M,EAAA5D,EAAA/yM,GACA42M,EAAA5D,EAAAhzM,GACA,MACA,QAAA9yB,EAAA4oO,GAAA91M,GACA02M,EAAA/D,EAAA3yM,GACA22M,EAAA/D,EAAA5yM,GACA42M,EAAA/D,EAAA7yM,GACA,MAEA,MACA,eAAA9rB,GACA,cAAAtN,GACA,OAAAsG,EAAA6oO,GAAA/1M,GACA02M,EAAAjF,EAAAzxM,GACA22M,EAAAjF,EAAA1xM,GACA42M,EAAAjF,EAAA3xM,GACA,MACA,QAAA9yB,EAAA8oO,GAAAh2M,GACA02M,EAAA9E,EAAA5xM,GACA22M,EAAA9E,EAAA7xM,GACA42M,EAAA9E,EAAA9xM,GACA,MAEA,MACA,cAAAp5B,GACA,OAAAsG,EAAA0oO,GAAA51M,GACA02M,EAAArE,EAAAryM,GACA22M,EAAArE,EAAAtyM,GACA42M,EAAArE,EAAAvyM,GACA,MACA,QAAA9yB,EAAAyoO,GAAA31M,GACA02M,EAAAlE,EAAAxyM,GACA22M,EAAAlE,EAAAzyM,GACA42M,EAAAlE,EAAA1yM,GACA,MAEA,MACA,cAEA,MAIA,GADA82M,EAAA7xO,EAAA4Z,MAAA/W,QAAAoF,GACA,qBAAAjI,EAAA4Z,MAAAi4N,GAMA,YAKA,OAVA/0N,GAAA9c,EAAA6xO,GAQA92M,EAAA/6B,EAAAmxO,UAEAlpO,GACA,OAAA8yB,EAAAsxM,GACAr9N,EAAAhP,EAAAu7D,QACAtsD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAAo7D,UAEA,MACA,OAAArgC,EAAAuxM,GACAt9N,EAAA,EACAC,EAAAjP,EAAAk7D,cAEAlsD,EAAAhP,EAAAu7D,QACAtsD,EAAA,GAEA,MACA,OAAA8rB,EAAAuxM,GACAt9N,EAAAhP,EAAAu7D,QACAtsD,EAAA,IAEAD,EAAAhP,EAAAi7D,YACAhsD,EAAA,GAEA,MACA,OAAA8rB,EAAAwxM,GACAv9N,EAAAhP,EAAA86D,WACA7rD,EAAA,IAEAD,EAAAhP,EAAAu7D,QACAtsD,EAAA,GAEA,MACA,OAAA8rB,EAAAsxM,GACAr9N,EAAAhP,EAAAq7D,SACApsD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAAo7D,UAEA,MACA,OAAArgC,EAAAuxM,GACAt9N,EAAA,EACAC,EAAAjP,EAAAk7D,cAEAlsD,EAAAhP,EAAAq7D,SACApsD,EAAA,GAEA,MACA,OAAA8rB,EAAAuxM,GACAt9N,EAAAhP,EAAAq7D,SACApsD,EAAA,IAEAD,EAAAhP,EAAAi7D,YACAhsD,EAAA,GAEA,MACA,OAAA8rB,EAAAwxM,GACAv9N,EAAAhP,EAAA86D,WACA7rD,EAAA,IAEAD,EAAAhP,EAAAq7D,SACApsD,EAAA,GAEA,MACA,OAAA8rB,EAAAuxM,GACAt9N,EAAA,EACAC,EAAAjP,EAAAo7D,WAEApsD,EAAAhP,EAAAi7D,YACAhsD,EAAA,GAEA,MACA,OAAA8rB,EAAAwxM,GACAv9N,EAAAhP,EAAA86D,WACA7rD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAAo7D,UAEA,MACA,QAAArgC,EAAAwxM,GACAv9N,EAAA,EACAC,EAAAjP,EAAAo7D,WAEApsD,EAAA,EACAC,EAAAjP,EAAA+6D,YAEA,MACA,QAAAhgC,EAAAqxM,GACAp9N,EAAA,EACAC,EAAAjP,EAAAw7D,UAEAxsD,EAAA,EACAC,EAAAjP,EAAAo7D,UAEA,MACA,QAAArgC,EAAAuxM,GACAt9N,EAAA,EACAC,EAAAjP,EAAAk7D,cAEAlsD,EAAAhP,EAAAi7D,YACAhsD,EAAA,GAEA,MACA,QAAA8rB,EAAAwxM,GACAv9N,EAAAhP,EAAA86D,WACA7rD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAAk7D,aAEA,MACA,QAAAngC,EAAAwxM,GACAv9N,EAAA,EACAC,EAAAjP,EAAAk7D,cAEAlsD,EAAA,EACAC,EAAAjP,EAAA+6D,YAEA,MACA,QAAAhgC,EAAAqxM,GACAp9N,EAAA,EACAC,EAAAjP,EAAAw7D,UAEAxsD,EAAA,EACAC,EAAAjP,EAAAk7D,aAEA,MACA,QAAAngC,EAAAuxM,GACAt9N,EAAA,EACAC,EAAAjP,EAAA+6D,aAEA/rD,EAAAhP,EAAAi7D,YACAhsD,EAAA,GAEA,MACA,QAAA8rB,EAAAqxM,GACAp9N,EAAA,EACAC,EAAAjP,EAAAw7D,UAEAxsD,EAAAhP,EAAAi7D,YACAhsD,EAAA,GAEA,MACA,QAAA8rB,EAAAwxM,GACAv9N,EAAAhP,EAAA86D,WACA7rD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAA+6D,YAEA,MACA,QAAAhgC,EAAAqxM,GACAp9N,EAAA,EACAC,EAAAjP,EAAAw7D,UAEAxsD,EAAAhP,EAAA86D,WACA7rD,EAAA,GAEA,MACA,QAAA8rB,EAAAqxM,GACAp9N,EAAA,EACAC,EAAAjP,EAAA+6D,aAEA/rD,EAAAhP,EAAAu7D,QACAtsD,EAAA,GAEA,MACA,QAAA8rB,EAAAsxM,GACAr9N,EAAAhP,EAAAq7D,SACApsD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAA+6D,YAEA,MACA,QAAAhgC,EAAAqxM,GACAp9N,EAAA,EACAC,EAAAjP,EAAAw7D,UAEAxsD,EAAAhP,EAAAu7D,QACAtsD,EAAA,GAEA,MACA,QAAA8rB,EAAAsxM,GACAr9N,EAAAhP,EAAAq7D,SACApsD,EAAA,IAEAD,EAAA,EACAC,EAAAjP,EAAAw7D,SAEA,MACA,QAEA,OAFAnhC,QAAAC,IAAA,wDACAD,QAAAC,IAAAt6B,GACA,KAUA,MAPA,qBAAAgP,GAAA,qBAAAC,GACA,qBAAAwiO,GAAA,qBAAAC,GACA,qBAAAC,IACAt3M,QAAAC,IAAA,gDACAD,QAAAC,IAAAt6B,GACAq6B,QAAAC,IAAAtrB,EAAA,IAAAC,EAAA,IAAAwiO,EAAA,IAAAC,EAAA,IAAAC,IAEA,CAAY51M,EAAA,CAAA/sB,EAAAC,GAAAD,EAAAyiO,EAAAxiO,EAAAyiO,EAAA/vO,EAAAgwO,GAGZ,SAAAzF,GAAAxwM,GACA,IAAA5L,EAAA,GACAgiN,EAAA,EAiCA,OA/BAp2M,EAAA12B,MAAA2R,QAAA,SAAAhF,EAAAlP,GACAkP,EAAAgF,QAAA,SAAAmlB,EAAAt7B,GACA,wBAAAs7B,EAAA,CACA,IAAA37B,EAAA6wO,GAAAl1M,EAAAf,MAAAe,GACA,kBAAA37B,GAAAyF,GAAAzF,GACA,kBAAAA,EAAA,IAAAyF,GAAAzF,EAAA,IACA,kBAAAA,EAAA,OAAAyF,GAAAzF,EAAA,OACAA,EAAAwW,QAAA,SAAAo7N,GACAA,EAAAp7N,QAAA,SAAAq7N,GACAA,EAAA,IAAAxxO,EACAwxO,EAAA,IAAAvvO,IAEAqtB,EAAAgiN,KAAAC,KAGA5xO,EAAAwW,QAAA,SAAAo7N,GACAA,EAAA,IAAAvxO,EACAuxO,EAAA,IAAAtvO,IAEAqtB,EAAAgiN,KAAA3xO,GAGAk6B,QAAAC,IAAA,2EAGAD,QAAAC,IAAA,2EAMAxK,EAGA,OA9xDAkhN,GAAA,GAAAA,GAAA,KAAAhD,EACAgD,GAAA,GAAAA,GAAA,KAAA/C,EACA+C,GAAA,IAAAA,GAAA,KAAA9C,EACA8C,GAAA,IAAAA,GAAA,KAAA7C,EAGA6C,GAAA,KAAAA,GAAA,GAAA5C,EACA4C,GAAA,KAAAA,GAAA,GAAA3C,EACA2C,GAAA,KAAAA,GAAA,IAAA1C,EACA0C,GAAA,IAAAA,GAAA,KAAAzC,EAGAyC,GAAA,GAAAA,GAAA,KAAAxC,EACAwC,GAAA,IAAAA,GAAA,KAAAvC,EACAuC,GAAA,IAAAA,GAAA,IAAAtC,EACAsC,GAAA,IAAAA,GAAA,KAAArC,EACAqC,GAAA,KAAAA,GAAA,IAAApC,EACAoC,GAAA,KAAAA,GAAA,IAAAnC,EAGAmC,GAAA,IAAAlC,EAGAkC,GAAA,KAAAA,GAAA,IAAAjC,EACAiC,GAAA,KAAAA,GAAA,IAAAhC,EACAgC,GAAA,IAAAA,GAAA,IAAA/B,EACA+B,GAAA,IAAAA,GAAA,IAAA9B,EACA8B,GAAA,IAAAA,GAAA,IAAA7B,EACA6B,GAAA,IAAAA,GAAA,KAAA5B,EACA4B,GAAA,GAAAA,GAAA,KAAA3B,EACA2B,GAAA,KAAAA,GAAA,IAAA1B,EACA0B,GAAA,IAAAA,GAAA,KAAAzB,GACAyB,GAAA,KAAAA,GAAA,IAAAxB,GACAwB,GAAA,IAAAA,GAAA,KAAAvB,GACAuB,GAAA,GAAAA,GAAA,KAAAtB,GAGAsB,GAAA,IAAAA,GAAA,KAAArB,GACAqB,GAAA,KAAAA,GAAA,IAAApB,GACAoB,GAAA,IAAAA,GAAA,IAAAnB,GACAmB,GAAA,IAAAA,GAAA,IAAAlB,GACAkB,GAAA,KAAAA,GAAA,IAAAjB,GACAiB,GAAA,IAAAA,GAAA,KAAAhB,GAGAgB,GAAA,aAAAxvO,GAAkC,OAAA+sO,EAAA/sO,GAAA6sO,EAAA7sO,KAClCwvO,GAAA,IAAAf,GACAe,GAAA,cAAAxvO,GAAmC,OAAA8sO,EAAA9sO,GAAA4sO,EAAA5sO,KAGnCwvO,GAAA,cAAAxvO,GAAmC,OAAA0sO,EAAA1sO,GAAAwsO,EAAAxsO,KACnCwvO,GAAA,cAAAxvO,GAAmC,OAAAysO,EAAAzsO,GAAA2sO,EAAA3sO,KACnCwvO,GAAA,KAAAd,GACAc,GAAA,KAAAb,GAGAa,GAAA,cAAAxvO,GAAmC,OAAA0sO,EAAA1sO,GAAA4sO,EAAA5sO,KACnCwvO,GAAA,KAAAZ,GACAY,GAAA,cAAAxvO,GAAmC,OAAA8sO,EAAA9sO,GAAAwsO,EAAAxsO,KACnCwvO,GAAA,KAAAX,GACAW,GAAA,aAAAxvO,GAAkC,OAAA6sO,EAAA7sO,GAAA2sO,EAAA3sO,KAClCwvO,GAAA,IAAAV,GACAU,GAAA,aAAAxvO,GAAkC,OAAAysO,EAAAzsO,GAAA+sO,EAAA/sO,KAClCwvO,GAAA,IAAAT,GA+tDA/1K,0BCz9FA,IAAAlhC,EAAch6B,EAAQ,QAAeg6B,QACrCmkD,EAAan+E,EAAQ,QAmCrB,SAAA0rG,EAAAxlG,GACA,IAAAiD,EAAAwpO,EAAAzsO,GACAm4E,EAAA,EACAp+C,EAAAk+C,EAAAh1E,EAAA/I,SAAA+I,EAAA45E,MAAA1E,GAEAt3E,EAAA,GACA3G,EAAA,GAEA6/B,EAAA5oB,QAAA,SAAAw5C,EAAA3vD,GACA,IAAAP,EAAAs/B,EAAA/+B,GACAd,EAAAe,KAAA,CAAAgI,EAAA/I,SAAAO,EAAA09E,GAAAl1E,EAAA/I,SAAAO,EAAA09E,EAAA,OAGA,QAAAn9E,EAAA,EAAmBA,EAAAd,EAAAsC,OAAqBxB,GAAA,GACxC,IAAAsR,EAAApS,EAAAyC,MAAA3B,IAAA,GACAsR,EAAArR,KAAAf,EAAAc,IACA6F,EAAA5F,KAAA64B,EAAA,CAAAxnB,KAGA,OAAAzL,EAGA,SAAA4rO,EAAAxpO,GAKA,IAJA,IAAAk1E,EAAAl1E,EAAA,MAAAzG,OACAu9B,EAAA,CAAkB7/B,SAAA,GAAA2iF,MAAA,GAAAC,WAAA3E,GAClB4E,EAAA,EAEA/hF,EAAA,EAAmBA,EAAAiI,EAAAzG,OAAiBxB,IAAA,CACpC,QAAAiC,EAAA,EAAuBA,EAAAgG,EAAAjI,GAAAwB,OAAoBS,IAC3C,QAAAnC,EAAA,EAA2BA,EAAAq9E,EAASr9E,IAAAi/B,EAAA7/B,SAAAe,KAAAgI,EAAAjI,GAAAiC,GAAAnC,IAEpCE,EAAA,IACA+hF,GAAA95E,EAAAjI,EAAA,GAAAwB,OACAu9B,EAAA8iD,MAAA5hF,KAAA8hF,IAIA,OAAAhjD,EAvDArgC,EAAAC,QAAA,SAAA8xD,GACA,IAAAA,EAAAvrD,UAAA,YAAAurD,EAAAvrD,SAAAK,MAAA,iBAAAkrD,EAAAvrD,SAAAK,KACA,UAAA9D,MAAA,2CAGA,IAAA0R,EAAA,CAAc5N,KAAA,oBAAAM,SAAA,IAUd,MARA,YAAA4qD,EAAAvrD,SAAAK,KACA4N,EAAAtN,SAAA2kG,EAAA/5C,EAAAvrD,SAAAF,aAEAyrD,EAAAvrD,SAAAF,YAAAmR,QAAA,SAAAnR,GACAmO,EAAAtN,SAAAsN,EAAAtN,SAAAkO,OAAAy2F,EAAAxlG,MAIAmO,yBChCAzU,EAAAC,QAAA,CAAkBoN,QAAA,oDCDlB,IAAAjE,EAAWhJ,EAAQ,QACnB64G,EAAY74G,EAAQ,QACpB0H,EAAc1H,EAAQ,QACtBmG,EAAgBnG,EAAQ,QAAiBmG,UACzCysO,EAAkB5yO,EAAQ,QAC1B4D,EAAA8D,EAAA9D,MACA4P,EAAAxK,EAAAwK,YACA1M,EAAAY,EAAAZ,kBA+DA,SAAAiqD,EAAA8tK,EAAAC,GACA,IAAAzxK,EAAAlnD,EAAA04N,GACAvxK,EAAAnnD,EAAA24N,GACA,OAAAzxK,EAAA3qD,OACA,UAAAC,MAAA,sDAEA,OAAA2qD,EAAA5qD,OACA,UAAAC,MAAA,sDAEA,IAAA6R,EAAA64C,EAAA,MACA54C,EAAA44C,EAAA,MACA34C,EAAA24C,EAAA,MACA14C,EAAA04C,EAAA,MACAvrB,EAAAwrB,EAAA,MACAvrB,EAAAurB,EAAA,MACA4zK,EAAA5zK,EAAA,MACA6zK,EAAA7zK,EAAA,MACA2zK,GAAAE,EAAAp/L,IAAArtB,EAAAF,IAAA0sN,EAAAp/L,IAAAntB,EAAAF,GACAo+N,GAAA3R,EAAAp/L,IAAArtB,EAAAstB,IAAAo/L,EAAAp/L,IAAAvtB,EAAAstB,GACAgxM,GAAAp+N,EAAAF,IAAAC,EAAAstB,IAAAptB,EAAAF,IAAAD,EAAAstB,GAEA,OAAAm/L,EACA,OACA,KAKA,IAAA8R,EAAAF,EAAA5R,EACA+R,EAAAF,EAAA7R,EAEA,GAAA8R,GAAA,GAAAA,GAAA,GAAAC,GAAA,GAAAA,GAAA,GACA,IAAAtjO,EAAA8E,EAAAu+N,GAAAr+N,EAAAF,GACA7E,EAAA8E,EAAAs+N,GAAAp+N,EAAAF,GACA,OAAA7Q,EAAA,CAAA8L,EAAAC,IAEA,YAlFA/P,EAAAC,QAAA,SAAAg/N,EAAAC,GACA,IAAA9wL,EAAA,GACAzmC,EAAA,GAMA,GAFA,eAAAs3N,EAAAp4N,OAAAo4N,EAAAn3N,EAAAd,QAAAi4N,IACA,eAAAC,EAAAr4N,OAAAq4N,EAAAp3N,EAAAd,QAAAk4N,IACA,YAAAD,EAAAp4N,MACA,YAAAq4N,EAAAr4N,MACA,eAAAo4N,EAAAz4N,SAAAK,MACA,eAAAq4N,EAAA14N,SAAAK,MACA,IAAAo4N,EAAAz4N,SAAAF,YAAAxD,QACA,IAAAo8N,EAAA14N,SAAAF,YAAAxD,OAAA,CACA,IAAAg4C,EAAAqW,EAAA8tK,EAAAC,GAEA,OADApkL,GAAAnzC,EAAApG,KAAAu5C,GACA5zC,EAAAS,GAIA,IAAAuzD,EAAA+9C,IAeA,OAdA/9C,EAAA5iB,KAAA06L,EAAA9T,IACAtrN,EAAAo/N,EAAA/T,GAAA,SAAAtuK,GACA/8C,EAAAsnD,EAAAm+C,OAAA1oD,GAAA,SAAA36C,GACA,IAAA8kC,EAAAqW,EAAAR,EAAA36C,GACA,GAAA8kC,EAAA,CAEA,IAAAnhC,EAAApT,EAAAu0C,GAAAp5C,KAAA,KACA0sC,EAAAz0B,KACAy0B,EAAAz0B,IAAA,EACAhS,EAAApG,KAAAu5C,SAKA5zC,EAAAS,8DC3DA,IAAA0rO,EAAAjzO,EAAA,QAAAkzO,EAAAlzO,EAAAyC,EAAAwwO,GAAmnBC,EAAG,sBCMtnB,SAAAltO,EAAAC,GACA,IAAAA,EAAA,UAAAtD,MAAA,iBAEA,IAAAuD,EAAAC,EAAAF,GAGA,GAAAC,EAAAxD,OAAA,GACA,kBAAAwD,EAAA,IACA,kBAAAA,EAAA,GACA,OAAAA,EAEA,UAAAvD,MAAA,mCAUA,SAAAwD,EAAAF,GACA,IAAAA,EAAA,UAAAtD,MAAA,iBACA,IAAAuD,EAeA,GAZAD,EAAAvD,OACAwD,EAAAD,EAGKA,EAAAC,YACLA,EAAAD,EAAAC,YAGKD,EAAAG,UAAAH,EAAAG,SAAAF,cACLA,EAAAD,EAAAG,SAAAF,aAGAA,EAEA,OADAG,EAAAH,GACAA,EAEA,UAAAvD,MAAA,wBAUA,SAAA0D,EAAAH,GACA,GAAAA,EAAAxD,OAAA,GACA,kBAAAwD,EAAA,IACA,kBAAAA,EAAA,GACA,SAEA,GAAAA,EAAA,GAAAxD,OACA,OAAA2D,EAAAH,EAAA,IAEA,UAAAvD,MAAA,yCAYA,SAAA4D,EAAAC,EAAAC,EAAAC,GACA,IAAAD,IAAAC,EAAA,UAAA/D,MAAA,0BAEA,IAAA6D,KAAAC,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAD,EAAAC,MAcA,SAAAE,EAAAC,EAAAH,EAAAC,GACA,IAAAE,EAAA,UAAAjE,MAAA,qBACA,IAAA+D,EAAA,UAAA/D,MAAA,gCACA,IAAAiE,GAAA,YAAAA,EAAAH,OAAAG,EAAAR,SACA,UAAAzD,MAAA,oBAAA+D,EAAA,oCAEA,IAAAE,EAAAR,UAAAQ,EAAAR,SAAAK,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAG,EAAAR,SAAAK,MAcA,SAAAI,EAAAC,EAAAL,EAAAC,GACA,IAAAI,EAAA,UAAAnE,MAAA,+BACA,IAAA+D,EAAA,UAAA/D,MAAA,mCACA,IAAAmE,GAAA,sBAAAA,EAAAL,KACA,UAAA9D,MAAA,oBAAA+D,EAAA,gCAEA,QAAAxF,EAAA,EAAmBA,EAAA4F,EAAAC,SAAArE,OAAuCxB,IAAA,CAC1D,IAAA0F,EAAAE,EAAAC,SAAA7F,GACA,IAAA0F,GAAA,YAAAA,EAAAH,OAAAG,EAAAR,SACA,UAAAzD,MAAA,oBAAA+D,EAAA,oCAEA,IAAAE,EAAAR,UAAAQ,EAAAR,SAAAK,SACA,UAAA9D,MAAA,oBAAA+D,EAAA,eAAAD,EAAA,WAAAG,EAAAR,SAAAK,OAKA7G,EAAAC,QAAA0G,cACA3G,EAAAC,QAAAgH,eACAjH,EAAAC,QAAA8G,YACA/G,EAAAC,QAAAmG,WACApG,EAAAC,QAAAsG,+CCzIA,IAAAqB,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB2H,EAAc3H,EAAQ,QAEtBJ,EAAAC,QAAA,CAGAszO,aAAA,GAKA3rO,SAAA,GACAwiE,kBAAA,SAAAvjE,EAAA2sO,EAAAC,GACA9yO,KAAA4yO,aAAA1sO,GAAA2sO,EACA7yO,KAAAiH,SAAAf,GAAAiB,EAAAqiC,MAAAspM,IAEAC,oBAAA,SAAA7sO,GACA,OAAAlG,KAAA4yO,aAAA70N,eAAA7X,GAAAlG,KAAA4yO,aAAA1sO,QAAAS,GAEAyxM,iBAAA,SAAAlyM,GAEA,OAAAlG,KAAAiH,SAAA8W,eAAA7X,GAAAiB,EAAAsgB,MAAA,GAA8D,CAAAxgB,EAAAyuB,MAAA11B,KAAAiH,SAAAf,KAAA,IAE9D8sO,oBAAA,SAAA9sO,EAAA+sO,GACA,IAAA9nO,EAAAnL,KACAmL,EAAAlE,SAAA8W,eAAA7X,KACAiF,EAAAlE,SAAAf,GAAAiB,EAAAuD,OAAAS,EAAAlE,SAAAf,GAAA+sO,KAGAC,kBAAA,SAAA1qO,GAEArB,EAAA6G,KAAAxF,EAAA25B,OAAA,SAAAzM,GAEAA,EAAA1tB,UAAA0tB,EAAAhpB,QAAA1E,UACA0tB,EAAA3tB,SAAA2tB,EAAAhpB,QAAA3E,SACA2tB,EAAAxtB,OAAAwtB,EAAAhpB,QAAAxE,OACAd,EAAAiK,OAAA7I,EAAAktB,2BCnBA,SAAArvB,EAAAR,EAAAiN,GACA,IAAAjN,EAAA,UAAAzD,MAAA,sBAEA,OACA8D,KAAA,UACA4M,cAAA,GACAjN,YAGAxG,EAAAC,QAAA+G,UAeAhH,EAAAC,QAAA+D,MAAA,SAAAsC,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBACA,QAAAuE,IAAAhB,EAAAxD,OAAA,UAAAC,MAAA,gCACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,+CACA,qBAAAuD,EAAA,sBAAAA,EAAA,aAAAvD,MAAA,4BAEA,OAAAiE,EAAA,CACAH,KAAA,QACAP,eACKmN,IAwBLzT,EAAAC,QAAAm6B,QAAA,SAAA9zB,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,QAAAzB,EAAA,EAAmBA,EAAAgF,EAAAxD,OAAwBxB,IAAA,CAC3C,IAAA8W,EAAA9R,EAAAhF,GACA,GAAA8W,EAAAtV,OAAA,EACA,UAAAC,MAAA,+DAEA,QAAAQ,EAAA,EAAuBA,EAAA6U,IAAAtV,OAAA,GAAAA,OAAkCS,IACzD,GAAA6U,IAAAtV,OAAA,GAAAS,KAAA6U,EAAA,GAAA7U,GACA,UAAAR,MAAA,+CAKA,OAAAiE,EAAA,CACAH,KAAA,UACAP,eACKmN,IA8BLzT,EAAAC,QAAAwW,WAAA,SAAAnQ,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,IAoBLzT,EAAAC,QAAAiH,kBAAA,SAAAC,GACA,IAAAA,EAAA,UAAApE,MAAA,sBAEA,OACA8D,KAAA,oBACAM,aAmBAnH,EAAAC,QAAAy7E,gBAAA,SAAAp1E,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,kBACAP,eACKmN,IAkBLzT,EAAAC,QAAAuqE,WAAA,SAAAlkE,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,IAmBLzT,EAAAC,QAAAqkF,aAAA,SAAAh+E,EAAAmN,GACA,IAAAnN,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,eACAP,eACKmN,IAwBLzT,EAAAC,QAAA4lM,mBAAA,SAAAt+L,EAAAkM,GACA,IAAAlM,EAAA,UAAAxE,MAAA,wBAEA,OAAAiE,EAAA,CACAH,KAAA,qBACAU,cACKkM,IAGL,IAAAqyL,EAAA,CACAC,MAAA,KACAC,cAAA,SACAC,QAAA,WACAx3F,QAAA,EACAy3F,OAAA,UACAC,MAAA,QACAC,OAAA,OACAC,OAAA,OACAC,WAAA,KACAC,WAAA,KACAC,KAAA,aAYAxmM,EAAAC,QAAA0/B,kBAAA,SAAA8uE,EAAA3uE,GACA,IAAA0K,EAAAs7J,EAAAhmK,GAAA,cACA,QAAAx4B,IAAAkjC,EAAA,UAAAznC,MAAA,gBAEA,OAAA0rG,EAAAjkE,GAYAxqC,EAAAC,QAAA2/B,kBAAA,SAAAvrB,EAAAyrB,GACA,IAAA0K,EAAAs7J,EAAAhmK,GAAA,cACA,QAAAx4B,IAAAkjC,EAAA,UAAAznC,MAAA,gBAEA,OAAAsR,EAAAm2B,GAYAxqC,EAAAC,QAAAwmM,kBAAA,SAAApyL,EAAAyrB,GACA,IAAA0K,EAAAs7J,EAAAhmK,GAAA,cACA,QAAAx4B,IAAAkjC,EAAA,UAAAznC,MAAA,gBAEA,OAAAsR,EAAAm2B,EAAA,6BCxQA,SAAAspM,EAAA/oC,GACA,IAMA1sK,EAAAF,EAAAzrB,EANAwD,EAAA60L,EAAA,OACAt4L,EAAAs4L,EAAA,OACA7pM,EAAA6pM,EAAA,OACA5jK,EAAAziC,KAAAyiC,IAAAjxB,EAAAzD,EAAAvR,GACAkO,EAAA1K,KAAA0K,IAAA8G,EAAAzD,EAAAvR,GACAolB,EAAAlX,EAAA+3B,EA0BA,OAvBA/3B,GAAA+3B,EACA9I,EAAA,EACAnoB,GAAA9G,EACAivB,GAAA5rB,EAAAvR,GAAAolB,EACA7T,GAAArD,EACAivB,EAAA,GAAAn9B,EAAAgV,GAAAoQ,EACAplB,GAAAkO,IACAivB,EAAA,GAAAnoB,EAAAzD,GAAA6T,GAEA+X,EAAA35B,KAAAyiC,IAAA,GAAA9I,EAAA,KAEAA,EAAA,IACAA,GAAA,KAEA3rB,GAAAy0B,EAAA/3B,GAAA,EAGA+uB,EADA/uB,GAAA+3B,EACA,EACAz0B,GAAA,GACA4T,GAAAlX,EAAA+3B,GAEA7gB,GAAA,EAAAlX,EAAA+3B,GAEA,CAAA9I,EAAA,IAAAF,EAAA,IAAAzrB,GAGA,SAAAqhO,EAAAhpC,GACA,IAMA1sK,EAAAF,EAAA16B,EANAyS,EAAA60L,EAAA,GACAt4L,EAAAs4L,EAAA,GACA7pM,EAAA6pM,EAAA,GACA5jK,EAAAziC,KAAAyiC,IAAAjxB,EAAAzD,EAAAvR,GACAkO,EAAA1K,KAAA0K,IAAA8G,EAAAzD,EAAAvR,GACAolB,EAAAlX,EAAA+3B,EAwBA,OApBAhJ,EADA,GAAA/uB,EACA,EAEAkX,EAAAlX,EAAA,OAEAA,GAAA+3B,EACA9I,EAAA,EACAnoB,GAAA9G,EACAivB,GAAA5rB,EAAAvR,GAAAolB,EACA7T,GAAArD,EACAivB,EAAA,GAAAn9B,EAAAgV,GAAAoQ,EACAplB,GAAAkO,IACAivB,EAAA,GAAAnoB,EAAAzD,GAAA6T,GAEA+X,EAAA35B,KAAAyiC,IAAA,GAAA9I,EAAA,KAEAA,EAAA,IACAA,GAAA,KAEA56B,EAAA2L,EAAA,WAEA,CAAAivB,EAAAF,EAAA16B,GAGA,SAAAuwO,EAAAjpC,GACA,IAAA70L,EAAA60L,EAAA,GACAt4L,EAAAs4L,EAAA,GACA7pM,EAAA6pM,EAAA,GACA1sK,EAAAy1M,EAAA/oC,GAAA,GACA97H,EAAA,MAAAvqE,KAAAyiC,IAAAjxB,EAAAxR,KAAAyiC,IAAA10B,EAAAvR,IACAA,EAAA,QAAAwD,KAAA0K,IAAA8G,EAAAxR,KAAA0K,IAAAqD,EAAAvR,IAEA,OAAAm9B,EAAA,IAAA4wC,EAAA,IAAA/tE,GAGA,SAAA+yO,EAAAlpC,GACA,IAGAzoM,EAAA87B,EAAAruB,EAAArM,EAHAwS,EAAA60L,EAAA,OACAt4L,EAAAs4L,EAAA,OACA7pM,EAAA6pM,EAAA,OAOA,OAJArnM,EAAAgB,KAAAyiC,IAAA,EAAAjxB,EAAA,EAAAzD,EAAA,EAAAvR,GACAoB,GAAA,EAAA4T,EAAAxS,IAAA,EAAAA,IAAA,EACA06B,GAAA,EAAA3rB,EAAA/O,IAAA,EAAAA,IAAA,EACAqM,GAAA,EAAA7O,EAAAwC,IAAA,EAAAA,IAAA,EACA,KAAApB,EAAA,IAAA87B,EAAA,IAAAruB,EAAA,IAAArM,GAGA,SAAAwwO,EAAAnpC,GACA,OAAAopC,EAAAn1M,KAAAC,UAAA8rK,IAGA,SAAAqpC,EAAArpC,GACA,IAAA70L,EAAA60L,EAAA,OACAt4L,EAAAs4L,EAAA,OACA7pM,EAAA6pM,EAAA,OAGA70L,IAAA,OAAAxR,KAAAulB,KAAA/T,EAAA,iBAAAA,EAAA,MACAzD,IAAA,OAAA/N,KAAAulB,KAAAxX,EAAA,iBAAAA,EAAA,MACAvR,IAAA,OAAAwD,KAAAulB,KAAA/oB,EAAA,iBAAAA,EAAA,MAEA,IAAA4O,EAAA,MAAAoG,EAAA,MAAAzD,EAAA,MAAAvR,EACA6O,EAAA,MAAAmG,EAAA,MAAAzD,EAAA,MAAAvR,EACAmhC,EAAA,MAAAnsB,EAAA,MAAAzD,EAAA,MAAAvR,EAEA,WAAA4O,EAAA,IAAAC,EAAA,IAAAsyB,GAGA,SAAAgyM,EAAAtpC,GACA,IAIAr4L,EAAAzR,EAAAC,EAJAozO,EAAAF,EAAArpC,GACAj7L,EAAAwkO,EAAA,GACAvkO,EAAAukO,EAAA,GACAjyM,EAAAiyM,EAAA,GAeA,OAZAxkO,GAAA,OACAC,GAAA,IACAsyB,GAAA,QAEAvyB,IAAA,QAAApL,KAAAulB,IAAAna,EAAA,WAAAA,EAAA,OACAC,IAAA,QAAArL,KAAAulB,IAAAla,EAAA,WAAAA,EAAA,OACAsyB,IAAA,QAAA39B,KAAAulB,IAAAoY,EAAA,WAAAA,EAAA,OAEA3vB,EAAA,IAAA3C,EAAA,GACA9O,EAAA,KAAA6O,EAAAC,GACA7O,EAAA,KAAA6O,EAAAsyB,GAEA,CAAA3vB,EAAAzR,EAAAC,GAGA,SAAAqzO,EAAAjkM,GACA,OAAAkkM,EAAAH,EAAA/jM,IAGA,SAAAmkM,EAAAxpC,GACA,IAGA3C,EAAAF,EAAAC,EAAA0C,EAAA7vK,EAHAmD,EAAA4sK,EAAA,OACA9sK,EAAA8sK,EAAA,OACAv4L,EAAAu4L,EAAA,OAGA,MAAA9sK,EAEA,OADAjD,EAAA,IAAAxoB,EACA,CAAAwoB,OAIAktK,EADA11L,EAAA,GACAA,GAAA,EAAAyrB,GAEAzrB,EAAAyrB,EAAAzrB,EAAAyrB,EACAmqK,EAAA,EAAA51L,EAAA01L,EAEA2C,EAAA,QACA,QAAAzpM,EAAA,EAAiBA,EAAA,EAAOA,IACxB+mM,EAAAhqK,EAAA,MAAA/8B,EAAA,GACA+mM,EAAA,GAAAA,IACAA,EAAA,GAAAA,IAGAntK,EADA,EAAAmtK,EAAA,EACAC,EAAA,GAAAF,EAAAE,GAAAD,EACA,EAAAA,EAAA,EACAD,EACA,EAAAC,EAAA,EACAC,GAAAF,EAAAE,IAAA,IAAAD,GAAA,EAEAC,EAEAyC,EAAAzpM,GAAA,IAAA45B,EAGA,OAAA6vK,EAGA,SAAA2pC,EAAAzpC,GACA,IAGA0pC,EAAAlxO,EAHA46B,EAAA4sK,EAAA,GACA9sK,EAAA8sK,EAAA,OACAv4L,EAAAu4L,EAAA,OAGA,WAAAv4L,EAGA,SAGAA,GAAA,EACAyrB,GAAAzrB,GAAA,EAAAA,EAAA,EAAAA,EACAjP,GAAAiP,EAAAyrB,GAAA,EACAw2M,EAAA,EAAAx2M,GAAAzrB,EAAAyrB,GACA,CAAAE,EAAA,IAAAs2M,EAAA,IAAAlxO,IAGA,SAAAmxO,EAAAtkM,GACA,OAAA0jM,EAAAS,EAAAnkM,IAGA,SAAAukM,EAAAvkM,GACA,OAAA2jM,EAAAQ,EAAAnkM,IAGA,SAAAwkM,EAAAxkM,GACA,OAAA4jM,EAAAO,EAAAnkM,IAIA,SAAAykM,EAAAC,GACA,IAAA32M,EAAA22M,EAAA,MACA72M,EAAA62M,EAAA,OACAvxO,EAAAuxO,EAAA,OACA5pM,EAAA1mC,KAAAuS,MAAAonB,GAAA,EAEAlpB,EAAAkpB,EAAA35B,KAAAuS,MAAAonB,GACAxB,EAAA,IAAAp5B,GAAA,EAAA06B,GACA5H,EAAA,IAAA9yB,GAAA,EAAA06B,EAAAhpB,GACArT,EAAA,IAAA2B,GAAA,EAAA06B,GAAA,EAAAhpB,IACA1R,GAAA,IAEA,OAAA2nC,GACA,OACA,OAAA3nC,EAAA3B,EAAA+6B,GACA,OACA,OAAAtG,EAAA9yB,EAAAo5B,GACA,OACA,OAAAA,EAAAp5B,EAAA3B,GACA,OACA,OAAA+6B,EAAAtG,EAAA9yB,GACA,OACA,OAAA3B,EAAA+6B,EAAAp5B,GACA,OACA,OAAAA,EAAAo5B,EAAAtG,IAIA,SAAA0+M,EAAAD,GACA,IAGAE,EAAAxiO,EAHA2rB,EAAA22M,EAAA,GACA72M,EAAA62M,EAAA,OACAvxO,EAAAuxO,EAAA,OAQA,OALAtiO,GAAA,EAAAyrB,GAAA16B,EACAyxO,EAAA/2M,EAAA16B,EACAyxO,GAAAxiO,GAAA,EAAAA,EAAA,EAAAA,EACAwiO,KAAA,EACAxiO,GAAA,EACA,CAAA2rB,EAAA,IAAA62M,EAAA,IAAAxiO,GAGA,SAAAyiO,EAAA7kM,GACA,OAAA0jM,EAAAe,EAAAzkM,IAGA,SAAA8kM,EAAA9kM,GACA,OAAA2jM,EAAAc,EAAAzkM,IAGA,SAAA+kM,EAAA/kM,GACA,OAAA4jM,EAAAa,EAAAzkM,IAIA,SAAAglM,EAAAlqC,GACA,IAIA9pM,EAAAmC,EAAA0R,EAAAtS,EAJAw7B,EAAA+sK,EAAA,OACAmqC,EAAAnqC,EAAA,OACAnvK,EAAAmvK,EAAA,OACAtmI,EAAAywK,EAAAt5M,EAiBA,OAbA6oC,EAAA,IACAywK,GAAAzwK,EACA7oC,GAAA6oC,GAGAxjE,EAAAoD,KAAAuS,MAAA,EAAAonB,GACA56B,EAAA,EAAAw4B,EACA9mB,EAAA,EAAAkpB,EAAA/8B,EACA,MAAAA,KACA6T,EAAA,EAAAA,GAEAtS,EAAA0yO,EAAApgO,GAAA1R,EAAA8xO,GAEAj0O,GACA,QACA,OACA,OAAA4U,EAAAzS,EAAkBgP,EAAA5P,EAAO3B,EAAAq0O,EAAQ,MACjC,OAAAr/N,EAAArT,EAAkB4P,EAAAhP,EAAOvC,EAAAq0O,EAAQ,MACjC,OAAAr/N,EAAAq/N,EAAmB9iO,EAAAhP,EAAOvC,EAAA2B,EAAO,MACjC,OAAAqT,EAAAq/N,EAAmB9iO,EAAA5P,EAAO3B,EAAAuC,EAAO,MACjC,OAAAyS,EAAArT,EAAkB4P,EAAA8iO,EAAQr0O,EAAAuC,EAAO,MACjC,OAAAyS,EAAAzS,EAAkBgP,EAAA8iO,EAAQr0O,EAAA2B,EAAO,MAGjC,WAAAqT,EAAA,IAAAzD,EAAA,IAAAvR,GAGA,SAAAs0O,EAAAllM,GACA,OAAAwjM,EAAAwB,EAAAhlM,IAGA,SAAAmlM,EAAAnlM,GACA,OAAAyjM,EAAAuB,EAAAhlM,IAGA,SAAAolM,EAAAplM,GACA,OAAA2jM,EAAAqB,EAAAhlM,IAGA,SAAAqlM,EAAArlM,GACA,OAAA4jM,EAAAoB,EAAAhlM,IAGA,SAAAslM,EAAAC,GACA,IAIA3/N,EAAAzD,EAAAvR,EAJAoB,EAAAuzO,EAAA,OACAz3M,EAAAy3M,EAAA,OACA9lO,EAAA8lO,EAAA,OACAnyO,EAAAmyO,EAAA,OAMA,OAHA3/N,EAAA,EAAAxR,KAAAyiC,IAAA,EAAA7kC,GAAA,EAAAoB,MACA+O,EAAA,EAAA/N,KAAAyiC,IAAA,EAAA/I,GAAA,EAAA16B,MACAxC,EAAA,EAAAwD,KAAAyiC,IAAA,EAAAp3B,GAAA,EAAArM,MACA,KAAAwS,EAAA,IAAAzD,EAAA,IAAAvR,GAGA,SAAA40O,EAAAxlM,GACA,OAAAwjM,EAAA8B,EAAAtlM,IAGA,SAAAylM,EAAAzlM,GACA,OAAAyjM,EAAA6B,EAAAtlM,IAGA,SAAA0lM,EAAA1lM,GACA,OAAA0jM,EAAA4B,EAAAtlM,IAGA,SAAA2lM,EAAA3lM,GACA,OAAA4jM,EAAA0B,EAAAtlM,IAIA,SAAA4lM,EAAA5B,GACA,IAGAp+N,EAAAzD,EAAAvR,EAHA4O,EAAAwkO,EAAA,OACAvkO,EAAAukO,EAAA,OACAjyM,EAAAiyM,EAAA,OAqBA,OAlBAp+N,EAAA,OAAApG,GAAA,OAAAC,GAAA,MAAAsyB,EACA5vB,GAAA,MAAA3C,EAAA,OAAAC,EAAA,MAAAsyB,EACAnhC,EAAA,MAAA4O,GAAA,KAAAC,EAAA,MAAAsyB,EAGAnsB,IAAA,eAAAxR,KAAAulB,IAAA/T,EAAA,YACAA,GAAA,MAEAzD,IAAA,eAAA/N,KAAAulB,IAAAxX,EAAA,YACAA,GAAA,MAEAvR,IAAA,eAAAwD,KAAAulB,IAAA/oB,EAAA,YACAA,GAAA,MAEAgV,EAAAxR,KAAAyiC,IAAAziC,KAAA0K,IAAA,EAAA8G,GAAA,GACAzD,EAAA/N,KAAAyiC,IAAAziC,KAAA0K,IAAA,EAAAqD,GAAA,GACAvR,EAAAwD,KAAAyiC,IAAAziC,KAAA0K,IAAA,EAAAlO,GAAA,GAEA,KAAAgV,EAAA,IAAAzD,EAAA,IAAAvR,GAGA,SAAAi1O,EAAA7B,GACA,IAGA5hO,EAAAzR,EAAAC,EAHA4O,EAAAwkO,EAAA,GACAvkO,EAAAukO,EAAA,GACAjyM,EAAAiyM,EAAA,GAeA,OAZAxkO,GAAA,OACAC,GAAA,IACAsyB,GAAA,QAEAvyB,IAAA,QAAApL,KAAAulB,IAAAna,EAAA,WAAAA,EAAA,OACAC,IAAA,QAAArL,KAAAulB,IAAAla,EAAA,WAAAA,EAAA,OACAsyB,IAAA,QAAA39B,KAAAulB,IAAAoY,EAAA,WAAAA,EAAA,OAEA3vB,EAAA,IAAA3C,EAAA,GACA9O,EAAA,KAAA6O,EAAAC,GACA7O,EAAA,KAAA6O,EAAAsyB,GAEA,CAAA3vB,EAAAzR,EAAAC,GAGA,SAAAk1O,EAAA9lM,GACA,OAAAkkM,EAAA2B,EAAA7lM,IAGA,SAAA+lM,EAAAC,GACA,IAGAxmO,EAAAC,EAAAsyB,EAAAttB,EAHArC,EAAA4jO,EAAA,GACAr1O,EAAAq1O,EAAA,GACAp1O,EAAAo1O,EAAA,GAeA,OAZA5jO,GAAA,GACA3C,EAAA,IAAA2C,EAAA,MACAqC,EAAAhF,EAAA,mBAEAA,EAAA,IAAArL,KAAAulB,KAAAvX,EAAA,WACAqC,EAAArQ,KAAAulB,IAAAla,EAAA,UAGAD,IAAA,gBAAAA,EAAA,QAAA7O,EAAA,IAAA8T,EAAA,qBAAArQ,KAAAulB,IAAAhpB,EAAA,IAAA8T,EAAA,GAEAstB,IAAA,iBAAAA,EAAA,SAAAttB,EAAA7T,EAAA,0BAAAwD,KAAAulB,IAAAlV,EAAA7T,EAAA,OAEA,CAAA4O,EAAAC,EAAAsyB,GAGA,SAAAmyM,EAAA8B,GACA,IAGAz8F,EAAAx7G,EAAA/7B,EAHAoQ,EAAA4jO,EAAA,GACAr1O,EAAAq1O,EAAA,GACAp1O,EAAAo1O,EAAA,GASA,OANAz8F,EAAAn1I,KAAAg4C,MAAAx7C,EAAAD,GACAo9B,EAAA,IAAAw7G,EAAA,EAAAn1I,KAAAsvC,GACA3V,EAAA,IACAA,GAAA,KAEA/7B,EAAAoC,KAAAgR,KAAAzU,IAAAC,KACA,CAAAwR,EAAApQ,EAAA+7B,GAGA,SAAAk4M,EAAAjmM,GACA,OAAA4lM,EAAAG,EAAA/lM,IAGA,SAAAkmM,EAAAC,GACA,IAGAx1O,EAAAC,EAAA24I,EAHAnnI,EAAA+jO,EAAA,GACAn0O,EAAAm0O,EAAA,GACAp4M,EAAAo4M,EAAA,GAMA,OAHA58F,EAAAx7G,EAAA,MAAA35B,KAAAsvC,GACA/yC,EAAAqB,EAAAoC,KAAAklB,IAAAiwH,GACA34I,EAAAoB,EAAAoC,KAAAolB,IAAA+vH,GACA,CAAAnnI,EAAAzR,EAAAC,GAGA,SAAAw1O,EAAApmM,GACA,OAAA+lM,EAAAG,EAAAlmM,IAGA,SAAAqmM,EAAArmM,GACA,OAAAimM,EAAAC,EAAAlmM,IAGA,SAAAsmM,EAAA9rC,GACA,OAAA+rC,EAAA/rC,GAGA,SAAAgsC,EAAAxmM,GACA,OAAAwjM,EAAA8C,EAAAtmM,IAGA,SAAAymM,EAAAzmM,GACA,OAAAyjM,EAAA6C,EAAAtmM,IAGA,SAAA0mM,EAAA1mM,GACA,OAAA0jM,EAAA4C,EAAAtmM,IAGA,SAAA2mM,EAAA3mM,GACA,OAAA2jM,EAAA2C,EAAAtmM,IAGA,SAAA4mM,EAAA5mM,GACA,OAAA+jM,EAAAuC,EAAAtmM,IAGA,SAAA6mM,EAAA7mM,GACA,OAAA8jM,EAAAwC,EAAAtmM,IA1hBAtwC,EAAAC,QAAA,CACA6zO,UACAC,UACAC,UACAC,WACAC,cACAE,UACAC,UACAE,UAEAE,UACAC,UACAE,UACAC,WACAC,cAEAC,UACAE,UACAE,UACAC,WACAC,cAEAC,UACAE,UACAC,UACAC,WACAC,cAEAC,WACAE,WACAC,WACAC,WACAC,eAEAW,cACAE,cACAC,cACAC,cACAC,eACAC,cACAC,cAEAjB,UACAC,UACAC,UAEAC,UACAE,UACA/B,UAEAgC,UACAE,UACAC,WAyeA,IAAAE,EAAA,CACA5lK,UAAA,cACAC,aAAA,cACAC,KAAA,YACAC,WAAA,cACAC,MAAA,cACAC,MAAA,cACAC,OAAA,cACAC,MAAA,QACAC,eAAA,cACAC,KAAA,UACAC,WAAA,aACAC,MAAA,YACAC,UAAA,cACAC,UAAA,aACAC,WAAA,YACAC,UAAA,aACAC,MAAA,aACAC,eAAA,cACAC,SAAA,cACAC,QAAA,YACAC,KAAA,YACAC,SAAA,UACAC,SAAA,YACAC,cAAA,aACAC,SAAA,cACAC,UAAA,UACAC,SAAA,cACAC,UAAA,cACAC,YAAA,YACAC,eAAA,YACAC,WAAA,YACAC,WAAA,aACAC,QAAA,UACAC,WAAA,cACAC,aAAA,cACAC,cAAA,YACAC,cAAA,WACAC,cAAA,WACAC,cAAA,YACAC,WAAA,YACAC,SAAA,aACAC,YAAA,YACAC,QAAA,cACAC,QAAA,cACAC,WAAA,aACAC,UAAA,YACAC,YAAA,cACAC,YAAA,YACAC,QAAA,YACAC,UAAA,cACAC,WAAA,cACAC,KAAA,YACAC,UAAA,aACAC,KAAA,cACAC,MAAA,UACAC,YAAA,aACAC,KAAA,cACAC,SAAA,cACAC,QAAA,cACAC,UAAA,YACAC,OAAA,WACAC,MAAA,cACAC,MAAA,cACAC,SAAA,cACAC,cAAA,cACAC,UAAA,YACAC,aAAA,cACAC,UAAA,cACAC,WAAA,cACAC,UAAA,cACAC,qBAAA,cACAC,UAAA,cACAC,WAAA,cACAC,UAAA,cACAC,UAAA,cACAC,YAAA,cACAC,cAAA,aACAC,aAAA,cACAC,eAAA,cACAC,eAAA,cACAC,eAAA,cACAC,YAAA,cACAC,KAAA,UACAC,UAAA,YACAC,MAAA,cACAC,QAAA,YACAC,OAAA,UACAC,iBAAA,cACAC,WAAA,UACAC,aAAA,aACAC,aAAA,cACAC,eAAA,aACAC,gBAAA,cACAC,kBAAA,YACAC,gBAAA,aACAC,gBAAA,aACAC,aAAA,YACAC,UAAA,cACAC,UAAA,cACAC,SAAA,cACAC,YAAA,cACAC,KAAA,UACAC,QAAA,cACAC,MAAA,YACAC,UAAA,aACAC,OAAA,YACAC,UAAA,WACAC,OAAA,cACAC,cAAA,cACAC,UAAA,cACAC,cAAA,cACAC,cAAA,cACAC,WAAA,cACAC,UAAA,cACAC,KAAA,aACAC,KAAA,cACAC,KAAA,cACAC,WAAA,cACAC,OAAA,YACAC,cAAA,aACAC,IAAA,UACAC,UAAA,cACAC,UAAA,aACAC,YAAA,YACAC,OAAA,cACAC,WAAA,aACAC,SAAA,YACAC,SAAA,cACAC,OAAA,YACAC,OAAA,cACAC,QAAA,cACAC,UAAA,aACAC,UAAA,cACAC,UAAA,cACAC,KAAA,cACAC,YAAA,YACAC,UAAA,aACA9uD,IAAA,cACA+uD,KAAA,YACAC,QAAA,cACAC,OAAA,YACAC,UAAA,aACAC,OAAA,cACAC,MAAA,cACAC,MAAA,cACAC,WAAA,cACAC,OAAA,YACAC,YAAA,cAGAg6J,EAAA,GACA,QAAAx6N,KAAAk9N,EACA1C,EAAAn1M,KAAAC,UAAA43M,EAAAl9N,6BCxrBA,IAAAkoB,EAAgBzhC,EAAQ,QACxBmG,EAAAs7B,EAAAt7B,UAiBAvG,EAAAC,QAAA,SAAAuP,GAEA,IAAAA,EAAA,UAAAzM,MAAA,oBACA,IAAA8D,EAAA2I,EAAA,SAAAA,EAAAhJ,SAAAK,KAAA2I,EAAA3I,KACA,IAAArE,MAAAkE,QAAA8I,IAAA,eAAA3I,EAAA,UAAA9D,MAAA,iCAEA,IAGA8B,EAAAuW,EAHAhD,EAAA7R,EAAAiJ,GACAuzE,EAAA,EACAzhF,EAAA,EAEA,MAAAA,EAAA8W,EAAAtV,OACA+B,EAAAuW,GAAAhD,EAAA,GACAgD,EAAAhD,EAAA9W,GACAyhF,IAAA3nE,EAAA,GAAAvW,EAAA,KAAAuW,EAAA,GAAAvW,EAAA,IACAvD,IAEA,OAAAyhF,EAAA,sCChCA,IAAA3hC,EAAA18C,KAAAsvC,GAAA,IACAyN,EAAA,IAAA/8C,KAAAsvC,GAEAojM,EAAA,SAAAluN,EAAAH,GACApoB,KAAAuoB,MACAvoB,KAAAooB,MACApoB,KAAAmP,EAAAsxC,EAAAl4B,EACAvoB,KAAAoP,EAAAqxC,EAAAr4B,GAGAquN,EAAAx1O,UAAAwyC,KAAA,WACA,OAAA/mB,OAAA1sB,KAAAuoB,KAAAjmB,MAAA,SAAAoqB,OAAA1sB,KAAAooB,KAAA9lB,MAAA,MAGAm0O,EAAAx1O,UAAAy1O,SAAA,WACA,IAAAC,GAAA,EAAA32O,KAAAooB,IACAwuN,EAAA52O,KAAAuoB,IAAA,MAAAvoB,KAAAuoB,KAAA,OAAAvoB,KAAAuoB,KACA,WAAAkuN,EAAAG,EAAAD,IAGA,IAAAhzL,EAAA,WACA3jD,KAAAiS,OAAA,GACAjS,KAAAmC,OAAA,GAGAwhD,EAAA1iD,UAAA41O,QAAA,SAAAxjO,GACArT,KAAAmC,SACAnC,KAAAiS,OAAArR,KAAAyS,IAGA,IAAA01F,EAAA,SAAAj2F,GACA9S,KAAA8S,cAAA,GACA9S,KAAA4G,WAAA,IAGAmiG,EAAA9nG,UAAA+3G,KAAA,WACA,GAAAh5G,KAAA4G,WAAAzE,QAAA,EACA,OAAgB0D,SAAA,CAAaK,KAAA,aAAAP,YAAA,MAC7BO,KAAA,UAAA4M,WAAA9S,KAAA8S,YAEK,OAAA9S,KAAA4G,WAAAzE,OACL,OAAgB0D,SAAA,CAAaK,KAAA,aAAAP,YAAA3F,KAAA4G,WAAA,GAAAqL,QAC7B/L,KAAA,UAAA4M,WAAA9S,KAAA8S,YAIA,IADA,IAAAojG,EAAA,GACAv1G,EAAA,EAAuBA,EAAAX,KAAA4G,WAAAzE,OAA4BxB,IACnDu1G,EAAAt1G,KAAAZ,KAAA4G,WAAAjG,GAAAsR,QAEA,OAAgBpM,SAAA,CAAaK,KAAA,kBAAAP,YAAAuwG,GAC7BhwG,KAAA,UAAA4M,WAAA9S,KAAA8S,aAMAi2F,EAAA9nG,UAAA61O,IAAA,WAIA,IAHA,IAAAC,EAAA,GACAD,EAAA,cACAE,EAAA,SAAAr1O,GAAgCm1O,GAAAn1O,EAAA,OAAAA,EAAA,QAChChB,EAAA,EAAmBA,EAAAX,KAAA4G,WAAAzE,OAA4BxB,IAAA,CAC/C,OAAAX,KAAA4G,WAAAjG,GAAAsR,OAAA9P,OACA,0BAEA,IAAA8P,EAAAjS,KAAA4G,WAAAjG,GAAAsR,OACAA,EAAA6E,QAAAkgO,GACAD,GAAAD,EAAAv9I,UAAA,EAAAu9I,EAAA30O,OAAA,OAGA,OAAA40O,GAOA,IAAAE,EAAA,SAAAv8N,EAAAE,EAAA9H,GACA,IAAA4H,QAAA/T,IAAA+T,EAAAvL,QAAAxI,IAAA+T,EAAAtL,EACA,UAAAhN,MAAA,2FAEA,IAAAwY,QAAAjU,IAAAiU,EAAAzL,QAAAxI,IAAAiU,EAAAxL,EACA,UAAAhN,MAAA,2FAEApC,KAAA0a,MAAA,IAAA+7N,EAAA/7N,EAAAvL,EAAAuL,EAAAtL,GACApP,KAAA4a,IAAA,IAAA67N,EAAA77N,EAAAzL,EAAAyL,EAAAxL,GACApP,KAAA8S,cAAA,GAEA,IAAAw7D,EAAAtuE,KAAA0a,MAAAvL,EAAAnP,KAAA4a,IAAAzL,EACAuuB,EAAA19B,KAAA0a,MAAAtL,EAAApP,KAAA4a,IAAAxL,EACAsyB,EAAA39B,KAAAulB,IAAAvlB,KAAAolB,IAAAuU,EAAA,MACA35B,KAAAklB,IAAAjpB,KAAA0a,MAAAtL,GACArL,KAAAklB,IAAAjpB,KAAA4a,IAAAxL,GACArL,KAAAulB,IAAAvlB,KAAAolB,IAAAmlD,EAAA,MAGA,GAFAtuE,KAAA8R,EAAA,EAAA/N,KAAAkuD,KAAAluD,KAAAgR,KAAA2sB,IAEA1hC,KAAA8R,IAAA/N,KAAAsvC,GACA,UAAAjxC,MAAA,cAAAsY,EAAA+4B,OAAA,QAAA74B,EAAA64B,OAAA,mGACK,GAAApkC,MAAArP,KAAA8R,GACL,UAAA1P,MAAA,4CAAAsY,EAAA,QAAAE,IAOAq8N,EAAAh2O,UAAAuyC,YAAA,SAAAh/B,GACA,IAAA2zB,EAAApkC,KAAAolB,KAAA,EAAA3U,GAAAxU,KAAA8R,GAAA/N,KAAAolB,IAAAnpB,KAAA8R,GACAs2B,EAAArkC,KAAAolB,IAAA3U,EAAAxU,KAAA8R,GAAA/N,KAAAolB,IAAAnpB,KAAA8R,GACA3C,EAAAg5B,EAAApkC,KAAAklB,IAAAjpB,KAAA0a,MAAAtL,GAAArL,KAAAklB,IAAAjpB,KAAA0a,MAAAvL,GAAAi5B,EAAArkC,KAAAklB,IAAAjpB,KAAA4a,IAAAxL,GAAArL,KAAAklB,IAAAjpB,KAAA4a,IAAAzL,GACAC,EAAA+4B,EAAApkC,KAAAklB,IAAAjpB,KAAA0a,MAAAtL,GAAArL,KAAAolB,IAAAnpB,KAAA0a,MAAAvL,GAAAi5B,EAAArkC,KAAAklB,IAAAjpB,KAAA4a,IAAAxL,GAAArL,KAAAolB,IAAAnpB,KAAA4a,IAAAzL,GACAuyB,EAAAyG,EAAApkC,KAAAolB,IAAAnpB,KAAA0a,MAAAtL,GAAAg5B,EAAArkC,KAAAolB,IAAAnpB,KAAA4a,IAAAxL,GACAgZ,EAAA04B,EAAA/8C,KAAAg4C,MAAAra,EAAA39B,KAAAgR,KAAAhR,KAAAulB,IAAAna,EAAA,GAAApL,KAAAulB,IAAAla,EAAA,KACAmZ,EAAAu4B,EAAA/8C,KAAAg4C,MAAA3sC,EAAAD,GACA,OAAAoZ,EAAAH,IAQA6uN,EAAAh2O,UAAA8nG,IAAA,SAAAmuI,EAAAxqO,GACA,IAAAyqO,EAAA,GACA,IAAAD,MAAA,EACAC,EAAAv2O,KAAA,CAAAZ,KAAA0a,MAAA6N,IAAAvoB,KAAA0a,MAAA0N,MACA+uN,EAAAv2O,KAAA,CAAAZ,KAAA4a,IAAA2N,IAAAvoB,KAAA4a,IAAAwN,WAGA,IADA,IAAAzC,EAAA,GAAAuxN,EAAA,GACAv2O,EAAA,EAAuBA,EAAAu2O,IAAav2O,EAAA,CACpC,IAAA0mM,EAAA1hL,EAAAhlB,EACAy2O,EAAAp3O,KAAAwzC,YAAA6zJ,GACA8vC,EAAAv2O,KAAAw2O,GAmBA,IAXA,IAAAC,GAAA,EACAC,EAAA,EAIAC,EAAA7qO,KAAA6W,OAAA7W,EAAA6W,OAAA,GACAi0N,EAAA,IAAAD,EACAE,GAAA,IAAAF,EACAG,EAAA,IAAAH,EAGA30O,EAAA,EAAmBA,EAAAu0O,EAAAh1O,SAAuBS,EAAA,CAC1C,IAAA+0O,EAAAR,EAAAv0O,EAAA,MACAg1O,EAAAT,EAAAv0O,GAAA,GACAi1O,EAAA9zO,KAAA6hB,IAAAgyN,EAAAD,GACAE,EAAAH,IACAE,EAAAJ,GAAAG,EAAAF,GAAAE,EAAAH,GAAAI,EAAAH,GACAJ,GAAA,EACSQ,EAAAP,IACTA,EAAAO,GAIA,IAAAC,EAAA,GACA,GAAAT,GAAAC,EAAAC,EAAA,CACA,IAAAQ,EAAA,GACAD,EAAAl3O,KAAAm3O,GACA,QAAAh1O,EAAA,EAAuBA,EAAAo0O,EAAAh1O,SAAuBY,EAAA,CAC9C,IAAAi1O,EAAAn6M,WAAAs5M,EAAAp0O,GAAA,IACA,GAAAA,EAAA,GAAAgB,KAAA6hB,IAAAoyN,EAAAb,EAAAp0O,EAAA,OAAA20O,EAAA,CACA,IAAAO,EAAAp6M,WAAAs5M,EAAAp0O,EAAA,OACAm1O,EAAAr6M,WAAAs5M,EAAAp0O,EAAA,OACAo1O,EAAAt6M,WAAAs5M,EAAAp0O,GAAA,IACAq1O,EAAAv6M,WAAAs5M,EAAAp0O,GAAA,IACA,GAAAk1O,GAAA,KAAAA,EAAAR,GAAA,MAAAU,GACAp1O,EAAA,EAAAo0O,EAAAh1O,QACAg1O,EAAAp0O,EAAA,YAAAo0O,EAAAp0O,EAAA,MAAA00O,EAAA,CACAM,EAAAn3O,KAAA,MAAAu2O,EAAAp0O,GAAA,KACAA,IACAg1O,EAAAn3O,KAAA,CAAAu2O,EAAAp0O,GAAA,GAAAo0O,EAAAp0O,GAAA,KACA,SACiB,GAAAk1O,EAAAT,GAAAS,EAAA,YAAAE,GACjBp1O,EAAA,EAAAo0O,EAAAh1O,QACAg1O,EAAAp0O,EAAA,MAAAy0O,GAAAL,EAAAp0O,EAAA,WACAg1O,EAAAn3O,KAAA,KAAAu2O,EAAAp0O,GAAA,KACAA,IACAg1O,EAAAn3O,KAAA,CAAAu2O,EAAAp0O,GAAA,GAAAo0O,EAAAp0O,GAAA,KACA,SAGA,GAAAk1O,EAAAR,GAAAU,EAAAX,EAAA,CAEA,IAAAa,EAAAJ,EACAA,EAAAE,EACAA,EAAAE,EAEA,IAAAC,EAAAJ,EACAA,EAAAE,EACAA,EAAAE,EAKA,GAHAL,EAAAT,GAAAW,EAAAV,IACAU,GAAA,KAEAF,GAAA,KAAAE,GAAA,KAAAF,EAAAE,EAAA,CACA,IAAAI,GAAA,IAAAN,IAAAE,EAAAF,GACAO,EAAAD,EAAAH,GAAA,EAAAG,GAAAL,EACAH,EAAAn3O,KAAA,CAAAu2O,EAAAp0O,EAAA,MAAAy0O,EAAA,SAAAgB,IACAT,EAAA,GACAA,EAAAn3O,KAAA,CAAAu2O,EAAAp0O,EAAA,MAAAy0O,GAAA,QAAAgB,IACAV,EAAAl3O,KAAAm3O,QAEAA,EAAA,GACAD,EAAAl3O,KAAAm3O,GAEAA,EAAAn3O,KAAA,CAAAo3O,EAAAb,EAAAp0O,GAAA,UAEAg1O,EAAAn3O,KAAA,CAAAu2O,EAAAp0O,GAAA,GAAAo0O,EAAAp0O,GAAA,UAGK,CAEL,IAAA01O,EAAA,GACAX,EAAAl3O,KAAA63O,GACA,QAAA1mO,EAAA,EAAuBA,EAAAolO,EAAAh1O,SAAuB4P,EAC9C0mO,EAAA73O,KAAA,CAAAu2O,EAAAplO,GAAA,GAAAolO,EAAAplO,GAAA,KAKA,IADA,IAAAk2C,EAAA,IAAA8gD,EAAA/oG,KAAA8S,YACA2qB,EAAA,EAAmBA,EAAAq6M,EAAA31O,SAAoBs7B,EAAA,CACvC,IAAA5uB,EAAA,IAAA80C,EACAsE,EAAArhD,WAAAhG,KAAAiO,GAEA,IADA,IAAA7M,EAAA81O,EAAAr6M,GACAi7M,EAAA,EAAwBA,EAAA12O,EAAAG,SAAoBu2O,EAC5C7pO,EAAAgoO,QAAA70O,EAAA02O,IAGA,OAAAzwL,GAGA5oD,EAAAC,QAAA,CACAm3O,QACA1tI,MACAkuI,4DCnPA53O,EAAAC,QAAA,CAAkB+J,KAAA,6CCkBlB,SAAAhD,EAAAR,EAAAiN,EAAAsN,EAAA5V,GACA,QAAA7D,IAAAd,EAAA,UAAAzD,MAAA,wBACA,GAAA0Q,KAAA+Q,cAAAzL,OAAA,UAAAhW,MAAA,gCACA,GAAAge,GAAA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,sCACA,GAAAoI,IAAA,wBAAAxH,eAAAwH,GAAA,UAAApI,MAAA,mCAEA,IAAAu2O,EAAA,CAAgBzyO,KAAA,WAKhB,OAJAsE,IAAAmuO,EAAAnuO,MACA4V,IAAAu4N,EAAAv4N,QACAu4N,EAAA7lO,cAAA,GACA6lO,EAAA9yO,WACA8yO,EAoBA,SAAA9yO,EAAAK,EAAAP,EAAAya,GAEA,IAAAla,EAAA,UAAA9D,MAAA,oBACA,IAAAuD,EAAA,UAAAvD,MAAA,2BACA,IAAAP,MAAAkE,QAAAJ,GAAA,UAAAvD,MAAA,gCACA,GAAAge,GAAA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,sCAEA,IAAA0E,EACA,OAAAZ,GACA,YAAAY,EAAAzD,EAAAsC,GAAAE,SAAqD,MACrD,iBAAAiB,EAAAgP,EAAAnQ,GAAAE,SAA+D,MAC/D,cAAAiB,EAAA2yB,EAAA9zB,GAAAE,SAAyD,MACzD,iBAAAiB,EAAA+iE,EAAAlkE,GAAAE,SAA+D,MAC/D,sBAAAiB,EAAAi0E,EAAAp1E,GAAAE,SAAyE,MACzE,mBAAAiB,EAAA68E,EAAAh+E,GAAAE,SAAmE,MACnE,kBAAAzD,MAAA8D,EAAA,eAGA,OADAka,IAAAtZ,EAAAsZ,QACAtZ,EAiBA,SAAAzD,EAAAsC,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBACA,QAAAuE,IAAAhB,EAAAxD,OAAA,UAAAC,MAAA,gCACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,+CACA,IAAAkyC,EAAA3uC,EAAA,MAAA2uC,EAAA3uC,EAAA,cAAAvD,MAAA,oCAEA,OAAAiE,EAAA,CACAH,KAAA,QACAP,eACKmN,EAAAsN,EAAA5V,GAyBL,SAAAivB,EAAA9zB,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,QAAAzB,EAAA,EAAmBA,EAAAgF,EAAAxD,OAAwBxB,IAAA,CAC3C,IAAA8W,EAAA9R,EAAAhF,GACA,GAAA8W,EAAAtV,OAAA,EACA,UAAAC,MAAA,+DAEA,QAAAQ,EAAA,EAAuBA,EAAA6U,IAAAtV,OAAA,GAAAA,OAAkCS,IAAA,CAEzD,OAAAjC,GAAA,IAAAiC,IAAA0xC,EAAA78B,EAAA,SAAA68B,EAAA78B,EAAA,iBAAArV,MAAA,oCACA,GAAAqV,IAAAtV,OAAA,GAAAS,KAAA6U,EAAA,GAAA7U,GACA,UAAAR,MAAA,gDAKA,OAAAiE,EAAA,CACAH,KAAA,UACAP,eACKmN,EAAAsN,EAAA5V,GAgCL,SAAAsL,EAAAnQ,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,yDAEA,IAAAkyC,EAAA3uC,EAAA,SAAA2uC,EAAA3uC,EAAA,iBAAAvD,MAAA,oCAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,EAAAsN,EAAA5V,GAsBL,SAAAjE,EAAAC,EAAA4Z,EAAA5V,GACA,IAAAhE,EAAA,UAAApE,MAAA,sBACA,IAAAP,MAAAkE,QAAAS,GAAA,UAAApE,MAAA,6BACA,GAAAge,GAAA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,sCACA,GAAAoI,IAAA,wBAAAxH,eAAAwH,GAAA,UAAApI,MAAA,mCAEA,IAAA0R,EAAA,CAAc5N,KAAA,qBAId,OAHAsE,IAAAsJ,EAAAtJ,MACA4V,IAAAtM,EAAAsM,QACAtM,EAAAtN,WACAsN,EAmBA,SAAAinE,EAAAp1E,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,kBACAP,eACKmN,EAAAsN,EAAA5V,GAmBL,SAAAq/D,EAAAlkE,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,EAAAsN,EAAA5V,GAoBL,SAAAm5E,EAAAh+E,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,eACAP,eACKmN,EAAAsN,EAAA5V,GA0BL,SAAA06L,EAAAt+L,EAAAkM,EAAAsN,EAAA5V,GACA,IAAA5D,EAAA,UAAAxE,MAAA,0BACA,IAAAP,MAAAkE,QAAAa,GAAA,UAAAxE,MAAA,+BAEA,OAAAiE,EAAA,CACAH,KAAA,qBACAU,cACKkM,EAAAsN,EAAA5V,GAIL,IAAA26L,EAAA,CACAC,MAAA,KACAC,cAAA,SACAC,QAAA,WACAx3F,QAAA,EACAy3F,OAAA,UACAC,MAAA,QACAC,OAAA,OACAC,OAAA,OACAkzC,YAAA,OACAC,YAAA,OACAlzC,WAAA,KACAC,WAAA,KACAC,KAAA,aAGAizC,EAAA,CACAnzC,WAAA,KACAC,WAAA,KACAH,OAAA,EACAC,OAAA,EACAmzC,YAAA,IACAE,WAAA,IACAC,MAAA,UACA5zC,MAAA,OACAI,MAAA,YACAK,KAAA,aACAN,OAAA,gBAeA,SAAAt+K,EAAAukL,EAAAluL,GACA,QAAA3W,IAAA6kM,GAAA,OAAAA,GAAAn8L,MAAAm8L,GAAA,UAAAppM,MAAA,mBACA,GAAAkb,QAAA,aAAAlb,MAAA,uCACA,IAAA62O,EAAAl1O,KAAAulB,IAAA,GAAAhM,GAAA,GACA,OAAAvZ,KAAAkjB,MAAAukL,EAAAytC,KAYA,SAAAj6M,EAAA8uE,EAAA3uE,GACA,QAAAx4B,IAAAmnG,GAAA,OAAAA,EAAA,UAAA1rG,MAAA,uBAEA,IAAAynC,EAAAs7J,EAAAhmK,GAAA,cACA,IAAA0K,EAAA,UAAAznC,MAAA,oBACA,OAAA0rG,EAAAjkE,EAYA,SAAA5K,EAAAvrB,EAAAyrB,GACA,QAAAx4B,IAAA+M,GAAA,OAAAA,EAAA,UAAAtR,MAAA,wBAEA,IAAAynC,EAAAs7J,EAAAhmK,GAAA,cACA,IAAA0K,EAAA,UAAAznC,MAAA,oBACA,OAAAsR,EAAAm2B,EAYA,SAAAi8J,EAAApyL,EAAAyrB,GACA,OAAAsuE,EAAAxuE,EAAAvrB,EAAAyrB,IAWA,SAAAwpK,EAAAz+J,GACA,UAAAA,QAAAvjC,IAAAujC,EAAA,UAAA9nC,MAAA,uBAEA,IAAA6mE,EAAA/+B,EAAA,IAEA,OADA++B,EAAA,IAAAA,GAAA,KACAA,EAUA,SAAAwkC,EAAAK,GACA,UAAAA,QAAAnnG,IAAAmnG,EAAA,UAAA1rG,MAAA,uBAEA,IAAAkjM,EAAAx3F,GAAA,EAAA/pG,KAAAsvC,IACA,WAAAiyJ,EAAAvhM,KAAAsvC,GAUA,SAAAm6D,EAAA83F,GACA,UAAAA,QAAA3+L,IAAA2+L,EAAA,UAAAljM,MAAA,uBAEA,IAAA0rG,EAAAw3F,EAAA,IACA,OAAAx3F,EAAA/pG,KAAAsvC,GAAA,IAaA,SAAAu1J,EAAAl1L,EAAAwlO,EAAAC,GACA,UAAAzlO,QAAA/M,IAAA+M,EAAA,UAAAtR,MAAA,wBACA,KAAAsR,GAAA,aAAAtR,MAAA,sCAEA,IAAAg3O,EAAAp6M,EAAAC,EAAAvrB,EAAAwlO,GAAAC,GAAA,cACA,OAAAC,EAWA,SAAAC,EAAAhzM,EAAA6yM,EAAAC,GACA,UAAA9yM,QAAA1/B,IAAA0/B,EAAA,UAAAjkC,MAAA,oBACA,KAAAikC,GAAA,aAAAjkC,MAAA,kCAEA,IAAAk3O,EAAAR,EAAAI,GAAA,UACA,IAAAI,EAAA,UAAAl3O,MAAA,0BAEA,IAAAm3O,EAAAT,EAAAK,GAAA,cACA,IAAAI,EAAA,UAAAn3O,MAAA,uBAEA,OAAAikC,EAAAizM,EAAAC,EAcA,SAAAjlM,EAAAk3J,GACA,OAAAn8L,MAAAm8L,IAAA,OAAAA,IAAA3pM,MAAAkE,QAAAylM,GAGAnsM,EAAAC,QAAA,CACA+G,UACAR,WACAU,oBACA2+L,qBACA7hM,QACAwmE,aACA/zD,aACAilE,kBACAthD,UACAkqD,eACA3kD,oBACAC,oBACA6mK,oBACAr4F,kBACAD,kBACAm7F,iBACAC,kBACAywC,cACApyN,QACAqtB,kCC3hBA,IAAAI,EAAkBj1C,EAAQ,QAC1BopN,EAAappN,EAAQ,QACrBqW,EAAiBrW,EAAQ,QAAeqW,WAsExC,SAAA0jO,EAAAC,GACA,IAAAC,EAAAD,EAAA,IAIA,OAHAC,EAAA,IACAA,GAAA,KAEAA,EAlDAr6O,EAAAC,QAAA,SAAAumB,EAAAnW,EAAAiqO,EAAAC,EAAAx6M,EAAAD,GAEA,IAAAtZ,EAAA,UAAAzjB,MAAA,sBACA,QAAAuE,IAAAgzO,GAAA,OAAAA,EAAA,UAAAv3O,MAAA,wBACA,QAAAuE,IAAAizO,GAAA,OAAAA,EAAA,UAAAx3O,MAAA,wBACA,IAAAsN,EAAA,UAAAtN,MAAA,sBAGAg9B,KAAA,GAEA,IAAAy6M,EAAAL,EAAAG,GACAG,EAAAN,EAAAI,GACA9mO,EAAA+S,EAAA/S,WAGA,GAAA+mO,IAAAC,EACA,OAAAhkO,EAAA+yM,EAAAhjM,EAAAnW,EAAA0vB,EAAAD,GAAAt5B,SAAAF,YAAA,GAAAmN,GAEA,IAAAinO,EAAAF,EACAG,EAAAH,EAAAC,MAAA,IAEAL,EAAAM,EACAp0O,EAAA,GACAhF,EAAA,EAEA,MAAA84O,EAAAO,EACAr0O,EAAA/E,KAAA8zC,EAAA7uB,EAAAnW,EAAA+pO,EAAAt6M,GAAAt5B,SAAAF,aACAhF,IACA84O,EAAAM,EAAA,IAAAp5O,EAAAy+B,EAKA,OAHAq6M,EAAAO,GACAr0O,EAAA/E,KAAA8zC,EAAA7uB,EAAAnW,EAAAsqO,EAAA76M,GAAAt5B,SAAAF,aAEAmQ,EAAAnQ,EAAAmN,0BC5DA,IAAAmnO,EAAkBx6O,EAAQ,QAE1B4gD,EAAA,WACA,WAAA65L,GAGA,QAAAC,KAAAF,EAAA,CAEA55L,EAAA85L,EAAA,gBAAAA,GAEA,gBAAAnsG,GAGA,MAFA,iBAAAA,IACAA,EAAAnsI,MAAAZ,UAAAqB,MAAA0O,KAAA4+B,YACAqqM,EAAAE,GAAAnsG,IALA,CAOGmsG,GAEH,IAAA/C,EAAA,cAAAx5M,KAAAu8M,GACAhgO,EAAAi9N,EAAA,GACAh9N,EAAAg9N,EAAA,GAGA/2L,EAAAlmC,GAAAkmC,EAAAlmC,IAAA,GAEAkmC,EAAAlmC,GAAAC,GAAAimC,EAAA85L,GAAA,SAAAA,GACA,gBAAAnsG,GACA,iBAAAA,IACAA,EAAAnsI,MAAAZ,UAAAqB,MAAA0O,KAAA4+B,YAEA,IAAArV,EAAA0/M,EAAAE,GAAAnsG,GACA,oBAAAzzG,QAAA5zB,IAAA4zB,EACA,OAAAA,EAEA,QAAA55B,EAAA,EAAqBA,EAAA45B,EAAAp4B,OAAgBxB,IACrC45B,EAAA55B,GAAAoD,KAAAkjB,MAAAsT,EAAA55B,IACA,OAAA45B,GAXA,CAaG4/M,GAKH,IAAAD,EAAA,WACAl6O,KAAAo6O,MAAA,IAKAF,EAAAj5O,UAAAo5O,WAAA,SAAAC,EAAA3qM,GACA,IAAAnoB,EAAAmoB,EAAA,GACA,YAAAhpC,IAAA6gB,EAEAxnB,KAAAu6O,UAAAD,IAGA,iBAAA9yN,IACAA,EAAA3lB,MAAAZ,UAAAqB,MAAA0O,KAAA2+B,IAGA3vC,KAAAw6O,UAAAF,EAAA9yN,KAIA0yN,EAAAj5O,UAAAu5O,UAAA,SAAAF,EAAA9yN,GAIA,OAHAxnB,KAAAs6O,QACAt6O,KAAAo6O,MAAA,GACAp6O,KAAAo6O,MAAAE,GAAA9yN,EACAxnB,MAMAk6O,EAAAj5O,UAAAs5O,UAAA,SAAAD,GACA,IAAAxvC,EAAA9qM,KAAAo6O,MAAAE,GACA,IAAAxvC,EAAA,CACA,IAAA2vC,EAAAz6O,KAAAs6O,MACAngO,EAAAna,KAAAo6O,MAAAK,GACA3vC,EAAAzqJ,EAAAo6L,GAAAH,GAAAngO,GAEAna,KAAAo6O,MAAAE,GAAAxvC,EAEA,OAAAA,GAGA,qCAAAh0L,QAAA,SAAAwjO,GACAJ,EAAAj5O,UAAAq5O,GAAA,SAAAxvC,GACA,OAAA9qM,KAAAq6O,WAAAC,EAAA1qM,cAIAvwC,EAAAC,QAAA+gD,qCCzFA,IAAAl5C,EAAc1H,EAAQ,QAOtBi7O,EAAA,CACAlkL,OAAA,SAAAr1D,GACA,OAAAA,GAGAw5O,WAAA,SAAAx5O,GACA,OAAAA,KAGAy5O,YAAA,SAAAz5O,GACA,OAAAA,KAAA,IAGA05O,cAAA,SAAA15O,GACA,OAAAA,GAAA,MACA,GAAAA,KAEA,MAAAA,KAAA,OAGA25O,YAAA,SAAA35O,GACA,OAAAA,OAGA45O,aAAA,SAAA55O,GACA,OAAAA,GAAA,GAAAA,IAAA,GAGA65O,eAAA,SAAA75O,GACA,OAAAA,GAAA,MACA,GAAAA,MAEA,KAAAA,GAAA,GAAAA,IAAA,IAGA85O,YAAA,SAAA95O,GACA,OAAAA,SAGA+5O,aAAA,SAAA/5O,GACA,SAAAA,GAAA,GAAAA,MAAA,IAGAg6O,eAAA,SAAAh6O,GACA,OAAAA,GAAA,MACA,GAAAA,SAEA,KAAAA,GAAA,GAAAA,MAAA,IAGAi6O,YAAA,SAAAj6O,GACA,OAAAA,WAGAk6O,aAAA,SAAAl6O,GACA,OAAAA,GAAA,GAAAA,QAAA,GAGAm6O,eAAA,SAAAn6O,GACA,OAAAA,GAAA,MACA,GAAAA,UAEA,KAAAA,GAAA,GAAAA,QAAA,IAGAo6O,WAAA,SAAAp6O,GACA,SAAA4C,KAAAklB,IAAA9nB,GAAA4C,KAAAsvC,GAAA,KAGAmoM,YAAA,SAAAr6O,GACA,OAAA4C,KAAAolB,IAAAhoB,GAAA4C,KAAAsvC,GAAA,KAGAooM,cAAA,SAAAt6O,GACA,WAAA4C,KAAAklB,IAAAllB,KAAAsvC,GAAAlyC,GAAA,IAGAu6O,WAAA,SAAAv6O,GACA,WAAAA,EAAA,EAAA4C,KAAAulB,IAAA,MAAAnoB,EAAA,KAGAw6O,YAAA,SAAAx6O,GACA,WAAAA,EAAA,IAAA4C,KAAAulB,IAAA,MAAAnoB,IAGAy6O,cAAA,SAAAz6O,GACA,WAAAA,EACA,EAEA,IAAAA,EACA,GAEAA,GAAA,MACA,GAAA4C,KAAAulB,IAAA,MAAAnoB,EAAA,IAEA,MAAA4C,KAAAulB,IAAA,QAAAnoB,KAGA06O,WAAA,SAAA16O,GACA,OAAAA,GAAA,EACAA,IAEA4C,KAAAgR,KAAA,EAAA5T,KAAA,IAGA26O,YAAA,SAAA36O,GACA,OAAA4C,KAAAgR,KAAA,GAAA5T,GAAA,GAAAA,IAGA46O,cAAA,SAAA56O,GACA,OAAAA,GAAA,OACA,IAAA4C,KAAAgR,KAAA,EAAA5T,KAAA,GAEA,IAAA4C,KAAAgR,KAAA,GAAA5T,GAAA,GAAAA,GAAA,IAGA66O,cAAA,SAAA76O,GACA,IAAAq8B,EAAA,QACAtB,EAAA,EACA57B,EAAA,EACA,WAAAa,EACA,EAEA,IAAAA,EACA,GAEA+6B,IACAA,EAAA,IAEA57B,EAAA,GACAA,EAAA,EACAk9B,EAAAtB,EAAA,GAEAsB,EAAAtB,GAAA,EAAAn4B,KAAAsvC,IAAAtvC,KAAAkuD,KAAA,EAAA3xD,IAEAA,EAAAyD,KAAAulB,IAAA,MAAAnoB,GAAA,IAAA4C,KAAAolB,KAAAhoB,EAAAq8B,IAAA,EAAAz5B,KAAAsvC,IAAAnX,KAGA+/M,eAAA,SAAA96O,GACA,IAAAq8B,EAAA,QACAtB,EAAA,EACA57B,EAAA,EACA,WAAAa,EACA,EAEA,IAAAA,EACA,GAEA+6B,IACAA,EAAA,IAEA57B,EAAA,GACAA,EAAA,EACAk9B,EAAAtB,EAAA,GAEAsB,EAAAtB,GAAA,EAAAn4B,KAAAsvC,IAAAtvC,KAAAkuD,KAAA,EAAA3xD,GAEAA,EAAAyD,KAAAulB,IAAA,MAAAnoB,GAAA4C,KAAAolB,KAAAhoB,EAAAq8B,IAAA,EAAAz5B,KAAAsvC,IAAAnX,GAAA,IAGAggN,iBAAA,SAAA/6O,GACA,IAAAq8B,EAAA,QACAtB,EAAA,EACA57B,EAAA,EACA,WAAAa,EACA,EAEA,KAAAA,GAAA,IACA,GAEA+6B,IACAA,EAAA,KAEA57B,EAAA,GACAA,EAAA,EACAk9B,EAAAtB,EAAA,GAEAsB,EAAAtB,GAAA,EAAAn4B,KAAAsvC,IAAAtvC,KAAAkuD,KAAA,EAAA3xD,GAEAa,EAAA,EACAb,EAAAyD,KAAAulB,IAAA,MAAAnoB,GAAA,IAAA4C,KAAAolB,KAAAhoB,EAAAq8B,IAAA,EAAAz5B,KAAAsvC,IAAAnX,IAAA,GAEA57B,EAAAyD,KAAAulB,IAAA,OAAAnoB,GAAA,IAAA4C,KAAAolB,KAAAhoB,EAAAq8B,IAAA,EAAAz5B,KAAAsvC,IAAAnX,GAAA,OAEAigN,WAAA,SAAAh7O,GACA,IAAAq8B,EAAA,QACA,OAAAr8B,MAAAq8B,EAAA,GAAAr8B,EAAAq8B,IAGA4+M,YAAA,SAAAj7O,GACA,IAAAq8B,EAAA,QACA,OAAAr8B,GAAA,GAAAA,IAAAq8B,EAAA,GAAAr8B,EAAAq8B,GAAA,GAGA6+M,cAAA,SAAAl7O,GACA,IAAAq8B,EAAA,QACA,OAAAr8B,GAAA,MACAA,MAAA,GAAAq8B,GAAA,QAAAr8B,EAAAq8B,GAAA,GAEA,KAAAr8B,GAAA,GAAAA,IAAA,GAAAq8B,GAAA,QAAAr8B,EAAAq8B,GAAA,IAGA8+M,aAAA,SAAAn7O,GACA,SAAAu5O,EAAA6B,cAAA,EAAAp7O,IAGAo7O,cAAA,SAAAp7O,GACA,OAAAA,EAAA,OACA,OAAAA,IAEAA,EAAA,OACA,QAAAA,GAAA,UAAAA,EAAA,IAEAA,EAAA,SACA,QAAAA,GAAA,WAAAA,EAAA,MAEA,QAAAA,GAAA,YAAAA,EAAA,SAGAq7O,gBAAA,SAAAr7O,GACA,OAAAA,EAAA,GACA,GAAAu5O,EAAA4B,aAAA,EAAAn7O,GAEA,GAAAu5O,EAAA6B,cAAA,EAAAp7O,EAAA,QAIA9B,EAAAC,QAAA,CACAo7O,WAYAvzO,EAAAs1O,cAAA/B,wBCzPA,IAAA/mO,EAAalU,EAAQ,QAqCrBJ,EAAAC,QAAA,SAAA0C,EAAAsrD,EAAAzN,EAAA68L,GAiBA,OAfA16O,EAAAq8B,KAAA5R,MAAA4R,KAAAC,UAAAt8B,IACAsrD,EAAAjvB,KAAA5R,MAAA4R,KAAAC,UAAAgvB,IACAtrD,EAAAwE,SAAAsQ,QAAA,SAAAX,GACAA,EAAArD,aACAqD,EAAArD,WAAA,IAEAw6C,EAAA9mD,SAAAsQ,QAAA,SAAAs6C,GACA,QAAAzqD,IAAAwP,EAAArD,WAAA4pO,GAAA,CACA,IAAAlvL,EAAA75C,EAAAwC,EAAAi7C,GACA5D,IACAr3C,EAAArD,WAAA4pO,GAAAtrL,EAAAt+C,WAAA+sC,SAKA79C,sCC9CA,IAAAiF,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,UACAk1E,QAAA,CACAm3C,OAAA,CACA0oH,WAAA,MAKA,IAAAC,EAAA,CACAxzO,QAAA,SAAA8T,GACA,IAAA9c,EAAA8c,EAAA0mB,KACAp7B,EAAA0U,EAAA1U,MACAC,EAAAD,EAAAE,eAAAtI,GACAwiB,EAAAna,GAAAD,EAAAiB,iBAAArJ,GACA4B,EAAA4gB,GAAAna,EAAAW,QAAAs6B,WAAA,GACAvhC,EAAAH,EAAAG,QAAA,EAEA,OAAAA,EAAA,SAAAkB,EAAA1C,GACA,OAAAA,EAAAwB,GAAAH,EAAArB,GAAAuzC,OAAA,MADA,MAKAn0C,SAAA,SAAAmd,GACA,IAAAnd,EAAAmd,EAAAnd,SACAoP,EAAApP,IAAAoP,EAAA,KACAC,EAAArP,IAAAqP,EAAA,KAEA,gBAAA/L,GACA,OACA8L,EAAA,OAAAA,EAAA9L,EAAA8L,IACAC,EAAA,OAAAA,EAAA/L,EAAA+L,QAOA,SAAAytO,EAAA3gC,EAAA97M,EAAAy1B,GACA,IAEAnd,EAFAgX,EAAAwsL,EAAAv4K,QAAA,GACAC,EAAAlU,EAAAkU,KAOA,QAJAj9B,IAAAi9B,IACAA,IAAAlU,EAAAlmB,kBAGA,IAAAo6B,GAAA,OAAAA,EACA,SAGA,QAAAA,EACA,eAIA,GADAlrB,EAAAmlB,WAAA+F,EAAA,IACAoQ,SAAAt7B,IAAA3U,KAAAuS,MAAAoC,OAKA,MAJA,MAAAkrB,EAAA,UAAAA,EAAA,KACAlrB,EAAAtY,EAAAsY,KAGAA,IAAAtY,GAAAsY,EAAA,GAAAA,GAAAmd,IAIAnd,EAGA,OAAAkrB,GAEA,aACA,cACA,UACA,YACA,WACA,eAEA,aACA,YACA,UACA,OAAAA,EAEA,QACA,UAIA,SAAAk5M,EAAA5/N,GACA,IAIAi2F,EAJAzjF,EAAAxS,EAAAg/L,GAAAv4K,QAAA,GACAjO,EAAAxY,EAAAg/L,GAAA14K,QAAA,GACAI,EAAA1mB,EAAA0mB,KACAlrB,EAAA,KAGA,GAAAs7B,SAAApQ,GACA,YAmBA,GAZA,UAAAA,EACAlrB,OAAA/R,IAAA+oB,EAAAqtN,YAAArnN,EAAArpB,OAAAqjB,EAAAqtN,YACE,QAAAn5M,EACFlrB,OAAA/R,IAAA+oB,EAAAstN,SAAAtnN,EAAAtpB,IAAAsjB,EAAAstN,cACEr2O,IAAA+oB,EAAAutN,UACFvkO,EAAAgX,EAAAutN,UACEvnN,EAAAwnN,gBACFxkO,EAAAgd,EAAAwnN,kBACExnN,EAAA4P,eACF5sB,EAAAgd,EAAA4P,qBAGA3+B,IAAA+R,GAAA,OAAAA,EAAA,CACA,QAAA/R,IAAA+R,EAAAvJ,QAAAxI,IAAA+R,EAAAtJ,EACA,OAAAsJ,EAGA,qBAAAA,GAAAs7B,SAAAt7B,GAEA,OADAy6F,EAAAz9E,EAAA3pB,eACA,CACAoD,EAAAgkG,EAAAz6F,EAAA,KACAtJ,EAAA+jG,EAAA,KAAAz6F,GAKA,YAGA,SAAAykO,EAAA9tK,EAAAjvE,EAAAu8O,GACA,IAGAjkO,EAHAwE,EAAAmyD,EAAAjvE,GACAwjC,EAAA1mB,EAAA0mB,KACAw5M,EAAA,CAAAh9O,GAGA,IAAAu8O,EACA,OAAA/4M,EAGA,WAAAA,IAAA,IAAAw5M,EAAAp6O,QAAA4gC,GAAA,CACA,IAAAoQ,SAAApQ,GACA,OAAAA,EAIA,GADAlrB,EAAA22D,EAAAzrC,IACAlrB,EACA,SAGA,GAAAA,EAAAkK,QACA,OAAAghB,EAGAw5M,EAAAx8O,KAAAgjC,GACAA,EAAAlrB,EAAAkrB,KAGA,SAGA,SAAAy5M,EAAAngO,GACA,IAAA0mB,EAAA1mB,EAAA0mB,KACA19B,EAAA,UAEA,WAAA09B,EACA,MAGAoQ,SAAApQ,KACA19B,EAAA,YAGA02O,EAAA12O,GAAAgX,IAGA,SAAAogO,EAAAj6O,GACA,OAAAA,MAAAsiC,KAGA,SAAA43M,EAAAxwO,EAAAywO,EAAAC,EAAAC,EAAAC,GACA,IAAAh9O,EAEA,GAAA+8O,GAAAC,EAAA,CAMA,IADA5wO,EAAA0D,OAAA+sO,EAAA,GAAAruO,EAAAquO,EAAA,GAAApuO,GACAzO,EAAA,EAAYA,EAAA+8O,IAAU/8O,EACtBwG,EAAA2I,OAAAY,OAAA3D,EAAAywO,EAAA78O,EAAA,GAAA68O,EAAA78O,IAOA,IAHAoM,EAAA2D,OAAA+sO,EAAAE,EAAA,GAAAxuO,EAAAsuO,EAAAE,EAAA,GAAAvuO,GAGAzO,EAAAg9O,EAAA,EAAmBh9O,EAAA,IAAOA,EAC1BwG,EAAA2I,OAAAY,OAAA3D,EAAA0wO,EAAA98O,GAAA88O,EAAA98O,EAAA,QAIA,SAAAi9O,EAAA7wO,EAAA/K,EAAA67O,EAAApqM,EAAAF,EAAAmnK,GACA,IAMA/5M,EAAAiV,EAAAxV,EAAAg9H,EAAA/9G,EAAAy+N,EAAAzgN,EANAxH,EAAA7zB,EAAAG,OACA+hE,EAAAzwB,EAAAzR,SACAw7M,EAAA,GACAC,EAAA,GACAC,EAAA,EACAC,EAAA,EAKA,IAFA5wO,EAAAyD,YAEA7P,EAAA,EAAAiV,EAAAigB,IAAA6kL,EAAqC/5M,EAAAiV,IAAUjV,EAC/CP,EAAAO,EAAAk1B,EACAunG,EAAAp7H,EAAA5B,GAAA8zC,MACA70B,EAAAw+N,EAAAzgH,EAAAh9H,EAAAqzC,GACAqqM,EAAAR,EAAAlgH,GACA//F,EAAAigN,EAAAj+N,GAEAy+N,GAAAzgN,GACAqgN,EAAAF,EAAA58O,KAAAw8H,GACAugH,EAAAF,EAAA78O,KAAAye,IACGq+N,GAAAC,IACHz5K,GAMA45K,GACAN,EAAA58O,KAAAw8H,GAEA//F,GACAogN,EAAA78O,KAAAye,KATAk+N,EAAAxwO,EAAAywO,EAAAC,EAAAC,EAAAC,GACAD,EAAAC,EAAA,EACAH,EAAA,GACAC,EAAA,KAYAF,EAAAxwO,EAAAywO,EAAAC,EAAAC,EAAAC,GAEA5wO,EAAAogE,YACApgE,EAAAxD,UAAAgqC,EACAxmC,EAAA62B,OAGAvkC,EAAAC,QAAA,CACAkL,GAAA,SAEAuzO,oBAAA,SAAAv1O,EAAAkE,GACA,IAGAjE,EAAA9H,EAAAu7M,EAAAh/L,EAHA2Y,GAAArtB,EAAAI,KAAAC,UAAA,IAAA1G,OACAw6O,EAAAjwO,EAAAiwO,UACAttK,EAAA,GAGA,IAAA1uE,EAAA,EAAaA,EAAAk1B,IAAWl1B,EACxB8H,EAAAD,EAAAE,eAAA/H,GACAu7M,EAAAzzM,EAAAW,QACA8T,EAAA,KAEAg/L,KAAAv4K,QAAAu4K,aAAAttM,EAAAg0B,OACA1lB,EAAA,CACA0F,QAAApa,EAAAiB,iBAAA9I,GACAijC,KAAAi5M,EAAA3gC,EAAAv7M,EAAAk1B,GACArtB,QACA0zM,OAIAzzM,EAAAu1O,QAAA9gO,EACAmyD,EAAAzuE,KAAAsc,GAGA,IAAAvc,EAAA,EAAaA,EAAAk1B,IAAWl1B,EACxBuc,EAAAmyD,EAAA1uE,GACAuc,IAIAA,EAAA0mB,KAAAu5M,EAAA9tK,EAAA1uE,EAAAg8O,GACAz/N,EAAAnd,SAAA+8O,EAAA5/N,GACAA,EAAA2gO,OAAAR,EAAAngO,KAIA+gO,kBAAA,SAAAz1O,EAAAmnC,GACA,IAAAlnC,EAAAknC,EAAAlnC,KAAAu1O,QACA,GAAAv1O,EAAA,CAIA,IAAAsE,EAAAvE,EAAAuE,IACAmvM,EAAAzzM,EAAAyzM,GACAzoK,EAAAyoK,EAAAhoK,MACAlyC,EAAAk6M,EAAAx4K,WAAA,GACAm6M,EAAAp1O,EAAAo1O,OACAtqM,EAAAE,EAAAjqC,iBAAAvC,EAAAgG,OAAAsC,aAEAsuO,GAAAtqM,GAAAvxC,EAAAG,SACAgF,EAAA2I,OAAAs3B,SAAAr6B,EAAAvE,EAAA89B,WACAs3M,EAAA7wO,EAAA/K,EAAA67O,EAAApqM,EAAAF,EAAA2oK,EAAAr/L,OACA1V,EAAA2I,OAAAu3B,WAAAt6B,0CCxTA1N,EAAAC,QAAA,GACAD,EAAAC,QAAAypG,IAAqBtpG,EAAQ,QAC7BJ,EAAAC,QAAAsjC,KAAsBnjC,EAAQ,QAC9BJ,EAAAC,QAAAwjC,MAAuBrjC,EAAQ,QAC/BJ,EAAAC,QAAAqzG,UAA2BlzG,EAAQ,2CCCpB+gB,EAAA,MACfugD,OAAA,oECNA1hE,EAAAC,QAAAi2B,EAEA,IAAA2oN,IAAAn6O,KAAAulB,IAAA,SAEA,SAAAiM,EAAAj1B,EAAAC,EAAAm/B,GACA,IAAAvwB,EAAA7O,EAAAC,EAEAoB,EAAAu8O,EAAA59O,EACA69O,EAAAx8O,EAAArB,EACA89O,EAAAz8O,EAAAw8O,EACAE,EAAA/9O,EAAA89O,EAEA39O,EAAAy9O,EAAA39O,EACA+9O,EAAA79O,EAAAF,EACAg+O,EAAA99O,EAAA69O,EACAE,EAAAj+O,EAAAg+O,EAEAE,EAAAtvO,EAAAivO,EAAAG,EACAG,EAAAD,EAAAJ,EAAAE,EACAI,EAAAD,EAAAN,EAAAI,EAEApvO,EAAAivO,EAAAG,EAAAG,EAEA,OAAAj/M,GACAA,EAAA,GAAAtwB,EACAswB,EAAA,GAAAvwB,EACAuwB,GAGA,CAAAtwB,EAAAD,8DCRA,IAAA2zE,EAAA,CAoBA87J,SAAA,SAAAC,GAEA,oBAAAA,GAAA7qM,SAAA6qM,GAAA,OAAA/2N,OAAA+2N,GAGA,IAMAC,EANAC,EAAAryN,OAAAmyN,GAAAlyN,OAAAhP,QAAA,SAAAA,QAAA,eAAAwP,MAAA,aAGA,GAFA,IAAA4xN,IAAA58O,OAAA,IAAA48O,EAAAp2M,OAAAo2M,EAAA58O,OAAA,GAEA,IAAA48O,EAAA,OAAA15M,IAIA,OAAA05M,EAAA58O,QACA,OACA28O,EAAAC,EAAA,KAAAA,EAAA,MAAAA,EAAA,QACA,MACA,OACAD,EAAAC,EAAA,KAAAA,EAAA,MACA,MACA,OACAD,EAAAC,EAAA,GAIA,MACA,QACA,OAAA15M,IAIA,MAFA,YAAArkC,KAAA69O,EAAAlyN,UAAAmyN,MAEAh3N,OAAAg3N,IAcAE,UAAA,GAcAC,MAAA,SAAAH,EAAAtvN,EAAA6gF,GACA,GAAAhhG,MAAAyvO,GAAA,YAIA,QADAn4O,IAAA6oB,MAAA,YACA7oB,IAAA0pG,EACA,OAAA7gF,GACA,kBAAA6gF,EAAA,EAAoD,MACpD,uBAAAA,EAAA,EAAoD,MACpD,4BAAAA,EAAA,EAAoD,MACpD,QAAA7gF,EAAA,MAAuC6gF,EAAA,EAMvC,IAAA0uI,EAAAt+O,EAAAg9B,EAAAD,EACA,OAHAshN,EAAA/6O,KAAA6hB,IAAAk5N,GAGAtvN,GACA,QACA,kBACA/uB,EAAAq+O,EAAA9/N,QAAAqxF,GACA5vG,EAAA,MAAAA,EAAA,IAAAA,GACAA,EAAA,KAAAA,EAAA,IAAAA,GACAs+O,EAAAt+O,EAAA,IACA,MACA,uBACAA,EAAAsD,KAAAuS,MAAAwoO,GACArhN,GAAA,GAAAqhN,EAAA,IAAA9/N,QAAAqxF,GACA,IAAA5yE,IAA0BA,EAAA,EAAOh9B,KACjCA,GAAA,MAAAA,GAAA6B,OAAA,GACAm7B,EAAA,KAAAA,EAAA,IAAAA,GACAshN,EAAAt+O,EAAA,IAAAqiF,EAAAk8J,UAAAvhN,EAAA,IACA,MACA,4BACAh9B,EAAAsD,KAAAuS,MAAAwoO,GACArhN,EAAA15B,KAAAuS,MAAA,KAAAwoO,EAAA,OACAthN,GAAA,KAAAshN,EAAA,IAAA9/N,QAAAqxF,GACA,IAAA7yE,IAA0BA,GAAA,GAAAxe,QAAAqxF,GAAqB5yE,KAC/C,IAAAA,IAA0BA,EAAA,EAAOh9B,KACjCA,GAAA,MAAAA,GAAA6B,OAAA,GACAm7B,GAAA,KAAAA,GAAAn7B,OAAA,GACAk7B,EAAA,KAAAA,EAAA,IAAAA,GACAuhN,EAAAt+O,EAAA,IAAAqiF,EAAAk8J,UAAAvhN,EAAA,IAAAqlD,EAAAk8J,UAAAxhN,EAAA,IACA,MAGA,OAAAuhN,GAYAzuI,MAAA,SAAAwuI,EAAAtvN,EAAA6gF,GACA,IAAAjoF,EAAA06D,EAAAm8J,MAAAH,EAAAtvN,EAAA6gF,GACA,cAAAjoF,EAAA,IAAAA,EAAA9lB,MAAA,GAAAwgF,EAAAk8J,WAAAF,EAAA,YAYAvuI,MAAA,SAAAuuI,EAAAtvN,EAAA6gF,GACA,IAAA9nF,EAAAu6D,EAAAm8J,MAAAH,EAAAtvN,EAAA6gF,GACA,cAAA9nF,EAAA,IAAAA,EAAAu6D,EAAAk8J,WAAAF,EAAA,YAYAI,OAAA,SAAAJ,EAAAtvN,EAAA6gF,GACAyuI,GAAAh3N,OAAAg3N,GAAA,SACA,IAAA9sL,EAAA8wB,EAAAm8J,MAAAH,EAAAtvN,EAAA6gF,GACA,cAAAr+C,EAAA,IAAAA,EAAAr0C,QAAA,YAeAwhO,aAAA,SAAAj1M,EAAA5sB,QACA3W,IAAA2W,MAAA,GAGA4sB,KAAA,aAEA,IAAAk1M,EAAA,CACA,qBACA,qBACA,qBACA,sBACAl9O,EAAA,EAAA6B,KAAAulB,IAAA,EAAAhM,EAAA,GACA+hO,EAAAD,EAAAr7O,KAAAkjB,MAAAijB,EAAAhoC,EAAA,KAAAA,EAAA,GAAAA,GAEA,OAAAm9O,IAKgChgP,EAAAC,UAAAD,EAAAC,QAAAwjF,uBC7NhC,SAAAw8J,EAAAjsO,GACA,OAAAA,EAAA,GAAA+Z,WAAA,IAAA/Z,EAAA,GAAA+Z,WAIA,SAAAmyN,EAAAj/O,EAAAC,GACA,IAOA0R,EAPAg+F,EAAAqvI,EAAAh/O,EAAAqF,YAAA,IACA65O,EAAAF,EAAAh/O,EAAAqF,YAAArF,EAAAqF,YAAAxD,OAAA,IACA20I,EAAAwoG,EAAA/+O,EAAAoF,YAAA,IACAkjB,EAAAy2N,EAAA/+O,EAAAoF,YAAApF,EAAAoF,YAAAxD,OAAA,IAKA,GAAA8tG,IAAApnF,EACA5W,EAAA1R,EAAAoF,YAAA+O,OAAApU,EAAAqF,YAAArD,MAAA,SACG,GAAAw0I,IAAA0oG,EACHvtO,EAAA3R,EAAAqF,YAAA+O,OAAAnU,EAAAoF,YAAArD,MAAA,SACG,GAAA2tG,IAAA6mC,EACH7kI,EAAA3R,EAAAqF,YAAArD,MAAA,GAAA2F,UAAAyM,OAAAnU,EAAAoF,iBACG,IAAA65O,IAAA32N,EAGH,YAFA5W,EAAA3R,EAAAqF,YAAA+O,OAAAnU,EAAAoF,YAAAsC,UAAA3F,MAAA,IAKA,OACA4D,KAAA,aACAP,YAAAsM,GAOA,SAAAwtO,EAAAn8J,GAGA,IAAAo8J,EAAAp8J,EAAAhhF,QACAo9B,EAAA,GACA,MAAAggN,EAAAv9O,OAAA,GACA,IAAA4+I,EAAA2+F,EAAApuM,QAIAouM,IAAA5rN,OAAA,SAAA6rN,EAAAllO,GACA,IAAA2hB,EAAAmjN,EAAAx+F,EAAAtmI,GAQA,OAPA2hB,EAEA2kH,EAAA3kH,EAGAujN,EAAA/+O,KAAA6Z,GAEAklO,GACK,IAELjgN,EAAA9+B,KAAAmgJ,GAWA,OAPArhH,EADA,IAAAA,EAAAv9B,OACAu9B,EAAA,GAEA,CACAx5B,KAAA,kBACAP,YAAA+5B,EAAAv2B,IAAA,SAAA43I,GAA6C,OAAAA,EAAAp7I,eAG7C+5B,EAvEArgC,EAAAC,QAAAmgP,wBCAA,IAAAp5M,EAAW5mC,EAAQ,QAAsBoG,SACzC0N,EAAiB9T,EAAQ,QAAY8T,WAiCrClU,EAAAC,QAAA,SAAAoH,GACA,OAAA6M,EAAA7M,EAAA,SAAAT,EAAAJ,GACA,OAAAI,EAAAogC,EAAAxgC,IACK,0BCrCL,IAAAua,EAAW3gB,EAAQ,QACnBmG,EAAgBnG,EAAQ,QAAiBmG,UACzCuB,EAAc1H,EAAQ,QACtBg6B,EAAAtyB,EAAAsyB,QACAkqD,EAAAx8E,EAAAw8E,aACA7tE,EAAA3O,EAAA2O,WAmDA,SAAA8pO,EAAA/wO,EAAAiE,EAAA+sO,EAAAC,GACAhtO,KAAAjE,EAAAiE,YAAA,GACA,IAAAb,EAAArM,EAAAiJ,GACA3I,EAAAyQ,EAAA9H,GAEA,IAAAoD,EAAA9P,OAAA,UAAAC,MAAA,iCAEA,OAAA8D,GACA,iBAEA,OADA25O,IAAA5tO,EAAA8tO,EAAA9tO,IACAwnB,EAAA,CAAAxnB,GAAAa,GACA,sBACA,IAAAktO,EAAA,GACAC,EAAA,EAgBA,OAdAhuO,EAAA6E,QAAA,SAAAzD,GAIA,GAHAwsO,IAAAxsO,EAAA0sO,EAAA1sO,IAGAysO,EAAA,CACA,IAAAz5M,EAAA65M,EAAA9/N,EAAAtK,EAAAzC,KACAgzB,EAAA45M,GACAD,EAAA1jN,QAAAjpB,GACA4sO,EAAA55M,GACiB25M,EAAAp/O,KAAAyS,QAEjB2sO,EAAAp/O,KAAAyS,KAGAomB,EAAAumN,EAAAltO,GACA,QACA,UAAA1Q,MAAA,iBAAA8D,EAAA,sBAIA,SAAAyQ,EAAAtQ,GACA,OAAAA,EAAA,SAAAA,EAAAR,SAAAK,KAAAG,EAAAH,KAUA,SAAA65O,EAAA9tO,GACA,IAAA6zD,EAAA7zD,EAAA,GACAgC,EAAA6xD,EAAA,GACA5xD,EAAA4xD,EAAA,GACAC,EAAA9zD,IAAA9P,OAAA,GACAgS,EAAA4xD,EAAA,GACA3xD,EAAA2xD,EAAA,GAIA,OAHA9xD,IAAAE,GAAAD,IAAAE,GACAnC,EAAArR,KAAAklE,GAEA7zD,EAUA,SAAAiuO,EAAA9/N,GACA,IAAA4V,EAAA5V,EAAA,GACA6V,EAAA7V,EAAA,GACA8V,EAAA9V,EAAA,GACA+V,EAAA/V,EAAA,GACA,OAAArc,KAAA6hB,IAAAoQ,EAAAE,GAAAnyB,KAAA6hB,IAAAqQ,EAAAE,GAvGA92B,EAAAC,QAAA,SAAA0mD,EAAAlzC,EAAA+sO,EAAAC,GAEA,IAAA95L,EAAA,UAAA5jD,MAAA,qBAGAy9O,OAAAl5O,IAAAk5O,KACAC,OAAAn5O,IAAAm5O,KACA,IAAA55O,EAAAyQ,EAAAqvC,GAEA,OAAA9/C,GACA,wBACA,yBACA,IAAA+L,EAAA,GACAzL,EAAAw/C,EAAA,SAAAA,EAAAx/C,SAAAw/C,EAAAp/C,WAIA,OAHAJ,EAAAsQ,QAAA,SAAAjI,GACAoD,EAAArR,KAAAgF,EAAAg6O,EAAA/wO,EAAA,GAA8DgxO,EAAAC,OAE9Dn8J,EAAA1xE,EAAAa,GAEA,OAAA8sO,EAAA55L,EAAAlzC,EAAA+sO,EAAAC,uCCzCA,IAAAhmO,EAAYra,EAAQ,QACpBga,EAAeha,EAAQ,QACvBia,EAAeja,EAAQ,QACvB8G,EAAAmT,EAAAnT,kBAoBAlH,EAAAC,QAAA,SAAAua,GACA,IAAAW,EAAAV,EAAAqmO,YAAAtmO,GAGAW,EAAAwzK,gBAGAxzK,EAAAkzK,iBAGA,IAAAlrG,EAAA,GACA49J,EAAA,GAcA,OAZA5lO,EAAAozK,eAAAlsL,OAAA,SAAAqb,GACA,OAAAA,EAAAunD,YACGxtD,QAAA,SAAAiG,GACHA,EAAA4qJ,SAAAnlF,EAAA5hF,KAAAmc,GAAgDqjO,EAAAx/O,KAAAmc,KAIhDylE,EAAA1rE,QAAA,SAAA2pE,GACAhnE,EAAAqyJ,uBAAArrF,EAAA2/J,MAAAx/O,KAAA6/E,KAIAl6E,EAAA65O,EAAAj3O,IAAA,SAAAyhE,GACA,OAAAA,EAAAP,mDCnDA,IAAAg2K,EAAA5gP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAA6/N,IAAA5gP,EAAAgB,EAAA+f,EAAA,sBAAA6/N,EAAA,aAAA5gP,EAAAgB,EAAA+f,EAAA,sBAAA6/N,EAAA,kBAAA5gP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAA6gP,EAAA7gP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAA8/N,IAAA7gP,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAA8gP,EAAA9gP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAA+/N,IAAA9gP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAA+gP,EAAA/gP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAAggO,IAAA,IAAAC,EAAAhhP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAAigO,IAAAhhP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAAihP,EAAAjhP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAAkgO,IAAAjhP,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAAkhP,EAAAlhP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAAmgO,IAAAlhP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAAmhP,EAAAnhP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAAogO,IAAAnhP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAAohP,EAAAphP,EAAA,QAAAA,EAAAgB,EAAA+f,EAAA,sBAAAqgO,IAAAphP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,YAAAqhP,EAAArhP,EAAA,SAAAA,EAAAgB,EAAA+f,EAAA,sBAAAsgO,IAAArhP,EAAA,QAAAA,EAAA,QAAAA,EAAA,QAAAA,EAAA,8BCAA,IAAAopN,EAAappN,EAAQ,QACrBkS,EAAgBlS,EAAQ,QAAYkS,UACpCxK,EAAc1H,EAAQ,QACtBmG,EAAgBnG,EAAQ,QAAiBmG,UACzC6zB,EAAAtyB,EAAAsyB,QACAsnN,EAActhP,EAAQ,QAyDtB,SAAA+5O,EAAAC,GACA,IAAAC,EAAAD,EAAA,IAIA,OAHAC,EAAA,IACAA,GAAA,KAEAA,EArCAr6O,EAAAC,QAAA,SAAAumB,EAAAnW,EAAAiqO,EAAAC,EAAAx6M,EAAAD,GAEA,IAAAtZ,EAAA,UAAAzjB,MAAA,sBACA,QAAAuE,IAAAgzO,GAAA,OAAAA,EAAA,UAAAv3O,MAAA,wBACA,QAAAuE,IAAAizO,GAAA,OAAAA,EAAA,UAAAx3O,MAAA,wBACA,IAAAsN,EAAA,UAAAtN,MAAA,sBAKA,GAFAg9B,KAAA,GAEAo6M,EAAAG,KAAAH,EAAAI,GACA,OAAA/wB,EAAAhjM,EAAAnW,EAAA0vB,EAAAD,GAEA,IAAAltB,EAAArM,EAAAigB,GACAoiC,EAAA84L,EAAAl7N,EAAAnW,EAAAiqO,EAAAC,EAAAx6M,EAAAD,GACA6hN,EAAA,EAAA/uO,IAMA,OALAN,EAAAs2C,EAAA,SAAAr1C,GACAouO,EAAA,GAAApgP,KAAAgS,KAEAouO,EAAA,GAAApgP,KAAAqR,GAEAwnB,EAAAunN,uCCjDA,IAAA/5O,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QACtB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,UACA6gG,SAAA,CACA5iC,SAAA,EACA7iC,OAAA,KACAd,KAAA,UACAn6B,SAAA,UACAoyC,WAAA,EACA3wC,gBAAA,kBACAy3O,eAAA,OACAC,aAAA,EACAC,kBAAA,EACAC,eAAA,OACAC,WAAA,OACAC,YAAA,EACAC,cAAA,OACAC,UAAA,OACAC,gBAAA,OACAC,cAAA,EACAC,gBAAA,EACAC,gBAAA,OACAC,YAAA,OACAC,SAAA,EACAC,SAAA,EACAC,aAAA,EACAC,UAAA,EACAC,aAAA,EACAC,mBAAA,OACAC,eAAA,EACA/3O,YAAA,gBACAF,YAAA,EACAu+F,UAAA,CAEA25I,YAAAl7O,EAAAE,KACA+8E,MAAA,SAAAk+J,EAAA15O,GAEA,IAAAw7E,EAAA,GACAp7E,EAAAJ,EAAAI,OACAu5O,EAAAv5O,IAAA7G,OAAA,EAEA,GAAAmgP,EAAAngP,OAAA,GACA,IAAA0K,EAAAy1O,EAAA,GAEAz1O,EAAA4lG,OACAruB,EAAAv3E,EAAA4lG,OACM8vI,EAAA,GAAA11O,EAAAzM,MAAAmiP,IACNn+J,EAAAp7E,EAAA6D,EAAAzM,QAIA,OAAAgkF,GAEAo+J,WAAAr7O,EAAAE,KAGAo7O,WAAAt7O,EAAAE,KAGAq7O,YAAAv7O,EAAAE,KACAiC,MAAA,SAAAq/F,EAAA//F,GACA,IAAAU,EAAAV,EAAAC,SAAA8/F,EAAArgG,cAAAgB,OAAA,GAMA,OAJAA,IACAA,GAAA,MAEAA,GAAAq/F,EAAA4J,OACAjpG,GAEAq5O,WAAA,SAAAh6I,EAAAngG,GACA,IAAAC,EAAAD,EAAAE,eAAAigG,EAAArgG,cACAs6O,EAAAn6O,EAAAG,KAAA+/F,EAAAvoG,OACAqzC,EAAAmvM,EAAA1uM,MACA,OACA7pC,YAAAopC,EAAAppC,YACAb,gBAAAiqC,EAAAjqC,kBAGAq5O,eAAA,WACA,OAAA7iP,KAAAy6G,SAAA8mI,eAEAuB,WAAA37O,EAAAE,KAGA07O,UAAA57O,EAAAE,KAGA27O,aAAA77O,EAAAE,KACA47O,OAAA97O,EAAAE,KACA67O,YAAA/7O,EAAAE,SAKA,IAAA87O,EAAA,CAOA3nN,QAAA,SAAA5sB,GACA,IAAAA,EAAAzM,OACA,SAGA,IAAAxB,EAAA4sC,EACAp+B,EAAA,EACAC,EAAA,EACAymB,EAAA,EAEA,IAAAl1B,EAAA,EAAA4sC,EAAA3+B,EAAAzM,OAAoCxB,EAAA4sC,IAAS5sC,EAAA,CAC7C,IAAAu7M,EAAAttM,EAAAjO,GACA,GAAAu7M,KAAA7nK,WAAA,CACA,IAAAh+B,EAAA6lM,EAAA9nK,kBACAjlC,GAAAkH,EAAAlH,EACAC,GAAAiH,EAAAjH,IACAymB,GAIA,OACA1mB,EAAApL,KAAAkjB,MAAA9X,EAAA0mB,GACAzmB,EAAArL,KAAAkjB,MAAA7X,EAAAymB,KAWAw3K,QAAA,SAAAz+L,EAAAw0O,GACA,IAGAziP,EAAA4sC,EAAA81M,EAHAl0O,EAAAi0O,EAAAj0O,EACAC,EAAAg0O,EAAAh0O,EACAqgI,EAAA3nH,OAAAyjH,kBAGA,IAAA5qI,EAAA,EAAA4sC,EAAA3+B,EAAAzM,OAAoCxB,EAAA4sC,IAAS5sC,EAAA,CAC7C,IAAAu7M,EAAAttM,EAAAjO,GACA,GAAAu7M,KAAA7nK,WAAA,CACA,IAAAxuB,EAAAq2L,EAAA7vJ,iBACA5rD,EAAA0G,EAAAkyM,sBAAA+pC,EAAAv9N,GAEAplB,EAAAgvI,IACAA,EAAAhvI,EACA4iP,EAAAnnC,IAKA,GAAAmnC,EAAA,CACA,IAAAC,EAAAD,EAAAjvM,kBACAjlC,EAAAm0O,EAAAn0O,EACAC,EAAAk0O,EAAAl0O,EAGA,OACAD,IACAC,OAQA,SAAAm0O,EAAAC,EAAAhmC,GACA,IAAAjqK,EAAApsC,EAAAosC,MAAAiwM,GACA,OAAAjwM,EAAAg3J,MAAAiT,EAAAjqK,EAAAg3J,SAAAU,aAIA,SAAAw4C,EAAA/zM,EAAAg0M,GAUA,OATAA,IACAv8O,EAAApB,QAAA29O,GAEA7hP,MAAAZ,UAAAL,KAAA2B,MAAAmtC,EAAAg0M,GAEAh0M,EAAA9uC,KAAA8iP,IAIAh0M,EASA,SAAAi0M,EAAAhmN,GACA,yBAAAA,gBAAAjR,SAAAiR,EAAA36B,QAAA,SACA26B,EAAAxQ,MAAA,MAEAwQ,EAOA,SAAAimN,EAAA9hO,GACA,IAAAgjB,EAAAhjB,EAAA0jB,QACAX,EAAA/iB,EAAA2jB,SAAA3jB,EAAA0hB,OACApjC,EAAA0hB,EAAA4jB,OACAp9B,EAAAwZ,EAAA2hB,cAEA,OACAgvE,OAAA3tE,IAAA8iC,iBAAAxnE,EAAAkI,GAAA,GACAiqG,OAAA1tE,IAAA+iC,iBAAAxnE,EAAAkI,GAAA,GACAlI,QACAkI,eACA6G,EAAA2S,EAAA6hB,OAAAx0B,EACAC,EAAA0S,EAAA6hB,OAAAv0B,GAQA,SAAAy0O,EAAAC,GACA,IAAAzpK,EAAApzE,EAAAgG,OACAC,EAAA/F,EAAA+F,eAEA,OAEA60O,SAAA+B,EAAA/B,SACAD,SAAAgC,EAAAhC,SACAiC,OAAAD,EAAAC,OACAC,OAAAF,EAAAE,OAGAzC,cAAAuC,EAAAvC,cACA0C,gBAAA/2O,EAAA42O,EAAAI,eAAA7pK,EAAA9sE,mBACA42O,eAAAj3O,EAAA42O,EAAAM,cAAA/pK,EAAAhtE,kBACAg3O,WAAAP,EAAAtC,UACA8C,aAAAp3O,EAAA42O,EAAAQ,aAAAjqK,EAAAltE,iBACAm0O,YAAAwC,EAAAxC,YAGAF,eAAA0C,EAAA1C,eACAmD,iBAAAr3O,EAAA42O,EAAAU,gBAAAnqK,EAAA9sE,mBACAk3O,gBAAAv3O,EAAA42O,EAAA7C,eAAA5mK,EAAAhtE,kBACAq3O,cAAAx3O,EAAA42O,EAAAY,cAAArqK,EAAAltE,iBACAw3O,YAAAb,EAAAzC,WACAH,aAAA4C,EAAA5C,aACAC,kBAAA2C,EAAA3C,kBAGAS,gBAAAkC,EAAAlC,gBACAgD,kBAAA13O,EAAA42O,EAAAe,iBAAAxqK,EAAA9sE,mBACAu3O,iBAAA53O,EAAA42O,EAAArC,gBAAApnK,EAAAhtE,kBACA03O,eAAA73O,EAAA42O,EAAAiB,eAAA1qK,EAAAltE,iBACA63O,aAAAlB,EAAAjC,YACAH,cAAAoC,EAAApC,cACAC,gBAAAmC,EAAAnC,gBAGAM,UAAA6B,EAAA7B,UACAC,aAAA4B,EAAA5B,aACA14O,gBAAAs6O,EAAAt6O,gBACAg0M,QAAA,EACAynC,sBAAAnB,EAAA3B,mBACAC,cAAA0B,EAAA1B,cACA/3O,YAAAy5O,EAAAz5O,YACAF,YAAA25O,EAAA35O,aAOA,SAAA+6O,EAAA16J,EAAA96D,GACA,IAAA3iB,EAAAy9E,EAAAj6C,OAAAxjC,IAEAZ,EAAA,EAAAujB,EAAAoyN,SACA91O,EAAA,EAGAm5O,EAAAz1N,EAAAy1N,KACAC,EAAAD,EAAArxN,OAAA,SAAA+B,EAAAwvN,GACA,OAAAxvN,EAAAwvN,EAAAC,OAAAnjP,OAAAkjP,EAAAr/L,MAAA7jD,OAAAkjP,EAAAE,MAAApjP,QACE,GACFijP,GAAA11N,EAAA+yN,WAAAtgP,OAAAutB,EAAAqzN,UAAA5gP,OAEA,IAAAqjP,EAAA91N,EAAA00D,MAAAjiF,OACAsjP,EAAA/1N,EAAAuzN,OAAA9gP,OACAuiP,EAAAh1N,EAAAg1N,cACAJ,EAAA50N,EAAA40N,aACAS,EAAAr1N,EAAAq1N,eAEA54O,GAAAq5O,EAAAd,EACAv4O,GAAAq5O,KAAA,GAAA91N,EAAAwxN,aAAA,EACA/0O,GAAAq5O,EAAA91N,EAAAyxN,kBAAA,EACAh1O,GAAAi5O,EAAAd,EACAn4O,GAAAi5O,KAAA,GAAA11N,EAAA4xN,YAAA,EACAn1O,GAAAs5O,EAAA/1N,EAAAiyN,gBAAA,EACAx1O,GAAAs5O,EAAA,EACAt5O,GAAAs5O,KAAA,GAAA/1N,EAAAgyN,cAAA,EAGA,IAAAgE,EAAA,EACAC,EAAA,SAAA92O,GACA7C,EAAAjI,KAAA0K,IAAAzC,EAAAe,EAAAkB,YAAAY,GAAA7C,MAAA05O,IA4BA,OAzBA34O,EAAAY,KAAAxG,EAAAsG,WAAAi3O,EAAAh1N,EAAA+0N,gBAAA/0N,EAAA60N,kBACAp9O,EAAA6G,KAAA0hB,EAAA00D,MAAAuhK,GAGA54O,EAAAY,KAAAxG,EAAAsG,WAAA62O,EAAA50N,EAAAy0N,eAAAz0N,EAAAu0N,iBACA98O,EAAA6G,KAAA0hB,EAAA+yN,WAAA/tO,OAAAgb,EAAAqzN,WAAA4C,GAGAD,EAAAh2N,EAAA0yN,cAAAkC,EAAA,IACAn9O,EAAA6G,KAAAm3O,EAAA,SAAAE,GACAl+O,EAAA6G,KAAAq3O,EAAAC,OAAAK,GACAx+O,EAAA6G,KAAAq3O,EAAAr/L,MAAA2/L,GACAx+O,EAAA6G,KAAAq3O,EAAAE,MAAAI,KAIAD,EAAA,EAGA34O,EAAAY,KAAAxG,EAAAsG,WAAAs3O,EAAAr1N,EAAAo1N,iBAAAp1N,EAAAk1N,mBACAz9O,EAAA6G,KAAA0hB,EAAAuzN,OAAA0C,GAGA35O,GAAA,EAAA0jB,EAAAqyN,SAEA,CACA/1O,QACAG,UAOA,SAAAy5O,EAAAp7J,EAAAr1E,GACA,IAYA0wO,EAAAC,EACAC,EAAAC,EACAC,EAdAv2N,EAAA86D,EAAA7mD,OACAn7B,EAAAgiF,EAAAj6C,OACAjK,EAAAkkD,EAAAj6C,OAAAjK,UACAy9M,EAAA,SACAC,EAAA,SAEAt0N,EAAAtgB,EAAA+F,EAAAhJ,OACA63O,EAAA,MACEt0N,EAAAtgB,EAAA5G,EAAA2D,OAAAgJ,EAAAhJ,SACF63O,EAAA,UAMA,IAAAkC,GAAA5/M,EAAAr6B,KAAAq6B,EAAAp6B,OAAA,EACAi6O,GAAA7/M,EAAAl6B,IAAAk6B,EAAAj6B,QAAA,EAEA,WAAA23O,GACA6B,EAAA,SAAA12O,GACA,OAAAA,GAAA+2O,GAEAJ,EAAA,SAAA32O,GACA,OAAAA,EAAA+2O,KAGAL,EAAA,SAAA12O,GACA,OAAAA,GAAAgG,EAAAnJ,MAAA,GAEA85O,EAAA,SAAA32O,GACA,OAAAA,GAAA3G,EAAAwD,MAAAmJ,EAAAnJ,MAAA,IAIA+5O,EAAA,SAAA52O,GACA,OAAAA,EAAAgG,EAAAnJ,MAAA0jB,EAAAuyN,UAAAvyN,EAAAsyN,aAAAx5O,EAAAwD,OAEAg6O,EAAA,SAAA72O,GACA,OAAAA,EAAAgG,EAAAnJ,MAAA0jB,EAAAuyN,UAAAvyN,EAAAsyN,aAAA,GAEAiE,EAAA,SAAA72O,GACA,OAAAA,GAAA+2O,EAAA,gBAGAN,EAAAn2N,EAAAvgB,IACA40O,EAAA,OAGAgC,EAAAr2N,EAAAvgB,KACA40O,EAAA,SACAC,EAAAiC,EAAAv2N,EAAAtgB,KAEE02O,EAAAp2N,EAAAvgB,KACF40O,EAAA,QAGAiC,EAAAt2N,EAAAvgB,KACA40O,EAAA,SACAC,EAAAiC,EAAAv2N,EAAAtgB,KAIA,IAAAtC,EAAA09E,EAAAiwB,SACA,OACAspI,OAAAj3O,EAAAi3O,OAAAj3O,EAAAi3O,SACAC,OAAAl3O,EAAAk3O,OAAAl3O,EAAAk3O,UAOA,SAAAoC,EAAAt6L,EAAA32C,EAAAkxO,EAAA79O,GAEA,IAAA2G,EAAA28C,EAAA38C,EACAC,EAAA08C,EAAA18C,EAEA6yO,EAAAn2L,EAAAm2L,UACAD,EAAAl2L,EAAAk2L,aACAE,EAAAp2L,EAAAo2L,aACA6B,EAAAsC,EAAAtC,OACAC,EAAAqC,EAAArC,OACAsC,EAAArE,EAAAD,EACAuE,EAAArE,EAAAF,EAkCA,MAhCA,UAAA+B,EACA50O,GAAAgG,EAAAnJ,MACE,WAAA+3O,IACF50O,GAAAgG,EAAAnJ,MAAA,EACAmD,EAAAgG,EAAAnJ,MAAAxD,EAAAwD,QACAmD,EAAA3G,EAAAwD,MAAAmJ,EAAAnJ,OAEAmD,EAAA,IACAA,EAAA,IAIA,QAAA60O,EACA50O,GAAAk3O,EAEAl3O,GADE,WAAA40O,EACF7uO,EAAAhJ,OAAAm6O,EAEAnxO,EAAAhJ,OAAA,EAGA,WAAA63O,EACA,SAAAD,EACA50O,GAAAm3O,EACG,UAAAvC,IACH50O,GAAAm3O,GAEE,SAAAvC,EACF50O,GAAAo3O,EACE,UAAAxC,IACF50O,GAAAo3O,GAGA,CACAp3O,IACAC,KAOA,SAAAo3O,EAAA55O,GACA,OAAA62O,EAAA,GAAAE,EAAA/2O,IAGAtN,EAAAD,EAAAC,QAAA4H,EAAAwD,OAAA,CACAC,WAAA,WACA3K,KAAA2jC,OAAAkgN,EAAA7jP,KAAAy6G,UACAz6G,KAAAymP,YAAA,IAKAC,SAAA,WACA,IAAAv7O,EAAAnL,KACA8M,EAAA3B,EAAAsvG,SACA/R,EAAA57F,EAAA47F,UAEA25I,EAAA35I,EAAA25I,YAAA9/O,MAAA4I,EAAAykC,WACAw0C,EAAAskB,EAAAtkB,MAAA7hF,MAAA4I,EAAAykC,WACA4yM,EAAA95I,EAAA85I,WAAAjgP,MAAA4I,EAAAykC,WAEAoW,EAAA,GAKA,OAJAA,EAAAy9L,EAAAz9L,EAAA29L,EAAAtB,IACAr8L,EAAAy9L,EAAAz9L,EAAA29L,EAAAv/J,IACAp+B,EAAAy9L,EAAAz9L,EAAA29L,EAAAnB,IAEAx8L,GAIA2gM,cAAA,WACA,OAAAH,EAAAxmP,KAAAy6G,SAAA/R,UAAA+5I,WAAAlgP,MAAAvC,KAAA4vC,aAIAg3M,QAAA,SAAAtE,EAAA15O,GACA,IAAAuC,EAAAnL,KACA0oG,EAAAv9F,EAAAsvG,SAAA/R,UACAm+I,EAAA,GAeA,OAbA1/O,EAAA6G,KAAAs0O,EAAA,SAAA35I,GACA,IAAA08I,EAAA,CACAC,OAAA,GACAt/L,MAAA,GACAu/L,MAAA,IAEA9B,EAAA4B,EAAAC,OAAA3B,EAAAj7I,EAAAg6I,YAAA1xO,KAAA7F,EAAAw9F,EAAA//F,KACA66O,EAAA4B,EAAAr/L,MAAA0iD,EAAAp/F,MAAA0H,KAAA7F,EAAAw9F,EAAA//F,IACA66O,EAAA4B,EAAAE,MAAA5B,EAAAj7I,EAAAo6I,WAAA9xO,KAAA7F,EAAAw9F,EAAA//F,KAEAi+O,EAAAjmP,KAAAykP,KAGAwB,GAIAC,aAAA,WACA,OAAAN,EAAAxmP,KAAAy6G,SAAA/R,UAAAq6I,UAAAxgP,MAAAvC,KAAA4vC,aAKAm3M,UAAA,WACA,IAAA57O,EAAAnL,KACA0oG,EAAAv9F,EAAAsvG,SAAA/R,UAEAs6I,EAAAt6I,EAAAs6I,aAAAzgP,MAAA4I,EAAAykC,WACAqzM,EAAAv6I,EAAAu6I,OAAA1gP,MAAA4I,EAAAykC,WACAszM,EAAAx6I,EAAAw6I,YAAA3gP,MAAA4I,EAAAykC,WAEAoW,EAAA,GAKA,OAJAA,EAAAy9L,EAAAz9L,EAAA29L,EAAAX,IACAh9L,EAAAy9L,EAAAz9L,EAAA29L,EAAAV,IACAj9L,EAAAy9L,EAAAz9L,EAAA29L,EAAAT,IAEAl9L,GAGAl9C,OAAA,SAAA+H,GACA,IA8BAlQ,EAAA4sC,EA9BApiC,EAAAnL,KACA8M,EAAA3B,EAAAsvG,SAKAusI,EAAA77O,EAAAw4B,OACAjU,EAAAvkB,EAAAw4B,OAAAkgN,EAAA/2O,GACAk0D,EAAA71D,EAAA87O,QAEAr+O,EAAAuC,EAAAklC,MAGAg2M,EAAA,CACAtC,OAAAiD,EAAAjD,OACAC,OAAAgD,EAAAhD,QAEAkD,EAAA,CACA/3O,EAAA63O,EAAA73O,EACAC,EAAA43O,EAAA53O,GAEA+3O,EAAA,CACAn7O,MAAAg7O,EAAAh7O,MACAG,OAAA66O,EAAA76O,QAEAioC,EAAA,CACAjlC,EAAA63O,EAAAI,OACAh4O,EAAA43O,EAAAK,QAKA,GAAArmL,EAAA7+D,OAAA,CACAutB,EAAA8tL,QAAA,EAEA,IAAA8pC,EAAA,GACAC,EAAA,GACAnzM,EAAA+uM,EAAAr2O,EAAA/E,UAAAiJ,KAAA7F,EAAA61D,EAAA71D,EAAAq8O,gBAEA,IAAAlF,EAAA,GACA,IAAA3hP,EAAA,EAAA4sC,EAAAyzB,EAAA7+D,OAAmCxB,EAAA4sC,IAAS5sC,EAC5C2hP,EAAA1hP,KAAAgjP,EAAA5iL,EAAArgE,KAIAmM,EAAApL,SACA4gP,IAAA5gP,OAAA,SAAApB,GACA,OAAAwM,EAAApL,OAAApB,EAAAsI,MAKAkE,EAAA26O,WACAnF,IAAAt9O,KAAA,SAAA1E,EAAAC,GACA,OAAAuM,EAAA26O,SAAAnnP,EAAAC,EAAAqI,MAKAzB,EAAA6G,KAAAs0O,EAAA,SAAA35I,GACA2+I,EAAA1mP,KAAAkM,EAAA47F,UAAAi6I,WAAA3xO,KAAA7F,EAAAw9F,EAAAx9F,EAAAolC,SACAg3M,EAAA3mP,KAAAkM,EAAA47F,UAAAm6I,eAAA7xO,KAAA7F,EAAAw9F,EAAAx9F,EAAAolC,WAKA7gB,EAAA00D,MAAAj5E,EAAAu7O,SAAApE,EAAA15O,GACA8mB,EAAA+yN,WAAAt3O,EAAAw7O,cAAArE,EAAA15O,GACA8mB,EAAAy1N,KAAAh6O,EAAAy7O,QAAAtE,EAAA15O,GACA8mB,EAAAqzN,UAAA53O,EAAA27O,aAAAxE,EAAA15O,GACA8mB,EAAAuzN,OAAA93O,EAAA47O,UAAAzE,EAAA15O,GAGA8mB,EAAAvgB,EAAApL,KAAAkjB,MAAAmtB,EAAAjlC,GACAugB,EAAAtgB,EAAArL,KAAAkjB,MAAAmtB,EAAAhlC,GACAsgB,EAAAsyN,aAAAl1O,EAAAk1O,aACAtyN,EAAA43N,cACA53N,EAAA63N,kBAGA73N,EAAAg4N,WAAApF,EAGA6E,EAAAjC,EAAAllP,KAAA0vB,GACA22N,EAAAT,EAAA5lP,KAAAmnP,GAEAD,EAAAd,EAAA12N,EAAAy3N,EAAAd,EAAAl7O,EAAAolC,aAEA7gB,EAAA8tL,QAAA,EAoBA,OAjBA9tL,EAAAq0N,OAAAsC,EAAAtC,OACAr0N,EAAAs0N,OAAAqC,EAAArC,OACAt0N,EAAAvgB,EAAA+3O,EAAA/3O,EACAugB,EAAAtgB,EAAA83O,EAAA93O,EACAsgB,EAAA1jB,MAAAm7O,EAAAn7O,MACA0jB,EAAAvjB,OAAAg7O,EAAAh7O,OAGAujB,EAAA03N,OAAAhzM,EAAAjlC,EACAugB,EAAA23N,OAAAjzM,EAAAhlC,EAEAjE,EAAAw4B,OAAAjU,EAEA7e,GAAA/D,EAAAk2B,QACAl2B,EAAAk2B,OAAAhyB,KAAA7F,EAAAukB,GAGAvkB,GAGAw8O,UAAA,SAAAC,EAAAzyO,GACA,IAAApI,EAAA/M,KAAAuwC,OAAAxjC,IACA++C,EAAA9rD,KAAAk0C,MACA2zM,EAAA7nP,KAAA8nP,iBAAAF,EAAAzyO,EAAA22C,GAEA/+C,EAAA2D,OAAAm3O,EAAA5zO,GAAA4zO,EAAA3zO,IACAnH,EAAA2D,OAAAm3O,EAAA1zO,GAAA0zO,EAAAzzO,IACArH,EAAA2D,OAAAm3O,EAAAtmN,GAAAsmN,EAAArmN,KAEAsmN,iBAAA,SAAAF,EAAAzyO,EAAA22C,GACA,IAAA73C,EAAAE,EAAAotB,EAAArtB,EAAAE,EAAAotB,EACAygN,EAAAn2L,EAAAm2L,UACAC,EAAAp2L,EAAAo2L,aACA6B,EAAAj4L,EAAAi4L,OACAC,EAAAl4L,EAAAk4L,OACA+D,EAAAH,EAAAz4O,EACA64O,EAAAJ,EAAAx4O,EACApD,EAAAmJ,EAAAnJ,MACAG,EAAAgJ,EAAAhJ,OAEA,cAAA63O,EACA5vO,EAAA4zO,EAAA77O,EAAA,EAEA,SAAA43O,GACA9vO,EAAA8zO,EACA5zO,EAAAF,EAAAguO,EACA1gN,EAAAttB,EAEAC,EAAAE,EAAA6tO,EACAzgN,EAAAptB,EAAA6tO,IAEAhuO,EAAA8zO,EAAA/7O,EACAmI,EAAAF,EAAAguO,EACA1gN,EAAAttB,EAEAC,EAAAE,EAAA6tO,EACAzgN,EAAAptB,EAAA6tO,QAgBA,GAbA,SAAA8B,GACA5vO,EAAA4zO,EAAA7F,EAAA,EACAjuO,EAAAE,EAAA8tO,EACA1gN,EAAAptB,EAAA8tO,GACI,UAAA8B,GACJ5vO,EAAA4zO,EAAA/7O,EAAAk2O,EAAAD,EACAhuO,EAAAE,EAAA8tO,EACA1gN,EAAAptB,EAAA8tO,IAEA9tO,EAAA23C,EAAAs7L,OACAnzO,EAAAE,EAAA8tO,EACA1gN,EAAAptB,EAAA8tO,GAEA,QAAA+B,EACA9vO,EAAA8zO,EACA5zO,EAAAF,EAAA+tO,EACAzgN,EAAAttB,MACI,CACJA,EAAA8zO,EAAA77O,EACAiI,EAAAF,EAAA+tO,EACAzgN,EAAAttB,EAEA,IAAA0iD,EAAAr1B,EACAA,EAAAttB,EACAA,EAAA2iD,EAGA,OAAU3iD,KAAAE,KAAAotB,KAAArtB,KAAAE,KAAAotB,OAGVymN,UAAA,SAAA9xO,EAAA21C,EAAA/+C,EAAAywM,GACA,IAAAp5H,EAAAt4B,EAAAs4B,MAEA,GAAAA,EAAAjiF,OAAA,CACA4K,EAAAe,UAAAg+C,EAAA64L,YACA53O,EAAAgB,aAAA,MAEA,IAMApN,EAAA4sC,EANAm3M,EAAA54L,EAAA44L,cACAxD,EAAAp1L,EAAAo1L,aAMA,IAJAn0O,EAAAxD,UAAAg6O,EAAAz3L,EAAAs1L,eAAA5jC,GACAzwM,EAAAY,KAAAxG,EAAAsG,WAAAi3O,EAAA54L,EAAA24L,gBAAA34L,EAAAy4L,kBAGA5jP,EAAA,EAAA4sC,EAAA62C,EAAAjiF,OAAkCxB,EAAA4sC,IAAS5sC,EAC3CoM,EAAAoD,SAAAi0E,EAAAzjF,GAAAwV,EAAAhH,EAAAgH,EAAA/G,GACA+G,EAAA/G,GAAAs1O,EAAAxD,EAEAvgP,EAAA,IAAAyjF,EAAAjiF,SACAgU,EAAA/G,GAAA08C,EAAAq1L,kBAAAD,KAMAgH,SAAA,SAAA/xO,EAAA21C,EAAA/+C,EAAAywM,GACA,IAAA8mC,EAAAx4L,EAAAw4L,aACAhD,EAAAx1L,EAAAw1L,YACA6D,EAAAr5L,EAAAq5L,KAEAp4O,EAAAe,UAAAg+C,EAAAu4L,WACAt3O,EAAAgB,aAAA,MACAhB,EAAAY,KAAAxG,EAAAsG,WAAA62O,EAAAx4L,EAAAq4L,eAAAr4L,EAAAm4L,iBAGA,IAAAkE,EAAA,EACAC,EAAA,SAAAv5O,GACA9B,EAAAoD,SAAAtB,EAAAsH,EAAAhH,EAAAg5O,EAAAhyO,EAAA/G,GACA+G,EAAA/G,GAAAk1O,EAAAhD,GAIAv0O,EAAAxD,UAAAg6O,EAAAz3L,EAAAy1L,cAAA/jC,GACAr2M,EAAA6G,KAAA89C,EAAA22L,WAAA2F,GAEA,IAAAC,EAAAv8L,EAAAs2L,cACA+F,EAAAE,EAAA/D,EAAA,IAGAn9O,EAAA6G,KAAAm3O,EAAA,SAAAE,EAAA1kP,GACA,IAAA2nP,EAAA/E,EAAAz3L,EAAAy7L,gBAAA5mP,GAAA68M,GACAzwM,EAAAxD,UAAA++O,EACAnhP,EAAA6G,KAAAq3O,EAAAC,OAAA8C,GAEAjhP,EAAA6G,KAAAq3O,EAAAr/L,MAAA,SAAAn3C,GAEAw5O,IAEAt7O,EAAAxD,UAAAg6O,EAAAz3L,EAAAm5L,sBAAAznC,GACAzwM,EAAAkD,SAAAkG,EAAAhH,EAAAgH,EAAA/G,EAAAk1O,KAGAv3O,EAAA7C,UAAA,EACA6C,EAAA3C,YAAAm5O,EAAAz3L,EAAAw7L,YAAA3mP,GAAA0J,YAAAmzM,GACAzwM,EAAAiD,WAAAmG,EAAAhH,EAAAgH,EAAA/G,EAAAk1O,KAGAv3O,EAAAxD,UAAAg6O,EAAAz3L,EAAAw7L,YAAA3mP,GAAA6I,gBAAAg0M,GACAzwM,EAAAkD,SAAAkG,EAAAhH,EAAA,EAAAgH,EAAA/G,EAAA,EAAAk1O,EAAA,EAAAA,EAAA,GACAv3O,EAAAxD,UAAA++O,GAGAF,EAAAv5O,KAGA1H,EAAA6G,KAAAq3O,EAAAE,MAAA6C,KAIAD,EAAA,EAGAhhP,EAAA6G,KAAA89C,EAAAi3L,UAAAqF,GACAjyO,EAAA/G,GAAAkyO,GAGAiH,WAAA,SAAApyO,EAAA21C,EAAA/+C,EAAAywM,GACA,IAAAylC,EAAAn3L,EAAAm3L,OAEAA,EAAA9gP,SACAgU,EAAA/G,GAAA08C,EAAA61L,gBAEA50O,EAAAe,UAAAg+C,EAAAk5L,aACAj4O,EAAAgB,aAAA,MAEAhB,EAAAxD,UAAAg6O,EAAAz3L,EAAA81L,gBAAApkC,GACAzwM,EAAAY,KAAAxG,EAAAsG,WAAAq+C,EAAAi5L,eAAAj5L,EAAAg5L,iBAAAh5L,EAAA84L,mBAEAz9O,EAAA6G,KAAAi1O,EAAA,SAAAp0O,GACA9B,EAAAoD,SAAAtB,EAAAsH,EAAAhH,EAAAgH,EAAA/G,GACA+G,EAAA/G,GAAA08C,EAAAi5L,eAAAj5L,EAAA41L,kBAKA8G,eAAA,SAAAryO,EAAA21C,EAAA/+C,EAAAo6O,EAAA3pC,GACAzwM,EAAAxD,UAAAg6O,EAAAz3L,EAAAtiD,gBAAAg0M,GACAzwM,EAAA3C,YAAAm5O,EAAAz3L,EAAAzhD,YAAAmzM,GACAzwM,EAAA7C,UAAA4hD,EAAA3hD,YACA,IAAA45O,EAAAj4L,EAAAi4L,OACAC,EAAAl4L,EAAAk4L,OACA70O,EAAAgH,EAAAhH,EACAC,EAAA+G,EAAA/G,EACApD,EAAAm7O,EAAAn7O,MACAG,EAAAg7O,EAAAh7O,OACAuD,EAAAo8C,EAAAo2L,aAEAn1O,EAAAyD,YACAzD,EAAA0D,OAAAtB,EAAAO,EAAAN,GACA,QAAA40O,GACAhkP,KAAA2nP,UAAAxxO,EAAAgxO,GAEAp6O,EAAA2D,OAAAvB,EAAAnD,EAAA0D,EAAAN,GACArC,EAAA07O,iBAAAt5O,EAAAnD,EAAAoD,EAAAD,EAAAnD,EAAAoD,EAAAM,GACA,WAAAs0O,GAAA,UAAAD,GACA/jP,KAAA2nP,UAAAxxO,EAAAgxO,GAEAp6O,EAAA2D,OAAAvB,EAAAnD,EAAAoD,EAAAjD,EAAAuD,GACA3C,EAAA07O,iBAAAt5O,EAAAnD,EAAAoD,EAAAjD,EAAAgD,EAAAnD,EAAA0D,EAAAN,EAAAjD,GACA,WAAA63O,GACAhkP,KAAA2nP,UAAAxxO,EAAAgxO,GAEAp6O,EAAA2D,OAAAvB,EAAAO,EAAAN,EAAAjD,GACAY,EAAA07O,iBAAAt5O,EAAAC,EAAAjD,EAAAgD,EAAAC,EAAAjD,EAAAuD,GACA,WAAAs0O,GAAA,SAAAD,GACA/jP,KAAA2nP,UAAAxxO,EAAAgxO,GAEAp6O,EAAA2D,OAAAvB,EAAAC,EAAAM,GACA3C,EAAA07O,iBAAAt5O,EAAAC,EAAAD,EAAAO,EAAAN,GACArC,EAAAogE,YAEApgE,EAAA62B,OAEAkoB,EAAA3hD,YAAA,GACA4C,EAAA4D,UAIAjC,KAAA,WACA,IAAA3B,EAAA/M,KAAAuwC,OAAAxjC,IACA++C,EAAA9rD,KAAAk0C,MAEA,OAAA4X,EAAA0xJ,QAAA,CAIA,IAAA2pC,EAAA,CACAn7O,MAAA8/C,EAAA9/C,MACAG,OAAA2/C,EAAA3/C,QAEAgK,EAAA,CACAhH,EAAA28C,EAAA38C,EACAC,EAAA08C,EAAA18C,GAIAouM,EAAAz5M,KAAA6hB,IAAAkmC,EAAA0xJ,QAAA,QAAA1xJ,EAAA0xJ,QAGAkrC,EAAA58L,EAAAs4B,MAAAjiF,QAAA2pD,EAAA22L,WAAAtgP,QAAA2pD,EAAAq5L,KAAAhjP,QAAA2pD,EAAAi3L,UAAA5gP,QAAA2pD,EAAAm3L,OAAA9gP,OAEAnC,KAAAy6G,SAAA50C,SAAA6iL,IAEA1oP,KAAAwoP,eAAAryO,EAAA21C,EAAA/+C,EAAAo6O,EAAA3pC,GAGArnM,EAAAhH,GAAA28C,EAAAi2L,SACA5rO,EAAA/G,GAAA08C,EAAAg2L,SAGA9hP,KAAAioP,UAAA9xO,EAAA21C,EAAA/+C,EAAAywM,GAGAx9M,KAAAkoP,SAAA/xO,EAAA21C,EAAA/+C,EAAAywM,GAGAx9M,KAAAuoP,WAAApyO,EAAA21C,EAAA/+C,EAAAywM,MAUA5sM,YAAA,SAAAxI,GACA,IAAA+C,EAAAnL,KACA0M,EAAAvB,EAAAsvG,SACA5pG,GAAA,EA6BA,OA3BA1F,EAAAs7O,YAAAt7O,EAAAs7O,aAAA,GAGA,aAAAr+O,EAAAlC,KACAiF,EAAA87O,QAAA,GAEA97O,EAAA87O,QAAA97O,EAAAolC,OAAAo4M,0BAAAvgP,EAAAsE,EAAAw1B,KAAAx1B,GAIAmE,GAAA1J,EAAA4nE,YAAA5jE,EAAA87O,QAAA97O,EAAAs7O,aAGA51O,IACA1F,EAAAs7O,YAAAt7O,EAAA87O,SAEAv6O,EAAAm5D,SAAAn5D,EAAAs2B,UACA73B,EAAAq8O,eAAA,CACAr4O,EAAA/G,EAAA+G,EACAC,EAAAhH,EAAAgH,GAGAjE,EAAArC,QAAA,GACAqC,EAAA64B,UAIAnzB,KAOAvR,EAAA6jP,iDC38BA1jP,EAAA8V,EAAAiL,GAAA,IAAAooO,EAAAnpP,EAAA,QAAAopP,EAAAppP,EAAA,QAwCAqpP,EAAA,SAAAC,GACA,SAAAD,EAAAtqL,GACA,IAAA9xD,EAAA8xD,GAAA,GACAuqL,EAAA/3O,KAAAhR,KAAA0M,GAOA1M,KAAAkG,KAAgB0iP,EAAA,KAASI,MAQzB,OAJAD,IAAAD,EAAAnlO,UAAAolO,GACAD,EAAA7nP,UAAAmX,OAAAwL,OAAAmlO,KAAA9nP,WACA6nP,EAAA7nP,UAAA4iB,YAAAilO,EAEAA,EAlBA,CAmBED,EAAA,MASFC,EAAA7nP,UAAA+tD,UACexuC,EAAA,gDCrEf,IAAAyoO,EAAAxpP,EAAA,QAAAypP,EAAAzpP,EAAAyC,EAAA+mP,GAAsmBC,EAAG,qCCAzmB,IAAAC,EAAA1pP,EAAA,QAAA2pP,EAAA3pP,EAAAyC,EAAAinP,GAAosB3oO,EAAA,WAAA4oO,EAAG,qCCEvsB,IAAAniP,EAAexH,EAAQ,QAEvBwH,EAAAW,KAAA,UACAyhP,YAAA,EACAC,4BAAA,EACAC,qBAAA,EACAzmO,OAAA,0DACAmf,MAAA,CACAl5B,QAAA,KACAm5B,KAAA,UACAiY,WAAA,EACAqvM,kBAAA,KAEArhP,QAAA,KACAoH,aAAA,kBACAN,iBAAA,OACA1B,kBAAA,qDACAJ,gBAAA,GACAE,iBAAA,SACA00B,WAAA,EAGAnzB,SAAA,GAGA41G,OAAA,CACAv7G,QAAA,CACAmD,IAAA,EACAF,MAAA,EACAG,OAAA,EACAJ,KAAA,MAKA5M,EAAAC,QAAA,WAGA,IAAAgjC,EAAA,SAAAz1B,EAAAjC,GAEA,OADA5K,KAAAypP,UAAA58O,EAAAjC,GACA5K,MAKA,OAFAsiC,UAEAA,sCC7CA,IAAA9pB,EAAA,WAAgC,SAAAC,EAAAC,EAAAC,GAA2C,QAAAhY,EAAA,EAAgBA,EAAAgY,EAAAxW,OAAkBxB,IAAA,CAAO,IAAAiY,EAAAD,EAAAhY,GAA2BiY,EAAAC,WAAAD,EAAAC,aAAA,EAAwDD,EAAAE,cAAA,EAAgC,UAAAF,MAAAG,UAAA,GAAuDX,OAAAC,eAAAK,EAAAE,EAAAI,IAAAJ,IAA+D,gBAAAK,EAAAC,EAAAC,GAA2L,OAAlID,GAAAT,EAAAQ,EAAAhY,UAAAiY,GAAqEC,GAAAV,EAAAQ,EAAAE,GAA6DF,GAAxhB,GAEA,SAAAG,EAAAC,EAAAJ,GAAiD,KAAAI,aAAAJ,GAA0C,UAAAK,UAAA,qCAE3F,IAAAI,EAAeja,EAAQ,QACvBqW,EAAA4D,EAAA5D,WACA6D,EAAgBla,EAAQ,QACxBs9B,EAAApjB,EAAAojB,iBAMAvjB,EAAA,WAwBA,SAAAA,EAAAW,EAAAC,GACAhB,EAAApZ,KAAAwZ,GAEAxZ,KAAAma,OACAna,KAAAoa,KAEApa,KAAA6b,UAAAlV,EACA3G,KAAAsJ,WAAA3C,EACA3G,KAAAyb,cAAA9U,EACA3G,KAAAyX,UAAA9Q,EAEA3G,KAAAma,KAAAuvO,aAAA1pP,MACAA,KAAAoa,GAAAuvO,aAAA3pP,MA2DA,OA9FAwY,EAAAgB,EAAA,EACAR,IAAA,cAMA/S,MAAA,WAMA,OALAjG,KAAAyb,WACAzb,KAAAyb,SAAA,IAAAjC,EAAAxZ,KAAAoa,GAAApa,KAAAma,MACAna,KAAAyb,kBAAAzb,MAGAA,KAAAyb,aA6BAjD,EAAAgB,EAAA,EACAR,IAAA,aACA/S,MAAA,WACAjG,KAAAma,KAAAyvO,gBAAA5pP,MACAA,KAAAoa,GAAAyvO,gBAAA7pP,QAUG,CACHgZ,IAAA,UACA/S,MAAA,SAAAoU,GACA,OAAAra,KAAAma,KAAA3P,KAAA6P,EAAAF,KAAA3P,IAAAxK,KAAAoa,GAAA5P,KAAA6P,EAAAD,GAAA5P,KAEG,CACHwO,IAAA,WACA/S,MAAA,WACA,gBAAoBjG,KAAAma,KAAA3P,GAAA,OAAAxK,KAAAoa,GAAA5P,GAAA,OAQjB,CACHwO,IAAA,eACA/S,MAAA,WACA,OAAA6P,EAAA,CAAA9V,KAAAma,KAAAxU,YAAA3F,KAAAoa,GAAAzU,gBAYG,CACHqT,IAAA,YACA/S,MAAA,SAAAoU,GACA,OAAA0iB,EAAA1iB,EAAAF,KAAAxU,YAAA0U,EAAAD,GAAAzU,YAAA3F,KAAAoa,GAAAzU,iBAIA6T,EA/FA,GAkGAna,EAAAC,QAAAka,+CCjHA,IAAA4G,EAAW3gB,EAAQ,QACnB4mC,EAAW5mC,EAAQ,QACnBkU,EAAalU,EAAQ,QACrB0H,EAAc1H,EAAQ,QACtBmU,EAAcnU,EAAQ,QACtByhC,EAAgBzhC,EAAQ,QACxBorC,EAAmBprC,EAAQ,QAC3Bq7E,EAAsBr7E,EAAQ,QAC9Bg6B,EAAAtyB,EAAAsyB,QACAkqD,EAAAx8E,EAAAw8E,aACAr9E,EAAA46B,EAAA56B,aACAC,EAAAY,EAAAZ,kBAsFA,SAAAujP,EAAA5+M,EAAA+vC,EAAAkhI,GAGA,IADA,IAAA4tC,EAAA,GACAppP,EAAA,EAAmBA,EAAAs6E,EAAA94E,OAAmBxB,IAAA,CACtC,IAAAqpP,GAAA/uK,EAAAt6E,EAAA,GACAspP,GAAAhvK,EAAAt6E,GAEAupP,EAAApvK,EAAAngB,SAAAzvB,EAAA8+M,EAAAC,EAAAD,GAKAG,EAAAC,EAAAF,GACAG,EAAAC,EAAAH,GACAzkP,EAAA,GACAA,EAAA,gBAAA2kP,EACA3kP,EAAAy2M,GAAA6tC,EAAA,IAAAC,EACAF,EAAAnpP,KAAA8E,GAEA,OAAAqkP,EAYA,SAAAQ,EAAAR,EAAA7+M,EAAAlpC,GAGA,IAAAu5E,EAAAn7D,EAAApe,GACAw5E,EAAAD,EAAA,GAAAA,EAAA,GACAE,EAAAF,EAAA,GAAAA,EAAA,GAGAl4B,EAAAk4B,EAAA,GACAzgD,EAAAygD,EAAA,GAEAG,EAAAxwC,EAAA,GAAA/oC,OAAA,EACAw5E,EAAAzwC,EAAA/oC,OAAA,EAEAy5E,EAAAJ,EAAAE,EACAG,EAAAJ,EAAAE,EAEAG,EAAA,SAAAz4E,GACAA,EAAA,GAAAA,EAAA,GAAAu4E,EAAAv4B,EACAhgD,EAAA,GAAAA,EAAA,GAAAw4E,EAAA/gD,GAWA,OAPAivN,EAAAjzO,QAAA,SAAA0zO,GACAA,EAAAH,aAAAvzO,QAAA,SAAA2zO,GACAA,EAAA3zO,QAAA,SAAA4zO,GACAA,EAAA5zO,QAAAglE,SAIAiuK,EAcA,SAAAK,EAAAO,GACA,IAAAC,EAAA,GACA36N,EAAA,GACA06N,EAAA7zO,QAAA,SAAA7E,GAEA,IAAAy5L,EAAArlK,EAAA5M,EAAA,CAAAxnB,KAEAge,EAAArvB,KAAA8qM,GAEAk/C,EAAAhqP,KAAA,CAA4B6W,KAAAxF,EAAAo0B,KAAAqlK,MAE5Bz7K,EAAAjrB,KAAA,SAAA1E,EAAAC,GACA,OAAAA,EAAAD,IAGA,IAAAuqP,EAAA,GAUA,OATA56N,EAAAnZ,QAAA,SAAAuvB,GACA,QAAAqyG,EAAA,EAAwBA,EAAAkyG,EAAAzoP,OAA2Bu2I,IACnD,GAAAkyG,EAAAlyG,GAAAryG,SAAA,CACAwkN,EAAAjqP,KAAAgqP,EAAAlyG,GAAAjhI,MACAmzO,EAAAjiN,OAAA+vG,EAAA,GACA,SAIAmyG,EAYA,SAAAP,EAAAQ,GAEA,IAAAC,EAAAD,EAAA3hP,IAAA,SAAAuvI,GACA,OAAgBsyG,cAAAtyG,EAAAuyG,SAAA,KAEhBC,EAAA,GACA,OAAAC,EAAAJ,GACA,QAAApqP,EAAA,EAAuBA,EAAAoqP,EAAA5oP,OAAmBxB,IAC1C,IAAAoqP,EAAApqP,GAAAsqP,QAAA,CAEA,IAAAniI,EAAA,GACAA,EAAAloH,KAAAmqP,EAAApqP,GAAAqqP,eACAD,EAAApqP,GAAAsqP,SAAA,EAGA,IAFA,IAAAG,EAAA3xN,EAAA,CAAAsxN,EAAApqP,GAAAqqP,gBAEApoP,EAAAjC,EAAA,EAAmCiC,EAAAmoP,EAAA5oP,OAAmBS,IACtD,IAAAmoP,EAAAnoP,GAAAqoP,QAAA,CACA,IAAAI,EAAA5xN,EAAA,CAAAsxN,EAAAnoP,GAAAooP,gBACAx9L,EAAA69L,EAAAD,KACAtiI,EAAAloH,KAAAmqP,EAAAnoP,GAAAooP,eACAD,EAAAnoP,GAAAqoP,SAAA,GAKAC,EAAAtqP,KAAAkoH,GAIA,OAAAoiI,EASA,SAAA19L,EAAA89L,EAAAC,GAEA,IADA,IAAAvpP,EAAA4R,EAAA03O,GACA3qP,EAAA,EAAmBA,EAAAqB,EAAAwE,SAAArE,OAA4BxB,IAC/C,IAAAgT,EAAA3R,EAAAwE,SAAA7F,GAAA4qP,GACA,SAGA,SAQA,SAAAJ,EAAAzoP,GACA,QAAA/B,EAAA,EAAmBA,EAAA+B,EAAAP,OAAiBxB,IACpC,QAAA+B,EAAA/B,GAAAsqP,QACA,SAGA,SAnOA5rP,EAAAC,QAAA,SAAAy8E,EAAAd,EAAAnwC,EAAAp+B,GAEA,IAAA8I,EAAA,SAAAo1B,GACA,QAAAA,KAAA/mB,cAAAzL,QAGA,GADA9R,EAAAy1E,EAAA,sCACAd,IAAAp5E,MAAAkE,QAAAk1E,GAAA,UAAA74E,MAAA,sBAEA,GADAsK,KAAA,GACAA,EAAA8+O,mBAAAh2O,EAAA9I,EAAA8+O,kBACA,UAAAppP,MAAA,qCAEA,GAAAsK,EAAA++O,oBAAA5pP,MAAAkE,QAAA2G,EAAA++O,mBACA,UAAArpP,MAAA,qCAEA,GAAA0oC,GAAA,kBAAAA,EAAqD,UAAA1oC,MAAA,6BAErD0oC,KAAA,YACA,IAAA0gN,EAAA9+O,EAAA8+O,kBAAA,GACAC,EAAA/+O,EAAA++O,mBAAA,GAGAvgN,EAAAL,EAAAkxC,EAAAjxC,GAAA,GACAi/M,EAAAD,EAAA5+M,EAAA+vC,EAAAnwC,GACAi/M,EAAAQ,EAAAR,EAAA7+M,EAAA6wC,GAEA,IAAA2vK,EAAA3B,EAAA5gP,IAAA,SAAAqhP,EAAApqP,GACA,GAAAqrP,EAAArrP,KAAAoV,EAAAi2O,EAAArrP,IACA,UAAAgC,MAAA,mDAGA,IAAAupP,EAAAvzO,OAAA6b,OACA,GACAu3N,EACAC,EAAArrP,IAEAurP,EAAA7gN,GAAA0/M,EAAA1/M,GACA,IAAA8gN,EAAAjoK,EAAA6mK,EAAAH,aAAAsB,GACA,OAAAC,IAGA,OAAArlP,EAAAmlP,uCC/EArsP,EAAAC,QAAAusP,EAEA,IAAArsP,EAAaC,EAAQ,QAAoB,GAEzC,SAAAosP,EAAA7pP,GACA,IAAAE,EAAAF,EAAAG,OAEA,GAAAD,EAAA,GAEA,IADA,IAAAw9B,EAAA,IAAA79B,MAAAK,GACAvB,EAAA,EAAgBA,EAAAuB,IAAKvB,EACrB++B,EAAA/+B,KAGA,WAAAuB,GACAF,EAAA,QAAAA,EAAA,OACAA,EAAA,QAAAA,EAAA,MACA,IAGA09B,EAIA,IAAA4S,EAAA,IAAAzwC,MAAAK,GACA,IAAAvB,EAAA,EAAcA,EAAAuB,IAAKvB,EACnB2xC,EAAA3xC,KAEA2xC,EAAAttC,KAAA,SAAA1E,EAAAC,GACA,IAAAE,EAAAuB,EAAA1B,GAAA,GAAA0B,EAAAzB,GAAA,GACA,OAAAE,GAGAuB,EAAA1B,GAAA,GAAA0B,EAAAzB,GAAA,KAIA,IAAA2lE,EAAA,CAAA5zB,EAAA,GAAAA,EAAA,IACA2zB,EAAA,CAAA3zB,EAAA,GAAAA,EAAA,IAEA,IAAA3xC,EAAA,EAAcA,EAAAuB,IAAKvB,EAAA,CACnB,IAAAutC,EAAAoE,EAAA3xC,GACAu7B,EAAAl6B,EAAAksC,GAGAzQ,EAAAyoC,EAAA/jE,OACA,MAAAs7B,EAAA,GAAAj+B,EACAwC,EAAAkkE,EAAAzoC,EAAA,IACAz7B,EAAAkkE,EAAAzoC,EAAA,IACAvB,IAAA,EACAuB,GAAA,EACAyoC,EAAA3iE,MAEA2iE,EAAAtlE,KAAAstC,GAGAzQ,EAAAwoC,EAAA9jE,OACA,MAAAs7B,EAAA,GAAAj+B,EACAwC,EAAAikE,EAAAxoC,EAAA,IACAz7B,EAAAikE,EAAAxoC,EAAA,IACAvB,IAAA,EACAuB,GAAA,EACAwoC,EAAA1iE,MAEA0iE,EAAArlE,KAAAstC,GAIAxO,EAAA,IAAA79B,MAAAokE,EAAA9jE,OAAA+jE,EAAA/jE,OAAA,GAEA,IAFA,IACAoD,EAAA,EACAumP,GAAAnrP,EAAA,EAAAulE,EAAA/jE,QAA+BxB,EAAAmrP,IAAMnrP,EACrC++B,EAAAn6B,KAAA2gE,EAAAvlE,GAEA,QAAAiC,EAAAqjE,EAAA9jE,OAAA,EAA2BS,EAAA,IAAKA,EAChC88B,EAAAn6B,KAAA0gE,EAAArjE,GAIA,OAAA88B,sCC7EArgC,EAAAC,QAAAysP,EAEA,IAAAC,EAAUvsP,EAAQ,QAClBwsP,EAAUxsP,EAAQ,QAElB,SAAAysP,EAAAlqP,EAAAmqP,GAGA,IAFA,IAAAjqP,EAAAF,EAAAG,OACA+0O,EAAA,IAAAr1O,MAAAK,GACAvB,EAAA,EAAcA,EAAAwrP,EAAAhqP,SAAgBxB,EAC9Bu2O,EAAAv2O,GAAAqB,EAAAmqP,EAAAxrP,IAEA,IAAA4E,EAAA4mP,EAAAhqP,OACA,IAAAxB,EAAA,EAAcA,EAAAuB,IAAKvB,EACnBwrP,EAAAnpP,QAAArC,GAAA,IACAu2O,EAAA3xO,KAAAvD,EAAArB,IAGA,OAAAu2O,EAGA,SAAAkV,EAAAjnP,EAAAgnP,GAGA,IAFA,IAAA/mP,EAAAD,EAAAhD,OACA05N,EAAAswB,EAAAhqP,OACAxB,EAAA,EAAcA,EAAAyE,IAAMzE,EAEpB,IADA,IAAAgB,EAAAwD,EAAAxE,GACAiC,EAAA,EAAgBA,EAAAjB,EAAAQ,SAAYS,EAAA,CAC5B,IAAAuM,EAAAxN,EAAAiB,GACA,GAAAuM,EAAA0sN,EACAl6N,EAAAiB,GAAAupP,EAAAh9O,OACO,CACPA,GAAA0sN,EACA,QAAA94N,EAAA,EAAoBA,EAAA84N,IAAM94N,EAC1BoM,GAAAg9O,EAAAppP,KACAoM,GAAA,GAGAxN,EAAAiB,GAAAuM,GAIA,OAAAhK,EAGA,SAAA4mP,EAAA/pP,EAAAvB,GACA,IACA,OAAAurP,EAAAhqP,GAAA,GACG,MAAAoG,GAEH,IAAAikP,EAAAJ,EAAAjqP,GACA,GAAAqqP,EAAAlqP,QAAA1B,EAEA,SAEA,IAAAy2O,EAAAgV,EAAAlqP,EAAAqqP,GACA/oI,EAAA0oI,EAAA9U,GAAA,GACA,OAAAkV,EAAA9oI,EAAA+oI,+DCzDA,IAAAp0O,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6Be,MAAA,CAAOxlB,GAAAskB,EAAAtkB,GAAAlB,MAAAwlB,EAAAxlB,MAAA0tB,SAAAlI,EAAAkI,SAAAs1N,mBAAAx9N,EAAAy9N,gBAAAl4L,YAAAvlC,EAAAwlC,oBAAAtR,QAAAl0B,EAAAk0B,SAAyJqoB,YAAAv8C,EAAAw8C,GAAA,CAAAx8C,EAAAymC,OAAA,OAAyCv8C,IAAA,QAAAuyD,GAAA,WAA0B,OAAAz8C,EAAAoD,GAAA,WAAyBs5C,OAAA,GAAY,KAAA18C,EAAAymC,OAAA,aAAgCv8C,IAAA,cAAAuyD,GAAA,WAAgC,OAAAz8C,EAAAoD,GAAA,iBAA+Bs5C,OAAA,GAAY,gBAAkB,CAAAv8C,EAAA,OAAY4lC,IAAA,SAAA1lC,YAAA,oBAA4C,CAAAF,EAAA,SAAcE,YAAA,eAAAa,MAAA,CAAkC9pB,KAAA,OAAAC,KAAA2oB,EAAA3oB,KAAA45C,YAAAjxB,EAAAixB,YAAAyjE,SAAA10F,EAAA00F,SAAA73E,SAAA7c,EAAA6c,YAA6G1c,EAAA,QAAaE,YAAA,qBAAgC,CAAAF,EAAA,QAAaE,YAAA,mCAA2CF,EAAA,oBAA2Be,MAAA,CAAOkc,KAAApd,EAAA7oB,QAAA6oB,EAAA00F,SAAAt3G,MAAA,QAAiDykB,GAAA,CAAKC,MAAA9B,EAAAmgC,UAAmB,MACh6B/9B,EAAA,eCDwYs7N,EAAAC,EAAA,iBCOxY36N,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdo0O,EACAv0O,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,qGClBf,IAAArpB,EAAWhJ,EAAQ,QACnB2kD,EAAY3kD,EAAQ,QACpB64G,EAAY74G,EAAQ,QACpByhC,EAAgBzhC,EAAQ,QACxB4yO,EAAkB5yO,EAAQ,QAC1ByoH,EAAkBzoH,EAAQ,QAC1BitP,EAAyBjtP,EAAQ,QACjC8G,EAAwB9G,EAAQ,QAAe8G,kBAC/CX,EAAAs7B,EAAAt7B,UACAqN,EAAAxK,EAAAwK,YACAgE,EAAAxO,EAAAwO,YAyFA,SAAA01O,EAAA99O,EAAAmhD,GACA,IAAA/9C,EAAArM,EAAAoqD,GACAuG,EAAA3wD,EAAAiJ,GACA6L,EAAA67C,EAAA,GACA37C,EAAA27C,IAAAp0D,OAAA,GACA2E,EAAA+H,EAAAhJ,SAAAF,YAMA,OAJAy+C,EAAAnyC,EAAA,GAAAyI,GAAA5T,EAAAw1B,QAAArqB,EAAA,IACAmyC,EAAAnyC,EAAA,GAAA2I,GAAA9T,EAAAlG,KAAAqR,EAAA,IACAmyC,EAAAnyC,EAAA,GAAAyI,GAAA5T,EAAAw1B,QAAArqB,EAAA,IACAmyC,EAAAnyC,EAAA,GAAA2I,IAAA9T,EAAAlG,KAAAqR,EAAA,IACApD,EAjFAxP,EAAAC,QAAA,SAAAg/N,EAAAC,EAAA3hJ,GACA,IAAAp2E,EAAA,GACAo2E,KAAA,EAGA,IAEAgwK,EAFAryL,EAAA+9C,IAqDA,OApDA/9C,EAAA5iB,KAAA06L,EAAA/T,IAMArnN,EAAAsnN,EAAA,SAAAvuK,GACA,IAAA68L,GAAA,EAGA55O,EAAAsnD,EAAAm+C,OAAA1oD,GAAA,SAAA36C,GACA,QAAAw3O,EAAA,CACA,IAAAC,EAAAlnP,EAAAoqD,GAAAhrD,OACA+nP,EAAAnnP,EAAAyP,GAAArQ,OAGAo/C,EAAA0oM,EAAAC,IACAF,GAAA,EAEAD,IAAAD,EAAAC,EAAA58L,GACAA,IAGA,IAAA4sB,EACA8vK,EAAAI,EAAA,GAAAz3O,IAAAq3O,EAAAI,EAAA,GAAAz3O,GACA6yG,EAAA7yG,EAAAy3O,EAAA,IAAAh6O,WAAA+B,MAAA+nE,GACAsrC,EAAA7yG,EAAAy3O,EAAA,IAAAh6O,WAAA+B,MAAA+nE,IACAiwK,GAAA,EACAD,IAAAD,EAAAC,EAAA58L,GACAA,IAEA,IAAA4sB,EACA8vK,EAAAK,EAAA,GAAA/8L,IAAA08L,EAAAK,EAAA,GAAA/8L,GACAk4D,EAAAl4D,EAAA+8L,EAAA,IAAAj6O,WAAA+B,MAAA+nE,GACAsrC,EAAAl4D,EAAA+8L,EAAA,IAAAj6O,WAAA+B,MAAA+nE,KAGAgwK,IAAAD,EAAAC,EAAAv3O,GACAA,OAMA,IAAAw3O,GAAAD,IACApmP,EAAA5F,KAAAgsP,GACAA,OAAAjmP,KAIAimP,GAAApmP,EAAA5F,KAAAgsP,GAEArmP,EAAAC,uCCvFA,IAAAwmP,EAAAvtP,EAAA,QAAAwtP,EAAAxtP,EAAAyC,EAAA8qP,GAA6qBC,EAAG,qCCAhrB,IAAAh1O,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6Be,MAAA,CAAOgH,SAAAlI,EAAAkI,SAAA1tB,MAAAwlB,EAAAxlB,MAAAgjP,mBAAAx9N,EAAAy9N,gBAAAl4L,YAAAvlC,EAAAwlC,oBAAAtR,QAAAl0B,EAAAk0B,UAA8I,CAAA/zB,EAAA,OAAYE,YAAA,iBAA4B,CAAAF,EAAA,UAAe4lC,IAAA,SAAA7kC,MAAA,CAAoB7pB,KAAA2oB,EAAA3oB,UAAiB2oB,EAAAoD,GAAA,cAAyBojC,KAAA,UAAexmC,EAAAoD,GAAA,oBAA6BojC,KAAA,iBAAqB,IACjcpkC,EAAA,eCDoXg8N,EAAAC,EAAA,iBCOpXr7N,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd80O,EACAj1O,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,6CCdf,SAAAs7N,EAAA9sP,EAAAC,EAAAm/B,GACA,IAAAvwB,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACAugN,EAAA1xM,EAAA4mB,EACAsF,EAAA96B,EAAAw1B,EACAuiH,EAAAh4I,EAAAugN,EACA,OAAAnhL,GACAA,EAAA,GAAA44G,EAAAj9G,EACAqE,EAAA,GAAAvwB,EACAuwB,GAEA,CAAA44G,EAAAj9G,EAAAlsB,GAbA9P,EAAAC,QAAA8tP,6DCFA,IAAAC,EAAA5tP,EAAA,QAAA6tP,EAAA7tP,EAAA,QAGe+gB,EAAA,MACbutC,OAAQ,CACN,UAEFp1C,MAAO,CACL5Q,SAAU,GACVgjF,SAAU5+C,SAEZza,SAAU,CACR67N,WADQ,WAEN,OAAOvtP,KAAK+H,SACRojD,uBAAUnrD,KAAK+H,SAAU,YAAa,aACtC,OAGRunD,QAfa,WAeF,IAAAx0C,EAAA9a,KACTA,KAAKgkB,SAASurC,KAAK,SAAApmD,GACjB2R,EAAK3R,IAAMA,EAEX2R,EAAK0zC,QAAU,IAAI7sC,aAAQ,CACzB5Z,SAAU+S,EAAKyyO,WACf9pO,YAAa3I,EAAKiwE,SAAW,gBAAkB,cAC/ClpE,eAA8Blb,IAAnBmU,EAAK+G,WAAiC/G,EAAK+G,YAGpD/G,EAAK0yO,MACP1yO,EAAK0yO,IAAI/0I,SACT39F,EAAK0zC,QAAQnrC,WAAWvI,EAAK0yO,MAG/B1yO,EAAK3R,IAAIskP,WAAW3yO,EAAK0zC,YAG7Br5B,QAjCa,WAkCXn1B,KAAKwtP,IAAIrrO,MAAMurO,WAAa,SAEvB1tP,KAAKwuD,QAEExuD,KAAKwuD,QAAQ1qC,eACvB9jB,KAAKwtP,IAAI/0I,SACTz4G,KAAKwuD,QAAQnrC,WAAWrjB,KAAKwtP,MAH7BxtP,KAAKwtP,IAAI/0I,UAMbtmB,QA3Ca,aA8Cbz6D,MAAO,CACL61N,WADK,SACOxlP,GACN/H,KAAKwuD,SACPxuD,KAAKwuD,QAAQ9qC,YAAY3b,KAI/ButB,cArDa,WAsDPt1B,KAAKmJ,KACPnJ,KAAKmJ,IAAIwkP,cAAc3tP,KAAKwuD,iCC1DlC,IAAArnD,EAAc1H,EAAQ,QACtByhC,EAAgBzhC,EAAQ,QACxBmG,EAAAs7B,EAAAt7B,UACAiB,EAAAq6B,EAAAr6B,YAsFA,SAAAhB,EAAAa,EAAAR,EAAAP,GACA,IAAAmB,EAAA,CACAZ,OACAP,eAGA,OADAe,EAAA0Z,OAAAtZ,EAAAsZ,KAAA1Z,EAAA0Z,MACAtZ,EAYA,SAAAT,EAAAK,EAAAR,EAAAP,GACA,IAAAgzO,EAAAxxO,EAAAd,QAAAR,EAAAa,EAAAb,SAAAK,EAAAP,GAAAe,EAAAoM,YAGA,OAFApM,EAAA8D,KAAAmuO,EAAAnuO,GAAA9D,EAAA8D,IACA9D,EAAA0Z,OAAAu4N,EAAAv4N,KAAA1Z,EAAA0Z,MACAu4N,EAUA,SAAA5wC,EAAAl5L,GACA,IAIAwtE,EAAAh5E,EAAAuqP,EAJA5rP,EAAA4D,EAAAiJ,GAEA,OAAA7M,EAAAG,SAAA08E,EAAA78E,EAAA,GAAAA,EAAA,WAAAA,EAGA,IAAAs6E,EAAA,GACAuxK,EAAA7rP,EAAAG,OAAA,EAEAm6E,EAAA17E,KAAAoB,EAAA,IACA,QAAArB,EAAA,EAAmBA,EAAAktP,EAAkBltP,IACrC07E,EAAAr6E,EAAArB,EAAA,GACA0C,EAAArB,EAAArB,GACAitP,EAAA5rP,EAAArB,EAAA,GAEA+8C,EAAA2+B,EAAAuxK,EAAAvqP,IACAi5E,EAAA17E,KAAAyC,GAIA,OADAi5E,EAAA17E,KAAAgtP,GACAtxK,EAWA,SAAAuC,EAAArsB,EAAAC,GACA,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAaA,SAAA/U,EAAAhjC,EAAAE,EAAAvX,GACA,IAAA8L,EAAA9L,EAAA,GAAA+L,EAAA/L,EAAA,GACAyqP,EAAApzO,EAAA,GAAAqzO,EAAArzO,EAAA,GACAszO,EAAApzO,EAAA,GAAAqzO,EAAArzO,EAAA,GAEAujC,EAAAhvC,EAAA2+O,EACA1vM,EAAAhvC,EAAA2+O,EACA1vM,EAAA2vM,EAAAF,EACAxvM,EAAA2vM,EAAAF,EACAxvM,EAAAJ,EAAAG,EAAAF,EAAAC,EAEA,WAAAE,IACAx6C,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GAAAD,EAAA,EAAAyvM,GAAA3+O,MAAA6+O,KAAA7+O,MAAA2+O,EACAxvM,EAAA,EAAAyvM,GAAA3+O,MAAA6+O,KAAA7+O,MAAA2+O,GA7JA1uP,EAAAC,QAAA,SAAAoH,EAAA+3B,GACA,IAAA/3B,EAAA,UAAAtE,MAAA,uBACA,IAAA8D,EAAAW,EAAAH,GAGAwnP,EAAA,GAEA,OAAAhoP,GACA,iBACAgoP,EAAAnmD,EAAArhM,GACA,MACA,sBACA,cACAd,EAAAc,GAAAoQ,QAAA,SAAAjI,GACAq/O,EAAAttP,KAAAmnM,EAAAl5L,MAEA,MACA,mBACAjJ,EAAAc,GAAAoQ,QAAA,SAAAw2C,GACA,IAAA6gM,EAAA,GACA7gM,EAAAx2C,QAAA,SAAAW,GACA02O,EAAAvtP,KAAAmnM,EAAAtwL,MAEAy2O,EAAAttP,KAAAutP,KAEA,MACA,YACA,OAAAznP,EACA,iBACA,IAAA8lE,EAAA,GACA5mE,EAAAc,GAAAoQ,QAAA,SAAAzD,GACA,IAAA2F,EAAA3F,EAAAtS,KAAA,KACAyrE,EAAAzuD,eAAA/E,KACAk1O,EAAAttP,KAAAyS,GACAm5D,EAAAxzD,IAAA,KAGA,MACA,QACA,UAAA5W,MAAA8D,EAAA,2BAIA,OAAAQ,EAAAf,aACA,IAAA84B,GACA/3B,EAAAf,YAAAuoP,EACAxnP,GAEAb,EAAAa,EAAAR,EAAAgoP,IAEA,IAAAzvN,GACA/3B,EAAAb,SAAAF,YAAAuoP,EACAxnP,GAEAL,EAAAK,EAAAR,EAAAgoP,uCCpEA,GAA8B7uP,EAAAC,QAAA,IAAAwjF,EAA8BrjF,EAAQ,QAqBpE,SAAAioB,EAAAU,EAAAG,GAEA,KAAAvoB,gBAAA0nB,GAAA,WAAAA,EAAAU,EAAAG,GAEAvoB,KAAAooB,IAAAN,OAAAM,GACApoB,KAAAuoB,IAAAT,OAAAS,GAgBAb,EAAAzmB,UAAAs5C,WAAA,SAAAl3C,EAAAqM,GACA,KAAArM,aAAAqkB,GAAA,UAAApO,UAAA,8BACA5J,OAAA/I,IAAA+I,EAAA,OAAAoY,OAAApY,GAMA,IAAAggG,EAAAhgG,EACA2rC,EAAAr7C,KAAAooB,IAAAC,YAAAizB,EAAAt7C,KAAAuoB,IAAAF,YACAg0B,EAAAh5C,EAAA+kB,IAAAC,YAAAk0B,EAAAl5C,EAAAklB,IAAAF,YACA+lO,EAAA/xM,EAAAhB,EACA5wB,EAAA8xB,EAAAjB,EAEAh7C,EAAAyD,KAAAolB,IAAAilO,EAAA,GAAArqP,KAAAolB,IAAAilO,EAAA,GACArqP,KAAAklB,IAAAoyB,GAAAt3C,KAAAklB,IAAAozB,GACAt4C,KAAAolB,IAAAsB,EAAA,GAAA1mB,KAAAolB,IAAAsB,EAAA,GACA9oB,EAAA,EAAAoC,KAAAg4C,MAAAh4C,KAAAgR,KAAAzU,GAAAyD,KAAAgR,KAAA,EAAAzU,IACAG,EAAAivG,EAAA/tG,EAEA,OAAAlB,GAeAinB,EAAAzmB,UAAAynO,UAAA,SAAArlO,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAKA,IAAA+hC,EAAAr7C,KAAAooB,IAAAC,YAAAg0B,EAAAh5C,EAAA+kB,IAAAC,YACAoC,GAAApnB,EAAAklB,IAAAvoB,KAAAuoB,KAAAF,YACAjZ,EAAArL,KAAAolB,IAAAsB,GAAA1mB,KAAAklB,IAAAozB,GACAltC,EAAApL,KAAAklB,IAAAoyB,GAAAt3C,KAAAolB,IAAAkzB,GACAt4C,KAAAolB,IAAAkyB,GAAAt3C,KAAAklB,IAAAozB,GAAAt4C,KAAAklB,IAAAwB,GACA69M,EAAAvkO,KAAAg4C,MAAA3sC,EAAAD,GAEA,OAAAm5N,EAAA97M,YAAA,UAgBA9E,EAAAzmB,UAAA05C,eAAA,SAAAt3C,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAGA,OAAAjW,EAAAqlO,UAAA1oO,MAAA,UAeA0nB,EAAAzmB,UAAA0nO,WAAA,SAAAtlO,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAMA,IAAA+hC,EAAAr7C,KAAAooB,IAAAC,YAAAizB,EAAAt7C,KAAAuoB,IAAAF,YACAg0B,EAAAh5C,EAAA+kB,IAAAC,YACAoC,GAAApnB,EAAAklB,IAAAvoB,KAAAuoB,KAAAF,YAEAgmO,EAAAtqP,KAAAklB,IAAAozB,GAAAt4C,KAAAklB,IAAAwB,GACA6jO,EAAAvqP,KAAAklB,IAAAozB,GAAAt4C,KAAAolB,IAAAsB,GAEAtb,EAAApL,KAAAgR,MAAAhR,KAAAklB,IAAAoyB,GAAAgzM,IAAAtqP,KAAAklB,IAAAoyB,GAAAgzM,GAAAC,KACAl/O,EAAArL,KAAAolB,IAAAkyB,GAAAt3C,KAAAolB,IAAAkzB,GACAkyM,EAAAxqP,KAAAg4C,MAAA3sC,EAAAD,GAEAq/O,EAAAlzM,EAAAv3C,KAAAg4C,MAAAuyM,EAAAvqP,KAAAklB,IAAAoyB,GAAAgzM,GAEA,WAAA3mO,EAAA6mO,EAAA/hO,aAAAgiO,EAAAhiO,YAAA,eAgBA9E,EAAAzmB,UAAA2nO,oBAAA,SAAAvlO,EAAAw3M,GACA,KAAAx3M,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IAAA+hC,EAAAr7C,KAAAooB,IAAAC,YAAAizB,EAAAt7C,KAAAuoB,IAAAF,YACAg0B,EAAAh5C,EAAA+kB,IAAAC,YAAAk0B,EAAAl5C,EAAAklB,IAAAF,YACAomO,EAAA1qP,KAAAolB,IAAAkyB,GAAAqzM,EAAA3qP,KAAAklB,IAAAoyB,GAAAszM,EAAA5qP,KAAAolB,IAAAmyB,GAAAszM,EAAA7qP,KAAAklB,IAAAqyB,GACAuzM,EAAA9qP,KAAAolB,IAAAkzB,GAAAyyM,EAAA/qP,KAAAklB,IAAAozB,GAAA0yM,EAAAhrP,KAAAolB,IAAAozB,GAAAyyM,EAAAjrP,KAAAklB,IAAAszB,GAGA6xM,EAAA/xM,EAAAhB,EACA5wB,EAAA8xB,EAAAjB,EACAh7C,EAAAyD,KAAAolB,IAAAilO,EAAA,GAAArqP,KAAAolB,IAAAilO,EAAA,GACArqP,KAAAklB,IAAAoyB,GAAAt3C,KAAAklB,IAAAozB,GAAAt4C,KAAAolB,IAAAsB,EAAA,GAAA1mB,KAAAolB,IAAAsB,EAAA,GACAg+M,EAAA,EAAA1kO,KAAAg4C,MAAAh4C,KAAAgR,KAAAzU,GAAAyD,KAAAgR,KAAA,EAAAzU,IAEA6nC,EAAApkC,KAAAolB,KAAA,EAAA0xL,GAAA4tB,GAAA1kO,KAAAolB,IAAAs/M,GACArgM,EAAArkC,KAAAolB,IAAA0xL,EAAA4tB,GAAA1kO,KAAAolB,IAAAs/M,GAEAt5N,EAAAg5B,EAAAumN,EAAAE,EAAAxmN,EAAA0mN,EAAAE,EACA5/O,EAAA+4B,EAAAumN,EAAAC,EAAAvmN,EAAA0mN,EAAAC,EACArtN,EAAAyG,EAAAsmN,EAAArmN,EAAAymN,EAEAN,EAAAxqP,KAAAg4C,MAAAra,EAAA39B,KAAAgR,KAAA5F,IAAAC,MACAo/O,EAAAzqP,KAAAg4C,MAAA3sC,EAAAD,GAEA,WAAAuY,EAAA6mO,EAAA/hO,aAAAgiO,EAAAhiO,YAAA,eAiBA9E,EAAAzmB,UAAA45C,iBAAA,SAAAnnC,EAAAw2B,EAAAx6B,GACAA,OAAA/I,IAAA+I,EAAA,OAAAoY,OAAApY,GAMA,IAAA+4N,EAAA3gN,OAAApU,GAAAhE,EACA44N,EAAAxgN,OAAAoiB,GAAA7hB,YAEAgzB,EAAAr7C,KAAAooB,IAAAC,YACAizB,EAAAt7C,KAAAuoB,IAAAF,YAEAomO,EAAA1qP,KAAAolB,IAAAkyB,GAAAqzM,EAAA3qP,KAAAklB,IAAAoyB,GACA4zM,EAAAlrP,KAAAolB,IAAAs/M,GAAAymB,EAAAnrP,KAAAklB,IAAAw/M,GACA5jC,EAAA9gM,KAAAolB,IAAAm/M,GAAAxjC,EAAA/gM,KAAAklB,IAAAq/M,GAEAumB,EAAAJ,EAAAS,EAAAR,EAAAO,EAAAnqD,EACAzoJ,EAAAt4C,KAAAkuD,KAAA48L,GACAz/O,EAAAy1L,EAAAoqD,EAAAP,EACAv/O,EAAA+/O,EAAAT,EAAAI,EACAtyM,EAAAjB,EAAAv3C,KAAAg4C,MAAA3sC,EAAAD,GAEA,WAAAuY,EAAA20B,EAAA7vB,aAAA+vB,EAAA/vB,YAAA,eAkBA9E,EAAAwyF,aAAA,SAAA76F,EAAA8vO,EAAA5vO,EAAA6vO,GACA,KAAA/vO,aAAAqI,GAAA,UAAApO,UAAA,2BACA,KAAAiG,aAAAmI,GAAA,UAAApO,UAAA,2BAIA,IAAA+hC,EAAAh8B,EAAA+I,IAAAC,YAAAizB,EAAAj8B,EAAAkJ,IAAAF,YACAg0B,EAAA98B,EAAA6I,IAAAC,YAAAk0B,EAAAh9B,EAAAgJ,IAAAF,YACAgnO,EAAAvnO,OAAAqnO,GAAA9mO,YAAAinO,EAAAxnO,OAAAsnO,GAAA/mO,YACA+lO,EAAA/xM,EAAAhB,EAAA5wB,EAAA8xB,EAAAjB,EAGA8uL,EAAA,EAAArmO,KAAAkuD,KAAAluD,KAAAgR,KAAAhR,KAAAolB,IAAAilO,EAAA,GAAArqP,KAAAolB,IAAAilO,EAAA,GACArqP,KAAAklB,IAAAoyB,GAAAt3C,KAAAklB,IAAAozB,GAAAt4C,KAAAolB,IAAAsB,EAAA,GAAA1mB,KAAAolB,IAAAsB,EAAA,KACA,MAAA2/M,EAAA,YAGA,IAAAmlB,EAAAxrP,KAAAo9M,MAAAp9M,KAAAolB,IAAAkzB,GAAAt4C,KAAAolB,IAAAkyB,GAAAt3C,KAAAklB,IAAAmhN,KAAArmO,KAAAolB,IAAAihN,GAAArmO,KAAAklB,IAAAoyB,KACAhsC,MAAAkgP,OAAA,GACA,IAAAC,EAAAzrP,KAAAo9M,MAAAp9M,KAAAolB,IAAAkyB,GAAAt3C,KAAAolB,IAAAkzB,GAAAt4C,KAAAklB,IAAAmhN,KAAArmO,KAAAolB,IAAAihN,GAAArmO,KAAAklB,IAAAozB,KAEAozM,EAAA1rP,KAAAolB,IAAAozB,EAAAjB,GAAA,EAAAi0M,EAAA,EAAAxrP,KAAAsvC,GAAAk8M,EACAG,EAAA3rP,KAAAolB,IAAAozB,EAAAjB,GAAA,IAAAv3C,KAAAsvC,GAAAm8M,IAEAj0M,EAAA8zM,EAAAI,EACAjzM,EAAAkzM,EAAAJ,EAEA,MAAAvrP,KAAAolB,IAAAoyB,IAAA,GAAAx3C,KAAAolB,IAAAqzB,GAAA,YACA,GAAAz4C,KAAAolB,IAAAoyB,GAAAx3C,KAAAolB,IAAAqzB,GAAA,cAEA,IAAAmzM,EAAA5rP,KAAAo9M,MAAAp9M,KAAAklB,IAAAsyB,GAAAx3C,KAAAklB,IAAAuzB,GAAAz4C,KAAAolB,IAAAoyB,GAAAx3C,KAAAolB,IAAAqzB,GAAAz4C,KAAAklB,IAAAmhN,IACAwlB,EAAA7rP,KAAAg4C,MAAAh4C,KAAAolB,IAAAihN,GAAArmO,KAAAolB,IAAAoyB,GAAAx3C,KAAAolB,IAAAqzB,GAAAz4C,KAAAklB,IAAAuzB,GAAAz4C,KAAAklB,IAAAsyB,GAAAx3C,KAAAklB,IAAA0mO,IACApB,EAAAxqP,KAAAkuD,KAAAluD,KAAAolB,IAAAkyB,GAAAt3C,KAAAklB,IAAA2mO,GAAA7rP,KAAAklB,IAAAoyB,GAAAt3C,KAAAolB,IAAAymO,GAAA7rP,KAAAklB,IAAAomO,IACAQ,EAAA9rP,KAAAg4C,MAAAh4C,KAAAolB,IAAAkmO,GAAAtrP,KAAAolB,IAAAymO,GAAA7rP,KAAAklB,IAAAoyB,GAAAt3C,KAAAklB,IAAA2mO,GAAA7rP,KAAAolB,IAAAkyB,GAAAt3C,KAAAolB,IAAAolO,IACAC,EAAAlzM,EAAAu0M,EAEA,WAAAnoO,EAAA6mO,EAAA/hO,aAAAgiO,EAAAhiO,YAAA,eAkBA9E,EAAAzmB,UAAA2oO,qBAAA,SAAAC,EAAAimB,EAAApgP,GACA,KAAAm6N,aAAAniN,GAAA,UAAApO,UAAA,kCACA,KAAAw2O,aAAApoO,GAAA,UAAApO,UAAA,gCACA,IAAAo2F,OAAA/oG,IAAA+I,EAAA,OAAAoY,OAAApY,GAEAkgP,EAAA/lB,EAAAtvL,WAAAv6C,KAAA0vG,KACA2/I,EAAAxlB,EAAAnB,UAAA1oO,MAAAqoB,YACAonO,EAAA5lB,EAAAnB,UAAAonB,GAAAznO,YAEA0nO,EAAAhsP,KAAAkuD,KAAAluD,KAAAolB,IAAAymO,GAAA7rP,KAAAolB,IAAAkmO,EAAAI,IAEA,OAAAM,EAAArgJ,GAoBAhoF,EAAAzmB,UAAA8oO,qBAAA,SAAAF,EAAAimB,EAAApgP,GACA,KAAAm6N,aAAAniN,GAAA,UAAApO,UAAA,kCACA,KAAAw2O,aAAApoO,GAAA,UAAApO,UAAA,gCACA,IAAAo2F,OAAA/oG,IAAA+I,EAAA,OAAAoY,OAAApY,GAEAkgP,EAAA/lB,EAAAtvL,WAAAv6C,KAAA0vG,KACA2/I,EAAAxlB,EAAAnB,UAAA1oO,MAAAqoB,YACAonO,EAAA5lB,EAAAnB,UAAAonB,GAAAznO,YAEA0nO,EAAAhsP,KAAAkuD,KAAAluD,KAAAolB,IAAAymO,GAAA7rP,KAAAolB,IAAAkmO,EAAAI,IAEAO,EAAAjsP,KAAAo9M,KAAAp9M,KAAAklB,IAAA2mO,GAAA7rP,KAAA6hB,IAAA7hB,KAAAklB,IAAA8mO,KAEA,OAAAC,EAAAjsP,KAAA68C,KAAA78C,KAAAklB,IAAAwmO,EAAAJ,IAAA3/I,GAeAhoF,EAAAzmB,UAAAgvP,YAAA,SAAA/lN,GACA,IAAAo+L,EAAAxgN,OAAAoiB,GAAA7hB,YAEAF,EAAAnoB,KAAAooB,IAAAC,YAEA6nO,EAAAnsP,KAAAo9M,KAAAp9M,KAAA6hB,IAAA7hB,KAAAolB,IAAAm/M,GAAAvkO,KAAAklB,IAAAd,KAEA,OAAA+nO,EAAA1jO,aAaA9E,EAAAyoO,kBAAA,SAAArkJ,EAAAC,EAAAqkJ,GACA,IAAAjoO,EAAAL,OAAAsoO,GAAA/nO,YAEAgzB,EAAAywD,EAAA1jF,IAAAC,YACAizB,EAAAwwD,EAAAvjF,IAAAF,YACAg0B,EAAA0vD,EAAA3jF,IAAAC,YACAk0B,EAAAwvD,EAAAxjF,IAAAF,YAEAoC,EAAA8xB,EAAAjB,EAEAnsC,EAAApL,KAAAolB,IAAAkyB,GAAAt3C,KAAAklB,IAAAozB,GAAAt4C,KAAAklB,IAAAd,GAAApkB,KAAAolB,IAAAsB,GACArb,EAAArL,KAAAolB,IAAAkyB,GAAAt3C,KAAAklB,IAAAozB,GAAAt4C,KAAAklB,IAAAd,GAAApkB,KAAAklB,IAAAwB,GAAA1mB,KAAAklB,IAAAoyB,GAAAt3C,KAAAolB,IAAAkzB,GAAAt4C,KAAAklB,IAAAd,GACAuZ,EAAA39B,KAAAklB,IAAAoyB,GAAAt3C,KAAAklB,IAAAozB,GAAAt4C,KAAAolB,IAAAhB,GAAApkB,KAAAolB,IAAAsB,GAEA,GAAAiX,IAAAvyB,IAAAC,IAAA,YAEA,IAAAihP,EAAAtsP,KAAAg4C,OAAA3sC,EAAAD,GACAmhP,EAAAvsP,KAAAo9M,KAAAz/K,EAAA39B,KAAAgR,KAAA5F,IAAAC,MAEAmhP,EAAAj1M,EAAA+0M,EAAAC,EACAE,EAAAl1M,EAAA+0M,EAAAC,EAEA,OAAY59L,MAAA69L,EAAA/jO,YAAA,aAAAomC,MAAA49L,EAAAhkO,YAAA,eAkBZ9E,EAAAzmB,UAAAi/D,gBAAA,SAAA78D,EAAAqM,GACA,KAAArM,aAAAqkB,GAAA,UAAApO,UAAA,8BACA5J,OAAA/I,IAAA+I,EAAA,OAAAoY,OAAApY,GAIA,IAAAggG,EAAAhgG,EACA2rC,EAAAr7C,KAAAooB,IAAAC,YAAAg0B,EAAAh5C,EAAA+kB,IAAAC,YACA+lO,EAAA/xM,EAAAhB,EACA5wB,EAAA1mB,KAAA6hB,IAAAviB,EAAAklB,IAAAvoB,KAAAuoB,KAAAF,YAEAoC,EAAA1mB,KAAAsvC,KAAA5oB,GAAA,EAAA1mB,KAAAsvC,IAIA,IAAAo9M,EAAA1sP,KAAA02B,IAAA12B,KAAAimB,IAAAqyB,EAAA,EAAAt4C,KAAAsvC,GAAA,GAAAtvC,KAAAimB,IAAAqxB,EAAA,EAAAt3C,KAAAsvC,GAAA,IACAzd,EAAA7xB,KAAA6hB,IAAA6qO,GAAA,MAAArC,EAAAqC,EAAA1sP,KAAAklB,IAAAoyB,GAGAotL,EAAA1kO,KAAAgR,KAAAq5O,IAAAx4N,IAAAnL,KACA5V,EAAA4zN,EAAA/4H,EAEA,OAAA76F,GAeA6S,EAAAzmB,UAAAyvP,eAAA,SAAArtP,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,IAAA+hC,EAAAr7C,KAAAooB,IAAAC,YAAAg0B,EAAAh5C,EAAA+kB,IAAAC,YACAoC,GAAApnB,EAAAklB,IAAAvoB,KAAAuoB,KAAAF,YAEAoC,EAAA1mB,KAAAsvC,KAAA5oB,GAAA,EAAA1mB,KAAAsvC,IACA5oB,GAAA1mB,KAAAsvC,KAAA5oB,GAAA,EAAA1mB,KAAAsvC,IAEA,IAAAo9M,EAAA1sP,KAAA02B,IAAA12B,KAAAimB,IAAAqyB,EAAA,EAAAt4C,KAAAsvC,GAAA,GAAAtvC,KAAAimB,IAAAqxB,EAAA,EAAAt3C,KAAAsvC,GAAA,IAEAi1L,EAAAvkO,KAAAg4C,MAAAtxB,EAAAgmO,GAEA,OAAAnoB,EAAA97M,YAAA,UAiBA9E,EAAAzmB,UAAA0zC,sBAAA,SAAAjhC,EAAAw2B,EAAAx6B,GACAA,OAAA/I,IAAA+I,EAAA,OAAAoY,OAAApY,GAEA,IAAA+4N,EAAA3gN,OAAApU,GAAAhE,EACA2rC,EAAAr7C,KAAAooB,IAAAC,YAAAizB,EAAAt7C,KAAAuoB,IAAAF,YACAigN,EAAAxgN,OAAAoiB,GAAA7hB,YAEA+lO,EAAA3lB,EAAA1kO,KAAAklB,IAAAq/M,GACAjsL,EAAAhB,EAAA+yM,EAGArqP,KAAA6hB,IAAAy2B,GAAAt4C,KAAAsvC,GAAA,IAAAgJ,IAAA,EAAAt4C,KAAAsvC,GAAAgJ,GAAAt4C,KAAAsvC,GAAAgJ,GAEA,IAAAo0M,EAAA1sP,KAAA02B,IAAA12B,KAAAimB,IAAAqyB,EAAA,EAAAt4C,KAAAsvC,GAAA,GAAAtvC,KAAAimB,IAAAqxB,EAAA,EAAAt3C,KAAAsvC,GAAA,IACAzd,EAAA7xB,KAAA6hB,IAAA6qO,GAAA,MAAArC,EAAAqC,EAAA1sP,KAAAklB,IAAAoyB,GAEA5wB,EAAAg+M,EAAA1kO,KAAAolB,IAAAm/M,GAAA1yM,EACA2mB,EAAAjB,EAAA7wB,EAEA,WAAA/C,EAAA20B,EAAA7vB,aAAA+vB,EAAA/vB,YAAA,eAeA9E,EAAAzmB,UAAA0vP,gBAAA,SAAAttP,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAIA,IAAA+hC,EAAAr7C,KAAAooB,IAAAC,YAAAizB,EAAAt7C,KAAAuoB,IAAAF,YACAg0B,EAAAh5C,EAAA+kB,IAAAC,YAAAk0B,EAAAl5C,EAAAklB,IAAAF,YAEAtkB,KAAA6hB,IAAA22B,EAAAjB,GAAAv3C,KAAAsvC,KAAAiI,GAAA,EAAAv3C,KAAAsvC,IAEA,IAAAk7M,GAAAlzM,EAAAgB,GAAA,EACAu0M,EAAA7sP,KAAAimB,IAAAjmB,KAAAsvC,GAAA,EAAAgI,EAAA,GACAw1M,EAAA9sP,KAAAimB,IAAAjmB,KAAAsvC,GAAA,EAAAgJ,EAAA,GACAy0M,EAAA/sP,KAAAimB,IAAAjmB,KAAAsvC,GAAA,EAAAk7M,EAAA,GACAC,IAAAjyM,EAAAjB,GAAAv3C,KAAA02B,IAAAq2N,GAAAx1M,EAAAv3C,KAAA02B,IAAAo2N,GAAAt0M,EAAAx4C,KAAA02B,IAAAm2N,IAAA7sP,KAAA02B,IAAAo2N,EAAAD,GAEA58M,SAAAw6M,QAAAlzM,EAAAiB,GAAA,GAEA,IAAArgB,EAAAxU,EAAA6mO,EAAA/hO,aAAAgiO,EAAAhiO,YAAA,cAEA,OAAA0P,GAmBAxU,EAAAqjN,OAAA,SAAAtxM,EAAA/pB,GAKA,IAAAggG,OAAA/oG,IAAA+I,EAAA,OAAAoY,OAAApY,GAGA45B,EAAA7P,EAAA,GAAAolD,OAAAplD,IAAAt3B,OAAA,IACAmnC,GAAA7P,EAAA74B,KAAA64B,EAAA,IAKA,IAHA,IAAAkxM,EAAAlxM,EAAAt3B,OAAA,EAEAyzH,EAAA,EACA9yH,EAAA,EAAiBA,EAAA6nO,EAAa7nO,IAAA,CAC9B,IAAAu4C,EAAA5hB,EAAA32B,GAAAslB,IAAAC,YACAg0B,EAAA5iB,EAAA32B,EAAA,GAAAslB,IAAAC,YACAoC,GAAAgP,EAAA32B,EAAA,GAAAylB,IAAAkR,EAAA32B,GAAAylB,KAAAF,YACA2C,EAAA,EAAAjnB,KAAAg4C,MAAAh4C,KAAAimB,IAAAS,EAAA,IAAA1mB,KAAAimB,IAAAqxB,EAAA,GAAAt3C,KAAAimB,IAAAqyB,EAAA,MAAAt4C,KAAAimB,IAAAqxB,EAAA,GAAAt3C,KAAAimB,IAAAqyB,EAAA,IACAu5E,GAAA5qG,EAGA+lO,EAAAt3N,KAAAm8F,EAAA7xH,KAAA6hB,IAAAgwG,GAAA,EAAA7xH,KAAAsvC,IAEA,IAAAlL,EAAApkC,KAAA6hB,IAAAgwG,EAAAlmB,KAIA,OAFApmE,GAAA7P,EAAAl2B,MAEA4kC,EAIA,SAAA4oN,EAAAt3N,GAIA,IAFA,IAAAu3N,EAAA,EACAC,EAAAx3N,EAAA,GAAAivM,UAAAjvM,EAAA,IACA32B,EAAA,EAAqBA,EAAA22B,EAAAt3B,OAAA,EAAoBW,IAAA,CACzC,IAAAouP,EAAAz3N,EAAA32B,GAAA4lO,UAAAjvM,EAAA32B,EAAA,IACAquP,EAAA13N,EAAA32B,GAAA63C,eAAAlhB,EAAA32B,EAAA,IACAkuP,IAAAE,EAAAD,EAAA,aACAD,IAAAG,EAAAD,EAAA,aACAD,EAAAE,EAEAD,EAAAz3N,EAAA,GAAAivM,UAAAjvM,EAAA,IACAu3N,IAAAE,EAAAD,EAAA,aAEA,IAAAnmB,EAAA/mO,KAAA6hB,IAAAorO,GAAA,GACA,OAAAlmB,IAmBApjN,EAAAzmB,UAAA49E,OAAA,SAAAx7E,GACA,KAAAA,aAAAqkB,GAAA,UAAApO,UAAA,8BAEA,OAAAtZ,KAAAooB,KAAA/kB,EAAA+kB,KACApoB,KAAAuoB,KAAAllB,EAAAklB,KAcAb,EAAAzmB,UAAAmsB,SAAA,SAAAoC,EAAA6gF,GACA,OAAAvtB,EAAAwtB,MAAAtwG,KAAAooB,IAAAoH,EAAA6gF,GAAA,KAAAvtB,EAAAytB,MAAAvwG,KAAAuoB,IAAAiH,EAAA6gF,SAOA1pG,IAAAmhB,OAAA7mB,UAAAonB,YACAP,OAAA7mB,UAAAonB,UAAA,WAA6C,OAAAroB,KAAA+D,KAAAsvC,GAAA,WAI7C1sC,IAAAmhB,OAAA7mB,UAAAurB,YACA1E,OAAA7mB,UAAAurB,UAAA,WAA6C,WAAAxsB,KAAA+D,KAAAsvC,KAIbh0C,EAAAC,UAAAD,EAAAC,QAAAooB,yBCzpBhC,IAAAjiB,EAAehG,EAAQ,QAAiBgG,SACxC8uC,EAAoB90C,EAAQ,QAAS+0C,gBAsBrCn1C,EAAAC,QAAA,SAAAob,EAAAE,EAAA+nN,GAEA,IAAAjoN,EAAA,UAAAtY,MAAA,2BACA,IAAAwY,EAAA,UAAAxY,MAAA,yBAEA,IAIAgvP,EAJAC,EAAA5rP,EAAAiV,GACA42O,EAAA7rP,EAAAmV,GACAkvB,EAAA,IAAAyK,EAAA88M,EAAA,GAAAA,EAAA,IACA38M,EAAA,IAAAH,EAAA+8M,EAAA,GAAAA,EAAA,IAGAF,EAAAzuB,EAAAjuL,EAAAg8M,eAAA5mN,GACAA,EAAA4mN,eAAAh8M,GAEA,IAAA68M,EAAAH,EAAA,UAAAA,KAEA,OAAAG,gDCzCA,IAAA9oP,EAAWhJ,EAAQ,QACnB64G,EAAY74G,EAAQ,QACpB0H,EAAc1H,EAAQ,QACtBggD,EAAchgD,EAAQ,QACtBg6E,EAAeh6E,EAAQ,QACvByhC,EAAgBzhC,EAAQ,QACxB4yO,EAAkB5yO,EAAQ,QAC1ByoH,EAAkBzoH,EAAQ,QAC1Bu9C,EAAoBv9C,EAAQ,QAC5BmG,EAAAs7B,EAAAt7B,UACAkQ,EAAA3O,EAAA2O,WACAjP,EAAAq6B,EAAAr6B,YACAoM,EAAAxK,EAAAwK,YACAC,EAAAzK,EAAAyK,cACA3M,EAAAY,EAAAZ,kBAsDA,SAAAirP,EAAA3iP,EAAA4iP,GACA,IAAAzqP,EAAA,GACAuzD,EAAA+9C,IA+BA,OA7BArlG,EAAAw+O,EAAA,SAAApuP,GAMA,GAJA2D,EAAA8P,QAAA,SAAAzQ,EAAAjG,GACAiG,EAAAmE,GAAApK,IAGA4G,EAAA7E,OAIS,CAET,IAAAu2G,EAAAn+C,EAAAm+C,OAAAr1G,GAGAquP,EAAAC,EAAAtuP,EAAAq1G,GAIA1xG,IAAAtF,OAAA,SAAA2E,GAAyD,OAAAA,EAAAmE,KAAAknP,EAAAlnP,KACzD+vD,EAAAk+C,OAAAi5I,GAGAz+O,EAAA2+O,EAAAF,EAAAruP,GAAA,SAAAwL,GACA7H,EAAApG,KAAAiO,GACA0rD,EAAAp3D,OAAA0L,UAlBA7H,EAAA4qP,EAAA/iP,EAAAxL,GAAAmD,SACA+zD,EAAA5iB,KAAApxC,EAAAS,MAqBAT,EAAAS,GAWA,SAAA4qP,EAAA/iP,EAAA4iP,GACA,IAAAzqP,EAAA,GAGAkhD,EAAAtiD,EAAAiJ,GAAA,GACAs5C,EAAAviD,EAAAiJ,KAAAhJ,SAAAF,YAAAxD,OAAA,GACA,GAAA0vP,EAAA3pM,EAAAtiD,EAAA6rP,KACAI,EAAA1pM,EAAAviD,EAAA6rP,IAAA,OAAAlrP,EAAA,CAAAsI,IAGA,IAAA0rD,EAAA+9C,IACA6tC,EAAAksF,EAAAxjO,GACA0rD,EAAA5iB,KAAAwuG,GAGA,IAAAztC,EAAAn+C,EAAAm+C,OAAA+4I,GAGA,IAAA/4I,EAAAlyG,SAAArE,OAAA,OAAAoE,EAAA,CAAAsI,IAGA,IAAAijP,EAAAH,EAAAF,EAAA/4I,GAGAhmG,EAAA,CAAAw1C,GACA6pM,EAAA7+O,EAAAizI,EAAA,SAAAr/G,EAAAwzC,EAAAl6E,GACA,IAAAwS,EAAAhN,EAAA00E,GAAA,GACA03K,EAAApsP,EAAA6rP,GAGA,OAAArxP,IAAA0xP,EAAAtnP,IACAs8B,EAAAlmC,KAAAoxP,GACAhrP,EAAApG,KAAAkV,EAAAgxB,IAEA+qN,EAAAG,EAAAp/O,GAAA,CAAAo/O,GACA,CAAAA,EAAAp/O,KAIAk0B,EAAAlmC,KAAAgS,GACAk0B,IAEKp0B,GAKL,OAHAq/O,EAAA5vP,OAAA,GACA6E,EAAApG,KAAAkV,EAAAi8O,IAEAxrP,EAAAS,GAYA,SAAA2qP,EAAAtuP,EAAA2iD,GACA,IAAAA,EAAAx/C,SAAA,UAAApE,MAAA,iCAEA,OAAA4jD,EAAAx/C,SAAArE,OAAA,OAAA6jD,EAAAx/C,SAAA,GAEA,IAAAyrP,EACAt9O,EAAAC,IASA,OARA3B,EAAA+yC,EAAA,SAAAgK,GACA,IAAA75C,EAAA+xG,EAAAl4D,EAAA3sD,GACAwR,EAAAsB,EAAArD,WAAA+B,KACAA,EAAAF,IACAs9O,EAAAjiM,EACAr7C,EAAAE,KAGAo9O,EAWA,SAAAJ,EAAAr/L,EAAAC,GACA,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAtKApzD,EAAAC,QAAA,SAAAuP,EAAA4iP,GACA,IAAA5iP,EAAA,UAAAzM,MAAA,oBACA,IAAAqvP,EAAA,UAAArvP,MAAA,wBAEA,IAAA8vP,EAAArrP,EAAAgI,GACAsjP,EAAAtrP,EAAA4qP,GAEA,kBAAAS,EAAA,UAAA9vP,MAAA,2BACA,yBAAA+vP,EAAA,UAAA/vP,MAAA,0CACA,0BAAA+vP,EAAA,UAAA/vP,MAAA,2CAIA,IAAAgwP,EAAA34K,EAAAg4K,EAAA,GAEA,OAAAU,GACA,YACA,OAAAP,EAAA/iP,EAAAujP,GACA,iBACA,OAAAZ,EAAA3iP,EAAA4wC,EAAA2yM,IACA,iBACA,sBACA,cACA,mBACA,OAAAZ,EAAA3iP,EAAAmuC,EAAAnuC,EAAAujP,yCCxDA,IAAAC,EAAA5yP,EAAA,QAAA6yP,EAAA7yP,EAAAyC,EAAAmwP,GAAirBC,EAAG,qCCEprB,IAAArrP,EAAexH,EAAQ,QACvByH,EAAczH,EAAQ,QAatB,SAAA+5J,EAAA9mD,GACA,YAAA/rG,IAAA+rG,EAAAx+D,MAAAloC,MASA,SAAAumP,EAAA7/I,GACA,IACAz+F,EAAAE,EAAAD,EAAAE,EADA03C,EAAA4mD,EAAAx+D,MAGA,GAAAslH,EAAA9mD,GAAA,CAEA,IAAA8/I,EAAA1mM,EAAA9/C,MAAA,EACAiI,EAAA63C,EAAA38C,EAAAqjP,EACAr+O,EAAA23C,EAAA38C,EAAAqjP,EACAt+O,EAAAnQ,KAAAyiC,IAAAslB,EAAA18C,EAAA08C,EAAApc,MACAt7B,EAAArQ,KAAA0K,IAAAq9C,EAAA18C,EAAA08C,EAAApc,UACE,CAEF,IAAA+iN,EAAA3mM,EAAA3/C,OAAA,EACA8H,EAAAlQ,KAAAyiC,IAAAslB,EAAA38C,EAAA28C,EAAApc,MACAv7B,EAAApQ,KAAA0K,IAAAq9C,EAAA38C,EAAA28C,EAAApc,MACAx7B,EAAA43C,EAAA18C,EAAAqjP,EACAr+O,EAAA03C,EAAA18C,EAAAqjP,EAGA,OACAxmP,KAAAgI,EACA7H,IAAA8H,EACAhI,MAAAiI,EACA9H,OAAA+H,GA7CAnN,EAAAW,KAAA,UACAgH,SAAA,CACAwjD,UAAA,CACA5oD,gBAAAvC,EAAAgG,OAAAsC,aACAlF,YAAApD,EAAAgG,OAAAsC,aACA+iG,cAAA,SACAnoG,YAAA,MA2CA9K,EAAAC,QAAA4H,EAAAwD,OAAA,CACAgE,KAAA,WACA,IAEAzC,EAAAC,EAAAE,EAAAC,EAAAqmP,EAAAC,EAAArgJ,EAFAvlG,EAAA/M,KAAAuwC,OAAAxjC,IACA++C,EAAA9rD,KAAAk0C,MAEA/pC,EAAA2hD,EAAA3hD,YAwBA,GAtBA2hD,EAAAqnD,YAWAlnG,EAAA6/C,EAAApc,KACAxjC,EAAA4/C,EAAA38C,EACA/C,EAAA0/C,EAAA18C,EAAA08C,EAAA3/C,OAAA,EACAE,EAAAy/C,EAAA18C,EAAA08C,EAAA3/C,OAAA,EACAumP,EAAAxmP,EAAAD,EAAA,KACA0mP,EAAA,EACArgJ,EAAAxmD,EAAAwmD,eAAA,SAfArmG,EAAA6/C,EAAA38C,EAAA28C,EAAA9/C,MAAA,EACAE,EAAA4/C,EAAA38C,EAAA28C,EAAA9/C,MAAA,EACAI,EAAA0/C,EAAA18C,EACA/C,EAAAy/C,EAAApc,KACAgjN,EAAA,EACAC,EAAAtmP,EAAAD,EAAA,KACAkmG,EAAAxmD,EAAAwmD,eAAA,UAcAnoG,EAAA,CAEA,IAAAyoP,EAAA7uP,KAAAyiC,IAAAziC,KAAA6hB,IAAA3Z,EAAAC,GAAAnI,KAAA6hB,IAAAxZ,EAAAC,IACAlC,IAAAyoP,IAAAzoP,EACA,IAAA0oP,EAAA1oP,EAAA,EAEA2oP,EAAA7mP,GAAA,SAAAqmG,EAAAugJ,EAAAH,EAAA,GACAK,EAAA7mP,GAAA,UAAAomG,GAAAugJ,EAAAH,EAAA,GACAM,EAAA5mP,GAAA,QAAAkmG,EAAAugJ,EAAAF,EAAA,GACAM,EAAA5mP,GAAA,WAAAimG,GAAAugJ,EAAAF,EAAA,GAEAG,IAAAC,IACA3mP,EAAA4mP,EACA3mP,EAAA4mP,GAGAD,IAAAC,IACAhnP,EAAA6mP,EACA5mP,EAAA6mP,GAIAhmP,EAAAyD,YACAzD,EAAAxD,UAAAuiD,EAAAtiD,gBACAuD,EAAA3C,YAAA0hD,EAAAzhD,YACA0C,EAAA7C,UAAAC,EAKA,IAAA+oP,EAAA,CACA,CAAAjnP,EAAAI,GACA,CAAAJ,EAAAG,GACA,CAAAF,EAAAE,GACA,CAAAF,EAAAG,IAIA8mP,EAAA,gCACAC,EAAAD,EAAAnwP,QAAAsvG,EAAA,GAKA,SAAA+gJ,EAAAjzP,GACA,OAAA8yP,GAAAE,EAAAhzP,GAAA,IALA,IAAAgzP,IACAA,EAAA,GAQA,IAAAr6G,EAAAs6G,EAAA,GACAtmP,EAAA0D,OAAAsoI,EAAA,GAAAA,EAAA,IAEA,QAAAp4I,EAAA,EAAiBA,EAAA,EAAOA,IACxBo4I,EAAAs6G,EAAA1yP,GACAoM,EAAA2D,OAAAqoI,EAAA,GAAAA,EAAA,IAGAhsI,EAAA62B,OACAz5B,GACA4C,EAAA4D,UAIAxE,OAAA,WACA,IAAA2/C,EAAA9rD,KAAAk0C,MACA,OAAA4X,EAAApc,KAAAoc,EAAA18C,GAGA68C,QAAA,SAAAJ,EAAAG,GACA,IAAAC,GAAA,EAEA,GAAAjsD,KAAAk0C,MAAA,CACA,IAAAiP,EAAAovM,EAAAvyP,MACAisD,EAAAJ,GAAA1I,EAAAl3C,MAAA4/C,GAAA1I,EAAAj3C,OAAA8/C,GAAA7I,EAAA/2C,KAAA4/C,GAAA7I,EAAA92C,OAGA,OAAA4/C,GAGAC,aAAA,SAAAL,EAAAG,GACA,IAAA7gD,EAAAnL,KACA,IAAAmL,EAAA+oC,MACA,SAGA,IAAA+X,GAAA,EACA9I,EAAAovM,EAAApnP,GAQA,OALA8gD,EADAutG,EAAAruJ,GACA0gD,GAAA1I,EAAAl3C,MAAA4/C,GAAA1I,EAAAj3C,MAEA8/C,GAAA7I,EAAA/2C,KAAA4/C,GAAA7I,EAAA92C,OAGA4/C,GAGAE,SAAA,SAAAN,GACA,IAAA1I,EAAAovM,EAAAvyP,MACA,OAAA6rD,GAAA1I,EAAAl3C,MAAA4/C,GAAA1I,EAAAj3C,OAGAkgD,SAAA,SAAAJ,GACA,IAAA7I,EAAAovM,EAAAvyP,MACA,OAAAgsD,GAAA7I,EAAA/2C,KAAA4/C,GAAA7I,EAAA92C,QAGAggD,eAAA,WACA,IACAl9C,EAAAC,EADA08C,EAAA9rD,KAAAk0C,MAUA,OARAslH,EAAAx5J,OACAmP,EAAA28C,EAAA38C,EACAC,GAAA08C,EAAA18C,EAAA08C,EAAApc,MAAA,IAEAvgC,GAAA28C,EAAA38C,EAAA28C,EAAApc,MAAA,EACAtgC,EAAA08C,EAAA18C,GAGA,CAAUD,IAAAC,MAGVk9C,QAAA,WACA,IAAAR,EAAA9rD,KAAAk0C,MACA,OAAA4X,EAAA9/C,MAAAjI,KAAA6hB,IAAAkmC,EAAA18C,EAAA08C,EAAApc,OAGA0E,gBAAA,WACA,IAAA0X,EAAA9rD,KAAAk0C,MACA,OACA/kC,EAAA28C,EAAA38C,EACAC,EAAA08C,EAAA18C,yCCnNA,IAAAuE,EAAalU,EAAQ,QACrBia,EAAeja,EAAQ,QACvB4D,EAAAqW,EAAArW,MAcA,SAAA05B,EAAA1d,EAAAE,EAAAqW,GACA,IAAA09N,EAAA/zO,EAAA,GAAAF,EAAA,GACAk0O,EAAAh0O,EAAA,GAAAF,EAAA,GACA22M,EAAApgM,EAAA,GAAArW,EAAA,GACA02M,EAAArgM,EAAA,GAAArW,EAAA,GAEA,OAAAxb,KAAA68C,KAAA0yM,EAAAr9B,EAAAD,EAAAu9B,GAUA,SAAA7pL,EAAAijE,EAAAC,GACA,IAAA4mH,EAAA7mH,EAAA9mI,SAAAF,YAAAwD,IAAA,SAAAxH,GACA,OAAAA,EAAA,KAEA8xP,EAAA9mH,EAAA9mI,SAAAF,YAAAwD,IAAA,SAAAxH,GACA,OAAAA,EAAA,KAEA+xP,EAAA9mH,EAAA/mI,SAAAF,YAAAwD,IAAA,SAAAxH,GACA,OAAAA,EAAA,KAEAgyP,EAAA/mH,EAAA/mI,SAAAF,YAAAwD,IAAA,SAAAxH,GACA,OAAAA,EAAA,KAGA,OAAAoC,KAAA0K,IAAA,KAAA+kP,KAAAzvP,KAAA0K,IAAA,KAAAilP,IAAA3vP,KAAA0K,IAAA,KAAAglP,KAAA1vP,KAAA0K,IAAA,KAAAklP,IAAA5vP,KAAAyiC,IAAA,KAAAgtN,KAAAzvP,KAAAyiC,IAAA,KAAAktN,IAAA3vP,KAAAyiC,IAAA,KAAAitN,KAAA1vP,KAAAyiC,IAAA,KAAAmtN,GAYA,SAAAhqL,EAAA68H,EAAAjiE,GACA,OAAAA,EAAA1+H,SAAAF,YAAA,GAAA+Y,MAAA,SAAA/c,GACA,OAAAgS,EAAAtQ,EAAA1B,GAAA6kM,KAUA,SAAA58H,EAAA5c,EAAAC,GACA,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAGA5tD,EAAAC,QAAA,CACAy9B,mBACA2sC,kBACAC,mBACAC,uDChFA,IAAA3xD,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6Be,MAAA,CAAOxlB,GAAAskB,EAAAtkB,GAAAlB,MAAAwlB,EAAAxlB,MAAA0tB,SAAAlI,EAAAkI,SAAA48N,UAAA9kO,EAAA8kO,UAAAtH,mBAAAx9N,EAAAy9N,gBAAAl4L,YAAAvlC,EAAAwlC,oBAAAtR,QAAAl0B,EAAAk0B,UAAoL,CAAA/zB,EAAA,OAAYE,YAAA,cAAAolC,MAAA,CAAiCs/L,cAAA/kO,EAAA6D,OAAA7D,EAAA61C,MAAA71C,EAAAglO,YAAAhlO,EAAAymC,OAAAw+L,aAAiF,CAAA9kO,EAAA,OAAYE,YAAA,gBAAAa,MAAA,CAAmCo0D,MAAAt1D,EAAAs1D,QAAmB,CAAAn1D,EAAA,SAAc4lC,IAAA,QAAA1lC,YAAA,eAAAolC,MAAA,CAA8Cy/L,MAAAllO,EAAAklO,MAAAC,YAAAnlO,EAAAolO,UAAAnpK,SAAAj8D,EAAAi8D,UAAqE/6D,MAAA,CAAQxlB,GAAAskB,EAAAtkB,GAAArE,KAAA2oB,EAAA3oB,KAAAq9G,SAAA10F,EAAA00F,UAAA10F,EAAAgmC,kBAAAhmC,EAAA00F,UAAA10F,EAAAgmC,SAAA5uD,KAAA,OAAAiuP,mBAAArlO,EAAAtkB,GAAA,aAAAu1C,YAAAjxB,EAAAixB,aAAmMgV,SAAA,CAAW9uD,MAAA6oB,EAAAgvL,cAAyBntL,GAAA,CAAKia,MAAA,SAAAkB,GAAyB,OAAAhd,EAAAslO,QAAAtoN,EAAApzB,OAAAzS,QAAwCouP,KAAAvlO,EAAAwlO,cAAwBxlO,EAAA,YAAAG,EAAA,oBAA2Ce,MAAA,CAAOkc,OAAApd,EAAA7oB,MAAAiG,MAAA,OAAiCykB,GAAA,CAAKC,MAAA9B,EAAAmgC,SAAmBhgC,EAAA,OAAYE,YAAA,QAAmB,CAAAL,EAAAoD,GAAA,gBAAApD,EAAA,MAAAG,EAAA,QAAgDE,YAAA,UAAAa,MAAA,CAA6BxlB,GAAAskB,EAAAtkB,GAAA,eAA8B,CAAAskB,EAAAM,GAAAN,EAAAO,GAAAP,EAAAylO,YAAAzlO,EAAAgB,KAAAhB,EAAA6D,OAAA7D,EAAA61C,MAAA71C,EAAAglO,WAAA7kO,EAAA,QAA8FE,YAAA,qBAAgC,CAAAL,EAAA,WAAAG,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAwD,cAAA,SAAAjE,EAAAgB,KAAAhB,EAAA61C,MAAA,MAAA71C,EAAA61C,KAAA11C,EAAA,QAAAH,EAAAM,GAAAN,EAAAO,GAAAP,EAAAS,MAAAwD,cAAAjE,EAAA61C,UAAA71C,EAAAgB,KAAAhB,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAA6D,OAAA,YAAA7D,EAAAgB,KAAAhB,EAAAoD,GAAA,kBAAApD,EAAAoD,GAAA,cAA6RojC,KAAA,UAAexmC,EAAAymC,OAAA,YAAAzmC,EAAAoD,GAAA,oBAAsDojC,KAAA,gBAAqBxmC,EAAAgB,MAAA,IACzqDoB,EAAA,+GC0DA4gG,EAAA,CACAqC,UAAA,mBACAqgI,iBAAA,kCACAlqI,gBAAA,iCAGA90D,EAAA,EAEAi/L,EAAA,CACAphO,WAAA,CACAqiC,kBAAA,KACAs8D,mBAAA,MAEA3/F,OAAA,CACAqiO,EAAA,KACAC,EAAA,KACAv8O,OAAAi8G,EAAA,KAAAj8G,CAAA05G,GACAtkC,EAAA,KACAC,EAAA,MAEA90E,MAAA,CACA1S,MAAA6hB,OACA0H,OAAA9C,OACAqzB,YAAArzB,OACAkoO,QAAAzoN,QACAxZ,MAAAjG,OACAknO,UAAAlnO,OACA2nC,YAAA3nC,OACA82F,SAAAr3E,QACA2oB,SAAA3oB,QACAhmC,KAAAumB,OACAmoO,gBAAA1oN,QACA4+C,SAAA5+C,QACAs9E,WAAA3hG,OACAgtO,YAAA3oN,QACA+lE,QAAA/lE,QACA4oN,qBAAA5oN,QACAw4B,KAAA,CACAz+D,KAAAwmB,OACA+E,QAAA,MAEA2yD,MAAA,CACAl+E,KAAAwmB,OACA+E,QAAA,KAGA7oB,KAtCA,WAuCA,OACA4B,GAAA,iBAAAkK,OAAA8gD,KACAw/L,eAAA,KACAC,eAAA,KACAf,UAAA,GACAF,OAAA,EACAt/L,OAAA,EAEA0/L,QAAAh8O,OAAAy9C,EAAA,YAAAz9C,CAAApY,KAAAk1P,iBAAA,OAGAxjO,SAAA,CACAoiO,WADA,WAEA,OAAA9zP,KAAAkyG,SAAA,MAAAlyG,KAAA2kE,MAAA3kE,KAAA+0P,sBAEAzgM,oBAJA,WAKA,IAAAt0D,KAAA60P,gBAAA,CAGA,IAAAM,EAAA,CAAAn1P,KAAAq0D,YAAAr0D,KAAA6qH,iBACA,OAAAsqI,EAAAzzP,OAAA,SAAAyN,GAAA,OAAAA,MAEAimP,kBAXA,WAYA,OAAAp1P,KAAAi1P,iBAAAj1P,KAAAiG,QAAAoJ,MAAArP,KAAAiG,QAEAovP,eAdA,WAeA,IAAAC,EAAAt1P,KAAA8zP,aAAA9zP,KAAA+0P,qBAAA,IAAA/0P,KAAAiG,MAAAjG,KAAAiG,MACA,OAAAjG,KAAAiG,OAAA,IAAAjG,KAAAiG,MACAjG,KAAAuvB,MAAAC,OAAA8lO,EAAAt1P,KAAA40P,QACA,KACA50P,KAAAwvB,QACA,IAEAsuL,aAtBA,WAuBA,OAAA99M,KAAAo1P,kBACAp1P,KAAAq1P,eACAr1P,KAAAk0P,WAEAqB,iBA3BA,WA4BA,GAAAv1P,KAAA40P,QACA,SAEA,OAAA50P,KAAAwvB,QACA,kBACA,sBACA,kBACA,SACA,mBAGAgmO,gBAvCA,WAwCA,OAAAx1P,KAAAg1P,iBAAAh1P,KAAAi1P,gBAEA79N,MA1CA,WA4CA,GAAAp3B,KAAA00D,MAAA,CAIA,IAAAw2D,EAAA,GAqBA,OAnBAlrH,KAAAg3B,WACAh3B,KAAAiG,OAAA,IAAAjG,KAAAiG,MAGAilH,EAAAl0F,SAAA,UAFAk0F,EAAAl0F,SAAA,SAMA,OAAAh3B,KAAAiG,OAAAoJ,MAAArP,KAAAiG,SACAilH,EAAA52E,SAAA,SAGAt0C,KAAAw1P,kBACAtqI,EAAAuqI,UAAA,WAGAvqI,EAAAwqI,MAAA11P,KAAAorH,UAGAprH,KAAAqrH,cAAAH,IAAA,YAEAloE,QAvEA,WAwEA,IAAAhqC,EAAAhZ,KAAAo3B,OAAA,UAEAu+N,EAAA,GACAC,EAAA,CACA57K,MAAAh6E,KAAAsqH,gBAAAS,cACAjtB,QAAA99F,KAAAm0H,UAAA0hI,SAAA,IAAA71P,KAAAi1P,gBAGA5lP,MAAArP,KAAAiG,SACA0vP,EAAA37K,MAAAh6E,KAAA40P,QACA50P,KAAAw0P,iBAAAsB,aACA91P,KAAAw0P,iBAAAuB,qBAGA,IAAAC,EAAA59O,OAAA6b,OAAA2hO,EAAA51P,KAAAirH,aAAA0qI,GACA,OAAAK,EAAAh9O,KAGAub,QAAA,CACA+/N,WADA,WACA,IAAAx5O,EAAA9a,KACA,GAAAA,KAAA+1D,MAAAnrB,MAAA,CAEA,IAAAqrN,EAAAj2P,KAAAqgD,QAAArgD,KAAA+1D,MAAAnrB,MAAA3kC,OACAjG,KAAAgsC,MAAA,QAAAiqN,GACAj2P,KAAAgsC,MAAA,OAAAiqN,GAEAj2P,KAAAg0P,OAAA,EACA94C,WAAA,WACApgM,EAAAk6O,eAAA,KACAl6O,EAAAm6O,eAAA,KACAn6O,EAAAk5O,OAAA,GACA,OAEA3zM,QAfA,SAeAp6C,GAaA,OAZAjG,KAAAk0P,UAAAjuP,EAEA,KAAAA,GACAjG,KAAAg1P,eAAA,KACAh1P,KAAAi1P,eAAA,OAEAj1P,KAAAg1P,eAAAh1P,KAAA8zP,aAAA9zP,KAAA+0P,qBACA/0P,KAAAuvB,MAAA9C,MAAAxmB,EAAA,cACAjG,KAAAuvB,MAAA9C,MAAAxmB,EAAA,UACAjG,KAAAi1P,eAAAp3N,WAAA79B,KAAAg1P,eAAAh2O,QAAAhf,KAAAu1P,oBAGAv1P,KAAAi1P,gBAEAC,iBA9BA,SA8BAjvP,GACAjG,KAAA00D,OAAA,EACA10D,KAAAgsC,MAAA,QAAAhsC,KAAAqgD,QAAAp6C,KAEAgpD,MAlCA,WAmCAjvD,KAAAk0P,UAAA,GACAl0P,KAAAgsC,MAAA,cACAhsC,KAAA+1D,MAAAnrB,MAAA+hF,UAGAj1F,MAAA,CACAzxB,MADA,WAEA8b,SAAA6gO,gBAAA5iP,KAAA+1D,MAAAnrB,QAEA5qC,KAAAk0P,UAAAl0P,KAAAq1P,mBC3PmYa,EAAA,0BCQnYpkO,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd89O,EACAj+O,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,6CCff,SAAA0a,EAAA3W,GACA71B,KAAAm2P,MAAA,IAAAt0P,MAAAg0B,GACA71B,KAAA4uC,MAAA,IAAA/sC,MAAAg0B,GAEA,QAAAl1B,EAAA,EAAcA,EAAAk1B,IAASl1B,EACvBX,KAAAm2P,MAAAx1P,KACAX,KAAA4uC,MAAAjuC,GAAA,EARAtB,EAAAC,QAAAktC,EAYA,IAAAzqC,EAAAyqC,EAAAvrC,UAEAmX,OAAAC,eAAAtW,EAAA,UACAuW,IAAA,WACA,OAAAtY,KAAAm2P,MAAAh0P,UAIAJ,EAAAq0P,QAAA,WACA,IAAAl0P,EAAAlC,KAAAm2P,MAAAh0P,OAGA,OAFAnC,KAAAm2P,MAAAv1P,KAAAsB,GACAlC,KAAA4uC,MAAAhuC,KAAA,GACAsB,GAGAH,EAAA8sC,KAAA,SAAA1/B,GACA,IAAAk0C,EAAAl0C,EACAgnP,EAAAn2P,KAAAm2P,MACA,MAAAA,EAAAhnP,OACAA,EAAAgnP,EAAAhnP,GAEA,MAAAgnP,EAAA9yM,KAAAl0C,EAAA,CACA,IAAAC,EAAA+mP,EAAA9yM,GACA8yM,EAAA9yM,GAAAl0C,EACAk0C,EAAAj0C,EAEA,OAAAD,GAGApN,EAAA2sC,KAAA,SAAAv/B,EAAAC,GACA,IAAAurI,EAAA36I,KAAA6uC,KAAA1/B,GACAsrI,EAAAz6I,KAAA6uC,KAAAz/B,GACA,GAAAurI,IAAAF,EAAA,CAGA,IAAA7rG,EAAA5uC,KAAA4uC,MACAunN,EAAAn2P,KAAAm2P,MACAE,EAAAznN,EAAA+rG,GACA27G,EAAA1nN,EAAA6rG,GACA47G,EAAAC,EACAH,EAAAx7G,GAAAF,EACG67G,EAAAD,EACHF,EAAA17G,GAAAE,GAEAw7G,EAAA17G,GAAAE,IACA/rG,EAAA+rG,4BC3DA,IAAAp0I,EAAwB9G,EAAQ,QAAe8G,kBAC/C0M,EAAkBxT,EAAQ,QAAYwT,YACtCtB,EAAgBlS,EAAQ,QAAYkS,UACpCtO,EAAY5D,EAAQ,QAAe4D,MAkCnChE,EAAAC,QAAA,SAAAoH,GACA,IAAA1E,EAAA,GAYA,MAXA,sBAAA0E,EAAAR,KACA+M,EAAAvM,EAAA,SAAAL,GACAsL,EAAAtL,EAAA,SAAAgN,GACArR,EAAApB,KAAAyC,EAAAgQ,EAAAhN,EAAAyM,iBAIAnB,EAAAjL,EAAA,SAAA2M,GACArR,EAAApB,KAAAyC,EAAAgQ,EAAA3M,EAAAoM,eAGAvM,EAAAvE,uCChDA,IAAAiF,EAAexH,EAAQ,QAEvBwH,EAAAW,KAAA,WACAq6B,MAAA,CACAC,KAAA,UAGAC,OAAA,CACAC,MAAA,EACA53B,GAAA,WACAtE,KAAA,SACA6B,SAAA,WAEAs6B,MAAA,EACA73B,GAAA,WACAtE,KAAA,SACA6B,SAAA,UAIAg6B,WAAA,EAEA0mE,SAAA,CACAC,UAAA,CACAtkB,MAAA,WACA,UAEA96E,MAAA,SAAAuD,GACA,UAAAA,EAAA4lG,OAAA,KAAA5lG,EAAA0lG,OAAA,SAMAlzG,EAAAC,QAAA,SAAAgjC,GAGAA,EAAAG,YAAA8zN,QAAAj0N,EAAAG,YAAA5zB,gDCvCe,IAAA2nP,EAAA,SAAArnP,GACf,OAAAA,GCCe2lN,EAAA,SAAA3pK,GACf,SAAAA,EAAA,OAAgCqrM,EAChC,IAAAnzM,EACAvoB,EACAsvB,EAAAe,EAAAz1B,MAAA,GACA20B,EAAAc,EAAAz1B,MAAA,GACA6G,EAAA4uB,EAAAH,UAAA,GACAxuB,EAAA2uB,EAAAH,UAAA,GACA,gBAAApgB,EAAAjqC,GACAA,IAAA0iD,EAAAvoB,EAAA,GACA,IAAAl4B,EAAA,EAAAV,EAAA0oC,EAAAzoC,OAAA+nD,EAAA,IAAAroD,MAAAK,GACAgoD,EAAA,IAAA7G,GAAAzY,EAAA,IAAAwf,EAAA7tB,EACA2tB,EAAA,IAAApvB,GAAA8P,EAAA,IAAAyf,EAAA7tB,EACA,MAAA55B,EAAAV,EAAAgoD,EAAAtnD,GAAAgoC,EAAAhoC,OACA,OAAAsnD,ICde9pC,EAAA,SAAAylC,GACf,IAAmB7sC,EAAnB7X,EAAU2zN,EAASjvK,EAAAsF,WACnB9H,EAAAzuC,IAAAkmB,EAAAuoB,EAAApvC,GAAAovC,EAAAnvC,GAAAmvC,EAEA,SAAAozM,EAAAv6N,GACAA,EAAA/6B,EAAA+6B,GACAA,EAAA,GAAAmnB,MAAAnnB,EAAA,IACAA,EAAA,GAAAjoB,MAAAioB,EAAA,IACAA,EAAA,GAAApB,MAAAoB,EAAA,IACAA,EAAA,GAAAhoB,MAAAgoB,EAAA,IAGA,SAAAw6N,EAAA50P,GACA,OAAAA,EAAAoE,MACA,yBAAApE,EAAA8E,WAAAkQ,QAAA4/O,GAAoE,MACpE,YAAAD,EAAA30P,EAAA6D,aAA6C,MAC7C,iBAAA7D,EAAA6D,YAAAmR,QAAA2/O,GAA0D,OAe1D,IAAAz9O,KAXA6sC,EAAAhC,KAAA/sC,QAAA,SAAAmxC,GACA,IAAA/rB,EAAAv7B,GAAA,EAAAuB,EAAA+lD,EAAA9lD,OACA,QAAAxB,EAAAuB,EACAg6B,EAAA/6B,EAAA8mD,EAAAtnD,MACAu7B,EAAA,GAAAmnB,MAAAnnB,EAAA,IACAA,EAAA,GAAAjoB,MAAAioB,EAAA,IACAA,EAAA,GAAApB,MAAAoB,EAAA,IACAA,EAAA,GAAAhoB,MAAAgoB,EAAA,MAIA2pB,EAAAzC,QACAszM,EAAA7wM,EAAAzC,QAAApqC,IAGA,OAAAqqC,EAAAvoB,EAAA7mB,EAAAC,ICrCejM,EAAA,SAAAonC,EAAAntC,GACf,IAAAf,EAAAyB,EAAAysC,EAAAltC,OAAAxB,EAAAiC,EAAAV,EACA,MAAAvB,IAAAiC,EAAAzB,EAAAkuC,EAAA1uC,GAAA0uC,EAAA1uC,KAAA0uC,EAAAzsC,GAAAysC,EAAAzsC,GAAAzB,GCCekF,EAAA,SAAAw/C,EAAA/jD,GACf,6BAAAA,EAAAoE,KACA,CAASA,KAAA,oBAAAM,SAAA1E,EAAA8E,WAAAuC,IAAA,SAAArH,GAAmE,OAAQ60P,EAAO9wM,EAAA/jD,MACnF60P,EAAO9wM,EAAA/jD,IAGR,SAAS60P,EAAO9wM,EAAA/jD,GACvB,IAAA0I,EAAA1I,EAAA0I,GACA4V,EAAAte,EAAAse,KACAtN,EAAA,MAAAhR,EAAAgR,WAAA,GAA4ChR,EAAAgR,WAC5CjN,EAAiB+wP,EAAM/wM,EAAA/jD,GACvB,aAAA0I,GAAA,MAAA4V,EAAA,CAAuCla,KAAA,UAAA4M,aAAAjN,YACvC,MAAAua,EAAA,CAAwBla,KAAA,UAAAsE,KAAAsI,aAAAjN,YACxB,CAASK,KAAA,UAAAsE,KAAA4V,OAAAtN,aAAAjN,YAGF,SAAS+wP,EAAM/wM,EAAA/jD,GACtB,IAAAo7J,EAAuB43D,EAASjvK,EAAAsF,WAChCtH,EAAAgC,EAAAhC,KAEA,SAAAoE,EAAAtnD,EAAAqB,GACAA,EAAAG,QAAAH,EAAAuB,MACA,QAAAjD,EAAAujD,EAAAljD,EAAA,GAAAA,KAAAoC,EAAA,EAAAb,EAAA5B,EAAA6B,OAA2DY,EAAAb,IAAOa,EAClEf,EAAApB,KAAAs8J,EAAA58J,EAAAyC,OAEApC,EAAA,GAAesH,EAAOjG,EAAAE,GAGtB,SAAAmB,EAAA64B,GACA,OAAAghI,EAAAhhI,GAGA,SAAArtB,EAAAg1C,GAEA,IADA,IAAA7hD,EAAA,GACArB,EAAA,EAAAuB,EAAA2hD,EAAA1hD,OAAoCxB,EAAAuB,IAAOvB,EAAAsnD,EAAApE,EAAAljD,GAAAqB,GAE3C,OADAA,EAAAG,OAAA,GAAAH,EAAApB,KAAAoB,EAAA,IACAA,EAGA,SAAAyV,EAAAosC,GACA,IAAA7hD,EAAA6M,EAAAg1C,GACA,MAAA7hD,EAAAG,OAAA,EAAAH,EAAApB,KAAAoB,EAAA,IACA,OAAAA,EAGA,SAAAy3B,EAAAoqB,GACA,OAAAA,EAAA16C,IAAAsO,GAGA,SAAA5R,EAAA/D,GACA,IAAA6D,EAAAO,EAAApE,EAAAoE,KACA,OAAAA,GACA,gCAAyCA,OAAAU,WAAA9E,EAAA8E,WAAAuC,IAAAtD,IACzC,YAAAF,EAAAtC,EAAAvB,EAAA6D,aAAuD,MACvD,iBAAAA,EAAA7D,EAAA6D,YAAAwD,IAAA9F,GAAgE,MAChE,iBAAAsC,EAAAkJ,EAAA/M,EAAA+hD,MAAoD,MACpD,sBAAAl+C,EAAA7D,EAAA+hD,KAAA16C,IAAA0F,GAA6D,MAC7D,cAAAlJ,EAAA8zB,EAAA33B,EAAA+hD,MAAoD,MACpD,mBAAAl+C,EAAA7D,EAAA+hD,KAAA16C,IAAAswB,GAA6D,MAC7D,oBAEA,OAAYvzB,OAAAP,eAGZ,OAAAE,EAAA/D,GCnEe,IAAA+0P,EAAA,SAAAhxM,EAAAhC,GACf,IAAAizM,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,EAAA,GACAC,GAAA,EA4CA,SAAA7uI,EAAA1nH,GACA,IAAA0e,EAAA4oC,EAAApC,EAAAhC,KAAAljD,EAAA,GAAAA,KAAAy8H,EAAAn1E,EAAA,GAGA,OAFApC,EAAAsF,WAAA9rC,EAAA,MAAA4oC,EAAAnxC,QAAA,SAAAu5F,GAAmEhxF,EAAA,IAAAgxF,EAAA,GAAAhxF,EAAA,IAAAgxF,EAAA,MACnEhxF,EAAA4oC,IAAA9lD,OAAA,GACAxB,EAAA,GAAA0e,EAAA+9G,GAAA,CAAAA,EAAA/9G,GAGA,SAAA83O,EAAAH,EAAAD,GACA,QAAAh0P,KAAAi0P,EAAA,CACA,IAAAxiP,EAAAwiP,EAAAj0P,UACAg0P,EAAAviP,EAAAkG,cACAlG,EAAAkG,aACAlG,EAAAoG,IACApG,EAAAsC,QAAA,SAAAnW,GAA6Bm2P,EAAAn2P,EAAA,GAAAA,KAAA,IAC7Bs2P,EAAAr2P,KAAA4T,IAQA,OA/DAqvC,EAAA/sC,QAAA,SAAAnW,EAAAiC,GACA,IAAAzB,EAAA8mD,EAAApC,EAAAhC,KAAAljD,EAAA,GAAAA,KACAsnD,EAAA9lD,OAAA,IAAA8lD,EAAA,QAAAA,EAAA,QACA9mD,EAAA0iD,IAAAqzM,GAAArzM,EAAAqzM,GAAAv2P,EAAAkjD,EAAAjhD,GAAAzB,KAIA0iD,EAAA/sC,QAAA,SAAAnW,GACA,IAGA6T,EAAA1C,EAHA1J,EAAAigH,EAAA1nH,GACA+Z,EAAAtS,EAAA,GACAwS,EAAAxS,EAAA,GAGA,GAAAoM,EAAAwiP,EAAAt8O,GAIA,UAHAs8O,EAAAxiP,EAAAoG,KACApG,EAAA5T,KAAAD,GACA6T,EAAAoG,MACA9I,EAAAilP,EAAAn8O,GAAA,QACAm8O,EAAAjlP,EAAA4I,OACA,IAAA08O,EAAAtlP,IAAA0C,MAAAE,OAAA5C,GACAilP,EAAAK,EAAA18O,MAAAlG,EAAAkG,OAAAs8O,EAAAI,EAAAx8O,IAAA9I,EAAA8I,KAAAw8O,OAEAL,EAAAviP,EAAAkG,OAAAs8O,EAAAxiP,EAAAoG,KAAApG,OAEK,GAAAA,EAAAuiP,EAAAn8O,GAIL,UAHAm8O,EAAAviP,EAAAkG,OACAlG,EAAA8nB,QAAA37B,GACA6T,EAAAkG,QACA5I,EAAAklP,EAAAt8O,GAAA,QACAs8O,EAAAllP,EAAA8I,KACA,IAAAy8O,EAAAvlP,IAAA0C,IAAA1C,EAAA4C,OAAAF,GACAuiP,EAAAM,EAAA38O,MAAA5I,EAAA4I,OAAAs8O,EAAAK,EAAAz8O,IAAApG,EAAAoG,KAAAy8O,OAEAN,EAAAviP,EAAAkG,OAAAs8O,EAAAxiP,EAAAoG,KAAApG,OAGAA,EAAA,CAAA7T,GACAo2P,EAAAviP,EAAAkG,SAAAs8O,EAAAxiP,EAAAoG,OAAApG,IAsBA2iP,EAAAH,EAAAD,GACAI,EAAAJ,EAAAC,GACAnzM,EAAA/sC,QAAA,SAAAnW,GAA4Bm2P,EAAAn2P,EAAA,GAAAA,MAAAs2P,EAAAr2P,KAAA,CAAAD,MAE5Bs2P,GCpEeK,EAAA,SAAAzxM,GACf,OAAS+wM,EAAM/wM,EAAA0xM,EAAAh1P,MAAAvC,KAAA4vC,aAGR,SAAA2nN,EAAA1xM,EAAAhW,EAAAnuC,GACP,IAAAmiD,EAAAljD,EAAAuB,EACA,GAAA0tC,UAAAztC,OAAA,EAAA0hD,EAAA2zM,EAAA3xM,EAAAhW,EAAAnuC,QACA,IAAAf,EAAA,EAAAkjD,EAAA,IAAAhiD,MAAAK,EAAA2jD,EAAAhC,KAAA1hD,QAA8DxB,EAAAuB,IAAOvB,EAAAkjD,EAAAljD,KACrE,OAAUuF,KAAA,kBAAA29C,KAA+BgzM,EAAMhxM,EAAAhC,IAG/C,SAAA2zM,EAAA3xM,EAAAhW,EAAAnuC,GACA,IAEAoF,EAFA+8C,EAAA,GACA4zM,EAAA,GAGA,SAAAC,EAAA/2P,GACA,IAAAiC,EAAAjC,EAAA,GAAAA,KACA82P,EAAA70P,KAAA60P,EAAA70P,GAAA,KAAAhC,KAAA,CAAkDD,IAAAmR,EAAAhL,IAGlD,SAAA6wP,EAAA9zM,GACAA,EAAA/sC,QAAA4gP,GAGA,SAAAE,EAAA/zM,GACAA,EAAA/sC,QAAA6gP,GAGA,SAAAE,EAAAh0M,GACAA,EAAA/sC,QAAA8gP,GAGA,SAAA/xP,EAAA/D,GACA,OAAAgF,EAAAhF,IAAAoE,MACA,yBAAApE,EAAA8E,WAAAkQ,QAAAjR,GAAgE,MAChE,iBAAA8xP,EAAA71P,EAAA+hD,MAA0C,MAC1C,oCAAA+zM,EAAA91P,EAAA+hD,MAA+D,MAC/D,mBAAAg0M,EAAA/1P,EAAA+hD,MAA4C,OAU5C,OANAh+C,EAAAgqC,GAEA4nN,EAAA3gP,QAAA,MAAApV,EACA,SAAA4hF,GAAyBz/B,EAAAjjD,KAAA0iF,EAAA,GAAA3iF,IACzB,SAAA2iF,GAAyB5hF,EAAA4hF,EAAA,GAAAxxE,EAAAwxE,IAAAnhF,OAAA,GAAA2P,IAAA+xC,EAAAjjD,KAAA0iF,EAAA,GAAA3iF,KAEzBkjD,EChDA,SAAAi0M,EAAArgP,GACA,IAAAnX,EAAAK,GAAA,EAAAuB,EAAAuV,EAAAtV,OAAA5B,EAAAkX,EAAAvV,EAAA,GAAAmkC,EAAA,EACA,QAAA1lC,EAAAuB,EAAA5B,EAAAC,IAAAkX,EAAA9W,GAAA0lC,GAAA/lC,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACA,OAAAwD,KAAA6hB,IAAAygB,GAGe,IAAA5e,EAAA,SAAAo+B,GACf,OAAS+wM,EAAM/wM,EAAAkyM,EAAAx1P,MAAAvC,KAAA4vC,aAGR,SAAAmoN,EAAAlyM,EAAAzC,GACP,IAAA40M,EAAA,GACA1qM,EAAA,GACA2qD,EAAA,GAIA,SAAApyG,EAAA/D,GACA,OAAAA,EAAAoE,MACA,yBAAApE,EAAA8E,WAAAkQ,QAAAjR,GAAgE,MAChE,cAAA0jD,EAAAznD,EAAA+hD,MAAsC,MACtC,mBAAA/hD,EAAA+hD,KAAA/sC,QAAAyyC,GAAmD,OAInD,SAAAA,EAAA9vB,GACAA,EAAA3iB,QAAA,SAAAW,GACAA,EAAAX,QAAA,SAAAmxC,IACA+vM,EAAA/vM,IAAA,GAAAA,OAAA+vM,EAAA/vM,GAAA,KAAArnD,KAAA64B,OAGA6zB,EAAA1sD,KAAA64B,GAGA,SAAA4M,EAAA5uB,GACA,OAAAqgP,EAA0BlB,EAAM/wM,EAAA,CAAY3/C,KAAA,UAAA29C,KAAA,CAAApsC,KAA8B9R,YAAA,IA6B1E,OAjDAy9C,EAAAtsC,QAAAjR,GAuBAynD,EAAAx2C,QAAA,SAAA2iB,GACA,IAAAA,EAAAw8F,EAAA,CACA,IAAAnN,EAAA,GACAmvI,EAAA,CAAAx+N,GACAA,EAAAw8F,EAAA,EACAhe,EAAAr3G,KAAAkoH,GACA,MAAArvF,EAAAw+N,EAAA10P,MACAulH,EAAAloH,KAAA64B,GACAA,EAAA3iB,QAAA,SAAAW,GACAA,EAAAX,QAAA,SAAAmxC,GACA+vM,EAAA/vM,EAAA,GAAAA,KAAAnxC,QAAA,SAAA2iB,GACAA,EAAAw8F,IACAx8F,EAAAw8F,EAAA,EACAgiI,EAAAr3P,KAAA64B,aASA6zB,EAAAx2C,QAAA,SAAA2iB,UACAA,EAAAw8F,IAGA,CACA/vH,KAAA,eACA29C,KAAAo0D,EAAA9uG,IAAA,SAAAmkD,GACA,IAAAprD,EAAA2hD,EAAA,GAmBA,GAhBAyJ,EAAAx2C,QAAA,SAAA2iB,GACAA,EAAA3iB,QAAA,SAAAW,GACAA,EAAAX,QAAA,SAAAmxC,GACA+vM,EAAA/vM,EAAA,GAAAA,KAAA9lD,OAAA,GACA0hD,EAAAjjD,KAAAqnD,SAOApE,EAAagzM,EAAMhxM,EAAAhC,IAKnB3hD,EAAA2hD,EAAA1hD,QAAA,EACA,QAAAmxI,EAAAnyI,EAAAR,EAAA,EAAAoC,EAAAsjC,EAAAwd,EAAA,IAAiDljD,EAAAuB,IAAOvB,GACxD2yI,EAAAjtG,EAAAwd,EAAAljD,KAAAoC,IACA5B,EAAA0iD,EAAA,GAAAA,EAAA,GAAAA,EAAAljD,GAAAkjD,EAAAljD,GAAAQ,EAAA4B,EAAAuwI,GAKA,OAAAzvF,KCjGe,IAAAq0M,EAAA,SAAA53P,EAAA6O,GACf,IAAAq7B,EAAA,EAAAC,EAAAnqC,EAAA6B,OACA,MAAAqoC,EAAAC,EAAA,CACA,IAAAkD,EAAAnD,EAAAC,IAAA,EACAnqC,EAAAqtC,GAAAx+B,EAAAq7B,EAAAmD,EAAA,EACAlD,EAAAkD,EAEA,OAAAnD,GCLe2tN,EAAA,SAAA/0M,GACf,IAAAg1M,EAAA,GACAH,EAAA70M,EAAAj6C,IAAA,WAA0C,WAE1C,SAAA0F,EAAAg1C,EAAAljD,GACAkjD,EAAA/sC,QAAA,SAAAxW,GACAA,EAAA,IAAAA,MACA,IAAAwB,EAAAs2P,EAAA93P,GACAwB,IAAAlB,KAAAD,GACAy3P,EAAA93P,GAAA,CAAAK,KAIA,SAAA84B,EAAAoqB,EAAAljD,GACAkjD,EAAA/sC,QAAA,SAAAmxC,GAAgCp5C,EAAAo5C,EAAAtnD,KAGhC,SAAAkF,EAAA/D,EAAAnB,GACA,uBAAAmB,EAAAoE,KAAApE,EAAA8E,WAAAkQ,QAAA,SAAAhV,GAA2E+D,EAAA/D,EAAAnB,KAC3EmB,EAAAoE,QAAAmyP,KAAAv2P,EAAAoE,MAAApE,EAAA+hD,KAAAljD,GAGA,IAAA03P,EAAA,CACA10M,WAAA90C,EACAi1C,gBAAArqB,EACAsqB,QAAAtqB,EACAuqB,aAAA,SAAAH,EAAAljD,GAAqCkjD,EAAA/sC,QAAA,SAAAmxC,GAA6BxuB,EAAAwuB,EAAAtnD,OAKlE,QAAAA,KAFAyiD,EAAAtsC,QAAAjR,GAEAuyP,EACA,QAAAlyM,EAAAkyM,EAAAz3P,GAAA88B,EAAAyoB,EAAA/jD,OAAAS,EAAA,EAAkEA,EAAA66B,IAAO76B,EACzE,QAAAG,EAAAH,EAAA,EAAyBG,EAAA06B,IAAO16B,EAAA,CAChC,IAAAb,EAAAo2P,EAAApyM,EAAAtjD,GAAA21P,EAAAryM,EAAAnjD,IACAb,EAAA+1P,EAAAK,IAAA33P,EAAoCu3P,EAAMh2P,EAAAq2P,SAAAr2P,EAAAymC,OAAAhoC,EAAA,EAAA43P,IAC1Cr2P,EAAA+1P,EAAAM,IAAA53P,EAAoCu3P,EAAMh2P,EAAAo2P,SAAAp2P,EAAAymC,OAAAhoC,EAAA,EAAA23P,GAK1C,OAAAL,GCzCeO,EAAA,SAAArtM,GACf,SAAAA,EAAA,OAAgCqrM,EAChC,IAAAnzM,EACAvoB,EACAsvB,EAAAe,EAAAz1B,MAAA,GACA20B,EAAAc,EAAAz1B,MAAA,GACA6G,EAAA4uB,EAAAH,UAAA,GACAxuB,EAAA2uB,EAAAH,UAAA,GACA,gBAAApgB,EAAAjqC,GACAA,IAAA0iD,EAAAvoB,EAAA,GACA,IAAAl4B,EAAA,EACAV,EAAA0oC,EAAAzoC,OACA+nD,EAAA,IAAAroD,MAAAK,GACA+R,EAAAlQ,KAAAkjB,OAAA2jB,EAAA,GAAArO,GAAA6tB,GACAl2C,EAAAnQ,KAAAkjB,OAAA2jB,EAAA,GAAApO,GAAA6tB,GACAH,EAAA,GAAAj2C,EAAAovC,IAAApvC,EACAi2C,EAAA,GAAAh2C,EAAA4mB,IAAA5mB,EACA,MAAAtR,EAAAV,EAAAgoD,EAAAtnD,GAAAgoC,EAAAhoC,OACA,OAAAsnD,ICjBeuuM,EAAA,SAAA5yM,EAAAsF,GACf,GAAAtF,EAAAsF,UAAA,UAAA/oD,MAAA,qBAEA,GAAA+oD,KAAAz1B,MAMArP,EAAAw/B,EAAAzlC,SANA,CACA,MAAAle,EAAA6B,KAAAuS,MAAA60C,KAAA,aAAA/oD,MAAA,gBACAikB,EAAAw/B,EAAAzlC,MAA2BA,EAAIylC,GAC/B,IAAA3jD,EAAAmhD,EAAAh9B,EAAA,GAAAyU,EAAAzU,EAAA,GAAApS,EAAAoS,EAAA,GAAAnS,EAAAmS,EAAA,GACA8kC,EAAA,CAAiBz1B,MAAA,CAAAzhB,EAAAovC,GAAApvC,EAAAovC,IAAAnhD,EAAA,KAAAgS,EAAA4mB,GAAA5mB,EAAA4mB,IAAA54B,EAAA,MAAA8oD,UAAA,CAAA3H,EAAAvoB,IAKjB,IAAqBzU,EAAArN,EAArB7X,EAAUq3P,EAAWrtM,GAAAz1C,EAAAmwC,EAAAzC,QAAAyG,EAAA,GAErB,SAAAS,EAAAjnD,GACA,OAAAlC,EAAAkC,GAGA,SAAAynD,EAAAlgB,GACA,IAAAsf,EACA,OAAAtf,EAAA1kC,MACA,yBAAAgkD,EAAA,CAA2ChkD,KAAA,qBAAAU,WAAAgkC,EAAAhkC,WAAAuC,IAAA2hD,IAAgF,MAC3H,YAAAZ,EAAA,CAA8BhkD,KAAA,QAAAP,YAAA2kD,EAAA1f,EAAAjlC,cAA8D,MAC5F,iBAAAukD,EAAA,CAAmChkD,KAAA,aAAAP,YAAAilC,EAAAjlC,YAAAwD,IAAAmhD,IAAuE,MAC1G,eAAA1f,EAKA,OAHA,MAAAA,EAAApgC,KAAA0/C,EAAA1/C,GAAAogC,EAAApgC,IACA,MAAAogC,EAAAxqB,OAAA8pC,EAAA9pC,KAAAwqB,EAAAxqB,MACA,MAAAwqB,EAAA93B,aAAAo3C,EAAAp3C,WAAA83B,EAAA93B,YACAo3C,EAGA,SAAAwuM,EAAA9tN,GACA,IAAA1O,EAAAv7B,EAAA,EAAAiC,EAAA,EAAAV,EAAA0oC,EAAAzoC,OAAA+nD,EAAA,IAAAroD,MAAAK,GACAgoD,EAAA,GAAA/oD,EAAAypC,EAAA,MACA,QAAAjqC,EAAAuB,IAAAg6B,EAAA/6B,EAAAypC,EAAAjqC,OAAA,IAAAu7B,EAAA,MAAAguB,EAAAtnD,KAAAs5B,GAGA,OAFA,IAAAt5B,IAAAsnD,EAAAtnD,KAAA,OACAsnD,EAAA/nD,OAAAS,EACAsnD,EAGA,IAAAlxC,KAAAtD,EAAAm0C,EAAA7wC,GAAA8xC,EAAAp1C,EAAAsD,IAEA,OACA9S,KAAA,WACAka,KAAAiG,EACA8kC,YACA/H,QAAAyG,EACAhG,KAAAgC,EAAAhC,KAAA16C,IAAAuvP,KCnDAj5P,EAAAgB,EAAA+f,EAAA,yBAAAJ,IAAA3gB,EAAAgB,EAAA+f,EAAA,4BAAAna,IAAA5G,EAAAgB,EAAA+f,EAAA,yBAAA82O,IAAA73P,EAAAgB,EAAA+f,EAAA,6BAAA+2O,IAAA93P,EAAAgB,EAAA+f,EAAA,0BAAAiH,IAAAhoB,EAAAgB,EAAA+f,EAAA,8BAAAu3O,IAAAt4P,EAAAgB,EAAA+f,EAAA,8BAAA23O,IAAA14P,EAAAgB,EAAA+f,EAAA,6BAAAi4O,IAAAh5P,EAAAgB,EAAA+f,EAAA,8BAAAs0M,IAAAr1N,EAAAgB,EAAA+f,EAAA,gCAAAg4O,0BCAA,IAAAvwM,EAAUxoD,EAAQ,QAClBgG,EAAehG,EAAQ,QAAiBgG,SAsBxCpG,EAAAC,QAAA,SAAAob,EAAAE,EAAA9H,EAAAokO,EAAA3zN,GACA7I,EAAAjV,EAAAiV,GACAE,EAAAnV,EAAAmV,GACA9H,KAAA,GACAokO,KAAA,IACA3zN,KAAA,GAEA,IAAAo1O,EAAA,IAAA1wM,EAAAgvL,YAAA,CAAyC9nO,EAAAuL,EAAA,GAAAtL,EAAAsL,EAAA,IAAyB,CAAGvL,EAAAyL,EAAA,GAAAxL,EAAAwL,EAAA,IAAqB9H,GAE1FjE,EAAA8pP,EAAA5vJ,IAAAmuI,EAAA,CAAuC3zN,WAGvC,OAAA1U,EAAAmqG,2CC9BA,SAAA2iH,EAAAr7N,EAAAC,GACA,IAAA4O,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACAugN,EAAA1xM,EAAA4mB,EACAsF,EAAA96B,EAAAw1B,EACAuiH,EAAAh4I,EAAAugN,EACAzxM,EAAAkpI,EAAAj9G,EACA,OAAAjsB,EACA,CAAAA,EAAAD,GAEA,CAAAA,GAGA,SAAAswL,EAAAr3L,EAAAoM,GACA,IAAAonH,EAAA,EAAAxzH,EAAAjG,OACA05N,EAAA,EAAArnN,EAAArS,OACA,OAAAy5H,GAAA,IAAAigG,EACA,OAAAF,EAAAvzN,EAAA,IAAAoM,EAAA,IAEA,IAUAlU,EAAAC,EAVA2B,EAAA05H,EAAAigG,EACA/pN,EAAA,IAAAjQ,MAAAK,GACA2zB,EAAA,EACAimM,EAAA,EACAC,EAAA,EACAn2M,EAAA7hB,KAAA6hB,IACAwoH,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,GACA2B,GAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,GAEAisF,EAAApiB,GACAr5M,EAAA6tI,EACA0tF,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,MAGA7tI,EAAAwvI,EACAgsF,GAAA,EACAA,EAAAF,IACA9rF,GAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,KAGA+rF,EAAAlgG,GAAAogG,EAAApiB,GAAAmiB,GAAAF,GACAv7N,EAAA8tI,EACA0tF,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,MAGA9tI,EAAAyvI,EACAgsF,GAAA,EACAA,EAAAF,IACA9rF,GAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,KAGA,IAKAksF,EAAAC,EAAAC,EAAAC,EAAAC,EALAltN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACAumM,EAAAltN,EACA4yE,EAAA7yE,EAEA,MAAA2sN,EAAAlgG,GAAAmgG,EAAAF,EACAG,EAAApiB,GACAt5M,EAAA8tI,EACA0tF,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,GACAE,EAAAp2M,EAAAwoH,MAGA9tI,EAAAyvI,EACAgsF,GAAA,EACAA,EAAAF,IACA9rF,GAAAv7H,EAAAunN,GACAniB,EAAAh0L,EAAAmqH,KAGAxvI,EAAA+7N,EACAntN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACA3mB,IACA0C,EAAA+jB,KAAAzmB,GAEA6sN,EAAAj6I,EAAA7yE,EACA+sN,EAAAD,EAAAj6I,EACAm6I,EAAAF,EAAAC,EACAE,EAAAjtN,EAAA+sN,EACAG,EAAAr6I,EAAAm6I,EACAG,EAAAD,EAAAD,EACAp6I,EAAAi6I,EAEA,MAAAH,EAAAlgG,EACAt7H,EAAA8tI,EACA7tI,EAAA+7N,EACAntN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACA3mB,IACA0C,EAAA+jB,KAAAzmB,GAEA6sN,EAAAj6I,EAAA7yE,EACA+sN,EAAAD,EAAAj6I,EACAm6I,EAAAF,EAAAC,EACAE,EAAAjtN,EAAA+sN,EACAG,EAAAr6I,EAAAm6I,EACAG,EAAAD,EAAAD,EACAp6I,EAAAi6I,EACAH,GAAA,EACAA,EAAAlgG,IACAwS,EAAAhmI,EAAA0zN,IAGA,MAAAC,EAAAF,EACAv7N,EAAAyvI,EACAxvI,EAAA+7N,EACAntN,EAAA7O,EAAAC,EACAw1B,EAAA5mB,EAAA7O,EACA8O,EAAA7O,EAAAw1B,EACA3mB,IACA0C,EAAA+jB,KAAAzmB,GAEA6sN,EAAAj6I,EAAA7yE,EACA+sN,EAAAD,EAAAj6I,EACAm6I,EAAAF,EAAAC,EACAE,EAAAjtN,EAAA+sN,EACAG,EAAAr6I,EAAAm6I,EACAG,EAAAD,EAAAD,EACAp6I,EAAAi6I,EACAF,GAAA,EACAA,EAAAF,IACA9rF,GAAAv7H,EAAAunN,IAaA,OAVAO,IACAxqN,EAAA+jB,KAAAymM,GAEAt6I,IACAlwE,EAAA+jB,KAAAmsD,GAEAnsD,IACA/jB,EAAA+jB,KAAA,GAEA/jB,EAAA3P,OAAA0zB,EACA/jB,EAxJAzS,EAAAC,QAAAmgM,qCCFA,IAAAxnL,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,gBAA0Be,MAAA,CAAO4oO,IAAA9pO,EAAA8pO,IAAAtzO,OAAAwJ,EAAAxJ,WAC1H4L,EAAA,GCDI2nO,EAAM,WAAgB,IAAA/pO,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAA,MAAAG,EAAA,OAA6BE,YAAA,cAAyB,CAAAF,EAAA,KAAAA,EAAA,UAAAH,EAAAM,GAAA,WAAAN,EAAAM,GAAAN,EAAAO,GAAAP,EAAA8pO,UAAA9pO,EAAAgB,MAC3IgpO,EAAe,+GCkCfC,EAAM,SAAArgN,GACV,SAAAsgN,EAAAtsP,GACA,IAAAyoG,OAAAxuG,IAAA+F,EAAAyoG,YACAzoG,EAAAyoG,YAAA,KAEsDC,OACtDzuG,IAAA+F,EAAA0oG,kBACA1oG,EAAA0oG,kBAAsC6jJ,EAAA,KAEtCvgN,EAAA1nC,KAAAhR,KAAA,CACA24C,aAAAjsC,EAAAisC,aACA9Z,WAAkBzmB,OAAA0c,EAAA,OAAA1c,CAAa1L,EAAAmyB,cAO/B7+B,KAAAk5P,KAAAxsP,EAAAksP,IAMA54P,KAAAm5P,aAAAzsP,EAAA0sP,YAMAp5P,KAAAs1G,OAAA,IAAsB+jJ,EAAA,KAAYr5P,KAAAm5P,kBAAAxyP,EAAA,EAAA3G,KAAAk5P,KAAA/jJ,EAAAC,GAMlCp1G,KAAAs5P,WAAA5sP,EAAA6sP,UAAA7sP,EAAA6sP,UAAA,KAEInhP,OAAA0K,EAAA,KAAA1K,CAAMpY,KAAAs1G,OAAcz9D,EAAA,KAASC,OACjC93C,KAAAw5C,kBAAAx5C,MAgEA,OA5DA04C,IAAAsgN,EAAAr1O,UAAA+0B,GACAsgN,EAAA/3P,UAAAmX,OAAAwL,OAAA80B,KAAAz3C,WACA+3P,EAAA/3P,UAAA4iB,YAAAm1O,EAOAA,EAAA/3P,UAAAu4P,eAAA,WACA,OAAAx5P,KAAAm5P,cAMAH,EAAA/3P,UAAAo4C,iBAAA,SAAA/zB,EAAAtP,EAAAm/B,EAAAtW,GACA,OAAQzmB,OAAAq9B,EAAA,KAAAr9B,CAAUkN,EAAAtlB,KAAAs1G,OAAAhgE,aAClBt1C,KAAAs1G,OAEA,MAQA0jJ,EAAA/3P,UAAAw4P,OAAA,WACA,OAAAz5P,KAAAk5P,MAMAF,EAAA/3P,UAAAu4C,kBAAA,SAAAwyE,GACA,GAAAhsH,KAAAs1G,OAAA99D,YAAkCrB,EAAA,KAAUC,OAAA,CAC5C,IAEAsjN,EAAAC,EAFAP,EAAAp5P,KAAAs1G,OAAAhgE,YACAoC,EAAA13C,KAAAs1G,OAAAl+D,WAEAp3C,KAAAs5P,YACAI,EAAA15P,KAAAs5P,WAAA,GACAK,EAAA35P,KAAAs5P,WAAA,KAEAI,EAAAhiN,EAAA1rC,MACA2tP,EAAAjiN,EAAAvrC,QAEA,IAAA6J,EAAuBoC,OAAAq9B,EAAA,KAAAr9B,CAASghP,GAAAO,EAChCC,EAAA71P,KAAAo6B,KAAkC/lB,OAAAq9B,EAAA,KAAAr9B,CAAQghP,GAAApjP,GAC1C,GAAA4jP,GAAAF,EAAA,CACA,IAAA/jP,EAAsByC,OAAAgM,EAAA,KAAAhM,CAAqBwhP,EAAAD,GAC3C7pP,EAAA6F,EAAA7F,OACA6F,EAAA63D,UAAA91B,EAAA,IAAAgiN,EAAAC,EACA,IAAA7pP,EAAA9D,MAAA8D,EAAA3D,QACAnM,KAAAs1G,OAAAO,SAAA/lG,IAGA4oC,EAAAz3C,UAAAu4C,kBAAAxoC,KAAAhR,KAAAgsH,IAGAgtI,EAvGU,CAwGRC,EAAA,MAGaY,EAAA,ECnIfC,EAAA,CACA/rM,OAAA,CACA,UAEAp1C,MAAA,CACAigP,IAAAlsO,OACApH,OAAAzjB,MACAygD,MAAAnW,SAEAvjC,KATA,WAUA,OACAmxP,QAAA,KACAC,MAAA,OAGAzlO,QAAA,CACA0lO,SADA,WAEAj6P,KAAA+5P,UACA/5P,KAAAg6P,MAAAE,YAAAzhJ,OAAAz4G,KAAA+5P,SACA/5P,KAAA+5P,QAAA,MAGA,IAAAnoP,EAAA,IAAAomC,EAAA,YAAAwlK,QAAA,KACAtgM,EAAA,IAAA28O,EAAA,CACAjB,IAAA54P,KAAA44P,IACA/5N,WAAA,YACAu6N,YAAAp5P,KAAAslB,SAEA1T,EAAAuoP,UAAAj9O,GAEAld,KAAAg6P,MAAAE,YAAAt5P,KAAAgR,GACA5R,KAAA+5P,QAAAnoP,EAEA5R,KAAA2sH,SAEAA,MApBA,WAqBA,IAAAx3G,EAAAnV,KAAAg6P,MAAA70O,UACAG,EAAAlN,OAAA0c,EAAA,mBAAA1c,CAAApY,KAAAslB,OAAA,yBACAtlB,KAAAg6P,MAAAl0O,UAAAna,IAAA2Z,EAAA,CAAAnQ,OAAAiB,SAAA,QAGAshB,MAAA,CACAkhO,IADA,SACA3yP,GACAjG,KAAAi6P,aAGA3qM,QA9CA,WA8CA,IAAAx0C,EAAA9a,KACAA,KAAAgkB,SAAAurC,KAAA,SAAApmD,GACA2R,EAAAk/O,MAAA7wP,EAEA2R,EAAAm/O,cAGA3kO,cArDA,WAsDAt1B,KAAA+5P,SACA/5P,KAAAg6P,MAAAE,YAAAzhJ,OAAAz4G,KAAA+5P,WClEmYK,EAAA,0BCQnYtoO,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdgiP,EACAvB,EACAC,GACF,EACA,KACA,WACA,MAIeuB,EAAAvoO,UCZfwoO,EAAA,CACAjnO,WAAA,CACAgnO,gBAEA1hP,MAAA,CACAxP,IAAA,CACA6tB,UAAA,IAGAtF,SAAA,CACApM,OADA,WAEA,OAAAtlB,KAAAmJ,IAAAoxP,kBAAAv6P,KAAAmJ,IAAAqxP,mBAAAx6P,KAAAmJ,IAAAsxP,kBAAAz6P,KAAAmJ,IAAAuxP,qBAEA9B,IAJA,WAKA,yDAAAlkP,OAAA1U,KAAAmJ,IAAAqB,OCrB0amwP,EAAA,ECOtaC,EAAYxiP,OAAA2Z,EAAA,KAAA3Z,CACduiP,EACA1iP,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAo6O,gCClBf,IAAAjpP,EAAgBlS,EAAQ,QAAYkS,UAgBpCtS,EAAAC,QAAA,SAAAoH,GACA,IAAA0Z,EAAA,CAAAxL,mBAOA,OANAjD,EAAAjL,EAAA,SAAA2M,GACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,MAEA+M,sCCxBA,IAAAy6O,EAAAp7P,EAAA,QAAAq7P,EAAAr7P,EAAAyC,EAAA24P,GAAouBr6O,EAAA,WAAAs6O,EAAG,yBCAvuB,IAAAruM,EAAsBhtD,EAAQ,QAC9BsoM,EAAkBtoM,EAAQ,QAC1ByhC,EAAgBzhC,EAAQ,QACxBoH,EAAAq6B,EAAAr6B,YAoBAxH,EAAAC,QAAA,SAAAw+C,EAAAC,GAEA,IAAAD,EAAA,UAAA17C,MAAA,wBACA,IAAA27C,EAAA,UAAA37C,MAAA,wBACA,IAAAsqD,EAAA7lD,EAAAi3C,GACA6O,EAAA9lD,EAAAk3C,GACA,GAAA2O,IAAAC,EAAA,SAEA,IAAAC,EAAA,IAAAH,EAAA,CAAwCnvC,UAAA,IACxC,OAAAsvC,EAAAzuC,QAAA4pL,EAAAjqJ,GAAAiqJ,EAAAhqJ,sDChCA9lC,EAAAiZ,ECCA6pO,EAAA,CACApiP,MAAA,CACA2Y,OAAA,CACA0F,UAAA,EACA9wB,KAAArE,QAGA6vB,SAAA,CACA8xN,YADA,WACA,IAAA1oO,EAAA9a,KACAohJ,EAAA,GAIA,OAHAphJ,KAAAsxB,OAAAxa,QAAA,SAAAy8B,EAAAnzC,GACAghJ,IAAA1sI,OAAA,KAAAA,OAAA6+B,EAAA,KAAA7+B,OAAAtU,GAAA,KAAA0a,EAAAwW,OAAAnvB,OAAA,YAEAi/I,IAGAnpI,OAhBA,SAgBAylB,GAAA,IAAAziB,EAAAjb,KACAykB,EAAA,SAAAu2O,GAAA,OAAAt9N,EAAA,OACAvb,MAAA,CACAra,QAAA,OACAmzP,cAAA,SACA51O,OAAA,UAEA21O,IAEAE,EAAA,SAAAF,GAAA,OAAAt9N,EAAA,OACAvb,MAAA,CACAra,QAAA,OACAqzP,eAAA,kBAEAH,IAEAI,EAAA,kBAAA19N,EAAA,OACAvb,MAAA,CACAk5O,WAAA,2BAAA3mP,OAAAuG,EAAAuoO,YAAA,KACAr3O,OAAA,OACAH,MAAA,WAIA,OAAAyY,EAAA,CACAy2O,EAAA,CACAl7P,KAAAu1D,OAAA+lM,WACAt7P,KAAAu1D,OAAAgmM,WACAH,QC7CqXI,EAAA,cFOrX1pO,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdojP,EACFvjP,EACAiZ,GACA,EACA,KACA,KACA,MAIe1Q,EAAA,KAAAsR,6CGhBf,IAAA7qB,EAAexH,EAAQ,QACvBmP,EAAenP,EAAQ,QACvB0H,EAAc1H,EAAQ,QAEtBwH,EAAAW,KAAA,aACA8tB,MAAA,CACAxvB,KAAA,eACAu1P,WAAA,CACA3zP,SAAA,GAEAqqG,UAAA,CACAupJ,UAAA,GAEAC,YAAA,CACA7zP,SAAA,GAEAo9D,MAAA,CACA82C,aAAA,IAKA7T,UAAA,CACAC,eAAA,EACAC,cAAA,GAGAe,YAAA,GAAArlG,KAAAsvC,GACA9oC,eAAA,SAAA/B,GACA,IAAAa,EAAA,GACAA,EAAAzI,KAAA,cAAA4H,EAAAgC,GAAA,aAEA,IAAA5B,EAAAJ,EAAAI,KACAC,EAAAD,EAAAC,SACAG,EAAAJ,EAAAI,OAEA,GAAAH,EAAA1G,OACA,QAAAxB,EAAA,EAAkBA,EAAAkI,EAAA,GAAAD,KAAAzG,SAA6BxB,EAC/C0I,EAAAzI,KAAA,qCAAAiI,EAAA,GAAAW,gBAAA7I,GAAA,aACAqI,EAAArI,IACA0I,EAAAzI,KAAAoI,EAAArI,IAEA0I,EAAAzI,KAAA,SAKA,OADAyI,EAAAzI,KAAA,SACAyI,EAAAtI,KAAA,KAEA8G,OAAA,CACAmB,OAAA,CACAE,eAAA,SAAAV,GACA,IAAAI,EAAAJ,EAAAI,KACA,OAAAA,EAAAI,OAAA7G,QAAAyG,EAAAC,SAAA1G,OACAyG,EAAAI,OAAAG,IAAA,SAAAG,EAAA3I,GACA,IAAA8H,EAAAD,EAAAE,eAAA,GACAk9B,EAAAh9B,EAAAC,SAAA,GACAo/C,EAAAx/C,EAAAG,KAAAjI,GACAqiC,EAAAilB,EAAAjlB,QAAA,GACAqB,EAAAl9B,EAAAk9B,sBACAikE,EAAA9/F,EAAAkE,QAAAkC,SAAAq5C,IACArkB,EAAAZ,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAA66B,EAAAuB,EAAAp8B,gBAAA7I,EAAA2nG,EAAA9+F,iBACAmH,EAAAqyB,EAAA34B,YAAA24B,EAAA34B,YAAAg6B,EAAAuB,EAAAv7B,YAAA1J,EAAA2nG,EAAAj+F,aACA0zD,EAAA/6B,EAAA74B,YAAA64B,EAAA74B,YAAAk6B,EAAAuB,EAAAz7B,YAAAxJ,EAAA2nG,EAAAn+F,aAEA,OACAd,KAAAC,EACAC,UAAAq6B,EACAx5B,YAAAuG,EACAzG,UAAA6zD,EACAp1D,OAAA0G,MAAAu2B,EAAAh9B,KAAAjI,KAAA8H,EAAAG,KAAAjI,GAAAgI,OAGAvI,MAAAO,KAIA,KAIAwH,QAAA,SAAAC,EAAAC,GACA,IAEA1H,EAAAiV,EAAAnN,EAFArI,EAAAiI,EAAAjI,MACAoI,EAAAxI,KAAAwI,MAGA,IAAA7H,EAAA,EAAAiV,GAAApN,EAAAI,KAAAC,UAAA,IAAA1G,OAAyDxB,EAAAiV,IAAUjV,EACnE8H,EAAAD,EAAAE,eAAA/H,GACA8H,EAAAG,KAAAxI,GAAAuI,QAAAF,EAAAG,KAAAxI,GAAAuI,OAGAH,EAAAM,WAKA2/F,SAAA,CACAC,UAAA,CACAtkB,MAAA,WACA,UAEA96E,MAAA,SAAAuD,EAAAjE,GACA,OAAAA,EAAAI,OAAA6D,EAAAzM,OAAA,KAAAyM,EAAA0lG,YAMAlzG,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAG,YAAAm5N,UAAAt5N,EAAAI,kBAAAh4B,OAAA,CAEAm4B,gBAAAj0B,EAAAm6F,IAEA/4D,WAAA7oC,EAAAE,KAEAyB,OAAA,SAAAi6B,GACA,IAMApiC,EAAAiV,EAAAqzD,EANA99D,EAAAnL,KACAoJ,EAAA+B,EAAAk4B,aACA56B,EAAA0C,EAAA83B,UACAvoB,EAAAvP,EAAA3C,MAAAkE,QAAA08F,YAAA,EACAyyJ,EAAA1wP,EAAA2wP,QAAA,GACAC,EAAA5wP,EAAA6wP,QAAA,GAOA,IAJA7wP,EAAA8wP,gBAEAxzP,EAAAotB,MAAA1qB,EAAA+wP,uBAEAv7P,EAAA,EAAAiV,EAAAxM,EAAAR,KAAAzG,OAA0CxB,EAAAiV,EAAUjV,IACpDk7P,EAAAl7P,GAAA+Z,EACAuuD,EAAA99D,EAAAgxP,cAAAx7P,GACAo7P,EAAAp7P,GAAAsoE,EACAvuD,GAAAuuD,EAGA9hE,EAAA6G,KAAAvF,EAAAG,KAAA,SAAAq/C,EAAA7nD,GACA+K,EAAA84B,cAAAgkB,EAAA7nD,EAAA2iC,MAOAk5N,cAAA,WACA,IAAA9wP,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACA89B,EAAA99B,EAAA89B,UACAx5B,EAAAtE,EAAAkE,QACA47F,EAAAx7F,EAAA8B,SAAAq5C,IACAn8C,EAAA/H,KAAAyiC,IAAAF,EAAAp6B,MAAAo6B,EAAAr6B,KAAAq6B,EAAAj6B,OAAAi6B,EAAAl6B,KAEA5D,EAAAohG,YAAA7lG,KAAA0K,KAAA3C,EAAAw8F,EAAAn+F,YAAA,QACA3B,EAAAqhG,YAAA9lG,KAAA0K,IAAA3B,EAAAy7F,iBAAA//F,EAAAohG,YAAA,IAAA98F,EAAA,sBACAtE,EAAAshG,cAAAthG,EAAAohG,YAAAphG,EAAAqhG,aAAArhG,EAAAuhG,yBAEA5+F,EAAAy+F,YAAAphG,EAAAohG,YAAAphG,EAAAshG,aAAA3+F,EAAA/K,MACA+K,EAAA0+F,YAAA1+F,EAAAy+F,YAAAphG,EAAAshG,cAGA7lE,cAAA,SAAAgkB,EAAA7nD,EAAA2iC,GACA,IAAA53B,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAY,EAAA+B,EAAAk4B,aACAv2B,EAAAtE,EAAAkE,QACAu9F,EAAAn9F,EAAAq7F,UACAzyE,EAAAltB,EAAAktB,MACA1sB,EAAAR,EAAAI,KAAAI,OAEA4G,EAAA8lB,EAAAqiF,QACAloG,EAAA6lB,EAAAsiF,QAGAokJ,EAAAtvP,EAAAs8F,WACA11F,EAAAu0C,EAAAt/C,OAAA,EAAA+sB,EAAA2mO,8BAAAjzP,EAAAR,KAAAxI,IACAgpG,EAAAj+F,EAAA2wP,QAAA17P,GACAipG,EAAAD,GAAAnhD,EAAAt/C,OAAA,EAAAwC,EAAA6wP,QAAA57P,IAEAk8P,EAAAryJ,EAAA5B,aAAA,EAAA3yE,EAAA2mO,8BAAAjzP,EAAAR,KAAAxI,IAEA+G,EAAAuD,OAAAu9C,EAAA,CAEAxkB,cAAAt4B,EAAA/K,MACAslC,OAAAtlC,EACAojC,OAAA9N,EAGAiO,OAAA,CACAx0B,EAAAS,EACAR,EAAAS,EACAg6F,YAAA,EACAD,YAAA7mE,EAAAu5N,EAAA5oP,EACA01F,WAAArmE,GAAAknE,EAAA7B,cAAAg0J,EAAAhzJ,EACAC,SAAAtmE,GAAAknE,EAAA7B,cAAAg0J,EAAA/yJ,EACA//F,MAAAnC,EAAAk9B,sBAAAr7B,EAAA5I,EAAA4I,EAAA5I,OAKA,IAAA+pG,EAAAnqG,KAAAwI,MAAAkE,QAAAkC,SAAAq5C,IACAjlB,EAAAilB,EAAAjlB,QAAA,GACA91B,EAAA/F,EAAAk9B,sBACA3U,EAAAu4B,EAAAtkB,OAEAjU,EAAAlmB,gBAAAw5B,EAAAx5B,gBAAAw5B,EAAAx5B,gBAAA0D,EAAA9D,EAAAI,gBAAApJ,EAAA+pG,EAAA3gG,iBACAkmB,EAAArlB,YAAA24B,EAAA34B,YAAA24B,EAAA34B,YAAA6C,EAAA9D,EAAAiB,YAAAjK,EAAA+pG,EAAA9/F,aACAqlB,EAAAvlB,YAAA64B,EAAA74B,YAAA64B,EAAA74B,YAAA+C,EAAA9D,EAAAe,YAAA/J,EAAA+pG,EAAAhgG,aAEA89C,EAAAjkB,SAGAk4N,qBAAA,WACA,IAAA9yP,EAAApJ,KAAAqjC,aACA56B,EAAAzI,KAAAijC,UACApN,EAAA,EAQA,OANA1uB,EAAA6G,KAAAvF,EAAAG,KAAA,SAAAkZ,EAAA1hB,GACAiP,MAAAjG,EAAAR,KAAAxI,KAAA0hB,EAAAnZ,QACAktB,MAIAA,GAMAsmO,cAAA,SAAA/7P,GACA,IAAA+K,EAAAnL,KACA61B,EAAA71B,KAAAijC,UAAApN,MACAzsB,EAAA+B,EAAAk4B,aACA56B,EAAA0C,EAAA83B,UAEA,GAAA5zB,MAAAjG,EAAAR,KAAAxI,KAAAqI,EAAAG,KAAAxI,GAAAuI,OACA,SAIA,IAAAgN,EAAA,CACAnN,MAAA2C,EAAA3C,MACAkyG,UAAAt6G,EACAgJ,UACAd,aAAA6C,EAAA/K,OAGA,OAAA+G,EAAAuF,QAAA+I,QAAA,CACAtK,EAAA3C,MAAAkE,QAAAkC,SAAAq5C,IAAAghB,MACA,EAAAllE,KAAAsvC,GAAAxd,GACAlgB,EAAAvV,0CC3PA,IAAAm8P,EAAA98P,EAAA,QAAA+8P,EAAA/8P,EAAAyC,EAAAq6P,GAA2nBC,EAAG,wBCA9nB,IAAA/zP,EAAWhJ,EAAQ,QACnB0H,EAAc1H,EAAQ,QACtByqC,EAAczqC,EAAQ,QACtBiU,EAAejU,EAAQ,QACvByhC,EAAgBzhC,EAAQ,QACxBi1C,EAAkBj1C,EAAQ,QAC1B89N,EAAqB99N,EAAQ,QAC7B4D,EAAA8D,EAAA9D,MACAuC,EAAAs7B,EAAAt7B,UACAkQ,EAAA3O,EAAA2O,WACA/O,EAAA0B,EAAA1B,YA2BA1H,EAAAC,QAAA,SAAA0mD,EAAA7vC,EAAAgpB,GAEA,IAAAj5B,EAAA8/C,EAAA,SAAAA,EAAAngD,SAAAK,KAAA8/C,EAAA9/C,KACA,kBAAAA,GAAA,oBAAAA,EACA,UAAA9D,MAAA,+CAGA,IAAAq6P,EAAAp5P,EAAA,CAAAuR,SAAA,CACAC,KAAAD,MAGAzS,EAAA,EA8CA,OA7CA4E,EAAAi/C,EAAA,SAAAn3C,GAGA,IAFA,IAAAoD,EAAArM,EAAAiJ,GAEAlO,EAAA,EAAuBA,EAAAsR,EAAA9P,OAAA,EAAuBxB,IAAA,CAE9C,IAAA+Z,EAAArX,EAAA4O,EAAAtR,IACA+Z,EAAA5H,WAAA+B,KAAAnB,EAAAyC,EAAAuE,EAAAykB,GAEA,IAAA3sB,EAAAnP,EAAA4O,EAAAtR,EAAA,IACA6R,EAAAM,WAAA+B,KAAAnB,EAAAyC,EAAA3D,EAAA2sB,GAEA,IAAAu9N,EAAAhpP,EAAAgH,EAAAlI,EAAA2sB,GAEAw9N,EAAA54P,KAAA0K,IAAAiM,EAAA5H,WAAA+B,KAAArC,EAAAM,WAAA+B,MACA0I,EAAA2sB,EAAAxvB,EAAAlI,GACAoqP,EAAAloN,EAAAv+B,EAAAwmP,EAAAp/O,EAAA,GAAA4hB,GACA09N,EAAAnoN,EAAAv+B,EAAAwmP,EAAAp/O,EAAA,GAAA4hB,GACAgb,EAAAojL,EAAAznN,EAAA,CAAA8mP,EAAA/2P,SAAAF,YAAAk3P,EAAAh3P,SAAAF,cAAAmQ,EAAA,CAAA4E,EAAA7U,SAAAF,YAAA6M,EAAA3M,SAAAF,eACAm3P,EAAA,KACA3iN,EAAA3zC,SAAArE,OAAA,IACA26P,EAAA3iN,EAAA3zC,SAAA,GACAs2P,EAAAhqP,WAAA+B,KAAAnB,EAAAyC,EAAA2mP,EAAA39N,GACA29N,EAAAhqP,WAAAw0G,SAAAnlH,EAAAuR,EAAAgH,EAAAoiP,EAAA39N,IAGAzkB,EAAA5H,WAAA+B,KAAA4nP,EAAA3pP,WAAA+B,OACA4nP,EAAA/hP,EACA+hP,EAAA3pP,WAAA1S,MAAAO,EACA87P,EAAA3pP,WAAAw0G,SAAAnlH,GAEAqQ,EAAAM,WAAA+B,KAAA4nP,EAAA3pP,WAAA+B,OACA4nP,EAAAjqP,EACAiqP,EAAA3pP,WAAA1S,MAAAO,EAAA,EACA87P,EAAA3pP,WAAAw0G,SAAAnlH,EAAAu6P,GAEAI,KAAAhqP,WAAA+B,KAAA4nP,EAAA3pP,WAAA+B,OACA4nP,EAAAK,EACAL,EAAA3pP,WAAA1S,MAAAO,GAGAwB,GAAAu6P,KAKAD,6DC5FA,IAAAl2J,EAAgB9mG,EAAQ,QACxB+hH,EAAiB/hH,EAAQ,QACzBwH,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB8+D,EAAkB9+D,EAAQ,QAC1B2H,EAAc3H,EAAQ,QACtBgnG,EAAehnG,EAAQ,QACvBq9E,EAAcr9E,EAAQ,QACtB0iE,EAAmB1iE,EAAQ,QAC3BknG,EAAclnG,EAAQ,QAEtBJ,EAAAC,QAAA,SAAAgjC,GAeA,SAAAy6N,EAAAnyP,GACAA,KAAA,GAIA,IAAAhC,EAAAgC,EAAAhC,KAAAgC,EAAAhC,MAAA,GASA,OARAA,EAAAC,SAAAD,EAAAC,UAAA,GACAD,EAAAI,OAAAJ,EAAAI,QAAA,GAEA4B,EAAA8B,QAAAvF,EAAA+wM,YACAjxM,EAAAgG,OACAhG,EAAA2D,EAAA1E,MACA0E,EAAA8B,SAAA,IAEA9B,EAOA,SAAAoyP,EAAAx0P,GACA,IAAAy0P,EAAAz0P,EAAAkE,QAEAvF,EAAA6G,KAAAxF,EAAA25B,OAAA,SAAAzM,GACAtuB,EAAAqK,UAAAjJ,EAAAktB,KAGAunO,EAAA91P,EAAA+wM,YACA51K,EAAAr7B,SAAAgG,OACAq1B,EAAAr7B,SAAAuB,EAAAoC,OAAA1E,MACA+2P,GAEAz0P,EAAAkE,QAAAlE,EAAAoC,OAAA8B,QAAAuwP,EACAz0P,EAAA00P,sBACA10P,EAAA20P,sBAEA30P,EAAAgiF,QAAAiwB,SAAAwiJ,EAAAx0J,SACAjgG,EAAAgiF,QAAA7/E,aAGA,SAAAyyP,EAAAr1P,GACA,cAAAA,GAAA,WAAAA,EAtDAu6B,EAAA+6N,MAAA,GAIA/6N,EAAAg7N,UAAA,GAGAh7N,EAAAG,YAAA,GAkDAt7B,EAAAuD,OAAA43B,EAAArhC,UAAA,CAIAwoP,UAAA,SAAA58O,EAAAjC,GACA,IAAAO,EAAAnL,KAEA4K,EAAAmyP,EAAAnyP,GAEA,IAAA+K,EAAA8wF,EAAAn8D,eAAAz9B,EAAAjC,GACAkF,EAAA6F,KAAA7F,OACA3D,EAAA2D,KAAA3D,OACAH,EAAA8D,KAAA9D,MAEAb,EAAAX,GAAArD,EAAAwnE,MACAxjE,EAAA4B,IAAA4I,EACAxK,EAAA2E,SACA3E,EAAAP,SACAO,EAAAa,QACAb,EAAAgB,SACAhB,EAAAo6N,YAAAp5N,EAAAH,EAAAG,EAAA,KACAhB,EAAAuB,QAAA9B,EAAA8B,QACAvB,EAAAoyP,iBAAA,EAUApyP,EAAA3C,MAAA2C,EACAA,EAAA+oG,WAAA/oG,EAGAm3B,EAAAg7N,UAAAnyP,EAAAX,IAAAW,EAGAiN,OAAAC,eAAAlN,EAAA,QACAmN,IAAA,WACA,OAAAnN,EAAAP,OAAAhC,MAEA2P,IAAA,SAAAtS,GACAkF,EAAAP,OAAAhC,KAAA3C,KAIA0P,GAAA7F,GASA3E,EAAAR,aACAQ,EAAArC,UALA0xB,QAAAw/C,MAAA,sEAWArvE,WAAA,WACA,IAAAQ,EAAAnL,KAsBA,OAnBA88E,EAAAO,OAAAlyE,EAAA,cAEAhE,EAAAm1M,YAAAnxM,IAAAuB,QAAA8vM,kBAEArxM,EAAAinF,aAEAjnF,EAAAuB,QAAA28O,YAEAl+O,EAAA2wE,QAAA,GAIA3wE,EAAA+xP,sBACA/xP,EAAAgyP,sBACAhyP,EAAAqyP,cAGA1gL,EAAAO,OAAAlyE,EAAA,aAEAA,GAGA8jD,MAAA,WAEA,OADA9nD,EAAA2I,OAAAm/C,MAAAjvD,MACAA,MAGAwS,KAAA,WAGA,OADAgvG,EAAAO,gBAAA/hH,MACAA,MAGA87E,OAAA,SAAA2hL,GACA,IAAAtyP,EAAAnL,KACA0M,EAAAvB,EAAAuB,QACAoD,EAAA3E,EAAA2E,OACAy1N,EAAA74N,EAAA68O,qBAAAp+O,EAAAo6N,aAAA,KAMAm4B,EAAA35P,KAAA0K,IAAA,EAAA1K,KAAAuS,MAAAnP,EAAA00M,gBAAA/rM,KACA6tP,EAAA55P,KAAA0K,IAAA,EAAA1K,KAAAuS,MAAAivN,EAAAm4B,EAAAn4B,EAAAp+N,EAAA40M,iBAAAjsM,KAEA,IAAA3E,EAAAa,QAAA0xP,GAAAvyP,EAAAgB,SAAAwxP,KAIA7tP,EAAA9D,MAAAb,EAAAa,MAAA0xP,EACA5tP,EAAA3D,OAAAhB,EAAAgB,OAAAwxP,EACA7tP,EAAAqS,MAAAnW,MAAA0xP,EAAA,KACA5tP,EAAAqS,MAAAhW,OAAAwxP,EAAA,KAEAx2P,EAAAm1M,YAAAnxM,EAAAuB,EAAA8vM,mBAEAihD,GAAA,CAEA,IAAAG,EAAA,CAAmB5xP,MAAA0xP,EAAAvxP,OAAAwxP,GACnB7gL,EAAAO,OAAAlyE,EAAA,UAAAyyP,IAGAzyP,EAAAuB,QAAAmxP,UACA1yP,EAAAuB,QAAAmxP,SAAA1yP,EAAAyyP,GAGAzyP,EAAAqH,OACArH,EAAArC,OAAA,CACAsN,SAAAjL,EAAAuB,QAAA48O,gCAKA4T,oBAAA,WACA,IAAAxwP,EAAA1M,KAAA0M,QACAoxP,EAAApxP,EAAAy1B,QAAA,GACA47N,EAAArxP,EAAAgpB,MAEAvuB,EAAA6G,KAAA8vP,EAAA17N,MAAA,SAAA47N,EAAA59P,GACA49P,EAAAxzP,GAAAwzP,EAAAxzP,IAAA,UAAApK,IAGA+G,EAAA6G,KAAA8vP,EAAAz7N,MAAA,SAAA47N,EAAA79P,GACA69P,EAAAzzP,GAAAyzP,EAAAzzP,IAAA,UAAApK,IAGA29P,IACAA,EAAAvzP,GAAAuzP,EAAAvzP,IAAA,UAOA2yP,oBAAA,WACA,IAAAhyP,EAAAnL,KACA0M,EAAAvB,EAAAuB,QACAy1B,EAAAh3B,EAAAg3B,QAAA,GACAkhC,EAAA,GACA8uB,EAAA/5E,OAAA2C,KAAAonB,GAAArO,OAAA,SAAApuB,EAAA8E,GAEA,OADA9E,EAAA8E,IAAA,EACA9E,GACI,IAEJgH,EAAAy1B,SACAkhC,IAAA3uD,QACAhI,EAAAy1B,OAAAC,OAAA,IAAAj5B,IAAA,SAAA60P,GACA,OAActxP,QAAAsxP,EAAAE,MAAA,WAAAC,UAAA,aAEdzxP,EAAAy1B,OAAAE,OAAA,IAAAl5B,IAAA,SAAA80P,GACA,OAAcvxP,QAAAuxP,EAAAC,MAAA,SAAAC,UAAA,YAKdzxP,EAAAgpB,OACA2tC,EAAAziE,KAAA,CACA8L,UAAAgpB,MACAwoO,MAAA,eACAE,WAAA,EACAD,UAAA,cAIAh3P,EAAA6G,KAAAq1D,EAAA,SAAAx2D,GACA,IAAAkxP,EAAAlxP,EAAAH,QACAlC,EAAAuzP,EAAAvzP,GACA6zP,EAAAl3P,EAAA+F,eAAA6wP,EAAA73P,KAAA2G,EAAAqxP,OAEAd,EAAAW,EAAAh2P,YAAAq1P,EAAAvwP,EAAAsxP,aACAJ,EAAAh2P,SAAA8E,EAAAsxP,WAGAhsK,EAAA3nF,IAAA,EACA,IAAAkrB,EAAA,KACA,GAAAlrB,KAAA23B,KAAA33B,GAAAtE,OAAAm4P,EACA3oO,EAAAyM,EAAA33B,GACAkrB,EAAAhpB,QAAAqxP,EACAroO,EAAA3oB,IAAA5B,EAAA4B,IACA2oB,EAAAltB,MAAA2C,MACK,CACL,IAAAmzP,EAAAn8L,EAAA4wK,oBAAAsrB,GACA,IAAAC,EACA,OAEA5oO,EAAA,IAAA4oO,EAAA,CACA9zP,KACAtE,KAAAm4P,EACA3xP,QAAAqxP,EACAhxP,IAAA5B,EAAA4B,IACAvE,MAAA2C,IAEAg3B,EAAAzM,EAAAlrB,IAAAkrB,EAGAA,EAAAmxC,oBAKAh6D,EAAAuxP,YACAjzP,EAAAuqB,WAIAvuB,EAAA6G,KAAAmkF,EAAA,SAAAosK,EAAA/zP,GACA+zP,UACAp8N,EAAA33B,KAIAW,EAAAg3B,SAEAggC,EAAA+wK,kBAAAlzO,OAGAw+P,yBAAA,WACA,IAAArzP,EAAAnL,KACAq9P,EAAA,GACAoB,EAAA,GA4BA,OA1BAt3P,EAAA6G,KAAA7C,EAAAvC,KAAAC,SAAA,SAAAO,EAAAd,GACA,IAAAG,EAAA0C,EAAAzC,eAAAJ,GACApC,EAAAkD,EAAAlD,MAAAiF,EAAAP,OAAA1E,KAUA,GARAuC,EAAAvC,MAAAuC,EAAAvC,WACAiF,EAAAuzP,mBAAAp2P,GACAG,EAAA0C,EAAAzC,eAAAJ,IAEAG,EAAAvC,OAEAm3P,EAAAz8P,KAAA6H,EAAAvC,MAEAuC,EAAAyrG,WACAzrG,EAAAyrG,WAAAhkE,YAAA5nC,GACAG,EAAAyrG,WAAAlkE,iBACK,CACL,IAAA2uN,EAAAr8N,EAAAG,YAAAh6B,EAAAvC,MACA,QAAAS,IAAAg4P,EACA,UAAAv8P,MAAA,IAAAqG,EAAAvC,KAAA,0BAGAuC,EAAAyrG,WAAA,IAAAyqJ,EAAAxzP,EAAA7C,GACAm2P,EAAA79P,KAAA6H,EAAAyrG,cAEI/oG,GAEJszP,GAOAG,cAAA,WACA,IAAAzzP,EAAAnL,KACAmH,EAAA6G,KAAA7C,EAAAvC,KAAAC,SAAA,SAAAO,EAAAd,GACA6C,EAAAzC,eAAAJ,GAAA4rG,WAAAnxE,SACI53B,IAMJ43B,MAAA,WACA/iC,KAAA4+P,gBACA5+P,KAAAwqF,QAAA7/E,cAGA7B,OAAA,SAAA8B,GACA,IAAAO,EAAAnL,KAgBA,GAdA4K,GAAA,kBAAAA,IAEAA,EAAA,CACAwL,SAAAxL,EACAg3G,KAAAhyE,UAAA,KAIAotN,EAAA7xP,GAIA2xE,EAAAa,YAAAxyE,IAEA,IAAA2xE,EAAAO,OAAAlyE,EAAA,iBAKAA,EAAAq/E,QAAAn6C,MAAAllC,EAAAvC,KAGA,IAAA61P,EAAAtzP,EAAAqzP,2BAGAr3P,EAAA6G,KAAA7C,EAAAvC,KAAAC,SAAA,SAAAO,EAAAd,GACA6C,EAAAzC,eAAAJ,GAAA4rG,WAAAvjE,yBACIxlC,GAEJA,EAAA0zP,eAGA1zP,EAAAuB,QAAAy7F,WAAAh9F,EAAAuB,QAAAy7F,UAAA/xF,UACAjP,EAAA6G,KAAAywP,EAAA,SAAAvqJ,GACAA,EAAAnxE,UAIA53B,EAAA2zP,iBAIA3zP,EAAAq/E,QAAA7/E,aAIAQ,EAAA4zP,WAAA,GAGAjiL,EAAAO,OAAAlyE,EAAA,eAEAA,EAAAoyP,gBACApyP,EAAA6zP,iBAAA,CACA5oP,SAAAxL,EAAAwL,SACA4B,OAAApN,EAAAoN,OACA4pG,KAAAh3G,EAAAg3G,MAGAz2G,EAAA8M,OAAArN,KASAi0P,aAAA,WACA,IAAA1zP,EAAAnL,MAEA,IAAA88E,EAAAO,OAAAlyE,EAAA,kBAIA/D,EAAA0B,OAAA9I,UAAAgM,MAAAhM,KAAAmM,QASA2wE,EAAAO,OAAAlyE,EAAA,oBACA2xE,EAAAO,OAAAlyE,EAAA,iBAQA2zP,eAAA,WACA,IAAA3zP,EAAAnL,KAEA,QAAA88E,EAAAO,OAAAlyE,EAAA,yBAIA,QAAAxK,EAAA,EAAAiV,EAAAzK,EAAAvC,KAAAC,SAAA1G,OAAkDxB,EAAAiV,IAAUjV,EAC5DwK,EAAA8zP,cAAAt+P,GAGAm8E,EAAAO,OAAAlyE,EAAA,yBAQA8zP,cAAA,SAAA7+P,GACA,IAAA+K,EAAAnL,KACAyI,EAAA0C,EAAAzC,eAAAtI,GACAuvC,EAAA,CACAlnC,OACArI,UAGA,IAAA08E,EAAAO,OAAAlyE,EAAA,uBAAAwkC,MAIAlnC,EAAAyrG,WAAAprG,SAEAg0E,EAAAO,OAAAlyE,EAAA,sBAAAwkC,MAGA13B,OAAA,SAAArN,GACA,IAAAO,EAAAnL,KAEA4K,GAAA,kBAAAA,IAEAA,EAAA,CACAwL,SAAAxL,EACAg3G,KAAAhyE,UAAA,KAIA,IAAAx5B,EAAAxL,EAAAwL,SACAwrG,EAAAh3G,EAAAg3G,KAEA,QAAA9kC,EAAAO,OAAAlyE,EAAA,iBAIA,IAAA+zP,EAAA/zP,EAAAuB,QAAAy7F,UACAmZ,EAAA,SAAAnZ,GACArrB,EAAAO,OAAAlyE,EAAA,eACAhE,EAAAyF,SAAAsyP,KAAA59I,WAAA,CAAAnZ,GAAAh9F,IAGA,GAAA+zP,IAAA,qBAAA9oP,GAAA,IAAAA,GAAA,qBAAAA,GAAA,IAAA8oP,EAAA9oP,UAAA,CACA,IAAA+xF,EAAA,IAAA5B,EAAA,CACAxuF,UAAA3B,GAAA8oP,EAAA9oP,UAAA,MACA4B,OAAApN,EAAAoN,QAAAknP,EAAAlnP,OAEAC,OAAA,SAAAzP,EAAA22P,GACA,IAAAC,EAAAj4P,EAAA6Q,OAAA0iO,QAAAykB,EAAAnnP,QACAF,EAAAqnP,EAAArnP,YACAunP,EAAAvnP,EAAAqnP,EAAApnP,SAEAvP,EAAAkG,KAAA0wP,EAAAC,KAAAvnP,IAGAI,oBAAAgnP,EAAA79I,WACAlpG,oBAAAmpG,IAGAE,EAAAG,aAAAx2G,EAAAg9F,EAAA/xF,EAAAwrG,QAEAz2G,EAAAuD,OAGA4yG,EAAA,IAAA/a,EAAA,CAA8BxuF,SAAA,EAAAvP,MAAA2C,KAG9B,OAAAA,IAGAuD,KAAA,SAAAoiC,GACA,IAAA3lC,EAAAnL,KAEAmL,EAAA8jD,QAEA9nD,EAAAo9D,cAAAzzB,KACAA,EAAA,GAGA3lC,EAAA0lC,WAAAC,GAEA3lC,EAAAa,OAAA,GAAAb,EAAAgB,QAAA,IAIA,IAAA2wE,EAAAO,OAAAlyE,EAAA,cAAA2lC,MAKA3pC,EAAA6G,KAAA7C,EAAAsrG,MAAA,SAAApwF,GACAA,EAAA3X,KAAAvD,EAAAm7B,YACIn7B,GAEJA,EAAAuqB,OACAvqB,EAAAuqB,MAAAhnB,OAGAvD,EAAAm0P,aAAAxuN,GACA3lC,EAAAo0P,aAAAzuN,GAEAgsC,EAAAO,OAAAlyE,EAAA,aAAA2lC,MAMAD,WAAA,SAAAC,GAGA,IAFA,IAAA3lC,EAAAnL,KAEAW,EAAA,EAAAiV,GAAAzK,EAAAvC,KAAAC,UAAA,IAAA1G,OAA0DxB,EAAAiV,IAAUjV,EACpEwK,EAAA1B,iBAAA9I,IACAwK,EAAAzC,eAAA/H,GAAAuzG,WAAArjE,WAAAC,GAIA3lC,EAAAq/E,QAAA35C,WAAAC,IAQAwuN,aAAA,SAAAxuN,GACA,IAAA3lC,EAAAnL,KAEA,QAAA88E,EAAAO,OAAAlyE,EAAA,sBAAA2lC,IAAA,CAKA,QAAAnwC,GAAAwK,EAAAvC,KAAAC,UAAA,IAAA1G,OAAA,EAAoDxB,GAAA,IAAQA,EAC5DwK,EAAA1B,iBAAA9I,IACAwK,EAAAq0P,YAAA7+P,EAAAmwC,GAIAgsC,EAAAO,OAAAlyE,EAAA,qBAAA2lC,MAQA0uN,YAAA,SAAAp/P,EAAA0wC,GACA,IAAA3lC,EAAAnL,KACAyI,EAAA0C,EAAAzC,eAAAtI,GACAuvC,EAAA,CACAlnC,OACArI,QACA0wC,gBAGA,IAAAgsC,EAAAO,OAAAlyE,EAAA,qBAAAwkC,MAIAlnC,EAAAyrG,WAAAxlG,KAAAoiC,GAEAgsC,EAAAO,OAAAlyE,EAAA,oBAAAwkC,MAQA4vN,aAAA,SAAAzuN,GACA,IAAA3lC,EAAAnL,KACAwqF,EAAAr/E,EAAAq/E,QACA76C,EAAA,CACA66C,UACA15C,gBAGA,IAAAgsC,EAAAO,OAAAlyE,EAAA,qBAAAwkC,MAIA66C,EAAA97E,OAEAouE,EAAAO,OAAAlyE,EAAA,oBAAAwkC,MAKA8vN,kBAAA,SAAAr3P,GACA,OAAAm2D,EAAA2uI,MAAAC,OAAAntM,KAAAoI,IAGAs3P,mBAAA,SAAAt3P,GACA,OAAAm2D,EAAA2uI,MAAA5jM,MAAAtJ,KAAAoI,EAAA,CAA4C+xC,WAAA,KAG5CwlN,mBAAA,SAAAv3P,GACA,OAAAm2D,EAAA2uI,MAAA,UAAAltM,KAAAoI,EAAA,CAAgD+xC,WAAA,KAGhDwuM,0BAAA,SAAAvgP,EAAA85B,EAAAx1B,GACA,IAAA+iC,EAAA8uB,EAAA2uI,MAAAhrK,GACA,0BAAAuN,EACAA,EAAAzvC,KAAAoI,EAAAsE,GAGA,IAGAkzP,kBAAA,SAAAx3P,GACA,OAAAm2D,EAAA2uI,MAAA9jM,QAAApJ,KAAAoI,EAAA,CAA8C+xC,WAAA,KAG9CzxC,eAAA,SAAAJ,GACA,IAAA6C,EAAAnL,KACAoJ,EAAA+B,EAAAvC,KAAAC,SAAAP,GACAc,EAAAy2P,QACAz2P,EAAAy2P,MAAA,IAGA,IAAAp3P,EAAAW,EAAAy2P,MAAA10P,EAAAX,IAaA,OAZA/B,IACAA,EAAAW,EAAAy2P,MAAA10P,EAAAX,IAAA,CACAtE,KAAA,KACA0C,KAAA,GACAQ,QAAA,KACA8qG,WAAA,KACAvrG,OAAA,KACAo8B,QAAA,KACA3B,QAAA,OAIA36B,GAGAshG,uBAAA,WAEA,IADA,IAAAl0E,EAAA,EACAl1B,EAAA,EAAAiV,EAAA5V,KAAA4I,KAAAC,SAAA1G,OAAoDxB,EAAAiV,IAAUjV,EAC9DX,KAAAyJ,iBAAA9I,IACAk1B,IAGA,OAAAA,GAGApsB,iBAAA,SAAAnB,GACA,IAAAG,EAAAzI,KAAA0I,eAAAJ,GAIA,yBAAAG,EAAAE,QAAAF,EAAAE,QAAA3I,KAAA4I,KAAAC,SAAAP,GAAAK,QAGAm3P,eAAA,WACA,OAAA9/P,KAAA0M,QAAAnC,eAAAvK,OAMA0+P,mBAAA,SAAAp2P,GACA,IAAAkC,EAAAxK,KAAAwK,GACApB,EAAApJ,KAAA4I,KAAAC,SAAAP,GACAG,EAAAW,EAAAy2P,OAAAz2P,EAAAy2P,MAAAr1P,GAEA/B,IACAA,EAAAyrG,WAAA9jE,iBACAhnC,EAAAy2P,MAAAr1P,KAIA4lC,QAAA,WACA,IAEAzvC,EAAAiV,EAFAzK,EAAAnL,KACA8P,EAAA3E,EAAA2E,OAMA,IAHA3E,EAAAqH,OAGA7R,EAAA,EAAAiV,EAAAzK,EAAAvC,KAAAC,SAAA1G,OAA8CxB,EAAAiV,IAAUjV,EACxDwK,EAAAuzP,mBAAA/9P,GAGAmP,IACA3E,EAAA+mF,eACA/qF,EAAA2I,OAAAm/C,MAAA9jD,GACAs7F,EAAAgrB,eAAAtmH,EAAA4B,KACA5B,EAAA2E,OAAA,KACA3E,EAAA4B,IAAA,MAGA+vE,EAAAO,OAAAlyE,EAAA,kBAEAm3B,EAAAg7N,UAAAnyP,EAAAX,KAGAu1P,cAAA,WACA,OAAA//P,KAAA8P,OAAAkwP,UAAAz9P,MAAAvC,KAAA8P,OAAA8/B,YAGA4tN,YAAA,WACA,IAAAryP,EAAAnL,KACAmL,EAAAq/E,QAAA,IAAAmc,EAAA,CACAp2D,OAAAplC,EACA80P,eAAA90P,EACAklC,MAAAllC,EAAAvC,KACA6xG,SAAAtvG,EAAAuB,QAAA+7F,UACIt9F,IAMJinF,WAAA,WACA,IAAAjnF,EAAAnL,KACAwvC,EAAArkC,EAAA+0P,WAAA,GACA5wN,EAAA,WACAnkC,EAAAg1P,aAAA59P,MAAA4I,EAAAykC,YAGAzoC,EAAA6G,KAAA7C,EAAAuB,QAAAoW,OAAA,SAAA5c,GACAugG,EAAAirB,iBAAAvmH,EAAAjF,EAAAopC,GACAE,EAAAtpC,GAAAopC,IAKAnkC,EAAAuB,QAAA28O,aACA/5M,EAAA,WACAnkC,EAAA2wE,UAGA2qB,EAAAirB,iBAAAvmH,EAAA,SAAAmkC,GACAE,EAAAssC,OAAAxsC,IAOA4iD,aAAA,WACA,IAAA/mF,EAAAnL,KACAwvC,EAAArkC,EAAA+0P,WACA1wN,WAIArkC,EAAA+0P,WACA/4P,EAAA6G,KAAAwhC,EAAA,SAAAF,EAAAppC,GACAugG,EAAAkrB,oBAAAxmH,EAAAjF,EAAAopC,OAIA8wN,iBAAA,SAAAxxP,EAAAszB,EAAA2jC,GACA,IACA/jD,EAAAnhB,EAAAiV,EADA65B,EAAAo2B,EAAA,mCAGA,IAAAllE,EAAA,EAAAiV,EAAAhH,EAAAzM,OAAsCxB,EAAAiV,IAAUjV,EAChDmhB,EAAAlT,EAAAjO,GACAmhB,GACA9hB,KAAA0I,eAAAoZ,EAAA2hB,eAAAywE,WAAAzkE,GAAA3tB,IAQAq+O,aAAA,SAAA/3P,GACA,IAAA+C,EAAAnL,KACAwqF,EAAAr/E,EAAAq/E,QAEA,QAAA1N,EAAAO,OAAAlyE,EAAA,eAAA/C,IAAA,CAKA+C,EAAAoyP,iBAAA,EACApyP,EAAA6zP,iBAAA,KAEA,IAAAnuP,EAAA1F,EAAAyF,YAAAxI,GAKAoiF,IACA35E,EAAA25E,EAAAr2C,OACAq2C,EAAA55E,YAAAxI,GACAyI,EAAA25E,EAAA55E,YAAAxI,IAGA00E,EAAAO,OAAAlyE,EAAA,cAAA/C,IAEA,IAAAi4P,EAAAl1P,EAAA6zP,iBAmBA,OAlBAqB,EAEAl1P,EAAA8M,OAAAooP,GACIxvP,IAAA1F,EAAA02G,YAEJ12G,EAAAqH,OAIArH,EAAA8M,OAAA,CACA7B,SAAAjL,EAAAuB,QAAAu1B,MAAAunN,kBACA5nI,MAAA,KAIAz2G,EAAAoyP,iBAAA,EACApyP,EAAA6zP,iBAAA,KAEA7zP,IASAyF,YAAA,SAAAxI,GACA,IAAA+C,EAAAnL,KACA0M,EAAAvB,EAAAuB,SAAA,GACA4zP,EAAA5zP,EAAAu1B,MACApxB,GAAA,EAqCA,OAnCA1F,EAAA4zP,WAAA5zP,EAAA4zP,YAAA,GAGA,aAAA32P,EAAAlC,KACAiF,EAAA61D,OAAA,GAEA71D,EAAA61D,OAAA71D,EAAAw9O,0BAAAvgP,EAAAk4P,EAAAp+N,KAAAo+N,GAKAn5P,EAAAyF,SAAAF,EAAA3D,SAAA2D,EAAAu1B,MAAAl5B,QAAA,CAAAX,EAAA6I,OAAA9F,EAAA61D,QAAA71D,GAEA,YAAA/C,EAAAlC,MAAA,UAAAkC,EAAAlC,MACAwG,EAAAvE,SAEAuE,EAAAvE,QAAA6I,KAAA7F,EAAA/C,EAAA6I,OAAA9F,EAAA61D,QAKA71D,EAAA4zP,WAAA58P,QACAgJ,EAAAi1P,iBAAAj1P,EAAA4zP,WAAAuB,EAAAp+N,MAAA,GAIA/2B,EAAA61D,OAAA7+D,QAAAm+P,EAAAp+N,MACA/2B,EAAAi1P,iBAAAj1P,EAAA61D,OAAAs/L,EAAAp+N,MAAA,GAGArxB,GAAA1J,EAAA4nE,YAAA5jE,EAAA61D,OAAA71D,EAAA4zP,YAGA5zP,EAAA4zP,WAAA5zP,EAAA61D,OAEAnwD,KAWAyxB,EAAAi+N,WAAAj+N,yBC77BA,IAAA+d,EAAc5gD,EAAQ,QACtBwjM,EAAaxjM,EAAQ,QAErB+gQ,EAAA,SAAA96P,GACA,OAAAA,aAAA86P,EACA96P,EAEA1F,gBAAAwgQ,GAIAxgQ,KAAA6zC,OAAA,EACA7zC,KAAAwnB,OAAA,CACA4iL,IAAA,QACAE,IAAA,QACA+pC,IAAA,QACA5pC,IAAA,QACAyqC,KAAA,UACA3qC,MAAA,QAKA,kBAAA7kM,GACAolM,EAAA7H,EAAA6G,QAAApkM,GACAolM,EACA9qM,KAAAw6O,UAAA,MAAA1vC,IACGA,EAAA7H,EAAAoH,QAAA3kM,IACH1F,KAAAw6O,UAAA,MAAA1vC,IACGA,EAAA7H,EAAAuH,OAAA9kM,KACH1F,KAAAw6O,UAAA,MAAA1vC,IAEE,kBAAAplM,IACFolM,EAAAplM,OACAiB,IAAAmkM,EAAAv1L,QAAA5O,IAAAmkM,EAAAhzH,IACA93E,KAAAw6O,UAAA,MAAA1vC,QACGnkM,IAAAmkM,EAAA/4L,QAAApL,IAAAmkM,EAAA21D,UACHzgQ,KAAAw6O,UAAA,MAAA1vC,QACGnkM,IAAAmkM,EAAAhoM,QAAA6D,IAAAmkM,EAAA7kM,MACHjG,KAAAw6O,UAAA,MAAA1vC,QACGnkM,IAAAmkM,EAAAx8H,QAAA3nE,IAAAmkM,EAAA41D,UACH1gQ,KAAAw6O,UAAA,MAAA1vC,QACGnkM,IAAAmkM,EAAAnpM,QAAAgF,IAAAmkM,EAAAp5H,MACH1xE,KAAAw6O,UAAA,OAAA1vC,MAnCA,IAAA01D,EAAA96P,GAcA,IAAAolM,GA0BA01D,EAAAv/P,UAAA,CACAqjE,QAAA,WACA,OAAAtkE,KAAA6zC,OAEAu2J,IAAA,WACA,OAAApqM,KAAA2gQ,SAAA,MAAA/wN,YAEA06J,IAAA,WACA,OAAAtqM,KAAA2gQ,SAAA,MAAA/wN,YAEAykM,IAAA,WACA,OAAAr0O,KAAA2gQ,SAAA,MAAA/wN,YAEA66J,IAAA,WACA,OAAAzqM,KAAA2gQ,SAAA,MAAA/wN,YAEAslM,KAAA,WACA,OAAAl1O,KAAA2gQ,SAAA,OAAA/wN,YAGAgxN,SAAA,WACA,OAAA5gQ,KAAAwnB,OAAA4iL,KAEAy2D,SAAA,WACA,OAAA7gQ,KAAAwnB,OAAA8iL,KAEAw2D,SAAA,WACA,OAAA9gQ,KAAAwnB,OAAA6sN,KAEA0sB,SAAA,WACA,IAAAv5O,EAAAxnB,KAAAwnB,OACA,WAAAA,EAAA+iL,MACA/iL,EAAAijL,IAAA/1L,OAAA,CAAA8S,EAAA+iL,QAEA/iL,EAAAijL,KAEAu2D,UAAA,WACA,OAAAhhQ,KAAAwnB,OAAA0tN,MAEA+rB,UAAA,WACA,IAAAz5O,EAAAxnB,KAAAwnB,OACA,OAAAA,EAAA4iL,IAAA11L,OAAA,CAAA8S,EAAA+iL,SAEA22D,UAAA,WACA,IAAA15O,EAAAxnB,KAAAwnB,OACA,OAAAA,EAAA8iL,IAAA51L,OAAA,CAAA8S,EAAA+iL,SAEAA,MAAA,SAAAhwK,GACA,YAAA5zB,IAAA4zB,EACAv6B,KAAAwnB,OAAA+iL,OAEAvqM,KAAAw6O,UAAA,QAAAjgN,GACAv6B,OAGA83E,IAAA,SAAAv9C,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAq5C,MAAA,SAAAr5C,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAw2C,KAAA,SAAAx2C,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEA6mO,IAAA,SAAA7mO,GAKA,OAJAA,IACAA,GAAA,IACAA,IAAA,MAAAA,KAEAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEA8mO,WAAA,SAAA9mO,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAkmO,UAAA,SAAAlmO,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEA+mO,YAAA,SAAA/mO,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAmmO,UAAA,SAAAnmO,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAgnO,UAAA,SAAAhnO,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAt0B,MAAA,SAAAs0B,GACA,OAAAv6B,KAAAmhQ,WAAA,QAAA5mO,IAEAm3C,KAAA,SAAAn3C,GACA,OAAAv6B,KAAAmhQ,WAAA,SAAA5mO,IAEAo7C,QAAA,SAAAp7C,GACA,OAAAv6B,KAAAmhQ,WAAA,SAAA5mO,IAEAg/C,OAAA,SAAAh/C,GACA,OAAAv6B,KAAAmhQ,WAAA,SAAA5mO,IAEAs2C,MAAA,SAAAt2C,GACA,OAAAv6B,KAAAmhQ,WAAA,SAAA5mO,IAGAwwK,UAAA,WACA,OAAA9H,EAAA8H,UAAA/qM,KAAAwnB,OAAA4iL,MAEAr2J,UAAA,WACA,OAAAkvJ,EAAAlvJ,UAAA/zC,KAAAwnB,OAAA4iL,IAAApqM,KAAAwnB,OAAA+iL,QAEAU,WAAA,WACA,OAAAhI,EAAAgI,WAAAjrM,KAAAwnB,OAAA4iL,IAAApqM,KAAAwnB,OAAA+iL,QAEAW,cAAA,WACA,OAAAjI,EAAAiI,cAAAlrM,KAAAwnB,OAAA4iL,IAAApqM,KAAAwnB,OAAA+iL,QAEAa,UAAA,WACA,OAAAnI,EAAAmI,UAAAprM,KAAAwnB,OAAA8iL,IAAAtqM,KAAAwnB,OAAA+iL,QAEAc,WAAA,WACA,OAAApI,EAAAoI,WAAArrM,KAAAwnB,OAAA8iL,IAAAtqM,KAAAwnB,OAAA+iL,QAEAe,UAAA,WACA,OAAArI,EAAAqI,UAAAtrM,KAAAwnB,OAAAijL,IAAAzqM,KAAAwnB,OAAA+iL,QAEAJ,QAAA,WACA,OAAAlH,EAAAkH,QAAAnqM,KAAAwnB,OAAA4iL,IAAApqM,KAAAwnB,OAAA+iL,QAGAi3D,UAAA,WACA,IAAAp3D,EAAApqM,KAAAwnB,OAAA4iL,IACA,OAAAA,EAAA,OAAAA,EAAA,MAAAA,EAAA,IAGAq3D,WAAA,WAIA,IAFA,IAAAr3D,EAAApqM,KAAAwnB,OAAA4iL,IACAs3D,EAAA,GACA/gQ,EAAA,EAAiBA,EAAAypM,EAAAjoM,OAAgBxB,IAAA,CACjC,IAAAghQ,EAAAv3D,EAAAzpM,GAAA,IACA+gQ,EAAA/gQ,GAAAghQ,GAAA,OAAAA,EAAA,MAAA59P,KAAAulB,KAAAq4O,EAAA,iBAEA,YAAAD,EAAA,SAAAA,EAAA,SAAAA,EAAA,IAGAE,SAAA,SAAAC,GAEA,IAAAC,EAAA9hQ,KAAAyhQ,aACAM,EAAAF,EAAAJ,aACA,OAAAK,EAAAC,GACAD,EAAA,MAAAC,EAAA,MAEAA,EAAA,MAAAD,EAAA,MAGAhgI,MAAA,SAAA+/H,GACA,IAAAG,EAAAhiQ,KAAA4hQ,SAAAC,GACA,OAAAG,GAAA,IACA,MAGAA,GAAA,aAGAC,KAAA,WAEA,IAAA73D,EAAApqM,KAAAwnB,OAAA4iL,IACA83D,GAAA,IAAA93D,EAAA,OAAAA,EAAA,OAAAA,EAAA,QACA,OAAA83D,EAAA,KAGAC,MAAA,WACA,OAAAniQ,KAAAiiQ,QAGA33G,OAAA,WAEA,IADA,IAAA8/C,EAAA,GACAzpM,EAAA,EAAiBA,EAAA,EAAOA,IACxBypM,EAAAzpM,GAAA,IAAAX,KAAAwnB,OAAA4iL,IAAAzpM,GAGA,OADAX,KAAAw6O,UAAA,MAAApwC,GACApqM,MAGAoiQ,QAAA,SAAAj+L,GACA,IAAAmmI,EAAAtqM,KAAAwnB,OAAA8iL,IAGA,OAFAA,EAAA,IAAAA,EAAA,GAAAnmI,EACAnkE,KAAAw6O,UAAA,MAAAlwC,GACAtqM,MAGAq9M,OAAA,SAAAl5I,GACA,IAAAmmI,EAAAtqM,KAAAwnB,OAAA8iL,IAGA,OAFAA,EAAA,IAAAA,EAAA,GAAAnmI,EACAnkE,KAAAw6O,UAAA,MAAAlwC,GACAtqM,MAGAo9M,SAAA,SAAAj5I,GACA,IAAAmmI,EAAAtqM,KAAAwnB,OAAA8iL,IAGA,OAFAA,EAAA,IAAAA,EAAA,GAAAnmI,EACAnkE,KAAAw6O,UAAA,MAAAlwC,GACAtqM,MAGAqiQ,WAAA,SAAAl+L,GACA,IAAAmmI,EAAAtqM,KAAAwnB,OAAA8iL,IAGA,OAFAA,EAAA,IAAAA,EAAA,GAAAnmI,EACAnkE,KAAAw6O,UAAA,MAAAlwC,GACAtqM,MAGAsiQ,OAAA,SAAAn+L,GACA,IAAAsmI,EAAAzqM,KAAAwnB,OAAAijL,IAGA,OAFAA,EAAA,IAAAA,EAAA,GAAAtmI,EACAnkE,KAAAw6O,UAAA,MAAA/vC,GACAzqM,MAGAuiQ,QAAA,SAAAp+L,GACA,IAAAsmI,EAAAzqM,KAAAwnB,OAAAijL,IAGA,OAFAA,EAAA,IAAAA,EAAA,GAAAtmI,EACAnkE,KAAAw6O,UAAA,MAAA/vC,GACAzqM,MAGAwiQ,UAAA,WACA,IAAAp4D,EAAApqM,KAAAwnB,OAAA4iL,IAEA7vK,EAAA,GAAA6vK,EAAA,OAAAA,EAAA,OAAAA,EAAA,GAEA,OADApqM,KAAAw6O,UAAA,OAAAjgN,QACAv6B,MAGAyiQ,QAAA,SAAAt+L,GACA,IAAAomI,EAAAvqM,KAAAwnB,OAAA+iL,MAEA,OADAvqM,KAAAw6O,UAAA,QAAAjwC,IAAApmI,GACAnkE,MAGA0iQ,QAAA,SAAAv+L,GACA,IAAAomI,EAAAvqM,KAAAwnB,OAAA+iL,MAEA,OADAvqM,KAAAw6O,UAAA,QAAAjwC,IAAApmI,GACAnkE,MAGAqgC,OAAA,SAAAilK,GACA,IAAAgF,EAAAtqM,KAAAwnB,OAAA8iL,IACA82D,GAAA92D,EAAA,GAAAhF,GAAA,IAGA,OAFAgF,EAAA,GAAA82D,EAAA,MAAAA,IACAphQ,KAAAw6O,UAAA,MAAAlwC,GACAtqM,MAOA8zC,IAAA,SAAA6uN,EAAAz6P,GACA,IAAA06P,EAAA5iQ,KACA6hQ,EAAAc,EACAzmO,OAAAv1B,IAAAuB,EAAA,GAAAA,EAEAomE,EAAA,EAAApyC,EAAA,EACA57B,EAAAsiQ,EAAAr4D,QAAAs3D,EAAAt3D,QAEAs4D,IAAAv0L,EAAAhuE,KAAA,EAAAguE,KAAAhuE,IAAA,EAAAguE,EAAAhuE,IAAA,KACAwiQ,EAAA,EAAAD,EAEA,OAAA7iQ,KACAoqM,IACAy4D,EAAAD,EAAA9qL,MAAAgrL,EAAAjB,EAAA/pL,MACA+qL,EAAAD,EAAAhvL,QAAAkvL,EAAAjB,EAAAjuL,QACAivL,EAAAD,EAAA7xL,OAAA+xL,EAAAjB,EAAA9wL,QAEAw5H,MAAAq4D,EAAAr4D,QAAAruK,EAAA2lO,EAAAt3D,SAAA,EAAAruK,KAGA48E,OAAA,WACA,OAAA94G,KAAAoqM,OAGA5gK,MAAA,WAKA,IAGAvjC,EAAAC,EAHAw5B,EAAA,IAAA8gO,EACAtjP,EAAAld,KAAAwnB,OACA9O,EAAAgnB,EAAAlY,OAGA,QAAAmuC,KAAAz4C,EACAA,EAAAa,eAAA43C,KACA1vD,EAAAiX,EAAAy4C,GACAzvD,EAAA,GAAcknB,SAAApc,KAAA/K,GACd,mBAAAC,EACAwS,EAAAi9C,GAAA1vD,EAAA3D,MAAA,GACK,oBAAA4D,EACLwS,EAAAi9C,GAAA1vD,EAEAu0B,QAAAw/C,MAAA,0BAAA/zE,IAKA,OAAAy5B,IAIA8gO,EAAAv/P,UAAA0xJ,OAAA,CACAy3C,IAAA,uBACAE,IAAA,iCACA+pC,IAAA,6BACA5pC,IAAA,gCACAyqC,KAAA,qCAGAsrB,EAAAv/P,UAAA8hQ,MAAA,CACA34D,IAAA,cACAE,IAAA,cACA+pC,IAAA,cACA5pC,IAAA,cACAyqC,KAAA,mBAGAsrB,EAAAv/P,UAAAs5O,UAAA,SAAAD,GAIA,IAHA,IAAA9yN,EAAAxnB,KAAAwnB,OACAsjL,EAAA,GAEAnqM,EAAA,EAAgBA,EAAA25O,EAAAn4O,OAAkBxB,IAClCmqM,EAAAwvC,EAAA9hN,OAAA73B,IAAA6mB,EAAA8yN,GAAA35O,GAQA,OALA,IAAA6mB,EAAA+iL,QACAO,EAAAxqM,EAAAknB,EAAA+iL,OAIAO,GAGA01D,EAAAv/P,UAAAu5O,UAAA,SAAAF,EAAAxvC,GACA,IAIAnqM,EAkCAqiQ,EAtCAx7O,EAAAxnB,KAAAwnB,OACAmrI,EAAA3yJ,KAAA2yJ,OACAowG,EAAA/iQ,KAAA+iQ,MACAx4D,EAAA,EAKA,GAFAvqM,KAAA6zC,OAAA,EAEA,UAAAymM,EACA/vC,EAAAO,OACE,GAAAA,EAAA3oM,OAEFqlB,EAAA8yN,GAAAxvC,EAAAxoM,MAAA,EAAAg4O,EAAAn4O,QACAooM,EAAAO,EAAAwvC,EAAAn4O,aACE,QAAAwE,IAAAmkM,EAAAwvC,EAAA9hN,OAAA,KAEF,IAAA73B,EAAA,EAAaA,EAAA25O,EAAAn4O,OAAkBxB,IAC/B6mB,EAAA8yN,GAAA35O,GAAAmqM,EAAAwvC,EAAA9hN,OAAA73B,IAGA4pM,EAAAO,EAAAxqM,OACE,QAAAqG,IAAAmkM,EAAAn4C,EAAA2nF,GAAA,KAEF,IAAA2oB,EAAAtwG,EAAA2nF,GAEA,IAAA35O,EAAA,EAAaA,EAAA25O,EAAAn4O,OAAkBxB,IAC/B6mB,EAAA8yN,GAAA35O,GAAAmqM,EAAAm4D,EAAAtiQ,IAGA4pM,EAAAO,EAAAP,MAKA,GAFA/iL,EAAA+iL,MAAAxmM,KAAA0K,IAAA,EAAA1K,KAAAyiC,IAAA,OAAA7/B,IAAA4jM,EAAA/iL,EAAA+iL,UAEA,UAAA+vC,EACA,SAMA,IAAA35O,EAAA,EAAYA,EAAA25O,EAAAn4O,OAAkBxB,IAC9BqiQ,EAAAj/P,KAAA0K,IAAA,EAAA1K,KAAAyiC,IAAAu8N,EAAAzoB,GAAA35O,GAAA6mB,EAAA8yN,GAAA35O,KACA6mB,EAAA8yN,GAAA35O,GAAAoD,KAAAkjB,MAAA+7O,GAIA,QAAAE,KAAAvwG,EACAuwG,IAAA5oB,IACA9yN,EAAA07O,GAAA7iN,EAAAi6L,GAAA4oB,GAAA17O,EAAA8yN,KAIA,UAGAkmB,EAAAv/P,UAAA0/P,SAAA,SAAArmB,EAAA3qM,GACA,IAAAm7J,EAAAn7J,EAAA,GAEA,YAAAhpC,IAAAmkM,EAEA9qM,KAAAu6O,UAAAD,IAIA,kBAAAxvC,IACAA,EAAAjpM,MAAAZ,UAAAqB,MAAA0O,KAAA2+B,IAGA3vC,KAAAw6O,UAAAF,EAAAxvC,GACA9qM,OAGAwgQ,EAAAv/P,UAAAkgQ,WAAA,SAAA7mB,EAAAl6O,EAAAm6B,GACA,IAAA4oO,EAAAnjQ,KAAAwnB,OAAA8yN,GACA,YAAA3zO,IAAA4zB,EAEA4oO,EAAA/iQ,GACEm6B,IAAA4oO,EAAA/iQ,GAEFJ,MAIAmjQ,EAAA/iQ,GAAAm6B,EACAv6B,KAAAw6O,UAAAF,EAAA6oB,GAEAnjQ,OAGA,qBAAAwmB,SACAA,OAAAg6O,SAGAnhQ,EAAAC,QAAAkhQ,wBCpeA,IAAAxyP,EAAWvO,EAAQ,QAAYkS,UAyB/BtS,EAAAC,QAAA,SAAAoH,GACA,IAAA0Z,EAAA,CAAAxL,mBAOA,OANA5G,EAAAtH,EAAA,SAAA2M,GACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,IACA+M,EAAA,GAAA/M,EAAA,KAAA+M,EAAA,GAAA/M,EAAA,MAEA+M,sCCjCA,IAAAgjP,EAAA3jQ,EAAA,QAAA4jQ,EAAA5jQ,EAAAyC,EAAAkhQ,GAAkrBC,EAAG,wBCArrB,IAAA1vP,EAAalU,EAAQ,QACrBwnG,EAAexnG,EAAQ,QACvByhC,EAAgBzhC,EAAQ,QACxB69C,EAAoB79C,EAAQ,QAC5BgH,EAAAy6B,EAAAz6B,QACAI,EAAAq6B,EAAAr6B,YAqEA,SAAAqgG,EAAA7jG,EAAAwmE,GACA,IAAAlpE,EACAupD,GAAA,EACA,IAAAvpD,EAAA,EAAeA,EAAAkpE,EAAAlkE,YAAAxD,OAAmCxB,IAClD,GAAA08C,EAAAwsB,EAAAlkE,YAAAhF,GAAA0C,EAAAsC,aAAA,CACAukD,GAAA,EACA,MAGA,OAAAA,EAGA,SAAAi9C,EAAAC,EAAAC,GACA,QAAA1mG,EAAA,EAAmBA,EAAAymG,EAAAzhG,YAAAxD,OAAoCxB,IAAA,CAEvD,IADA,IAAA2iQ,GAAA,EACAtlN,EAAA,EAAwBA,EAAAqpD,EAAA1hG,YAAAxD,OAAqC67C,IAC7DX,EAAA+pD,EAAAzhG,YAAAhF,GAAA0mG,EAAA1hG,YAAAq4C,MACAslN,GAAA,GAGA,IAAAA,EACA,SAGA,SAGA,SAAA/7J,EAAA19B,EAAA/zD,GAGA,IAFA,IAAAytP,GAAA,EAEA5iQ,EAAA,EAAmBA,EAAAkpE,EAAAlkE,YAAAxD,OAAmCxB,IAAA,CACtD,IAAA28C,EAAAusB,EAAAlkE,YAAAhF,GAAAmV,GACA,SAEAytP,IACAA,EAAAjmN,EAAAusB,EAAAlkE,YAAAhF,GAAAmV,GAAA,IAGA,OAAAytP,EAGA,SAAA97J,EAAA59B,EAAApwC,GAGA,IAFA,IAAAywB,GAAA,EACAs5M,GAAA,EACA7iQ,EAAA,EAAmBA,EAAAkpE,EAAAlkE,YAAAxD,OAAmCxB,IAAA,CACtD,IAAA6sD,EAAA75C,EAAAk2D,EAAAlkE,YAAA,GAAA8zB,GACA,IAAA+zB,EAAA,CACAtD,GAAA,EACA,MAEAs5M,IACAh2M,EAAA75C,EAAAk2D,EAAAlkE,YAAA,GAAA8zB,GAAA,IAGA,OAAAywB,GAAAsD,EAGA,SAAAjQ,EAAAI,EAAAC,GACA,QAAAj9C,EAAA,EAAmBA,EAAAg9C,EAAAh4C,YAAAxD,OAAoCxB,IACvD,IAAA28C,EAAAK,EAAAh4C,YAAAhF,GAAAi9C,GACA,SAGA,SAGA,SAAAJ,EAAA3nC,EAAA4jB,GACA,IAAAiuE,EAAAT,EAAAxtE,GACAkuE,EAAAV,EAAApxF,GACA,IAAA+xF,EAAAF,EAAAC,GACA,SAIA,IAFA,IAAA47J,GAAA,EAEA5iQ,EAAA,EAAmBA,EAAAkV,EAAAlQ,YAAAxD,OAAA,EAAuCxB,IAAA,CAC1D,IAAAgT,EAAAkC,EAAAlQ,YAAAhF,GAAA84B,GACA,SAKA,GAHA8pO,IACAA,EAAA5vP,EAAAkC,EAAAlQ,YAAAhF,GAAA84B,GAAA,KAEA8pO,EAAA,CACA,IAAA7gJ,EAAA5a,EAAAjyF,EAAAlQ,YAAAhF,GAAAkV,EAAAlQ,YAAAhF,EAAA,IACA4iQ,EAAA5vP,EAAA+uG,EAAAjpF,GAAA,IAIA,OAAA8pO,EAYA,SAAA9lN,EAAAK,EAAAC,GACA,IAAAgqD,EAAAd,EAAAnpD,GACAkqD,EAAAf,EAAAlpD,GACA,IAAA6pD,EAAAI,EAAAD,GACA,SAEA,QAAApnG,EAAA,EAAmBA,EAAAm9C,EAAAn4C,YAAA,GAAAxD,OAAoCxB,IACvD,IAAAgT,EAAAmqC,EAAAn4C,YAAA,GAAAhF,GAAAo9C,GACA,SAGA,SAGA,SAAA6pD,EAAAK,EAAAC,GACA,QAAAD,EAAA,GAAAC,EAAA,QACAD,EAAA,GAAAC,EAAA,QACAD,EAAA,GAAAC,EAAA,OACAD,EAAA,GAAAC,EAAA,MAYA,SAAA7qD,EAAAmB,EAAAC,GACA,OAAAD,EAAA,KAAAC,EAAA,IAAAD,EAAA,KAAAC,EAAA,GAWA,SAAAqpD,EAAAtpD,EAAAC,GACA,QAAAD,EAAA,GAAAC,EAAA,OAAAD,EAAA,GAAAC,EAAA,OAhMAp/C,EAAAC,QAAA,SAAAw+C,EAAAC,GACA,IAAA2O,EAAA7lD,EAAAi3C,GACA6O,EAAA9lD,EAAAk3C,GACAZ,EAAA12C,EAAAq3C,GACAV,EAAA32C,EAAAs3C,GAEA,OAAA2O,GACA,YACA,OAAAC,GACA,iBACA,OAAAu6C,EAAA/pD,EAAAC,GACA,iBACA,OAAAE,EAAAH,EAAAC,GAAA,GACA,cACA,OAAAzpC,EAAAwpC,EAAAC,GAAA,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,iBACA,OAAAA,GACA,iBACA,OAAAw6C,EAAAhqD,EAAAC,GACA,iBACA,OAAAmqD,EAAApqD,EAAAC,GACA,cACA,OAAAqqD,EAAAtqD,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,iBACA,OAAAA,GACA,iBACA,OAAApP,EAAAJ,EAAAC,GACA,cACA,OAAAI,EAAAL,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,cACA,OAAAA,GACA,cACA,OAAAlP,EAAAN,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,QACA,UAAAvqD,MAAA,YAAAsqD,EAAA,gECpEArtD,EAAAC,QAAA,SAAAgjC,GAEAA,EAAAM,KAAA,SAAAjtB,EAAA/K,GAGA,OAFAA,EAAA1E,KAAA,OAEA,IAAAo8B,EAAA3sB,EAAA/K,2BCGA,IAVA,IAAA8I,EAAejU,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB4D,EAAA8D,EAAA9D,MACAo2B,EAAAtyB,EAAAsyB,QACAlzB,EAAAY,EAAAZ,kBAIAk9P,EAAA,GACAC,EAAA,GACA/iQ,EAAA,EAAeA,EAAA,EAAOA,IAAA,CACtB,IAAAsoE,EAAA,EAAAllE,KAAAsvC,GAAA,EAAA1yC,EACA8iQ,EAAA7iQ,KAAAmD,KAAAklB,IAAAggD,IACAy6L,EAAA9iQ,KAAAmD,KAAAolB,IAAA8/C,IAgGA,SAAA06L,EAAA99O,EAAAqqF,EAAAC,GAEA,IADA,IAAAtwG,EAAA,GACAc,EAAA,EAAmBA,EAAA,EAAOA,IAAA,CAC1B,IAAAwO,EAAA0W,EAAA,GAAAqqF,EAAAuzJ,EAAA9iQ,GACAyO,EAAAyW,EAAA,GAAAsqF,EAAAuzJ,EAAA/iQ,GACAd,EAAAe,KAAA,CAAAuO,EAAAC,IAIA,OADAvP,EAAAe,KAAAf,EAAA,GAAAyC,SACAm3B,EAAA,CAAA55B,IAIA,SAAA+jQ,EAAA/9O,EAAAqqF,EAAAC,GAEA,IADA,IAAAltG,EAAA,GACAtC,EAAA,EAAmBA,EAAA,EAAOA,IAAA,CAC1B,IAAAd,EAAA,GACAA,EAAAe,KAAAilB,GACAhmB,EAAAe,KAAA,CACAilB,EAAA,GAAAqqF,EAAAuzJ,EAAA9iQ,GACAklB,EAAA,GAAAsqF,EAAAuzJ,EAAA/iQ,KAEAd,EAAAe,KAAA,CACAilB,EAAA,GAAAqqF,EAAAuzJ,GAAA9iQ,EAAA,MACAklB,EAAA,GAAAsqF,EAAAuzJ,GAAA/iQ,EAAA,QAEAd,EAAAe,KAAAilB,GACA5iB,EAAArC,KAAA64B,EAAA,CAAA55B,KAEA,OAAAoD,EArGA5D,EAAAC,QAAA,SAAA8gB,EAAAyjP,EAAA1kO,EAAAl8B,GACA,IAAA+yB,EAAA5V,EAAA,GACA6V,EAAA7V,EAAA,GACA8V,EAAA9V,EAAA,GACA+V,EAAA/V,EAAA,GACAvQ,GAAAomB,EAAAE,GAAA,EACAvmB,GAAAomB,EAAAE,GAAA,EAGAmjF,EAAAwqJ,EAAAnwP,EAAArQ,EAAA,CAAA2yB,EAAAnmB,IAAAxM,EAAA,CAAA6yB,EAAArmB,IAAAsvB,GACA8uC,EAAAorC,GAAAnjF,EAAAF,GACAsjF,EAAAuqJ,EAAAnwP,EAAArQ,EAAA,CAAAuM,EAAAqmB,IAAA5yB,EAAA,CAAAuM,EAAAumB,IAAAgJ,GACAo6E,EAAAD,GAAAnjF,EAAAF,GACAvmB,EAAAu+D,EAAA,EAEA61L,EAAA,EAAAp0P,EACAq0P,EAAAhgQ,KAAAgR,KAAA,KAAAwkG,EAEAyqJ,EAAA9tO,EAAAF,EACAiuO,EAAA9tO,EAAAF,EAEAiuO,EAAA,IAAAJ,EACAK,EAAAJ,EAEAK,EAAAJ,GAAAF,EAAAp0P,EAAA,GACA20P,EAAAtgQ,KAAAo6B,KAAAimO,GACArgQ,KAAAkjB,MAAAm9O,KAAAC,GACAA,IAGA,IAAAC,GAAAD,EAAAH,EAAAx0P,EAAA,EAAAs0P,GAAA,EAAAt0P,EAAA,EAEA60P,EAAAxgQ,KAAAo6B,KAAA8lO,EAAAF,GAEAS,GAAAP,EAAAM,EAAAR,GAAA,EAEAU,EAAAF,EAAAR,EAAAE,EAAAF,EAAA,EACAU,IACAD,GAAAT,EAAA,GAIA,IADA,IAAAjwP,EAAAvN,EAAA,IACA4I,EAAA,EAAmBA,EAAAk1P,EAAal1P,IAChC,QAAAC,EAAA,EAAuBA,GAAAm1P,EAAcn1P,IAAA,CAErC,IAAAs1P,EAAAv1P,EAAA,MACA,QAAAC,IAAAs1P,KAIA,IAAAt1P,IAAAq1P,GAAA,CAIA,IAAAE,EAAAx1P,EAAA+0P,EAAAluO,EAAAsuO,EACAM,EAAAx1P,EAAA+0P,EAAAluO,EAAAuuO,EAEAE,IACAE,GAAAb,EAAA,GAEA9gQ,EACA6Q,EAAAtN,SAAA5F,KAAA2B,MAAAuR,EAAAtN,SAAAo9P,EAAA,CAAAe,EAAAC,GAAA32L,EAAA,EAAAsrC,EAAA,IAEAzlG,EAAAtN,SAAA5F,KAAA+iQ,EAAA,CAAAgB,EAAAC,GAAA32L,EAAA,EAAAsrC,EAAA,KAKA,OAAAzlG,yBCzGA,IAAArL,EAAWhJ,EAAQ,QACnByhC,EAAgBzhC,EAAQ,QACxBmqC,EAAuBnqC,EAAQ,QAC/BkS,EAAAlJ,EAAAkJ,UACA/L,EAAAs7B,EAAAt7B,UAsBAvG,EAAAC,QAAA,SAAAoH,EAAAgN,EAAA6J,EAAA4hB,EAAA0lO,EAAApmO,GAEA,IAAA/3B,EAAA,UAAAtE,MAAA,uBACA,QAAAuE,IAAA+M,GAAA,OAAAA,GAAArE,MAAAqE,GAAA,UAAAtR,MAAA,wBACA,GAAAyiQ,GAAA,kBAAAA,GAAAx1P,MAAAw1P,GAAA,UAAAziQ,MAAA,gCAIA,GADAyiQ,OAAAl+P,IAAAk+P,IAAA,EACA,IAAAnxP,GAAA,IAAAmxP,EAAA,OAAAn+P,EAEA,QAAAC,IAAA4W,GAAA,OAAAA,GAAAlO,MAAAkO,GAAA,UAAAnb,MAAA,yBAkBA,OAfAsR,EAAA,IACAA,KACA6J,OAIA,IAAAkhB,QAAA93B,IAAA83B,IAAA/3B,EAAA23B,KAAA5R,MAAA4R,KAAAC,UAAA53B,KAGAiL,EAAAjL,EAAA,SAAAulG,GACA,IAAAiiJ,EAAAtoP,EAAAgkC,EAAAqiE,EAAAv4F,EAAA6J,EAAA4hB,IACA8sE,EAAA,GAAAiiJ,EAAA,GACAjiJ,EAAA,GAAAiiJ,EAAA,GACA2W,GAAA,IAAA54J,EAAA9pG,SAAA8pG,EAAA,IAAA44J,KAEAn+P,yBCtDA,IAAAS,EAAc1H,EAAQ,QACtBkU,EAAalU,EAAQ,QACrBu9C,EAAoBv9C,EAAQ,QAC5Bw9C,EAAuBx9C,EAAQ,QAC/ByhC,EAAgBzhC,EAAQ,QACxBgH,EAAAy6B,EAAAz6B,QACAI,EAAAq6B,EAAAr6B,YA6DA,SAAAi+P,EAAAj7L,EAAA/zD,GACA,IAAAivP,GAAA,EACAC,GAAA,EACAC,EAAAp7L,EAAAlkE,YAAAxD,OACAxB,EAAA,EACA,MAAAA,EAAAskQ,IAAAF,IAAAC,EAAA,CACA,QAAAhnN,EAAA,EAAwBA,EAAAloC,EAAAnQ,YAAAxD,OAAA,EAAwC67C,IAAA,CAChE,IAAAknN,GAAA,EACA,IAAAlnN,OAAAloC,EAAAnQ,YAAAxD,OAAA,IACA+iQ,GAAA,GAEAxnN,EAAA5nC,EAAAnQ,YAAAq4C,GAAAloC,EAAAnQ,YAAAq4C,EAAA,GAAA6rB,EAAAlkE,YAAAhF,GAAAukQ,GACAH,GAAA,EAEAC,GAAA,EAGArkQ,IAEA,OAAAokQ,GAAAC,EAGA,SAAAG,EAAAxnN,EAAAC,GACA,IAAAC,EAAAb,EAAAW,EAAAC,GACA,GAAAC,EAAAr3C,SAAArE,OAAA,EACA,QAAAxB,EAAA,EAAuBA,EAAAg9C,EAAAh4C,YAAAxD,OAAA,EAAwCxB,IAC/D,QAAAq9C,EAAA,EAA4BA,EAAAJ,EAAAj4C,YAAAxD,OAAA,EAAyC67C,IAAA,CACrE,IAAAknN,GAAA,EAIA,GAHA,IAAAlnN,OAAAJ,EAAAj4C,YAAAxD,OAAA,IACA+iQ,GAAA,GAEAxnN,EAAAC,EAAAh4C,YAAAhF,GAAAg9C,EAAAh4C,YAAAhF,EAAA,GAAAi9C,EAAAj4C,YAAAq4C,GAAAknN,GACA,SAKA,SAGA,SAAAE,EAAAtvP,EAAA2jB,GACA,IAAAokB,EAAAb,EAAAlnC,EAAAmnC,EAAAxjB,IACA,OAAAokB,EAAAr3C,SAAArE,OAAA,EAMA,SAAAkjQ,EAAA5rO,EAAAp2B,GACA,OAAAsQ,EAAAtQ,EAAAo2B,GAGA,SAAA6rO,EAAAz7L,EAAApwC,GACA,IAAAsrO,GAAA,EACAC,GAAA,EACAC,EAAAp7L,EAAAlkE,YAAA,GAAAxD,OACAxB,EAAA,EACA,MAAAA,EAAAskQ,GAAAF,GAAAC,EACAK,EAAA5rO,EAAAtyB,EAAA9D,MAAAwmE,EAAAlkE,YAAA,GAAAhF,KAAA,GACAokQ,GAAA,EAEAC,GAAA,EAEArkQ,IAGA,OAAAqkQ,KAeA,SAAAtnN,EAAAqoJ,EAAAC,EAAA3iM,EAAAkiQ,GACA,IAAApnN,EAAA96C,EAAA,GAAA0iM,EAAA,GACA3nJ,EAAA/6C,EAAA,GAAA0iM,EAAA,GACA1nJ,EAAA2nJ,EAAA,GAAAD,EAAA,GACAznJ,EAAA0nJ,EAAA,GAAAD,EAAA,GACAxnJ,EAAAJ,EAAAG,EAAAF,EAAAC,EACA,WAAAE,IAGAgnN,EACAxhQ,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EAAA0nJ,EAAA,IAAA1iM,EAAA,IAAAA,EAAA,IAAA2iM,EAAA,GAAAA,EAAA,IAAA3iM,EAAA,IAAAA,EAAA,IAAA0iM,EAAA,GAEAznJ,EAAA,EAAAynJ,EAAA,IAAA1iM,EAAA,IAAAA,EAAA,IAAA2iM,EAAA,GAAAA,EAAA,IAAA3iM,EAAA,IAAAA,EAAA,IAAA0iM,EAAA,GAEAhiM,KAAA6hB,IAAAy4B,IAAAt6C,KAAA6hB,IAAA04B,GACAD,EAAA,EAAA0nJ,EAAA,GAAA1iM,EAAA,IAAAA,EAAA,GAAA2iM,EAAA,GAAAA,EAAA,GAAA3iM,EAAA,IAAAA,EAAA,GAAA0iM,EAAA,GAEAznJ,EAAA,EAAAynJ,EAAA,GAAA1iM,EAAA,IAAAA,EAAA,GAAA2iM,EAAA,GAAAA,EAAA,GAAA3iM,EAAA,IAAAA,EAAA,GAAA0iM,EAAA,IA5IA1mM,EAAAC,QAAA,SAAAw+C,EAAAC,GACA,IAAA2O,EAAA7lD,EAAAi3C,GACA6O,EAAA9lD,EAAAk3C,GACAZ,EAAA12C,EAAAq3C,GACAV,EAAA32C,EAAAs3C,GAEA,OAAA2O,GACA,iBACA,OAAAC,GACA,iBACA,OAAAm4M,EAAA3nN,EAAAC,GACA,cACA,OAAAkoN,EAAAnoN,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,iBACA,OAAAA,GACA,iBACA,OAAAm4M,EAAA1nN,EAAAD,GACA,iBACA,OAAAgoN,EAAAhoN,EAAAC,GACA,cACA,OAAAgoN,EAAAjoN,EAAAC,GACA,QACA,UAAAh7C,MAAA,YAAAuqD,EAAA,2BAEA,cACA,OAAAA,GACA,iBACA,OAAA24M,EAAAloN,EAAAD,GACA,iBACA,OAAAioN,EAAAhoN,EAAAD,GACA,QACA,UAAA/6C,MAAA,YAAAuqD,EAAA,2BAEA,QACA,UAAAvqD,MAAA,YAAAsqD,EAAA;;;;;;;EC9CA,SAAA84M,EAAA34P,EAAAwiC,EAAAo2N,GACA,IAAAC,EACAzjN,EAEA,IAAApgD,MAAAkE,QAAAspC,GACA,UAAAjtC,MAAA,mDAYA,OATAitC,EAAAv4B,QAAA,SAAA6uP,EAAAC,GACA,IAAAC,EAAAJ,EAAAE,EAAA94P,GAEAg5P,GAAA,wBAAA5jN,GAAA4jN,EAAA5jN,KACAA,EAAA4jN,EACAH,EAAAE,KAIAF,EAGArmQ,EAAAC,QAAA,CASAoyD,OAAA,SAAA7kD,EAAAwiC,GACA,OAAAm2N,EAAA34P,EAAAwiC,EAAA,SAAAs2N,EAAA94P,GACA,OAAA9I,KAAA6hB,IAAA+/O,EAAA94P,MAWAkjH,cAAA,SAAAljH,EAAAwiC,GACA,OAAAm2N,EAAA34P,EAAAwiC,EAAA,SAAAs2N,EAAA94P,GACA,OAAA84P,EAAA94P,KAWAi5P,YAAA,SAAAj5P,EAAAwiC,GACA,OAAAm2N,EAAA34P,EAAAwiC,EAAA,SAAAs2N,EAAA94P,GACA,OAAAA,EAAA84P,KAoBA3iO,OAAA,SAAAn2B,EAAAwiC,EAAA02N,GACA,OAAAP,EAAA34P,EAAAwiC,EAAA02N,gEC/FIC,EAAM,SAAAj3O,EAAAD,GAAsB,IAAAG,EAAAH,EAAAG,GAAc,OAAAA,EAAA,KAAeE,YAAA,KAAAolC,MAAA,QAAAzlC,EAAAnW,MAAA1S,MAAA,cAAA6oB,EAAAnW,MAAA1S,MAAA,0BAC7DirB,EAAA,GCIA+0O,EAAA,CACAttP,MAAA,CACA1S,MAAAkmC,UCPyY+5N,EAAA,cCOzYp0O,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd8tP,EACAF,EACA90O,GACF,EACA,KACA,KACA,MAIei1O,EAAAr0O,UClBAs0O,EAAA,CACbztP,MAAO,CACL1S,MAAO,GACPC,KAAMwmB,QAER25O,YAAY,EACZpuP,OANa,SAMLylB,EAAG/nB,GACT,OAAO+nB,EAAE,OAAQ/nB,EAAQgD,MAAM1S,MAAMkD,IAAI,SAAAlD,GAAK,OAAIA,EAAME,MAAQF,IAAOlF,KAAK,qBCHjEyf,EAAA,MACb7H,MAAO,CACL1S,MAAO,GACPC,KAAMwmB,OACNg2K,aAAch2K,QAEhB25O,YAAY,EACZpuP,OAPa,SAOLylB,EAAG/nB,GAAS,IAAA2wP,EACkB3wP,EAAQgD,MAArC1S,EADWqgQ,EACXrgQ,MAAOC,EADIogQ,EACJpgQ,KAAMw8L,EADF4jE,EACE5jE,aAEpB,OAAI7gM,MAAMkE,QAAQE,GACTy3B,EAAE0oO,EAAwB,CAACztP,MAAO,CAAC1S,QAAOC,UACvB,mBAAVD,GAAgC,YAATC,EAChCw3B,EAAEyoO,EAAoB,CAACxtP,MAAO,CAAC1S,WACnB,OAAVA,GAAoC,kBAAVA,GAA+B,WAATC,EAEtC,OAAVD,GAA4B,SAATC,GAA4B,aAATA,EAEtCD,GAASA,EAAME,KACjBu3B,EAAE,OAAQz3B,EAAME,MAEhBu3B,EAAE,OAAmB,OAAVz3B,QAA4BU,IAAVV,EAAuBA,EAAMmnB,WAAa,IAJvEsQ,EAAE,OAAQlO,oBAAOvpB,EAAOC,IAFxBw3B,EAAE,OAAQlO,oBAAOvpB,EAAOy8L,yCCnBrC,IAAAzqL,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,mBAA6Bo8C,YAAAv8C,EAAAw8C,GAAA,CAAAx8C,EAAAymC,OAAA,OAAwCv8C,IAAA,QAAAuyD,GAAA,WAA0B,OAAAz8C,EAAAoD,GAAA,WAAyBs5C,OAAA,GAAY,KAAA18C,EAAAymC,OAAA,aAAgCv8C,IAAA,cAAAuyD,GAAA,WAAgC,OAAAz8C,EAAAoD,GAAA,iBAA+Bs5C,OAAA,GAAY,gBAAkB,CAAAv8C,EAAA,OAAYE,YAAA,UAAqB,CAAAL,EAAAsC,GAAAtC,EAAA,qBAAAkF,EAAA5zB,GAAgD,OAAA6uB,EAAA,OAAkBjW,IAAAgb,EAAAxpB,GAAA2kB,YAAA,YAAAolC,MAAA,CAA2CgyM,mBAAAz3O,EAAA03O,iBAAwC,CAAA13O,EAAA03O,eAAmO13O,EAAAgB,KAAnOb,EAAA,SAAoCE,YAAA,cAAyB,CAAAF,EAAA,KAAUE,YAAA,eAAAhN,MAAA,CAAmCoxB,MAAAzkB,EAAA23O,WAAAzyO,EAAAxpB,OAAiCykB,EAAA,QAAAH,EAAAM,GAAA,QAAAN,EAAAO,GAAA2E,EAAA09B,WAAAziC,EAAA,SAA+DE,YAAA,cAAyB,CAAAL,EAAAM,GAAA,IAAAN,EAAAO,GAAAP,EAAAS,MAAAC,OAAAwE,EAAAqS,KAAA,eAAAvX,EAAAO,GAAAP,EAAAS,MAAAC,OAAAwE,EAAAqS,KAAAvX,EAAAoxE,UAAA,qBAAApxE,EAAAoD,GAAA,gBAAuK8B,OAAA5zB,QAAA6F,MAAA6oB,EAAA7oB,YAAAU,IAAAmoB,EAAA7oB,MAAA+tB,EAAAxpB,IAAAskB,EAAA7oB,MAAA+tB,EAAAxpB,IAAA,KAAA4pP,QAAA,SAAAjlP,GAAoI,OAAA2f,EAAAslO,QAAApgO,EAAAxpB,GAAA2E,OAAmC,OAAO,MACxkC+hB,EAAA,qpBCoCA,IAAAw1O,EAAA,CACArzO,WAAA,CACAqiC,kBAAA,MAEA/8C,MAAA,CACA1S,MAAA,CACA0gQ,UAAA,SAAAx3P,GAAA,cAAAA,MAAA,oBAAAA,EAAAie,YACA4J,UAAA,GAEAK,QAAA,CACAnxB,KAAAkS,OACA4e,UAAA,GAEAJ,QAAA,CACA1wB,KAAAwmB,OACA+E,QAAA,WAEA+0O,eAAAr6N,SAEAza,SAAA,CACAk1O,YADA,WAEA,OAAAxuP,OAAAy9C,EAAA,UAAAz9C,CAAApY,KAAAq3B,QAAAxD,MAAA,oBAEAqsE,UAJA,WAKA,OAAAlgG,KAAAq3B,QAAAxD,MAAAC,OAAA,SAAAqmE,EAAAnmE,GAAA,OAAAmmE,EAAAnmE,EAAAqS,MAAA,IAEAogO,WAPA,WAQA,OAAAruP,OAAA4oB,EAAA,KAAA5oB,CAAApY,KAAAq3B,QAAAr3B,KAAA42B,WAKArC,QAAA,CACA6/N,QADA,SACAloK,EAAAjmF,GACAjG,KAAAgsC,MAAA,QAAA/U,EAAA,GACAj3B,KAAAiG,MADAmS,OAAAC,EAAA,KAAAD,CAAA,GAEA8zE,EAAAjmF,OAIAyxB,MAAA,CACAL,QAAA,CACAM,WAAA,EACAkvO,MAAA,EACAjvO,QAHA,SAGAP,GAAA,IAAAvc,EAAA9a,KACAq3B,EAAAxD,MAIA7zB,KAAAgsC,MAAA,QAAA3U,EAAAxD,MAAAC,OAAA,SAAAC,EAAAC,GAEA,OADAD,EAAAC,EAAAxpB,IAAAsQ,EAAA7U,YAAAU,IAAAmU,EAAA7U,MAAA+tB,EAAAxpB,IAAAsQ,EAAA7U,MAAA+tB,EAAAxpB,IAAA,KACAupB,GACA,KANA/zB,KAAAgsC,MAAA,kBCnFgY86N,EAAA,0BCQhYh1O,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACd0uP,EACA7uP,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,6CCjBf,IAAAowC,EAAYziE,EAAQ,QACpB0iE,EAAmB1iE,EAAQ,QAE3BJ,EAAAC,QAAA,WAGA,IAAAknE,EAAA,CACAz+D,SAAA,UAGAg/P,EAAA7kM,EAAAx3D,OAAA,CAMAs8P,UAAA,WACA,IAAAp+P,EAAA5I,KAAAwI,MAAAI,KACA,OAAA5I,KAAA0M,QAAA1D,SAAAhJ,KAAA+L,eAAAnD,EAAAq+P,QAAAr+P,EAAAs+P,UAAAt+P,EAAAI,QAGAg+D,oBAAA,WACA,IAIAg7C,EAJA72G,EAAAnL,KACAgJ,EAAAmC,EAAA67P,YACA77P,EAAAmqI,SAAA,EACAnqI,EAAAg8P,SAAAn+P,EAAA7G,OAAA,OAGAwE,IAAAwE,EAAAuB,QAAAw4D,MAAA1+B,MAEAw7E,EAAAh5G,EAAAhG,QAAAmI,EAAAuB,QAAAw4D,MAAA1+B,KACAr7B,EAAAmqI,UAAA,IAAAtzB,IAAA72G,EAAAmqI,eAGA3uI,IAAAwE,EAAAuB,QAAAw4D,MAAAz2D,MAEAuzG,EAAAh5G,EAAAhG,QAAAmI,EAAAuB,QAAAw4D,MAAAz2D,KACAtD,EAAAg8P,UAAA,IAAAnlJ,IAAA72G,EAAAg8P,UAGAh8P,EAAAq7B,IAAAx9B,EAAAmC,EAAAmqI,UACAnqI,EAAAsD,IAAAzF,EAAAmC,EAAAg8P,WAGA7/L,WAAA,WACA,IAAAn8D,EAAAnL,KACAgJ,EAAAmC,EAAA67P,YAEA77P,EAAA+5D,MAAA,IAAA/5D,EAAAmqI,UAAAnqI,EAAAg8P,WAAAn+P,EAAA7G,OAAA,EAAA6G,IAAA1G,MAAA6I,EAAAmqI,SAAAnqI,EAAAg8P,SAAA,IAGAv/L,iBAAA,SAAAxnE,EAAAkI,GACA,IAAA6C,EAAAnL,KACA4I,EAAAuC,EAAA3C,MAAAI,KACAmD,EAAAZ,EAAAY,eAEA,OAAAnD,EAAAs+P,UAAAn7P,EACAZ,EAAA+6B,cAAAt9B,EAAAC,SAAAP,GAAAM,KAAAxI,IAEA+K,EAAA+5D,MAAA9kE,EAAA+K,EAAAmqI,WAIAlwG,iBAAA,SAAAn/B,EAAA7F,GACA,IAOAgnQ,EAPAj8P,EAAAnL,KACAujB,EAAApY,EAAAuB,QAAA6W,OAEA8jP,EAAAtjQ,KAAA0K,IAAAtD,EAAAg8P,SAAA,EAAAh8P,EAAAmqI,UAAA/xH,EAAA,QAQA,QAHA5c,IAAAV,GAAA,OAAAA,IACAmhQ,EAAAj8P,EAAAY,eAAA9F,EAAAkJ,EAAAlJ,EAAAmJ,QAEAzI,IAAAygQ,QAAAzgQ,IAAAV,GAAAoJ,MAAAjP,GAAA,CACA,IAAA4I,EAAAmC,EAAA67P,YACA/gQ,EAAAmhQ,GAAAnhQ,EACA,IAAAioC,EAAAllC,EAAAhG,QAAAiD,GACA7F,GAAA,IAAA8tC,IAAA9tC,EAGA,GAAA+K,EAAAY,eAAA,CACA,IAAAu7P,EAAAn8P,EAAAa,MAAAq7P,EACAE,EAAAD,GAAAlnQ,EAAA+K,EAAAmqI,UAMA,OAJA/xH,IACAgkP,GAAAD,EAAA,GAGAn8P,EAAAc,KAAAlI,KAAAkjB,MAAAsgP,GAEA,IAAAC,EAAAr8P,EAAAgB,OAAAk7P,EACAI,EAAAD,GAAApnQ,EAAA+K,EAAAmqI,UAMA,OAJA/xH,IACAkkP,GAAAD,EAAA,GAGAr8P,EAAAiB,IAAArI,KAAAkjB,MAAAwgP,IAEA9+L,gBAAA,SAAAvoE,GACA,OAAAJ,KAAAolC,iBAAAplC,KAAAklE,MAAA9kE,KAAAJ,KAAAs1I,SAAA,OAEAzsE,iBAAA,SAAA/hD,GACA,IAEA7gB,EAFAkF,EAAAnL,KACAujB,EAAApY,EAAAuB,QAAA6W,OAEA8jP,EAAAtjQ,KAAA0K,IAAAtD,EAAAkxG,OAAAl6G,QAAAohB,EAAA,QACAmkP,EAAAv8P,EAAAY,eACA47P,GAAAD,EAAAv8P,EAAAa,MAAAb,EAAAgB,QAAAk7P,EAcA,OAZAvgP,GAAA4gP,EAAAv8P,EAAAc,KAAAd,EAAAiB,IAEAmX,IACAuD,GAAA6gP,EAAA,GAIA1hQ,EADA6gB,GAAA,EACA,EAEA/iB,KAAAkjB,MAAAH,EAAA6gP,GAGA1hQ,EAAAkF,EAAAmqI,UAEAhwG,aAAA,WACA,OAAAtlC,KAAAqM,UAIA81D,EAAAsH,kBAAA,WAAAs9L,EAAAvgM,wBC7FA,SAAAohM,EAAAlhQ,GACA,IAAAmhQ,EAAA,CAAkB3hQ,KAAA,WAelB,OAbAkS,OAAA2C,KAAArU,GAAAoQ,QAAA,SAAAkC,GACA,OAAAA,GACA,WACA,iBACA,eACA,OACA,QACA6uP,EAAA7uP,GAAAtS,EAAAsS,MAIA6uP,EAAA/0P,WAAAg1P,EAAAphQ,EAAAoM,YACA+0P,EAAAhiQ,SAAAkiQ,EAAArhQ,EAAAb,UACAgiQ,EAUA,SAAAC,EAAAh1P,GACA,IAAA+0P,EAAA,GACA,OAAA/0P,GACAsF,OAAA2C,KAAAjI,GAAAgE,QAAA,SAAAkC,GACA,IAAA/S,EAAA6M,EAAAkG,GACA,kBAAA/S,GAEAA,EAAA9D,SAAA0lQ,EAAA7uP,GAAA/S,EAAAkD,IAAA,SAAA0D,GACA,OAAAA,KAGAg7P,EAAA7uP,GAAA8uP,EAAA7hQ,IACS4hQ,EAAA7uP,GAAA/S,IAET4hQ,GAZAA,EAsBA,SAAAG,EAAAthQ,GACA,IAAAmhQ,EAAA,CAAkB3hQ,KAAA,qBAgBlB,OAbAkS,OAAA2C,KAAArU,GAAAoQ,QAAA,SAAAkC,GACA,OAAAA,GACA,WACA,eACA,OACA,QACA6uP,EAAA7uP,GAAAtS,EAAAsS,MAIA6uP,EAAArhQ,SAAAE,EAAAF,SAAA2C,IAAA,SAAA9C,GACA,OAAAuhQ,EAAAvhQ,KAEAwhQ,EAUA,SAAAE,EAAAliQ,GACA,IAAAiB,EAAA,CAAgBZ,KAAAL,EAAAK,MAGhB,OAFAL,EAAAua,OAAAtZ,EAAAsZ,KAAAva,EAAAua,MAEA,uBAAAva,EAAAK,MACAY,EAAAF,WAAAf,EAAAe,WAAAuC,IAAA,SAAArC,GACA,OAAAihQ,EAAAjhQ,KAEAA,IAEAA,EAAAnB,YAAAsiQ,EAAApiQ,EAAAF,aACAmB,GAUA,SAAAmhQ,EAAAh2P,GACA,wBAAAA,EAAA,GAAwCA,EAAA3P,QACxC2P,EAAA9I,IAAA,SAAAkK,GACA,OAAA40P,EAAA50P,KAjIAhU,EAAAC,QAAA,SAAAoH,GACA,IAAAA,EAAA,UAAAtE,MAAA,uBAEA,OAAAsE,EAAAR,MACA,cACA,OAAA0hQ,EAAAlhQ,GACA,wBACA,OAAAshQ,EAAAthQ,GACA,YACA,iBACA,cACA,iBACA,sBACA,mBACA,yBACA,OAAAqhQ,EAAArhQ,GACA,QACA,UAAAtE,MAAA,8CC7BA/C,EAAAC,QAAA,ozCCAA,IAAA2Y,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,QAAAH,EAAA0lC,OAA2XvlC,EAAA,SAAsCE,YAAA,gCAA2C,CAAAF,EAAA,SAAcwc,WAAA,EAAatlC,KAAA,QAAAulC,QAAA,UAAAzlC,MAAA6oB,EAAA,WAAAe,WAAA,eAA8EG,MAAA,CAAS9pB,KAAA,QAAA4uD,SAAAhmC,EAAAgmC,UAAuCC,SAAA,CAAW9uD,MAAA6oB,EAAA7oB,MAAA0uD,QAAA7lC,EAAAo5O,GAAAp5O,EAAAq8C,WAAAr8C,EAAA7oB,QAA6D0qB,GAAA,CAAKskC,OAAA,SAAAnpB,GAA0Bhd,EAAAq8C,WAAAr8C,EAAA7oB,UAA2B6oB,EAAAoD,GAAA,eAAvuBjD,EAAA,OAA0CE,YAAA,+BAA0C,CAAAF,EAAA,SAAAA,EAAA,SAA0Bwc,WAAA,EAAatlC,KAAA,QAAAulC,QAAA,UAAAzlC,MAAA6oB,EAAA,WAAAe,WAAA,eAA8EG,MAAA,CAAS9pB,KAAA,QAAA4uD,SAAAhmC,EAAAgmC,UAAuCC,SAAA,CAAW9uD,MAAA6oB,EAAA7oB,MAAA0uD,QAAA7lC,EAAAo5O,GAAAp5O,EAAAq8C,WAAAr8C,EAAA7oB,QAA6D0qB,GAAA,CAAKskC,OAAA,SAAAnpB,GAA0Bhd,EAAAq8C,WAAAr8C,EAAA7oB,UAA2B6oB,EAAAoD,GAAA,oBACpdhB,EAAA,eCyBAi3O,EAAA,CACAz4O,MAAA,CACAimC,KAAA,aACAlc,MAAA,SAEA9gC,MAAA,CACA1S,MAAA,CAAA+wB,UAAA,GACAoxO,WAAA,GACA5zM,OAAAroB,QACA2oB,SAAA3oB,QACAk8N,QAAAl8N,SAEAza,SAAA,CACAy5C,WAAAU,EAAA,OCvC8Xy8L,EAAA,0BCQ9Xx2O,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdkwP,EACArwP,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,gCCnBf,IAAAzuB,EAAY5D,EAAQ,QAAe4D,MACnCklQ,EAAa9oQ,EAAQ,QACrBmU,EAAcnU,EAAQ,QACtBgU,EAAehU,EAAQ,QACvBgG,EAAehG,EAAQ,QAAiBgG,SACxCkM,EAAgBlS,EAAQ,QAAYkS,UAiBpC,SAAA62P,EAAA9hQ,EAAAoM,GACA,IAAA5M,EAAAQ,EAAA,SAAAA,EAAAb,SAAAK,KAAAQ,EAAAR,KAEA,OAAAA,GACA,YACA,OAAA7C,EAAAoC,EAAAiB,GAAAoM,GACA,cACA,IAAAb,EAAA,GACAN,EAAAjL,EAAA,SAAA2M,GACApB,EAAArR,KAAAyS,KAKA,IAKA1S,EAAA6pD,EAAAi+M,EAAA3uJ,EAAA2W,EAAA1W,EAAA2W,EAAApwH,EALAgwI,EAAA78H,EAAA/M,EAAAoM,GACA41P,EAAAp4H,EAAAzqI,SAAAF,YACAm1N,EAAA,EACAC,EAAA,EACA4tC,EAAA,EAGAC,EAAA32P,EAAA9I,IAAA,SAAA9F,GACA,OACAA,EAAA,GAAAqlQ,EAAA,GACArlQ,EAAA,GAAAqlQ,EAAA,MAIA,IAAA/nQ,EAAA,EAAmBA,EAAAsR,EAAA9P,OAAA,EAAuBxB,IAE1C6pD,EAAAo+M,EAAAjoQ,GACAm5G,EAAAtvD,EAAA,GACAuvD,EAAAvvD,EAAA,GAGAi+M,EAAAG,EAAAjoQ,EAAA,GACA8vH,EAAAg4I,EAAA,GACA/3I,EAAA+3I,EAAA,GAGAnoQ,EAAAw5G,EAAA4W,EAAAD,EAAA1W,EAGA4uJ,GAAAroQ,EAGAw6N,IAAAhhH,EAAA2W,GAAAnwH,EACAy6N,IAAAhhH,EAAA2W,GAAApwH,EAIA,OAAAqoQ,EACA,OAAAr4H,EAGA,IAAAjqG,EAAA,GAAAsiO,EACAE,EAAA,KAAAxiO,GAGA,OAAAhjC,EAAA,CACAqlQ,EAAA,GAAAG,EAAA/tC,EACA4tC,EAAA,GAAAG,EAAA9tC,GACAjoN,GAEA,QAEA,IAAAksL,EAAAupE,EAAA30P,EAAAlN,IAEA,OAAAs4L,EACAwpE,EAAAxpE,EAAAlsL,GAGAW,EAAA/M,EAAAoM,IAKAzT,EAAAC,QAAAkpQ,qCCjGA,IAAAvhQ,EAAexH,EAAQ,QACvB0H,EAAc1H,EAAQ,QACtB0iE,EAAmB1iE,EAAQ,QAC3BinG,EAAYjnG,EAAQ,QAEpBJ,EAAAC,QAAA,SAAAgjC,GAEA,IAAA+3C,EAAApzE,EAAAgG,OAEAu5D,EAAA,CACA1+D,SAAA,EAGAqe,SAAA,EACApe,SAAA,YAEA0zP,WAAA,CACA3zP,SAAA,EACAyrC,MAAA,qBACArpC,UAAA,GAGAioG,UAAA,CACAupJ,UAAA,GAIAx2L,MAAA,CAEA4jM,mBAAA,EAGAC,cAAA,yBAGAC,iBAAA,EAGAC,iBAAA,EAEAr8P,SAAA85F,EAAA5jD,WAAA0T,QAGAmlM,YAAA,CAEA7zP,SAAA,EAGAN,SAAA,GAGAoF,SAAA,SAAAtD,GACA,OAAAA,KAKA,SAAA4/P,EAAAxzO,GACA,IAAA5oB,EAAA4oB,EAAAhpB,QACA,OAAAI,EAAA2uP,WAAA3zP,SAAAgF,EAAA6uP,YAAA7zP,QAAA4tB,EAAAltB,MAAAI,KAAAI,OAAA7G,OAAA,EAGA,SAAAgnQ,EAAAzzO,GACA,IAAA0zO,EAAA1zO,EAAAhpB,QAAAivP,YACAn0P,EAAAL,EAAA+F,eAAAk8P,EAAA5hQ,SAAA6yE,EAAAltE,iBACAC,EAAAjG,EAAA+F,eAAAk8P,EAAAh8P,UAAAitE,EAAAhtE,kBACAC,EAAAnG,EAAA+F,eAAAk8P,EAAA97P,WAAA+sE,EAAA9sE,mBACAI,EAAAxG,EAAAsG,WAAAjG,EAAA4F,EAAAE,GAEA,OACA6H,KAAA3N,EACA2a,MAAA/U,EACAiuG,OAAA/tG,EACAK,QAIA,SAAA07P,EAAAt8P,EAAAvF,EAAA8B,GACA,OAAAnC,EAAApB,QAAAuD,GACA,CACAglE,EAAAnnE,EAAAg0G,YAAApuG,IAAAY,KAAArE,GACAo0B,EAAAp0B,EAAAnH,OAAAqF,EAAA,KAAA8B,EAAAnH,OAAA,GAAAqF,GAIA,CACA8mE,EAAAvhE,EAAAkB,YAAA3E,GAAA0C,MACA0xB,EAAAl2B,GAIA,SAAA8hQ,EAAArgM,EAAA5yD,EAAAlB,EAAAqxB,EAAA/3B,GACA,OAAAw6D,IAAAziC,GAAAyiC,IAAAx6D,EACA,CACAiM,MAAArE,EAAAlB,EAAA,EACAyF,IAAAvE,EAAAlB,EAAA,GAEG8zD,EAAAziC,GAAAyiC,EAAAx6D,EACH,CACAiM,MAAArE,EAAAlB,EAAA,EACAyF,IAAAvE,GAIA,CACAqE,MAAArE,EACAuE,IAAAvE,EAAAlB,EAAA,GAOA,SAAAo0P,EAAA7zO,GA6BA,IAYA/0B,EAAAsrM,EAAAp0F,EAZA2xJ,EAAAL,EAAAzzO,GAIA+zO,EAAA1lQ,KAAAyiC,IAAA9Q,EAAAvpB,OAAA,EAAAupB,EAAA1pB,MAAA,GACA09P,EAAA,CACAn0P,EAAAmgB,EAAA1pB,MACA+F,EAAA,EACA5Q,EAAAu0B,EAAAvpB,OACA5L,EAAA,GAEAopQ,EAAA,GAGAj0O,EAAA3oB,IAAAY,KAAA67P,EAAA77P,KACA+nB,EAAAk0O,iBAAA,GAEA,IAAAC,EAAAX,EAAAxzO,GACA,IAAA/0B,EAAA,EAAaA,EAAAkpQ,EAAgBlpQ,IAAA,CAC7Bk3G,EAAAniF,EAAAo0O,iBAAAnpQ,EAAA8oQ,GACAx9D,EAAAo9D,EAAA3zO,EAAA3oB,IAAAy8P,EAAAr0P,KAAAugB,EAAAimO,YAAAh7P,IAAA,IACA+0B,EAAAk0O,iBAAAjpQ,GAAAsrM,EAGA,IAAA5uF,EAAA3nF,EAAAq0O,cAAAppQ,GACAsoE,EAAA9hE,EAAAqlB,UAAA6wF,GAAA,IACA2sJ,EAAAV,EAAArgM,EAAA4uC,EAAA1oG,EAAA88L,EAAA39H,EAAA,OACA27L,EAAAX,EAAArgM,EAAA4uC,EAAAzoG,EAAA68L,EAAAvuK,EAAA,QAEAssO,EAAAtvP,MAAAgvP,EAAA33P,IACA23P,EAAA33P,EAAAi4P,EAAAtvP,MACAivP,EAAA53P,EAAAsrG,GAGA2sJ,EAAApvP,IAAA8uP,EAAAn0P,IACAm0P,EAAAn0P,EAAAy0P,EAAApvP,IACA+uP,EAAAp0P,EAAA8nG,GAGA4sJ,EAAAvvP,MAAAgvP,EAAAvoQ,IACAuoQ,EAAAvoQ,EAAA8oQ,EAAAvvP,MACAivP,EAAAxoQ,EAAAk8G,GAGA4sJ,EAAArvP,IAAA8uP,EAAAnpQ,IACAmpQ,EAAAnpQ,EAAA0pQ,EAAArvP,IACA+uP,EAAAppQ,EAAA88G,GAIA3nF,EAAAw0O,cAAAT,EAAAC,EAAAC,GAMA,SAAAh+P,EAAA+pB,GACA,IAAA+zO,EAAA1lQ,KAAAyiC,IAAA9Q,EAAAvpB,OAAA,EAAAupB,EAAA1pB,MAAA,GACA0pB,EAAAy0O,YAAApmQ,KAAAkjB,MAAAwiP,GACA/zO,EAAA00O,eAAA,SAGA,SAAAC,EAAAphM,GACA,WAAAA,GAAA,MAAAA,EACA,SACGA,EAAA,IACH,OAGA,QAGA,SAAA94D,EAAApD,EAAA1D,EAAAtB,EAAAP,GACA,GAAAL,EAAApB,QAAAsD,GAIA,IAHA,IAAA+F,EAAArH,EAAAqH,EACAsvN,EAAA,IAAAl3N,EAEA7G,EAAA,EAAkBA,EAAA0I,EAAAlH,SAAiBxB,EACnCoM,EAAAoD,SAAA9G,EAAA1I,GAAAoH,EAAAoH,EAAAC,GACAA,GAAAsvN,OAGA3xN,EAAAoD,SAAA9G,EAAAtB,EAAAoH,EAAApH,EAAAqH,GAIA,SAAAk7P,EAAArhM,EAAAgjI,EAAAlkM,GACA,KAAAkhE,GAAA,MAAAA,EACAlhE,EAAAqH,GAAA68L,EAAAvuK,EAAA,GACGurC,EAAA,KAAAA,EAAA,MACHlhE,EAAAqH,GAAA68L,EAAAvuK,GAIA,SAAA6sO,EAAA70O,GACA,IAAA3oB,EAAA2oB,EAAA3oB,IACAD,EAAA4oB,EAAAhpB,QACA89P,EAAA19P,EAAA2uP,WACAgP,EAAA39P,EAAA6uP,YAEA5uP,EAAA7C,UAAAsgQ,EAAAtgQ,UACA6C,EAAA3C,YAAAogQ,EAAAj3N,MAEA,IAAAm3N,EAAAh1O,EAAA2mO,8BAAAvvP,EAAAo4D,MAAAj9D,QAAAytB,EAAA8Q,IAAA9Q,EAAAjnB,KAGA+6P,EAAAL,EAAAzzO,GAEA3oB,EAAAgB,aAAA,MAEA,QAAApN,EAAAuoQ,EAAAxzO,GAAA,EAAwC/0B,GAAA,EAAQA,IAAA,CAChD,GAAA6pQ,EAAA1iQ,QAAA,CACA,IAAA6iQ,EAAAj1O,EAAAo0O,iBAAAnpQ,EAAA+pQ,GACA39P,EAAAyD,YACAzD,EAAA0D,OAAAilB,EAAAqiF,QAAAriF,EAAAsiF,SACAjrG,EAAA2D,OAAAi6P,EAAAx7P,EAAAw7P,EAAAv7P,GACArC,EAAA4D,SACA5D,EAAAogE,YAGA,GAAAs9L,EAAA3iQ,QAAA,CAEA,IAAA8iQ,EAAAl1O,EAAAo0O,iBAAAnpQ,EAAA+pQ,EAAA,GAGAG,EAAA1jQ,EAAAk9B,sBAAAomO,EAAAz7P,UAAArO,EAAA05E,EAAAprE,kBACAlC,EAAAY,KAAA67P,EAAA77P,KACAZ,EAAAxD,UAAAshQ,EAEA,IAAAxtJ,EAAA3nF,EAAAq0O,cAAAppQ,GACAsoE,EAAA9hE,EAAAqlB,UAAA6wF,GACAtwG,EAAAe,UAAAu8P,EAAAphM,GACAqhM,EAAArhM,EAAAvzC,EAAAk0O,iBAAAjpQ,GAAAiqQ,GACAz6P,EAAApD,EAAA2oB,EAAAimO,YAAAh7P,IAAA,GAAAiqQ,EAAApB,EAAAr0P,QAKA,SAAA21P,EAAAp1O,EAAA6nF,EAAA7tG,EAAAtP,GACA,IAAA2M,EAAA2oB,EAAA3oB,IAIA,GAHAA,EAAA3C,YAAAjD,EAAAk9B,sBAAAk5E,EAAAhqE,MAAAnzC,EAAA,GACA2M,EAAA7C,UAAA/C,EAAAk9B,sBAAAk5E,EAAArzG,UAAA9J,EAAA,GAEAs1B,EAAAhpB,QAAAylG,UAAAupJ,SAEA3uP,EAAAyD,YACAzD,EAAAk7C,IAAAvyB,EAAAqiF,QAAAriF,EAAAsiF,QAAAtoG,EAAA,IAAA3L,KAAAsvC,IACAtmC,EAAAogE,YACApgE,EAAA4D,aACG,CAEH,IAAAk5P,EAAAX,EAAAxzO,GAEA,OAAAm0O,EACA,OAGA98P,EAAAyD,YACA,IAAAqnG,EAAAniF,EAAAo0O,iBAAA,EAAAp6P,GACA3C,EAAA0D,OAAAonG,EAAA1oG,EAAA0oG,EAAAzoG,GAEA,QAAAzO,EAAA,EAAkBA,EAAAkpQ,EAAgBlpQ,IAClCk3G,EAAAniF,EAAAo0O,iBAAAnpQ,EAAA+O,GACA3C,EAAA2D,OAAAmnG,EAAA1oG,EAAA0oG,EAAAzoG,GAGArC,EAAAogE,YACApgE,EAAA4D,UAIA,SAAAo6P,EAAAC,GACA,OAAA7jQ,EAAAmtC,SAAA02N,KAAA,EAGA,IAAAC,EAAA3oO,EAAA8pE,gBAAA1hG,OAAA,CACAW,cAAA,WACA,IAAAF,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACA47D,EAAAx7D,EAAAo4D,MAEA/5D,EAAAa,MAAAb,EAAAH,SACAG,EAAAgB,OAAAhB,EAAAF,UACAE,EAAA4sG,QAAAh0G,KAAAkjB,MAAA9b,EAAAa,MAAA,GACAb,EAAA6sG,QAAAj0G,KAAAkjB,MAAA9b,EAAAgB,OAAA,GAEA,IAAAL,EAAA3E,EAAAq/B,IAAA,CAAAr7B,EAAAgB,OAAAhB,EAAAa,QACAq9D,EAAAliE,EAAA+F,eAAAo7D,EAAA9gE,SAAA6yE,EAAAltE,iBACAhC,EAAAg/P,YAAAr9P,EAAAhF,QAAAgE,EAAA,GAAAu9D,EAAA,EAAAf,EAAA0gM,kBAAAl9P,EAAA,GAEAk7D,oBAAA,WACA,IAAA77D,EAAAnL,KACAwI,EAAA2C,EAAA3C,MACAg+B,EAAA1e,OAAAyjH,kBACA98H,EAAAqZ,OAAA0jH,kBAEArkI,EAAA6G,KAAAxF,EAAAI,KAAAC,SAAA,SAAAO,EAAAd,GACA,GAAAE,EAAAiB,iBAAAnB,GAAA,CACA,IAAAG,EAAAD,EAAAE,eAAAJ,GAEAnB,EAAA6G,KAAA5E,EAAAR,KAAA,SAAAm+D,EAAA3mE,GACA,IAAA6F,GAAAkF,EAAA+6B,cAAA6gC,GACA13D,MAAApJ,IAAAwC,EAAAG,KAAAxI,GAAAuI,SAIA69B,EAAAziC,KAAAyiC,IAAAvgC,EAAAugC,GACA/3B,EAAA1K,KAAA0K,IAAAxI,EAAAwI,SAKAtD,EAAAq7B,QAAA1e,OAAAyjH,kBAAA,EAAA/kG,EACAr7B,EAAAsD,QAAAqZ,OAAA0jH,kBAAA,EAAA/8H,EAGAtD,EAAA8hG,0BAEAC,aAAA,WACA,IAAA5kC,EAAAtoE,KAAA0M,QAAAw4D,MACAmE,EAAAliE,EAAA+F,eAAAo7D,EAAA9gE,SAAA6yE,EAAAltE,iBACA,OAAApJ,KAAAyiC,IAAA8hC,EAAA8kC,cAAA9kC,EAAA8kC,cAAA,GAAArpG,KAAAo6B,KAAAn+B,KAAAmqQ,aAAA,IAAA9gM,MAEAZ,qBAAA,WACA,IAAAt9D,EAAAnL,KAEAsiC,EAAA8pE,gBAAAnrG,UAAAwnE,qBAAAz3D,KAAA7F,GAGAA,EAAAwwP,YAAAxwP,EAAA3C,MAAAI,KAAAI,OAAAG,IAAAgC,EAAAuB,QAAAivP,YAAA/uP,SAAAzB,IAEAy8D,iBAAA,SAAAxnE,EAAAkI,GACA,OAAAtI,KAAAkmC,cAAAlmC,KAAAwI,MAAAI,KAAAC,SAAAP,GAAAM,KAAAxI,KAEAuL,IAAA,WACA3L,KAAA0M,QAAAivP,YAAA7zP,QACAyhQ,EAAAvpQ,MAEA2L,EAAA3L,OAOAkqQ,cAAA,SAAAT,EAAAC,EAAAC,GACA,IAAAx+P,EAAAnL,KACAkrQ,EAAAxB,EAAA33P,EAAAhO,KAAAolB,IAAAwgP,EAAA53P,GACAo5P,EAAApnQ,KAAA0K,IAAAi7P,EAAAn0P,EAAApK,EAAAa,MAAA,GAAAjI,KAAAolB,IAAAwgP,EAAAp0P,GACA61P,GAAA1B,EAAAvoQ,EAAA4C,KAAAklB,IAAA0gP,EAAAxoQ,GACAkqQ,GAAAtnQ,KAAA0K,IAAAi7P,EAAAnpQ,EAAA4K,EAAAgB,OAAA,GAAApI,KAAAklB,IAAA0gP,EAAAppQ,GAEA2qQ,EAAAH,EAAAG,GACAC,EAAAJ,EAAAI,GACAC,EAAAL,EAAAK,GACAC,EAAAN,EAAAM,GAEAlgQ,EAAAg/P,YAAApmQ,KAAAyiC,IACAziC,KAAAkjB,MAAAwiP,GAAAyB,EAAAC,GAAA,GACApnQ,KAAAkjB,MAAAwiP,GAAA2B,EAAAC,GAAA,IACAlgQ,EAAAi/P,eAAAc,EAAAC,EAAAC,EAAAC,IAEAjB,eAAA,SAAAkB,EAAAC,EAAAC,EAAAC,GACA,IAAAtgQ,EAAAnL,KACA0rQ,EAAAvgQ,EAAAa,MAAAu/P,EAAApgQ,EAAAg/P,YACAwB,EAAAL,EAAAngQ,EAAAg/P,YACAyB,EAAAJ,EAAArgQ,EAAAg/P,YACA0B,EAAA1gQ,EAAAgB,OAAAs/P,EAAAtgQ,EAAAg/P,YAEAh/P,EAAA4sG,QAAAh0G,KAAAkjB,OAAA0kP,EAAAD,GAAA,EAAAvgQ,EAAAc,MACAd,EAAA6sG,QAAAj0G,KAAAkjB,OAAA2kP,EAAAC,GAAA,EAAA1gQ,EAAAiB,MAGA29P,cAAA,SAAA3pQ,GACA,IAAA0rQ,EAAA,EAAA/nQ,KAAAsvC,GAAA61N,EAAAlpQ,MACAopG,EAAAppG,KAAAwI,MAAAkE,SAAA1M,KAAAwI,MAAAkE,QAAA08F,WACAppG,KAAAwI,MAAAkE,QAAA08F,WACA,EAEA2iK,EAAA3iK,EAAArlG,KAAAsvC,GAAA,MAGA,OAAAjzC,EAAA0rQ,EAAAC,GAEA1P,8BAAA,SAAAp2P,GACA,IAAAkF,EAAAnL,KAEA,UAAAiG,EACA,SAIA,IAAA+lQ,EAAA7gQ,EAAAg/P,aAAAh/P,EAAAsD,IAAAtD,EAAAq7B,KACA,OAAAr7B,EAAAuB,QAAAw4D,MAAAj9D,SACAkD,EAAAsD,IAAAxI,GAAA+lQ,GAEA/lQ,EAAAkF,EAAAq7B,KAAAwlO,GAEAlC,iBAAA,SAAA1pQ,EAAA6rQ,GACA,IAAA9gQ,EAAAnL,KACAksQ,EAAA/gQ,EAAA4+P,cAAA3pQ,GAAA2D,KAAAsvC,GAAA,EACA,OACAlkC,EAAApL,KAAAkjB,MAAAljB,KAAAklB,IAAAijP,GAAAD,GAAA9gQ,EAAA4sG,QACA3oG,EAAArL,KAAAkjB,MAAAljB,KAAAolB,IAAA+iP,GAAAD,GAAA9gQ,EAAA6sG,UAGAF,yBAAA,SAAA13G,EAAA6F,GACA,OAAAjG,KAAA8pQ,iBAAA1pQ,EAAAJ,KAAAq8P,8BAAAp2P,KAGAi3O,gBAAA,WACA,IAAA/xO,EAAAnL,KACAwmC,EAAAr7B,EAAAq7B,IACA/3B,EAAAtD,EAAAsD,IAEA,OAAAtD,EAAA2sG,yBAAA,EACA3sG,EAAA6wG,YAAA,EACAx1E,EAAA,GAAA/3B,EAAA,EAAAA,EACA+3B,EAAA,GAAA/3B,EAAA,EAAA+3B,EACA,IAGA93B,KAAA,WACA,IAAAvD,EAAAnL,KACA8M,EAAA3B,EAAAuB,QACA6wG,EAAAzwG,EAAAqlG,UACA7pC,EAAAx7D,EAAAo4D,MACAh4D,EAAA/F,EAAA+F,eAEA,GAAAJ,EAAAhF,QAAA,CACA,IAAAiF,EAAA5B,EAAA4B,IACAq8F,EAAAppG,KAAA+pQ,cAAA,GAGA1gM,EAAAn8D,EAAAo7D,EAAA9gE,SAAA6yE,EAAAltE,iBACAg/P,EAAAj/P,EAAAo7D,EAAAl7D,UAAAitE,EAAAhtE,kBACA++P,EAAAl/P,EAAAo7D,EAAAh7D,WAAA+sE,EAAA9sE,mBACA8+P,EAAAllQ,EAAAsG,WAAA47D,EAAA8iM,EAAAC,GAEAjlQ,EAAA6G,KAAA7C,EAAA+5D,MAAA,SAAA57D,EAAAlJ,GAEA,GAAAA,EAAA,GAAAkoE,EAAArgE,QAAA,CACA,IAAAqkQ,EAAAnhQ,EAAAkxP,8BAAAlxP,EAAAoiG,eAAAntG,IAOA,GAJAm9G,EAAAz1G,SAAA,IAAA1H,GACA0qQ,EAAA3/P,EAAAoyG,EAAA+uJ,EAAAlsQ,GAGAkoE,EAAAxgE,QAAA,CACA,IAAAs3G,EAAAlyG,EAAAo7D,EAAAt5D,UAAAqrE,EAAAprE,kBAOA,GANAlC,EAAAY,KAAA0+P,EAEAt/P,EAAAuC,OACAvC,EAAAi+C,UAAA7/C,EAAA4sG,QAAA5sG,EAAA6sG,SACAjrG,EAAAszB,OAAA+oE,GAEA9gC,EAAAwgM,kBAAA,CACA,IAAA3rJ,EAAApwG,EAAAkB,YAAA3E,GAAA0C,MACAe,EAAAxD,UAAA++D,EAAAygM,cACAh8P,EAAAkD,UACAktG,EAAA,EAAA70C,EAAA2gM,kBACAqD,EAAAjjM,EAAA,EAAAf,EAAA0gM,iBACA7rJ,EAAA,EAAA70C,EAAA2gM,iBACA5/L,EAAA,EAAAf,EAAA0gM,kBAIAj8P,EAAAe,UAAA,SACAf,EAAAgB,aAAA,SACAhB,EAAAxD,UAAA61G,EACAryG,EAAAoD,SAAA7G,EAAA,GAAAgjQ,GACAv/P,EAAAmD,eAKApD,EAAA2uP,WAAA3zP,SAAAgF,EAAA6uP,YAAA7zP,UACAyiQ,EAAAp/P,OAMAg3D,EAAAsH,kBAAA,eAAAwhM,EAAAzkM,uCChhBA,IAAA+lM,EAAA9sQ,EAAA,QAAA+sQ,EAAA/sQ,EAAAyC,EAAAqqQ,GAAktBC,EAAG,qCCArtB,IAAAv0P,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,YAAgCe,MAAA,CAAO8kC,SAAAhmC,EAAAgmC,UAAAhmC,EAAA4qB,QAAAkrC,MAAA,GAAAP,KAAA,SAAiE1zD,GAAA,CAAKC,MAAA9B,EAAA+zI,OAAkBx3F,YAAAv8C,EAAAw8C,GAAA,CAAAx8C,EAAA,SAAoC9V,IAAA,OAAAuyD,GAAA,WAAyB,OAAAt8C,EAAA,mBAA8Be,MAAA,CAAOq0D,KAAAv1D,EAAAw1D,MAAAmoL,QAAAC,KAAA,QAAuClhM,OAAA,GAAY,gBAAkB,CAAAv8C,EAAA,SAAAH,EAAAM,GAAA,8CAC/X8B,EAAA,uFCwBAy7O,EAAA,CACAt5O,WAAA,CACA0yD,WAAA,KACA0Y,gBAAAC,EAAA,oBAEA/lF,MAAA,CACAi0P,OAAA,CACA1mQ,KAAArE,MACAm1B,UAAA,GAEAkrE,QAAA,CACAh8F,KAAAwmB,OACAsK,UAAA,GAEA89B,SAAA,CACA5uD,KAAAimC,UAGAvjC,KAlBA,WAmBA,OACA8wC,SAAA,IAGAhoB,SAAA,CACA4yD,MADA,WAEA,OACAmoL,QAAA9kL,EAAA,SAIApzD,QAAA,CACAsuI,MADA,eAAAgqG,EAAAz0P,OAAAmuE,EAAA,KAAAnuE,CAAAouE,mBAAAC,KAAA,SAAAC,IAAA,IAAAomL,EAAAC,EAAAC,EAAAC,EAAA5jQ,EAAA,OAAAm9E,mBAAAG,KAAA,SAAAC,GAAA,eAAAA,EAAA1iF,KAAA0iF,EAAA/qE,MAAA,cAEA7b,KAAA05C,SAAA,EAFAktC,EAAA1iF,KAAA,EAAA0iF,EAAA/qE,KAAA,EAIAzD,OAAAotF,EAAA,KAAAptF,CAAA,iBAAA1D,OAAA1U,KAAAkiG,SAAAliG,KAAA4sQ,OAAA,CACAM,MAAA,CACAC,aAAA,UANA,OAIAL,EAJAlmL,EAAAwmL,KASAL,EAAAM,IAAAC,gBAAAR,GACAE,EAAAxmP,OAAA4iB,KAAA2jO,GAMAE,EAAAM,YAAA,WACAP,EAAA1jO,SACAkkO,cAAAP,GACAI,IAAAI,gBAAAV,KAEA,KArBAnmL,EAAA/qE,KAAA,wBAAA+qE,EAAA1iF,KAAA,GAAA0iF,EAAA6I,GAAA7I,EAAA,YAyBA5a,EAAA,iBAAAgO,MAAAh6E,KAAAuvB,MAAAy7B,UAAA,+CAzBA47B,EAAA/qE,KAAA,GA0BA+qE,EAAA6I,GAAAi+K,SAAA9kQ,KAAAS,OA1BA,QA0BAA,EA1BAu9E,EAAAwmL,KA2BA5yO,QAAAw/C,MAAA3wE,GA3BA,eAAAu9E,EAAA1iF,KAAA,GA6BAlE,KAAA05C,SAAA,EA7BAktC,EAAA8I,OAAA,6BAAA9I,EAAAp0E,SAAAk0E,EAAA1mF,KAAA,4BAAA6iK,IAAA,OAAAgqG,EAAAtqQ,MAAAvC,KAAA4vC,WAAA,OAAAizH,EAAA,KCvD6Z8qG,EAAA,cCO7Z77O,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdu1P,EACA11P,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,oEClBf,IAAA7Z,EAAA,WAA0B,IAAA6W,EAAA9uB,KAAa+uB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,iBAAqCe,MAAA,CAAOxpB,SAAAsoB,EAAAkxB,oBAAAxf,eAAA1R,EAAAoxB,OAAAnB,YAAAre,UAAA,EAAAC,WAAA,cAAAC,aAAA,MAA+H3R,EAAA,iBAAsBe,MAAA,CAAOxpB,SAAAsoB,EAAAsF,+BAAAoM,eAAA1R,EAAAoxB,OAAA7uB,eAAAqP,UAAA,EAAAC,WAAA,aAAwH,IACzZzP,EAAA,yoBCwBA,IAAA08O,EAAA,CACAv6O,WAAA,CACAyN,gBAAA,MAEAzO,OAAA,CACAsB,EAAA,MAEAhb,MAAA,CACAxP,IAAAiP,OACAiY,QAAA3D,OACAkD,oBAAAuc,SAEAza,SAAAuF,EAAA,GACA7e,OAAAyzD,EAAA,KAAAzzD,CAAA,CACA,gCCvCway1P,EAAA,cCOxa/7O,EAAgB1Z,OAAA2Z,EAAA,KAAA3Z,CACdy1P,EACA51P,EACAiZ,GACF,EACA,KACA,WACA,MAIe1Q,EAAA,KAAAsR,uDClBf,IAAAoP,EAAgBzhC,EAAQ,QACxBmG,EAAAs7B,EAAAt7B,UACAqN,EAAkBxT,EAAQ,QAAYwT,YAqEtC,SAAAg4B,EAAAjpC,EAAAd,GACA,IAAAmqC,EAAA,GAGAp4B,EAAAjR,EAAA,SAAAqB,GACA,IAAA+kB,EAAAxiB,EAAAvC,GAAA,GACAgoC,EAAAjjB,KAAqCijB,EAAAjjB,GAAA,IACrCijB,EAAAjjB,GAAAxnB,KAAAyC,KAIA,IAAAioC,EAAAlzB,OAAA2C,KAAAswB,GAAAliC,IAAA,SAAAif,GACA,IAAAsQ,EAAA2S,EAAAjjB,GACAmjB,EAAA7S,EAAA1zB,KAAA,SAAA1E,EAAAC,GACA,OAAAqF,EAAAtF,GAAA,GAAAsF,EAAArF,GAAA,KAEA,OAAAgrC,IAIAC,EAAAF,EAAAtmC,KAAA,SAAA1E,EAAAC,GACA,OAAAW,EACA0E,EAAAtF,EAAA,OAAAsF,EAAArF,EAAA,OAEAqF,EAAArF,EAAA,OAAAqF,EAAAtF,EAAA,SAGA,OAAAkrC,EAhEAnsC,EAAAC,QAAA,SAAAu8B,EAAAsgL,EAAAj7M,GAEAggC,EAAA56B,aAAAu1B,EAAA,qCACAsgL,KAAA,YAQA,IANA,IAAAnxK,EAAAC,EAAApP,EAAA36B,GAEAgqC,EAAA,GAIA31B,EAAA,EAAmBA,EAAAy1B,EAAA7oC,OAAyBoT,IAAA,CAG5C,IAFA,IAAA41B,EAAAH,EAAAz1B,GACAmjB,EAAA,GACA/2B,EAAA,EAAuBA,EAAAwpC,EAAAhpC,OAAqBR,IAAA,CAC5C,IAAA0B,EAAA8nC,EAAAxpC,GAEA0B,EAAAyP,WAAAqpM,GACAzjL,EAAA93B,KAAAyC,EAAAyP,WAAAqpM,IAEAzjL,EAAA93B,KAAA,GAGAsqC,EAAAtqC,KAAA83B,GAGA,OAAAwS,yBC5DA,IAAA/jC,EAAc1H,EAAQ,QACtBmG,EAAgBnG,EAAQ,QAAiBmG,UACzCmB,EAAkBtH,EAAQ,QAAYsH,YACtC+O,EAAA3O,EAAA2O,WACAvP,EAAAY,EAAAZ,kBAiCA,SAAA8rO,EAAA3rO,EAAAM,GACA,IAAAiL,EAAA,GACApM,EAAAa,EAAAb,SACA,OAAAA,EAAAK,MACA,cACA+L,EAAArM,EAAAC,GACA,MACA,iBACAoM,EAAA,CAAArM,EAAAC,IAEAoM,EAAA6E,QAAA,SAAAzD,GACA,IAAA8yI,EAAA2nH,EAAAz6P,EAAA3M,EAAAoM,YACAqzI,EAAArvI,QAAA,SAAAk5C,GACAA,EAAAxlD,GAAAxD,EAAA7E,OACA6E,EAAApG,KAAAovD,OAaA,SAAA89M,EAAA77P,EAAAa,GACA,IAAAqzI,EAAA,GAOA,OANAl0I,EAAA6hB,OAAA,SAAA5c,EAAAtE,GACA,IAAAo9C,EAAAl6C,EAAA,CAAAoB,EAAAtE,GAAAE,GAGA,OAFAk9C,EAAA5vC,OAAAlJ,EAAAtE,GACAuzI,EAAAvlJ,KAAAovD,GACAp9C,IAEAuzI,EAWA,SAAA/lI,EAAA0sC,EAAAC,GACA,IAAA94C,EAAA64C,EAAA,GACA54C,EAAA44C,EAAA,GACA34C,EAAA44C,EAAA,GACA34C,EAAA24C,EAAA,GACA/2B,EAAA/hB,EAAAE,EAAAF,EAAAE,EACA8hB,EAAA/hB,EAAAE,EAAAF,EAAAE,EACA8hB,EAAAjiB,EAAAE,EAAAF,EAAAE,EACAgiB,EAAAjiB,EAAAE,EAAAF,EAAAE,EACA,OAAA4hB,EAAAC,EAAAC,EAAAC,GAzEA92B,EAAAC,QAAA,SAAAoH,GACA,IAAAA,EAAA,UAAAtE,MAAA,uBAEA,IAAA4E,EAAA,GAIA,OAHAD,EAAAL,EAAA,SAAAL,GACAgsO,EAAAhsO,EAAAW,KAEAT,EAAAS,0BC1BA,IAAA+mQ,EAAAn0O,EAAAC;;;;;;;;;;;;;CAOA,SAAAC,EAAAC,GAGQH,EAAO,CAACn6B,EAAA,QAA8BA,EAAA,SAAgCsuQ,EAAA,EAASl0O,EAAA,oBAAAk0O,IAAAxrQ,MAAAjD,EAAAs6B,GAAAm0O,OAAApnQ,IAAAkzB,IAAAx6B,EAAAC,QAAAu6B,IAHvF,CAgBC75B,EAAA,SAAA26D,EAAA3gC,GACD,OACA2gC,SAAA,oBAAAA,IAAA,kBAAAA,GAAA,oBAAAA,sBAAA,KACA3gC,YAAA,oBAAAA,IAAA,kBAAAA,GAAA,oBAAAA,4BAAA,kEC1BA,IAAAg0O,EAAAvuQ,EAAA,QAAAwuQ,EAAAxuQ,EAAAyC,EAAA8rQ,GAAqqBC,EAAG,wBCAxqB,IAAAC,EAAazuQ,EAAQ,QACrB0H,EAAc1H,EAAQ,QACtBkU,EAAalU,EAAQ,QACrB4mC,EAAW5mC,EAAQ,QACnB64G,EAAY74G,EAAQ,QACpB6iD,EAAY7iD,EAAQ,OAARA,CAAe,iBAC3B0uQ,EAAe1uQ,EAAQ,OAARA,CAAe,qBAwB9BJ,EAAAC,QAAA,SAAA+G,GAEA,cAAAA,EAAAH,KAAA,UAAA9D,MAAA,mDACA,QAAAuE,IAAAN,EAAAR,UAAA,MAAAQ,EAAAR,SAAA,UAAAzD,MAAA,6DACA,cAAAiE,EAAAR,SAAAK,KAAA,UAAA9D,MAAA,uCAKA,IAFA,IAAAgsQ,EAAA/nQ,EAAAR,SAAAF,YAAAxD,OACAtC,EAAA,GACAc,EAAA,EAAiBA,EAAAytQ,EAAcztQ,IAAA,CAC/B,IAAA8W,EAAApR,EAAAR,SAAAF,YAAAhF,GACA8/N,EAAAhpN,EAAA,GAAAA,IAAAtV,OAAA,KACAsV,EAAA7W,KAAA6W,EAAA,IAEA5X,EAAAe,KAAA2B,MAAA1C,EAAA4X,EAAAnV,MAAA,EAAAmV,EAAAtV,OAAA,IAEA,IAAAksQ,EAAAxuQ,GAAA,UAAAuC,MAAA,yGACA,IAAAksQ,EAAAzuQ,EAAAsC,OACAmgD,EAAA,oBAGA,IAAAisN,EAAAL,EAAA7nQ,EAAA,SAAA27N,EAAAX,EAAAC,EAAAjB,EAAAC,EAAA2B,EAAAP,EAAAC,EAAApB,EAAAC,EAAA0B,EAAAz0L,GACA,OAAAu0L,EAAAX,EAAAC,EAAAjB,EAAAC,EAAA2B,EAAAP,EAAAC,EAAApB,EAAAC,EAAA0B,EAAAz0L,KAEA+gO,EAAAD,EAAApsQ,OAIA,GAHAmgD,EAAA,gCAGA,GAAAksN,EAAA,CACA,IAAAC,EAAA,GACA,IAAA9tQ,EAAA,EAAkBA,EAAAytQ,EAAcztQ,IAChC8tQ,EAAA7tQ,KAAAuG,EAAAsyB,QAAA,CAAApzB,EAAAR,SAAAF,YAAAhF,IAAA,CAAiFo2H,QAAA,EAAA2yF,QAAAglD,EAAAroQ,EAAAR,SAAAF,YAAAhF,OAEjF,IAAAupD,EAAA/iD,EAAAZ,kBAAAkoQ,GAKA,OAJAE,IACAC,IACAT,EAAA,wHACA7rN,EAAA,wCACA4H,EAMA,IAAA2kN,EAAA,GAEAC,EAAA,GAEA,IAAAnuQ,EAAA,EAAiBA,EAAAytQ,EAAcztQ,IAAA,CAC/BkuQ,EAAAjuQ,KAAA,IACA,QAAAgC,EAAA,EAAmBA,EAAAyD,EAAAR,SAAAF,YAAAhF,GAAAwB,OAAA,EAA8CS,IAEjEisQ,EAAAluQ,GAAAC,KAAA,KAAAmuQ,EAAA1oQ,EAAAR,SAAAF,YAAAhF,IAAAiC,EAAA,GAAAosQ,OAAA3oQ,EAAAR,SAAAF,YAAAhF,GAAAwB,OAAA,OAAAxB,EAAAiC,GAAA,CAAAjC,GAAAiC,EAAA,GAAAosQ,OAAA3oQ,EAAAR,SAAAF,YAAAhF,GAAAwB,OAAA,SAAAwE,KAEAmoQ,EAAAluQ,KAAA,IAAAquQ,EAAA5oQ,EAAAR,SAAAF,YAAAhF,GAAAiC,GAAA,CAAAjC,GAAAiC,EAAA,GAAAosQ,OAAA3oQ,EAAAR,SAAAF,YAAAhF,GAAAwB,OAAA,KAAAxB,EAAAiC,QAAA+D,UAAA,OAIA,IAAAhG,EAAA,EAAiBA,EAAA6tQ,EAAkB7tQ,IAEnCkuQ,EAAAN,EAAA5tQ,GAAA,IAAA4tQ,EAAA5tQ,GAAA,IAAAC,KAAA,IAAAmuQ,EAAAR,EAAA5tQ,GAAA,GAAA4tQ,EAAA5tQ,GAAA,IAAA4tQ,EAAA5tQ,GAAA,GAAA4tQ,EAAA5tQ,GAAA,KAAA4tQ,EAAA5tQ,GAAA,GAAA4tQ,EAAA5tQ,GAAA,SAAAgG,IAEA4nQ,EAAA5tQ,GAAA,KAAAmuQ,EAAAluQ,KAAA,IAAAquQ,EAAAV,EAAA5tQ,GAAA,IAAA4tQ,EAAA5tQ,GAAA,GAAA4tQ,EAAA5tQ,GAAA,KAAA4tQ,EAAA5tQ,GAAA,GAAA4tQ,EAAA5tQ,GAAA,SAAAgG,UAAA,OAEA,IAAAuoQ,EAAAJ,EAAA3sQ,OAEA,IAAAxB,EAAA,EAAiBA,EAAAkuQ,EAAA1sQ,OAAuCxB,IACxD,IAAAiC,EAAA,EAAmBA,EAAAisQ,EAAAluQ,GAAAwB,OAA0CS,IAC7DisQ,EAAAluQ,GAAAiC,GAAAoC,KAAA,SAAA1E,EAAAC,GAA2D,OAAAD,EAAA0qQ,MAAAzqQ,EAAAyqQ,OAAA,MAG3D1oN,EAAA,uDAGA6sN,8BAAA,GACA,IAAAxuQ,EAAA,EAAiBA,EAAAuuQ,EAAcvuQ,IAC/BwuQ,8BAAAvuQ,KAAA,CAAwCm9E,KAAA+wL,EAAAnuQ,GAAA0S,MAAA,GAAA2qE,KAAA8wL,EAAAnuQ,GAAA0S,MAAA,GAAA4qE,KAAA6wL,EAAAnuQ,GAAA0S,MAAA,GAAA6qE,KAAA4wL,EAAAnuQ,GAAA0S,MAAA,GAAAjT,MAAAO,IAExC,IAAAyuQ,EAAA92J,IACA82J,EAAAz3N,KAAAw3N,+BAKA,IAAAxuQ,EAAA,EAAiBA,EAAAkuQ,EAAA1sQ,OAAuCxB,IACxD,IAAAiC,EAAA,EAAmBA,EAAAisQ,EAAAluQ,GAAAwB,OAA0CS,IAC7D,QAAAG,EAAA,EAAqBA,EAAA8rQ,EAAAluQ,GAAAiC,GAAAT,OAA6CY,IAAA,CAGlEssQ,EADAtsQ,GAAA8rQ,EAAAluQ,GAAAiC,GAAAT,OAAA,EACA0sQ,EAAAluQ,IAAAiC,EAAA,GAAAosQ,OAAA3oQ,EAAAR,SAAAF,YAAAhF,GAAAwB,OAAA,OAAAkR,MAEAw7P,EAAAluQ,GAAAiC,GAAAG,EAAA,GAAAsQ,MAEA,IAAAi8P,EAAAF,EAAA12J,OAAA,CAA6D36B,KAAAsxL,EAAA,GAAArxL,KAAAqxL,EAAA,GAAApxL,KAAAoxL,EAAA,GAAAnxL,KAAAmxL,EAAA,KAAuF,GACpJR,EAAAluQ,GAAAiC,GAAAG,GAAAwsQ,oBAAAD,EAAAlvQ,MAIAkiD,EAAA,sDAGA,IAAA3hD,EAAA,EAAiBA,EAAAkuQ,EAAA1sQ,OAAuCxB,IACxD,IAAAiC,EAAA,EAAmBA,EAAAisQ,EAAAluQ,GAAAwB,OAA0CS,IAC7D,IAAAG,EAAA,EAAqBA,EAAA8rQ,EAAAluQ,GAAAiC,GAAAT,OAA6CY,IAAA,CAClE,IAAAssQ,EAAAR,EAAAluQ,GAAAiC,GAAAG,GAAAsQ,MAEAtB,GADAu9P,EAAAF,EAAA12J,OAAA,CAA6D36B,KAAAsxL,EAAA,GAAArxL,KAAAqxL,EAAA,GAAApxL,KAAAoxL,EAAA,GAAAnxL,KAAAmxL,EAAA,KAAuF,GACpJC,EAAAlvQ,OACA2R,EAAAu8P,EACAQ,EAAA/8P,GAAAy9P,0BAAAX,EAAAluQ,GAAAiC,GAAAG,GAAAwsQ,oBAEA9uC,EAAAquC,EAAA/8P,GAAA09P,aAAAZ,EAAAluQ,GAAAiC,GAAAG,GAAA2sQ,eACAZ,EAAA/8P,GAAA49P,0BAAAd,EAAAluQ,GAAAiC,GAAAG,GAAAwsQ,oBAEAT,EAAA/8P,GAAAy9P,0BAAAX,EAAAluQ,GAAAiC,GAAAG,GAAAwsQ,oBAOAjtN,EAAA,kCAIA,IAAA+9B,EAAA,GAGA,IADA1/E,EAAA,EACAiC,EAAA,EAAiBA,EAAAwrQ,EAAcxrQ,IAAA,CAC/B,IAAAgtQ,EAAAjvQ,EACA,IAAAoC,EAAA,EAAmBA,EAAAsD,EAAAR,SAAAF,YAAA/C,GAAAT,OAAA,EAA8CY,IACjE+rQ,EAAAnuQ,GAAA0S,MAAA,GAAAy7P,EAAAc,GAAAv8P,MAAA,KACAu8P,EAAAjvQ,GAEAA,IAIA,IAAAkvQ,EAAAf,EAAAc,GAAAJ,0BACA,IAAAzsQ,EAAA,EAAmBA,EAAA+rQ,EAAA3sQ,OAAsBY,IACzC,GAAA+rQ,EAAA/rQ,GAAA4sQ,2BAAAC,GAAAd,EAAA/rQ,GAAAysQ,2BAAAI,EAAA,CACA,IAAAE,EAAA/sQ,EACA,MAGA,IAAAgtQ,EAAAz+H,EAAA,CAAAw9H,EAAAgB,GAAAz8P,MAAAy7P,EAAAc,GAAAv8P,MAAAy7P,EAAAe,GAAAx8P,QAAA,QAEAgtE,EAAAz/E,KAAA,CAAgBohO,MAAA4tC,EAAA74I,QAAA,EAAA2yF,QAAAqmD,IAGhB1vL,EAAAr7E,KAAA,SAAA1E,EAAAC,GAA4B,OAAAuuQ,EAAAxuQ,EAAA0hO,OAAA3uN,MAAAy7P,EAAAvuQ,EAAAyhO,OAAA3uN,OAAA,MAC5B86P,EAAA,+BAAA9vO,KAAAC,UAAA+hD,IACA/9B,EAAA,oBAGAmsN,EAAA,GAGA,MAAApuL,EAAAl+E,OAAA,GAEA,IAAA6tQ,EAAA3vL,EAAA98E,MACA0sQ,EAAAD,EAAAhuC,MACAkuC,EAAAF,EAAAj5I,OACAo5I,EAAAH,EAAAtmD,QAEA0mD,EAAA3B,EAAAtsQ,OACAkuQ,EAAA,CAAAvB,EAAAmB,GAAA58P,OACA86P,EAAA,iCAAAM,EAAAtsQ,OAAA,iBAAAguQ,EAAA,sBAAAF,GACAA,EAAA3B,GAAAH,EAAA,0GAEA,IAAAmC,EAAAL,EACA,GAAAnB,EAAAmB,GAAAM,qBACA,IAAAC,EAAA1B,EAAAmB,GAAAR,aACAgB,EAAA3B,EAAAmB,GAAAN,+BAEAa,EAAA1B,EAAAmB,GAAAS,aACAD,EAAA3B,EAAAmB,GAAAT,0BAGA,OAAA/uC,EAAAquC,EAAAmB,GAAA58P,MAAAy7P,EAAA2B,GAAAp9P,OAAA,CACA86P,EAAA,6BAAAmC,EAAA,OAAAG,EAAA,cAAAD,EAAA,gBAAAA,EAAA,IACAH,EAAAzvQ,KAAAkuQ,EAAA2B,GAAAp9P,OACA86P,EAAA,uBAAAsC,EAAA,2BAEA,IAAAE,OAAAhqQ,EACA,IAAAhG,EAAA,EAAoBA,EAAA0/E,EAAAl+E,OAAkBxB,IAAO,GAAA0/E,EAAA1/E,GAAAqhO,OAAAyuC,EAAA,CAAkCE,EAAAhwQ,EAAoB,MAUnG,QATAgG,GAAAgqQ,IACAxC,EAAA,yBAAAsC,EAAA,eACApwL,EAAA13C,OAAAgoO,EAAA,IAOAlwC,EAAA+vC,EAAA1B,EAAA2B,GAAAhB,cAAA,CAGA,GAFAe,EAAA1B,EAAA2B,GAAAC,aACA5B,EAAA2B,GAAAG,sBAAA,EACA9B,EAAA2B,GAAAF,qBAAA,CACApC,EAAA,uBAAAsC,EAAA,aACA,IAAAI,EAAA,CAAyB7uC,MAAAyuC,GACzBn/H,EAAA,CAAAw9H,EAAAwB,GAAAj9P,MAAAy7P,EAAA2B,GAAAp9P,MAAAy7P,IAAA2B,GAAAjB,2BAAAn8P,OAAA,GAAA88P,IACAU,EAAA95I,OAAAm5I,EACAW,EAAAnnD,SAAAymD,IAEAU,EAAA95I,OAAAq5I,EACAS,EAAAnnD,QAAAymD,GAEA9vL,EAAAz/E,KAAAiwQ,GAEAP,EAAAG,EACAA,EAAA3B,EAAA2B,GAAAjB,8BACO,CAGP,GAFAgB,EAAA1B,EAAA2B,GAAAhB,aACAX,EAAA2B,GAAAF,sBAAA,EACAzB,EAAA2B,GAAAG,qBAAA,CACAzC,EAAA,uBAAAsC,EAAA,aACAI,EAAA,CAAyB7uC,MAAAyuC,GACzBn/H,EAAA,CAAAw9H,EAAAwB,GAAAj9P,MAAAy7P,EAAA2B,GAAAp9P,MAAAy7P,IAAA2B,GAAAd,2BAAAt8P,OAAA,GAAA88P,IACAU,EAAA95I,OAAAm5I,EACAW,EAAAnnD,SAAAymD,IAEAU,EAAA95I,OAAAq5I,EACAS,EAAAnnD,QAAAymD,GAEA9vL,EAAAz/E,KAAAiwQ,GAEAP,EAAAG,EACAA,EAAA3B,EAAA2B,GAAAd,0BAEAxB,EAAA,+BAAA9vO,KAAAC,UAAA+hD,IAEA8tL,EAAA,6BAAAmC,EAAA,OAAAG,EAAA,cAAAD,EAAA,gBAAAA,EAAA,wBAEAH,EAAAzvQ,KAAAkuQ,EAAA2B,GAAAp9P,OAEAo7P,EAAA7tQ,KAAAuG,EAAAsyB,QAAA,CAAA42O,GAAA,CAAuEjwQ,MAAAgwQ,EAAAr5I,OAAAm5I,EAAAxmD,QAAAymD,EAAAW,gBAAAnqQ,KAGvEujD,EAAA/iD,EAAAZ,kBAAAkoQ,GAUA,SAAAE,IAEA,IADA,IAAAoC,EAAA,GACApwQ,EAAA,EAAmBA,EAAAupD,EAAA1jD,SAAArE,OAA4BxB,IAC/CwtQ,EAAA,eAAAxtQ,EAAA,eAAAupD,EAAA1jD,SAAA7F,GAAAmS,WAAAikH,SACA,GAAA7sE,EAAA1jD,SAAA7F,GAAAmS,WAAAikH,QAAAg6I,EAAAnwQ,KAAAD,GAGA,GADAwtQ,EAAA,gDAAA4C,GACAA,EAAA5uQ,OAAA,EACA,IAAAxB,EAAA,EAAqBA,EAAAowQ,EAAA5uQ,OAAkCxB,IAAA,CAGvD,IAFA,IAAAo2H,GAAA,EACAi6I,EAAAp8P,IACAhS,EAAA,EAAuBA,EAAAsnD,EAAA1jD,SAAArE,OAA4BS,IACnDmuQ,EAAApwQ,IAAAiC,GACA+Q,EAAAxM,EAAA9D,MAAA6mD,EAAA1jD,SAAAuqQ,EAAApwQ,IAAAkF,SAAAF,YAAA,OAAAukD,EAAA1jD,SAAA5D,IAAA,IACAyjC,EAAA6jB,EAAA1jD,SAAA5D,IAAAouQ,IACAj6I,EAAAn0H,EACAurQ,EAAA,QAAA4C,EAAApwQ,GAAA,4BAAAiC,IAIAsnD,EAAA1jD,SAAAuqQ,EAAApwQ,IAAAmS,WAAAikH,SACAo3I,EAAA,QAAA4C,EAAApwQ,GAAA,uBAAAo2H,IAKA,SAAA63I,IACA,QAAAjuQ,EAAA,EAAmBA,EAAAupD,EAAA1jD,SAAArE,OAA4BxB,IAC/C,OAAAupD,EAAA1jD,SAAA7F,GAAAmS,WAAAikH,OAAA,CACA,IAAA+5I,EAAA5mN,EAAA1jD,SAAA7F,GAAAmS,WAAA42M,QACAx/J,EAAA1jD,SAAA7F,GAAAmS,WAAAg+P,aACAG,EAAAtwQ,EAAAmwQ,IAKA,SAAAG,EAAAl6I,EAAAm6I,GACA,QAAAvwQ,EAAA,EAAmBA,EAAAupD,EAAA1jD,SAAArE,OAA4BxB,IAC/C,GAAAupD,EAAA1jD,SAAA7F,GAAAmS,WAAAikH,UAAA,CACA,IAAA+5I,EAAAI,EAAAhnN,EAAA1jD,SAAA7F,GAAAmS,WAAA42M,QACAx/J,EAAA1jD,SAAA7F,GAAAmS,WAAAg+P,aACAG,EAAAtwQ,EAAAmwQ,IAOA,OAzDAxuN,EAAA,WAEAqsN,IACArsN,EAAA,uBAEAssN,IACAtsN,EAAA,0BAiDA6rN,EAAA,cAAAjkN,EAAA1jD,SAAArE,OAAA,UAEA+nD,GAMA,IAAA6kN,EAAA,SAAA17P,EAAA23P,EAAA0E,EAAAyB,EAAA5B,GACAvvQ,KAAAqT,QACArT,KAAAgrQ,QACAhrQ,KAAA0vQ,gBACA1vQ,KAAAmxQ,iBACAnxQ,KAAAuvQ,uBAIAN,EAAA,SAAA57P,EAAAo8P,EAAAiB,EAAAf,EAAAH,EAAAe,EAAAK,GACA5wQ,KAAAqT,QACArT,KAAAyvQ,eACAzvQ,KAAA0wQ,eACA1wQ,KAAA2vQ,4BACA3vQ,KAAAwvQ,4BACAxvQ,KAAAuwQ,uBACAvwQ,KAAA4wQ,wBAIA,SAAAt/H,EAAAhQ,EAAA8vI,GAIA,GADA,yBAAAA,GAAA,GACA,GAAA9vI,EAAAn/H,OAAA,UAAAC,MAAA,yDACA,IAAA3B,GAAA6gI,EAAA,MAAAA,EAAA,QAAAA,EAAA,MAAAA,EAAA,QAAAA,EAAA,MAAAA,EAAA,QAAAA,EAAA,MAAAA,EAAA,OACA,OAAA7gI,GAAA,GAAA2wQ,EAIA,SAAA1C,EAAAj3P,GAIA,IADA,IAAA45P,EAAA,EACA1wQ,EAAA,EAAiBA,EAAA8W,EAAAtV,OAAA,EAAmBxB,IAAO8W,EAAA9W,GAAA,GAAA8W,EAAA45P,GAAA,KAAAA,EAAA1wQ,GAC3C,GAAA2wI,EAAA,CAAA75H,GAAA45P,EAAA,GAAArC,OAAAv3P,EAAAtV,OAAA,IAAAsV,EAAA45P,GAAA55P,GAAA45P,EAAA,GAAArC,OAAAv3P,EAAAtV,OAAA,SACA,IAAAunN,EAAA,OAEAA,GAAA,EAEA,OAAAA,EAIA,SAAA+W,EAAAI,EAAAC,GAEA,IAAAD,IAAAC,EACA,SAGA,GAAAD,EAAA1+N,QAAA2+N,EAAA3+N,OACA,SAEA,QAAAxB,EAAA,EAAAoR,EAAA8uN,EAAA1+N,OAAkCxB,EAAAoR,EAAOpR,IAEzC,GAAAkgO,EAAAlgO,aAAAkB,OAAAi/N,EAAAngO,aAAAkB,OAEA,IAAA4+N,EAAAI,EAAAlgO,GAAAmgO,EAAAngO,IACA,cAEA,GAAAkgO,EAAAlgO,IAAAmgO,EAAAngO,GAEA,SAGA,SAsBA,SAAA0tQ,EAAAh/N,GAGA,IAFA,IAAAjuC,EAAA,GACAitQ,EAAA,EACA1tQ,EAAA,EAAAoR,EAAAs9B,EAAAltC,OAAiCxB,EAAAoR,IAAOpR,EAAA,CACxC,GAAAS,EAAA2c,eAAAsxB,EAAA1uC,IAAA,CACA0tQ,EAAA,EACA,MAEAjtQ,EAAAiuC,EAAA1uC,IAAA,EAEA,OAAA0tQ,EA5BAvmP,OAAA7mB,UAAA+tQ,OAAA,SAAA9sQ,GACA,OAAAlC,KAAAkC,8BClZA,IAAAuG,EAAWhJ,EAAQ,QACnBgU,EAAehU,EAAQ,QACvByhC,EAAgBzhC,EAAQ,QACxBiqC,EAAmBjqC,EAAQ,QAC3BkqC,EAAoBlqC,EAAQ,QAC5BmqC,EAAuBnqC,EAAQ,QAC/BkS,EAAAlJ,EAAAkJ,UACA/L,EAAAs7B,EAAAt7B,UAoBAvG,EAAAC,QAAA,SAAAoH,EAAAuiE,EAAAjlC,EAAAvF,GAEA,IAAA/3B,EAAA,UAAAtE,MAAA,uBACA,QAAAuE,IAAAsiE,GAAA,OAAAA,GAAA55D,MAAA45D,GAAA,UAAA7mE,MAAA,qBAGA,WAAA6mE,EAAAviE,GAGAs9B,MAAAvwB,EAAA/M,KAGA,IAAA+3B,QAAA93B,IAAA83B,IAAA/3B,EAAA23B,KAAA5R,MAAA4R,KAAAC,UAAA53B,KAGAiL,EAAAjL,EAAA,SAAAulG,GACA,IAAAqlK,EAAA5nO,EAAA1F,EAAAioE,GACAslK,EAAAD,EAAAroM,EACAv1D,EAAAi2B,EAAA3F,EAAAioE,GACAiiJ,EAAAtoP,EAAAgkC,EAAA5F,EAAAtwB,EAAA69P,IACAtlK,EAAA,GAAAiiJ,EAAA,GACAjiJ,EAAA,GAAAiiJ,EAAA,KAEAxnP,wBC/BA,SAAAL,EAAAR,EAAAiN,EAAAsN,EAAA5V,GACA,QAAA7D,IAAAd,EAAA,UAAAzD,MAAA,wBACA,GAAA0Q,KAAA+Q,cAAAzL,OAAA,UAAAhW,MAAA,gCACA,GAAAge,GAAA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,sCACA,GAAAoI,IAAA,wBAAAxH,eAAAwH,GAAA,UAAApI,MAAA,mCAEA,IAAAu2O,EAAA,CAAgBzyO,KAAA,WAKhB,OAJAsE,IAAAmuO,EAAAnuO,MACA4V,IAAAu4N,EAAAv4N,QACAu4N,EAAA7lO,cAAA,GACA6lO,EAAA9yO,WACA8yO,EAoBA,SAAA9yO,EAAAK,EAAAP,EAAAya,GAEA,IAAAla,EAAA,UAAA9D,MAAA,oBACA,IAAAuD,EAAA,UAAAvD,MAAA,2BACA,IAAAP,MAAAkE,QAAAJ,GAAA,UAAAvD,MAAA,gCACA,GAAAge,GAAA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,sCAEA,IAAA0E,EACA,OAAAZ,GACA,YAAAY,EAAAzD,EAAAsC,GAAAE,SAAqD,MACrD,iBAAAiB,EAAAgP,EAAAnQ,GAAAE,SAA+D,MAC/D,cAAAiB,EAAA2yB,EAAA9zB,GAAAE,SAAyD,MACzD,iBAAAiB,EAAA+iE,EAAAlkE,GAAAE,SAA+D,MAC/D,sBAAAiB,EAAAi0E,EAAAp1E,GAAAE,SAAyE,MACzE,mBAAAiB,EAAA68E,EAAAh+E,GAAAE,SAAmE,MACnE,kBAAAzD,MAAA8D,EAAA,eAGA,OADAka,IAAAtZ,EAAAsZ,QACAtZ,EAiBA,SAAAzD,EAAAsC,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBACA,QAAAuE,IAAAhB,EAAAxD,OAAA,UAAAC,MAAA,gCACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,+CACA,IAAAkyC,EAAA3uC,EAAA,MAAA2uC,EAAA3uC,EAAA,cAAAvD,MAAA,oCAEA,OAAAiE,EAAA,CACAH,KAAA,QACAP,eACKmN,EAAAsN,EAAA5V,GAyBL,SAAAivB,EAAA9zB,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,QAAAzB,EAAA,EAAmBA,EAAAgF,EAAAxD,OAAwBxB,IAAA,CAC3C,IAAA8W,EAAA9R,EAAAhF,GACA,GAAA8W,EAAAtV,OAAA,EACA,UAAAC,MAAA,+DAEA,QAAAQ,EAAA,EAAuBA,EAAA6U,IAAAtV,OAAA,GAAAA,OAAkCS,IAAA,CAEzD,OAAAjC,GAAA,IAAAiC,IAAA0xC,EAAA78B,EAAA,SAAA68B,EAAA78B,EAAA,iBAAArV,MAAA,oCACA,GAAAqV,IAAAtV,OAAA,GAAAS,KAAA6U,EAAA,GAAA7U,GACA,UAAAR,MAAA,gDAKA,OAAAiE,EAAA,CACAH,KAAA,UACAP,eACKmN,EAAAsN,EAAA5V,GAgCL,SAAAsL,EAAAnQ,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBACA,GAAAuD,EAAAxD,OAAA,YAAAC,MAAA,yDAEA,IAAAkyC,EAAA3uC,EAAA,SAAA2uC,EAAA3uC,EAAA,iBAAAvD,MAAA,oCAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,EAAAsN,EAAA5V,GAsBL,SAAAjE,EAAAC,EAAA4Z,EAAA5V,GACA,IAAAhE,EAAA,UAAApE,MAAA,sBACA,IAAAP,MAAAkE,QAAAS,GAAA,UAAApE,MAAA,6BACA,GAAAge,GAAA,IAAAA,EAAAje,OAAA,UAAAC,MAAA,sCACA,GAAAoI,IAAA,wBAAAxH,eAAAwH,GAAA,UAAApI,MAAA,mCAEA,IAAA0R,EAAA,CAAc5N,KAAA,qBAId,OAHAsE,IAAAsJ,EAAAtJ,MACA4V,IAAAtM,EAAAsM,QACAtM,EAAAtN,WACAsN,EAmBA,SAAAinE,EAAAp1E,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,kBACAP,eACKmN,EAAAsN,EAAA5V,GAmBL,SAAAq/D,EAAAlkE,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,aACAP,eACKmN,EAAAsN,EAAA5V,GAoBL,SAAAm5E,EAAAh+E,EAAAmN,EAAAsN,EAAA5V,GACA,IAAA7E,EAAA,UAAAvD,MAAA,yBAEA,OAAAiE,EAAA,CACAH,KAAA,eACAP,eACKmN,EAAAsN,EAAA5V,GA0BL,SAAA06L,EAAAt+L,EAAAkM,EAAAsN,EAAA5V,GACA,IAAA5D,EAAA,UAAAxE,MAAA,0BACA,IAAAP,MAAAkE,QAAAa,GAAA,UAAAxE,MAAA,+BAEA,OAAAiE,EAAA,CACAH,KAAA,qBACAU,cACKkM,EAAAsN,EAAA5V,GAIL,IAAA26L,EAAA,CACAC,MAAA,KACAC,cAAA,SACAC,QAAA,WACAx3F,QAAA,EACAy3F,OAAA,UACAC,MAAA,QACAC,OAAA,OACAC,OAAA,OACAkzC,YAAA,OACAC,YAAA,OACAlzC,WAAA,KACAC,WAAA,KACAC,KAAA,aAGAizC,EAAA,CACAnzC,WAAA,KACAC,WAAA,KACAH,OAAA,EACAC,OAAA,EACAmzC,YAAA,IACAE,WAAA,IACAC,MAAA,UACA5zC,MAAA,OACAI,MAAA,YACAK,KAAA,aACAN,OAAA,gBAeA,SAAAt+K,EAAAukL,EAAAluL,GACA,QAAA3W,IAAA6kM,GAAA,OAAAA,GAAAn8L,MAAAm8L,GAAA,UAAAppM,MAAA,mBACA,GAAAkb,QAAA,aAAAlb,MAAA,uCACA,IAAA62O,EAAAl1O,KAAAulB,IAAA,GAAAhM,GAAA,GACA,OAAAvZ,KAAAkjB,MAAAukL,EAAAytC,KAYA,SAAAj6M,EAAA8uE,EAAA3uE,GACA,QAAAx4B,IAAAmnG,GAAA,OAAAA,EAAA,UAAA1rG,MAAA,uBAEA,IAAAynC,EAAAs7J,EAAAhmK,GAAA,cACA,IAAA0K,EAAA,UAAAznC,MAAA,oBACA,OAAA0rG,EAAAjkE,EAYA,SAAA5K,EAAAvrB,EAAAyrB,GACA,QAAAx4B,IAAA+M,GAAA,OAAAA,EAAA,UAAAtR,MAAA,wBAEA,IAAAynC,EAAAs7J,EAAAhmK,GAAA,cACA,IAAA0K,EAAA,UAAAznC,MAAA,oBACA,OAAAsR,EAAAm2B,EAYA,SAAAi8J,EAAApyL,EAAAyrB,GACA,OAAAsuE,EAAAxuE,EAAAvrB,EAAAyrB,IAWA,SAAAwpK,EAAAz+J,GACA,UAAAA,QAAAvjC,IAAAujC,EAAA,UAAA9nC,MAAA,uBAEA,IAAA6mE,EAAA/+B,EAAA,IAEA,OADA++B,EAAA,IAAAA,GAAA,KACAA,EAUA,SAAAwkC,EAAAK,GACA,UAAAA,QAAAnnG,IAAAmnG,EAAA,UAAA1rG,MAAA,uBAEA,IAAAkjM,EAAAx3F,GAAA,EAAA/pG,KAAAsvC,IACA,WAAAiyJ,EAAAvhM,KAAAsvC,GAUA,SAAAm6D,EAAA83F,GACA,UAAAA,QAAA3+L,IAAA2+L,EAAA,UAAAljM,MAAA,uBAEA,IAAA0rG,EAAAw3F,EAAA,IACA,OAAAx3F,EAAA/pG,KAAAsvC,GAAA,IAaA,SAAAu1J,EAAAl1L,EAAAwlO,EAAAC,GACA,UAAAzlO,QAAA/M,IAAA+M,EAAA,UAAAtR,MAAA,wBACA,KAAAsR,GAAA,aAAAtR,MAAA,sCAEA,IAAAg3O,EAAAp6M,EAAAC,EAAAvrB,EAAAwlO,GAAAC,GAAA,cACA,OAAAC,EAWA,SAAAC,EAAAhzM,EAAA6yM,EAAAC,GACA,UAAA9yM,QAAA1/B,IAAA0/B,EAAA,UAAAjkC,MAAA,oBACA,KAAAikC,GAAA,aAAAjkC,MAAA,kCAEA,IAAAk3O,EAAAR,EAAAI,GAAA,UACA,IAAAI,EAAA,UAAAl3O,MAAA,0BAEA,IAAAm3O,EAAAT,EAAAK,GAAA,cACA,IAAAI,EAAA,UAAAn3O,MAAA,uBAEA,OAAAikC,EAAAizM,EAAAC,EAcA,SAAAjlM,EAAAk3J,GACA,OAAAn8L,MAAAm8L,IAAA,OAAAA,IAAA3pM,MAAAkE,QAAAylM,GAGAnsM,EAAAC,QAAA,CACA+G,UACAR,WACAU,oBACA2+L,qBACA7hM,QACAwmE,aACA/zD,aACAilE,kBACAthD,UACAkqD,eACA3kD,oBACAC,oBACA6mK,oBACAr4F,kBACAD,kBACAm7F,iBACAC,kBACAywC,cACApyN,QACAqtB,kCC3hBA,IAAA7rC,EAAWhJ,EAAQ,QACnB0H,EAAc1H,EAAQ,QACtBmG,EAAgBnG,EAAQ,QAAiBmG,UACzCs0G,EAAmBz6G,EAAQ,QAC3BsH,EAAA0B,EAAA1B,YACA+O,EAAA3O,EAAA2O,WACAilE,EAAA5zE,EAAA4zE,gBACA+qH,EAAA3+L,EAAA2+L,kBAgDA,SAAA0rE,EAAA3iQ,EAAA6E,EAAAyrB,GACA,IAAAgnH,EAAA,GACAsrH,EAAA3rE,EAAApyL,EAAAyrB,GACAltB,EAAArM,EAAAiJ,GACA6iQ,EAAA,GA4BA,OA3BAz/P,EAAA6E,QAAA,SAAAlE,EAAAxS,GACA,GAAAA,IAAA6R,EAAA9P,OAAA,GACA,IAAA6tD,EAAA2hN,EAAA/+P,EAAAX,EAAA7R,EAAA,GAAAqxQ,GAEA,GADAtrH,EAAAvlJ,KAAAovD,GACA5vD,EAAA,GACA,IAAAwxQ,EAAAzrH,EAAA/lJ,EAAA,GACAowD,EAAA0pD,EAAAlqD,EAAA4hN,IAGA,IAAAphN,IACAohN,EAAA,GAAAphN,EACAR,EAAA,GAAAQ,GAGAkhN,EAAA9wQ,KAAAgxQ,EAAA,IACAxxQ,IAAA6R,EAAA9P,OAAA,IACAuvQ,EAAA9wQ,KAAAovD,EAAA,IACA0hN,EAAA9wQ,KAAAovD,EAAA,KAIA,IAAA/9C,EAAA9P,SACAuvQ,EAAA9wQ,KAAAovD,EAAA,IACA0hN,EAAA9wQ,KAAAovD,EAAA,QAIAl6C,EAAA47P,EAAA7iQ,EAAAiE,YAaA,SAAA6+P,EAAA7lK,EAAAC,EAAAxoF,GACA,IAAA+4B,EAAAv4C,KAAAgR,MAAA+2F,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAAAD,EAAA,GAAAC,EAAA,KAEA8lK,EAAA/lK,EAAA,GAAAvoF,GAAAwoF,EAAA,GAAAD,EAAA,IAAAxvD,EACAw1N,EAAA/lK,EAAA,GAAAxoF,GAAAwoF,EAAA,GAAAD,EAAA,IAAAxvD,EACAy1N,EAAAjmK,EAAA,GAAAvoF,GAAAuoF,EAAA,GAAAC,EAAA,IAAAzvD,EACA01N,EAAAjmK,EAAA,GAAAxoF,GAAAuoF,EAAA,GAAAC,EAAA,IAAAzvD,EACA,QAAAu1N,EAAAE,GAAA,CAAAD,EAAAE,IAjFA3yQ,EAAAC,QAAA,SAAAoH,EAAAgN,EAAAyrB,GACA,IAAAz4B,EAAA,UAAAtE,MAAA,uBACA,QAAAuE,IAAA+M,GAAA,OAAAA,GAAArE,MAAAqE,GAAA,UAAAtR,MAAA,wBACA,IAAA8D,EAAA,YAAAQ,EAAAR,KAAAQ,EAAAb,SAAAK,KAAAQ,EAAAR,KACA4M,EAAApM,EAAAoM,WAEA,OAAA5M,GACA,iBACA,OAAAsrQ,EAAA9qQ,EAAAgN,EAAAyrB,GACA,sBACA,IAAAltB,EAAA,GAIA,OAHAlL,EAAAL,EAAA,SAAAL,GACA4L,EAAArR,KAAA4wQ,EAAAnrQ,EAAAqN,EAAAyrB,GAAAt5B,SAAAF,eAEAo1E,EAAA9oE,EAAAa,GACA,QACA,UAAA1Q,MAAA,YAAA8D,EAAA","file":"js/chunk-639eb62f.04e2db56.js","sourcesContent":["\"use strict\"\n\n//High level idea:\n// 1. Use Clarkson's incremental construction to find convex hull\n// 2. Point location in triangulation by jump and walk\n\nmodule.exports = incrementalConvexHull\n\nvar orient = require(\"robust-orientation\")\nvar compareCell = require(\"simplicial-complex\").compareCells\n\nfunction compareInt(a, b) {\n return a - b\n}\n\nfunction Simplex(vertices, adjacent, boundary) {\n this.vertices = vertices\n this.adjacent = adjacent\n this.boundary = boundary\n this.lastVisited = -1\n}\n\nSimplex.prototype.flip = function() {\n var t = this.vertices[0]\n this.vertices[0] = this.vertices[1]\n this.vertices[1] = t\n var u = this.adjacent[0]\n this.adjacent[0] = this.adjacent[1]\n this.adjacent[1] = u\n}\n\nfunction GlueFacet(vertices, cell, index) {\n this.vertices = vertices\n this.cell = cell\n this.index = index\n}\n\nfunction compareGlue(a, b) {\n return compareCell(a.vertices, b.vertices)\n}\n\nfunction bakeOrient(d) {\n var code = [\"function orient(){var tuple=this.tuple;return test(\"]\n for(var i=0; i<=d; ++i) {\n if(i > 0) {\n code.push(\",\")\n }\n code.push(\"tuple[\", i, \"]\")\n }\n code.push(\")}return orient\")\n var proc = new Function(\"test\", code.join(\"\"))\n var test = orient[d+1]\n if(!test) {\n test = orient\n }\n return proc(test)\n}\n\nvar BAKED = []\n\nfunction Triangulation(dimension, vertices, simplices) {\n this.dimension = dimension\n this.vertices = vertices\n this.simplices = simplices\n this.interior = simplices.filter(function(c) {\n return !c.boundary\n })\n\n this.tuple = new Array(dimension+1)\n for(var i=0; i<=dimension; ++i) {\n this.tuple[i] = this.vertices[i]\n }\n\n var o = BAKED[dimension]\n if(!o) {\n o = BAKED[dimension] = bakeOrient(dimension)\n }\n this.orient = o\n}\n\nvar proto = Triangulation.prototype\n\n//Degenerate situation where we are on boundary, but coplanar to face\nproto.handleBoundaryDegeneracy = function(cell, point) {\n var d = this.dimension\n var n = this.vertices.length - 1\n var tuple = this.tuple\n var verts = this.vertices\n\n //Dumb solution: Just do dfs from boundary cell until we find any peak, or terminate\n var toVisit = [ cell ]\n cell.lastVisited = -n\n while(toVisit.length > 0) {\n cell = toVisit.pop()\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n for(var i=0; i<=d; ++i) {\n var neighbor = cellAdj[i]\n if(!neighbor.boundary || neighbor.lastVisited <= -n) {\n continue\n }\n var nv = neighbor.vertices\n for(var j=0; j<=d; ++j) {\n var vv = nv[j]\n if(vv < 0) {\n tuple[j] = point\n } else {\n tuple[j] = verts[vv]\n }\n }\n var o = this.orient()\n if(o > 0) {\n return neighbor\n }\n neighbor.lastVisited = -n\n if(o === 0) {\n toVisit.push(neighbor)\n }\n }\n }\n return null\n}\n\nproto.walk = function(point, random) {\n //Alias local properties\n var n = this.vertices.length - 1\n var d = this.dimension\n var verts = this.vertices\n var tuple = this.tuple\n\n //Compute initial jump cell\n var initIndex = random ? (this.interior.length * Math.random())|0 : (this.interior.length-1)\n var cell = this.interior[ initIndex ]\n\n //Start walking\nouterLoop:\n while(!cell.boundary) {\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n\n for(var i=0; i<=d; ++i) {\n tuple[i] = verts[cellVerts[i]]\n }\n cell.lastVisited = n\n\n //Find farthest adjacent cell\n for(var i=0; i<=d; ++i) {\n var neighbor = cellAdj[i]\n if(neighbor.lastVisited >= n) {\n continue\n }\n var prev = tuple[i]\n tuple[i] = point\n var o = this.orient()\n tuple[i] = prev\n if(o < 0) {\n cell = neighbor\n continue outerLoop\n } else {\n if(!neighbor.boundary) {\n neighbor.lastVisited = n\n } else {\n neighbor.lastVisited = -n\n }\n }\n }\n return\n }\n\n return cell\n}\n\nproto.addPeaks = function(point, cell) {\n var n = this.vertices.length - 1\n var d = this.dimension\n var verts = this.vertices\n var tuple = this.tuple\n var interior = this.interior\n var simplices = this.simplices\n\n //Walking finished at boundary, time to add peaks\n var tovisit = [ cell ]\n\n //Stretch initial boundary cell into a peak\n cell.lastVisited = n\n cell.vertices[cell.vertices.indexOf(-1)] = n\n cell.boundary = false\n interior.push(cell)\n\n //Record a list of all new boundaries created by added peaks so we can glue them together when we are all done\n var glueFacets = []\n\n //Do a traversal of the boundary walking outward from starting peak\n while(tovisit.length > 0) {\n //Pop off peak and walk over adjacent cells\n var cell = tovisit.pop()\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n var indexOfN = cellVerts.indexOf(n)\n if(indexOfN < 0) {\n continue\n }\n\n for(var i=0; i<=d; ++i) {\n if(i === indexOfN) {\n continue\n }\n\n //For each boundary neighbor of the cell\n var neighbor = cellAdj[i]\n if(!neighbor.boundary || neighbor.lastVisited >= n) {\n continue\n }\n\n var nv = neighbor.vertices\n\n //Test if neighbor is a peak\n if(neighbor.lastVisited !== -n) { \n //Compute orientation of p relative to each boundary peak\n var indexOfNeg1 = 0\n for(var j=0; j<=d; ++j) {\n if(nv[j] < 0) {\n indexOfNeg1 = j\n tuple[j] = point\n } else {\n tuple[j] = verts[nv[j]]\n }\n }\n var o = this.orient()\n\n //Test if neighbor cell is also a peak\n if(o > 0) {\n nv[indexOfNeg1] = n\n neighbor.boundary = false\n interior.push(neighbor)\n tovisit.push(neighbor)\n neighbor.lastVisited = n\n continue\n } else {\n neighbor.lastVisited = -n\n }\n }\n\n var na = neighbor.adjacent\n\n //Otherwise, replace neighbor with new face\n var vverts = cellVerts.slice()\n var vadj = cellAdj.slice()\n var ncell = new Simplex(vverts, vadj, true)\n simplices.push(ncell)\n\n //Connect to neighbor\n var opposite = na.indexOf(cell)\n if(opposite < 0) {\n continue\n }\n na[opposite] = ncell\n vadj[indexOfN] = neighbor\n\n //Connect to cell\n vverts[i] = -1\n vadj[i] = cell\n cellAdj[i] = ncell\n\n //Flip facet\n ncell.flip()\n\n //Add to glue list\n for(var j=0; j<=d; ++j) {\n var uu = vverts[j]\n if(uu < 0 || uu === n) {\n continue\n }\n var nface = new Array(d-1)\n var nptr = 0\n for(var k=0; k<=d; ++k) {\n var vv = vverts[k]\n if(vv < 0 || k === j) {\n continue\n }\n nface[nptr++] = vv\n }\n glueFacets.push(new GlueFacet(nface, ncell, j))\n }\n }\n }\n\n //Glue boundary facets together\n glueFacets.sort(compareGlue)\n\n for(var i=0; i+1= 0) {\n bcell[ptr++] = cv[j]\n } else {\n parity = j&1\n }\n }\n if(parity === (d&1)) {\n var t = bcell[0]\n bcell[0] = bcell[1]\n bcell[1] = t\n }\n boundary.push(bcell)\n }\n }\n return boundary\n}\n\nfunction incrementalConvexHull(points, randomSearch) {\n var n = points.length\n if(n === 0) {\n throw new Error(\"Must have at least d+1 points\")\n }\n var d = points[0].length\n if(n <= d) {\n throw new Error(\"Must input at least d+1 points\")\n }\n\n //FIXME: This could be degenerate, but need to select d+1 non-coplanar points to bootstrap process\n var initialSimplex = points.slice(0, d+1)\n\n //Make sure initial simplex is positively oriented\n var o = orient.apply(void 0, initialSimplex)\n if(o === 0) {\n throw new Error(\"Input not in general position\")\n }\n var initialCoords = new Array(d+1)\n for(var i=0; i<=d; ++i) {\n initialCoords[i] = i\n }\n if(o < 0) {\n initialCoords[0] = 1\n initialCoords[1] = 0\n }\n\n //Create initial topological index, glue pointers together (kind of messy)\n var initialCell = new Simplex(initialCoords, new Array(d+1), false)\n var boundary = initialCell.adjacent\n var list = new Array(d+2)\n for(var i=0; i<=d; ++i) {\n var verts = initialCoords.slice()\n for(var j=0; j<=d; ++j) {\n if(j === i) {\n verts[j] = -1\n }\n }\n var t = verts[0]\n verts[0] = verts[1]\n verts[1] = t\n var cell = new Simplex(verts, new Array(d+1), true)\n boundary[i] = cell\n list[i] = cell\n }\n list[d+1] = initialCell\n for(var i=0; i<=d; ++i) {\n var verts = boundary[i].vertices\n var adj = boundary[i].adjacent\n for(var j=0; j<=d; ++j) {\n var v = verts[j]\n if(v < 0) {\n adj[j] = initialCell\n continue\n }\n for(var k=0; k<=d; ++k) {\n if(boundary[k].vertices.indexOf(v) < 0) {\n adj[j] = boundary[k]\n }\n }\n }\n }\n\n //Initialize triangles\n var triangles = new Triangulation(d, initialSimplex, list)\n\n //Insert remaining points\n var useRandom = !!randomSearch\n for(var i=d+1; i|Geometry|Feature} obj Object\n * @returns {Array} coordinates\n * @example\n * var pt = turf.point([10, 10]);\n *\n * var coord = turf.getCoord(pt);\n * //= [10, 10]\n */\nfunction getCoord(obj) {\n if (!obj) throw new Error('obj is required');\n\n var coordinates = getCoords(obj);\n\n // getCoord() must contain at least two numbers (Point)\n if (coordinates.length > 1 &&\n typeof coordinates[0] === 'number' &&\n typeof coordinates[1] === 'number') {\n return coordinates;\n } else {\n throw new Error('Coordinate is not a valid Point');\n }\n}\n\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array of numbers\n *\n * @name getCoords\n * @param {Array|Geometry|Feature} obj Object\n * @returns {Array} coordinates\n * @example\n * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);\n *\n * var coord = turf.getCoords(poly);\n * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]\n */\nfunction getCoords(obj) {\n if (!obj) throw new Error('obj is required');\n var coordinates;\n\n // Array of numbers\n if (obj.length) {\n coordinates = obj;\n\n // Geometry Object\n } else if (obj.coordinates) {\n coordinates = obj.coordinates;\n\n // Feature\n } else if (obj.geometry && obj.geometry.coordinates) {\n coordinates = obj.geometry.coordinates;\n }\n // Checks if coordinates contains a number\n if (coordinates) {\n containsNumber(coordinates);\n return coordinates;\n }\n throw new Error('No valid coordinates');\n}\n\n/**\n * Checks if coordinates contains a number\n *\n * @name containsNumber\n * @param {Array} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 &&\n typeof coordinates[0] === 'number' &&\n typeof coordinates[1] === 'number') {\n return true;\n }\n\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error('coordinates must only contain numbers');\n}\n\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @name geojsonType\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction geojsonType(value, type, name) {\n if (!type || !name) throw new Error('type and name required');\n\n if (!value || value.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + value.type);\n }\n}\n\n/**\n * Enforce expectations about types of {@link Feature} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @name featureOf\n * @param {Feature} feature a feature with an expected geometry type\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} error if value is not the expected type.\n */\nfunction featureOf(feature, type, name) {\n if (!feature) throw new Error('No feature passed');\n if (!name) throw new Error('.featureOf() requires a name');\n if (!feature || feature.type !== 'Feature' || !feature.geometry) {\n throw new Error('Invalid input to ' + name + ', Feature with geometry required');\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + feature.geometry.type);\n }\n}\n\n/**\n * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @name collectionOf\n * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) throw new Error('No featureCollection passed');\n if (!name) throw new Error('.collectionOf() requires a name');\n if (!featureCollection || featureCollection.type !== 'FeatureCollection') {\n throw new Error('Invalid input to ' + name + ', FeatureCollection required');\n }\n for (var i = 0; i < featureCollection.features.length; i++) {\n var feature = featureCollection.features[i];\n if (!feature || feature.type !== 'Feature' || !feature.geometry) {\n throw new Error('Invalid input to ' + name + ', Feature with geometry required');\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + feature.geometry.type);\n }\n }\n}\n\n/**\n * Get Geometry from Feature or Geometry Object\n *\n * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object\n * @returns {Geometry|null} GeoJSON Geometry Object\n * @throws {Error} if geojson is not a Feature or Geometry Object\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getGeom(point)\n * //={\"type\": \"Point\", \"coordinates\": [110, 40]}\n */\nfunction getGeom(geojson) {\n if (!geojson) throw new Error('geojson is required');\n if (geojson.geometry !== undefined) return geojson.geometry;\n if (geojson.coordinates || geojson.geometries) return geojson;\n throw new Error('geojson must be a valid Feature or Geometry Object');\n}\n\n/**\n * Get Geometry Type from Feature or Geometry Object\n *\n * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object\n * @returns {string} GeoJSON Geometry Type\n * @throws {Error} if geojson is not a Feature or Geometry Object\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getGeomType(point)\n * //=\"Point\"\n */\nfunction getGeomType(geojson) {\n if (!geojson) throw new Error('geojson is required');\n var geom = getGeom(geojson);\n if (geom) return geom.type;\n}\n\nmodule.exports = {\n geojsonType: geojsonType,\n collectionOf: collectionOf,\n featureOf: featureOf,\n getCoord: getCoord,\n getCoords: getCoords,\n containsNumber: containsNumber,\n getGeom: getGeom,\n getGeomType: getGeomType\n};\n","var flattenEach = require('@turf/meta').flattenEach;\nvar featureCollection = require('@turf/helpers').featureCollection;\n\n/**\n * Flattens any {@link GeoJSON} to a {@link FeatureCollection} inspired by [geojson-flatten](https://github.com/tmcw/geojson-flatten).\n *\n * @name flatten\n * @param {FeatureCollection|Geometry|Feature} geojson any valid GeoJSON Object\n * @returns {FeatureCollection} all Multi-Geometries are flattened into single Features\n * @example\n * var multiGeometry = turf.multiPolygon([\n * [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]],\n * [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],\n * [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]]\n * ]);\n *\n * var flatten = turf.flatten(multiGeometry);\n *\n * //addToMap\n * var addToMap = [flatten]\n */\nmodule.exports = function (geojson) {\n if (!geojson) throw new Error('geojson is required');\n\n var results = [];\n flattenEach(geojson, function (feature) {\n results.push(feature);\n });\n return featureCollection(results);\n};\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar Element = require('../core/core.element');\nvar helpers = require('../helpers/index');\nvar layouts = require('../core/core.layouts');\n\nvar noop = helpers.noop;\n\ndefaults._set('global', {\n\tlegend: {\n\t\tdisplay: true,\n\t\tposition: 'top',\n\t\tfullWidth: true,\n\t\treverse: false,\n\t\tweight: 1000,\n\n\t\t// a callback that will handle\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.datasetIndex;\n\t\t\tvar ci = this.chart;\n\t\t\tvar meta = ci.getDatasetMeta(index);\n\n\t\t\t// See controller.isDatasetVisible comment\n\t\t\tmeta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;\n\n\t\t\t// We hid a dataset ... rerender the chart\n\t\t\tci.update();\n\t\t},\n\n\t\tonHover: null,\n\n\t\tlabels: {\n\t\t\tboxWidth: 40,\n\t\t\tpadding: 10,\n\t\t\t// Generates labels shown in the legend\n\t\t\t// Valid properties to return:\n\t\t\t// text : text to display\n\t\t\t// fillStyle : fill of coloured box\n\t\t\t// strokeStyle: stroke of coloured box\n\t\t\t// hidden : if this legend item refers to a hidden item\n\t\t\t// lineCap : cap style for line\n\t\t\t// lineDash\n\t\t\t// lineDashOffset :\n\t\t\t// lineJoin :\n\t\t\t// lineWidth :\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\treturn helpers.isArray(data.datasets) ? data.datasets.map(function(dataset, i) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttext: dataset.label,\n\t\t\t\t\t\tfillStyle: (!helpers.isArray(dataset.backgroundColor) ? dataset.backgroundColor : dataset.backgroundColor[0]),\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(i),\n\t\t\t\t\t\tlineCap: dataset.borderCapStyle,\n\t\t\t\t\t\tlineDash: dataset.borderDash,\n\t\t\t\t\t\tlineDashOffset: dataset.borderDashOffset,\n\t\t\t\t\t\tlineJoin: dataset.borderJoinStyle,\n\t\t\t\t\t\tlineWidth: dataset.borderWidth,\n\t\t\t\t\t\tstrokeStyle: dataset.borderColor,\n\t\t\t\t\t\tpointStyle: dataset.pointStyle,\n\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\n\t\t\t\t\t\tdatasetIndex: i\n\t\t\t\t\t};\n\t\t\t\t}, this) : [];\n\t\t\t}\n\t\t}\n\t},\n\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('
    ');\n\t\tfor (var i = 0; i < chart.data.datasets.length; i++) {\n\t\t\ttext.push('
  • ');\n\t\t\tif (chart.data.datasets[i].label) {\n\t\t\t\ttext.push(chart.data.datasets[i].label);\n\t\t\t}\n\t\t\ttext.push('
  • ');\n\t\t}\n\t\ttext.push('
');\n\t\treturn text.join('');\n\t}\n});\n\n/**\n * Helper function to get the box width based on the usePointStyle option\n * @param labelopts {Object} the label options on the legend\n * @param fontSize {Number} the label font size\n * @return {Number} width of the color box area\n */\nfunction getBoxWidth(labelOpts, fontSize) {\n\treturn labelOpts.usePointStyle ?\n\t\tfontSize * Math.SQRT2 :\n\t\tlabelOpts.boxWidth;\n}\n\n/**\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\n */\nvar Legend = Element.extend({\n\n\tinitialize: function(config) {\n\t\thelpers.extend(this, config);\n\n\t\t// Contains hit boxes for each dataset (in dataset order)\n\t\tthis.legendHitBoxes = [];\n\n\t\t// Are we in doughnut mode which has a different data type\n\t\tthis.doughnutMode = false;\n\t},\n\n\t// These methods are ordered by lifecycle. Utilities then follow.\n\t// Any function defined here is inherited by all legend types.\n\t// Any function can be extended by the legend type\n\n\tbeforeUpdate: noop,\n\tupdate: function(maxWidth, maxHeight, margins) {\n\t\tvar me = this;\n\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\tme.beforeUpdate();\n\n\t\t// Absorb the master measurements\n\t\tme.maxWidth = maxWidth;\n\t\tme.maxHeight = maxHeight;\n\t\tme.margins = margins;\n\n\t\t// Dimensions\n\t\tme.beforeSetDimensions();\n\t\tme.setDimensions();\n\t\tme.afterSetDimensions();\n\t\t// Labels\n\t\tme.beforeBuildLabels();\n\t\tme.buildLabels();\n\t\tme.afterBuildLabels();\n\n\t\t// Fit\n\t\tme.beforeFit();\n\t\tme.fit();\n\t\tme.afterFit();\n\t\t//\n\t\tme.afterUpdate();\n\n\t\treturn me.minSize;\n\t},\n\tafterUpdate: noop,\n\n\t//\n\n\tbeforeSetDimensions: noop,\n\tsetDimensions: function() {\n\t\tvar me = this;\n\t\t// Set the unconstrained dimension before label rotation\n\t\tif (me.isHorizontal()) {\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.left = 0;\n\t\t\tme.right = me.width;\n\t\t} else {\n\t\t\tme.height = me.maxHeight;\n\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.top = 0;\n\t\t\tme.bottom = me.height;\n\t\t}\n\n\t\t// Reset padding\n\t\tme.paddingLeft = 0;\n\t\tme.paddingTop = 0;\n\t\tme.paddingRight = 0;\n\t\tme.paddingBottom = 0;\n\n\t\t// Reset minSize\n\t\tme.minSize = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t};\n\t},\n\tafterSetDimensions: noop,\n\n\t//\n\n\tbeforeBuildLabels: noop,\n\tbuildLabels: function() {\n\t\tvar me = this;\n\t\tvar labelOpts = me.options.labels || {};\n\t\tvar legendItems = helpers.callback(labelOpts.generateLabels, [me.chart], me) || [];\n\n\t\tif (labelOpts.filter) {\n\t\t\tlegendItems = legendItems.filter(function(item) {\n\t\t\t\treturn labelOpts.filter(item, me.chart.data);\n\t\t\t});\n\t\t}\n\n\t\tif (me.options.reverse) {\n\t\t\tlegendItems.reverse();\n\t\t}\n\n\t\tme.legendItems = legendItems;\n\t},\n\tafterBuildLabels: noop,\n\n\t//\n\n\tbeforeFit: noop,\n\tfit: function() {\n\t\tvar me = this;\n\t\tvar opts = me.options;\n\t\tvar labelOpts = opts.labels;\n\t\tvar display = opts.display;\n\n\t\tvar ctx = me.ctx;\n\n\t\tvar globalDefault = defaults.global;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize);\n\t\tvar fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle);\n\t\tvar fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily);\n\t\tvar labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\t// Reset hit boxes\n\t\tvar hitboxes = me.legendHitBoxes = [];\n\n\t\tvar minSize = me.minSize;\n\t\tvar isHorizontal = me.isHorizontal();\n\n\t\tif (isHorizontal) {\n\t\t\tminSize.width = me.maxWidth; // fill all the width\n\t\t\tminSize.height = display ? 10 : 0;\n\t\t} else {\n\t\t\tminSize.width = display ? 10 : 0;\n\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t}\n\n\t\t// Increase sizes here\n\t\tif (display) {\n\t\t\tctx.font = labelFont;\n\n\t\t\tif (isHorizontal) {\n\t\t\t\t// Labels\n\n\t\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\n\t\t\t\tvar lineWidths = me.lineWidths = [0];\n\t\t\t\tvar totalHeight = me.legendItems.length ? fontSize + (labelOpts.padding) : 0;\n\n\t\t\t\tctx.textAlign = 'left';\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n\t\t\t\t\tif (lineWidths[lineWidths.length - 1] + width + labelOpts.padding >= me.width) {\n\t\t\t\t\t\ttotalHeight += fontSize + (labelOpts.padding);\n\t\t\t\t\t\tlineWidths[lineWidths.length] = me.left;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\n\t\t\t\t\thitboxes[i] = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\theight: fontSize\n\t\t\t\t\t};\n\n\t\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\n\t\t\t\t});\n\n\t\t\t\tminSize.height += totalHeight;\n\n\t\t\t} else {\n\t\t\t\tvar vPadding = labelOpts.padding;\n\t\t\t\tvar columnWidths = me.columnWidths = [];\n\t\t\t\tvar totalWidth = labelOpts.padding;\n\t\t\t\tvar currentColWidth = 0;\n\t\t\t\tvar currentColHeight = 0;\n\t\t\t\tvar itemHeight = fontSize + vPadding;\n\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n\t\t\t\t\t// If too tall, go to new column\n\t\t\t\t\tif (currentColHeight + itemHeight > minSize.height) {\n\t\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\n\t\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\n\n\t\t\t\t\t\tcurrentColWidth = 0;\n\t\t\t\t\t\tcurrentColHeight = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get max width\n\t\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\n\t\t\t\t\tcurrentColHeight += itemHeight;\n\n\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\n\t\t\t\t\thitboxes[i] = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\twidth: itemWidth,\n\t\t\t\t\t\theight: fontSize\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\ttotalWidth += currentColWidth;\n\t\t\t\tcolumnWidths.push(currentColWidth);\n\t\t\t\tminSize.width += totalWidth;\n\t\t\t}\n\t\t}\n\n\t\tme.width = minSize.width;\n\t\tme.height = minSize.height;\n\t},\n\tafterFit: noop,\n\n\t// Shared Methods\n\tisHorizontal: function() {\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\n\t},\n\n\t// Actually draw the legend on the canvas\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar opts = me.options;\n\t\tvar labelOpts = opts.labels;\n\t\tvar globalDefault = defaults.global;\n\t\tvar lineDefault = globalDefault.elements.line;\n\t\tvar legendWidth = me.width;\n\t\tvar lineWidths = me.lineWidths;\n\n\t\tif (opts.display) {\n\t\t\tvar ctx = me.ctx;\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\t\tvar fontColor = valueOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor);\n\t\t\tvar fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize);\n\t\t\tvar fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle);\n\t\t\tvar fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily);\n\t\t\tvar labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\t\t\tvar cursor;\n\n\t\t\t// Canvas setup\n\t\t\tctx.textAlign = 'left';\n\t\t\tctx.textBaseline = 'middle';\n\t\t\tctx.lineWidth = 0.5;\n\t\t\tctx.strokeStyle = fontColor; // for strikethrough effect\n\t\t\tctx.fillStyle = fontColor; // render in correct colour\n\t\t\tctx.font = labelFont;\n\n\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\tvar hitboxes = me.legendHitBoxes;\n\n\t\t\t// current position\n\t\t\tvar drawLegendBox = function(x, y, legendItem) {\n\t\t\t\tif (isNaN(boxWidth) || boxWidth <= 0) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Set the ctx for the box\n\t\t\t\tctx.save();\n\n\t\t\t\tctx.fillStyle = valueOrDefault(legendItem.fillStyle, globalDefault.defaultColor);\n\t\t\t\tctx.lineCap = valueOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);\n\t\t\t\tctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);\n\t\t\t\tctx.lineJoin = valueOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);\n\t\t\t\tctx.lineWidth = valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth);\n\t\t\t\tctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);\n\t\t\t\tvar isLineWidthZero = (valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);\n\n\t\t\t\tif (ctx.setLineDash) {\n\t\t\t\t\t// IE 9 and 10 do not support line dash\n\t\t\t\t\tctx.setLineDash(valueOrDefault(legendItem.lineDash, lineDefault.borderDash));\n\t\t\t\t}\n\n\t\t\t\tif (opts.labels && opts.labels.usePointStyle) {\n\t\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\n\t\t\t\t\t// x and y to be center of figure (instead of top left)\n\t\t\t\t\tvar radius = fontSize * Math.SQRT2 / 2;\n\t\t\t\t\tvar offSet = radius / Math.SQRT2;\n\t\t\t\t\tvar centerX = x + offSet;\n\t\t\t\t\tvar centerY = y + offSet;\n\n\t\t\t\t\t// Draw pointStyle as legend symbol\n\t\t\t\t\thelpers.canvas.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY);\n\t\t\t\t} else {\n\t\t\t\t\t// Draw box as legend symbol\n\t\t\t\t\tif (!isLineWidthZero) {\n\t\t\t\t\t\tctx.strokeRect(x, y, boxWidth, fontSize);\n\t\t\t\t\t}\n\t\t\t\t\tctx.fillRect(x, y, boxWidth, fontSize);\n\t\t\t\t}\n\n\t\t\t\tctx.restore();\n\t\t\t};\n\t\t\tvar fillText = function(x, y, legendItem, textWidth) {\n\t\t\t\tvar halfFontSize = fontSize / 2;\n\t\t\t\tvar xLeft = boxWidth + halfFontSize + x;\n\t\t\t\tvar yMiddle = y + halfFontSize;\n\n\t\t\t\tctx.fillText(legendItem.text, xLeft, yMiddle);\n\n\t\t\t\tif (legendItem.hidden) {\n\t\t\t\t\t// Strikethrough the text if hidden\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.lineWidth = 2;\n\t\t\t\t\tctx.moveTo(xLeft, yMiddle);\n\t\t\t\t\tctx.lineTo(xLeft + textWidth, yMiddle);\n\t\t\t\t\tctx.stroke();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Horizontal\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tif (isHorizontal) {\n\t\t\t\tcursor = {\n\t\t\t\t\tx: me.left + ((legendWidth - lineWidths[0]) / 2),\n\t\t\t\t\ty: me.top + labelOpts.padding,\n\t\t\t\t\tline: 0\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tcursor = {\n\t\t\t\t\tx: me.left + labelOpts.padding,\n\t\t\t\t\ty: me.top + labelOpts.padding,\n\t\t\t\t\tline: 0\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar itemHeight = fontSize + labelOpts.padding;\n\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\tvar textWidth = ctx.measureText(legendItem.text).width;\n\t\t\t\tvar width = boxWidth + (fontSize / 2) + textWidth;\n\t\t\t\tvar x = cursor.x;\n\t\t\t\tvar y = cursor.y;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tif (x + width >= legendWidth) {\n\t\t\t\t\t\ty = cursor.y += itemHeight;\n\t\t\t\t\t\tcursor.line++;\n\t\t\t\t\t\tx = cursor.x = me.left + ((legendWidth - lineWidths[cursor.line]) / 2);\n\t\t\t\t\t}\n\t\t\t\t} else if (y + itemHeight > me.bottom) {\n\t\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\n\t\t\t\t\ty = cursor.y = me.top + labelOpts.padding;\n\t\t\t\t\tcursor.line++;\n\t\t\t\t}\n\n\t\t\t\tdrawLegendBox(x, y, legendItem);\n\n\t\t\t\thitboxes[i].left = x;\n\t\t\t\thitboxes[i].top = y;\n\n\t\t\t\t// Fill the actual label\n\t\t\t\tfillText(x, y, legendItem, textWidth);\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tcursor.x += width + (labelOpts.padding);\n\t\t\t\t} else {\n\t\t\t\t\tcursor.y += itemHeight;\n\t\t\t\t}\n\n\t\t\t});\n\t\t}\n\t},\n\n\t/**\n\t * Handle an event\n\t * @private\n\t * @param {IEvent} event - The event to handle\n\t * @return {Boolean} true if a change occured\n\t */\n\thandleEvent: function(e) {\n\t\tvar me = this;\n\t\tvar opts = me.options;\n\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\n\t\tvar changed = false;\n\n\t\tif (type === 'mousemove') {\n\t\t\tif (!opts.onHover) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (type === 'click') {\n\t\t\tif (!opts.onClick) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\t// Chart event already has relative position in it\n\t\tvar x = e.x;\n\t\tvar y = e.y;\n\n\t\tif (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\n\t\t\t// See if we are touching one of the dataset boxes\n\t\t\tvar lh = me.legendHitBoxes;\n\t\t\tfor (var i = 0; i < lh.length; ++i) {\n\t\t\t\tvar hitBox = lh[i];\n\n\t\t\t\tif (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\n\t\t\t\t\t// Touching an element\n\t\t\t\t\tif (type === 'click') {\n\t\t\t\t\t\t// use e.native for backwards compatibility\n\t\t\t\t\t\topts.onClick.call(me, e.native, me.legendItems[i]);\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (type === 'mousemove') {\n\t\t\t\t\t\t// use e.native for backwards compatibility\n\t\t\t\t\t\topts.onHover.call(me, e.native, me.legendItems[i]);\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn changed;\n\t}\n});\n\nfunction createNewLegendAndAttach(chart, legendOpts) {\n\tvar legend = new Legend({\n\t\tctx: chart.ctx,\n\t\toptions: legendOpts,\n\t\tchart: chart\n\t});\n\n\tlayouts.configure(chart, legend, legendOpts);\n\tlayouts.addBox(chart, legend);\n\tchart.legend = legend;\n}\n\nmodule.exports = {\n\tid: 'legend',\n\n\t/**\n\t * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making\n\t * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of\n\t * the plugin, which one will be re-exposed in the chart.js file.\n\t * https://github.com/chartjs/Chart.js/pull/2640\n\t * @private\n\t */\n\t_element: Legend,\n\n\tbeforeInit: function(chart) {\n\t\tvar legendOpts = chart.options.legend;\n\n\t\tif (legendOpts) {\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t}\n\t},\n\n\tbeforeUpdate: function(chart) {\n\t\tvar legendOpts = chart.options.legend;\n\t\tvar legend = chart.legend;\n\n\t\tif (legendOpts) {\n\t\t\thelpers.mergeIf(legendOpts, defaults.global.legend);\n\n\t\t\tif (legend) {\n\t\t\t\tlayouts.configure(chart, legend, legendOpts);\n\t\t\t\tlegend.options = legendOpts;\n\t\t\t} else {\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t\t}\n\t\t} else if (legend) {\n\t\t\tlayouts.removeBox(chart, legend);\n\t\t\tdelete chart.legend;\n\t\t}\n\t},\n\n\tafterEvent: function(chart, e) {\n\t\tvar legend = chart.legend;\n\t\tif (legend) {\n\t\t\tlegend.handleEvent(e);\n\t\t}\n\t}\n};\n","/**\n * Callback for coordEach\n *\n * @private\n * @callback coordEachCallback\n * @param {[number, number]} currentCoords The current coordinates being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentCoords, currentIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include\n * the final coordinate of LinearRings that wraps the ring in its iteration.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.coordEach(features, function (currentCoords, currentIndex) {\n * //=currentCoords\n * //=currentIndex\n * });\n */\nfunction coordEach(layer, callback, excludeWrapCoord) {\n var i, j, k, g, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n currentIndex = 0,\n isGeometryCollection,\n isFeatureCollection = layer.type === 'FeatureCollection',\n isFeature = layer.type === 'Feature',\n stop = isFeatureCollection ? layer.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? layer.features[i].geometry :\n (isFeature ? layer.geometry : layer));\n isGeometryCollection = geometryMaybeCollection.type === 'GeometryCollection';\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n coords = geometry.coordinates;\n\n wrapShrink = (excludeWrapCoord &&\n (geometry.type === 'Polygon' || geometry.type === 'MultiPolygon')) ?\n 1 : 0;\n\n if (geometry.type === 'Point') {\n callback(coords, currentIndex);\n currentIndex++;\n } else if (geometry.type === 'LineString' || geometry.type === 'MultiPoint') {\n for (j = 0; j < coords.length; j++) {\n callback(coords[j], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'Polygon' || geometry.type === 'MultiLineString') {\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n callback(coords[j][k], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'MultiPolygon') {\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length; k++)\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n callback(coords[j][k][l], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'GeometryCollection') {\n for (j = 0; j < geometry.geometries.length; j++)\n coordEach(geometry.geometries[j], callback, excludeWrapCoord);\n } else {\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nmodule.exports.coordEach = coordEach;\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {[number, number]} currentCoords The current coordinate being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoords, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include\n * the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.coordReduce(features, function (previousValue, currentCoords, currentIndex) {\n * //=previousValue\n * //=currentCoords\n * //=currentIndex\n * return currentCoords;\n * });\n */\nfunction coordReduce(layer, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(layer, function (currentCoords, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentCoords;\n } else {\n previousValue = callback(previousValue, currentCoords, currentIndex);\n }\n }, excludeWrapCoord);\n return previousValue;\n}\nmodule.exports.coordReduce = coordReduce;\n\n/**\n * Callback for propEach\n *\n * @private\n * @callback propEachCallback\n * @param {*} currentProperties The current properties being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.propEach(features, function (currentProperties, currentIndex) {\n * //=currentProperties\n * //=currentIndex\n * });\n */\nfunction propEach(layer, callback) {\n var i;\n switch (layer.type) {\n case 'FeatureCollection':\n for (i = 0; i < layer.features.length; i++) {\n callback(layer.features[i].properties, i);\n }\n break;\n case 'Feature':\n callback(layer.properties, 0);\n break;\n }\n}\nmodule.exports.propEach = propEach;\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current properties being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.propReduce(features, function (previousValue, currentProperties, currentIndex) {\n * //=previousValue\n * //=currentProperties\n * //=currentIndex\n * return currentProperties\n * });\n */\nfunction propReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n propEach(layer, function (currentProperties, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentProperties;\n } else {\n previousValue = callback(previousValue, currentProperties, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.propReduce = propReduce;\n\n/**\n * Callback for featureEach\n *\n * @private\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.featureEach(features, function (currentFeature, currentIndex) {\n * //=currentFeature\n * //=currentIndex\n * });\n */\nfunction featureEach(layer, callback) {\n if (layer.type === 'Feature') {\n callback(layer, 0);\n } else if (layer.type === 'FeatureCollection') {\n for (var i = 0; i < layer.features.length; i++) {\n callback(layer.features[i], i);\n }\n }\n}\nmodule.exports.featureEach = featureEach;\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.featureReduce(features, function (previousValue, currentFeature, currentIndex) {\n * //=previousValue\n * //=currentFeature\n * //=currentIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(layer, function (currentFeature, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentFeature;\n } else {\n previousValue = callback(previousValue, currentFeature, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.featureReduce = featureReduce;\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {Object} layer any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * var coords = turf.coordAll(features);\n * //=coords\n */\nfunction coordAll(layer) {\n var coords = [];\n coordEach(layer, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\nmodule.exports.coordAll = coordAll;\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.geomEach(features, function (currentGeometry, currentIndex) {\n * //=currentGeometry\n * //=currentIndex\n * });\n */\nfunction geomEach(layer, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n currentIndex = 0,\n isFeatureCollection = layer.type === 'FeatureCollection',\n isFeature = layer.type === 'Feature',\n stop = isFeatureCollection ? layer.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? layer.features[i].geometry :\n (isFeature ? layer.geometry : layer));\n isGeometryCollection = geometryMaybeCollection.type === 'GeometryCollection';\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n if (geometry.type === 'Point' ||\n geometry.type === 'LineString' ||\n geometry.type === 'MultiPoint' ||\n geometry.type === 'Polygon' ||\n geometry.type === 'MultiLineString' ||\n geometry.type === 'MultiPolygon') {\n callback(geometry, currentIndex);\n currentIndex++;\n } else if (geometry.type === 'GeometryCollection') {\n for (j = 0; j < geometry.geometries.length; j++) {\n callback(geometry.geometries[j], currentIndex);\n currentIndex++;\n }\n } else {\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nmodule.exports.geomEach = geomEach;\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentGeometry The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.geomReduce(features, function (previousValue, currentGeometry, currentIndex) {\n * //=previousValue\n * //=currentGeometry\n * //=currentIndex\n * return currentGeometry\n * });\n */\nfunction geomReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(layer, function (currentGeometry, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentGeometry;\n } else {\n previousValue = callback(previousValue, currentGeometry, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.geomReduce = geomReduce;\n","var featureCollection = require('@turf/helpers').featureCollection;\nvar centroid = require('@turf/center');\nvar distance = require('@turf/distance');\nvar inside = require('@turf/inside');\nvar explode = require('@turf/explode');\n\n/**\n * Takes a feature and returns a {@link Point} guaranteed to be on the surface of the feature.\n *\n * * Given a {@link Polygon}, the point will be in the area of the polygon\n * * Given a {@link LineString}, the point will be along the string\n * * Given a {@link Point}, the point will the same as the input\n *\n * @param {(Feature|FeatureCollection)} fc any feature or set of features\n * @returns {Feature} a point on the surface of `input`\n * @example\n * // create a random polygon\n * var polygon = turf.random('polygon');\n *\n * var pointOnPolygon = turf.pointOnSurface(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, pointOnPolygon];\n */\nfunction pointOnSurface(fc) {\n // normalize\n if (fc.type !== 'FeatureCollection') {\n if (fc.type !== 'Feature') {\n fc = {\n type: 'Feature',\n geometry: fc,\n properties: {}\n };\n }\n fc = featureCollection([fc]);\n }\n\n //get centroid\n var cent = centroid(fc);\n\n // check to see if centroid is on surface\n var onSurface = false;\n var i = 0;\n while (!onSurface && i < fc.features.length) {\n var geom = fc.features[i].geometry;\n var x, y, x1, y1, x2, y2, k;\n var onLine = false;\n if (geom.type === 'Point') {\n if (cent.geometry.coordinates[0] === geom.coordinates[0] &&\n cent.geometry.coordinates[1] === geom.coordinates[1]) {\n onSurface = true;\n }\n } else if (geom.type === 'MultiPoint') {\n var onMultiPoint = false;\n k = 0;\n while (!onMultiPoint && k < geom.coordinates.length) {\n if (cent.geometry.coordinates[0] === geom.coordinates[k][0] &&\n cent.geometry.coordinates[1] === geom.coordinates[k][1]) {\n onSurface = true;\n onMultiPoint = true;\n }\n k++;\n }\n } else if (geom.type === 'LineString') {\n k = 0;\n while (!onLine && k < geom.coordinates.length - 1) {\n x = cent.geometry.coordinates[0];\n y = cent.geometry.coordinates[1];\n x1 = geom.coordinates[k][0];\n y1 = geom.coordinates[k][1];\n x2 = geom.coordinates[k + 1][0];\n y2 = geom.coordinates[k + 1][1];\n if (pointOnSegment(x, y, x1, y1, x2, y2)) {\n onLine = true;\n onSurface = true;\n }\n k++;\n }\n } else if (geom.type === 'MultiLineString') {\n var j = 0;\n while (j < geom.coordinates.length) {\n onLine = false;\n k = 0;\n var line = geom.coordinates[j];\n while (!onLine && k < line.length - 1) {\n x = cent.geometry.coordinates[0];\n y = cent.geometry.coordinates[1];\n x1 = line[k][0];\n y1 = line[k][1];\n x2 = line[k + 1][0];\n y2 = line[k + 1][1];\n if (pointOnSegment(x, y, x1, y1, x2, y2)) {\n onLine = true;\n onSurface = true;\n }\n k++;\n }\n j++;\n }\n } else if (geom.type === 'Polygon' || geom.type === 'MultiPolygon') {\n var f = {\n type: 'Feature',\n geometry: geom,\n properties: {}\n };\n if (inside(cent, f)) {\n onSurface = true;\n }\n }\n i++;\n }\n if (onSurface) {\n return cent;\n } else {\n var vertices = featureCollection([]);\n for (i = 0; i < fc.features.length; i++) {\n vertices.features = vertices.features.concat(explode(fc.features[i]).features);\n }\n var closestVertex;\n var closestDistance = Infinity;\n for (i = 0; i < vertices.features.length; i++) {\n var dist = distance(cent, vertices.features[i], 'miles');\n if (dist < closestDistance) {\n closestDistance = dist;\n closestVertex = vertices.features[i];\n }\n }\n return closestVertex;\n }\n}\n\nfunction pointOnSegment(x, y, x1, y1, x2, y2) {\n var ab = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n var ap = Math.sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1));\n var pb = Math.sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y));\n if (ab === ap + pb) {\n return true;\n }\n}\n\nmodule.exports = pointOnSurface;\n","'use strict';\n\nvar helpers = require('./helpers.core');\n\n/**\n * @alias Chart.helpers.options\n * @namespace\n */\nmodule.exports = {\n\t/**\n\t * Converts the given line height `value` in pixels for a specific font `size`.\n\t * @param {Number|String} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n\t * @param {Number} size - The font size (in pixels) used to resolve relative `value`.\n\t * @returns {Number} The effective line height in pixels (size * 1.2 if value is invalid).\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n\t * @since 2.7.0\n\t */\n\ttoLineHeight: function(value, size) {\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\n\t\tif (!matches || matches[1] === 'normal') {\n\t\t\treturn size * 1.2;\n\t\t}\n\n\t\tvalue = +matches[2];\n\n\t\tswitch (matches[3]) {\n\t\tcase 'px':\n\t\t\treturn value;\n\t\tcase '%':\n\t\t\tvalue /= 100;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\n\t\treturn size * value;\n\t},\n\n\t/**\n\t * Converts the given value into a padding object with pre-computed width/height.\n\t * @param {Number|Object} value - If a number, set the value to all TRBL component,\n\t * else, if and object, use defined properties and sets undefined ones to 0.\n\t * @returns {Object} The padding values (top, right, bottom, left, width, height)\n\t * @since 2.7.0\n\t */\n\ttoPadding: function(value) {\n\t\tvar t, r, b, l;\n\n\t\tif (helpers.isObject(value)) {\n\t\t\tt = +value.top || 0;\n\t\t\tr = +value.right || 0;\n\t\t\tb = +value.bottom || 0;\n\t\t\tl = +value.left || 0;\n\t\t} else {\n\t\t\tt = r = b = l = +value || 0;\n\t\t}\n\n\t\treturn {\n\t\t\ttop: t,\n\t\t\tright: r,\n\t\t\tbottom: b,\n\t\t\tleft: l,\n\t\t\theight: t + b,\n\t\t\twidth: l + r\n\t\t};\n\t},\n\n\t/**\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\n\t * @param {Array[]} inputs - An array of values, falling back to the last value.\n\t * @param {Object} [context] - If defined and the current value is a function, the value\n\t * is called with `context` as first argument and the result becomes the new input.\n\t * @param {Number} [index] - If defined and the current value is an array, the value\n\t * at `index` become the new input.\n\t * @since 2.7.0\n\t */\n\tresolve: function(inputs, context, index) {\n\t\tvar i, ilen, value;\n\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\n\t\t\tvalue = inputs[i];\n\t\t\tif (value === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (context !== undefined && typeof value === 'function') {\n\t\t\t\tvalue = value(context);\n\t\t\t}\n\t\t\tif (index !== undefined && helpers.isArray(value)) {\n\t\t\t\tvalue = value[index];\n\t\t\t}\n\t\t\tif (value !== undefined) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t}\n};\n","var linestring = require('@turf/helpers').lineString;\nvar Spline = require('./spline.js');\n\n/**\n * Takes a {@link LineString|line} and returns a curved version\n * by applying a [Bezier spline](http://en.wikipedia.org/wiki/B%C3%A9zier_spline)\n * algorithm.\n *\n * The bezier spline implementation is by [Leszek Rybicki](http://leszek.rybicki.cc/).\n *\n * @name bezier\n * @param {Feature} line input LineString\n * @param {number} [resolution=10000] time in milliseconds between points\n * @param {number} [sharpness=0.85] a measure of how curvy the path should be between splines\n * @returns {Feature} curved line\n * @example\n * var line = turf.lineString([\n * [-76.091308, 18.427501],\n * [-76.695556, 18.729501],\n * [-76.552734, 19.40443],\n * [-74.61914, 19.134789],\n * [-73.652343, 20.07657],\n * [-73.157958, 20.210656]\n * ]);\n *\n * var curved = turf.bezier(line);\n *\n * //addToMap\n * var addToMap = [line, curved]\n * curved.properties = { stroke: '#0F0' };\n */\nmodule.exports = function (line, resolution, sharpness) {\n var coords = [];\n\n var spline = new Spline({\n points: line.geometry.coordinates.map(function (pt) {\n return {x: pt[0], y: pt[1]};\n }),\n duration: resolution,\n sharpness: sharpness\n });\n\n for (var i = 0; i < spline.duration; i += 10) {\n var pos = spline.pos(i);\n if (Math.floor(i / 100) % 2 === 0) {\n coords.push([pos.x, pos.y]);\n }\n }\n\n return linestring(coords, line.properties);\n};\n","/**\n * GeoJSON BBox\n *\n * @typedef {[number, number, number, number]} BBox\n */\n\n/**\n * GeoJSON Id\n *\n * @typedef {(number|string)} Id\n */\n\n/**\n * GeoJSON FeatureCollection\n *\n * @typedef {Object} FeatureCollection\n * @property {string} type\n * @property {?Id} id\n * @property {?BBox} bbox\n * @property {Feature[]} features\n */\n\n/**\n * GeoJSON Feature\n *\n * @typedef {Object} Feature\n * @property {string} type\n * @property {?Id} id\n * @property {?BBox} bbox\n * @property {*} properties\n * @property {Geometry} geometry\n */\n\n/**\n * GeoJSON Geometry\n *\n * @typedef {Object} Geometry\n * @property {string} type\n * @property {any[]} coordinates\n */\n\n/**\n * Callback for coordEach\n *\n * @callback coordEachCallback\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0.\n * @param {number} featureIndex The current index of the feature being processed.\n * @param {number} featureSubIndex The current subIndex of the feature being processed.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, featureSubIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, featureSubIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=featureSubIndex\n * });\n */\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n var featureIndex, geometryIndex, j, k, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n coordIndex = 0,\n isGeometryCollection,\n type = geojson.type,\n isFeatureCollection = type === 'FeatureCollection',\n isFeature = type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (featureIndex = 0; featureIndex < stop; featureIndex++) {\n var featureSubIndex = 0;\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[featureIndex].geometry :\n (isFeature ? geojson.geometry : geojson));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (geometryIndex = 0; geometryIndex < stopG; geometryIndex++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[geometryIndex] : geometryMaybeCollection;\n\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n\n wrapShrink = (excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon')) ? 1 : 0;\n\n switch (geomType) {\n case null:\n break;\n case 'Point':\n callback(coords, coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n featureSubIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n for (j = 0; j < coords.length; j++) {\n callback(coords[j], coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n featureSubIndex++;\n }\n break;\n case 'Polygon':\n case 'MultiLineString':\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n callback(coords[j][k], coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n featureSubIndex++;\n }\n break;\n case 'MultiPolygon':\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length; k++)\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n callback(coords[j][k][l], coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n featureSubIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++)\n coordEach(geometry.geometries[j], callback, excludeWrapCoord);\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureIndex The current index of the feature being processed.\n * @param {number} featureSubIndex The current subIndex of the feature being processed.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {FeatureCollection|Geometry|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoord, coordIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, featureSubIndex) {\n * //=previousValue\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=featureSubIndex\n * return currentCoord;\n * });\n */\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(geojson, function (currentCoord, coordIndex, featureIndex, featureSubIndex) {\n if (coordIndex === 0 && initialValue === undefined) previousValue = currentCoord;\n else previousValue = callback(previousValue, currentCoord, coordIndex, featureIndex, featureSubIndex);\n }, excludeWrapCoord);\n return previousValue;\n}\n\n/**\n * Callback for propEach\n *\n * @callback propEachCallback\n * @param {Object} currentProperties The current properties being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {(FeatureCollection|Feature)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, featureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propEach(features, function (currentProperties, featureIndex) {\n * //=currentProperties\n * //=featureIndex\n * });\n */\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case 'FeatureCollection':\n for (i = 0; i < geojson.features.length; i++) {\n callback(geojson.features[i].properties, i);\n }\n break;\n case 'Feature':\n callback(geojson.properties, 0);\n break;\n }\n}\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current properties being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {(FeatureCollection|Feature)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {\n * //=previousValue\n * //=currentProperties\n * //=featureIndex\n * return currentProperties\n * });\n */\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function (currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentProperties;\n else previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for featureEach\n *\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.featureEach(features, function (currentFeature, featureIndex) {\n * //=currentFeature\n * //=featureIndex\n * });\n */\nfunction featureEach(geojson, callback) {\n if (geojson.type === 'Feature') {\n callback(geojson, 0);\n } else if (geojson.type === 'FeatureCollection') {\n for (var i = 0; i < geojson.features.length; i++) {\n callback(geojson.features[i], i);\n }\n }\n}\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function (currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * var coords = turf.coordAll(features);\n * //= [[26, 37], [36, 53]]\n */\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\n\n/**\n * Callback for geomEach\n *\n * @callback geomEachCallback\n * @param {Geometry} currentGeometry The current geometry being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} currentProperties The current feature properties being processed.\n */\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, featureIndex, currentProperties)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomEach(features, function (currentGeometry, featureIndex, currentProperties) {\n * //=currentGeometry\n * //=featureIndex\n * //=currentProperties\n * });\n */\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n geometryProperties,\n featureIndex = 0,\n isFeatureCollection = geojson.type === 'FeatureCollection',\n isFeature = geojson.type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[i].geometry :\n (isFeature ? geojson.geometry : geojson));\n geometryProperties = (isFeatureCollection ? geojson.features[i].properties :\n (isFeature ? geojson.properties : {}));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n // Handle null Geometry\n if (geometry === null) {\n callback(null, featureIndex, geometryProperties);\n featureIndex++;\n continue;\n }\n switch (geometry.type) {\n case 'Point':\n case 'LineString':\n case 'MultiPoint':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon': {\n callback(geometry, featureIndex, geometryProperties);\n featureIndex++;\n break;\n }\n case 'GeometryCollection': {\n for (j = 0; j < geometry.geometries.length; j++) {\n callback(geometry.geometries[j], featureIndex, geometryProperties);\n featureIndex++;\n }\n break;\n }\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Geometry} currentGeometry The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {Object} currentProperties The current feature properties being processed.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, featureIndex, currentProperties)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, currentProperties) {\n * //=previousValue\n * //=currentGeometry\n * //=featureIndex\n * //=currentProperties\n * return currentGeometry\n * });\n */\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(geojson, function (currentGeometry, currentIndex, currentProperties) {\n if (currentIndex === 0 && initialValue === undefined) previousValue = currentGeometry;\n else previousValue = callback(previousValue, currentGeometry, currentIndex, currentProperties);\n });\n return previousValue;\n}\n\n/**\n * Callback for flattenEach\n *\n * @callback flattenEachCallback\n * @param {Feature} currentFeature The current flattened feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureSubIndex The subindex of the current element being processed in the\n * array. Starts at index 0 and increases if the flattened feature was a multi-geometry.\n */\n\n/**\n * Iterate over flattened features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name flattenEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex, featureSubIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenEach(features, function (currentFeature, featureIndex, featureSubIndex) {\n * //=currentFeature\n * //=featureIndex\n * //=featureSubIndex\n * });\n */\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function (geometry, featureIndex, properties) {\n // Callback for single geometry\n var type = (geometry === null) ? null : geometry.type;\n switch (type) {\n case null:\n case 'Point':\n case 'LineString':\n case 'Polygon':\n callback(feature(geometry, properties), featureIndex, 0);\n return;\n }\n\n var geomType;\n\n // Callback for multi-geometry\n switch (type) {\n case 'MultiPoint':\n geomType = 'Point';\n break;\n case 'MultiLineString':\n geomType = 'LineString';\n break;\n case 'MultiPolygon':\n geomType = 'Polygon';\n break;\n }\n\n geometry.coordinates.forEach(function (coordinate, featureSubIndex) {\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n callback(feature(geom, properties), featureIndex, featureSubIndex);\n });\n\n });\n}\n\n/**\n * Callback for flattenReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback flattenReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureSubIndex The subindex of the current element being processed in the\n * array. Starts at index 0 and increases if the flattened feature was a multi-geometry.\n */\n\n/**\n * Reduce flattened features in any GeoJSON object, similar to Array.reduce().\n *\n * @name flattenReduce\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex, featureSubIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, featureSubIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * //=featureSubIndex\n * return currentFeature\n * });\n */\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(geojson, function (currentFeature, featureIndex, featureSubIndex) {\n if (featureIndex === 0 && featureSubIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex, featureSubIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for segmentEach\n *\n * @callback segmentEachCallback\n * @param {Feature} currentSegment The current segment being processed.\n * @param {number} featureIndex The index of the current element being processed in the array, starts at index 0.\n * @param {number} featureSubIndex The subindex of the current element being processed in the\n * array. Starts at index 0 and increases for each iterating line segment.\n * @returns {void}\n */\n\n/**\n * Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON\n * @param {Function} callback a method that takes (currentSegment, featureIndex, featureSubIndex)\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentEach(polygon, function (currentSegment, featureIndex, featureSubIndex) {\n * //= currentSegment\n * //= featureIndex\n * //= featureSubIndex\n * });\n *\n * // Calculate the total number of segments\n * var total = 0;\n * var initialValue = 0;\n * turf.segmentEach(polygon, function () {\n * total++;\n * }, initialValue);\n */\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function (feature, featureIndex) {\n var featureSubIndex = 0;\n // Exclude null Geometries\n if (!feature.geometry) return;\n // (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n var type = feature.geometry.type;\n if (type === 'Point' || type === 'MultiPoint') return;\n\n // Generate 2-vertex line segments\n coordReduce(feature, function (previousCoords, currentCoord) {\n var currentSegment = lineString([previousCoords, currentCoord], feature.properties);\n callback(currentSegment, featureIndex, featureSubIndex);\n featureSubIndex++;\n return currentCoord;\n });\n });\n}\n\n/**\n * Callback for segmentReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback segmentReduceCallback\n * @param {*} [previousValue] The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} [currentSegment] The current segment being processed.\n * @param {number} [currentIndex] The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} [currentSubIndex] The subindex of the current element being processed in the\n * array. Starts at index 0 and increases for each iterating line segment.\n */\n\n/**\n * Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON\n * @param {Function} callback a method that takes (previousValue, currentSegment, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentReduce(polygon, function (previousSegment, currentSegment, currentIndex, currentSubIndex) {\n * //= previousSegment\n * //= currentSegment\n * //= currentIndex\n * //= currentSubIndex\n * return currentSegment\n * });\n *\n * // Calculate the total number of segments\n * var initialValue = 0\n * var total = turf.segmentReduce(polygon, function (previousValue) {\n * previousValue++;\n * return previousValue;\n * }, initialValue);\n */\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n segmentEach(geojson, function (currentSegment, currentIndex, currentSubIndex) {\n if (currentIndex === 0 && initialValue === undefined) previousValue = currentSegment;\n else previousValue = callback(previousValue, currentSegment, currentIndex, currentSubIndex);\n });\n return previousValue;\n}\n\n/**\n * Create Feature\n *\n * @private\n * @param {Geometry} geometry GeoJSON Geometry\n * @param {Object} properties Properties\n * @returns {Feature} GeoJSON Feature\n */\nfunction feature(geometry, properties) {\n if (geometry === undefined) throw new Error('No geometry passed');\n\n return {\n type: 'Feature',\n properties: properties || {},\n geometry: geometry\n };\n}\n\n/**\n * Create LineString\n *\n * @private\n * @param {Array>} coordinates Line Coordinates\n * @param {Object} properties Properties\n * @returns {Feature} GeoJSON LineString Feature\n */\nfunction lineString(coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length < 2) throw new Error('Coordinates must be an array of two or more positions');\n\n return {\n type: 'Feature',\n properties: properties || {},\n geometry: {\n type: 'LineString',\n coordinates: coordinates\n }\n };\n}\n\n\n/**\n * Callback for lineEach\n *\n * @callback lineEachCallback\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} lineIndex The index of the current element being processed in the array, starts at index 0.\n * @param {number} lineSubIndex The sub-index of the current line being processed at index 0\n */\n\n/**\n * Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,\n * similar to Array.forEach.\n *\n * @name lineEach\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (currentLine, lineIndex, lineSubIndex)\n * @example\n * var mtLn = turf.multiLineString([\n * turf.lineString([[26, 37], [35, 45]]),\n * turf.lineString([[36, 53], [38, 50], [41, 55]])\n * ]);\n *\n * turf.lineEach(mtLn, function (currentLine, lineIndex) {\n * //=currentLine\n * //=lineIndex\n * });\n */\nfunction lineEach(geojson, callback) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n var type = geojson.geometry ? geojson.geometry.type : geojson.type;\n if (!type) throw new Error('invalid geojson');\n if (type === 'FeatureCollection') throw new Error('FeatureCollection is not supported');\n if (type === 'GeometryCollection') throw new Error('GeometryCollection is not supported');\n var coordinates = geojson.geometry ? geojson.geometry.coordinates : geojson.coordinates;\n if (!coordinates) throw new Error('geojson must contain coordinates');\n\n switch (type) {\n case 'LineString':\n callback(coordinates, 0, 0);\n return;\n case 'Polygon':\n case 'MultiLineString':\n var subIndex = 0;\n for (var line = 0; line < coordinates.length; line++) {\n if (type === 'MultiLineString') subIndex = line;\n callback(coordinates[line], line, subIndex);\n }\n return;\n case 'MultiPolygon':\n for (var multi = 0; multi < coordinates.length; multi++) {\n for (var ring = 0; ring < coordinates[multi].length; ring++) {\n callback(coordinates[multi][ring], ring, multi);\n }\n }\n return;\n default:\n throw new Error(type + ' geometry not supported');\n }\n}\n\n/**\n * Callback for lineReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback lineReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} lineIndex The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} lineSubIndex The sub-index of the current line being processed at index 0\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name lineReduce\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var mtp = turf.multiPolygon([\n * turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),\n * turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])\n * ]);\n *\n * turf.lineReduce(mtp, function (previousValue, currentLine, lineIndex, lineSubIndex) {\n * //=previousValue\n * //=currentLine\n * //=lineIndex\n * //=lineSubIndex\n * return currentLine\n * }, 2);\n */\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(geojson, function (currentLine, lineIndex, lineSubIndex) {\n if (lineIndex === 0 && initialValue === undefined) previousValue = currentLine;\n else previousValue = callback(previousValue, currentLine, lineIndex, lineSubIndex);\n });\n return previousValue;\n}\n\nmodule.exports = {\n coordEach: coordEach,\n coordReduce: coordReduce,\n propEach: propEach,\n propReduce: propReduce,\n featureEach: featureEach,\n featureReduce: featureReduce,\n coordAll: coordAll,\n geomEach: geomEach,\n geomReduce: geomReduce,\n flattenEach: flattenEach,\n flattenReduce: flattenReduce,\n segmentEach: segmentEach,\n segmentReduce: segmentReduce,\n lineEach: lineEach,\n lineReduce: lineReduce\n};\n","'use strict';\n\nvar Element = require('./core.element');\n\nvar exports = module.exports = Element.extend({\n\tchart: null, // the animation associated chart instance\n\tcurrentStep: 0, // the current animation step\n\tnumSteps: 60, // default number of steps\n\teasing: '', // the easing to use for this animation\n\trender: null, // render function used by the animation service\n\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\n});\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.Animation instead\n * @prop Chart.Animation#animationObject\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n */\nObject.defineProperty(exports.prototype, 'animationObject', {\n\tget: function() {\n\t\treturn this;\n\t}\n});\n\n/**\n * Provided for backward compatibility, use Chart.Animation#chart instead\n * @prop Chart.Animation#chartInstance\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n */\nObject.defineProperty(exports.prototype, 'chartInstance', {\n\tget: function() {\n\t\treturn this.chart;\n\t},\n\tset: function(value) {\n\t\tthis.chart = value;\n\t}\n});\n","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Node = require('./Node'),\n Edge = require('./Edge'),\n EdgeRing = require('./EdgeRing'),\n _require = require('@turf/meta'),\n flattenEach = _require.flattenEach,\n coordReduce = _require.coordReduce,\n _require2 = require('@turf/invariant'),\n featureOf = _require2.featureOf;\n\n/** Validates the geoJson.\n *\n * @param {Geojson} geoJson - input geoJson.\n * @throws {Error} if geoJson is invalid.\n */\nfunction validateGeoJson(geoJson) {\n if (!geoJson) throw new Error('No geojson passed');\n\n if (geoJson.type !== 'FeatureCollection' && geoJson.type !== 'GeometryCollection' && geoJson.type !== 'MultiLineString' && geoJson.type !== 'LineString' && geoJson.type !== 'Feature') throw new Error('Invalid input type \\'' + geoJson.type + '\\'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature');\n}\n\n/** Represents a planar graph of edges and nodes that can be used to compute a\n * polygonization.\n *\n * Although, this class is inspired by GEOS's `geos::operation::polygonize::PolygonizeGraph`,\n * it isn't a rewrite. As regards algorithm, this class implements the same logic, but it\n * isn't a javascript transcription of the C++ source.\n *\n * This graph is directed (both directions are created)\n */\n\nvar Graph = function () {\n _createClass(Graph, [{\n key: 'getNode',\n\n\n /** Creates or get a Node.\n *\n * @param {Number[]} coordinates - Coordinates of the node\n * @returns {Node} - The created or stored node\n */\n value: function getNode(coordinates) {\n var id = Node.buildId(coordinates);\n var node = this.nodes[id];\n if (!node) node = this.nodes[id] = new Node(coordinates);\n\n return node;\n }\n\n /** Adds an Edge and its symetricall.\n * Edges are added symetrically, i.e.: we also add its symetric\n *\n * @param {Node} from - Node which starts the Edge\n * @param {Node} to - Node which ends the Edge\n */\n\n }, {\n key: 'addEdge',\n value: function addEdge(from, to) {\n var edge = new Edge(from, to),\n symetricEdge = edge.getSymetric();\n\n this.edges.push(edge);\n this.edges.push(symetricEdge);\n }\n }], [{\n key: 'fromGeoJson',\n\n /** Creates a graph from a GeoJSON.\n *\n * @param {FeatureCollection} geoJson - it must comply with the restrictions detailed in the index\n * @returns {Graph} - The newly created graph\n * @throws {Error} if geoJson is invalid.\n */\n value: function fromGeoJson(geoJson) {\n validateGeoJson(geoJson);\n\n var graph = new Graph();\n flattenEach(geoJson, function (feature) {\n featureOf(feature, 'LineString', 'Graph::fromGeoJson');\n // When a LineString if formed by many segments, split them\n coordReduce(feature, function (prev, cur) {\n if (prev) {\n var start = graph.getNode(prev),\n end = graph.getNode(cur);\n\n graph.addEdge(start, end);\n }\n return cur;\n });\n });\n\n return graph;\n }\n }]);\n\n function Graph() {\n _classCallCheck(this, Graph);\n\n this.edges = []; //< {Edge[]} dirEdges\n\n // The key is the `id` of the Node (ie: coordinates.join(','))\n this.nodes = {};\n }\n\n /** Removes Dangle Nodes (nodes with grade 1).\n */\n\n\n _createClass(Graph, [{\n key: 'deleteDangles',\n value: function deleteDangles() {\n var _this = this;\n\n Object.keys(this.nodes).map(function (id) {\n return _this.nodes[id];\n }).forEach(function (node) {\n return _this._removeIfDangle(node);\n });\n }\n\n /** Check if node is dangle, if so, remove it.\n * It calls itself recursively, removing a dangling node might cause another dangling node\n *\n * @param {Node} node - Node to check if it's a dangle\n */\n\n }, {\n key: '_removeIfDangle',\n value: function _removeIfDangle(node) {\n var _this2 = this;\n\n // As edges are directed and symetrical, we count only innerEdges\n if (node.innerEdges.length <= 1) {\n var outerNodes = node.getOuterEdges().map(function (e) {\n return e.to;\n });\n this.removeNode(node);\n outerNodes.forEach(function (n) {\n return _this2._removeIfDangle(n);\n });\n }\n }\n\n /** Delete cut-edges (bridge edges).\n *\n * The graph will be traversed, all the edges will be labeled according the ring\n * in which they are. (The label is a number incremented by 1). Edges with the same\n * label are cut-edges.\n */\n\n }, {\n key: 'deleteCutEdges',\n value: function deleteCutEdges() {\n var _this3 = this;\n\n this._computeNextCWEdges();\n this._findLabeledEdgeRings();\n\n // Cut-edges (bridges) are edges where both edges have the same label\n this.edges.forEach(function (edge) {\n if (edge.label === edge.symetric.label) {\n _this3.removeEdge(edge.symetric);\n _this3.removeEdge(edge);\n }\n });\n }\n\n /** Set the `next` property of each Edge.\n * The graph will be transversed in a CW form, so, we set the next of the symetrical edge as the previous one.\n * OuterEdges are sorted CCW.\n *\n * @param {Node} [node] - If no node is passed, the function calls itself for every node in the Graph\n */\n\n }, {\n key: '_computeNextCWEdges',\n value: function _computeNextCWEdges(node) {\n var _this4 = this;\n\n if (typeof node === 'undefined') {\n Object.keys(this.nodes).forEach(function (id) {\n return _this4._computeNextCWEdges(_this4.nodes[id]);\n });\n } else {\n node.getOuterEdges().forEach(function (edge, i) {\n node.getOuterEdge((i === 0 ? node.getOuterEdges().length : i) - 1).symetric.next = edge;\n });\n }\n }\n\n /** Computes the next edge pointers going CCW around the given node, for the given edgering label.\n * This algorithm has the effect of converting maximal edgerings into minimal edgerings\n *\n * XXX: method literally transcribed from `geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges`,\n * could be written in a more javascript way.\n *\n * @param {Node} node - Node\n * @param {Number} label - Ring's label\n */\n\n }, {\n key: '_computeNextCCWEdges',\n value: function _computeNextCCWEdges(node, label) {\n var edges = node.getOuterEdges();\n var firstOutDE = void 0,\n prevInDE = void 0;\n\n for (var i = edges.length - 1; i >= 0; --i) {\n var de = edges[i],\n sym = de.symetric,\n outDE = void 0,\n inDE = void 0;\n\n if (de.label === label) outDE = de;\n\n if (sym.label === label) inDE = sym;\n\n if (!outDE || !inDE) // This edge is not in edgering\n continue;\n\n if (inDE) prevInDE = inDE;\n\n if (outDE) {\n if (prevInDE) {\n prevInDE.next = outDE;\n prevInDE = undefined;\n }\n\n if (!firstOutDE) firstOutDE = outDE;\n }\n }\n\n if (prevInDE) prevInDE.next = firstOutDE;\n }\n\n /** Finds rings and labels edges according to which rings are.\n * The label is a number which is increased for each ring.\n *\n * @returns {Edge[]} edges that start rings\n */\n\n }, {\n key: '_findLabeledEdgeRings',\n value: function _findLabeledEdgeRings() {\n var edgeRingStarts = [];\n var label = 0;\n this.edges.forEach(function (edge) {\n if (edge.label >= 0) return;\n\n edgeRingStarts.push(edge);\n\n var e = edge;\n do {\n e.label = label;\n e = e.next;\n } while (!edge.isEqual(e));\n\n label++;\n });\n\n return edgeRingStarts;\n }\n\n /** Computes the EdgeRings formed by the edges in this graph.\n *\n * @returns {EdgeRing[]} - A list of all the EdgeRings in the graph.\n */\n\n }, {\n key: 'getEdgeRings',\n value: function getEdgeRings() {\n var _this5 = this;\n\n this._computeNextCWEdges();\n\n // Clear labels\n this.edges.forEach(function (edge) {\n edge.label = undefined;\n });\n\n this._findLabeledEdgeRings().forEach(function (edge) {\n // convertMaximalToMinimalEdgeRings\n _this5._findIntersectionNodes(edge).forEach(function (node) {\n _this5._computeNextCCWEdges(node, edge.label);\n });\n });\n\n var edgeRingList = [];\n\n // find all edgerings\n this.edges.forEach(function (edge) {\n if (edge.ring) return;\n edgeRingList.push(_this5._findEdgeRing(edge));\n });\n\n return edgeRingList;\n }\n\n /** Find all nodes in a Maxima EdgeRing which are self-intersection nodes.\n *\n * @param {Node} startEdge - Start Edge of the Ring\n * @returns {Node[]} - intersection nodes\n */\n\n }, {\n key: '_findIntersectionNodes',\n value: function _findIntersectionNodes(startEdge) {\n var intersectionNodes = [];\n var edge = startEdge;\n\n var _loop = function _loop() {\n // getDegree\n var degree = 0;\n edge.from.getOuterEdges().forEach(function (e) {\n if (e.label === startEdge.label) ++degree;\n });\n\n if (degree > 1) intersectionNodes.push(edge.from);\n\n edge = edge.next;\n };\n\n do {\n _loop();\n } while (!startEdge.isEqual(edge));\n\n return intersectionNodes;\n }\n\n /** Get the edge-ring which starts from the provided Edge.\n *\n * @param {Edge} startEdge - starting edge of the edge ring\n * @returns {EdgeRing} - EdgeRing which start Edge is the provided one.\n */\n\n }, {\n key: '_findEdgeRing',\n value: function _findEdgeRing(startEdge) {\n var edge = startEdge;\n var edgeRing = new EdgeRing();\n\n do {\n edgeRing.push(edge);\n edge.ring = edgeRing;\n edge = edge.next;\n } while (!startEdge.isEqual(edge));\n\n return edgeRing;\n }\n\n /** Removes a node from the Graph.\n *\n * It also removes edges asociated to that node\n * @param {Node} node - Node to be removed\n */\n\n }, {\n key: 'removeNode',\n value: function removeNode(node) {\n var _this6 = this;\n\n node.getOuterEdges().forEach(function (edge) {\n return _this6.removeEdge(edge);\n });\n node.innerEdges.forEach(function (edge) {\n return _this6.removeEdge(edge);\n });\n delete this.nodes[node.id];\n }\n\n /** Remove edge from the graph and deletes the edge.\n *\n * @param {Edge} edge - Edge to be removed\n */\n\n }, {\n key: 'removeEdge',\n value: function removeEdge(edge) {\n this.edges = this.edges.filter(function (e) {\n return !e.isEqual(edge);\n });\n edge.deleteEdge();\n }\n }]);\n\n return Graph;\n}();\n\nmodule.exports = Graph;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"source\":\"SatelliteImageReference_source_1Bhm_\"};","//index.js\nvar deepEqual = require('deep-equal');\n\nvar Equality = function(opt) {\n this.precision = opt && opt.precision ? opt.precision : 17;\n this.direction = opt && opt.direction ? opt.direction : false;\n this.pseudoNode = opt && opt.pseudoNode ? opt.pseudoNode : false;\n this.objectComparator = opt && opt.objectComparator ? opt.objectComparator : objectComparator;\n};\n\nEquality.prototype.compare = function(g1,g2) {\n if (g1.type !== g2.type || !sameLength(g1,g2)) return false;\n\n switch(g1.type) {\n case 'Point':\n return this.compareCoord(g1.coordinates, g2.coordinates);\n break;\n case 'LineString':\n return this.compareLine(g1.coordinates, g2.coordinates,0,false);\n break;\n case 'Polygon':\n return this.comparePolygon(g1,g2);\n break;\n case 'Feature':\n return this.compareFeature(g1, g2);\n default:\n if (g1.type.indexOf('Multi') === 0) {\n var context = this;\n var g1s = explode(g1);\n var g2s = explode(g2);\n return g1s.every(function(g1part) {\n return this.some(function(g2part) {\n return context.compare(g1part,g2part);\n });\n },g2s);\n }\n }\n return false;\n};\n\nfunction explode(g) {\n return g.coordinates.map(function(part) {\n return {\n type: g.type.replace('Multi', ''),\n coordinates: part}\n });\n}\n//compare length of coordinates/array\nfunction sameLength(g1,g2) {\n return g1.hasOwnProperty('coordinates') ?\n g1.coordinates.length === g2.coordinates.length\n : g1.length === g2.length;\n}\n\n// compare the two coordinates [x,y]\nEquality.prototype.compareCoord = function(c1,c2) {\n if (c1.length !== c2.length) {\n return false;\n }\n\n for (var i=0; i < c1.length; i++) {\n if (c1[i].toFixed(this.precision) !== c2[i].toFixed(this.precision)) {\n return false;\n }\n }\n return true;\n};\n\nEquality.prototype.compareLine = function(path1,path2,ind,isPoly) {\n if (!sameLength(path1,path2)) return false;\n var p1 = this.pseudoNode ? path1 : this.removePseudo(path1);\n var p2 = this.pseudoNode ? path2 : this.removePseudo(path2);\n if (isPoly && !this.compareCoord(p1[0],p2[0])) {\n // fix start index of both to same point\n p2 = this.fixStartIndex(p2,p1);\n if(!p2) return;\n }\n // for linestring ind =0 and for polygon ind =1\n var sameDirection = this.compareCoord(p1[ind],p2[ind]);\n if (this.direction || sameDirection\n ) {\n return this.comparePath(p1, p2);\n } else {\n if (this.compareCoord(p1[ind],p2[p2.length - (1+ind)])\n ) {\n return this.comparePath(p1.slice().reverse(), p2);\n }\n return false;\n }\n};\nEquality.prototype.fixStartIndex = function(sourcePath,targetPath) {\n //make sourcePath first point same as of targetPath\n var correctPath,ind = -1;\n for (var i=0; i< sourcePath.length; i++) {\n if(this.compareCoord(sourcePath[i],targetPath[0])) {\n ind = i;\n break;\n }\n }\n if (ind >= 0) {\n correctPath = [].concat(\n sourcePath.slice(ind,sourcePath.length),\n sourcePath.slice(1,ind+1));\n }\n return correctPath;\n};\nEquality.prototype.comparePath = function (p1,p2) {\n var cont = this;\n return p1.every(function(c,i) {\n return cont.compareCoord(c,this[i]);\n },p2);\n};\n\nEquality.prototype.comparePolygon = function(g1,g2) {\n if (this.compareLine(g1.coordinates[0],g2.coordinates[0],1,true)) {\n var holes1 = g1.coordinates.slice(1,g1.coordinates.length);\n var holes2 = g2.coordinates.slice(1,g2.coordinates.length);\n var cont = this;\n return holes1.every(function(h1) {\n return this.some(function(h2) {\n return cont.compareLine(h1,h2,1,true);\n });\n },holes2);\n } else {\n return false;\n }\n};\n\nEquality.prototype.compareFeature = function(g1,g2) {\n if (\n g1.id !== g2.id ||\n !this.objectComparator(g1.properties, g2.properties) ||\n !this.compareBBox(g1,g2)\n ) {\n return false;\n }\n return this.compare(g1.geometry, g2.geometry);\n};\n\nEquality.prototype.compareBBox = function(g1,g2) {\n if (\n (!g1.bbox && !g2.bbox) || \n (\n g1.bbox && g2.bbox &&\n this.compareCoord(g1.bbox, g2.bbox)\n )\n ) {\n return true;\n }\n return false;\n};\nEquality.prototype.removePseudo = function(path) {\n //TODO to be implement\n return path;\n};\n\nfunction objectComparator(obj1, obj2) {\n return deepEqual(obj1, obj2, {strict: true});\n}\n\nmodule.exports = Equality;\n","import mod from \"-!../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PremiumMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PremiumMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"","/**\n * @module ol/OverlayPositioning\n */\n\n/**\n * Overlay position: `'bottom-left'`, `'bottom-center'`, `'bottom-right'`,\n * `'center-left'`, `'center-center'`, `'center-right'`, `'top-left'`,\n * `'top-center'`, `'top-right'`\n * @enum {string}\n */\nexport default {\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_CENTER: 'bottom-center',\n BOTTOM_RIGHT: 'bottom-right',\n CENTER_LEFT: 'center-left',\n CENTER_CENTER: 'center-center',\n CENTER_RIGHT: 'center-right',\n TOP_LEFT: 'top-left',\n TOP_CENTER: 'top-center',\n TOP_RIGHT: 'top-right'\n};\n\n//# sourceMappingURL=OverlayPositioning.js.map","/**\n * @module ol/Overlay\n */\nimport MapEventType from './MapEventType.js';\nimport BaseObject, {getChangeEventType} from './Object.js';\nimport OverlayPositioning from './OverlayPositioning.js';\nimport {CLASS_SELECTABLE} from './css.js';\nimport {removeNode, removeChildren, outerWidth, outerHeight} from './dom.js';\nimport {listen, unlistenByKey} from './events.js';\nimport {containsExtent} from './extent.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {number|string} [id] Set the overlay id. The overlay id can be used\n * with the {@link module:ol/Map~Map#getOverlayById} method.\n * @property {HTMLElement} [element] The overlay element.\n * @property {Array} [offset=[0, 0]] Offsets in pixels used when positioning\n * the overlay. The first element in the\n * array is the horizontal offset. A positive value shifts the overlay right.\n * The second element in the array is the vertical offset. A positive value\n * shifts the overlay down.\n * @property {import(\"./coordinate.js\").Coordinate} [position] The overlay position\n * in map projection.\n * @property {OverlayPositioning} [positioning='top-left'] Defines how\n * the overlay is actually positioned with respect to its `position` property.\n * Possible values are `'bottom-left'`, `'bottom-center'`, `'bottom-right'`,\n * `'center-left'`, `'center-center'`, `'center-right'`, `'top-left'`,\n * `'top-center'`, and `'top-right'`.\n * @property {boolean} [stopEvent=true] Whether event propagation to the map\n * viewport should be stopped. If `true` the overlay is placed in the same\n * container as that of the controls (CSS class name\n * `ol-overlaycontainer-stopevent`); if `false` it is placed in the container\n * with CSS class name specified by the `className` property.\n * @property {boolean} [insertFirst=true] Whether the overlay is inserted first\n * in the overlay container, or appended. If the overlay is placed in the same\n * container as that of the controls (see the `stopEvent` option) you will\n * probably set `insertFirst` to `true` so the overlay is displayed below the\n * controls.\n * @property {boolean} [autoPan=false] If set to `true` the map is panned when\n * calling `setPosition`, so that the overlay is entirely visible in the current\n * viewport.\n * @property {PanOptions} [autoPanAnimation] The\n * animation options used to pan the overlay into view. This animation is only\n * used when `autoPan` is enabled. A `duration` and `easing` may be provided to\n * customize the animation.\n * @property {number} [autoPanMargin=20] The margin (in pixels) between the\n * overlay and the borders of the map when autopanning.\n * @property {string} [className='ol-overlay-container ol-selectable'] CSS class\n * name.\n */\n\n\n/**\n * @typedef {Object} PanOptions\n * @property {number} [duration=1000] The duration of the animation in\n * milliseconds.\n * @property {function(number):number} [easing] The easing function to use. Can\n * be one from {@link module:ol/easing} or a custom function.\n * Default is {@link module:ol/easing~inAndOut}.\n */\n\n\n/**\n * @enum {string}\n * @protected\n */\nvar Property = {\n ELEMENT: 'element',\n MAP: 'map',\n OFFSET: 'offset',\n POSITION: 'position',\n POSITIONING: 'positioning'\n};\n\n\n/**\n * @classdesc\n * An element to be displayed over the map and attached to a single map\n * location. Like {@link module:ol/control/Control~Control}, Overlays are\n * visible widgets. Unlike Controls, they are not in a fixed position on the\n * screen, but are tied to a geographical coordinate, so panning the map will\n * move an Overlay but not a Control.\n *\n * Example:\n *\n * import Overlay from 'ol/Overlay';\n *\n * var popup = new Overlay({\n * element: document.getElementById('popup')\n * });\n * popup.setPosition(coordinate);\n * map.addOverlay(popup);\n *\n * @api\n */\nvar Overlay = /*@__PURE__*/(function (BaseObject) {\n function Overlay(options) {\n\n BaseObject.call(this);\n\n /**\n * @protected\n * @type {Options}\n */\n this.options = options;\n\n /**\n * @protected\n * @type {number|string|undefined}\n */\n this.id = options.id;\n\n /**\n * @protected\n * @type {boolean}\n */\n this.insertFirst = options.insertFirst !== undefined ?\n options.insertFirst : true;\n\n /**\n * @protected\n * @type {boolean}\n */\n this.stopEvent = options.stopEvent !== undefined ? options.stopEvent : true;\n\n /**\n * @protected\n * @type {HTMLElement}\n */\n this.element = document.createElement('div');\n this.element.className = options.className !== undefined ?\n options.className : 'ol-overlay-container ' + CLASS_SELECTABLE;\n this.element.style.position = 'absolute';\n\n /**\n * @protected\n * @type {boolean}\n */\n this.autoPan = options.autoPan !== undefined ? options.autoPan : false;\n\n /**\n * @protected\n * @type {PanOptions}\n */\n this.autoPanAnimation = options.autoPanAnimation || /** @type {PanOptions} */ ({});\n\n /**\n * @protected\n * @type {number}\n */\n this.autoPanMargin = options.autoPanMargin !== undefined ?\n options.autoPanMargin : 20;\n\n /**\n * @protected\n * @type {{bottom_: string,\n * left_: string,\n * right_: string,\n * top_: string,\n * visible: boolean}}\n */\n this.rendered = {\n bottom_: '',\n left_: '',\n right_: '',\n top_: '',\n visible: true\n };\n\n /**\n * @protected\n * @type {?import(\"./events.js\").EventsKey}\n */\n this.mapPostrenderListenerKey = null;\n\n listen(\n this, getChangeEventType(Property.ELEMENT),\n this.handleElementChanged, this);\n\n listen(\n this, getChangeEventType(Property.MAP),\n this.handleMapChanged, this);\n\n listen(\n this, getChangeEventType(Property.OFFSET),\n this.handleOffsetChanged, this);\n\n listen(\n this, getChangeEventType(Property.POSITION),\n this.handlePositionChanged, this);\n\n listen(\n this, getChangeEventType(Property.POSITIONING),\n this.handlePositioningChanged, this);\n\n if (options.element !== undefined) {\n this.setElement(options.element);\n }\n\n this.setOffset(options.offset !== undefined ? options.offset : [0, 0]);\n\n this.setPositioning(options.positioning !== undefined ?\n /** @type {OverlayPositioning} */ (options.positioning) :\n OverlayPositioning.TOP_LEFT);\n\n if (options.position !== undefined) {\n this.setPosition(options.position);\n }\n\n }\n\n if ( BaseObject ) Overlay.__proto__ = BaseObject;\n Overlay.prototype = Object.create( BaseObject && BaseObject.prototype );\n Overlay.prototype.constructor = Overlay;\n\n /**\n * Get the DOM element of this overlay.\n * @return {HTMLElement|undefined} The Element containing the overlay.\n * @observable\n * @api\n */\n Overlay.prototype.getElement = function getElement () {\n return /** @type {HTMLElement|undefined} */ (this.get(Property.ELEMENT));\n };\n\n /**\n * Get the overlay identifier which is set on constructor.\n * @return {number|string|undefined} Id.\n * @api\n */\n Overlay.prototype.getId = function getId () {\n return this.id;\n };\n\n /**\n * Get the map associated with this overlay.\n * @return {import(\"./PluggableMap.js\").default|undefined} The map that the\n * overlay is part of.\n * @observable\n * @api\n */\n Overlay.prototype.getMap = function getMap () {\n return (\n /** @type {import(\"./PluggableMap.js\").default|undefined} */ (this.get(Property.MAP))\n );\n };\n\n /**\n * Get the offset of this overlay.\n * @return {Array} The offset.\n * @observable\n * @api\n */\n Overlay.prototype.getOffset = function getOffset () {\n return /** @type {Array} */ (this.get(Property.OFFSET));\n };\n\n /**\n * Get the current position of this overlay.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} The spatial point that the overlay is\n * anchored at.\n * @observable\n * @api\n */\n Overlay.prototype.getPosition = function getPosition () {\n return (\n /** @type {import(\"./coordinate.js\").Coordinate|undefined} */ (this.get(Property.POSITION))\n );\n };\n\n /**\n * Get the current positioning of this overlay.\n * @return {OverlayPositioning} How the overlay is positioned\n * relative to its point on the map.\n * @observable\n * @api\n */\n Overlay.prototype.getPositioning = function getPositioning () {\n return (\n /** @type {OverlayPositioning} */ (this.get(Property.POSITIONING))\n );\n };\n\n /**\n * @protected\n */\n Overlay.prototype.handleElementChanged = function handleElementChanged () {\n removeChildren(this.element);\n var element = this.getElement();\n if (element) {\n this.element.appendChild(element);\n }\n };\n\n /**\n * @protected\n */\n Overlay.prototype.handleMapChanged = function handleMapChanged () {\n if (this.mapPostrenderListenerKey) {\n removeNode(this.element);\n unlistenByKey(this.mapPostrenderListenerKey);\n this.mapPostrenderListenerKey = null;\n }\n var map = this.getMap();\n if (map) {\n this.mapPostrenderListenerKey = listen(map,\n MapEventType.POSTRENDER, this.render, this);\n this.updatePixelPosition();\n var container = this.stopEvent ?\n map.getOverlayContainerStopEvent() : map.getOverlayContainer();\n if (this.insertFirst) {\n container.insertBefore(this.element, container.childNodes[0] || null);\n } else {\n container.appendChild(this.element);\n }\n }\n };\n\n /**\n * @protected\n */\n Overlay.prototype.render = function render () {\n this.updatePixelPosition();\n };\n\n /**\n * @protected\n */\n Overlay.prototype.handleOffsetChanged = function handleOffsetChanged () {\n this.updatePixelPosition();\n };\n\n /**\n * @protected\n */\n Overlay.prototype.handlePositionChanged = function handlePositionChanged () {\n this.updatePixelPosition();\n if (this.get(Property.POSITION) && this.autoPan) {\n this.panIntoView();\n }\n };\n\n /**\n * @protected\n */\n Overlay.prototype.handlePositioningChanged = function handlePositioningChanged () {\n this.updatePixelPosition();\n };\n\n /**\n * Set the DOM element to be associated with this overlay.\n * @param {HTMLElement|undefined} element The Element containing the overlay.\n * @observable\n * @api\n */\n Overlay.prototype.setElement = function setElement (element) {\n this.set(Property.ELEMENT, element);\n };\n\n /**\n * Set the map to be associated with this overlay.\n * @param {import(\"./PluggableMap.js\").default|undefined} map The map that the\n * overlay is part of.\n * @observable\n * @api\n */\n Overlay.prototype.setMap = function setMap (map) {\n this.set(Property.MAP, map);\n };\n\n /**\n * Set the offset for this overlay.\n * @param {Array} offset Offset.\n * @observable\n * @api\n */\n Overlay.prototype.setOffset = function setOffset (offset) {\n this.set(Property.OFFSET, offset);\n };\n\n /**\n * Set the position for this overlay. If the position is `undefined` the\n * overlay is hidden.\n * @param {import(\"./coordinate.js\").Coordinate|undefined} position The spatial point that the overlay\n * is anchored at.\n * @observable\n * @api\n */\n Overlay.prototype.setPosition = function setPosition (position) {\n this.set(Property.POSITION, position);\n };\n\n /**\n * Pan the map so that the overlay is entirely visible in the current viewport\n * (if necessary).\n * @protected\n */\n Overlay.prototype.panIntoView = function panIntoView () {\n var map = this.getMap();\n\n if (!map || !map.getTargetElement()) {\n return;\n }\n\n var mapRect = this.getRect(map.getTargetElement(), map.getSize());\n var element = this.getElement();\n var overlayRect = this.getRect(element, [outerWidth(element), outerHeight(element)]);\n\n var margin = this.autoPanMargin;\n if (!containsExtent(mapRect, overlayRect)) {\n // the overlay is not completely inside the viewport, so pan the map\n var offsetLeft = overlayRect[0] - mapRect[0];\n var offsetRight = mapRect[2] - overlayRect[2];\n var offsetTop = overlayRect[1] - mapRect[1];\n var offsetBottom = mapRect[3] - overlayRect[3];\n\n var delta = [0, 0];\n if (offsetLeft < 0) {\n // move map to the left\n delta[0] = offsetLeft - margin;\n } else if (offsetRight < 0) {\n // move map to the right\n delta[0] = Math.abs(offsetRight) + margin;\n }\n if (offsetTop < 0) {\n // move map up\n delta[1] = offsetTop - margin;\n } else if (offsetBottom < 0) {\n // move map down\n delta[1] = Math.abs(offsetBottom) + margin;\n }\n\n if (delta[0] !== 0 || delta[1] !== 0) {\n var center = /** @type {import(\"./coordinate.js\").Coordinate} */ (map.getView().getCenter());\n var centerPx = map.getPixelFromCoordinate(center);\n var newCenterPx = [\n centerPx[0] + delta[0],\n centerPx[1] + delta[1]\n ];\n\n map.getView().animate({\n center: map.getCoordinateFromPixel(newCenterPx),\n duration: this.autoPanAnimation.duration,\n easing: this.autoPanAnimation.easing\n });\n }\n }\n };\n\n /**\n * Get the extent of an element relative to the document\n * @param {HTMLElement|undefined} element The element.\n * @param {import(\"./size.js\").Size|undefined} size The size of the element.\n * @return {import(\"./extent.js\").Extent} The extent.\n * @protected\n */\n Overlay.prototype.getRect = function getRect (element, size) {\n var box = element.getBoundingClientRect();\n var offsetX = box.left + window.pageXOffset;\n var offsetY = box.top + window.pageYOffset;\n return [\n offsetX,\n offsetY,\n offsetX + size[0],\n offsetY + size[1]\n ];\n };\n\n /**\n * Set the positioning for this overlay.\n * @param {OverlayPositioning} positioning how the overlay is\n * positioned relative to its point on the map.\n * @observable\n * @api\n */\n Overlay.prototype.setPositioning = function setPositioning (positioning) {\n this.set(Property.POSITIONING, positioning);\n };\n\n /**\n * Modify the visibility of the element.\n * @param {boolean} visible Element visibility.\n * @protected\n */\n Overlay.prototype.setVisible = function setVisible (visible) {\n if (this.rendered.visible !== visible) {\n this.element.style.display = visible ? '' : 'none';\n this.rendered.visible = visible;\n }\n };\n\n /**\n * Update pixel position.\n * @protected\n */\n Overlay.prototype.updatePixelPosition = function updatePixelPosition () {\n var map = this.getMap();\n var position = this.getPosition();\n if (!map || !map.isRendered() || !position) {\n this.setVisible(false);\n return;\n }\n\n var pixel = map.getPixelFromCoordinate(position);\n var mapSize = map.getSize();\n this.updateRenderedPosition(pixel, mapSize);\n };\n\n /**\n * @param {import(\"./pixel.js\").Pixel} pixel The pixel location.\n * @param {import(\"./size.js\").Size|undefined} mapSize The map size.\n * @protected\n */\n Overlay.prototype.updateRenderedPosition = function updateRenderedPosition (pixel, mapSize) {\n var style = this.element.style;\n var offset = this.getOffset();\n\n var positioning = this.getPositioning();\n\n this.setVisible(true);\n\n var offsetX = offset[0];\n var offsetY = offset[1];\n if (positioning == OverlayPositioning.BOTTOM_RIGHT ||\n positioning == OverlayPositioning.CENTER_RIGHT ||\n positioning == OverlayPositioning.TOP_RIGHT) {\n if (this.rendered.left_ !== '') {\n this.rendered.left_ = style.left = '';\n }\n var right = Math.round(mapSize[0] - pixel[0] - offsetX) + 'px';\n if (this.rendered.right_ != right) {\n this.rendered.right_ = style.right = right;\n }\n } else {\n if (this.rendered.right_ !== '') {\n this.rendered.right_ = style.right = '';\n }\n if (positioning == OverlayPositioning.BOTTOM_CENTER ||\n positioning == OverlayPositioning.CENTER_CENTER ||\n positioning == OverlayPositioning.TOP_CENTER) {\n offsetX -= this.element.offsetWidth / 2;\n }\n var left = Math.round(pixel[0] + offsetX) + 'px';\n if (this.rendered.left_ != left) {\n this.rendered.left_ = style.left = left;\n }\n }\n if (positioning == OverlayPositioning.BOTTOM_LEFT ||\n positioning == OverlayPositioning.BOTTOM_CENTER ||\n positioning == OverlayPositioning.BOTTOM_RIGHT) {\n if (this.rendered.top_ !== '') {\n this.rendered.top_ = style.top = '';\n }\n var bottom = Math.round(mapSize[1] - pixel[1] - offsetY) + 'px';\n if (this.rendered.bottom_ != bottom) {\n this.rendered.bottom_ = style.bottom = bottom;\n }\n } else {\n if (this.rendered.bottom_ !== '') {\n this.rendered.bottom_ = style.bottom = '';\n }\n if (positioning == OverlayPositioning.CENTER_LEFT ||\n positioning == OverlayPositioning.CENTER_CENTER ||\n positioning == OverlayPositioning.CENTER_RIGHT) {\n offsetY -= this.element.offsetHeight / 2;\n }\n var top = Math.round(pixel[1] + offsetY) + 'px';\n if (this.rendered.top_ != top) {\n this.rendered.top_ = style.top = top;\n }\n }\n };\n\n /**\n * returns the options this Overlay has been created with\n * @return {Options} overlay options\n */\n Overlay.prototype.getOptions = function getOptions () {\n return this.options;\n };\n\n return Overlay;\n}(BaseObject));\n\n\nexport default Overlay;\n\n//# sourceMappingURL=Overlay.js.map","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"","'use strict';\n\nvar helpers = require('../helpers/index');\n\nmodule.exports = {\n\t/**\n\t * @private\n\t */\n\t_set: function(scope, values) {\n\t\treturn helpers.merge(this[scope] || (this[scope] = {}), values);\n\t}\n};\n","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Ordnance Survey Grid Reference functions (c) Chris Veness 2005-2017 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong-gridref.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-osgridref.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var LatLon = require('./latlon-ellipsoidal.js'); // ≡ import LatLon from 'latlon-ellipsoidal.js'\n\n\n/**\n * Convert OS grid references to/from OSGB latitude/longitude points.\n *\n * Formulation implemented here due to Thomas, Redfearn, etc is as published by OS, but is inferior\n * to Krüger as used by e.g. Karney 2011.\n *\n * www.ordnancesurvey.co.uk/docs/support/guide-coordinate-systems-great-britain.pdf.\n *\n * @module osgridref\n * @requires latlon-ellipsoidal\n */\n/*\n * Converted 2015 to work with WGS84 by default, OSGB36 as option;\n * www.ordnancesurvey.co.uk/blog/2014/12/confirmation-on-changes-to-latitude-and-longitude\n */\n\n\n/**\n * Creates an OsGridRef object.\n *\n * @constructor\n * @param {number} easting - Easting in metres from OS false origin.\n * @param {number} northing - Northing in metres from OS false origin.\n *\n * @example\n * var grid = new OsGridRef(651409, 313177);\n */\nfunction OsGridRef(easting, northing) {\n // allow instantiation without 'new'\n if (!(this instanceof OsGridRef)) return new OsGridRef(easting, northing);\n\n this.easting = Number(easting);\n this.northing = Number(northing);\n}\n\n\n/**\n * Converts latitude/longitude to Ordnance Survey grid reference easting/northing coordinate.\n *\n * Note formulation implemented here due to Thomas, Redfearn, etc is as published by OS, but is\n * inferior to Krüger as used by e.g. Karney 2011.\n *\n * @param {LatLon} point - latitude/longitude.\n * @returns {OsGridRef} OS Grid Reference easting/northing.\n *\n * @example\n * var p = new LatLon(52.65798, 1.71605);\n * var grid = OsGridRef.latLonToOsGrid(p); // grid.toString(): TG 51409 13177\n * // for conversion of (historical) OSGB36 latitude/longitude point:\n * var p = new LatLon(52.65757, 1.71791, LatLon.datum.OSGB36);\n */\nOsGridRef.latLonToOsGrid = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n // if necessary convert to OSGB36 first\n if (point.datum != LatLon.datum.OSGB36) point = point.convertDatum(LatLon.datum.OSGB36);\n\n var φ = point.lat.toRadians();\n var λ = point.lon.toRadians();\n\n var a = 6377563.396, b = 6356256.909; // Airy 1830 major & minor semi-axes\n var F0 = 0.9996012717; // NatGrid scale factor on central meridian\n var φ0 = (49).toRadians(), λ0 = (-2).toRadians(); // NatGrid true origin is 49°N,2°W\n var N0 = -100000, E0 = 400000; // northing & easting of true origin, metres\n var e2 = 1 - (b*b)/(a*a); // eccentricity squared\n var n = (a-b)/(a+b), n2 = n*n, n3 = n*n*n; // n, n², n³\n\n var cosφ = Math.cos(φ), sinφ = Math.sin(φ);\n var ν = a*F0/Math.sqrt(1-e2*sinφ*sinφ); // nu = transverse radius of curvature\n var ρ = a*F0*(1-e2)/Math.pow(1-e2*sinφ*sinφ, 1.5); // rho = meridional radius of curvature\n var η2 = ν/ρ-1; // eta = ?\n\n var Ma = (1 + n + (5/4)*n2 + (5/4)*n3) * (φ-φ0);\n var Mb = (3*n + 3*n*n + (21/8)*n3) * Math.sin(φ-φ0) * Math.cos(φ+φ0);\n var Mc = ((15/8)*n2 + (15/8)*n3) * Math.sin(2*(φ-φ0)) * Math.cos(2*(φ+φ0));\n var Md = (35/24)*n3 * Math.sin(3*(φ-φ0)) * Math.cos(3*(φ+φ0));\n var M = b * F0 * (Ma - Mb + Mc - Md); // meridional arc\n\n var cos3φ = cosφ*cosφ*cosφ;\n var cos5φ = cos3φ*cosφ*cosφ;\n var tan2φ = Math.tan(φ)*Math.tan(φ);\n var tan4φ = tan2φ*tan2φ;\n\n var I = M + N0;\n var II = (ν/2)*sinφ*cosφ;\n var III = (ν/24)*sinφ*cos3φ*(5-tan2φ+9*η2);\n var IIIA = (ν/720)*sinφ*cos5φ*(61-58*tan2φ+tan4φ);\n var IV = ν*cosφ;\n var V = (ν/6)*cos3φ*(ν/ρ-tan2φ);\n var VI = (ν/120) * cos5φ * (5 - 18*tan2φ + tan4φ + 14*η2 - 58*tan2φ*η2);\n\n var Δλ = λ-λ0;\n var Δλ2 = Δλ*Δλ, Δλ3 = Δλ2*Δλ, Δλ4 = Δλ3*Δλ, Δλ5 = Δλ4*Δλ, Δλ6 = Δλ5*Δλ;\n\n var N = I + II*Δλ2 + III*Δλ4 + IIIA*Δλ6;\n var E = E0 + IV*Δλ + V*Δλ3 + VI*Δλ5;\n\n N = Number(N.toFixed(3)); // round to mm precision\n E = Number(E.toFixed(3));\n\n return new OsGridRef(E, N); // gets truncated to SW corner of 1m grid square\n};\n\n\n/**\n * Converts Ordnance Survey grid reference easting/northing coordinate to latitude/longitude\n * (SW corner of grid square).\n *\n * Note formulation implemented here due to Thomas, Redfearn, etc is as published by OS, but is\n * inferior to Krüger as used by e.g. Karney 2011.\n *\n * @param {OsGridRef} gridref - Grid ref E/N to be converted to lat/long (SW corner of grid square).\n * @param {LatLon.datum} [datum=WGS84] - Datum to convert grid reference into.\n * @returns {LatLon} Latitude/longitude of supplied grid reference.\n *\n * @example\n * var gridref = new OsGridRef(651409.903, 313177.270);\n * var pWgs84 = OsGridRef.osGridToLatLon(gridref); // 52°39′28.723″N, 001°42′57.787″E\n * // to obtain (historical) OSGB36 latitude/longitude point:\n * var pOsgb = OsGridRef.osGridToLatLon(gridref, LatLon.datum.OSGB36); // 52°39′27.253″N, 001°43′04.518″E\n */\nOsGridRef.osGridToLatLon = function(gridref, datum) {\n if (!(gridref instanceof OsGridRef)) throw new TypeError('gridref is not OsGridRef object');\n if (datum === undefined) datum = LatLon.datum.WGS84;\n\n var E = gridref.easting;\n var N = gridref.northing;\n\n var a = 6377563.396, b = 6356256.909; // Airy 1830 major & minor semi-axes\n var F0 = 0.9996012717; // NatGrid scale factor on central meridian\n var φ0 = (49).toRadians(), λ0 = (-2).toRadians(); // NatGrid true origin is 49°N,2°W\n var N0 = -100000, E0 = 400000; // northing & easting of true origin, metres\n var e2 = 1 - (b*b)/(a*a); // eccentricity squared\n var n = (a-b)/(a+b), n2 = n*n, n3 = n*n*n; // n, n², n³\n\n var φ=φ0, M=0;\n do {\n φ = (N-N0-M)/(a*F0) + φ;\n\n var Ma = (1 + n + (5/4)*n2 + (5/4)*n3) * (φ-φ0);\n var Mb = (3*n + 3*n*n + (21/8)*n3) * Math.sin(φ-φ0) * Math.cos(φ+φ0);\n var Mc = ((15/8)*n2 + (15/8)*n3) * Math.sin(2*(φ-φ0)) * Math.cos(2*(φ+φ0));\n var Md = (35/24)*n3 * Math.sin(3*(φ-φ0)) * Math.cos(3*(φ+φ0));\n M = b * F0 * (Ma - Mb + Mc - Md); // meridional arc\n\n } while (N-N0-M >= 0.00001); // ie until < 0.01mm\n\n var cosφ = Math.cos(φ), sinφ = Math.sin(φ);\n var ν = a*F0/Math.sqrt(1-e2*sinφ*sinφ); // nu = transverse radius of curvature\n var ρ = a*F0*(1-e2)/Math.pow(1-e2*sinφ*sinφ, 1.5); // rho = meridional radius of curvature\n var η2 = ν/ρ-1; // eta = ?\n\n var tanφ = Math.tan(φ);\n var tan2φ = tanφ*tanφ, tan4φ = tan2φ*tan2φ, tan6φ = tan4φ*tan2φ;\n var secφ = 1/cosφ;\n var ν3 = ν*ν*ν, ν5 = ν3*ν*ν, ν7 = ν5*ν*ν;\n var VII = tanφ/(2*ρ*ν);\n var VIII = tanφ/(24*ρ*ν3)*(5+3*tan2φ+η2-9*tan2φ*η2);\n var IX = tanφ/(720*ρ*ν5)*(61+90*tan2φ+45*tan4φ);\n var X = secφ/ν;\n var XI = secφ/(6*ν3)*(ν/ρ+2*tan2φ);\n var XII = secφ/(120*ν5)*(5+28*tan2φ+24*tan4φ);\n var XIIA = secφ/(5040*ν7)*(61+662*tan2φ+1320*tan4φ+720*tan6φ);\n\n var dE = (E-E0), dE2 = dE*dE, dE3 = dE2*dE, dE4 = dE2*dE2, dE5 = dE3*dE2, dE6 = dE4*dE2, dE7 = dE5*dE2;\n φ = φ - VII*dE2 + VIII*dE4 - IX*dE6;\n var λ = λ0 + X*dE - XI*dE3 + XII*dE5 - XIIA*dE7;\n\n var point = new LatLon(φ.toDegrees(), λ.toDegrees(), LatLon.datum.OSGB36);\n if (datum != LatLon.datum.OSGB36) point = point.convertDatum(datum);\n\n return point;\n};\n\n\n/**\n * Parses grid reference to OsGridRef object.\n *\n * Accepts standard grid references (eg 'SU 387 148'), with or without whitespace separators, from\n * two-digit references up to 10-digit references (1m × 1m square), or fully numeric comma-separated\n * references in metres (eg '438700,114800').\n *\n * @param {string} gridref - Standard format OS grid reference.\n * @returns {OsGridRef} Numeric version of grid reference in metres from false origin (SW corner of\n * supplied grid square).\n * @throws Error on Invalid grid reference.\n *\n * @example\n * var grid = OsGridRef.parse('TG 51409 13177'); // grid: { easting: 651409, northing: 313177 }\n */\nOsGridRef.parse = function(gridref) {\n gridref = String(gridref).trim();\n\n // check for fully numeric comma-separated gridref format\n var match = gridref.match(/^(\\d+),\\s*(\\d+)$/);\n if (match) return new OsGridRef(match[1], match[2]);\n\n // validate format\n match = gridref.match(/^[A-Z]{2}\\s*[0-9]+\\s*[0-9]+$/i);\n if (!match) throw new Error('Invalid grid reference');\n\n // get numeric values of letter references, mapping A->0, B->1, C->2, etc:\n var l1 = gridref.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0);\n var l2 = gridref.toUpperCase().charCodeAt(1) - 'A'.charCodeAt(0);\n // shuffle down letters after 'I' since 'I' is not used in grid:\n if (l1 > 7) l1--;\n if (l2 > 7) l2--;\n\n // convert grid letters into 100km-square indexes from false origin (grid square SV):\n var e100km = ((l1-2)%5)*5 + (l2%5);\n var n100km = (19-Math.floor(l1/5)*5) - Math.floor(l2/5);\n\n // skip grid letters to get numeric (easting/northing) part of ref\n var en = gridref.slice(2).trim().split(/\\s+/);\n // if e/n not whitespace separated, split half way\n if (en.length == 1) en = [ en[0].slice(0, en[0].length/2), en[0].slice(en[0].length/2) ];\n\n // validation\n if (e100km<0 || e100km>6 || n100km<0 || n100km>12) throw new Error('Invalid grid reference');\n if (en.length != 2) throw new Error('Invalid grid reference');\n if (en[0].length != en[1].length) throw new Error('Invalid grid reference');\n\n // standardise to 10-digit refs (metres)\n en[0] = (en[0]+'00000').slice(0, 5);\n en[1] = (en[1]+'00000').slice(0, 5);\n\n var e = e100km + en[0];\n var n = n100km + en[1];\n\n return new OsGridRef(e, n);\n};\n\n\n/**\n * Converts ‘this’ numeric grid reference to standard OS grid reference.\n *\n * @param {number} [digits=10] - Precision of returned grid reference (10 digits = metres);\n * digits=0 will return grid reference in numeric format.\n * @returns {string} This grid reference in standard format.\n *\n * @example\n * var ref = new OsGridRef(651409, 313177).toString(); // TG 51409 13177\n */\nOsGridRef.prototype.toString = function(digits) {\n digits = (digits === undefined) ? 10 : Number(digits);\n if (isNaN(digits) || digits%2!=0 || digits>16) throw new RangeError('Invalid precision ‘'+digits+'’');\n\n var e = this.easting;\n var n = this.northing;\n if (isNaN(e) || isNaN(n)) throw new Error('Invalid grid reference');\n\n // use digits = 0 to return numeric format (in metres, allowing for decimals & for northing > 1e6)\n if (digits == 0) {\n var eInt = Math.floor(e), eDec = e - eInt;\n var nInt = Math.floor(n), nDec = n - nInt;\n var ePad = ('000000'+eInt).slice(-6) + (eDec>0 ? eDec.toFixed(3).slice(1) : '');\n var nPad = (nInt<1e6 ? ('000000'+nInt).slice(-6) : nInt) + (nDec>0 ? nDec.toFixed(3).slice(1) : '');\n return ePad + ',' + nPad;\n }\n\n // get the 100km-grid indices\n var e100k = Math.floor(e/100000), n100k = Math.floor(n/100000);\n\n if (e100k<0 || e100k>6 || n100k<0 || n100k>12) return '';\n\n // translate those into numeric equivalents of the grid letters\n var l1 = (19-n100k) - (19-n100k)%5 + Math.floor((e100k+10)/5);\n var l2 = (19-n100k)*5%25 + e100k%5;\n\n // compensate for skipped 'I' and build grid letter-pairs\n if (l1 > 7) l1++;\n if (l2 > 7) l2++;\n var letterPair = String.fromCharCode(l1+'A'.charCodeAt(0), l2+'A'.charCodeAt(0));\n\n // strip 100km-grid indices from easting & northing, and reduce precision\n e = Math.floor((e%100000)/Math.pow(10, 5-digits/2));\n n = Math.floor((n%100000)/Math.pow(10, 5-digits/2));\n\n // pad eastings & northings with leading zeros (just in case, allow up to 16-digit (mm) refs)\n e = ('00000000'+e).slice(-digits/2);\n n = ('00000000'+n).slice(-digits/2);\n\n return letterPair + ' ' + e + ' ' + n;\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = OsGridRef; // ≡ export default OsGridRef\n","/**\n * @module ol/MapBrowserEventType\n */\nimport EventType from './events/EventType.js';\n\n/**\n * Constants for event names.\n * @enum {string}\n */\nexport default {\n\n /**\n * A true single click with no dragging and no double click. Note that this\n * event is delayed by 250 ms to ensure that it is not a double click.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#singleclick\n * @api\n */\n SINGLECLICK: 'singleclick',\n\n /**\n * A click with no dragging. A double click will fire two of this.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#click\n * @api\n */\n CLICK: EventType.CLICK,\n\n /**\n * A true double click, with no dragging.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#dblclick\n * @api\n */\n DBLCLICK: EventType.DBLCLICK,\n\n /**\n * Triggered when a pointer is dragged.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#pointerdrag\n * @api\n */\n POINTERDRAG: 'pointerdrag',\n\n /**\n * Triggered when a pointer is moved. Note that on touch devices this is\n * triggered when the map is panned, so is not the same as mousemove.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#pointermove\n * @api\n */\n POINTERMOVE: 'pointermove',\n\n POINTERDOWN: 'pointerdown',\n POINTERUP: 'pointerup',\n POINTEROVER: 'pointerover',\n POINTEROUT: 'pointerout',\n POINTERENTER: 'pointerenter',\n POINTERLEAVE: 'pointerleave',\n POINTERCANCEL: 'pointercancel'\n};\n\n//# sourceMappingURL=MapBrowserEventType.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nutrient-map-display\"},[_c('h3',[_c('IxRes',[_vm._v(\"Areas.FieldRecordSystem.SR_BaseFertilization.\"+_vm._s((\"ContentClass_\" + _vm.getType)))])],1),_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.CreatedAt\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.$i18n.format(_vm.map.generatedAt, 'datetime'))+\"\\n\\n \"),_c('BsCheckbox',{model:{value:(_vm.showClassifications),callback:function ($$v) {_vm.showClassifications=$$v},expression:\"showClassifications\"}},[_c('IxRes',[_vm._v(\"Areas.FieldRecordSystem.SR_BaseFertilization.ShowSamplingValues\")])],1),(_vm.showClassifications)?_c('HelpBox',[_c('IxRes',[_vm._v(\"bf.nutrientMaps.hints.classificationsMapInteractionHint\")])],1):_vm._e(),(_vm.showZentroidNeeded)?_c('BsCheckbox',{model:{value:(_vm.showZentroid),callback:function ($$v) {_vm.showZentroid=$$v},expression:\"showZentroid\"}},[_c('IxRes',[_vm._v(\"Areas.FieldRecordSystem.SR_BaseFertilization.ShowZentroid\")])],1):_vm._e(),_c('ContentClassLegend',{attrs:{\"areas\":_vm.areaByClassification,\"nutrient\":_vm.map.nutrient}}),_c('FrsNutrientMapLayer',{attrs:{\"map\":_vm.map,\"field-id\":_vm.fieldId,\"show-classifications\":_vm.showClassifications}}),(_vm.showClassifications)?[_c('ClickInteraction',{attrs:{\"hover-style\":_vm.hoverStyle,\"hit-tolerance\":5,\"layer-filter\":function (layer) { return layer.get('id') === 'points'; }},on:{\"click\":_vm.onFeatureClick}}),(_vm.selectedMeasurement)?_c('InfoOverlay',{attrs:{\"position\":_vm.selectedMeasurement.position}},[_c('InfoPopover',{attrs:{\"measurement\":_vm.selectedMeasurement}})],1):_vm._e()]:_vm._e(),_c('MapPrint',{attrs:{\"map-ids\":[_vm.map.id],\"map-type\":\"nutrientMap\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-class-legend\"},[_c('label',[_c('IxRes',[_vm._v(\"bf.nutrientMaps.labels.contentClassLegend\")]),_vm._v(\":\\n \")],1),_c('div',{staticClass:\"legend-container\"},[_vm._l((_vm.classifications),function(classification){return _c('div',{key:classification,staticClass:\"legend-row\"},[_c('div',{staticClass:\"legend-box\",style:({backgroundColor: _vm.colors[classification]})}),_c('div',{staticClass:\"text\"},[_c('span',{staticClass:\"classification\"},[_vm._v(_vm._s(classification)+\" - \")]),_c('IxRes',{staticClass:\"classification-label\"},[_vm._v(\"\\n bf.nutrientMaps.labels.contentClass_\"+_vm._s(classification)+\"\\n \")]),(_vm.areas[classification])?_c('span',{staticClass:\"area\"},[_vm._v(\"(\"+_vm._s(_vm.$i18n.format(_vm.areas[classification], 'area'))+\")\")]):_vm._e()],1)])}),_c('div',{staticClass:\"legend-row\"},[_c('div',{staticClass:\"legend-box no-data\"}),_c('div',{staticClass:\"text\"},[_c('IxRes',[_vm._v(\"bf.nutrientMaps.labels.contentClasses_noData\")])],1)])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentClassLegend.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentClassLegend.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContentClassLegend.vue?vue&type=template&id=624cdb68&scoped=true&\"\nimport script from \"./ContentClassLegend.vue?vue&type=script&lang=js&\"\nexport * from \"./ContentClassLegend.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContentClassLegend.vue?vue&type=style&index=0&id=624cdb68&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"624cdb68\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"info-overlay\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoOverlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoOverlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoOverlay.vue?vue&type=template&id=282babc8&scoped=true&lang=html&\"\nimport script from \"./InfoOverlay.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoOverlay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InfoOverlay.vue?vue&type=style&index=0&id=282babc8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"282babc8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"measurements\"},[_c('section',[_c('label',[_c('IxRes',[_vm._v(\"Areas.FieldRecordSystem.SR_BaseFertilization.MeasurementResult\")])],1),_c('div',[_vm._v(_vm._s(_vm.$i18n.format(_vm.value) + _vm.addon))])]),_c('section',[_c('label',[_c('IxRes',[_vm._v(\"Areas.FieldRecordSystem.SR_BaseFertilization.SamplingTime\")])],1),_c('div',[_vm._v(_vm._s(_vm.$i18n.format(_vm.timestamp, 'date')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoPopover.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoPopover.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InfoPopover.vue?vue&type=template&id=357a6dc3&scoped=true&\"\nimport script from \"./InfoPopover.vue?vue&type=script&lang=js&\"\nexport * from \"./InfoPopover.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InfoPopover.vue?vue&type=style&index=0&id=357a6dc3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"357a6dc3\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NutrientMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NutrientMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NutrientMapDetails.vue?vue&type=template&id=d9851d8e&scoped=true&lang=html&\"\nimport script from \"./NutrientMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./NutrientMapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NutrientMapDetails.vue?vue&type=style&index=0&id=d9851d8e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d9851d8e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CultivationSummary.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CultivationSummary.vue?vue&type=style&index=0&lang=scss&module=true&\"","export default {\r\n mounted () {\r\n this.$store.commit('fieldRecordSystem/map/setShowDefaultLayers', false)\r\n },\r\n beforeDestroy () {\r\n this.$store.commit('fieldRecordSystem/map/setShowDefaultLayers', true)\r\n }\r\n}\r\n","\"use strict\"\n\nvar twoProduct = require(\"two-product\")\nvar twoSum = require(\"two-sum\")\n\nmodule.exports = scaleLinearExpansion\n\nfunction scaleLinearExpansion(e, scale) {\n var n = e.length\n if(n === 1) {\n var ts = twoProduct(e[0], scale)\n if(ts[0]) {\n return ts\n }\n return [ ts[1] ]\n }\n var g = new Array(2 * n)\n var q = [0.1, 0.1]\n var t = [0.1, 0.1]\n var count = 0\n twoProduct(e[0], scale, q)\n if(q[0]) {\n g[count++] = q[0]\n }\n for(var i=1; i} bbox extent in [west, south, east, north] order\n * @returns {Array} a square surrounding `bbox`\n * @example\n * var bbox = [-20,-20,-15,0];\n * var squared = turf.square(bbox);\n * var features = turf.featureCollection([\n * turf.bboxPolygon(bbox),\n * turf.bboxPolygon(squared)\n * ]);\n *\n * //addToMap\n * var addToMap = [features]\n */\nmodule.exports = function (bbox) {\n var west = bbox[0];\n var south = bbox[1];\n var east = bbox[2];\n var north = bbox[3];\n\n var horizontalDistance = distance(bbox.slice(0, 2), [east, south]);\n var verticalDistance = distance(bbox.slice(0, 2), [west, north]);\n if (horizontalDistance >= verticalDistance) {\n var verticalMidpoint = (south + north) / 2;\n return [\n west,\n verticalMidpoint - ((east - west) / 2),\n east,\n verticalMidpoint + ((east - west) / 2)\n ];\n } else {\n var horizontalMidpoint = (west + east) / 2;\n return [\n horizontalMidpoint - ((north - south) / 2),\n south,\n horizontalMidpoint + ((north - south) / 2),\n north\n ];\n }\n};\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsibleSection.vue?vue&type=style&index=0&id=329a5962&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsibleSection.vue?vue&type=style&index=0&id=329a5962&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ZoneMapsLayer',{attrs:{\"zone-maps\":_vm.zoneMaps,\"palette\":_vm.palette}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsZoneMapLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsZoneMapLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsZoneMapLayer.vue?vue&type=template&id=01731eab&scoped=true&lang=html&\"\nimport script from \"./FrsZoneMapLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsZoneMapLayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"01731eab\",\n null\n \n)\n\nexport default component.exports","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* MGRS / UTM Conversion Functions (c) Chris Veness 2014-2016 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong-utm-mgrs.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-mgrs.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var Utm = require('./utm.js'); // ≡ import Utm from 'utm.js'\nif (typeof module!='undefined' && module.exports) var LatLon = require('./latlon-ellipsoidal.js'); // ≡ import LatLon from 'latlon-ellipsoidal.js'\n\n\n/**\n * Convert between Universal Transverse Mercator (UTM) coordinates and Military Grid Reference\n * System (MGRS/NATO) grid references.\n *\n * @module mgrs\n * @requires utm\n * @requires latlon-ellipsoidal\n */\n\n/* qv www.fgdc.gov/standards/projects/FGDC-standards-projects/usng/fgdc_std_011_2001_usng.pdf p10 */\n\n\n/*\n * Latitude bands C..X 8° each, covering 80°S to 84°N\n */\nMgrs.latBands = 'CDEFGHJKLMNPQRSTUVWXX'; // X is repeated for 80-84°N\n\n\n/*\n * 100km grid square column (‘e’) letters repeat every third zone\n */\nMgrs.e100kLetters = [ 'ABCDEFGH', 'JKLMNPQR', 'STUVWXYZ' ];\n\n\n/*\n * 100km grid square row (‘n’) letters repeat every other zone\n */\nMgrs.n100kLetters = [ 'ABCDEFGHJKLMNPQRSTUV', 'FGHJKLMNPQRSTUVABCDE' ];\n\n\n/**\n * Creates an Mgrs grid reference object.\n *\n * @constructor\n * @param {number} zone - 6° longitudinal zone (1..60 covering 180°W..180°E).\n * @param {string} band - 8° latitudinal band (C..X covering 80°S..84°N).\n * @param {string} e100k - First letter (E) of 100km grid square.\n * @param {string} n100k - Second letter (N) of 100km grid square.\n * @param {number} easting - Easting in metres within 100km grid square.\n * @param {number} northing - Northing in metres within 100km grid square.\n * @param {LatLon.datum} [datum=WGS84] - Datum UTM coordinate is based on.\n * @throws {Error} Invalid MGRS grid reference.\n *\n * @example\n * var mgrsRef = new Mgrs(31, 'U', 'D', 'Q', 48251, 11932); // 31U DQ 48251 11932\n */\nfunction Mgrs(zone, band, e100k, n100k, easting, northing, datum) {\n // allow instantiation without 'new'\n if (!(this instanceof Mgrs)) return new Mgrs(zone, band, e100k, n100k, easting, northing, datum);\n\n if (datum === undefined) datum = LatLon.datum.WGS84; // default if not supplied\n\n if (!(1<=zone && zone<=60)) throw new Error('Invalid MGRS grid reference (zone ‘'+zone+'’)');\n if (band.length != 1) throw new Error('Invalid MGRS grid reference (band ‘'+band+'’)');\n if (Mgrs.latBands.indexOf(band) == -1) throw new Error('Invalid MGRS grid reference (band ‘'+band+'’)');\n if (e100k.length!=1) throw new Error('Invalid MGRS grid reference (e100k ‘'+e100k+'’)');\n if (n100k.length!=1) throw new Error('Invalid MGRS grid reference (n100k ‘'+n100k+'’)');\n\n this.zone = Number(zone);\n this.band = band;\n this.e100k = e100k;\n this.n100k = n100k;\n this.easting = Number(easting);\n this.northing = Number(northing);\n this.datum = datum;\n}\n\n\n/**\n * Converts UTM coordinate to MGRS reference.\n *\n * @returns {Mgrs}\n * @throws {Error} Invalid UTM coordinate.\n *\n * @example\n * var utmCoord = new Utm(31, 'N', 448251, 5411932);\n * var mgrsRef = utmCoord.toMgrs(); // 31U DQ 48251 11932\n */\nUtm.prototype.toMgrs = function() {\n if (isNaN(this.zone + this.easting + this.northing)) throw new Error('Invalid UTM coordinate ‘'+this.toString()+'’');\n\n // MGRS zone is same as UTM zone\n var zone = this.zone;\n\n // convert UTM to lat/long to get latitude to determine band\n var latlong = this.toLatLonE();\n // grid zones are 8° tall, 0°N is 10th band\n var band = Mgrs.latBands.charAt(Math.floor(latlong.lat/8+10)); // latitude band\n\n // columns in zone 1 are A-H, zone 2 J-R, zone 3 S-Z, then repeating every 3rd zone\n var col = Math.floor(this.easting / 100e3);\n var e100k = Mgrs.e100kLetters[(zone-1)%3].charAt(col-1); // col-1 since 1*100e3 -> A (index 0), 2*100e3 -> B (index 1), etc.\n\n // rows in even zones are A-V, in odd zones are F-E\n var row = Math.floor(this.northing / 100e3) % 20;\n var n100k = Mgrs.n100kLetters[(zone-1)%2].charAt(row);\n\n // truncate easting/northing to within 100km grid square\n var easting = this.easting % 100e3;\n var northing = this.northing % 100e3;\n\n // round to nm precision\n easting = Number(easting.toFixed(6));\n northing = Number(northing.toFixed(6));\n\n return new Mgrs(zone, band, e100k, n100k, easting, northing);\n};\n\n\n/**\n * Converts MGRS grid reference to UTM coordinate.\n *\n * @returns {Utm}\n *\n * @example\n * var utmCoord = Mgrs.parse('31U DQ 448251 11932').toUtm(); // 31 N 448251 5411932\n */\nMgrs.prototype.toUtm = function() {\n var zone = this.zone;\n var band = this.band;\n var e100k = this.e100k;\n var n100k = this.n100k;\n var easting = this.easting;\n var northing = this.northing;\n\n var hemisphere = band>='N' ? 'N' : 'S';\n\n // get easting specified by e100k\n var col = Mgrs.e100kLetters[(zone-1)%3].indexOf(e100k) + 1; // index+1 since A (index 0) -> 1*100e3, B (index 1) -> 2*100e3, etc.\n var e100kNum = col * 100e3; // e100k in metres\n\n // get northing specified by n100k\n var row = Mgrs.n100kLetters[(zone-1)%2].indexOf(n100k);\n var n100kNum = row * 100e3; // n100k in metres\n\n // get latitude of (bottom of) band\n var latBand = (Mgrs.latBands.indexOf(band)-10)*8;\n\n // northing of bottom of band, extended to include entirety of bottommost 100km square\n // (100km square boundaries are aligned with 100km UTM northing intervals)\n var nBand = Math.floor(new LatLon(latBand, 0).toUtm().northing/100e3)*100e3;\n // 100km grid square row letters repeat every 2,000km north; add enough 2,000km blocks to get\n // into required band\n var n2M = 0; // northing of 2,000km block\n while (n2M + n100kNum + northing < nBand) n2M += 2000e3;\n\n return new Utm(zone, hemisphere, e100kNum+easting, n2M+n100kNum+northing, this.datum);\n};\n\n\n/**\n * Parses string representation of MGRS grid reference.\n *\n * An MGRS grid reference comprises (space-separated)\n * - grid zone designator (GZD)\n * - 100km grid square letter-pair\n * - easting\n * - northing.\n *\n * @param {string} mgrsGridRef - String representation of MGRS grid reference.\n * @returns {Mgrs} Mgrs grid reference object.\n * @throws {Error} Invalid MGRS grid reference.\n *\n * @example\n * var mgrsRef = Mgrs.parse('31U DQ 48251 11932');\n * var mgrsRef = Mgrs.parse('31UDQ4825111932');\n * // mgrsRef: { zone:31, band:'U', e100k:'D', n100k:'Q', easting:48251, northing:11932 }\n */\nMgrs.parse = function(mgrsGridRef) {\n mgrsGridRef = mgrsGridRef.trim();\n\n // check for military-style grid reference with no separators\n if (!mgrsGridRef.match(/\\s/)) {\n var en = mgrsGridRef.slice(5); // get easting/northing following zone/band/100ksq\n en = en.slice(0, en.length/2)+' '+en.slice(-en.length/2); // separate easting/northing\n mgrsGridRef = mgrsGridRef.slice(0, 3)+' '+mgrsGridRef.slice(3, 5)+' '+en; // insert spaces\n }\n\n // match separate elements (separated by whitespace)\n mgrsGridRef = mgrsGridRef.match(/\\S+/g);\n\n if (mgrsGridRef==null || mgrsGridRef.length!=4) throw new Error('Invalid MGRS grid reference ‘'+mgrsGridRef+'’');\n\n // split gzd into zone/band\n var gzd = mgrsGridRef[0];\n var zone = gzd.slice(0, 2);\n var band = gzd.slice(2, 3);\n\n // split 100km letter-pair into e/n\n var en100k = mgrsGridRef[1];\n var e100k = en100k.slice(0, 1);\n var n100k = en100k.slice(1, 2);\n\n var e = mgrsGridRef[2], n = mgrsGridRef[3];\n\n // standardise to 10-digit refs - ie metres) (but only if < 10-digit refs, to allow decimals)\n e = e.length>=5 ? e : (e+'00000').slice(0, 5);\n n = n.length>=5 ? n : (n+'00000').slice(0, 5);\n\n return new Mgrs(zone, band, e100k, n100k, e, n);\n};\n\n\n/**\n * Returns a string representation of an MGRS grid reference.\n *\n * To distinguish from civilian UTM coordinate representations, no space is included within the\n * zone/band grid zone designator.\n *\n * Components are separated by spaces: for a military-style unseparated string, use\n * Mgrs.toString().replace(/ /g, '');\n *\n * Note that MGRS grid references get truncated, not rounded (unlike UTM coordinates).\n *\n * @param {number} [digits=10] - Precision of returned grid reference (eg 4 = km, 10 = m).\n * @returns {string} This grid reference in standard format.\n * @throws {Error} Invalid precision.\n *\n * @example\n * var mgrsStr = new Mgrs(31, 'U', 'D', 'Q', 48251, 11932).toString(); // '31U DQ 48251 11932'\n */\nMgrs.prototype.toString = function(digits) {\n digits = (digits === undefined) ? 10 : Number(digits);\n if ([ 2,4,6,8,10 ].indexOf(digits) == -1) throw new Error('Invalid precision ‘'+digits+'’');\n\n var zone = ('00'+this.zone).slice(-2); // ensure leading zero\n var band = this.band;\n\n var e100k = this.e100k;\n var n100k = this.n100k;\n\n // truncate to required precision\n var eRounded = Math.floor(this.easting/Math.pow(10, 5-digits/2));\n var nRounded = Math.floor(this.northing/Math.pow(10, 5-digits/2));\n\n // ensure leading zeros\n var easting = ('00000'+eRounded).slice(-digits/2);\n var northing = ('00000'+nRounded).slice(-digits/2);\n\n return zone+band + ' ' + e100k+n100k + ' ' + easting + ' ' + northing;\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = Mgrs; // ≡ export default Mgrs\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsRadio.vue?vue&type=style&index=0&id=4d68e839&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsRadio.vue?vue&type=style&index=0&id=4d68e839&lang=scss&scoped=true&\"","var random = require('geojson-random');\n\n/**\n * Generates random {@link GeoJSON} data, including {@link Point|Points} and {@link Polygon|Polygons}, for testing\n * and experimentation.\n *\n * @name random\n * @param {string} [type='point'] type of features desired: 'points' or 'polygons'\n * @param {number} [count=1] how many geometries should be generated.\n * @param {Object} options options relevant to the feature desired. Can include:\n * @param {Array} options.bbox a bounding box inside of which geometries\n * are placed. In the case of {@link Point} features, they are guaranteed to be within this bounds,\n * while {@link Polygon} features have their centroid within the bounds.\n * @param {number} [options.num_vertices=10] options.vertices the number of vertices added\n * to polygon features.\n * @param {Number} [options.max_radial_length=10] the total number of decimal\n * degrees longitude or latitude that a polygon can extent outwards to\n * from its center.\n * @returns {FeatureCollection} generated random features\n * @example\n * var points = turf.random('points', 100, {\n * bbox: [-70, 40, -60, 60]\n * });\n *\n * var polygons = turf.random('polygons', 4, {\n * bbox: [-70, 40, -60, 60]\n * });\n *\n * //addToMap\n * var addToMap = [points, polygons]\n */\nmodule.exports = function (type, count, options) {\n options = options || {};\n count = count || 1;\n switch (type) {\n case 'point':\n case 'points':\n case undefined:\n return random.point(count, options.bbox);\n case 'polygon':\n case 'polygons':\n return random.polygon(\n count,\n options.num_vertices,\n options.max_radial_length,\n options.bbox);\n default:\n throw new Error('Unknown type given: valid options are points and polygons');\n }\n};\n","/*!\n* @license GNU Affero General Public License.\n* Copyright (c) 2015, 2015 Ronny Lorenz \n* v. 1.2.0\n* https://github.com/RaumZeit/MarchingSquares.js\n*/\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function() { return { isoContours : factory() }; })\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = { isoContours : factory() };\n } else {\n // Browser globals (root is window)\n root.MarchingSquaresJS = {\n isoContours : factory(),\n isoBands : (root.MarchingSquaresJS) ? root.MarchingSquaresJS.isoBands : null\n };\n }\n}(this, function () {\n\n /*\n Compute the isocontour(s) of a scalar 2D field given\n a certain threshold by applying the Marching Squares\n Algorithm. The function returns a list of path coordinates\n */\n var defaultSettings = {\n successCallback: null,\n verbose: false\n };\n\n var settings = {};\n\n function isoContours(data, threshold, options){\n /* process options */\n options = options ? options : {};\n\n var optionKeys = Object.keys(defaultSettings);\n\n for(var i = 0; i < optionKeys.length; i++){\n var key = optionKeys[i];\n var val = options[key];\n val = ((typeof val !== 'undefined') && (val !== null)) ? val : defaultSettings[key];\n\n settings[key] = val;\n }\n\n if(settings.verbose)\n console.log(\"MarchingSquaresJS-isoContours: computing isocontour for \" + threshold);\n\n var ret = ContourGrid2Paths(computeContourGrid(data, threshold));\n\n if(typeof settings.successCallback === 'function')\n settings.successCallback(ret);\n\n return ret;\n }\n\n /*\n Thats all for the public interface, below follows the actual\n implementation\n */\n\n /*\n ################################\n Isocontour implementation below\n ################################\n */\n\n /* assume that x1 == 1 && x0 == 0 */\n function interpolateX(y, y0, y1){\n return (y - y0) / (y1 - y0);\n }\n\n /* compute the isocontour 4-bit grid */\n function computeContourGrid(data, threshold){\n var rows = data.length - 1;\n var cols = data[0].length - 1;\n var ContourGrid = { rows: rows, cols: cols, cells: [] };\n\n for(var j = 0; j < rows; ++j){\n ContourGrid.cells[j] = [];\n for(var i = 0; i < cols; ++i){\n /* compose the 4-bit corner representation */\n var cval = 0;\n\n var tl = data[j+1][i];\n var tr = data[j+1][i+1];\n var br = data[j][i+1];\n var bl = data[j][i];\n\n if(isNaN(tl) || isNaN(tr) || isNaN(br) || isNaN(bl)){\n continue;\n }\n cval |= ((tl >= threshold) ? 8 : 0);\n cval |= ((tr >= threshold) ? 4 : 0);\n cval |= ((br >= threshold) ? 2 : 0);\n cval |= ((bl >= threshold) ? 1 : 0);\n\n /* resolve ambiguity for cval == 5 || 10 via averaging */\n var flipped = false;\n if(cval === 5 || cval === 10){\n var average = (tl + tr + br + bl) / 4;\n if(cval === 5 && (average < threshold)){\n cval = 10;\n flipped = true;\n } else if(cval === 10 && (average < threshold)){\n cval = 5;\n flipped = true;\n }\n }\n\n /* add cell to ContourGrid if it contains edges */\n if(cval != 0 && cval != 15){\n var top, bottom, left, right;\n top = bottom = left = right = 0.5;\n /* interpolate edges of cell */\n if(cval === 1){\n left = 1 - interpolateX(threshold, tl, bl);\n bottom = 1 - interpolateX(threshold, br, bl);\n } else if(cval === 2){\n bottom = interpolateX(threshold, bl, br);\n right = 1 - interpolateX(threshold, tr, br);\n } else if(cval === 3){\n left = 1 - interpolateX(threshold, tl, bl);\n right = 1 - interpolateX(threshold, tr, br);\n } else if(cval === 4){\n top = interpolateX(threshold, tl, tr);\n right = interpolateX(threshold, br, tr);\n } else if(cval === 5){\n top = interpolateX(threshold, tl, tr);\n right = interpolateX(threshold, br, tr);\n bottom = 1 - interpolateX(threshold, br, bl);\n left = 1 - interpolateX(threshold, tl, bl);\n } else if(cval === 6){\n bottom = interpolateX(threshold, bl, br);\n top = interpolateX(threshold, tl, tr);\n } else if(cval === 7){\n left = 1 - interpolateX(threshold, tl, bl);\n top = interpolateX(threshold, tl, tr);\n } else if(cval === 8){\n left = interpolateX(threshold, bl, tl);\n top = 1 - interpolateX(threshold, tr, tl);\n } else if(cval === 9){\n bottom = 1 - interpolateX(threshold, br, bl);\n top = 1 - interpolateX(threshold, tr, tl);\n } else if(cval === 10){\n top = 1 - interpolateX(threshold, tr, tl);\n right = 1 - interpolateX(threshold, tr, br);\n bottom = interpolateX(threshold, bl, br);\n left = interpolateX(threshold, bl, tl);\n } else if(cval === 11){\n top = 1 - interpolateX(threshold, tr, tl);\n right = 1 - interpolateX(threshold, tr, br);\n } else if(cval === 12){\n left = interpolateX(threshold, bl, tl);\n right = interpolateX(threshold, br, tr);\n } else if(cval === 13){\n bottom = 1 - interpolateX(threshold, br, bl);\n right = interpolateX(threshold, br, tr);\n } else if(cval === 14){\n left = interpolateX(threshold, bl, tl);\n bottom = interpolateX(threshold, bl, br);\n } else {\n console.log(\"MarchingSquaresJS-isoContours: Illegal cval detected: \" + cval);\n }\n ContourGrid.cells[j][i] = {\n cval: cval,\n flipped: flipped,\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n }\n\n }\n }\n\n return ContourGrid;\n }\n\n function isSaddle(cell){\n return cell.cval === 5 || cell.cval === 10;\n }\n\n function isTrivial(cell){\n return cell.cval === 0 || cell.cval === 15;\n }\n\n function clearCell(cell){\n if((!isTrivial(cell)) && (cell.cval !== 5) && (cell.cval !== 10)){\n cell.cval = 15;\n }\n }\n\n function getXY(cell, edge){\n if(edge === \"top\"){\n return [cell.top, 1.0];\n } else if(edge === \"bottom\"){\n return [cell.bottom, 0.0];\n } else if(edge === \"right\"){\n return [1.0, cell.right];\n } else if(edge === \"left\"){\n return [0.0, cell.left];\n }\n }\n\n function ContourGrid2Paths(grid){\n var paths = [];\n var path_idx = 0;\n var rows = grid.rows;\n var cols = grid.cols;\n var epsilon = 1e-7;\n\n grid.cells.forEach(function(g, j){\n g.forEach(function(gg, i){\n if((typeof gg !== 'undefined') && (!isSaddle(gg)) && (!isTrivial(gg))){\n var p = tracePath(grid.cells, j, i);\n var merged = false;\n /* we may try to merge paths at this point */\n if(p.info === \"mergeable\"){\n /*\n search backwards through the path array to find an entry\n that starts with where the current path ends...\n */\n var x = p.path[p.path.length - 1][0],\n y = p.path[p.path.length - 1][1];\n\n for(var k = path_idx - 1; k >= 0; k--){\n if((Math.abs(paths[k][0][0] - x) <= epsilon) && (Math.abs(paths[k][0][1] - y) <= epsilon)){\n for(var l = p.path.length - 2; l >= 0; --l){\n paths[k].unshift(p.path[l]);\n }\n merged = true;\n break;\n }\n }\n }\n if(!merged)\n paths[path_idx++] = p.path;\n }\n });\n });\n\n return paths;\n }\n\n /*\n construct consecutive line segments from starting cell by\n walking arround the enclosed area clock-wise\n */\n function tracePath(grid, j, i){\n var maxj = grid.length;\n var p = [];\n var dxContour = [0, 0, 1, 1, 0, 0, 0, 0, -1, 0, 1, 1, -1, 0, -1, 0];\n var dyContour = [0, -1, 0, 0, 1, 1, 1, 1, 0, -1, 0, 0, 0, -1, 0, 0];\n var dx, dy;\n var startEdge = [\"none\", \"left\", \"bottom\", \"left\", \"right\", \"none\", \"bottom\", \"left\", \"top\", \"top\", \"none\", \"top\", \"right\", \"right\", \"bottom\", \"none\"];\n var nextEdge = [\"none\", \"bottom\", \"right\", \"right\", \"top\", \"top\", \"top\", \"top\", \"left\", \"bottom\", \"right\", \"right\", \"left\", \"bottom\", \"left\", \"none\"];\n var edge;\n\n var startCell = grid[j][i];\n var currentCell = grid[j][i];\n\n var cval = currentCell.cval;\n var edge = startEdge[cval];\n\n var pt = getXY(currentCell, edge);\n\n /* push initial segment */\n p.push([i + pt[0], j + pt[1]]);\n edge = nextEdge[cval];\n pt = getXY(currentCell, edge);\n p.push([i + pt[0], j + pt[1]]);\n clearCell(currentCell);\n\n /* now walk arround the enclosed area in clockwise-direction */\n var k = i + dxContour[cval];\n var l = j + dyContour[cval];\n var prev_cval = cval;\n\n while((k >= 0) && (l >= 0) && (l < maxj) && ((k != i) || (l != j))){\n currentCell = grid[l][k];\n if(typeof currentCell === 'undefined'){ /* path ends here */\n //console.log(k + \" \" + l + \" is undefined, stopping path!\");\n break;\n }\n cval = currentCell.cval;\n if((cval === 0) || (cval === 15)){\n return { path: p, info: \"mergeable\" };\n }\n edge = nextEdge[cval];\n dx = dxContour[cval];\n dy = dyContour[cval];\n if((cval === 5) || (cval === 10)){\n /* select upper or lower band, depending on previous cells cval */\n if(cval === 5){\n if(currentCell.flipped){ /* this is actually a flipped case 10 */\n if(dyContour[prev_cval] === -1){\n edge = \"left\";\n dx = -1;\n dy = 0;\n } else {\n edge = \"right\";\n dx = 1;\n dy = 0;\n }\n } else { /* real case 5 */\n if(dxContour[prev_cval] === -1){\n edge = \"bottom\";\n dx = 0;\n dy = -1;\n }\n }\n } else if(cval === 10){\n if(currentCell.flipped){ /* this is actually a flipped case 5 */\n if(dxContour[prev_cval] === -1){\n edge = \"top\";\n dx = 0;\n dy = 1;\n } else {\n edge = \"bottom\";\n dx = 0;\n dy = -1;\n }\n } else { /* real case 10 */\n if(dyContour[prev_cval] === 1){\n edge = \"left\";\n dx = -1;\n dy = 0;\n }\n }\n }\n }\n pt = getXY(currentCell, edge);\n p.push([k + pt[0], l + pt[1]]);\n clearCell(currentCell);\n k += dx;\n l += dy;\n prev_cval = cval;\n }\n\n return { path: p, info: \"closed\" };\n }\n\n return isoContours;\n\n}));\n","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./util'),\n orientationIndex = _require.orientationIndex;\n\nvar Node = function () {\n _createClass(Node, null, [{\n key: 'buildId',\n value: function buildId(coordinates) {\n return coordinates.join(',');\n }\n }]);\n\n function Node(coordinates) {\n _classCallCheck(this, Node);\n\n this.id = Node.buildId(coordinates);\n this.coordinates = coordinates; //< {Number[]}\n this.innerEdges = []; //< {Edge[]}\n\n // We wil store to (out) edges in an CCW order as geos::planargraph::DirectedEdgeStar does\n this.outerEdges = []; //< {Edge[]}\n this.outerEdgesSorted = false; //< {Boolean} flag that stores if the outer Edges had been sorted\n }\n\n _createClass(Node, [{\n key: 'removeInnerEdge',\n value: function removeInnerEdge(edge) {\n this.innerEdges = this.innerEdges.filter(function (e) {\n return e.from.id !== edge.from.id;\n });\n }\n }, {\n key: 'removeOuterEdge',\n value: function removeOuterEdge(edge) {\n this.outerEdges = this.outerEdges.filter(function (e) {\n return e.to.id !== edge.to.id;\n });\n }\n\n /** Outer edges are stored CCW order.\n * @param {Edge} edge - Edge to add as an outerEdge.\n */\n\n }, {\n key: 'addOuterEdge',\n value: function addOuterEdge(edge) {\n this.outerEdges.push(edge);\n this.outerEdgesSorted = false;\n }\n\n /** Sorts outer edges in CCW way.\n * @private\n */\n\n }, {\n key: 'sortOuterEdges',\n value: function sortOuterEdges() {\n var _this = this;\n\n if (!this.outerEdgesSorted) {\n //this.outerEdges.sort((a, b) => a.compareTo(b));\n // Using this comparator in order to be deterministic\n this.outerEdges.sort(function (a, b) {\n var aNode = a.to,\n bNode = b.to;\n\n if (aNode.coordinates[0] - _this.coordinates[0] >= 0 && bNode.coordinates[0] - _this.coordinates[0] < 0) return 1;\n if (aNode.coordinates[0] - _this.coordinates[0] < 0 && bNode.coordinates[0] - _this.coordinates[0] >= 0) return -1;\n\n if (aNode.coordinates[0] - _this.coordinates[0] === 0 && bNode.coordinates[0] - _this.coordinates[0] === 0) {\n if (aNode.coordinates[1] - _this.coordinates[1] >= 0 || bNode.coordinates[1] - _this.coordinates[1] >= 0) return aNode.coordinates[1] - bNode.coordinates[1];\n return bNode.coordinates[1] - aNode.coordinates[1];\n }\n\n var det = orientationIndex(_this.coordinates, aNode.coordinates, bNode.coordinates);\n if (det < 0) return 1;\n if (det > 0) return -1;\n\n var d1 = Math.pow(aNode.coordinates[0] - _this.coordinates[0], 2) + Math.pow(aNode.coordinates[1] - _this.coordinates[1], 2),\n d2 = Math.pow(bNode.coordinates[0] - _this.coordinates[0], 2) + Math.pow(bNode.coordinates[1] - _this.coordinates[1], 2);\n\n return d1 - d2;\n });\n this.outerEdgesSorted = true;\n }\n }\n\n /** Retrieves outer edges.\n * They are sorted if they aren't in the CCW order.\n * @returns {Edge[]} - List of outer edges sorted in a CCW order.\n */\n\n }, {\n key: 'getOuterEdges',\n value: function getOuterEdges() {\n this.sortOuterEdges();\n return this.outerEdges;\n }\n }, {\n key: 'getOuterEdge',\n value: function getOuterEdge(i) {\n this.sortOuterEdges();\n return this.outerEdges[i];\n }\n }, {\n key: 'addInnerEdge',\n value: function addInnerEdge(edge) {\n this.innerEdges.push(edge);\n }\n }]);\n\n return Node;\n}();\n\nmodule.exports = Node;","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentClassLegend.vue?vue&type=style&index=0&id=624cdb68&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentClassLegend.vue?vue&type=style&index=0&id=624cdb68&lang=scss&scoped=true&\"","var coordEach = require('@turf/meta').coordEach;\n\n/**\n * Takes input features and flips all of their coordinates from `[x, y]` to `[y, x]`.\n *\n * @name flip\n * @param {FeatureCollection|Feature} geojson input features\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {FeatureCollection|Feature} a feature or set of features of the same type as `input` with flipped coordinates\n * @example\n * var serbia = turf.point([20.566406, 43.421008]);\n *\n * var saudiArabia = turf.flip(serbia);\n *\n * //addToMap\n * var addToMap = [serbia, saudiArabia];\n */\nmodule.exports = function (geojson, mutate) {\n if (!geojson) throw new Error('geojson is required');\n // ensure that we don't modify features in-place and changes to the\n // output do not change the previous feature, including changes to nested\n // properties.\n if (mutate === false || mutate === undefined) geojson = JSON.parse(JSON.stringify(geojson));\n\n coordEach(geojson, function (coord) {\n var x = coord[0];\n var y = coord[1];\n coord[0] = y;\n coord[1] = x;\n });\n return geojson;\n};\n","var d3 = require('d3-geo');\nvar jsts = require('jsts');\nvar meta = require('@turf/meta');\nvar center = require('@turf/center');\nvar helpers = require('@turf/helpers');\nvar turfBbox = require('@turf/bbox');\nvar projection = require('@turf/projection');\nvar toWgs84 = projection.toWgs84;\nvar feature = helpers.feature;\nvar geomEach = meta.geomEach;\nvar toMercator = projection.toMercator;\nvar featureEach = meta.featureEach;\nvar featureCollection = helpers.featureCollection;\nvar radiansToDistance = helpers.radiansToDistance;\nvar distanceToRadians = helpers.distanceToRadians;\n\n/**\n * Calculates a buffer for input features for a given radius. Units supported are miles, kilometers, and degrees.\n *\n * When using a negative radius, the resulting geometry may be invalid if\n * it's too small compared to the radius magnitude. If the input is a\n * FeatureCollection, only valid members will be returned in the output\n * FeatureCollection - i.e., the output collection may have fewer members than\n * the input, or even be empty.\n *\n * @name buffer\n * @param {FeatureCollection|Geometry|Feature} geojson input to be buffered\n * @param {number} radius distance to draw the buffer (negative values are allowed)\n * @param {string} [units=kilometers] any of the options supported by turf units\n * @param {number} [steps=64] number of steps\n * @returns {FeatureCollection|Feature|undefined} buffered features\n * @example\n * var point = turf.point([-90.548630, 14.616599]);\n * var buffered = turf.buffer(point, 500, 'miles');\n *\n * //addToMap\n * var addToMap = [point, buffered]\n */\nmodule.exports = function (geojson, radius, units, steps) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n // Allow negative buffers (\"erosion\") or zero-sized buffers (\"repair geometry\")\n if (radius === undefined) throw new Error('radius is required');\n if (steps <= 0) throw new Error('steps must be greater than 0');\n\n // default params\n steps = steps || 64;\n units = units || 'kilometers';\n\n var results = [];\n switch (geojson.type) {\n case 'GeometryCollection':\n geomEach(geojson, function (geometry) {\n var buffered = buffer(geometry, radius, units, steps);\n if (buffered) results.push(buffered);\n });\n return featureCollection(results);\n case 'FeatureCollection':\n featureEach(geojson, function (feature) {\n var multiBuffered = buffer(feature, radius, units, steps);\n if (multiBuffered) {\n featureEach(multiBuffered, function (buffered) {\n if (buffered) results.push(buffered);\n });\n }\n });\n return featureCollection(results);\n }\n return buffer(geojson, radius, units, steps);\n};\n\n/**\n * Buffer single Feature/Geometry\n *\n * @private\n * @param {Feature} geojson input to be buffered\n * @param {number} radius distance to draw the buffer\n * @param {string} [units='kilometers'] any of the options supported by turf units\n * @param {number} [steps=64] number of steps\n * @returns {Feature} buffered feature\n */\nfunction buffer(geojson, radius, units, steps) {\n var properties = geojson.properties || {};\n var geometry = (geojson.type === 'Feature') ? geojson.geometry : geojson;\n\n // Geometry Types faster than jsts\n if (geometry.type === 'GeometryCollection') {\n var results = [];\n geomEach(geojson, function (geometry) {\n var buffered = buffer(geometry, radius, units, steps);\n if (buffered) results.push(buffered);\n });\n return featureCollection(results);\n }\n\n // Project GeoJSON to Transverse Mercator projection (convert to Meters)\n var projected;\n var bbox = turfBbox(geojson);\n var needsTransverseMercator = bbox[1] > 50 && bbox[3] > 50;\n\n if (needsTransverseMercator) {\n var projection = defineProjection(geometry);\n projected = {\n type: geometry.type,\n coordinates: projectCoords(geometry.coordinates, projection)\n };\n } else {\n projected = toMercator(geometry);\n }\n\n // JSTS buffer operation\n var reader = new jsts.io.GeoJSONReader();\n var geom = reader.read(projected);\n var distance = radiansToDistance(distanceToRadians(radius, units), 'meters');\n var buffered = geom.buffer(distance);\n var writer = new jsts.io.GeoJSONWriter();\n buffered = writer.write(buffered);\n\n // Detect if empty geometries\n if (coordsIsNaN(buffered.coordinates)) return undefined;\n\n // Unproject coordinates (convert to Degrees)\n var result;\n if (needsTransverseMercator) {\n result = {\n type: buffered.type,\n coordinates: unprojectCoords(buffered.coordinates, projection)\n };\n } else {\n result = toWgs84(buffered);\n }\n\n return (result.geometry) ? result : feature(result, properties);\n}\n\n/**\n * Coordinates isNaN\n *\n * @private\n * @param {Array} coords GeoJSON Coordinates\n * @returns {Boolean} if NaN exists\n */\nfunction coordsIsNaN(coords) {\n if (Array.isArray(coords[0])) return coordsIsNaN(coords[0]);\n return isNaN(coords[0]);\n}\n\n/**\n * Project coordinates to projection\n *\n * @private\n * @param {Array} coords to project\n * @param {GeoProjection} projection D3 Geo Projection\n * @returns {Array} projected coordinates\n */\nfunction projectCoords(coords, projection) {\n if (typeof coords[0] !== 'object') return projection(coords);\n return coords.map(function (coord) {\n return projectCoords(coord, projection);\n });\n}\n\n/**\n * Un-Project coordinates to projection\n *\n * @private\n * @param {Array} coords to un-project\n * @param {GeoProjection} projection D3 Geo Projection\n * @returns {Array} un-projected coordinates\n */\nfunction unprojectCoords(coords, projection) {\n if (typeof coords[0] !== 'object') return projection.invert(coords);\n return coords.map(function (coord) {\n return unprojectCoords(coord, projection);\n });\n}\n\n/**\n * Define Transverse Mercator projection\n *\n * @private\n * @param {Geometry|Feature} geojson Base projection on center of GeoJSON\n * @returns {GeoProjection} D3 Geo Transverse Mercator Projection\n */\nfunction defineProjection(geojson) {\n var coords = center(geojson).geometry.coordinates.reverse();\n var rotate = coords.map(function (coord) { return -coord; });\n var projection = d3.geoTransverseMercator()\n .center(coords)\n .rotate(rotate)\n .scale(6373000);\n\n return projection;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('IxVectorLayer',{attrs:{\"features\":_vm.features,\"vector-style\":_vm.vectorStyle,\"z-index\":1,\"layer-id\":\"zoneMaps\",\"auto-focus\":\"\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapsLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapsLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapsLayer.vue?vue&type=template&id=646353ae&scoped=true&lang=html&\"\nimport script from \"./ZoneMapsLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapsLayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"646353ae\",\n null\n \n)\n\nexport default component.exports","var invariant = require('@turf/invariant');\nvar getCoord = invariant.getCoord;\nvar getGeom = invariant.getGeom;\n\n/**\n * Takes a triangular plane as a {@link Polygon}\n * and a {@link Point} within that triangle and returns the z-value\n * at that point. The Polygon should have properties `a`, `b`, and `c`\n * that define the values at its three corners. Alternatively, the z-values\n * of each triangle point can be provided by their respective 3rd coordinate\n * if their values are not provided as properties.\n *\n * @name planepoint\n * @param {Geometry|Feature|Array} point the Point for which a z-value will be calculated\n * @param {Geometry|Feature} triangle a Polygon feature with three vertices\n * @returns {number} the z-value for `interpolatedPoint`\n * @example\n * var point = turf.point([-75.3221, 39.529]);\n * // \"a\", \"b\", and \"c\" values represent the values of the coordinates in order.\n * var triangle = turf.polygon([[\n * [-75.1221, 39.57],\n * [-75.58, 39.18],\n * [-75.97, 39.86],\n * [-75.1221, 39.57]\n * ]], {\n * \"a\": 11,\n * \"b\": 122,\n * \"c\": 44\n * });\n *\n * var zValue = turf.planepoint(point, triangle);\n * point.properties.zValue = zValue;\n *\n * //addToMap\n * var addToMap = [triangle, point];\n */\nmodule.exports = function (point, triangle) {\n // Normalize input\n var coord = getCoord(point);\n var geom = getGeom(triangle);\n var coords = geom.coordinates;\n var outer = coords[0];\n if (outer.length < 4) throw new Error('OuterRing of a Polygon must have 4 or more Positions.');\n var properties = triangle.properties || {};\n var a = properties.a;\n var b = properties.b;\n var c = properties.c;\n\n // Planepoint\n var x = coord[0];\n var y = coord[1];\n var x1 = outer[0][0];\n var y1 = outer[0][1];\n var z1 = (a !== undefined ? a : outer[0][2]);\n var x2 = outer[1][0];\n var y2 = outer[1][1];\n var z2 = (b !== undefined ? b : outer[1][2]);\n var x3 = outer[2][0];\n var y3 = outer[2][1];\n var z3 = (c !== undefined ? c : outer[2][2]);\n var z = (z3 * (x - x1) * (y - y2) + z1 * (x - x2) * (y - y3) + z2 * (x - x3) * (y - y1) -\n z2 * (x - x1) * (y - y3) - z3 * (x - x2) * (y - y1) - z1 * (x - x3) * (y - y2)) /\n ((x - x1) * (y - y2) + (x - x2) * (y - y3) + (x - x3) * (y - y1) -\n (x - x1) * (y - y3) - (x - x2) * (y - y1) - (x - x3) * (y - y2));\n\n return z;\n};\n","\"use strict\"\n\nvar convexHull1d = require('./lib/ch1d')\nvar convexHull2d = require('./lib/ch2d')\nvar convexHullnd = require('./lib/chnd')\n\nmodule.exports = convexHull\n\nfunction convexHull(points) {\n var n = points.length\n if(n === 0) {\n return []\n } else if(n === 1) {\n return [[0]]\n }\n var d = points[0].length\n if(d === 0) {\n return []\n } else if(d === 1) {\n return convexHull1d(points)\n } else if(d === 2) {\n return convexHull2d(points)\n }\n return convexHullnd(points, d)\n}","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('line', {\n\tshowLines: true,\n\tspanGaps: false,\n\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\tid: 'x-axis-0'\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tfunction lineEnabled(dataset, options) {\n\t\treturn helpers.valueOrDefault(dataset.showLine, options.showLines);\n\t}\n\n\tChart.controllers.line = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: elements.Line,\n\n\t\tdataElementType: elements.Point,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data || [];\n\t\t\tvar options = me.chart.options;\n\t\t\tvar lineElementOptions = options.elements.line;\n\t\t\tvar scale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar i, ilen, custom;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar showLine = lineEnabled(dataset, options);\n\n\t\t\t// Update Line\n\t\t\tif (showLine) {\n\t\t\t\tcustom = line.custom || {};\n\n\t\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\n\t\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t\t}\n\n\t\t\t\t// Utility\n\t\t\t\tline._scale = scale;\n\t\t\t\tline._datasetIndex = me.index;\n\t\t\t\t// Data\n\t\t\t\tline._children = points;\n\t\t\t\t// Model\n\t\t\t\tline._model = {\n\t\t\t\t\t// Appearance\n\t\t\t\t\t// The default behavior of lines is to break at null values, according\n\t\t\t\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n\t\t\t\t\t// This option gives lines the ability to span gaps\n\t\t\t\t\tspanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tsteppedLine: custom.steppedLine ? custom.steppedLine : helpers.valueOrDefault(dataset.steppedLine, lineElementOptions.stepped),\n\t\t\t\t\tcubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.valueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),\n\t\t\t\t};\n\n\t\t\t\tline.pivot();\n\t\t\t}\n\n\t\t\t// Update Points\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tme.updateElement(points[i], i, reset);\n\t\t\t}\n\n\t\t\tif (showLine && line._model.tension !== 0) {\n\t\t\t\tme.updateBezierControlPoints();\n\t\t\t}\n\n\t\t\t// Now pivot the point for animation\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tpoints[i].pivot();\n\t\t\t}\n\t\t},\n\n\t\tgetPointBackgroundColor: function(point, index) {\n\t\t\tvar backgroundColor = this.chart.options.elements.point.backgroundColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.backgroundColor) {\n\t\t\t\tbackgroundColor = custom.backgroundColor;\n\t\t\t} else if (dataset.pointBackgroundColor) {\n\t\t\t\tbackgroundColor = helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);\n\t\t\t} else if (dataset.backgroundColor) {\n\t\t\t\tbackgroundColor = dataset.backgroundColor;\n\t\t\t}\n\n\t\t\treturn backgroundColor;\n\t\t},\n\n\t\tgetPointBorderColor: function(point, index) {\n\t\t\tvar borderColor = this.chart.options.elements.point.borderColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.borderColor) {\n\t\t\t\tborderColor = custom.borderColor;\n\t\t\t} else if (dataset.pointBorderColor) {\n\t\t\t\tborderColor = helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);\n\t\t\t} else if (dataset.borderColor) {\n\t\t\t\tborderColor = dataset.borderColor;\n\t\t\t}\n\n\t\t\treturn borderColor;\n\t\t},\n\n\t\tgetPointBorderWidth: function(point, index) {\n\t\t\tvar borderWidth = this.chart.options.elements.point.borderWidth;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (!isNaN(custom.borderWidth)) {\n\t\t\t\tborderWidth = custom.borderWidth;\n\t\t\t} else if (!isNaN(dataset.pointBorderWidth) || helpers.isArray(dataset.pointBorderWidth)) {\n\t\t\t\tborderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);\n\t\t\t} else if (!isNaN(dataset.borderWidth)) {\n\t\t\t\tborderWidth = dataset.borderWidth;\n\t\t\t}\n\n\t\t\treturn borderWidth;\n\t\t},\n\n\t\tgetPointRotation: function(point, index) {\n\t\t\tvar pointRotation = this.chart.options.elements.point.rotation;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (!isNaN(custom.rotation)) {\n\t\t\t\tpointRotation = custom.rotation;\n\t\t\t} else if (!isNaN(dataset.pointRotation) || helpers.isArray(dataset.pointRotation)) {\n\t\t\t\tpointRotation = helpers.valueAtIndexOrDefault(dataset.pointRotation, index, pointRotation);\n\t\t\t}\n\t\t\treturn pointRotation;\n\t\t},\n\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar datasetIndex = me.index;\n\t\t\tvar value = dataset.data[index];\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar pointOptions = me.chart.options.elements.point;\n\t\t\tvar x, y;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\n\t\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n\t\t\t// Utility\n\t\t\tpoint._xScale = xScale;\n\t\t\tpoint._yScale = yScale;\n\t\t\tpoint._datasetIndex = datasetIndex;\n\t\t\tpoint._index = index;\n\n\t\t\t// Desired view properties\n\t\t\tpoint._model = {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t\t// Appearance\n\t\t\t\tradius: custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),\n\t\t\t\tpointStyle: custom.pointStyle || helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),\n\t\t\t\trotation: me.getPointRotation(point, index),\n\t\t\t\tbackgroundColor: me.getPointBackgroundColor(point, index),\n\t\t\t\tborderColor: me.getPointBorderColor(point, index),\n\t\t\t\tborderWidth: me.getPointBorderWidth(point, index),\n\t\t\t\ttension: meta.dataset._model ? meta.dataset._model.tension : 0,\n\t\t\t\tsteppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,\n\t\t\t\t// Tooltip\n\t\t\t\thitRadius: custom.hitRadius || helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)\n\t\t\t};\n\t\t},\n\n\t\tcalculatePointY: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar sumPos = 0;\n\t\t\tvar sumNeg = 0;\n\t\t\tvar i, ds, dsMeta;\n\n\t\t\tif (yScale.options.stacked) {\n\t\t\t\tfor (i = 0; i < datasetIndex; i++) {\n\t\t\t\t\tds = chart.data.datasets[i];\n\t\t\t\t\tdsMeta = chart.getDatasetMeta(i);\n\t\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id && chart.isDatasetVisible(i)) {\n\t\t\t\t\t\tvar stackedRightValue = Number(yScale.getRightValue(ds.data[index]));\n\t\t\t\t\t\tif (stackedRightValue < 0) {\n\t\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsumPos += stackedRightValue || 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar rightValue = Number(yScale.getRightValue(value));\n\t\t\t\tif (rightValue < 0) {\n\t\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\n\t\t\t\t}\n\t\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\n\t\t\t}\n\n\t\t\treturn yScale.getPixelForValue(value);\n\t\t},\n\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar area = me.chart.chartArea;\n\t\t\tvar points = (meta.data || []);\n\t\t\tvar i, ilen, point, model, controlPoints;\n\n\t\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\t\tif (meta.dataset._model.spanGaps) {\n\t\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\t\treturn !pt._model.skip;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tfunction capControlPoint(pt, min, max) {\n\t\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t\t}\n\n\t\t\tif (meta.dataset._model.cubicInterpolationMode === 'monotone') {\n\t\t\t\thelpers.splineCurveMonotone(points);\n\t\t\t} else {\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\t\tpoint = points[i];\n\t\t\t\t\tmodel = point._model;\n\t\t\t\t\tcontrolPoints = helpers.splineCurve(\n\t\t\t\t\t\thelpers.previousItem(points, i)._model,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\thelpers.nextItem(points, i)._model,\n\t\t\t\t\t\tmeta.dataset._model.tension\n\t\t\t\t\t);\n\t\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\n\t\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\n\t\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\n\t\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.chart.options.elements.line.capBezierPoints) {\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\t\tmodel = points[i]._model;\n\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data || [];\n\t\t\tvar area = chart.chartArea;\n\t\t\tvar ilen = points.length;\n\t\t\tvar halfBorderWidth;\n\t\t\tvar i = 0;\n\n\t\t\tif (lineEnabled(me.getDataset(), chart.options)) {\n\t\t\t\thalfBorderWidth = (meta.dataset._model.borderWidth || 0) / 2;\n\n\t\t\t\thelpers.canvas.clipArea(chart.ctx, {\n\t\t\t\t\tleft: area.left,\n\t\t\t\t\tright: area.right,\n\t\t\t\t\ttop: area.top - halfBorderWidth,\n\t\t\t\t\tbottom: area.bottom + halfBorderWidth\n\t\t\t\t});\n\n\t\t\t\tmeta.dataset.draw();\n\n\t\t\t\thelpers.canvas.unclipArea(chart.ctx);\n\t\t\t}\n\n\t\t\t// Draw the points\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\tpoints[i].draw(area);\n\t\t\t}\n\t\t},\n\n\t\tsetHoverStyle: function(element) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\t\tvar index = element._index;\n\t\t\tvar custom = element.custom || {};\n\t\t\tvar model = element._model;\n\n\t\t\telement.$previousStyle = {\n\t\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\t\tborderColor: model.borderColor,\n\t\t\t\tborderWidth: model.borderWidth,\n\t\t\t\tradius: model.radius\n\t\t\t};\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t\tmodel.radius = custom.hoverRadius || helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t},\n\t});\n};\n","//http://en.wikipedia.org/wiki/Delaunay_triangulation\n//https://github.com/ironwallaby/delaunay\nvar helpers = require('@turf/helpers');\nvar polygon = helpers.polygon;\nvar featurecollection = helpers.featureCollection;\n\n/**\n * Takes a set of {@link Point|points} and creates a\n * [Triangulated Irregular Network](http://en.wikipedia.org/wiki/Triangulated_irregular_network),\n * or a TIN for short, returned as a collection of Polygons. These are often used\n * for developing elevation contour maps or stepped heat visualizations.\n *\n * If an optional z-value property is provided then it is added as properties called `a`, `b`,\n * and `c` representing its value at each of the points that represent the corners of the\n * triangle.\n *\n * @name tin\n * @param {FeatureCollection} points input points\n * @param {String} [z] name of the property from which to pull z values\n * This is optional: if not given, then there will be no extra data added to the derived triangles.\n * @returns {FeatureCollection} TIN output\n * @example\n * // generate some random point data\n * var points = turf.random('points', 30, {\n * bbox: [50, 30, 70, 50]\n * });\n * // add a random property to each point between 0 and 9\n * for (var i = 0; i < points.features.length; i++) {\n * points.features[i].properties.z = ~~(Math.random() * 9);\n * }\n * var tin = turf.tin(points, 'z');\n *\n * //addToMap\n * var addToMap = [tin, points]\n * for (var i = 0; i < tin.features.length; i++) {\n * var properties = tin.features[i].properties;\n * properties.fill = '#' + properties.a + properties.b + properties.c;\n * }\n */\nmodule.exports = function (points, z) {\n if (points.type !== 'FeatureCollection') throw new Error('points must be a FeatureCollection');\n //break down points\n var isPointZ = false;\n return featurecollection(triangulate(points.features.map(function (p) {\n var point = {\n x: p.geometry.coordinates[0],\n y: p.geometry.coordinates[1]\n };\n if (z) {\n point.z = p.properties[z];\n } else if (p.geometry.coordinates.length === 3) {\n isPointZ = true;\n point.z = p.geometry.coordinates[2];\n }\n return point;\n })).map(function (triangle) {\n\n var a = [triangle.a.x, triangle.a.y];\n var b = [triangle.b.x, triangle.b.y];\n var c = [triangle.c.x, triangle.c.y];\n var properties = {};\n\n // Add z coordinates to triangle points if user passed\n // them in that way otherwise add it as a property.\n if (isPointZ) {\n a.push(triangle.a.z);\n b.push(triangle.b.z);\n c.push(triangle.c.z);\n } else {\n properties = {\n a: triangle.a.z,\n b: triangle.b.z,\n c: triangle.c.z\n };\n }\n\n return polygon([[a, b, c, a]], properties);\n\n }));\n};\n\nfunction Triangle(a, b, c) {\n this.a = a;\n this.b = b;\n this.c = c;\n\n var A = b.x - a.x,\n B = b.y - a.y,\n C = c.x - a.x,\n D = c.y - a.y,\n E = A * (a.x + b.x) + B * (a.y + b.y),\n F = C * (a.x + c.x) + D * (a.y + c.y),\n G = 2 * (A * (c.y - b.y) - B * (c.x - b.x)),\n dx, dy;\n\n // If the points of the triangle are collinear, then just find the\n // extremes and use the midpoint as the center of the circumcircle.\n this.x = (D * E - B * F) / G;\n this.y = (A * F - C * E) / G;\n dx = this.x - a.x;\n dy = this.y - a.y;\n this.r = dx * dx + dy * dy;\n}\n\nfunction byX(a, b) {\n return b.x - a.x;\n}\n\nfunction dedup(edges) {\n var j = edges.length,\n a, b, i, m, n;\n\n outer:\n while (j) {\n b = edges[--j];\n a = edges[--j];\n i = j;\n while (i) {\n n = edges[--i];\n m = edges[--i];\n if ((a === m && b === n) || (a === n && b === m)) {\n edges.splice(j, 2);\n edges.splice(i, 2);\n j -= 2;\n continue outer;\n }\n }\n }\n}\n\nfunction triangulate(vertices) {\n // Bail if there aren't enough vertices to form any triangles.\n if (vertices.length < 3)\n return [];\n\n // Ensure the vertex array is in order of descending X coordinate\n // (which is needed to ensure a subquadratic runtime), and then find\n // the bounding box around the points.\n vertices.sort(byX);\n\n var i = vertices.length - 1,\n xmin = vertices[i].x,\n xmax = vertices[0].x,\n ymin = vertices[i].y,\n ymax = ymin,\n epsilon = 1e-12;\n\n var a,\n b,\n c,\n A,\n B,\n G;\n\n while (i--) {\n if (vertices[i].y < ymin)\n ymin = vertices[i].y;\n if (vertices[i].y > ymax)\n ymax = vertices[i].y;\n }\n\n //Find a supertriangle, which is a triangle that surrounds all the\n //vertices. This is used like something of a sentinel value to remove\n //cases in the main algorithm, and is removed before we return any\n // results.\n\n // Once found, put it in the \"open\" list. (The \"open\" list is for\n // triangles who may still need to be considered; the \"closed\" list is\n // for triangles which do not.)\n var dx = xmax - xmin,\n dy = ymax - ymin,\n dmax = (dx > dy) ? dx : dy,\n xmid = (xmax + xmin) * 0.5,\n ymid = (ymax + ymin) * 0.5,\n open = [\n new Triangle({\n x: xmid - 20 * dmax,\n y: ymid - dmax,\n __sentinel: true\n }, {\n x: xmid,\n y: ymid + 20 * dmax,\n __sentinel: true\n }, {\n x: xmid + 20 * dmax,\n y: ymid - dmax,\n __sentinel: true\n }\n )],\n closed = [],\n edges = [],\n j;\n\n // Incrementally add each vertex to the mesh.\n i = vertices.length;\n while (i--) {\n // For each open triangle, check to see if the current point is\n // inside it's circumcircle. If it is, remove the triangle and add\n // it's edges to an edge list.\n edges.length = 0;\n j = open.length;\n while (j--) {\n // If this point is to the right of this triangle's circumcircle,\n // then this triangle should never get checked again. Remove it\n // from the open list, add it to the closed list, and skip.\n dx = vertices[i].x - open[j].x;\n if (dx > 0 && dx * dx > open[j].r) {\n closed.push(open[j]);\n open.splice(j, 1);\n continue;\n }\n\n // If not, skip this triangle.\n dy = vertices[i].y - open[j].y;\n if (dx * dx + dy * dy > open[j].r)\n continue;\n\n // Remove the triangle and add it's edges to the edge list.\n edges.push(\n open[j].a, open[j].b,\n open[j].b, open[j].c,\n open[j].c, open[j].a\n );\n open.splice(j, 1);\n }\n\n // Remove any doubled edges.\n dedup(edges);\n\n // Add a new triangle for each edge.\n j = edges.length;\n while (j) {\n b = edges[--j];\n a = edges[--j];\n c = vertices[i];\n // Avoid adding colinear triangles (which have error-prone\n // circumcircles)\n A = b.x - a.x;\n B = b.y - a.y;\n G = 2 * (A * (c.y - b.y) - B * (c.x - b.x));\n if (Math.abs(G) > epsilon) {\n open.push(new Triangle(a, b, c));\n }\n }\n }\n\n // Copy any remaining open triangles to the closed list, and then\n // remove any triangles that share a vertex with the supertriangle.\n Array.prototype.push.apply(closed, open);\n\n i = closed.length;\n while (i--)\n if (closed[i].a.__sentinel ||\n closed[i].b.__sentinel ||\n closed[i].c.__sentinel)\n closed.splice(i, 1);\n\n return closed;\n}\n","var meta = require('@turf/meta');\nvar clone = require('@turf/clone');\nvar center = require('@turf/center');\nvar helpers = require('@turf/helpers');\nvar centroid = require('@turf/centroid');\nvar turfBBox = require('@turf/bbox');\nvar invariant = require('@turf/invariant');\nvar rhumbBearing = require('@turf/rhumb-bearing');\nvar rhumbDistance = require('@turf/rhumb-distance');\nvar rhumbDestination = require('@turf/rhumb-destination');\nvar point = helpers.point;\nvar coordEach = meta.coordEach;\nvar featureEach = meta.featureEach;\nvar getCoord = invariant.getCoord;\nvar getCoords = invariant.getCoords;\nvar getGeomType = invariant.getGeomType;\n\n\n/**\n * Scale a GeoJSON from a given point by a factor of scaling (ex: factor=2 would make the GeoJSON 200% larger).\n * If a FeatureCollection is provided, the origin point will be calculated based on each individual Feature.\n *\n * @name transformScale\n * @param {GeoJSON} geojson GeoJSON to be scaled\n * @param {number} factor of scaling, positive or negative values greater than 0\n * @param {string|Geometry|Feature|Array} [origin=\"centroid\"] Point from which the scaling will occur (string options: sw/se/nw/ne/center/centroid)\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {GeoJSON} scaled GeoJSON\n * @example\n * var poly = turf.polygon([[[0,29],[3.5,29],[2.5,32],[0,29]]]);\n * var scaledPoly = turf.transformScale(poly, 3);\n *\n * //addToMap\n * var addToMap = [poly, scaledPoly];\n * scaledPoly.properties = {stroke: '#F00', 'stroke-width': 4};\n */\nmodule.exports = function (geojson, factor, origin, mutate) {\n // Input validation\n if (!geojson) throw new Error('geojson required');\n if (typeof factor !== 'number' || factor === 0) throw new Error('invalid factor');\n var originIsPoint = Array.isArray(origin) || typeof origin === 'object';\n\n // Clone geojson to avoid side effects\n if (mutate !== true) geojson = clone(geojson);\n\n // Scale each Feature separately\n if (geojson.type === 'FeatureCollection' && !originIsPoint) {\n featureEach(geojson, function (feature, index) {\n geojson.features[index] = scale(feature, factor, origin);\n });\n return geojson;\n }\n // Scale Feature/Geometry\n return scale(geojson, factor, origin);\n};\n\n/**\n * Scale Feature/Geometry\n *\n * @private\n * @param {Feature|Geometry} feature GeoJSON Feature/Geometry\n * @param {number} factor of scaling, positive or negative values greater than 0\n * @param {string|Geometry|Feature|Array} [origin=\"centroid\"] Point from which the scaling will occur (string options: sw/se/nw/ne/center/centroid)\n * @returns {Feature|Geometry} scaled GeoJSON Feature/Geometry\n */\nfunction scale(feature, factor, origin) {\n // Default params\n var isPoint = getGeomType(feature) === 'Point';\n origin = defineOrigin(feature, origin);\n\n // Shortcut no-scaling\n if (factor === 1 || isPoint) return feature;\n\n // Scale each coordinate\n coordEach(feature, function (coord) {\n var originalDistance = rhumbDistance(origin, coord);\n var bearing = rhumbBearing(origin, coord);\n var newDistance = originalDistance * factor;\n var newCoord = getCoords(rhumbDestination(origin, newDistance, bearing));\n coord[0] = newCoord[0];\n coord[1] = newCoord[1];\n if (coord.length === 3) coord[2] *= factor;\n });\n\n return feature;\n}\n\n/**\n * Define Origin\n *\n * @private\n * @param {GeoJSON} geojson GeoJSON\n * @param {string|Geometry|Feature|Array} origin sw/se/nw/ne/center/centroid\n * @returns {Feature} Point origin\n */\nfunction defineOrigin(geojson, origin) {\n // Default params\n if (origin === undefined || origin === null) origin = 'centroid';\n\n // Input Geometry|Feature|Array\n if (Array.isArray(origin) || typeof origin === 'object') return getCoord(origin);\n\n // Define BBox\n var bbox = (geojson.bbox) ? geojson.bbox : turfBBox(geojson);\n var west = bbox[0];\n var south = bbox[1];\n var east = bbox[2];\n var north = bbox[3];\n\n switch (origin) {\n case 'sw':\n case 'southwest':\n case 'westsouth':\n case 'bottomleft':\n return point([west, south]);\n case 'se':\n case 'southeast':\n case 'eastsouth':\n case 'bottomright':\n return point([east, south]);\n case 'nw':\n case 'northwest':\n case 'westnorth':\n case 'topleft':\n return point([west, north]);\n case 'ne':\n case 'northeast':\n case 'eastnorth':\n case 'topright':\n return point([east, north]);\n case 'center':\n return center(geojson);\n case undefined:\n case null:\n case 'centroid':\n return centroid(geojson);\n default:\n throw new Error('invalid origin');\n }\n}\n","/**\n * Platform fallback implementation (minimal).\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\n */\n\nmodule.exports = {\n\tacquireContext: function(item) {\n\t\tif (item && item.canvas) {\n\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\titem = item.canvas;\n\t\t}\n\n\t\treturn item && item.getContext('2d') || null;\n\t}\n};\n","\"use strict\"\n\nmodule.exports = convexHull1d\n\nfunction convexHull1d(points) {\n var lo = 0\n var hi = 0\n for(var i=1; i points[hi][0]) {\n hi = i\n }\n }\n if(lo < hi) {\n return [[lo], [hi]]\n } else if(lo > hi) {\n return [[hi], [lo]]\n } else {\n return [[lo]]\n }\n}","/**\n * Callback for coordEach\n *\n * @private\n * @callback coordEachCallback\n * @param {[number, number]} currentCoords The current coordinates being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentCoords, currentIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include\n * the final coordinate of LinearRings that wraps the ring in its iteration.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.coordEach(features, function (currentCoords, currentIndex) {\n * //=currentCoords\n * //=currentIndex\n * });\n */\nfunction coordEach(layer, callback, excludeWrapCoord) {\n var i, j, k, g, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n currentIndex = 0,\n isGeometryCollection,\n isFeatureCollection = layer.type === 'FeatureCollection',\n isFeature = layer.type === 'Feature',\n stop = isFeatureCollection ? layer.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? layer.features[i].geometry :\n (isFeature ? layer.geometry : layer));\n isGeometryCollection = geometryMaybeCollection.type === 'GeometryCollection';\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n coords = geometry.coordinates;\n\n wrapShrink = (excludeWrapCoord &&\n (geometry.type === 'Polygon' || geometry.type === 'MultiPolygon')) ?\n 1 : 0;\n\n if (geometry.type === 'Point') {\n callback(coords, currentIndex);\n currentIndex++;\n } else if (geometry.type === 'LineString' || geometry.type === 'MultiPoint') {\n for (j = 0; j < coords.length; j++) {\n callback(coords[j], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'Polygon' || geometry.type === 'MultiLineString') {\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n callback(coords[j][k], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'MultiPolygon') {\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length; k++)\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n callback(coords[j][k][l], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'GeometryCollection') {\n for (j = 0; j < geometry.geometries.length; j++)\n coordEach(geometry.geometries[j], callback, excludeWrapCoord);\n } else {\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nmodule.exports.coordEach = coordEach;\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {[number, number]} currentCoords The current coordinate being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoords, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include\n * the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.coordReduce(features, function (previousValue, currentCoords, currentIndex) {\n * //=previousValue\n * //=currentCoords\n * //=currentIndex\n * return currentCoords;\n * });\n */\nfunction coordReduce(layer, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(layer, function (currentCoords, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentCoords;\n } else {\n previousValue = callback(previousValue, currentCoords, currentIndex);\n }\n }, excludeWrapCoord);\n return previousValue;\n}\nmodule.exports.coordReduce = coordReduce;\n\n/**\n * Callback for propEach\n *\n * @private\n * @callback propEachCallback\n * @param {*} currentProperties The current properties being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.propEach(features, function (currentProperties, currentIndex) {\n * //=currentProperties\n * //=currentIndex\n * });\n */\nfunction propEach(layer, callback) {\n var i;\n switch (layer.type) {\n case 'FeatureCollection':\n for (i = 0; i < layer.features.length; i++) {\n callback(layer.features[i].properties, i);\n }\n break;\n case 'Feature':\n callback(layer.properties, 0);\n break;\n }\n}\nmodule.exports.propEach = propEach;\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current properties being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.propReduce(features, function (previousValue, currentProperties, currentIndex) {\n * //=previousValue\n * //=currentProperties\n * //=currentIndex\n * return currentProperties\n * });\n */\nfunction propReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n propEach(layer, function (currentProperties, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentProperties;\n } else {\n previousValue = callback(previousValue, currentProperties, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.propReduce = propReduce;\n\n/**\n * Callback for featureEach\n *\n * @private\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.featureEach(features, function (currentFeature, currentIndex) {\n * //=currentFeature\n * //=currentIndex\n * });\n */\nfunction featureEach(layer, callback) {\n if (layer.type === 'Feature') {\n callback(layer, 0);\n } else if (layer.type === 'FeatureCollection') {\n for (var i = 0; i < layer.features.length; i++) {\n callback(layer.features[i], i);\n }\n }\n}\nmodule.exports.featureEach = featureEach;\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.featureReduce(features, function (previousValue, currentFeature, currentIndex) {\n * //=previousValue\n * //=currentFeature\n * //=currentIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(layer, function (currentFeature, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentFeature;\n } else {\n previousValue = callback(previousValue, currentFeature, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.featureReduce = featureReduce;\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {Object} layer any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * var coords = turf.coordAll(features);\n * //=coords\n */\nfunction coordAll(layer) {\n var coords = [];\n coordEach(layer, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\nmodule.exports.coordAll = coordAll;\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.geomEach(features, function (currentGeometry, currentIndex) {\n * //=currentGeometry\n * //=currentIndex\n * });\n */\nfunction geomEach(layer, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n currentIndex = 0,\n isFeatureCollection = layer.type === 'FeatureCollection',\n isFeature = layer.type === 'Feature',\n stop = isFeatureCollection ? layer.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? layer.features[i].geometry :\n (isFeature ? layer.geometry : layer));\n isGeometryCollection = geometryMaybeCollection.type === 'GeometryCollection';\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n if (geometry.type === 'Point' ||\n geometry.type === 'LineString' ||\n geometry.type === 'MultiPoint' ||\n geometry.type === 'Polygon' ||\n geometry.type === 'MultiLineString' ||\n geometry.type === 'MultiPolygon') {\n callback(geometry, currentIndex);\n currentIndex++;\n } else if (geometry.type === 'GeometryCollection') {\n for (j = 0; j < geometry.geometries.length; j++) {\n callback(geometry.geometries[j], currentIndex);\n currentIndex++;\n }\n } else {\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nmodule.exports.geomEach = geomEach;\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentGeometry The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.geomReduce(features, function (previousValue, currentGeometry, currentIndex) {\n * //=previousValue\n * //=currentGeometry\n * //=currentIndex\n * return currentGeometry\n * });\n */\nfunction geomReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(layer, function (currentGeometry, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentGeometry;\n } else {\n previousValue = callback(previousValue, currentGeometry, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.geomReduce = geomReduce;\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IxImageLayer.vue?vue&type=style&index=0&id=f1cf7566&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IxImageLayer.vue?vue&type=style&index=0&id=f1cf7566&lang=scss&scoped=true&\"","/**\n * Earth Radius used with the Harvesine formula and approximates using a spherical (non-ellipsoid) Earth.\n */\nvar earthRadius = 6371008.8;\n\n/**\n * Unit of measurement factors using a spherical (non-ellipsoid) earth radius.\n */\nvar factors = {\n meters: earthRadius,\n metres: earthRadius,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n miles: earthRadius / 1609.344,\n nauticalmiles: earthRadius / 1852,\n inches: earthRadius * 39.370,\n yards: earthRadius / 1.0936,\n feet: earthRadius * 3.28084,\n radians: 1,\n degrees: earthRadius / 111325,\n};\n\n/**\n * Units of measurement factors based on 1 meter.\n */\nvar unitsFactors = {\n meters: 1,\n metres: 1,\n millimeters: 1000,\n millimetres: 1000,\n centimeters: 100,\n centimetres: 100,\n kilometers: 1 / 1000,\n kilometres: 1 / 1000,\n miles: 1 / 1609.344,\n nauticalmiles: 1 / 1852,\n inches: 39.370,\n yards: 1 / 1.0936,\n feet: 3.28084,\n radians: 1 / earthRadius,\n degrees: 1 / 111325,\n};\n\n/**\n * Area of measurement factors based on 1 square meter.\n */\nvar areaFactors = {\n meters: 1,\n metres: 1,\n millimeters: 1000000,\n millimetres: 1000000,\n centimeters: 10000,\n centimetres: 10000,\n kilometers: 0.000001,\n kilometres: 0.000001,\n acres: 0.000247105,\n miles: 3.86e-7,\n yards: 1.195990046,\n feet: 10.763910417,\n inches: 1550.003100006\n};\n\n/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @name feature\n * @param {Geometry} geometry input geometry\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nfunction feature(geometry, properties, options) {\n // Optional Parameters\n options = options || {};\n if (!isObject(options)) throw new Error('options is invalid');\n var bbox = options.bbox;\n var id = options.id;\n\n // Validation\n if (geometry === undefined) throw new Error('geometry is required');\n if (properties && properties.constructor !== Object) throw new Error('properties must be an Object');\n if (bbox) validateBBox(bbox);\n if (id) validateId(id);\n\n // Main\n var feat = {type: 'Feature'};\n if (id) feat.id = id;\n if (bbox) feat.bbox = bbox;\n feat.properties = properties || {};\n feat.geometry = geometry;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @name geometry\n * @param {string} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Geometry\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = 'Point';\n * var coordinates = [110, 50];\n *\n * var geometry = turf.geometry(type, coordinates);\n *\n * //=geometry\n */\nfunction geometry(type, coordinates, options) {\n // Optional Parameters\n options = options || {};\n if (!isObject(options)) throw new Error('options is invalid');\n var bbox = options.bbox;\n\n // Validation\n if (!type) throw new Error('type is required');\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n if (bbox) validateBBox(bbox);\n\n // Main\n var geom;\n switch (type) {\n case 'Point': geom = point(coordinates).geometry; break;\n case 'LineString': geom = lineString(coordinates).geometry; break;\n case 'Polygon': geom = polygon(coordinates).geometry; break;\n case 'MultiPoint': geom = multiPoint(coordinates).geometry; break;\n case 'MultiLineString': geom = multiLineString(coordinates).geometry; break;\n case 'MultiPolygon': geom = multiPolygon(coordinates).geometry; break;\n default: throw new Error(type + ' is invalid');\n }\n if (bbox) geom.bbox = bbox;\n return geom;\n}\n\n/**\n * Creates a {@link Point} {@link Feature} from a Position.\n *\n * @name point\n * @param {Array} coordinates longitude, latitude position (each in decimal degrees)\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nfunction point(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n if (coordinates.length < 2) throw new Error('coordinates must be at least 2 numbers long');\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) throw new Error('coordinates must contain numbers');\n\n return feature({\n type: 'Point',\n coordinates: coordinates\n }, properties, options);\n}\n\n/**\n * Creates a {@link Point} {@link FeatureCollection} from an Array of Point coordinates.\n *\n * @name points\n * @param {Array>} coordinates an array of Points\n * @param {Object} [properties={}] Translate these properties to each Feature\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the FeatureCollection\n * @param {string|number} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Point Feature\n * @example\n * var points = turf.points([\n * [-75, 39],\n * [-80, 45],\n * [-78, 50]\n * ]);\n *\n * //=points\n */\nfunction points(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n\n return featureCollection(coordinates.map(function (coords) {\n return point(coords, properties);\n }), options);\n}\n\n/**\n * Creates a {@link Polygon} {@link Feature} from an Array of LinearRings.\n *\n * @name polygon\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} Polygon Feature\n * @example\n * var polygon = turf.polygon([[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]], { name: 'poly1' });\n *\n * //=polygon\n */\nfunction polygon(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n\n for (var i = 0; i < coordinates.length; i++) {\n var ring = coordinates[i];\n if (ring.length < 4) {\n throw new Error('Each LinearRing of a Polygon must have 4 or more Positions.');\n }\n for (var j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (i === 0 && j === 0 && !isNumber(ring[0][0]) || !isNumber(ring[0][1])) throw new Error('coordinates must contain numbers');\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error('First and last Position are not equivalent.');\n }\n }\n }\n\n return feature({\n type: 'Polygon',\n coordinates: coordinates\n }, properties, options);\n}\n\n/**\n * Creates a {@link Polygon} {@link FeatureCollection} from an Array of Polygon coordinates.\n *\n * @name polygons\n * @param {Array>>>} coordinates an array of Polygon coordinates\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} Polygon FeatureCollection\n * @example\n * var polygons = turf.polygons([\n * [[[-5, 52], [-4, 56], [-2, 51], [-7, 54], [-5, 52]]],\n * [[[-15, 42], [-14, 46], [-12, 41], [-17, 44], [-15, 42]]],\n * ]);\n *\n * //=polygons\n */\nfunction polygons(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n\n return featureCollection(coordinates.map(function (coords) {\n return polygon(coords, properties);\n }), options);\n}\n\n/**\n * Creates a {@link LineString} {@link Feature} from an Array of Positions.\n *\n * @name lineString\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} LineString Feature\n * @example\n * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});\n * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});\n *\n * //=linestring1\n * //=linestring2\n */\nfunction lineString(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n if (coordinates.length < 2) throw new Error('coordinates must be an array of two or more positions');\n // Check if first point of LineString contains two numbers\n if (!isNumber(coordinates[0][1]) || !isNumber(coordinates[0][1])) throw new Error('coordinates must contain numbers');\n\n return feature({\n type: 'LineString',\n coordinates: coordinates\n }, properties, options);\n}\n\n/**\n * Creates a {@link LineString} {@link FeatureCollection} from an Array of LineString coordinates.\n *\n * @name lineStrings\n * @param {Array>} coordinates an array of LinearRings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the FeatureCollection\n * @param {string|number} [options.id] Identifier associated with the FeatureCollection\n * @returns {FeatureCollection} LineString FeatureCollection\n * @example\n * var linestrings = turf.lineStrings([\n * [[-24, 63], [-23, 60], [-25, 65], [-20, 69]],\n * [[-14, 43], [-13, 40], [-15, 45], [-10, 49]]\n * ]);\n *\n * //=linestrings\n */\nfunction lineStrings(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n\n return featureCollection(coordinates.map(function (coords) {\n return lineString(coords, properties);\n }), options);\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @name featureCollection\n * @param {Feature[]} features input features\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {FeatureCollection} FeatureCollection of Features\n * @example\n * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});\n * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});\n * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});\n *\n * var collection = turf.featureCollection([\n * locationA,\n * locationB,\n * locationC\n * ]);\n *\n * //=collection\n */\nfunction featureCollection(features, options) {\n // Optional Parameters\n options = options || {};\n if (!isObject(options)) throw new Error('options is invalid');\n var bbox = options.bbox;\n var id = options.id;\n\n // Validation\n if (!features) throw new Error('No features passed');\n if (!Array.isArray(features)) throw new Error('features must be an Array');\n if (bbox) validateBBox(bbox);\n if (id) validateId(id);\n\n // Main\n var fc = {type: 'FeatureCollection'};\n if (id) fc.id = id;\n if (bbox) fc.bbox = bbox;\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiLineString\n * @param {Array>>} coordinates an array of LineStrings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nfunction multiLineString(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n\n return feature({\n type: 'MultiLineString',\n coordinates: coordinates\n }, properties, options);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPoint\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nfunction multiPoint(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n\n return feature({\n type: 'MultiPoint',\n coordinates: coordinates\n }, properties, options);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPolygon\n * @param {Array>>>} coordinates an array of Polygons\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nfunction multiPolygon(coordinates, properties, options) {\n if (!coordinates) throw new Error('coordinates is required');\n\n return feature({\n type: 'MultiPolygon',\n coordinates: coordinates\n }, properties, options);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name geometryCollection\n * @param {Array} geometries an array of GeoJSON Geometries\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Object} [options={}] Optional Parameters\n * @param {Array} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature\n * @param {string|number} [options.id] Identifier associated with the Feature\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = {\n * \"type\": \"Point\",\n * \"coordinates\": [100, 0]\n * };\n * var line = {\n * \"type\": \"LineString\",\n * \"coordinates\": [ [101, 0], [102, 1] ]\n * };\n * var collection = turf.geometryCollection([pt, line]);\n *\n * //=collection\n */\nfunction geometryCollection(geometries, properties, options) {\n if (!geometries) throw new Error('geometries is required');\n if (!Array.isArray(geometries)) throw new Error('geometries must be an Array');\n\n return feature({\n type: 'GeometryCollection',\n geometries: geometries\n }, properties, options);\n}\n\n/**\n * Round number to precision\n *\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nfunction round(num, precision) {\n if (num === undefined || num === null || isNaN(num)) throw new Error('num is required');\n if (precision && !(precision >= 0)) throw new Error('precision must be a positive number');\n var multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name radiansToLength\n * @param {number} radians in radians across the sphere\n * @param {string} [units='kilometers'] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} distance\n */\nfunction radiansToLength(radians, units) {\n if (radians === undefined || radians === null) throw new Error('radians is required');\n\n if (units && typeof units !== 'string') throw new Error('units must be a string');\n var factor = factors[units || 'kilometers'];\n if (!factor) throw new Error(units + ' units is invalid');\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name lengthToRadians\n * @param {number} distance in real units\n * @param {string} [units='kilometers'] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} radians\n */\nfunction lengthToRadians(distance, units) {\n if (distance === undefined || distance === null) throw new Error('distance is required');\n\n if (units && typeof units !== 'string') throw new Error('units must be a string');\n var factor = factors[units || 'kilometers'];\n if (!factor) throw new Error(units + ' units is invalid');\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @name lengthToDegrees\n * @param {number} distance in real units\n * @param {string} [units='kilometers'] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nfunction lengthToDegrees(distance, units) {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @name bearingToAzimuth\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nfunction bearingToAzimuth(bearing) {\n if (bearing === null || bearing === undefined) throw new Error('bearing is required');\n\n var angle = bearing % 360;\n if (angle < 0) angle += 360;\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @name radiansToDegrees\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nfunction radiansToDegrees(radians) {\n if (radians === null || radians === undefined) throw new Error('radians is required');\n\n var degrees = radians % (2 * Math.PI);\n return degrees * 180 / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @name degreesToRadians\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nfunction degreesToRadians(degrees) {\n if (degrees === null || degrees === undefined) throw new Error('degrees is required');\n\n var radians = degrees % 360;\n return radians * Math.PI / 180;\n}\n\n/**\n * Converts a length to the requested unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @param {number} length to be converted\n * @param {string} originalUnit of the length\n * @param {string} [finalUnit='kilometers'] returned unit\n * @returns {number} the converted length\n */\nfunction convertLength(length, originalUnit, finalUnit) {\n if (length === null || length === undefined) throw new Error('length is required');\n if (!(length >= 0)) throw new Error('length must be a positive number');\n\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit || 'kilometers');\n}\n\n/**\n * Converts a area to the requested unit.\n * Valid units: kilometers, kilometres, meters, metres, centimetres, millimeters, acres, miles, yards, feet, inches\n * @param {number} area to be converted\n * @param {string} [originalUnit='meters'] of the distance\n * @param {string} [finalUnit='kilometers'] returned unit\n * @returns {number} the converted distance\n */\nfunction convertArea(area, originalUnit, finalUnit) {\n if (area === null || area === undefined) throw new Error('area is required');\n if (!(area >= 0)) throw new Error('area must be a positive number');\n\n var startFactor = areaFactors[originalUnit || 'meters'];\n if (!startFactor) throw new Error('invalid original units');\n\n var finalFactor = areaFactors[finalUnit || 'kilometers'];\n if (!finalFactor) throw new Error('invalid final units');\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @param {*} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\n/**\n * isObject\n *\n * @param {*} input variable to validate\n * @returns {boolean} true/false\n * @example\n * turf.isObject({elevation: 10})\n * //=true\n * turf.isObject('foo')\n * //=false\n */\nfunction isObject(input) {\n return (!!input) && (input.constructor === Object);\n}\n\n/**\n * Validate BBox\n *\n * @private\n * @param {Array} bbox BBox to validate\n * @returns {void}\n * @throws Error if BBox is not valid\n * @example\n * validateBBox([-180, -40, 110, 50])\n * //=OK\n * validateBBox([-180, -40])\n * //=Error\n * validateBBox('Foo')\n * //=Error\n * validateBBox(5)\n * //=Error\n * validateBBox(null)\n * //=Error\n * validateBBox(undefined)\n * //=Error\n */\nfunction validateBBox(bbox) {\n if (!bbox) throw new Error('bbox is required');\n if (!Array.isArray(bbox)) throw new Error('bbox must be an Array');\n if (bbox.length !== 4 && bbox.length !== 6) throw new Error('bbox must be an Array of 4 or 6 numbers');\n bbox.forEach(function (num) {\n if (!isNumber(num)) throw new Error('bbox must only contain numbers');\n });\n}\n\n/**\n * Validate Id\n *\n * @private\n * @param {string|number} id Id to validate\n * @returns {void}\n * @throws Error if Id is not valid\n * @example\n * validateId([-180, -40, 110, 50])\n * //=Error\n * validateId([-180, -40])\n * //=Error\n * validateId('Foo')\n * //=OK\n * validateId(5)\n * //=OK\n * validateId(null)\n * //=Error\n * validateId(undefined)\n * //=Error\n */\nfunction validateId(id) {\n if (!id) throw new Error('id is required');\n if (['string', 'number'].indexOf(typeof id) === -1) throw new Error('id must be a number or a string');\n}\n\n// Deprecated methods\nfunction radians2degrees() {\n throw new Error('method has been renamed to `radiansToDegrees`');\n}\n\nfunction degrees2radians() {\n throw new Error('method has been renamed to `degreesToRadians`');\n}\n\nfunction distanceToDegrees() {\n throw new Error('method has been renamed to `lengthToDegrees`');\n}\n\nfunction distanceToRadians() {\n throw new Error('method has been renamed to `lengthToRadians`');\n}\n\nfunction radiansToDistance() {\n throw new Error('method has been renamed to `radiansToLength`');\n}\n\nfunction bearingToAngle() {\n throw new Error('method has been renamed to `bearingToAzimuth`');\n}\n\nfunction convertDistance() {\n throw new Error('method has been renamed to `convertLength`');\n}\n\nexport { earthRadius, factors, unitsFactors, areaFactors, feature, geometry, point, points, polygon, polygons, lineString, lineStrings, featureCollection, multiLineString, multiPoint, multiPolygon, geometryCollection, round, radiansToLength, lengthToRadians, lengthToDegrees, bearingToAzimuth, radiansToDegrees, degreesToRadians, convertLength, convertArea, isNumber, isObject, validateBBox, validateId, radians2degrees, degrees2radians, distanceToDegrees, distanceToRadians, radiansToDistance, bearingToAngle, convertDistance };\n","import { isNumber } from '@turf/helpers';\n\n/**\n * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.\n *\n * @name getCoord\n * @param {Array|Geometry|Feature} coord GeoJSON Point or an Array of numbers\n * @returns {Array} coordinates\n * @example\n * var pt = turf.point([10, 10]);\n *\n * var coord = turf.getCoord(pt);\n * //= [10, 10]\n */\nfunction getCoord(coord) {\n if (!coord) throw new Error('coord is required');\n if (coord.type === 'Feature' && coord.geometry !== null && coord.geometry.type === 'Point') return coord.geometry.coordinates;\n if (coord.type === 'Point') return coord.coordinates;\n if (Array.isArray(coord) && coord.length >= 2 && coord[0].length === undefined && coord[1].length === undefined) return coord;\n\n throw new Error('coord must be GeoJSON Point or an Array of numbers');\n}\n\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array\n *\n * @name getCoords\n * @param {Array|Geometry|Feature} coords Feature, Geometry Object or an Array\n * @returns {Array} coordinates\n * @example\n * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);\n *\n * var coords = turf.getCoords(poly);\n * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]\n */\nfunction getCoords(coords) {\n if (!coords) throw new Error('coords is required');\n\n // Feature\n if (coords.type === 'Feature' && coords.geometry !== null) return coords.geometry.coordinates;\n\n // Geometry\n if (coords.coordinates) return coords.coordinates;\n\n // Array of numbers\n if (Array.isArray(coords)) return coords;\n\n throw new Error('coords must be GeoJSON Feature, Geometry Object or an Array');\n}\n\n/**\n * Checks if coordinates contains a number\n *\n * @name containsNumber\n * @param {Array} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 && isNumber(coordinates[0]) && isNumber(coordinates[1])) {\n return true;\n }\n\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error('coordinates must only contain numbers');\n}\n\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @name geojsonType\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction geojsonType(value, type, name) {\n if (!type || !name) throw new Error('type and name required');\n\n if (!value || value.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + value.type);\n }\n}\n\n/**\n * Enforce expectations about types of {@link Feature} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @name featureOf\n * @param {Feature} feature a feature with an expected geometry type\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} error if value is not the expected type.\n */\nfunction featureOf(feature, type, name) {\n if (!feature) throw new Error('No feature passed');\n if (!name) throw new Error('.featureOf() requires a name');\n if (!feature || feature.type !== 'Feature' || !feature.geometry) {\n throw new Error('Invalid input to ' + name + ', Feature with geometry required');\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + feature.geometry.type);\n }\n}\n\n/**\n * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @name collectionOf\n * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) throw new Error('No featureCollection passed');\n if (!name) throw new Error('.collectionOf() requires a name');\n if (!featureCollection || featureCollection.type !== 'FeatureCollection') {\n throw new Error('Invalid input to ' + name + ', FeatureCollection required');\n }\n for (var i = 0; i < featureCollection.features.length; i++) {\n var feature = featureCollection.features[i];\n if (!feature || feature.type !== 'Feature' || !feature.geometry) {\n throw new Error('Invalid input to ' + name + ', Feature with geometry required');\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + feature.geometry.type);\n }\n }\n}\n\n/**\n * Get Geometry from Feature or Geometry Object\n *\n * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object\n * @returns {Geometry|null} GeoJSON Geometry Object\n * @throws {Error} if geojson is not a Feature or Geometry Object\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getGeom(point)\n * //={\"type\": \"Point\", \"coordinates\": [110, 40]}\n */\nfunction getGeom(geojson) {\n if (!geojson) throw new Error('geojson is required');\n if (geojson.geometry !== undefined) return geojson.geometry;\n if (geojson.coordinates || geojson.geometries) return geojson;\n throw new Error('geojson must be a valid Feature or Geometry Object');\n}\n\n/**\n * Get Geometry Type from Feature or Geometry Object\n *\n * @throws {Error} **DEPRECATED** in v5.0.0 in favor of getType\n */\nfunction getGeomType() {\n throw new Error('invariant.getGeomType has been deprecated in v5.0 in favor of invariant.getType');\n}\n\n/**\n * Get GeoJSON object's type, Geometry type is prioritize.\n *\n * @param {GeoJSON} geojson GeoJSON object\n * @param {string} [name=\"geojson\"] name of the variable to display in error message\n * @returns {string} GeoJSON type\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getType(point)\n * //=\"Point\"\n */\nfunction getType(geojson, name) {\n if (!geojson) throw new Error((name || 'geojson') + ' is required');\n // GeoJSON Feature & GeometryCollection\n if (geojson.geometry && geojson.geometry.type) return geojson.geometry.type;\n // GeoJSON Geometry & FeatureCollection\n if (geojson.type) return geojson.type;\n throw new Error((name || 'geojson') + ' is invalid');\n}\n\nexport { getCoord, getCoords, containsNumber, geojsonType, featureOf, collectionOf, getGeom, getGeomType, getType };\n","import { feature, isObject, lineString, point } from '@turf/helpers';\n\n/**\n * Callback for coordEach\n *\n * @callback coordEachCallback\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, multiFeatureIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n coordIndex = 0,\n isGeometryCollection,\n type = geojson.type,\n isFeatureCollection = type === 'FeatureCollection',\n isFeature = type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[featureIndex].geometry :\n (isFeature ? geojson.geometry : geojson));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n\n wrapShrink = (excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon')) ? 1 : 0;\n\n switch (geomType) {\n case null:\n break;\n case 'Point':\n if (callback(coords, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n for (j = 0; j < coords.length; j++) {\n if (callback(coords[j], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n if (geomType === 'MultiPoint') multiFeatureIndex++;\n }\n if (geomType === 'LineString') multiFeatureIndex++;\n break;\n case 'Polygon':\n case 'MultiLineString':\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(coords[j][k], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n if (geomType === 'MultiLineString') multiFeatureIndex++;\n if (geomType === 'Polygon') geometryIndex++;\n }\n if (geomType === 'Polygon') multiFeatureIndex++;\n break;\n case 'MultiPolygon':\n for (j = 0; j < coords.length; j++) {\n if (geomType === 'MultiPolygon') geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(coords[j][k][l], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++)\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false) return false;\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {FeatureCollection|Geometry|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoord, coordIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentCoord;\n * });\n */\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(geojson, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === undefined) previousValue = currentCoord;\n else previousValue = callback(previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex);\n }, excludeWrapCoord);\n return previousValue;\n}\n\n/**\n * Callback for propEach\n *\n * @callback propEachCallback\n * @param {Object} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propEach(features, function (currentProperties, featureIndex) {\n * //=currentProperties\n * //=featureIndex\n * });\n */\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case 'FeatureCollection':\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case 'Feature':\n callback(geojson.properties, 0);\n break;\n }\n}\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {\n * //=previousValue\n * //=currentProperties\n * //=featureIndex\n * return currentProperties\n * });\n */\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function (currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentProperties;\n else previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for featureEach\n *\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.featureEach(features, function (currentFeature, featureIndex) {\n * //=currentFeature\n * //=featureIndex\n * });\n */\nfunction featureEach(geojson, callback) {\n if (geojson.type === 'Feature') {\n callback(geojson, 0);\n } else if (geojson.type === 'FeatureCollection') {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function (currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * var coords = turf.coordAll(features);\n * //= [[26, 37], [36, 53]]\n */\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\n\n/**\n * Callback for geomEach\n *\n * @callback geomEachCallback\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomEach(features, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * });\n */\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n featureProperties,\n featureBBox,\n featureId,\n featureIndex = 0,\n isFeatureCollection = geojson.type === 'FeatureCollection',\n isFeature = geojson.type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[i].geometry :\n (isFeature ? geojson.geometry : geojson));\n featureProperties = (isFeatureCollection ? geojson.features[i].properties :\n (isFeature ? geojson.properties : {}));\n featureBBox = (isFeatureCollection ? geojson.features[i].bbox :\n (isFeature ? geojson.bbox : undefined));\n featureId = (isFeatureCollection ? geojson.features[i].id :\n (isFeature ? geojson.id : undefined));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n // Handle null Geometry\n if (geometry === null) {\n if (callback(null, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n continue;\n }\n switch (geometry.type) {\n case 'Point':\n case 'LineString':\n case 'MultiPoint':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon': {\n if (callback(geometry, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n break;\n }\n case 'GeometryCollection': {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (callback(geometry.geometries[j], featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n }\n break;\n }\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n // Only increase `featureIndex` per each feature\n featureIndex++;\n }\n}\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=previousValue\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * return currentGeometry\n * });\n */\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(geojson, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentGeometry;\n else previousValue = callback(previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId);\n });\n return previousValue;\n}\n\n/**\n * Callback for flattenEach\n *\n * @callback flattenEachCallback\n * @param {Feature} currentFeature The current flattened feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Iterate over flattened features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name flattenEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex, multiFeatureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenEach(features, function (currentFeature, featureIndex, multiFeatureIndex) {\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * });\n */\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function (geometry, featureIndex, properties, bbox, id) {\n // Callback for single geometry\n var type = (geometry === null) ? null : geometry.type;\n switch (type) {\n case null:\n case 'Point':\n case 'LineString':\n case 'Polygon':\n if (callback(feature(geometry, properties, {bbox: bbox, id: id}), featureIndex, 0) === false) return false;\n return;\n }\n\n var geomType;\n\n // Callback for multi-geometry\n switch (type) {\n case 'MultiPoint':\n geomType = 'Point';\n break;\n case 'MultiLineString':\n geomType = 'LineString';\n break;\n case 'MultiPolygon':\n geomType = 'Polygon';\n break;\n }\n\n for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (callback(feature(geom, properties), featureIndex, multiFeatureIndex) === false) return false;\n }\n });\n}\n\n/**\n * Callback for flattenReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback flattenReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Reduce flattened features in any GeoJSON object, similar to Array.reduce().\n *\n * @name flattenReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex, multiFeatureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, multiFeatureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * return currentFeature\n * });\n */\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(geojson, function (currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex, multiFeatureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for segmentEach\n *\n * @callback segmentEachCallback\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n * @returns {void}\n */\n\n/**\n * Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex)\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentEach(polygon, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //=currentSegment\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * //=segmentIndex\n * });\n *\n * // Calculate the total number of segments\n * var total = 0;\n * turf.segmentEach(polygon, function () {\n * total++;\n * });\n */\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function (feature$$1, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n\n // Exclude null Geometries\n if (!feature$$1.geometry) return;\n // (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n var type = feature$$1.geometry.type;\n if (type === 'Point' || type === 'MultiPoint') return;\n\n // Generate 2-vertex line segments\n var previousCoords;\n if (coordEach(feature$$1, function (currentCoord, coordIndex, featureIndexCoord, mutliPartIndexCoord, geometryIndex) {\n // Simulating a meta.coordReduce() since `reduce` operations cannot be stopped by returning `false`\n if (previousCoords === undefined) {\n previousCoords = currentCoord;\n return;\n }\n var currentSegment = lineString([previousCoords, currentCoord], feature$$1.properties);\n if (callback(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) === false) return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }) === false) return false;\n });\n}\n\n/**\n * Callback for segmentReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback segmentReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n */\n\n/**\n * Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (previousValue, currentSegment, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //= previousSegment\n * //= currentSegment\n * //= featureIndex\n * //= multiFeatureIndex\n * //= geometryIndex\n * //= segmentInex\n * return currentSegment\n * });\n *\n * // Calculate the total number of segments\n * var initialValue = 0\n * var total = turf.segmentReduce(polygon, function (previousValue) {\n * previousValue++;\n * return previousValue;\n * }, initialValue);\n */\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(geojson, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === undefined) previousValue = currentSegment;\n else previousValue = callback(previousValue, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex);\n started = true;\n });\n return previousValue;\n}\n\n/**\n * Callback for lineEach\n *\n * @callback lineEachCallback\n * @param {Feature} currentLine The current LineString|LinearRing being processed\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,\n * similar to Array.forEach.\n *\n * @name lineEach\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @example\n * var multiLine = turf.multiLineString([\n * [[26, 37], [35, 45]],\n * [[36, 53], [38, 50], [41, 55]]\n * ]);\n *\n * turf.lineEach(multiLine, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction lineEach(geojson, callback) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n\n flattenEach(geojson, function (feature$$1, featureIndex, multiFeatureIndex) {\n if (feature$$1.geometry === null) return;\n var type = feature$$1.geometry.type;\n var coords = feature$$1.geometry.coordinates;\n switch (type) {\n case 'LineString':\n if (callback(feature$$1, featureIndex, multiFeatureIndex, 0, 0) === false) return false;\n break;\n case 'Polygon':\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (callback(lineString(coords[geometryIndex], feature$$1.properties), featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n }\n break;\n }\n });\n}\n\n/**\n * Callback for lineReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback lineReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name lineReduce\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var multiPoly = turf.multiPolygon([\n * turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),\n * turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])\n * ]);\n *\n * turf.lineReduce(multiPoly, function (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentLine\n * });\n */\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(geojson, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentLine;\n else previousValue = callback(previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex);\n });\n return previousValue;\n}\n\n/**\n * Finds a particular 2-vertex LineString Segment from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n * Point & MultiPoint will always return null.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.segmentIndex=0] Segment Index\n * @param {Object} [options.properties={}] Translate Properties to output LineString\n * @param {BBox} [options.bbox={}] Translate BBox to output LineString\n * @param {number|string} [options.id={}] Translate Id to output LineString\n * @returns {Feature} 2-vertex GeoJSON Feature LineString\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findSegment(multiLine);\n * // => Feature>\n *\n * // First Segment of 2nd Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of Last Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: -1, segmentIndex: -1});\n * // => Feature>\n */\nfunction findSegment(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find SegmentIndex\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return lineString([coords[segmentIndex], coords[segmentIndex + 1]], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return lineString([coords[geometryIndex][segmentIndex], coords[geometryIndex][segmentIndex + 1]], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return lineString([coords[multiFeatureIndex][segmentIndex], coords[multiFeatureIndex][segmentIndex + 1]], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return lineString([coords[multiFeatureIndex][geometryIndex][segmentIndex], coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\n/**\n * Finds a particular Point from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.coordIndex=0] Coord Index\n * @param {Object} [options.properties={}] Translate Properties to output Point\n * @param {BBox} [options.bbox={}] Translate BBox to output Point\n * @param {number|string} [options.id={}] Translate Id to output Point\n * @returns {Feature} 2-vertex GeoJSON Feature Point\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findPoint(multiLine);\n * // => Feature>\n *\n * // First Segment of the 2nd Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of last Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: -1, coordIndex: -1});\n * // => Feature>\n */\nfunction findPoint(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find Coord Index\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n return point(coords, properties, options);\n case 'MultiPoint':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n return point(coords[multiFeatureIndex], properties, options);\n case 'LineString':\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return point(coords[coordIndex], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[geometryIndex].length + coordIndex;\n return point(coords[geometryIndex][coordIndex], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return point(coords[multiFeatureIndex][coordIndex], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return point(coords[multiFeatureIndex][geometryIndex][coordIndex], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\nexport { coordEach, coordReduce, propEach, propReduce, featureEach, featureReduce, coordAll, geomEach, geomReduce, flattenEach, flattenReduce, segmentEach, segmentReduce, lineEach, lineReduce, findSegment, findPoint };\n","import {getCoords, collectionOf} from '@turf/invariant';\nimport {featureEach} from '@turf/meta';\nimport {isObject} from '@turf/helpers';\n\n/**\n * Takes a {@link Point} grid and returns a correspondent matrix {Array>}\n * of the 'property' values\n *\n * @name gridToMatrix\n * @param {FeatureCollection} grid of points\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.zProperty='elevation'] the property name in `points` from which z-values will be pulled\n * @param {boolean} [options.flip=false] returns the matrix upside-down\n * @param {boolean} [options.flags=false] flags, adding a `matrixPosition` array field ([row, column]) to its properties,\n * the grid points with coordinates on the matrix\n * @returns {Array>} matrix of property values\n * @example\n * var extent = [-70.823364, -33.553984, -70.473175, -33.302986];\n * var cellSize = 3;\n * var grid = turf.pointGrid(extent, cellSize);\n * // add a random property to each point between 0 and 60\n * for (var i = 0; i < grid.features.length; i++) {\n * grid.features[i].properties.elevation = (Math.random() * 60);\n * }\n * gridToMatrix(grid);\n * //= [\n * [ 1, 13, 10, 9, 10, 13, 18],\n * [34, 8, 5, 4, 5, 8, 13],\n * [10, 5, 2, 1, 2, 5, 4],\n * [ 0, 4, 56, 19, 1, 4, 9],\n * [10, 5, 2, 1, 2, 5, 10],\n * [57, 8, 5, 4, 5, 0, 57],\n * [ 3, 13, 10, 9, 5, 13, 18],\n * [18, 13, 10, 9, 78, 13, 18]\n * ]\n */\nexport default function gridToMatrix(grid, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error('options is invalid');\n var zProperty = options.zProperty || 'elevation';\n var flip = options.flip;\n var flags = options.flags;\n\n // validation\n collectionOf(grid, 'Point', 'input must contain Points');\n\n var pointsMatrix = sortPointsByLatLng(grid, flip);\n\n var matrix = [];\n // create property matrix from sorted points\n // looping order matters here\n for (var r = 0; r < pointsMatrix.length; r++) {\n var pointRow = pointsMatrix[r];\n var row = [];\n for (var c = 0; c < pointRow.length; c++) {\n var point = pointRow[c];\n // Check if zProperty exist\n if (point.properties[zProperty]) row.push(point.properties[zProperty]);\n else row.push(0);\n // add flags\n if (flags === true) point.properties.matrixPosition = [r, c];\n }\n matrix.push(row);\n }\n\n return matrix;\n}\n\n/**\n * Sorts points by latitude and longitude, creating a 2-dimensional array of points\n *\n * @private\n * @param {FeatureCollection} points GeoJSON Point features\n * @param {boolean} [flip=false] returns the matrix upside-down\n * @returns {Array>} points ordered by latitude and longitude\n */\nfunction sortPointsByLatLng(points, flip) {\n var pointsByLatitude = {};\n\n // divide points by rows with the same latitude\n featureEach(points, function (point) {\n var lat = getCoords(point)[1];\n if (!pointsByLatitude[lat]) pointsByLatitude[lat] = [];\n pointsByLatitude[lat].push(point);\n });\n\n // sort points (with the same latitude) by longitude\n var orderedRowsByLatitude = Object.keys(pointsByLatitude).map(function (lat) {\n var row = pointsByLatitude[lat];\n var rowOrderedByLongitude = row.sort(function (a, b) {\n return getCoords(a)[0] - getCoords(b)[0];\n });\n return rowOrderedByLongitude;\n });\n\n // sort rows (of points with the same latitude) by latitude\n var pointMatrix = orderedRowsByLatitude.sort(function (a, b) {\n if (flip) return getCoords(a[0])[1] - getCoords(b[0])[1];\n else return getCoords(b[0])[1] - getCoords(a[0])[1];\n });\n\n return pointMatrix;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],staticClass:\"fa fa-close fa-lg clear-button\",style:({right: _vm.right}),attrs:{\"tabindex\":\"0\",\"role\":\"button\",\"aria-label\":\"clear\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('click')}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputClearButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputClearButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputClearButton.vue?vue&type=template&id=451fb25d&scoped=true&lang=html&\"\nimport script from \"./InputClearButton.vue?vue&type=script&lang=js&\"\nexport * from \"./InputClearButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputClearButton.vue?vue&type=style&index=0&id=451fb25d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"451fb25d\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaymentTermsCheckbox.vue?vue&type=style&index=0&id=a6d7e0a6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaymentTermsCheckbox.vue?vue&type=style&index=0&id=a6d7e0a6&lang=scss&scoped=true&\"","\"use strict\"; \"use restrict\";\n\nvar bits = require(\"bit-twiddle\")\n , UnionFind = require(\"union-find\")\n\n//Returns the dimension of a cell complex\nfunction dimension(cells) {\n var d = 0\n , max = Math.max\n for(var i=0, il=cells.length; i> 1\n , s = compareCells(cells[mid], c)\n if(s <= 0) {\n if(s === 0) {\n r = mid\n }\n lo = mid + 1\n } else if(s > 0) {\n hi = mid - 1\n }\n }\n return r\n}\nexports.findCell = findCell;\n\n//Builds an index for an n-cell. This is more general than dual, but less efficient\nfunction incidence(from_cells, to_cells) {\n var index = new Array(from_cells.length)\n for(var i=0, il=index.length; i= from_cells.length || compareCells(from_cells[idx], b) !== 0) {\n break\n }\n }\n }\n }\n return index\n}\nexports.incidence = incidence\n\n//Computes the dual of the mesh. This is basically an optimized version of buildIndex for the situation where from_cells is just the list of vertices\nfunction dual(cells, vertex_count) {\n if(!vertex_count) {\n return incidence(unique(skeleton(cells, 0)), cells, 0)\n }\n var res = new Array(vertex_count)\n for(var i=0; i>> k) & 1) {\n b.push(c[k])\n }\n }\n result.push(b)\n }\n }\n return normalize(result)\n}\nexports.explode = explode\n\n//Enumerates all of the n-cells of a cell complex\nfunction skeleton(cells, n) {\n if(n < 0) {\n return []\n }\n var result = []\n , k0 = (1<<(n+1))-1\n for(var i=0; i 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tdelete array[key];\n\t\t});\n\n\t\tdelete array._chartjs;\n\t}\n\n\t// Base class for all dataset controllers (line, bar, etc)\n\tChart.DatasetController = function(chart, datasetIndex) {\n\t\tthis.initialize(chart, datasetIndex);\n\t};\n\n\thelpers.extend(Chart.DatasetController.prototype, {\n\n\t\t/**\n\t\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdatasetElementType: null,\n\n\t\t/**\n\t\t * Element type used to generate a meta data (e.g. Chart.element.Point).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdataElementType: null,\n\n\t\tinitialize: function(chart, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tme.chart = chart;\n\t\t\tme.index = datasetIndex;\n\t\t\tme.linkScales();\n\t\t\tme.addElements();\n\t\t},\n\n\t\tupdateIndex: function(datasetIndex) {\n\t\t\tthis.index = datasetIndex;\n\t\t},\n\n\t\tlinkScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\n\t\t\tif (meta.xAxisID === null || !(meta.xAxisID in me.chart.scales)) {\n\t\t\t\tmeta.xAxisID = dataset.xAxisID || me.chart.options.scales.xAxes[0].id;\n\t\t\t}\n\t\t\tif (meta.yAxisID === null || !(meta.yAxisID in me.chart.scales)) {\n\t\t\t\tmeta.yAxisID = dataset.yAxisID || me.chart.options.scales.yAxes[0].id;\n\t\t\t}\n\t\t},\n\n\t\tgetDataset: function() {\n\t\t\treturn this.chart.data.datasets[this.index];\n\t\t},\n\n\t\tgetMeta: function() {\n\t\t\treturn this.chart.getDatasetMeta(this.index);\n\t\t},\n\n\t\tgetScaleForId: function(scaleID) {\n\t\t\treturn this.chart.scales[scaleID];\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.update(true);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tdestroy: function() {\n\t\t\tif (this._data) {\n\t\t\t\tunlistenArrayEvents(this._data, this);\n\t\t\t}\n\t\t},\n\n\t\tcreateMetaDataset: function() {\n\t\t\tvar me = this;\n\t\t\tvar type = me.datasetElementType;\n\t\t\treturn type && new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index\n\t\t\t});\n\t\t},\n\n\t\tcreateMetaData: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar type = me.dataElementType;\n\t\t\treturn type && new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index\n\t\t\t});\n\t\t},\n\n\t\taddElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data || [];\n\t\t\tvar metaData = meta.data;\n\t\t\tvar i, ilen;\n\n\t\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\n\t\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\n\t\t\t}\n\n\t\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\n\t\t},\n\n\t\taddElementAndReset: function(index) {\n\t\t\tvar element = this.createMetaData(index);\n\t\t\tthis.getMeta().data.splice(index, 0, element);\n\t\t\tthis.updateElement(element, index, true);\n\t\t},\n\n\t\tbuildOrUpdateElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar data = dataset.data || (dataset.data = []);\n\n\t\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\n\t\t\t// real-time charts), we need to monitor these data modifications and synchronize\n\t\t\t// the internal meta data accordingly.\n\t\t\tif (me._data !== data) {\n\t\t\t\tif (me._data) {\n\t\t\t\t\t// This case happens when the user replaced the data array instance.\n\t\t\t\t\tunlistenArrayEvents(me._data, me);\n\t\t\t\t}\n\n\t\t\t\tlistenArrayEvents(data, me);\n\t\t\t\tme._data = data;\n\t\t\t}\n\n\t\t\t// Re-sync meta data in case the user replaced the data array or if we missed\n\t\t\t// any updates and so make sure that we handle number of datapoints changing.\n\t\t\tme.resyncElements();\n\t\t},\n\n\t\tupdate: helpers.noop,\n\n\t\ttransition: function(easingValue) {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\telements[i].transition(easingValue);\n\t\t\t}\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.transition(easingValue);\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\telements[i].draw();\n\t\t\t}\n\t\t},\n\n\t\tremoveHoverStyle: function(element) {\n\t\t\thelpers.merge(element._model, element.$previousStyle || {});\n\t\t\tdelete element.$previousStyle;\n\t\t},\n\n\t\tsetHoverStyle: function(element) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\t\tvar index = element._index;\n\t\t\tvar custom = element.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar getHoverColor = helpers.getHoverColor;\n\t\t\tvar model = element._model;\n\n\t\t\telement.$previousStyle = {\n\t\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\t\tborderColor: model.borderColor,\n\t\t\t\tborderWidth: model.borderWidth\n\t\t\t};\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tresyncElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data;\n\t\t\tvar numMeta = meta.data.length;\n\t\t\tvar numData = data.length;\n\n\t\t\tif (numData < numMeta) {\n\t\t\t\tmeta.data.splice(numData, numMeta - numData);\n\t\t\t} else if (numData > numMeta) {\n\t\t\t\tme.insertElements(numMeta, numData - numMeta);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinsertElements: function(start, count) {\n\t\t\tfor (var i = 0; i < count; ++i) {\n\t\t\t\tthis.addElementAndReset(start + i);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPush: function() {\n\t\t\tthis.insertElements(this.getDataset().data.length - 1, arguments.length);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPop: function() {\n\t\t\tthis.getMeta().data.pop();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataShift: function() {\n\t\t\tthis.getMeta().data.shift();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataSplice: function(start, count) {\n\t\t\tthis.getMeta().data.splice(start, count);\n\t\t\tthis.insertElements(start, arguments.length - 2);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataUnshift: function() {\n\t\t\tthis.insertElements(0, arguments.length);\n\t\t}\n\t});\n\n\tChart.DatasetController.extend = helpers.inherits;\n};\n","import store from '@store'\r\nimport {orderBy} from 'lodash'\r\n\r\nimport {format} from 'src/js/i18n/conversion'\r\n\r\nexport const toCultivationName = (cultivation) => {\r\n if (!cultivation) {\r\n return ''\r\n }\r\n\r\n const frsTranslations = store.state.i18n.translations['Areas.FieldRecordSystem.SR_FieldRecordSystem']\r\n\r\n switch (cultivation.type) {\r\n case 'main':\r\n case 'secondary': {\r\n const name = store.state.i18n.translations['masterData.crops.usage'][`${cultivation.cropUsageId}_name`]\r\n\r\n return frsTranslations[`CultivationType_${cultivation.type}`]\r\n ? typeof name === 'string'\r\n ? `${frsTranslations[`CultivationType_${cultivation.type}`]} - ${name}`\r\n : frsTranslations[`CultivationType_${cultivation.type}`].toString()\r\n : null\r\n }\r\n case 'catch': {\r\n const frsTranslations = store.state.i18n.translations['Areas.FieldRecordSystem.SR_FieldRecordSystem']\r\n return cultivation.mixtureComponents ? toMixtureName(cultivation.mixtureComponents) : frsTranslations.CatchCrop\r\n }\r\n case 'eco':\r\n return frsTranslations.EcologicalPriorityAreas\r\n case 'dual':\r\n return frsTranslations.TwoCropUsage ? frsTranslations.TwoCropUsage.concat(` - ${'a'} + ${'b'}`) : null\r\n default:\r\n throw new Error(frsTranslations.InvalidCultivationType.concat(`: ${cultivation.type}`))\r\n }\r\n}\r\n\r\nexport const toMixtureName = (components) => {\r\n const sorted = orderBy(components, ['percentage', 'cropUsageId'], ['desc', 'asc'])\r\n const componentsShort = sorted.map((component) => {\r\n const name = store.state.i18n.translations['masterData.crops.usage'][`${component.cropUsageId}_name`]\r\n return `${name} (${format(component.percentage, 'percent')})`\r\n })\r\n return componentsShort.join(', ')\r\n}\r\n\r\nexport const isEcoCompatible = (components) => {\r\n return Math.max(...components.map(x => x.percentage)) < 0.6\r\n}\r\n","module.exports = function() {\n throw new Error('call .point() or .polygon() instead');\n};\n\nfunction position(bbox) {\n if (bbox) return coordInBBBOX(bbox);\n else return [lon(), lat()];\n}\n\nmodule.exports.position = position;\n\nmodule.exports.point = function(count, bbox) {\n var features = [];\n for (i = 0; i < count; i++) {\n features.push(feature(bbox ? point(position(bbox)) : point()));\n }\n return collection(features);\n};\n\nmodule.exports.polygon = function(count, num_vertices, max_radial_length, bbox) {\n if (typeof num_vertices !== 'number') num_vertices = 10;\n if (typeof max_radial_length !== 'number') max_radial_length = 10;\n var features = [];\n for (i = 0; i < count; i++) {\n var vertices = [],\n circle_offsets = Array.apply(null,\n new Array(num_vertices + 1)).map(Math.random);\n\n circle_offsets.forEach(sumOffsets);\n circle_offsets.forEach(scaleOffsets);\n vertices[vertices.length - 1] = vertices[0]; // close the ring\n\n // center the polygon around something\n vertices = vertices.map(vertexToCoordinate(position(bbox)));\n features.push(feature(polygon([vertices])));\n }\n\n function sumOffsets(cur, index, arr) {\n arr[index] = (index > 0) ? cur + arr[index - 1] : cur;\n }\n\n function scaleOffsets(cur, index) {\n cur = cur * 2 * Math.PI / circle_offsets[circle_offsets.length - 1];\n var radial_scaler = Math.random();\n vertices.push([\n radial_scaler * max_radial_length * Math.sin(cur),\n radial_scaler * max_radial_length * Math.cos(cur)\n ]);\n }\n\n return collection(features);\n};\n\n\nfunction vertexToCoordinate(hub) {\n return function(cur, index) { return [cur[0] + hub[0], cur[1] + hub[1]]; };\n}\n\nfunction rnd() { return Math.random() - 0.5; }\nfunction lon() { return rnd() * 360; }\nfunction lat() { return rnd() * 180; }\n\nfunction point(coordinates) {\n return {\n type: 'Point',\n coordinates: coordinates || [lon(), lat()]\n };\n}\n\nfunction coordInBBBOX(bbox) {\n return [\n (Math.random() * (bbox[2] - bbox[0])) + bbox[0],\n (Math.random() * (bbox[3] - bbox[1])) + bbox[1]];\n}\n\nfunction pointInBBBOX() {\n return {\n type: 'Point',\n coordinates: [lon(), lat()]\n };\n}\n\nfunction polygon(coordinates) {\n return {\n type: 'Polygon',\n coordinates: coordinates\n };\n}\n\nfunction feature(geom) {\n return {\n type: 'Feature',\n geometry: geom,\n properties: {}\n };\n}\n\nfunction collection(f) {\n return {\n type: 'FeatureCollection',\n features: f\n };\n}\n","'use strict';\n\nvar color = require('chartjs-color');\nvar helpers = require('../helpers/index');\n\nfunction interpolate(start, view, model, ease) {\n\tvar keys = Object.keys(model);\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\n\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\tkey = keys[i];\n\n\t\ttarget = model[key];\n\n\t\t// if a value is added to the model after pivot() has been called, the view\n\t\t// doesn't contain it, so let's initialize the view to the target value.\n\t\tif (!view.hasOwnProperty(key)) {\n\t\t\tview[key] = target;\n\t\t}\n\n\t\tactual = view[key];\n\n\t\tif (actual === target || key[0] === '_') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!start.hasOwnProperty(key)) {\n\t\t\tstart[key] = actual;\n\t\t}\n\n\t\torigin = start[key];\n\n\t\ttype = typeof target;\n\n\t\tif (type === typeof origin) {\n\t\t\tif (type === 'string') {\n\t\t\t\tc0 = color(origin);\n\t\t\t\tif (c0.valid) {\n\t\t\t\t\tc1 = color(target);\n\t\t\t\t\tif (c1.valid) {\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (type === 'number' && isFinite(origin) && isFinite(target)) {\n\t\t\t\tview[key] = origin + (target - origin) * ease;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tview[key] = target;\n\t}\n}\n\nvar Element = function(configuration) {\n\thelpers.extend(this, configuration);\n\tthis.initialize.apply(this, arguments);\n};\n\nhelpers.extend(Element.prototype, {\n\n\tinitialize: function() {\n\t\tthis.hidden = false;\n\t},\n\n\tpivot: function() {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\tme._view = helpers.clone(me._model);\n\t\t}\n\t\tme._start = {};\n\t\treturn me;\n\t},\n\n\ttransition: function(ease) {\n\t\tvar me = this;\n\t\tvar model = me._model;\n\t\tvar start = me._start;\n\t\tvar view = me._view;\n\n\t\t// No animation -> No Transition\n\t\tif (!model || ease === 1) {\n\t\t\tme._view = model;\n\t\t\tme._start = null;\n\t\t\treturn me;\n\t\t}\n\n\t\tif (!view) {\n\t\t\tview = me._view = {};\n\t\t}\n\n\t\tif (!start) {\n\t\t\tstart = me._start = {};\n\t\t}\n\n\t\tinterpolate(start, view, model, ease);\n\n\t\treturn me;\n\t},\n\n\ttooltipPosition: function() {\n\t\treturn {\n\t\t\tx: this._model.x,\n\t\t\ty: this._model.y\n\t\t};\n\t},\n\n\thasValue: function() {\n\t\treturn helpers.isNumber(this._model.x) && helpers.isNumber(this._model.y);\n\t}\n});\n\nElement.extend = helpers.inherits;\n\nmodule.exports = Element;\n","// https://en.wikipedia.org/wiki/Rhumb_line\n// http://www.movable-type.co.uk/scripts/latlong.html#rhumblines\nvar helpers = require('@turf/helpers');\nvar getCoord = require('@turf/invariant').getCoord;\nvar GeodesyLatLon = require('geodesy').LatLonSpherical;\nvar point = helpers.point;\nvar radiansToDistance = helpers.radiansToDistance;\nvar distanceToRadians = helpers.distanceToRadians;\n\n/**\n * Returns the destination {@link Point} having travelled the given distance along a Rhumb line from the\n * origin Point with the (constant) given bearing.\n *\n * @name rhumbDestination\n * @param {Geometry|Feature|Array} origin starting point\n * @param {number} distance distance from the starting point\n * @param {number} bearing constant bearing angle ranging from -180 to 180 degrees from north\n * @param {string} [units=kilometers] miles, kilometers, degrees, or radians\n * @returns {Feature} Destination point.\n * @example\n * var point = turf.point([-75.343, 39.984], {\"marker-color\": \"F00\"});\n * var distance = 50;\n * var bearing = 90;\n * var units = 'miles';\n *\n * var destination = turf.rhumbDestination(point, distance, bearing, units);\n *\n * //addToMap\n * var addToMap = [point, destination]\n * destination.properties['marker-color'] = '#00F';\n */\nmodule.exports = function (origin, distance, bearing, units) {\n // validation\n if (!origin) throw new Error('origin is required');\n if (distance === undefined || distance === null) throw new Error('distance is required');\n if (bearing === undefined || bearing === null) throw new Error('bearing is required');\n if (!(distance >= 0)) throw new Error('distance must be greater than 0');\n\n units = units || 'kilometers';\n var distanceInMeters = radiansToDistance(distanceToRadians(distance, units), 'meters');\n var coords = getCoord(origin);\n var pt = new GeodesyLatLon(coords[1], coords[0]);\n var destination = pt.rhumbDestinationPoint(distanceInMeters, bearing);\n\n // compensate the crossing of the 180th meridian (https://macwright.org/2016/09/26/the-180th-meridian.html)\n // solution from https://github.com/mapbox/mapbox-gl-js/issues/3250#issuecomment-294887678\n destination.lon += (destination.lon - coords[0] > 180) ? -360 : (coords[0] - destination.lon > 180) ? 360 : 0;\n return point([destination.lon, destination.lat]);\n};\n","/**\n * @module ol/reproj/Image\n */\nimport {ERROR_THRESHOLD} from './common.js';\n\nimport ImageBase from '../ImageBase.js';\nimport ImageState from '../ImageState.js';\nimport {listen, unlistenByKey} from '../events.js';\nimport EventType from '../events/EventType.js';\nimport {getCenter, getIntersection, getHeight, getWidth} from '../extent.js';\nimport {calculateSourceResolution, render as renderReprojected} from '../reproj.js';\nimport Triangulation from './Triangulation.js';\n\n\n/**\n * @typedef {function(import(\"../extent.js\").Extent, number, number) : import(\"../ImageBase.js\").default} FunctionType\n */\n\n\n/**\n * @classdesc\n * Class encapsulating single reprojected image.\n * See {@link module:ol/source/Image~ImageSource}.\n */\nvar ReprojImage = /*@__PURE__*/(function (ImageBase) {\n function ReprojImage(sourceProj, targetProj, targetExtent, targetResolution, pixelRatio, getImageFunction) {\n var maxSourceExtent = sourceProj.getExtent();\n var maxTargetExtent = targetProj.getExtent();\n\n var limitedTargetExtent = maxTargetExtent ?\n getIntersection(targetExtent, maxTargetExtent) : targetExtent;\n\n var targetCenter = getCenter(limitedTargetExtent);\n var sourceResolution = calculateSourceResolution(\n sourceProj, targetProj, targetCenter, targetResolution);\n\n var errorThresholdInPixels = ERROR_THRESHOLD;\n\n var triangulation = new Triangulation(\n sourceProj, targetProj, limitedTargetExtent, maxSourceExtent,\n sourceResolution * errorThresholdInPixels);\n\n var sourceExtent = triangulation.calculateSourceExtent();\n var sourceImage = getImageFunction(sourceExtent, sourceResolution, pixelRatio);\n var state = ImageState.LOADED;\n if (sourceImage) {\n state = ImageState.IDLE;\n }\n var sourcePixelRatio = sourceImage ? sourceImage.getPixelRatio() : 1;\n\n ImageBase.call(this, targetExtent, targetResolution, sourcePixelRatio, state);\n\n /**\n * @private\n * @type {import(\"../proj/Projection.js\").default}\n */\n this.targetProj_ = targetProj;\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.maxSourceExtent_ = maxSourceExtent;\n\n /**\n * @private\n * @type {!import(\"./Triangulation.js\").default}\n */\n this.triangulation_ = triangulation;\n\n /**\n * @private\n * @type {number}\n */\n this.targetResolution_ = targetResolution;\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.targetExtent_ = targetExtent;\n\n /**\n * @private\n * @type {import(\"../ImageBase.js\").default}\n */\n this.sourceImage_ = sourceImage;\n\n /**\n * @private\n * @type {number}\n */\n this.sourcePixelRatio_ = sourcePixelRatio;\n\n /**\n * @private\n * @type {HTMLCanvasElement}\n */\n this.canvas_ = null;\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.sourceListenerKey_ = null;\n }\n\n if ( ImageBase ) ReprojImage.__proto__ = ImageBase;\n ReprojImage.prototype = Object.create( ImageBase && ImageBase.prototype );\n ReprojImage.prototype.constructor = ReprojImage;\n\n /**\n * @inheritDoc\n */\n ReprojImage.prototype.disposeInternal = function disposeInternal () {\n if (this.state == ImageState.LOADING) {\n this.unlistenSource_();\n }\n ImageBase.prototype.disposeInternal.call(this);\n };\n\n /**\n * @inheritDoc\n */\n ReprojImage.prototype.getImage = function getImage () {\n return this.canvas_;\n };\n\n /**\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n ReprojImage.prototype.getProjection = function getProjection () {\n return this.targetProj_;\n };\n\n /**\n * @private\n */\n ReprojImage.prototype.reproject_ = function reproject_ () {\n var sourceState = this.sourceImage_.getState();\n if (sourceState == ImageState.LOADED) {\n var width = getWidth(this.targetExtent_) / this.targetResolution_;\n var height = getHeight(this.targetExtent_) / this.targetResolution_;\n\n this.canvas_ = renderReprojected(width, height, this.sourcePixelRatio_,\n this.sourceImage_.getResolution(), this.maxSourceExtent_,\n this.targetResolution_, this.targetExtent_, this.triangulation_, [{\n extent: this.sourceImage_.getExtent(),\n image: this.sourceImage_.getImage()\n }], 0);\n }\n this.state = sourceState;\n this.changed();\n };\n\n /**\n * @inheritDoc\n */\n ReprojImage.prototype.load = function load () {\n if (this.state == ImageState.IDLE) {\n this.state = ImageState.LOADING;\n this.changed();\n\n var sourceState = this.sourceImage_.getState();\n if (sourceState == ImageState.LOADED || sourceState == ImageState.ERROR) {\n this.reproject_();\n } else {\n this.sourceListenerKey_ = listen(this.sourceImage_,\n EventType.CHANGE, function(e) {\n var sourceState = this.sourceImage_.getState();\n if (sourceState == ImageState.LOADED || sourceState == ImageState.ERROR) {\n this.unlistenSource_();\n this.reproject_();\n }\n }, this);\n this.sourceImage_.load();\n }\n }\n };\n\n /**\n * @private\n */\n ReprojImage.prototype.unlistenSource_ = function unlistenSource_ () {\n unlistenByKey(/** @type {!import(\"../events.js\").EventsKey} */ (this.sourceListenerKey_));\n this.sourceListenerKey_ = null;\n };\n\n return ReprojImage;\n}(ImageBase));\n\n\nexport default ReprojImage;\n\n//# sourceMappingURL=Image.js.map","/**\n * @module ol/source/Image\n */\nimport {abstract} from '../util.js';\nimport {ENABLE_RASTER_REPROJECTION} from '../reproj/common.js';\nimport ImageState from '../ImageState.js';\nimport {linearFindNearest} from '../array.js';\nimport Event from '../events/Event.js';\nimport {equals} from '../extent.js';\nimport {equivalent} from '../proj.js';\nimport ReprojImage from '../reproj/Image.js';\nimport Source from './Source.js';\n\n\n/**\n * @enum {string}\n */\nvar ImageSourceEventType = {\n\n /**\n * Triggered when an image starts loading.\n * @event ol/source/Image~ImageSourceEvent#imageloadstart\n * @api\n */\n IMAGELOADSTART: 'imageloadstart',\n\n /**\n * Triggered when an image finishes loading.\n * @event ol/source/Image~ImageSourceEvent#imageloadend\n * @api\n */\n IMAGELOADEND: 'imageloadend',\n\n /**\n * Triggered if image loading results in an error.\n * @event ol/source/Image~ImageSourceEvent#imageloaderror\n * @api\n */\n IMAGELOADERROR: 'imageloaderror'\n\n};\n\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/source/Image~ImageSource} instances are instances of this\n * type.\n */\nvar ImageSourceEvent = /*@__PURE__*/(function (Event) {\n function ImageSourceEvent(type, image) {\n\n Event.call(this, type);\n\n /**\n * The image related to the event.\n * @type {import(\"../Image.js\").default}\n * @api\n */\n this.image = image;\n\n }\n\n if ( Event ) ImageSourceEvent.__proto__ = Event;\n ImageSourceEvent.prototype = Object.create( Event && Event.prototype );\n ImageSourceEvent.prototype.constructor = ImageSourceEvent;\n\n return ImageSourceEvent;\n}(Event));\n\n\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions]\n * @property {import(\"../proj.js\").ProjectionLike} projection\n * @property {Array} [resolutions]\n * @property {import(\"./State.js\").default} [state]\n */\n\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for sources providing a single image.\n * @abstract\n * @api\n */\nvar ImageSource = /*@__PURE__*/(function (Source) {\n function ImageSource(options) {\n Source.call(this, {\n attributions: options.attributions,\n projection: options.projection,\n state: options.state\n });\n\n /**\n * @private\n * @type {Array}\n */\n this.resolutions_ = options.resolutions !== undefined ?\n options.resolutions : null;\n\n\n /**\n * @private\n * @type {import(\"../reproj/Image.js\").default}\n */\n this.reprojectedImage_ = null;\n\n\n /**\n * @private\n * @type {number}\n */\n this.reprojectedRevision_ = 0;\n }\n\n if ( Source ) ImageSource.__proto__ = Source;\n ImageSource.prototype = Object.create( Source && Source.prototype );\n ImageSource.prototype.constructor = ImageSource;\n\n /**\n * @return {Array} Resolutions.\n * @override\n */\n ImageSource.prototype.getResolutions = function getResolutions () {\n return this.resolutions_;\n };\n\n /**\n * @protected\n * @param {number} resolution Resolution.\n * @return {number} Resolution.\n */\n ImageSource.prototype.findNearestResolution = function findNearestResolution (resolution) {\n if (this.resolutions_) {\n var idx = linearFindNearest(this.resolutions_, resolution, 0);\n resolution = this.resolutions_[idx];\n }\n return resolution;\n };\n\n /**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../ImageBase.js\").default} Single image.\n */\n ImageSource.prototype.getImage = function getImage (extent, resolution, pixelRatio, projection) {\n var sourceProjection = this.getProjection();\n if (!ENABLE_RASTER_REPROJECTION ||\n !sourceProjection ||\n !projection ||\n equivalent(sourceProjection, projection)) {\n if (sourceProjection) {\n projection = sourceProjection;\n }\n return this.getImageInternal(extent, resolution, pixelRatio, projection);\n } else {\n if (this.reprojectedImage_) {\n if (this.reprojectedRevision_ == this.getRevision() &&\n equivalent(\n this.reprojectedImage_.getProjection(), projection) &&\n this.reprojectedImage_.getResolution() == resolution &&\n equals(this.reprojectedImage_.getExtent(), extent)) {\n return this.reprojectedImage_;\n }\n this.reprojectedImage_.dispose();\n this.reprojectedImage_ = null;\n }\n\n this.reprojectedImage_ = new ReprojImage(\n sourceProjection, projection, extent, resolution, pixelRatio,\n function(extent, resolution, pixelRatio) {\n return this.getImageInternal(extent, resolution,\n pixelRatio, sourceProjection);\n }.bind(this));\n this.reprojectedRevision_ = this.getRevision();\n\n return this.reprojectedImage_;\n }\n };\n\n /**\n * @abstract\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../ImageBase.js\").default} Single image.\n * @protected\n */\n ImageSource.prototype.getImageInternal = function getImageInternal (extent, resolution, pixelRatio, projection) {\n return abstract();\n };\n\n /**\n * Handle image change events.\n * @param {import(\"../events/Event.js\").default} event Event.\n * @protected\n */\n ImageSource.prototype.handleImageChange = function handleImageChange (event) {\n var image = /** @type {import(\"../Image.js\").default} */ (event.target);\n switch (image.getState()) {\n case ImageState.LOADING:\n this.loading = true;\n this.dispatchEvent(\n new ImageSourceEvent(ImageSourceEventType.IMAGELOADSTART,\n image));\n break;\n case ImageState.LOADED:\n this.loading = false;\n this.dispatchEvent(\n new ImageSourceEvent(ImageSourceEventType.IMAGELOADEND,\n image));\n break;\n case ImageState.ERROR:\n this.loading = false;\n this.dispatchEvent(\n new ImageSourceEvent(ImageSourceEventType.IMAGELOADERROR,\n image));\n break;\n default:\n // pass\n }\n };\n\n return ImageSource;\n}(Source));\n\n\n/**\n * Default image load function for image sources that use import(\"../Image.js\").Image image\n * instances.\n * @param {import(\"../Image.js\").default} image Image.\n * @param {string} src Source.\n */\nexport function defaultImageLoadFunction(image, src) {\n /** @type {HTMLImageElement|HTMLVideoElement} */ (image.getImage()).src = src;\n}\n\n\nexport default ImageSource;\n\n//# sourceMappingURL=Image.js.map","'use strict';\n\nmodule.exports = lineclip;\n\nlineclip.polyline = lineclip;\nlineclip.polygon = polygonclip;\n\n\n// Cohen-Sutherland line clippign algorithm, adapted to efficiently\n// handle polylines rather than just segments\n\nfunction lineclip(points, bbox, result) {\n\n var len = points.length,\n codeA = bitCode(points[0], bbox),\n part = [],\n i, a, b, codeB, lastCode;\n\n if (!result) result = [];\n\n for (i = 1; i < len; i++) {\n a = points[i - 1];\n b = points[i];\n codeB = lastCode = bitCode(b, bbox);\n\n while (true) {\n\n if (!(codeA | codeB)) { // accept\n part.push(a);\n\n if (codeB !== lastCode) { // segment went outside\n part.push(b);\n\n if (i < len - 1) { // start a new line\n result.push(part);\n part = [];\n }\n } else if (i === len - 1) {\n part.push(b);\n }\n break;\n\n } else if (codeA & codeB) { // trivial reject\n break;\n\n } else if (codeA) { // a outside, intersect with clip edge\n a = intersect(a, b, codeA, bbox);\n codeA = bitCode(a, bbox);\n\n } else { // b outside\n b = intersect(a, b, codeB, bbox);\n codeB = bitCode(b, bbox);\n }\n }\n\n codeA = lastCode;\n }\n\n if (part.length) result.push(part);\n\n return result;\n}\n\n// Sutherland-Hodgeman polygon clipping algorithm\n\nfunction polygonclip(points, bbox) {\n\n var result, edge, prev, prevInside, i, p, inside;\n\n // clip against each side of the clip rectangle\n for (edge = 1; edge <= 8; edge *= 2) {\n result = [];\n prev = points[points.length - 1];\n prevInside = !(bitCode(prev, bbox) & edge);\n\n for (i = 0; i < points.length; i++) {\n p = points[i];\n inside = !(bitCode(p, bbox) & edge);\n\n // if segment goes through the clip window, add an intersection\n if (inside !== prevInside) result.push(intersect(prev, p, edge, bbox));\n\n if (inside) result.push(p); // add a point if it's inside\n\n prev = p;\n prevInside = inside;\n }\n\n points = result;\n\n if (!points.length) break;\n }\n\n return result;\n}\n\n// intersect a segment against one of the 4 lines that make up the bbox\n\nfunction intersect(a, b, edge, bbox) {\n return edge & 8 ? [a[0] + (b[0] - a[0]) * (bbox[3] - a[1]) / (b[1] - a[1]), bbox[3]] : // top\n edge & 4 ? [a[0] + (b[0] - a[0]) * (bbox[1] - a[1]) / (b[1] - a[1]), bbox[1]] : // bottom\n edge & 2 ? [bbox[2], a[1] + (b[1] - a[1]) * (bbox[2] - a[0]) / (b[0] - a[0])] : // right\n edge & 1 ? [bbox[0], a[1] + (b[1] - a[1]) * (bbox[0] - a[0]) / (b[0] - a[0])] : // left\n null;\n}\n\n// bit code reflects the point position relative to the bbox:\n\n// left mid right\n// top 1001 1000 1010\n// mid 0001 0000 0010\n// bottom 0101 0100 0110\n\nfunction bitCode(p, bbox) {\n var code = 0;\n\n if (p[0] < bbox[0]) code |= 1; // left\n else if (p[0] > bbox[2]) code |= 2; // right\n\n if (p[1] < bbox[1]) code |= 4; // bottom\n else if (p[1] > bbox[3]) code |= 8; // top\n\n return code;\n}\n","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Vincenty Direct and Inverse Solution of Geodesics on the Ellipsoid (c) Chris Veness 2002-2017 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong-vincenty.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-latlon-vincenty.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var LatLon = require('./latlon-ellipsoidal.js'); // ≡ import LatLon from 'latlon-ellipsoidal.js'\n\n\n/**\n * Direct and inverse solutions of geodesics on the ellipsoid using Vincenty formulae.\n *\n * From: T Vincenty, \"Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of\n * nested equations\", Survey Review, vol XXIII no 176, 1975.\n * www.ngs.noaa.gov/PUBS_LIB/inverse.pdf.\n *\n * @module latlon-vincenty\n * @extends latlon-ellipsoidal\n */\n/** @class LatLon */\n\n\n/**\n * Returns the distance between ‘this’ point and destination point along a geodesic, using Vincenty\n * inverse solution.\n *\n * Note: the datum used is of ‘this’ point; distance is on the surface of the ellipsoid (height is\n * ignored).\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns (Number} Distance in metres between points or NaN if failed to converge.\n *\n * @example\n * var p1 = new LatLon(50.06632, -5.71475);\n * var p2 = new LatLon(58.64402, -3.07009);\n * var d = p1.distanceTo(p2); // 969,954.166 m\n */\nLatLon.prototype.distanceTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n try {\n return Number(this.inverse(point).distance.toFixed(3)); // round to 1mm precision\n } catch (e) {\n return NaN; // failed to converge\n }\n};\n\n\n/**\n * Returns the initial bearing (forward azimuth) to travel along a geodesic from ‘this’ point to the\n * specified point, using Vincenty inverse solution.\n *\n * Note: the datum used is of ‘this’ point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {number} initial Bearing in degrees from north (0°..360°) or NaN if failed to converge.\n *\n * @example\n * var p1 = new LatLon(50.06632, -5.71475);\n * var p2 = new LatLon(58.64402, -3.07009);\n * var b1 = p1.initialBearingTo(p2); // 9.1419°\n */\nLatLon.prototype.initialBearingTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n try {\n return Number(this.inverse(point).initialBearing.toFixed(9)); // round to 0.00001″ precision\n } catch (e) {\n return NaN; // failed to converge\n }\n};\n\n\n/**\n * Returns the final bearing (reverse azimuth) having travelled along a geodesic from ‘this’ point\n * to the specified point, using Vincenty inverse solution.\n *\n * Note: the datum used is of ‘this’ point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {number} Initial bearing in degrees from north (0°..360°) or NaN if failed to converge.\n *\n * @example\n * var p1 = new LatLon(50.06632, -5.71475);\n * var p2 = new LatLon(58.64402, -3.07009);\n * var b2 = p1.finalBearingTo(p2); // 11.2972°\n */\nLatLon.prototype.finalBearingTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n try {\n return Number(this.inverse(point).finalBearing.toFixed(9)); // round to 0.00001″ precision\n } catch (e) {\n return NaN; // failed to converge\n }\n};\n\n\n/**\n * Returns the destination point having travelled the given distance along a geodesic given by\n * initial bearing from ‘this’ point, using Vincenty direct solution.\n *\n * Note: the datum used is of ‘this’ point; distance is on the surface of the ellipsoid (height is\n * ignored).\n *\n * @param {number} distance - Distance travelled along the geodesic in metres.\n * @param {number} initialBearing - Initial bearing in degrees from north.\n * @returns {LatLon} Destination point.\n *\n * @example\n * var p1 = new LatLon(-37.95103, 144.42487);\n * var p2 = p1.destinationPoint(54972.271, 306.86816); // 37.6528°S, 143.9265°E\n */\nLatLon.prototype.destinationPoint = function(distance, initialBearing) {\n return this.direct(Number(distance), Number(initialBearing)).point;\n};\n\n\n/**\n * Returns the final bearing (reverse azimuth) having travelled along a geodesic given by initial\n * bearing for a given distance from ‘this’ point, using Vincenty direct solution.\n *\n * Note: the datum used is of ‘this’ point; distance is on the surface of the ellipsoid (height is\n * ignored).\n *\n * @param {number} distance - Distance travelled along the geodesic in metres.\n * @param {LatLon} initialBearing - Initial bearing in degrees from north.\n * @returns {number} Final bearing in degrees from north (0°..360°).\n *\n * @example\n * var p1 = new LatLon(-37.95103, 144.42487);\n * var b2 = p1.finalBearingOn(306.86816, 54972.271); // 307.1736°\n */\nLatLon.prototype.finalBearingOn = function(distance, initialBearing) {\n return Number(this.direct(Number(distance), Number(initialBearing)).finalBearing.toFixed(9)); // round to 0.00001″ precision\n};\n\n\n/**\n * Vincenty direct calculation.\n *\n * @private\n * @param {number} distance - Distance along bearing in metres.\n * @param {number} initialBearing - Initial bearing in degrees from north.\n * @returns (Object} Object including point (destination point), finalBearing.\n * @throws {Error} If formula failed to converge.\n */\nLatLon.prototype.direct = function(distance, initialBearing) {\n var φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();\n var α1 = initialBearing.toRadians();\n var s = distance;\n\n var a = this.datum.ellipsoid.a, b = this.datum.ellipsoid.b, f = this.datum.ellipsoid.f;\n\n var sinα1 = Math.sin(α1);\n var cosα1 = Math.cos(α1);\n\n var tanU1 = (1-f) * Math.tan(φ1), cosU1 = 1 / Math.sqrt((1 + tanU1*tanU1)), sinU1 = tanU1 * cosU1;\n var σ1 = Math.atan2(tanU1, cosα1);\n var sinα = cosU1 * sinα1;\n var cosSqα = 1 - sinα*sinα;\n var uSq = cosSqα * (a*a - b*b) / (b*b);\n var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));\n var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));\n\n var cos2σM, sinσ, cosσ, Δσ;\n\n var σ = s / (b*A), σʹ, iterations = 0;\n do {\n cos2σM = Math.cos(2*σ1 + σ);\n sinσ = Math.sin(σ);\n cosσ = Math.cos(σ);\n Δσ = B*sinσ*(cos2σM+B/4*(cosσ*(-1+2*cos2σM*cos2σM)-\n B/6*cos2σM*(-3+4*sinσ*sinσ)*(-3+4*cos2σM*cos2σM)));\n σʹ = σ;\n σ = s / (b*A) + Δσ;\n } while (Math.abs(σ-σʹ) > 1e-12 && ++iterations<100);\n if (iterations >= 100) throw new Error('Formula failed to converge'); // not possible!\n\n var x = sinU1*sinσ - cosU1*cosσ*cosα1;\n var φ2 = Math.atan2(sinU1*cosσ + cosU1*sinσ*cosα1, (1-f)*Math.sqrt(sinα*sinα + x*x));\n var λ = Math.atan2(sinσ*sinα1, cosU1*cosσ - sinU1*sinσ*cosα1);\n var C = f/16*cosSqα*(4+f*(4-3*cosSqα));\n var L = λ - (1-C) * f * sinα *\n (σ + C*sinσ*(cos2σM+C*cosσ*(-1+2*cos2σM*cos2σM)));\n var λ2 = (λ1+L+3*Math.PI)%(2*Math.PI) - Math.PI; // normalise to -180..+180\n\n var α2 = Math.atan2(sinα, -x);\n α2 = (α2 + 2*Math.PI) % (2*Math.PI); // normalise to 0..360\n\n return {\n point: new LatLon(φ2.toDegrees(), λ2.toDegrees(), this.datum),\n finalBearing: α2.toDegrees(),\n iterations: iterations,\n };\n};\n\n\n/**\n * Vincenty inverse calculation.\n *\n * @private\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {Object} Object including distance, initialBearing, finalBearing.\n * @throws {Error} If λ > π or formula failed to converge.\n */\nLatLon.prototype.inverse = function(point) {\n var p1 = this, p2 = point;\n if (p1.lon == -180) p1.lon = 180;\n var φ1 = p1.lat.toRadians(), λ1 = p1.lon.toRadians();\n var φ2 = p2.lat.toRadians(), λ2 = p2.lon.toRadians();\n\n var a = this.datum.ellipsoid.a, b = this.datum.ellipsoid.b, f = this.datum.ellipsoid.f;\n\n var L = λ2 - λ1;\n var tanU1 = (1-f) * Math.tan(φ1), cosU1 = 1 / Math.sqrt((1 + tanU1*tanU1)), sinU1 = tanU1 * cosU1;\n var tanU2 = (1-f) * Math.tan(φ2), cosU2 = 1 / Math.sqrt((1 + tanU2*tanU2)), sinU2 = tanU2 * cosU2;\n\n var sinλ, cosλ, sinSqσ, sinσ=0, cosσ=0, σ=0, sinα, cosSqα=0, cos2σM=0, C;\n\n var λ = L, λʹ, iterations = 0;\n do {\n sinλ = Math.sin(λ);\n cosλ = Math.cos(λ);\n sinSqσ = (cosU2*sinλ) * (cosU2*sinλ) + (cosU1*sinU2-sinU1*cosU2*cosλ) * (cosU1*sinU2-sinU1*cosU2*cosλ);\n if (sinSqσ == 0) break; // co-incident points\n sinσ = Math.sqrt(sinSqσ);\n cosσ = sinU1*sinU2 + cosU1*cosU2*cosλ;\n σ = Math.atan2(sinσ, cosσ);\n sinα = cosU1 * cosU2 * sinλ / sinσ;\n cosSqα = 1 - sinα*sinα;\n cos2σM = (cosSqα != 0) ? (cosσ - 2*sinU1*sinU2/cosSqα) : 0; // equatorial line: cosSqα=0 (§6)\n C = f/16*cosSqα*(4+f*(4-3*cosSqα));\n λʹ = λ;\n λ = L + (1-C) * f * sinα * (σ + C*sinσ*(cos2σM+C*cosσ*(-1+2*cos2σM*cos2σM)));\n if (Math.abs(λ) > Math.PI) throw new Error('λ > π');\n } while (Math.abs(λ-λʹ) > 1e-12 && ++iterations<1000);\n if (iterations >= 1000) throw new Error('Formula failed to converge');\n\n var uSq = cosSqα * (a*a - b*b) / (b*b);\n var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));\n var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));\n var Δσ = B*sinσ*(cos2σM+B/4*(cosσ*(-1+2*cos2σM*cos2σM)-\n B/6*cos2σM*(-3+4*sinσ*sinσ)*(-3+4*cos2σM*cos2σM)));\n\n var s = b*A*(σ-Δσ);\n\n var α1 = Math.atan2(cosU2*sinλ, cosU1*sinU2-sinU1*cosU2*cosλ);\n var α2 = Math.atan2(cosU1*sinλ, -sinU1*cosU2+cosU1*sinU2*cosλ);\n\n α1 = (α1 + 2*Math.PI) % (2*Math.PI); // normalise to 0..360\n α2 = (α2 + 2*Math.PI) % (2*Math.PI); // normalise to 0..360\n\n return {\n distance: s,\n initialBearing: s==0 ? NaN : α1.toDegrees(),\n finalBearing: s==0 ? NaN : α2.toDegrees(),\n iterations: iterations,\n };\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n/** Extend Number object with method to convert numeric degrees to radians */\nif (Number.prototype.toRadians === undefined) {\n Number.prototype.toRadians = function() { return this * Math.PI / 180; };\n}\n\n/** Extend Number object with method to convert radians to numeric (signed) degrees */\nif (Number.prototype.toDegrees === undefined) {\n Number.prototype.toDegrees = function() { return this * 180 / Math.PI; };\n}\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = LatLon; // ≡ export default LatLon\n","var inside = require('@turf/inside');\nvar flattenEach = require('@turf/meta').flattenEach;\nvar lineIntersect = require('@turf/line-intersect');\nvar polyToLinestring = require('@turf/polygon-to-linestring');\n\n/**\n * Boolean-disjoint returns (TRUE) if the intersection of the two geometries is an empty set.\n *\n * @name booleanDisjoint\n * @param {Geometry|Feature} feature1 GeoJSON Feature or Geometry\n * @param {Geometry|Feature} feature2 GeoJSON Feature or Geometry\n * @returns {Boolean} true/false\n * @example\n * const point = turf.point([2, 2]);\n * const line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);\n *\n * turf.booleanDisjoint(line, point);\n * //=true\n */\nmodule.exports = function (feature1, feature2) {\n var boolean;\n flattenEach(feature1, function (flatten1) {\n flattenEach(feature2, function (flatten2) {\n if (boolean === false) return false;\n boolean = disjoint(flatten1.geometry, flatten2.geometry);\n });\n });\n return boolean;\n};\n\n/**\n * Disjoint operation for simple Geometries (Point/LineString/Polygon)\n *\n * @private\n * @param {Geometry} geom1 GeoJSON Geometry\n * @param {Geometry} geom2 GeoJSON Geometry\n * @returns {Boolean} true/false\n */\nfunction disjoint(geom1, geom2) {\n switch (geom1.type) {\n case 'Point':\n switch (geom2.type) {\n case 'Point':\n return !compareCoords(geom1.coordinates, geom2.coordinates);\n case 'LineString':\n return !isPointOnLine(geom2, geom1);\n case 'Polygon':\n return !inside(geom1, geom2);\n }\n /* istanbul ignore next */\n break;\n case 'LineString':\n switch (geom2.type) {\n case 'Point':\n return !isPointOnLine(geom1, geom2);\n case 'LineString':\n return !isLineOnLine(geom1, geom2);\n case 'Polygon':\n return !isLineInPoly(geom2, geom1);\n }\n /* istanbul ignore next */\n break;\n case 'Polygon':\n switch (geom2.type) {\n case 'Point':\n return !inside(geom2, geom1);\n case 'LineString':\n return !isLineInPoly(geom1, geom2);\n case 'Polygon':\n return !isPolyInPoly(geom2, geom1);\n }\n }\n}\n\n// http://stackoverflow.com/a/11908158/1979085\nfunction isPointOnLine(lineString, point) {\n for (var i = 0; i < lineString.coordinates.length - 1; i++) {\n if (isPointOnLineSegment(lineString.coordinates[i], lineString.coordinates[i + 1], point.coordinates)) {\n return true;\n }\n }\n return false;\n}\n\nfunction isLineOnLine(lineString1, lineString2) {\n var doLinesIntersect = lineIntersect(lineString1, lineString2);\n if (doLinesIntersect.features.length > 0) {\n return true;\n }\n return false;\n}\n\nfunction isLineInPoly(polygon, lineString) {\n var doLinesIntersect = lineIntersect(lineString, polyToLinestring(polygon));\n if (doLinesIntersect.features.length > 0) {\n return true;\n }\n return false;\n}\n\n/**\n * Is Polygon (geom1) in Polygon (geom2)\n * Only takes into account outer rings\n * See http://stackoverflow.com/a/4833823/1979085\n *\n * @private\n * @param {Geometry|Feature} feature1 Polygon1\n * @param {Geometry|Feature} feature2 Polygon2\n * @returns {Boolean} true/false\n */\nfunction isPolyInPoly(feature1, feature2) {\n for (var i = 0; i < feature1.coordinates[0].length; i++) {\n if (inside(feature1.coordinates[0][i], feature2)) {\n return true;\n }\n }\n for (var i2 = 0; i2 < feature2.coordinates[0].length; i2++) {\n if (inside(feature2.coordinates[0][i2], feature1)) {\n return true;\n }\n }\n return false;\n}\n\nfunction isPointOnLineSegment(LineSegmentStart, LineSegmentEnd, Point) {\n var dxc = Point[0] - LineSegmentStart[0];\n var dyc = Point[1] - LineSegmentStart[1];\n var dxl = LineSegmentEnd[0] - LineSegmentStart[0];\n var dyl = LineSegmentEnd[1] - LineSegmentStart[1];\n var cross = dxc * dyl - dyc * dxl;\n if (cross !== 0) {\n return false;\n }\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n if (dxl > 0) {\n return LineSegmentStart[0] <= Point[0] && Point[0] <= LineSegmentEnd[0];\n } else {\n return LineSegmentEnd[0] <= Point[0] && Point[0] <= LineSegmentStart[0];\n }\n } else if (dyl > 0) {\n return LineSegmentStart[1] <= Point[1] && Point[1] <= LineSegmentEnd[1];\n } else {\n return LineSegmentEnd[1] <= Point[1] && Point[1] <= LineSegmentStart[1];\n }\n}\n\n/**\n * compareCoords\n *\n * @private\n * @param {[number, number]} pair1 point [x,y]\n * @param {[number, number]} pair2 point [x,y]\n * @returns {boolean} true/false if coord pairs match\n */\nfunction compareCoords(pair1, pair2) {\n return pair1[0] === pair2[0] && pair1[1] === pair2[1];\n}\n","import {mapActions} from 'vuex'\r\n\r\nimport parse from 'wellknown'\r\nimport {flatten} from '@helpers/reducers'\r\nimport {nutrientClassification, nutrientMap} from '@frs/map-styles'\r\nimport {mapToGeoJsonFeatures} from '@helpers/map-color-schemes'\r\n\r\nimport DisableDefaultMapInteractionsMixin from '@frs/mixins/DisableDefaultMapInteractionsMixin'\r\n\r\nexport default {\r\n mixins: [\r\n DisableDefaultMapInteractionsMixin\r\n ],\r\n computed: {\r\n selectedNutrientMaps () {\r\n return [this.map]\r\n },\r\n nutrientClassificationFeatures () {\r\n if (!this.showClassifications) return []\r\n return this.selectedNutrientMaps.reduce((features, nutrientMap) =>\r\n features.concat(\r\n nutrientMap.classifications !== undefined ? nutrientMap.classifications.map((classification, index) => {\r\n return {\r\n type: 'Feature',\r\n geometry: parse(classification.geometry),\r\n properties: {\r\n createdAt: classification.createdAt,\r\n id: classification.id,\r\n orgUnitId: classification.orgUnitId,\r\n probingMethod: classification.probingMethod,\r\n timestamp: classification.timestamp,\r\n type: classification.type,\r\n value: classification.value,\r\n showZentroid: this.showZentroid,\r\n measurement: nutrientMap.measurements[index] ? nutrientMap.measurements[index].value : null\r\n }\r\n }\r\n }) : []\r\n ), []\r\n )\r\n },\r\n nutrientZoneFeatures () {\r\n const zoneToFeature = ({geometry, value: contentClass}) => ({\r\n type: 'Feature',\r\n geometry: parse(geometry),\r\n properties: {\r\n contentClass,\r\n id: this.SR_FieldRecordSystem[`Zone_${contentClass}`]\r\n }\r\n })\r\n const mapToFeatures = nutrientMap => nutrientMap.zones.map(zoneToFeature)\r\n\r\n return this.selectedNutrientMaps.map(mapToFeatures).reduce(flatten, [])\r\n },\r\n nutrientMapPlaceholderFeatures () {\r\n const fieldData = this.$store.state.fieldRecordSystem.data.field\r\n\r\n const fieldIdToPlaceholder = fieldId => (fieldId ? {\r\n type: 'Feature',\r\n geometry: parse(fieldData[fieldId].geometry),\r\n properties: {\r\n placeholder: 'Keine Nährstoffdaten'\r\n }\r\n } : {})\r\n\r\n return fieldIdToPlaceholder(this.fieldId)\r\n },\r\n nutrientMapFeatures () {\r\n return this.nutrientZoneFeatures\r\n },\r\n features () {\r\n if (this.map.zones === undefined) return []\r\n\r\n return mapToGeoJsonFeatures(this.map, 'agrosat')\r\n },\r\n styles () {\r\n return {\r\n nutrientMap: nutrientMap,\r\n classification: nutrientClassification\r\n }\r\n }\r\n },\r\n methods: {\r\n ...mapActions('fieldRecordSystem/map', [\r\n 'focus'\r\n ])\r\n }\r\n}\r\n","var coordEach = require('@turf/meta').coordEach;\nvar clone = require('@turf/clone');\n\nmodule.exports = {\n toMercator: toMercator,\n toWgs84: toWgs84\n};\n\n/**\n * Converts a WGS84 GeoJSON object into Mercator (EPSG:900913) projection\n *\n * @name toMercator\n * @param {GeoJSON} geojson WGS84 GeoJSON object\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {GeoJSON} true/false\n * @example\n * var pt = turf.point([-71,41]);\n * var converted = turf.toMercator(pt);\n *\n * //addToMap\n * var addToMap = [pt, converted];\n */\nfunction toMercator(geojson, mutate) {\n return convert(geojson, mutate, 'mercator');\n}\n\n/**\n * Converts a Mercator (EPSG:900913) GeoJSON object into WGS84 projection\n *\n * @name toWgs84\n * @param {GeoJSON} geojson Mercator GeoJSON object\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {GeoJSON} true/false\n * @example\n * var pt = turf.point([-7903683.846322424, 5012341.663847514]);\n * var converted = turf.toWgs84(pt);\n *\n * //addToMap\n * var addToMap = [pt, converted];\n */\nfunction toWgs84(geojson, mutate) {\n return convert(geojson, mutate, 'wgs84');\n}\n\n\n/**\n * Converts a GeoJSON coordinates to the defined `projection`\n *\n * @private\n * @param {GeoJSON} geojson GeoJSON Feature or Geometry\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @param {string} projection defines the projection system to convert the coordinates to\n * @returns {GeoJSON} true/false\n */\nfunction convert(geojson, mutate, projection) {\n if (!geojson) throw new Error('geojson is required');\n\n if (mutate !== true) geojson = clone(geojson);\n\n coordEach(geojson, function (coord) {\n var newCoord = (projection === 'mercator') ? convertToMercator(coord) : convertToWgs84(coord);\n coord[0] = newCoord[0];\n coord[1] = newCoord[1];\n });\n\n return geojson;\n}\n\n/**\n * Convert lon/lat values to 900913 x/y.\n * (from https://github.com/mapbox/sphericalmercator)\n *\n * @private\n * @param {Array} lonLat WGS84 point\n * @returns {Array} Mercator [x, y] point\n */\nfunction convertToMercator(lonLat) {\n var D2R = Math.PI / 180,\n // 900913 properties\n A = 6378137.0,\n MAXEXTENT = 20037508.342789244;\n\n // compensate longitudes passing the 180th meridian\n // from https://github.com/proj4js/proj4js/blob/master/lib/common/adjust_lon.js\n var adjusted = (Math.abs(lonLat[0]) <= 180) ? lonLat[0] : (lonLat[0] - (sign(lonLat[0]) * 360));\n var xy = [\n A * adjusted * D2R,\n A * Math.log(Math.tan((Math.PI * 0.25) + (0.5 * lonLat[1] * D2R)))\n ];\n\n // if xy value is beyond maxextent (e.g. poles), return maxextent\n if (xy[0] > MAXEXTENT) xy[0] = MAXEXTENT;\n if (xy[0] < -MAXEXTENT) xy[0] = -MAXEXTENT;\n if (xy[1] > MAXEXTENT) xy[1] = MAXEXTENT;\n if (xy[1] < -MAXEXTENT) xy[1] = -MAXEXTENT;\n\n return xy;\n}\n\n/**\n * Convert 900913 x/y values to lon/lat.\n * (from https://github.com/mapbox/sphericalmercator)\n *\n * @private\n * @param {Array} xy Mercator [x, y] point\n * @returns {Array} WGS84 [lon, lat] point\n */\nfunction convertToWgs84(xy) {\n // 900913 properties.\n var R2D = 180 / Math.PI,\n A = 6378137.0;\n\n return [\n (xy[0] * R2D / A),\n ((Math.PI * 0.5) - 2.0 * Math.atan(Math.exp(-xy[1] / A))) * R2D\n ];\n}\n\n/**\n * Returns the sign of the input, or zero\n *\n * @private\n * @param {number} x input\n * @returns {number} -1|0|1 output\n */\nfunction sign(x) {\n return (x < 0) ? -1 : (x > 0) ? 1 : 0;\n}\n","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n","var destination = require('@turf/destination');\nvar polygon = require('@turf/helpers').polygon;\n\n/**\n * Takes a {@link Point} and calculates the circle polygon given a radius in degrees, radians, miles, or kilometers; and steps for precision.\n *\n * @name circle\n * @param {Feature|number[]} center center point\n * @param {number} radius radius of the circle\n * @param {number} [steps=64] number of steps\n * @param {string} [units=kilometers] miles, kilometers, degrees, or radians\n * @param {Object} [properties={}] properties\n * @returns {Feature} circle polygon\n * @example\n * var center = [-75.343, 39.984];\n * var radius = 5;\n * var steps = 10;\n * var units = 'kilometers';\n * var properties = {foo: 'bar'};\n *\n * var circle = turf.circle(center, radius, steps, units, properties);\n *\n * //addToMap\n * var addToMap = [turf.point(center), circle]\n */\nmodule.exports = function (center, radius, steps, units, properties) {\n // validation\n if (!center) throw new Error('center is required');\n if (!radius) throw new Error('radius is required');\n\n // default params\n steps = steps || 64;\n properties = properties || center.properties || {};\n\n var coordinates = [];\n for (var i = 0; i < steps; i++) {\n coordinates.push(destination(center, radius, i * 360 / steps, units).geometry.coordinates);\n }\n coordinates.push(coordinates[0]);\n\n return polygon([coordinates], properties);\n};\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","var meta = require('@turf/meta');\nvar helpers = require('@turf/helpers');\nvar point = helpers.point;\nvar coordEach = meta.coordEach;\nvar featureEach = meta.featureEach;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes a feature or set of features and returns all positions as {@link Point|points}.\n *\n * @name explode\n * @param {FeatureCollection|Feature} geojson input features\n * @returns {FeatureCollection} points representing the exploded input features\n * @throws {Error} if it encounters an unknown geometry type\n * @example\n * var polygon = turf.polygon([[[-81, 41], [-88, 36], [-84, 31], [-80, 33], [-77, 39], [-81, 41]]]);\n *\n * var explode = turf.explode(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, explode]\n */\nmodule.exports = function (geojson) {\n var points = [];\n if (geojson.type === 'FeatureCollection') {\n featureEach(geojson, function (feature) {\n coordEach(feature, function (coord) {\n points.push(point(coord, feature.properties));\n });\n });\n } else {\n coordEach(geojson, function (coord) {\n points.push(point(coord, geojson.properties));\n });\n }\n return featureCollection(points);\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bar = function(context, config) {\n\t\tconfig.type = 'bar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","// Computes the bounding box of the specified hash of GeoJSON objects.\nexport default function(objects) {\n var x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n function boundGeometry(geometry) {\n if (geometry != null && boundGeometryType.hasOwnProperty(geometry.type)) boundGeometryType[geometry.type](geometry);\n }\n\n var boundGeometryType = {\n GeometryCollection: function(o) { o.geometries.forEach(boundGeometry); },\n Point: function(o) { boundPoint(o.coordinates); },\n MultiPoint: function(o) { o.coordinates.forEach(boundPoint); },\n LineString: function(o) { boundLine(o.arcs); },\n MultiLineString: function(o) { o.arcs.forEach(boundLine); },\n Polygon: function(o) { o.arcs.forEach(boundLine); },\n MultiPolygon: function(o) { o.arcs.forEach(boundMultiLine); }\n };\n\n function boundPoint(coordinates) {\n var x = coordinates[0],\n y = coordinates[1];\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n function boundLine(coordinates) {\n coordinates.forEach(boundPoint);\n }\n\n function boundMultiLine(coordinates) {\n coordinates.forEach(boundLine);\n }\n\n for (var key in objects) {\n boundGeometry(objects[key]);\n }\n\n return x1 >= x0 && y1 >= y0 ? [x0, y0, x1, y1] : undefined;\n}\n","export default function(size, hash, equal, type, empty) {\n if (arguments.length === 3) {\n type = Array;\n empty = null;\n }\n\n var store = new type(size = 1 << Math.max(4, Math.ceil(Math.log(size) / Math.LN2))),\n mask = size - 1;\n\n for (var i = 0; i < size; ++i) {\n store[i] = empty;\n }\n\n function add(value) {\n var index = hash(value) & mask,\n match = store[index],\n collisions = 0;\n while (match != empty) {\n if (equal(match, value)) return true;\n if (++collisions >= size) throw new Error(\"full hashset\");\n match = store[index = (index + 1) & mask];\n }\n store[index] = value;\n return true;\n }\n\n function has(value) {\n var index = hash(value) & mask,\n match = store[index],\n collisions = 0;\n while (match != empty) {\n if (equal(match, value)) return true;\n if (++collisions >= size) break;\n match = store[index = (index + 1) & mask];\n }\n return false;\n }\n\n function values() {\n var values = [];\n for (var i = 0, n = store.length; i < n; ++i) {\n var match = store[i];\n if (match != empty) values.push(match);\n }\n return values;\n }\n\n return {\n add: add,\n has: has,\n values: values\n };\n}\n","export default function(size, hash, equal, keyType, keyEmpty, valueType) {\n if (arguments.length === 3) {\n keyType = valueType = Array;\n keyEmpty = null;\n }\n\n var keystore = new keyType(size = 1 << Math.max(4, Math.ceil(Math.log(size) / Math.LN2))),\n valstore = new valueType(size),\n mask = size - 1;\n\n for (var i = 0; i < size; ++i) {\n keystore[i] = keyEmpty;\n }\n\n function set(key, value) {\n var index = hash(key) & mask,\n matchKey = keystore[index],\n collisions = 0;\n while (matchKey != keyEmpty) {\n if (equal(matchKey, key)) return valstore[index] = value;\n if (++collisions >= size) throw new Error(\"full hashmap\");\n matchKey = keystore[index = (index + 1) & mask];\n }\n keystore[index] = key;\n valstore[index] = value;\n return value;\n }\n\n function maybeSet(key, value) {\n var index = hash(key) & mask,\n matchKey = keystore[index],\n collisions = 0;\n while (matchKey != keyEmpty) {\n if (equal(matchKey, key)) return valstore[index];\n if (++collisions >= size) throw new Error(\"full hashmap\");\n matchKey = keystore[index = (index + 1) & mask];\n }\n keystore[index] = key;\n valstore[index] = value;\n return value;\n }\n\n function get(key, missingValue) {\n var index = hash(key) & mask,\n matchKey = keystore[index],\n collisions = 0;\n while (matchKey != keyEmpty) {\n if (equal(matchKey, key)) return valstore[index];\n if (++collisions >= size) break;\n matchKey = keystore[index = (index + 1) & mask];\n }\n return missingValue;\n }\n\n function keys() {\n var keys = [];\n for (var i = 0, n = keystore.length; i < n; ++i) {\n var matchKey = keystore[i];\n if (matchKey != keyEmpty) keys.push(matchKey);\n }\n return keys;\n }\n\n return {\n set: set,\n maybeSet: maybeSet, // set if unset\n get: get,\n keys: keys\n };\n}\n","export default function(pointA, pointB) {\n return pointA[0] === pointB[0] && pointA[1] === pointB[1];\n}\n","// TODO if quantized, use simpler Int32 hashing?\n\nvar buffer = new ArrayBuffer(16),\n floats = new Float64Array(buffer),\n uints = new Uint32Array(buffer);\n\nexport default function(point) {\n floats[0] = point[0];\n floats[1] = point[1];\n var hash = uints[0] ^ uints[1];\n hash = hash << 5 ^ hash >> 7 ^ uints[2] ^ uints[3];\n return hash & 0x7fffffff;\n}\n","import hashset from \"./hash/hashset\";\nimport hashmap from \"./hash/hashmap\";\nimport equalPoint from \"./hash/point-equal\";\nimport hashPoint from \"./hash/point-hash\";\n\n// Given an extracted (pre-)topology, identifies all of the junctions. These are\n// the points at which arcs (lines or rings) will need to be cut so that each\n// arc is represented uniquely.\n//\n// A junction is a point where at least one arc deviates from another arc going\n// through the same point. For example, consider the point B. If there is a arc\n// through ABC and another arc through CBA, then B is not a junction because in\n// both cases the adjacent point pairs are {A,C}. However, if there is an\n// additional arc ABD, then {A,D} != {A,C}, and thus B becomes a junction.\n//\n// For a closed ring ABCA, the first point A’s adjacent points are the second\n// and last point {B,C}. For a line, the first and last point are always\n// considered junctions, even if the line is closed; this ensures that a closed\n// line is never rotated.\nexport default function(topology) {\n var coordinates = topology.coordinates,\n lines = topology.lines,\n rings = topology.rings,\n indexes = index(),\n visitedByIndex = new Int32Array(coordinates.length),\n leftByIndex = new Int32Array(coordinates.length),\n rightByIndex = new Int32Array(coordinates.length),\n junctionByIndex = new Int8Array(coordinates.length),\n junctionCount = 0, // upper bound on number of junctions\n i, n,\n previousIndex,\n currentIndex,\n nextIndex;\n\n for (i = 0, n = coordinates.length; i < n; ++i) {\n visitedByIndex[i] = leftByIndex[i] = rightByIndex[i] = -1;\n }\n\n for (i = 0, n = lines.length; i < n; ++i) {\n var line = lines[i],\n lineStart = line[0],\n lineEnd = line[1];\n currentIndex = indexes[lineStart];\n nextIndex = indexes[++lineStart];\n ++junctionCount, junctionByIndex[currentIndex] = 1; // start\n while (++lineStart <= lineEnd) {\n sequence(i, previousIndex = currentIndex, currentIndex = nextIndex, nextIndex = indexes[lineStart]);\n }\n ++junctionCount, junctionByIndex[nextIndex] = 1; // end\n }\n\n for (i = 0, n = coordinates.length; i < n; ++i) {\n visitedByIndex[i] = -1;\n }\n\n for (i = 0, n = rings.length; i < n; ++i) {\n var ring = rings[i],\n ringStart = ring[0] + 1,\n ringEnd = ring[1];\n previousIndex = indexes[ringEnd - 1];\n currentIndex = indexes[ringStart - 1];\n nextIndex = indexes[ringStart];\n sequence(i, previousIndex, currentIndex, nextIndex);\n while (++ringStart <= ringEnd) {\n sequence(i, previousIndex = currentIndex, currentIndex = nextIndex, nextIndex = indexes[ringStart]);\n }\n }\n\n function sequence(i, previousIndex, currentIndex, nextIndex) {\n if (visitedByIndex[currentIndex] === i) return; // ignore self-intersection\n visitedByIndex[currentIndex] = i;\n var leftIndex = leftByIndex[currentIndex];\n if (leftIndex >= 0) {\n var rightIndex = rightByIndex[currentIndex];\n if ((leftIndex !== previousIndex || rightIndex !== nextIndex)\n && (leftIndex !== nextIndex || rightIndex !== previousIndex)) {\n ++junctionCount, junctionByIndex[currentIndex] = 1;\n }\n } else {\n leftByIndex[currentIndex] = previousIndex;\n rightByIndex[currentIndex] = nextIndex;\n }\n }\n\n function index() {\n var indexByPoint = hashmap(coordinates.length * 1.4, hashIndex, equalIndex, Int32Array, -1, Int32Array),\n indexes = new Int32Array(coordinates.length);\n\n for (var i = 0, n = coordinates.length; i < n; ++i) {\n indexes[i] = indexByPoint.maybeSet(i, i);\n }\n\n return indexes;\n }\n\n function hashIndex(i) {\n return hashPoint(coordinates[i]);\n }\n\n function equalIndex(i, j) {\n return equalPoint(coordinates[i], coordinates[j]);\n }\n\n visitedByIndex = leftByIndex = rightByIndex = null;\n\n var junctionByPoint = hashset(junctionCount * 1.4, hashPoint, equalPoint), j;\n\n // Convert back to a standard hashset by point for caller convenience.\n for (i = 0, n = coordinates.length; i < n; ++i) {\n if (junctionByIndex[j = indexes[i]]) {\n junctionByPoint.add(coordinates[j]);\n }\n }\n\n return junctionByPoint;\n}\n","import join from \"./join\";\n\n// Given an extracted (pre-)topology, cuts (or rotates) arcs so that all shared\n// point sequences are identified. The topology can then be subsequently deduped\n// to remove exact duplicate arcs.\nexport default function(topology) {\n var junctions = join(topology),\n coordinates = topology.coordinates,\n lines = topology.lines,\n rings = topology.rings,\n next,\n i, n;\n\n for (i = 0, n = lines.length; i < n; ++i) {\n var line = lines[i],\n lineMid = line[0],\n lineEnd = line[1];\n while (++lineMid < lineEnd) {\n if (junctions.has(coordinates[lineMid])) {\n next = {0: lineMid, 1: line[1]};\n line[1] = lineMid;\n line = line.next = next;\n }\n }\n }\n\n for (i = 0, n = rings.length; i < n; ++i) {\n var ring = rings[i],\n ringStart = ring[0],\n ringMid = ringStart,\n ringEnd = ring[1],\n ringFixed = junctions.has(coordinates[ringStart]);\n while (++ringMid < ringEnd) {\n if (junctions.has(coordinates[ringMid])) {\n if (ringFixed) {\n next = {0: ringMid, 1: ring[1]};\n ring[1] = ringMid;\n ring = ring.next = next;\n } else { // For the first junction, we can rotate rather than cut.\n rotateArray(coordinates, ringStart, ringEnd, ringEnd - ringMid);\n coordinates[ringEnd] = coordinates[ringStart];\n ringFixed = true;\n ringMid = ringStart; // restart; we may have skipped junctions\n }\n }\n }\n }\n\n return topology;\n}\n\nfunction rotateArray(array, start, end, offset) {\n reverse(array, start, end);\n reverse(array, start, start + offset);\n reverse(array, start + offset, end);\n}\n\nfunction reverse(array, start, end) {\n for (var mid = start + ((end-- - start) >> 1), t; start < mid; ++start, --end) {\n t = array[start], array[start] = array[end], array[end] = t;\n }\n}\n","import hashmap from \"./hash/hashmap\";\nimport equalPoint from \"./hash/point-equal\";\nimport hashPoint from \"./hash/point-hash\";\n\n// Given a cut topology, combines duplicate arcs.\nexport default function(topology) {\n var coordinates = topology.coordinates,\n lines = topology.lines, line,\n rings = topology.rings, ring,\n arcCount = lines.length + rings.length,\n i, n;\n\n delete topology.lines;\n delete topology.rings;\n\n // Count the number of (non-unique) arcs to initialize the hashmap safely.\n for (i = 0, n = lines.length; i < n; ++i) {\n line = lines[i]; while (line = line.next) ++arcCount;\n }\n for (i = 0, n = rings.length; i < n; ++i) {\n ring = rings[i]; while (ring = ring.next) ++arcCount;\n }\n\n var arcsByEnd = hashmap(arcCount * 2 * 1.4, hashPoint, equalPoint),\n arcs = topology.arcs = [];\n\n for (i = 0, n = lines.length; i < n; ++i) {\n line = lines[i];\n do {\n dedupLine(line);\n } while (line = line.next);\n }\n\n for (i = 0, n = rings.length; i < n; ++i) {\n ring = rings[i];\n if (ring.next) { // arc is no longer closed\n do {\n dedupLine(ring);\n } while (ring = ring.next);\n } else {\n dedupRing(ring);\n }\n }\n\n function dedupLine(arc) {\n var startPoint,\n endPoint,\n startArcs, startArc,\n endArcs, endArc,\n i, n;\n\n // Does this arc match an existing arc in order?\n if (startArcs = arcsByEnd.get(startPoint = coordinates[arc[0]])) {\n for (i = 0, n = startArcs.length; i < n; ++i) {\n startArc = startArcs[i];\n if (equalLine(startArc, arc)) {\n arc[0] = startArc[0];\n arc[1] = startArc[1];\n return;\n }\n }\n }\n\n // Does this arc match an existing arc in reverse order?\n if (endArcs = arcsByEnd.get(endPoint = coordinates[arc[1]])) {\n for (i = 0, n = endArcs.length; i < n; ++i) {\n endArc = endArcs[i];\n if (reverseEqualLine(endArc, arc)) {\n arc[1] = endArc[0];\n arc[0] = endArc[1];\n return;\n }\n }\n }\n\n if (startArcs) startArcs.push(arc); else arcsByEnd.set(startPoint, [arc]);\n if (endArcs) endArcs.push(arc); else arcsByEnd.set(endPoint, [arc]);\n arcs.push(arc);\n }\n\n function dedupRing(arc) {\n var endPoint,\n endArcs,\n endArc,\n i, n;\n\n // Does this arc match an existing line in order, or reverse order?\n // Rings are closed, so their start point and end point is the same.\n if (endArcs = arcsByEnd.get(endPoint = coordinates[arc[0]])) {\n for (i = 0, n = endArcs.length; i < n; ++i) {\n endArc = endArcs[i];\n if (equalRing(endArc, arc)) {\n arc[0] = endArc[0];\n arc[1] = endArc[1];\n return;\n }\n if (reverseEqualRing(endArc, arc)) {\n arc[0] = endArc[1];\n arc[1] = endArc[0];\n return;\n }\n }\n }\n\n // Otherwise, does this arc match an existing ring in order, or reverse order?\n if (endArcs = arcsByEnd.get(endPoint = coordinates[arc[0] + findMinimumOffset(arc)])) {\n for (i = 0, n = endArcs.length; i < n; ++i) {\n endArc = endArcs[i];\n if (equalRing(endArc, arc)) {\n arc[0] = endArc[0];\n arc[1] = endArc[1];\n return;\n }\n if (reverseEqualRing(endArc, arc)) {\n arc[0] = endArc[1];\n arc[1] = endArc[0];\n return;\n }\n }\n }\n\n if (endArcs) endArcs.push(arc); else arcsByEnd.set(endPoint, [arc]);\n arcs.push(arc);\n }\n\n function equalLine(arcA, arcB) {\n var ia = arcA[0], ib = arcB[0],\n ja = arcA[1], jb = arcB[1];\n if (ia - ja !== ib - jb) return false;\n for (; ia <= ja; ++ia, ++ib) if (!equalPoint(coordinates[ia], coordinates[ib])) return false;\n return true;\n }\n\n function reverseEqualLine(arcA, arcB) {\n var ia = arcA[0], ib = arcB[0],\n ja = arcA[1], jb = arcB[1];\n if (ia - ja !== ib - jb) return false;\n for (; ia <= ja; ++ia, --jb) if (!equalPoint(coordinates[ia], coordinates[jb])) return false;\n return true;\n }\n\n function equalRing(arcA, arcB) {\n var ia = arcA[0], ib = arcB[0],\n ja = arcA[1], jb = arcB[1],\n n = ja - ia;\n if (n !== jb - ib) return false;\n var ka = findMinimumOffset(arcA),\n kb = findMinimumOffset(arcB);\n for (var i = 0; i < n; ++i) {\n if (!equalPoint(coordinates[ia + (i + ka) % n], coordinates[ib + (i + kb) % n])) return false;\n }\n return true;\n }\n\n function reverseEqualRing(arcA, arcB) {\n var ia = arcA[0], ib = arcB[0],\n ja = arcA[1], jb = arcB[1],\n n = ja - ia;\n if (n !== jb - ib) return false;\n var ka = findMinimumOffset(arcA),\n kb = n - findMinimumOffset(arcB);\n for (var i = 0; i < n; ++i) {\n if (!equalPoint(coordinates[ia + (i + ka) % n], coordinates[jb - (i + kb) % n])) return false;\n }\n return true;\n }\n\n // Rings are rotated to a consistent, but arbitrary, start point.\n // This is necessary to detect when a ring and a rotated copy are dupes.\n function findMinimumOffset(arc) {\n var start = arc[0],\n end = arc[1],\n mid = start,\n minimum = mid,\n minimumPoint = coordinates[mid];\n while (++mid < end) {\n var point = coordinates[mid];\n if (point[0] < minimumPoint[0] || point[0] === minimumPoint[0] && point[1] < minimumPoint[1]) {\n minimum = mid;\n minimumPoint = point;\n }\n }\n return minimum - start;\n }\n\n return topology;\n}\n","// Given an array of arcs in absolute (but already quantized!) coordinates,\n// converts to fixed-point delta encoding.\n// This is a destructive operation that modifies the given arcs!\nexport default function(arcs) {\n var i = -1,\n n = arcs.length;\n\n while (++i < n) {\n var arc = arcs[i],\n j = 0,\n k = 1,\n m = arc.length,\n point = arc[0],\n x0 = point[0],\n y0 = point[1],\n x1,\n y1;\n\n while (++j < m) {\n point = arc[j], x1 = point[0], y1 = point[1];\n if (x1 !== x0 || y1 !== y0) arc[k++] = [x1 - x0, y1 - y0], x0 = x1, y0 = y1;\n }\n\n if (k === 1) arc[k++] = [0, 0]; // Each arc must be an array of two or more positions.\n\n arc.length = k;\n }\n\n return arcs;\n}\n","// Extracts the lines and rings from the specified hash of geometry objects.\n//\n// Returns an object with three properties:\n//\n// * coordinates - shared buffer of [x, y] coordinates\n// * lines - lines extracted from the hash, of the form [start, end]\n// * rings - rings extracted from the hash, of the form [start, end]\n//\n// For each ring or line, start and end represent inclusive indexes into the\n// coordinates buffer. For rings (and closed lines), coordinates[start] equals\n// coordinates[end].\n//\n// For each line or polygon geometry in the input hash, including nested\n// geometries as in geometry collections, the `coordinates` array is replaced\n// with an equivalent `arcs` array that, for each line (for line string\n// geometries) or ring (for polygon geometries), points to one of the above\n// lines or rings.\nexport default function(objects) {\n var index = -1,\n lines = [],\n rings = [],\n coordinates = [];\n\n function extractGeometry(geometry) {\n if (geometry && extractGeometryType.hasOwnProperty(geometry.type)) extractGeometryType[geometry.type](geometry);\n }\n\n var extractGeometryType = {\n GeometryCollection: function(o) { o.geometries.forEach(extractGeometry); },\n LineString: function(o) { o.arcs = extractLine(o.arcs); },\n MultiLineString: function(o) { o.arcs = o.arcs.map(extractLine); },\n Polygon: function(o) { o.arcs = o.arcs.map(extractRing); },\n MultiPolygon: function(o) { o.arcs = o.arcs.map(extractMultiRing); }\n };\n\n function extractLine(line) {\n for (var i = 0, n = line.length; i < n; ++i) coordinates[++index] = line[i];\n var arc = {0: index - n + 1, 1: index};\n lines.push(arc);\n return arc;\n }\n\n function extractRing(ring) {\n for (var i = 0, n = ring.length; i < n; ++i) coordinates[++index] = ring[i];\n var arc = {0: index - n + 1, 1: index};\n rings.push(arc);\n return arc;\n }\n\n function extractMultiRing(rings) {\n return rings.map(extractRing);\n }\n\n for (var key in objects) {\n extractGeometry(objects[key]);\n }\n\n return {\n type: \"Topology\",\n coordinates: coordinates,\n lines: lines,\n rings: rings,\n objects: objects\n };\n}\n","// Given a hash of GeoJSON objects, returns a hash of GeoJSON geometry objects.\n// Any null input geometry objects are represented as {type: null} in the output.\n// Any feature.{id,properties,bbox} are transferred to the output geometry object.\n// Each output geometry object is a shallow copy of the input (e.g., properties, coordinates)!\nexport default function(inputs) {\n var outputs = {}, key;\n for (key in inputs) outputs[key] = geomifyObject(inputs[key]);\n return outputs;\n}\n\nfunction geomifyObject(input) {\n return input == null ? {type: null}\n : (input.type === \"FeatureCollection\" ? geomifyFeatureCollection\n : input.type === \"Feature\" ? geomifyFeature\n : geomifyGeometry)(input);\n}\n\nfunction geomifyFeatureCollection(input) {\n var output = {type: \"GeometryCollection\", geometries: input.features.map(geomifyFeature)};\n if (input.bbox != null) output.bbox = input.bbox;\n return output;\n}\n\nfunction geomifyFeature(input) {\n var output = geomifyGeometry(input.geometry), key; // eslint-disable-line no-unused-vars\n if (input.id != null) output.id = input.id;\n if (input.bbox != null) output.bbox = input.bbox;\n for (key in input.properties) { output.properties = input.properties; break; }\n return output;\n}\n\nfunction geomifyGeometry(input) {\n if (input == null) return {type: null};\n var output = input.type === \"GeometryCollection\" ? {type: \"GeometryCollection\", geometries: input.geometries.map(geomifyGeometry)}\n : input.type === \"Point\" || input.type === \"MultiPoint\" ? {type: input.type, coordinates: input.coordinates}\n : {type: input.type, arcs: input.coordinates}; // TODO Check for unknown types?\n if (input.bbox != null) output.bbox = input.bbox;\n return output;\n}\n","export default function(objects, bbox, n) {\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3],\n kx = x1 - x0 ? (n - 1) / (x1 - x0) : 1,\n ky = y1 - y0 ? (n - 1) / (y1 - y0) : 1;\n\n function quantizePoint(input) {\n return [Math.round((input[0] - x0) * kx), Math.round((input[1] - y0) * ky)];\n }\n\n function quantizePoints(input, m) {\n var i = -1,\n j = 0,\n n = input.length,\n output = new Array(n), // pessimistic\n pi,\n px,\n py,\n x,\n y;\n\n while (++i < n) {\n pi = input[i];\n x = Math.round((pi[0] - x0) * kx);\n y = Math.round((pi[1] - y0) * ky);\n if (x !== px || y !== py) output[j++] = [px = x, py = y]; // non-coincident points\n }\n\n output.length = j;\n while (j < m) j = output.push([output[0][0], output[0][1]]);\n return output;\n }\n\n function quantizeLine(input) {\n return quantizePoints(input, 2);\n }\n\n function quantizeRing(input) {\n return quantizePoints(input, 4);\n }\n\n function quantizePolygon(input) {\n return input.map(quantizeRing);\n }\n\n function quantizeGeometry(o) {\n if (o != null && quantizeGeometryType.hasOwnProperty(o.type)) quantizeGeometryType[o.type](o);\n }\n\n var quantizeGeometryType = {\n GeometryCollection: function(o) { o.geometries.forEach(quantizeGeometry); },\n Point: function(o) { o.coordinates = quantizePoint(o.coordinates); },\n MultiPoint: function(o) { o.coordinates = o.coordinates.map(quantizePoint); },\n LineString: function(o) { o.arcs = quantizeLine(o.arcs); },\n MultiLineString: function(o) { o.arcs = o.arcs.map(quantizeLine); },\n Polygon: function(o) { o.arcs = quantizePolygon(o.arcs); },\n MultiPolygon: function(o) { o.arcs = o.arcs.map(quantizePolygon); }\n };\n\n for (var key in objects) {\n quantizeGeometry(objects[key]);\n }\n\n return {\n scale: [1 / kx, 1 / ky],\n translate: [x0, y0]\n };\n}\n","import bounds from \"./bounds\";\nimport cut from \"./cut\";\nimport dedup from \"./dedup\";\nimport delta from \"./delta\";\nimport extract from \"./extract\";\nimport geometry from \"./geometry\";\nimport hashmap from \"./hash/hashmap\";\nimport prequantize from \"./prequantize\";\n\n// Constructs the TopoJSON Topology for the specified hash of features.\n// Each object in the specified hash must be a GeoJSON object,\n// meaning FeatureCollection, a Feature or a geometry object.\nexport default function(objects, quantization) {\n var bbox = bounds(objects = geometry(objects)),\n transform = quantization > 0 && bbox && prequantize(objects, bbox, quantization),\n topology = dedup(cut(extract(objects))),\n coordinates = topology.coordinates,\n indexByArc = hashmap(topology.arcs.length * 1.4, hashArc, equalArc);\n\n objects = topology.objects; // for garbage collection\n topology.bbox = bbox;\n topology.arcs = topology.arcs.map(function(arc, i) {\n indexByArc.set(arc, i);\n return coordinates.slice(arc[0], arc[1] + 1);\n });\n\n delete topology.coordinates;\n coordinates = null;\n\n function indexGeometry(geometry) {\n if (geometry && indexGeometryType.hasOwnProperty(geometry.type)) indexGeometryType[geometry.type](geometry);\n }\n\n var indexGeometryType = {\n GeometryCollection: function(o) { o.geometries.forEach(indexGeometry); },\n LineString: function(o) { o.arcs = indexArcs(o.arcs); },\n MultiLineString: function(o) { o.arcs = o.arcs.map(indexArcs); },\n Polygon: function(o) { o.arcs = o.arcs.map(indexArcs); },\n MultiPolygon: function(o) { o.arcs = o.arcs.map(indexMultiArcs); }\n };\n\n function indexArcs(arc) {\n var indexes = [];\n do {\n var index = indexByArc.get(arc);\n indexes.push(arc[0] < arc[1] ? index : ~index);\n } while (arc = arc.next);\n return indexes;\n }\n\n function indexMultiArcs(arcs) {\n return arcs.map(indexArcs);\n }\n\n for (var key in objects) {\n indexGeometry(objects[key]);\n }\n\n if (transform) {\n topology.transform = transform;\n topology.arcs = delta(topology.arcs);\n }\n\n return topology;\n}\n\nfunction hashArc(arc) {\n var i = arc[0], j = arc[1], t;\n if (j < i) t = i, i = j, j = t;\n return i + 31 * j;\n}\n\nfunction equalArc(arcA, arcB) {\n var ia = arcA[0], ja = arcA[1],\n ib = arcB[0], jb = arcB[1], t;\n if (ja < ia) t = ia, ia = ja, ja = t;\n if (jb < ib) t = ib, ib = jb, jb = t;\n return ia === ib && ja === jb;\n}\n","export {default as topology} from \"./src/topology\";\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"schema\":\"ZoneMapMetaData_schema_1cenu\"};","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar Element = require('../core/core.element');\nvar helpers = require('../helpers/index');\n\nvar defaultColor = defaults.global.defaultColor;\n\ndefaults._set('global', {\n\telements: {\n\t\tpoint: {\n\t\t\tradius: 3,\n\t\t\tpointStyle: 'circle',\n\t\t\tbackgroundColor: defaultColor,\n\t\t\tborderColor: defaultColor,\n\t\t\tborderWidth: 1,\n\t\t\t// Hover\n\t\t\thitRadius: 1,\n\t\t\thoverRadius: 4,\n\t\t\thoverBorderWidth: 1\n\t\t}\n\t}\n});\n\nfunction xRange(mouseX) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\n}\n\nfunction yRange(mouseY) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\n}\n\nmodule.exports = Element.extend({\n\tinRange: function(mouseX, mouseY) {\n\t\tvar vm = this._view;\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\n\t},\n\n\tinLabelRange: xRange,\n\tinXRange: xRange,\n\tinYRange: yRange,\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y,\n\t\t\tpadding: vm.radius + vm.borderWidth\n\t\t};\n\t},\n\n\tdraw: function(chartArea) {\n\t\tvar vm = this._view;\n\t\tvar model = this._model;\n\t\tvar ctx = this._chart.ctx;\n\t\tvar pointStyle = vm.pointStyle;\n\t\tvar rotation = vm.rotation;\n\t\tvar radius = vm.radius;\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\t\tvar errMargin = 1.01; // 1.01 is margin for Accumulated error. (Especially Edge, IE.)\n\n\t\tif (vm.skip) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Clipping for Points.\n\t\tif (chartArea === undefined || (model.x >= chartArea.left && chartArea.right * errMargin >= model.x && model.y >= chartArea.top && chartArea.bottom * errMargin >= model.y)) {\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\n\t\t\tctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth);\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\n\t\t\thelpers.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\n\t\t}\n\t}\n});\n","var meta = require('@turf/meta');\nvar invariant = require('@turf/invariant');\nvar lineOverlap = require('@turf/line-overlap');\nvar lineIntersect = require('@turf/line-intersect');\nvar GeojsonEquality = require('geojson-equality');\nvar coordAll = meta.coordAll;\nvar segmentEach = meta.segmentEach;\nvar getGeomType = invariant.getGeomType;\n\n/**\n * Compares two geometries of the same dimension and returns true if their intersection set results in a geometry\n * different from both but of the same dimension. It applies to Polygon/Polygon, LineString/LineString,\n * Multipoint/Multipoint, MultiLineString/MultiLineString and MultiPolygon/MultiPolygon.\n *\n * @name booleanOverlap\n * @param {Geometry|Feature} feature1 input\n * @param {Geometry|Feature} feature2 input\n * @returns {boolean} true/false\n * @example\n * var poly1 = turf.polygon([[[0,0],[0,5],[5,5],[5,0],[0,0]]]);\n * var poly2 = turf.polygon([[[1,1],[1,6],[6,6],[6,1],[1,1]]]);\n * var poly3 = turf.polygon([[[10,10],[10,15],[15,15],[15,10],[10,10]]]);\n *\n * turf.booleanOverlap(poly1, poly2)\n * //=true\n * turf.booleanOverlap(poly2, poly3)\n * //=false\n */\nmodule.exports = function (feature1, feature2) {\n // validation\n if (!feature1) throw new Error('feature1 is required');\n if (!feature2) throw new Error('feature2 is required');\n var type1 = getGeomType(feature1);\n var type2 = getGeomType(feature2);\n if (type1 !== type2) throw new Error('features must be of the same type');\n if (type1 === 'Point') throw new Error('Point geometry not supported');\n\n // features must be not equal\n var equality = new GeojsonEquality({precision: 6});\n if (equality.compare(feature1, feature2)) return false;\n\n var overlap = 0;\n\n switch (type1) {\n case 'MultiPoint':\n var coords1 = coordAll(feature1);\n var coords2 = coordAll(feature2);\n coords1.forEach(function (coord1) {\n coords2.forEach(function (coord2) {\n if (coord1[0] === coord2[0] && coord1[1] === coord2[1]) overlap++;\n });\n });\n break;\n\n case 'LineString':\n case 'MultiLineString':\n segmentEach(feature1, function (segment1) {\n segmentEach(feature2, function (segment2) {\n if (lineOverlap(segment1, segment2).features.length) overlap++;\n });\n });\n break;\n\n case 'Polygon':\n case 'MultiPolygon':\n segmentEach(feature1, function (segment1) {\n segmentEach(feature2, function (segment2) {\n if (lineIntersect(segment1, segment2).features.length) overlap++;\n });\n });\n break;\n }\n\n return overlap > 0;\n};\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=style&index=0&id=2d30c06a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=style&index=0&id=2d30c06a&lang=scss&scoped=true&\"","var area = require('@mapbox/geojson-area').geometry;\nvar geomReduce = require('@turf/meta').geomReduce;\n\n/**\n * Takes one or more features and returns their area in square meters.\n *\n * @name area\n * @param {FeatureCollection|Feature} geojson input GeoJSON feature(s)\n * @returns {number} area in square meters\n * @example\n * var polygon = turf.polygon([[[125, -15], [113, -22], [154, -27], [144, -15], [125, -15]]]);\n *\n * var area = turf.area(polygon);\n *\n * //addToMap\n * var addToMap = [polygon]\n * polygon.properties.area = area\n */\nmodule.exports = function (geojson) {\n return geomReduce(geojson, function (value, geometry) {\n return value + area(geometry);\n }, 0);\n};\n","var inside = require('@turf/inside');\nvar featureCollection = require('@turf/helpers').featureCollection;\n\n/**\n * Takes a set of {@link Point|points} and a set of {@link Polygon|polygons} and returns the points that fall within the polygons.\n *\n * @name within\n * @param {FeatureCollection} points input points\n * @param {FeatureCollection} polygons input polygons\n * @returns {FeatureCollection} points that land within at least one polygon\n * @example\n * var searchWithin = turf.featureCollection([\n * turf.polygon([[\n * [-46.653,-23.543],\n * [-46.634,-23.5346],\n * [-46.613,-23.543],\n * [-46.614,-23.559],\n * [-46.631,-23.567],\n * [-46.653,-23.560],\n * [-46.653,-23.543]\n * ]])\n * ]);\n * var points = turf.featureCollection([\n * turf.point([-46.6318, -23.5523]),\n * turf.point([-46.6246, -23.5325]),\n * turf.point([-46.6062, -23.5513]),\n * turf.point([-46.663, -23.554]),\n * turf.point([-46.643, -23.557])\n * ]);\n *\n * var ptsWithin = turf.within(points, searchWithin);\n *\n * //addToMap\n * var addToMap = [points, searchWithin, ptsWithin]\n * turf.featureEach(ptsWithin, function (currentFeature) {\n * currentFeature.properties['marker-size'] = 'large';\n * currentFeature.properties['marker-color'] = '#000';\n * });\n */\nmodule.exports = function (points, polygons) {\n var pointsWithin = featureCollection([]);\n for (var i = 0; i < polygons.features.length; i++) {\n for (var j = 0; j < points.features.length; j++) {\n var isInside = inside(points.features[j], polygons.features[i]);\n if (isInside) {\n pointsWithin.features.push(points.features[j]);\n }\n }\n }\n return pointsWithin;\n};\n","import VectorLayer from 'ol/layer/Vector'\r\nimport VectorSource from 'ol/source/Vector'\r\nimport {transform} from 'ol/proj'\r\nimport Feature from 'ol/Feature'\r\nimport Point from 'ol/geom/Point'\r\nimport PointerInteraction from 'ol/interaction/Pointer'\r\n\r\nconst makeOverlay = (style) => new VectorLayer({\r\n source: new VectorSource({\r\n features: [],\r\n useSpatialIndex: false\r\n }),\r\n style,\r\n updateWhileAnimating: true,\r\n updateWhileInteracting: true\r\n})\r\n\r\nexport default {\r\n inject: [\r\n 'getMap'\r\n ],\r\n props: {\r\n hitTolerance: {\r\n type: Number,\r\n default: 0\r\n },\r\n layerFilter: Function,\r\n hoverStyle: {\r\n default: null\r\n },\r\n cursorStyle: {\r\n default: null\r\n }\r\n },\r\n data () {\r\n return {\r\n hoverFeature: null\r\n }\r\n },\r\n computed: {\r\n queryOptions () {\r\n const options = {\r\n hitTolerance: this.hitTolerance\r\n }\r\n\r\n if (this.layerFilter) {\r\n options.layerFilter = this.layerFilter\r\n }\r\n\r\n return options\r\n },\r\n cursor () {\r\n const feature = new Feature({\r\n geometry: new Point([0, 0])\r\n })\r\n feature.setStyle(this.cursorStyle)\r\n return feature\r\n }\r\n },\r\n methods: {\r\n init () {\r\n this.overlay = makeOverlay(this.hoverStyle)\r\n this.overlay.setMap(this.map)\r\n\r\n this.interaction = new PointerInteraction({\r\n handleMoveEvent: this.onMove,\r\n handleDownEvent: this.onClick\r\n })\r\n this.map.addInteraction(this.interaction)\r\n\r\n this.rebuildOverlay()\r\n },\r\n rebuildOverlay () {\r\n this.overlay.getSource().clear()\r\n this.overlay.getSource().addFeature(this.cursor)\r\n\r\n if (this.hoverFeature) {\r\n this.overlay.getSource().addFeature(this.hoverFeature)\r\n }\r\n },\r\n getFeature (event) {\r\n return this.map.forEachFeatureAtPixel(event.pixel, feature => feature === this.cursor ? null : feature, this.queryOptions)\r\n },\r\n onMove (event) {\r\n const feature = this.getFeature(event)\r\n\r\n this.hoverFeature = feature || null\r\n\r\n this.cursor.getGeometry().setCoordinates(event.coordinate)\r\n this.cursor.set('feature', this.hoverFeature)\r\n },\r\n onClick (event) {\r\n const feature = this.getFeature(event)\r\n\r\n const coordinate = transform(event.coordinate, 'EPSG:3857', 'EPSG:4326')\r\n\r\n if (feature) {\r\n this.$emit('click', {feature, coordinate})\r\n } else {\r\n this.$emit('click', {feature: null, coordinate})\r\n }\r\n }\r\n },\r\n watch: {\r\n cursor: 'rebuildOverlay',\r\n hoverFeature: 'rebuildOverlay'\r\n },\r\n render () {\r\n return null\r\n },\r\n created () {\r\n this.getMap().then(map => {\r\n this.map = map\r\n this.init()\r\n })\r\n },\r\n beforeDestroy () {\r\n if (this.interaction) {\r\n this.map.removeInteraction(this.interaction)\r\n }\r\n\r\n if (this.overlay) {\r\n this.overlay.getSource().clear()\r\n this.overlay.setMap(null)\r\n }\r\n }\r\n}\r\n","var lineSliceAlong = require('@turf/line-slice-along');\nvar lineDistance = require('@turf/line-distance');\nvar featureCollection = require('@turf/helpers').featureCollection;\nvar flattenEach = require('@turf/meta').flattenEach;\n\n/**\n * Divides a {@link LineString} into chunks of a specified length.\n * If the line is shorter than the segment length then the original line is returned.\n *\n * @name lineChunk\n * @param {FeatureCollection|Geometry|Feature} geojson the lines to split\n * @param {number} segmentLength how long to make each segment\n * @param {string}[units='kilometers'] units can be degrees, radians, miles, or kilometers\n * @param {boolean}[reverse=false] reverses coordinates to start the first chunked segment at the end\n * @returns {FeatureCollection} collection of line segments\n * @example\n * var line = turf.lineString([[-95, 40], [-93, 45], [-85, 50]]);\n *\n * var chunk = turf.lineChunk(line, 15, 'miles');\n *\n * //addToMap\n * var addToMap = [chunk];\n */\nmodule.exports = function (geojson, segmentLength, units, reverse) {\n if (!geojson) throw new Error('geojson is required');\n if (segmentLength <= 0) throw new Error('segmentLength must be greater than 0');\n var results = [];\n\n // Flatten each feature to simple LineString\n flattenEach(geojson, function (feature) {\n // reverses coordinates to start the first chunked segment at the end\n if (reverse) feature.geometry.coordinates = feature.geometry.coordinates.reverse();\n\n sliceLineSegments(feature, segmentLength, units, function (segment) {\n results.push(segment);\n });\n });\n return featureCollection(results);\n};\n\n/**\n * Slice Line Segments\n *\n * @private\n * @param {Feature} line GeoJSON LineString\n * @param {number} segmentLength how long to make each segment\n * @param {string}[units='kilometers'] units can be degrees, radians, miles, or kilometers\n * @param {Function} callback iterate over sliced line segments\n * @returns {void}\n */\nfunction sliceLineSegments(line, segmentLength, units, callback) {\n var lineLength = lineDistance(line, units);\n\n // If the line is shorter than the segment length then the orginal line is returned.\n if (lineLength <= segmentLength) return callback(line);\n\n var numberOfSegments = Math.floor(lineLength / segmentLength) + 1;\n for (var i = 0; i < numberOfSegments; i++) {\n var outline = lineSliceAlong(line, segmentLength * i, segmentLength * (i + 1), units);\n callback(outline, i);\n }\n}\n","(function () {\n var gju = this.gju = {};\n\n // Export the geojson object for **CommonJS**\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = gju;\n }\n\n // adapted from http://www.kevlindev.com/gui/math/intersection/Intersection.js\n gju.lineStringsIntersect = function (l1, l2) {\n var intersects = [];\n for (var i = 0; i <= l1.coordinates.length - 2; ++i) {\n for (var j = 0; j <= l2.coordinates.length - 2; ++j) {\n var a1 = {\n x: l1.coordinates[i][1],\n y: l1.coordinates[i][0]\n },\n a2 = {\n x: l1.coordinates[i + 1][1],\n y: l1.coordinates[i + 1][0]\n },\n b1 = {\n x: l2.coordinates[j][1],\n y: l2.coordinates[j][0]\n },\n b2 = {\n x: l2.coordinates[j + 1][1],\n y: l2.coordinates[j + 1][0]\n },\n ua_t = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x),\n ub_t = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x),\n u_b = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n if (u_b != 0) {\n var ua = ua_t / u_b,\n ub = ub_t / u_b;\n if (0 <= ua && ua <= 1 && 0 <= ub && ub <= 1) {\n intersects.push({\n 'type': 'Point',\n 'coordinates': [a1.x + ua * (a2.x - a1.x), a1.y + ua * (a2.y - a1.y)]\n });\n }\n }\n }\n }\n if (intersects.length == 0) intersects = false;\n return intersects;\n }\n\n // Bounding Box\n\n function boundingBoxAroundPolyCoords (coords) {\n var xAll = [], yAll = []\n\n for (var i = 0; i < coords[0].length; i++) {\n xAll.push(coords[0][i][1])\n yAll.push(coords[0][i][0])\n }\n\n xAll = xAll.sort(function (a,b) { return a - b })\n yAll = yAll.sort(function (a,b) { return a - b })\n\n return [ [xAll[0], yAll[0]], [xAll[xAll.length - 1], yAll[yAll.length - 1]] ]\n }\n\n gju.pointInBoundingBox = function (point, bounds) {\n return !(point.coordinates[1] < bounds[0][0] || point.coordinates[1] > bounds[1][0] || point.coordinates[0] < bounds[0][1] || point.coordinates[0] > bounds[1][1]) \n }\n\n // Point in Polygon\n // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html#Listing the Vertices\n\n function pnpoly (x,y,coords) {\n var vert = [ [0,0] ]\n\n for (var i = 0; i < coords.length; i++) {\n for (var j = 0; j < coords[i].length; j++) {\n vert.push(coords[i][j])\n }\n\t vert.push(coords[i][0])\n vert.push([0,0])\n }\n\n var inside = false\n for (var i = 0, j = vert.length - 1; i < vert.length; j = i++) {\n if (((vert[i][0] > y) != (vert[j][0] > y)) && (x < (vert[j][1] - vert[i][1]) * (y - vert[i][0]) / (vert[j][0] - vert[i][0]) + vert[i][1])) inside = !inside\n }\n\n return inside\n }\n\n gju.pointInPolygon = function (p, poly) {\n var coords = (poly.type == \"Polygon\") ? [ poly.coordinates ] : poly.coordinates\n\n var insideBox = false\n for (var i = 0; i < coords.length; i++) {\n if (gju.pointInBoundingBox(p, boundingBoxAroundPolyCoords(coords[i]))) insideBox = true\n }\n if (!insideBox) return false\n\n var insidePoly = false\n for (var i = 0; i < coords.length; i++) {\n if (pnpoly(p.coordinates[1], p.coordinates[0], coords[i])) insidePoly = true\n }\n\n return insidePoly\n }\n\n // support multi (but not donut) polygons\n gju.pointInMultiPolygon = function (p, poly) {\n var coords_array = (poly.type == \"MultiPolygon\") ? [ poly.coordinates ] : poly.coordinates\n\n var insideBox = false\n var insidePoly = false\n for (var i = 0; i < coords_array.length; i++){\n var coords = coords_array[i];\n for (var j = 0; j < coords.length; j++) {\n if (!insideBox){\n if (gju.pointInBoundingBox(p, boundingBoxAroundPolyCoords(coords[j]))) {\n insideBox = true\n }\n }\n }\n if (!insideBox) return false\n for (var j = 0; j < coords.length; j++) {\n if (!insidePoly){\n if (pnpoly(p.coordinates[1], p.coordinates[0], coords[j])) {\n insidePoly = true\n }\n }\n }\n }\n\n return insidePoly\n }\n\n gju.numberToRadius = function (number) {\n return number * Math.PI / 180;\n }\n\n gju.numberToDegree = function (number) {\n return number * 180 / Math.PI;\n }\n\n // written with help from @tautologe\n gju.drawCircle = function (radiusInMeters, centerPoint, steps) {\n var center = [centerPoint.coordinates[1], centerPoint.coordinates[0]],\n dist = (radiusInMeters / 1000) / 6371,\n // convert meters to radiant\n radCenter = [gju.numberToRadius(center[0]), gju.numberToRadius(center[1])],\n steps = steps || 15,\n // 15 sided circle\n poly = [[center[0], center[1]]];\n for (var i = 0; i < steps; i++) {\n var brng = 2 * Math.PI * i / steps;\n var lat = Math.asin(Math.sin(radCenter[0]) * Math.cos(dist)\n + Math.cos(radCenter[0]) * Math.sin(dist) * Math.cos(brng));\n var lng = radCenter[1] + Math.atan2(Math.sin(brng) * Math.sin(dist) * Math.cos(radCenter[0]),\n Math.cos(dist) - Math.sin(radCenter[0]) * Math.sin(lat));\n poly[i] = [];\n poly[i][1] = gju.numberToDegree(lat);\n poly[i][0] = gju.numberToDegree(lng);\n }\n return {\n \"type\": \"Polygon\",\n \"coordinates\": [poly]\n };\n }\n\n // assumes rectangle starts at lower left point\n gju.rectangleCentroid = function (rectangle) {\n var bbox = rectangle.coordinates[0];\n var xmin = bbox[0][0],\n ymin = bbox[0][1],\n xmax = bbox[2][0],\n ymax = bbox[2][1];\n var xwidth = xmax - xmin;\n var ywidth = ymax - ymin;\n return {\n 'type': 'Point',\n 'coordinates': [xmin + xwidth / 2, ymin + ywidth / 2]\n };\n }\n\n // from http://www.movable-type.co.uk/scripts/latlong.html\n gju.pointDistance = function (pt1, pt2) {\n var lon1 = pt1.coordinates[0],\n lat1 = pt1.coordinates[1],\n lon2 = pt2.coordinates[0],\n lat2 = pt2.coordinates[1],\n dLat = gju.numberToRadius(lat2 - lat1),\n dLon = gju.numberToRadius(lon2 - lon1),\n a = Math.pow(Math.sin(dLat / 2), 2) + Math.cos(gju.numberToRadius(lat1))\n * Math.cos(gju.numberToRadius(lat2)) * Math.pow(Math.sin(dLon / 2), 2),\n c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return (6371 * c) * 1000; // returns meters\n },\n\n // checks if geometry lies entirely within a circle\n // works with Point, LineString, Polygon\n gju.geometryWithinRadius = function (geometry, center, radius) {\n if (geometry.type == 'Point') {\n return gju.pointDistance(geometry, center) <= radius;\n } else if (geometry.type == 'LineString' || geometry.type == 'Polygon') {\n var point = {};\n var coordinates;\n if (geometry.type == 'Polygon') {\n // it's enough to check the exterior ring of the Polygon\n coordinates = geometry.coordinates[0];\n } else {\n coordinates = geometry.coordinates;\n }\n for (var i in coordinates) {\n point.coordinates = coordinates[i];\n if (gju.pointDistance(point, center) > radius) {\n return false;\n }\n }\n }\n return true;\n }\n\n // adapted from http://paulbourke.net/geometry/polyarea/javascript.txt\n gju.area = function (polygon) {\n var area = 0;\n // TODO: polygon holes at coordinates[1]\n var points = polygon.coordinates[0];\n var j = points.length - 1;\n var p1, p2;\n\n for (var i = 0; i < points.length; j = i++) {\n var p1 = {\n x: points[i][1],\n y: points[i][0]\n };\n var p2 = {\n x: points[j][1],\n y: points[j][0]\n };\n area += p1.x * p2.y;\n area -= p1.y * p2.x;\n }\n\n area /= 2;\n return area;\n },\n\n // adapted from http://paulbourke.net/geometry/polyarea/javascript.txt\n gju.centroid = function (polygon) {\n var f, x = 0,\n y = 0;\n // TODO: polygon holes at coordinates[1]\n var points = polygon.coordinates[0];\n var j = points.length - 1;\n var p1, p2;\n\n for (var i = 0; i < points.length; j = i++) {\n var p1 = {\n x: points[i][1],\n y: points[i][0]\n };\n var p2 = {\n x: points[j][1],\n y: points[j][0]\n };\n f = p1.x * p2.y - p2.x * p1.y;\n x += (p1.x + p2.x) * f;\n y += (p1.y + p2.y) * f;\n }\n\n f = gju.area(polygon) * 6;\n return {\n 'type': 'Point',\n 'coordinates': [y / f, x / f]\n };\n },\n\n gju.simplify = function (source, kink) { /* source[] array of geojson points */\n /* kink\tin metres, kinks above this depth kept */\n /* kink depth is the height of the triangle abc where a-b and b-c are two consecutive line segments */\n kink = kink || 20;\n source = source.map(function (o) {\n return {\n lng: o.coordinates[0],\n lat: o.coordinates[1]\n }\n });\n\n var n_source, n_stack, n_dest, start, end, i, sig;\n var dev_sqr, max_dev_sqr, band_sqr;\n var x12, y12, d12, x13, y13, d13, x23, y23, d23;\n var F = (Math.PI / 180.0) * 0.5;\n var index = new Array(); /* aray of indexes of source points to include in the reduced line */\n var sig_start = new Array(); /* indices of start & end of working section */\n var sig_end = new Array();\n\n /* check for simple cases */\n\n if (source.length < 3) return (source); /* one or two points */\n\n /* more complex case. initialize stack */\n\n n_source = source.length;\n band_sqr = kink * 360.0 / (2.0 * Math.PI * 6378137.0); /* Now in degrees */\n band_sqr *= band_sqr;\n n_dest = 0;\n sig_start[0] = 0;\n sig_end[0] = n_source - 1;\n n_stack = 1;\n\n /* while the stack is not empty ... */\n while (n_stack > 0) {\n\n /* ... pop the top-most entries off the stacks */\n\n start = sig_start[n_stack - 1];\n end = sig_end[n_stack - 1];\n n_stack--;\n\n if ((end - start) > 1) { /* any intermediate points ? */\n\n /* ... yes, so find most deviant intermediate point to\n either side of line joining start & end points */\n\n x12 = (source[end].lng() - source[start].lng());\n y12 = (source[end].lat() - source[start].lat());\n if (Math.abs(x12) > 180.0) x12 = 360.0 - Math.abs(x12);\n x12 *= Math.cos(F * (source[end].lat() + source[start].lat())); /* use avg lat to reduce lng */\n d12 = (x12 * x12) + (y12 * y12);\n\n for (i = start + 1, sig = start, max_dev_sqr = -1.0; i < end; i++) {\n\n x13 = source[i].lng() - source[start].lng();\n y13 = source[i].lat() - source[start].lat();\n if (Math.abs(x13) > 180.0) x13 = 360.0 - Math.abs(x13);\n x13 *= Math.cos(F * (source[i].lat() + source[start].lat()));\n d13 = (x13 * x13) + (y13 * y13);\n\n x23 = source[i].lng() - source[end].lng();\n y23 = source[i].lat() - source[end].lat();\n if (Math.abs(x23) > 180.0) x23 = 360.0 - Math.abs(x23);\n x23 *= Math.cos(F * (source[i].lat() + source[end].lat()));\n d23 = (x23 * x23) + (y23 * y23);\n\n if (d13 >= (d12 + d23)) dev_sqr = d23;\n else if (d23 >= (d12 + d13)) dev_sqr = d13;\n else dev_sqr = (x13 * y12 - y13 * x12) * (x13 * y12 - y13 * x12) / d12; // solve triangle\n if (dev_sqr > max_dev_sqr) {\n sig = i;\n max_dev_sqr = dev_sqr;\n }\n }\n\n if (max_dev_sqr < band_sqr) { /* is there a sig. intermediate point ? */\n /* ... no, so transfer current start point */\n index[n_dest] = start;\n n_dest++;\n } else { /* ... yes, so push two sub-sections on stack for further processing */\n n_stack++;\n sig_start[n_stack - 1] = sig;\n sig_end[n_stack - 1] = end;\n n_stack++;\n sig_start[n_stack - 1] = start;\n sig_end[n_stack - 1] = sig;\n }\n } else { /* ... no intermediate points, so transfer current start point */\n index[n_dest] = start;\n n_dest++;\n }\n }\n\n /* transfer last point */\n index[n_dest] = n_source - 1;\n n_dest++;\n\n /* make return array */\n var r = new Array();\n for (var i = 0; i < n_dest; i++)\n r.push(source[index[i]]);\n\n return r.map(function (o) {\n return {\n type: \"Point\",\n coordinates: [o.lng, o.lat]\n }\n });\n }\n\n // http://www.movable-type.co.uk/scripts/latlong.html#destPoint\n gju.destinationPoint = function (pt, brng, dist) {\n dist = dist/6371; // convert dist to angular distance in radians\n brng = gju.numberToRadius(brng);\n\n var lon1 = gju.numberToRadius(pt.coordinates[0]);\n var lat1 = gju.numberToRadius(pt.coordinates[1]);\n\n var lat2 = Math.asin( Math.sin(lat1)*Math.cos(dist) +\n Math.cos(lat1)*Math.sin(dist)*Math.cos(brng) );\n var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1),\n Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));\n lon2 = (lon2+3*Math.PI) % (2*Math.PI) - Math.PI; // normalise to -180..+180º\n\n return {\n 'type': 'Point',\n 'coordinates': [gju.numberToDegree(lon2), gju.numberToDegree(lat2)]\n };\n };\n\n})();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LabelAndMessage',{attrs:{\"id\":_vm.id,\"label\":_vm.label,\"description\":_vm.combinedDescription}},[_c('span',{staticClass:\"bs-checkbox\",class:{inline: _vm.inline, 'has-error': _vm.dirty && _vm.required && !_vm.checked, 'has-success': _vm.dirty && _vm.required && _vm.checked}},[(!_vm.inline)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checked),expression:\"checked\"}],ref:\"checkbox\",attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":Array.isArray(_vm.checked)?_vm._i(_vm.checked,null)>-1:(_vm.checked)},on:{\"change\":function($event){var $$a=_vm.checked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.checked=$$a.concat([$$v]))}else{$$i>-1&&(_vm.checked=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.checked=$$c}}}}),_vm._t(\"default\")],2)]):_c('label',{staticClass:\"checkbox-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.checked),expression:\"checked\"}],ref:\"checkbox\",attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":Array.isArray(_vm.checked)?_vm._i(_vm.checked,null)>-1:(_vm.checked)},on:{\"change\":function($event){var $$a=_vm.checked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.checked=$$a.concat([$$v]))}else{$$i>-1&&(_vm.checked=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.checked=$$c}}}}),_vm._t(\"default\")],2)]),_vm._t(\"label\",null,{\"slot\":\"label\"}),(_vm.$slots.description)?_vm._t(\"description\",null,{\"slot\":\"description\"}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsCheckbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BsCheckbox.vue?vue&type=template&id=ca14c080&scoped=true&lang=html&\"\nimport script from \"./BsCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./BsCheckbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BsCheckbox.vue?vue&type=style&index=0&id=ca14c080&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ca14c080\",\n null\n \n)\n\nexport default component.exports","/**\n * Callback for coordEach\n *\n * @private\n * @callback coordEachCallback\n * @param {[number, number]} currentCoords The current coordinates being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentCoords, currentIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include\n * the final coordinate of LinearRings that wraps the ring in its iteration.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.coordEach(features, function (currentCoords, currentIndex) {\n * //=currentCoords\n * //=currentIndex\n * });\n */\nfunction coordEach(layer, callback, excludeWrapCoord) {\n var i, j, k, g, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n currentIndex = 0,\n isGeometryCollection,\n isFeatureCollection = layer.type === 'FeatureCollection',\n isFeature = layer.type === 'Feature',\n stop = isFeatureCollection ? layer.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? layer.features[i].geometry :\n (isFeature ? layer.geometry : layer));\n isGeometryCollection = geometryMaybeCollection.type === 'GeometryCollection';\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n coords = geometry.coordinates;\n\n wrapShrink = (excludeWrapCoord &&\n (geometry.type === 'Polygon' || geometry.type === 'MultiPolygon')) ?\n 1 : 0;\n\n if (geometry.type === 'Point') {\n callback(coords, currentIndex);\n currentIndex++;\n } else if (geometry.type === 'LineString' || geometry.type === 'MultiPoint') {\n for (j = 0; j < coords.length; j++) {\n callback(coords[j], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'Polygon' || geometry.type === 'MultiLineString') {\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n callback(coords[j][k], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'MultiPolygon') {\n for (j = 0; j < coords.length; j++)\n for (k = 0; k < coords[j].length; k++)\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n callback(coords[j][k][l], currentIndex);\n currentIndex++;\n }\n } else if (geometry.type === 'GeometryCollection') {\n for (j = 0; j < geometry.geometries.length; j++)\n coordEach(geometry.geometries[j], callback, excludeWrapCoord);\n } else {\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nmodule.exports.coordEach = coordEach;\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {[number, number]} currentCoords The current coordinate being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoords, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include\n * the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.coordReduce(features, function (previousValue, currentCoords, currentIndex) {\n * //=previousValue\n * //=currentCoords\n * //=currentIndex\n * return currentCoords;\n * });\n */\nfunction coordReduce(layer, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(layer, function (currentCoords, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentCoords;\n } else {\n previousValue = callback(previousValue, currentCoords, currentIndex);\n }\n }, excludeWrapCoord);\n return previousValue;\n}\nmodule.exports.coordReduce = coordReduce;\n\n/**\n * Callback for propEach\n *\n * @private\n * @callback propEachCallback\n * @param {*} currentProperties The current properties being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.propEach(features, function (currentProperties, currentIndex) {\n * //=currentProperties\n * //=currentIndex\n * });\n */\nfunction propEach(layer, callback) {\n var i;\n switch (layer.type) {\n case 'FeatureCollection':\n for (i = 0; i < layer.features.length; i++) {\n callback(layer.features[i].properties, i);\n }\n break;\n case 'Feature':\n callback(layer.properties, 0);\n break;\n }\n}\nmodule.exports.propEach = propEach;\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current properties being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.propReduce(features, function (previousValue, currentProperties, currentIndex) {\n * //=previousValue\n * //=currentProperties\n * //=currentIndex\n * return currentProperties\n * });\n */\nfunction propReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n propEach(layer, function (currentProperties, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentProperties;\n } else {\n previousValue = callback(previousValue, currentProperties, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.propReduce = propReduce;\n\n/**\n * Callback for featureEach\n *\n * @private\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.featureEach(features, function (currentFeature, currentIndex) {\n * //=currentFeature\n * //=currentIndex\n * });\n */\nfunction featureEach(layer, callback) {\n if (layer.type === 'Feature') {\n callback(layer, 0);\n } else if (layer.type === 'FeatureCollection') {\n for (var i = 0; i < layer.features.length; i++) {\n callback(layer.features[i], i);\n }\n }\n}\nmodule.exports.featureEach = featureEach;\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.featureReduce(features, function (previousValue, currentFeature, currentIndex) {\n * //=previousValue\n * //=currentFeature\n * //=currentIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(layer, function (currentFeature, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentFeature;\n } else {\n previousValue = callback(previousValue, currentFeature, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.featureReduce = featureReduce;\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {Object} layer any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * var coords = turf.coordAll(features);\n * //=coords\n */\nfunction coordAll(layer) {\n var coords = [];\n coordEach(layer, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\nmodule.exports.coordAll = coordAll;\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, currentIndex)\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.geomEach(features, function (currentGeometry, currentIndex) {\n * //=currentGeometry\n * //=currentIndex\n * });\n */\nfunction geomEach(layer, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n currentIndex = 0,\n isFeatureCollection = layer.type === 'FeatureCollection',\n isFeature = layer.type === 'Feature',\n stop = isFeatureCollection ? layer.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? layer.features[i].geometry :\n (isFeature ? layer.geometry : layer));\n isGeometryCollection = geometryMaybeCollection.type === 'GeometryCollection';\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n if (geometry.type === 'Point' ||\n geometry.type === 'LineString' ||\n geometry.type === 'MultiPoint' ||\n geometry.type === 'Polygon' ||\n geometry.type === 'MultiLineString' ||\n geometry.type === 'MultiPolygon') {\n callback(geometry, currentIndex);\n currentIndex++;\n } else if (geometry.type === 'GeometryCollection') {\n for (j = 0; j < geometry.geometries.length; j++) {\n callback(geometry.geometries[j], currentIndex);\n currentIndex++;\n }\n } else {\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\nmodule.exports.geomEach = geomEach;\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @private\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentGeometry The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {Object} layer any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"foo\": \"bar\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [26, 37]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {\"hello\": \"world\"},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [36, 53]\n * }\n * }\n * ]\n * };\n * turf.geomReduce(features, function (previousValue, currentGeometry, currentIndex) {\n * //=previousValue\n * //=currentGeometry\n * //=currentIndex\n * return currentGeometry\n * });\n */\nfunction geomReduce(layer, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(layer, function (currentGeometry, currentIndex) {\n if (currentIndex === 0 && initialValue === undefined) {\n previousValue = currentGeometry;\n } else {\n previousValue = callback(previousValue, currentGeometry, currentIndex);\n }\n });\n return previousValue;\n}\nmodule.exports.geomReduce = geomReduce;\n","var meta = require('@turf/meta');\nvar getCoords = require('@turf/invariant').getCoords;\nvar booleanClockwise = require('@turf/boolean-clockwise');\nvar featureCollection = require('@turf/helpers').featureCollection;\nvar geomEach = meta.geomEach;\nvar featureEach = meta.featureEach;\n\n/**\n * Rewind {@link LineString|(Multi)LineString} or {@link Polygon|(Multi)Polygon} outer ring counterclockwise and inner rings clockwise (Uses {@link http://en.wikipedia.org/wiki/Shoelace_formula|Shoelace Formula}).\n *\n * @name rewind\n * @param {FeatureCollection|Geometry|Feature} geojson input GeoJSON Polygon\n * @param {Boolean} [reverse=false] enable reverse winding\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {FeatureCollection|Geometry|Feature} rewind Polygon\n * @example\n * var polygon = turf.polygon([[[121, -29], [138, -29], [138, -18], [121, -18], [121, -29]]]);\n *\n * var rewind = turf.rewind(polygon);\n *\n * //addToMap\n * var addToMap = [rewind];\n */\nmodule.exports = function (geojson, reverse, mutate) {\n // default params\n reverse = (reverse !== undefined) ? reverse : false;\n mutate = (mutate !== undefined) ? mutate : false;\n\n // validation\n if (!geojson) throw new Error(' is required');\n if (typeof reverse !== 'boolean') throw new Error(' must be a boolean');\n if (typeof mutate !== 'boolean') throw new Error(' must be a boolean');\n\n // prevent input mutation\n if (mutate === false || mutate === undefined) geojson = JSON.parse(JSON.stringify(geojson));\n\n // Support Feature Collection or Geometry Collection\n var results = [];\n switch (geojson.type) {\n case 'GeometryCollection':\n geomEach(geojson, function (geometry) {\n rewind(geometry, reverse);\n });\n return geojson;\n case 'FeatureCollection':\n featureEach(geojson, function (feature) {\n featureEach(rewind(feature, reverse), function (result) {\n results.push(result);\n });\n });\n return featureCollection(results);\n }\n // Support Feature or Geometry Objects\n return rewind(geojson, reverse);\n};\n\n/**\n * Rewind\n *\n * @private\n * @param {Geometry|Feature} geojson Geometry or Feature\n * @param {Boolean} [reverse=false] enable reverse winding\n * @returns {Geometry|Feature} rewind Geometry or Feature\n */\nfunction rewind(geojson, reverse) {\n var type = (geojson.type === 'Feature') ? geojson.geometry.type : geojson.type;\n\n // Support all GeoJSON Geometry Objects\n switch (type) {\n case 'GeometryCollection':\n geomEach(geojson, function (geometry) {\n rewind(geometry, reverse);\n });\n return geojson;\n case 'LineString':\n rewindLineString(getCoords(geojson), reverse);\n return geojson;\n case 'Polygon':\n rewindPolygon(getCoords(geojson), reverse);\n return geojson;\n case 'MultiLineString':\n getCoords(geojson).forEach(function (lineCoords) {\n rewindLineString(lineCoords, reverse);\n });\n return geojson;\n case 'MultiPolygon':\n getCoords(geojson).forEach(function (lineCoords) {\n rewindPolygon(lineCoords, reverse);\n });\n return geojson;\n case 'Point':\n case 'MultiPoint':\n return geojson;\n }\n}\n\n/**\n * Rewind LineString - outer ring clockwise\n *\n * @private\n * @param {Array>} coords GeoJSON LineString geometry coordinates\n * @param {Boolean} [reverse=false] enable reverse winding\n * @returns {void} mutates coordinates\n */\nfunction rewindLineString(coords, reverse) {\n if (booleanClockwise(coords) === reverse) coords.reverse();\n}\n\n/**\n * Rewind Polygon - outer ring counterclockwise and inner rings clockwise.\n *\n * @private\n * @param {Array>>} coords GeoJSON Polygon geometry coordinates\n * @param {Boolean} [reverse=false] enable reverse winding\n * @returns {void} mutates coordinates\n */\nfunction rewindPolygon(coords, reverse) {\n // outer ring\n if (booleanClockwise(coords[0]) !== reverse) {\n coords[0].reverse();\n }\n // inner rings\n for (var i = 1; i < coords.length; i++) {\n if (booleanClockwise(coords[i]) === reverse) {\n coords[i].reverse();\n }\n }\n}\n","/*!\n* MarchingSquaresJS\n* version 1.3.2\n* https://github.com/RaumZeit/MarchingSquares.js\n*\n* @license GNU Affero General Public License.\n* Copyright (c) 2015-2018 Ronny Lorenz \n*/\n\n\n/*\n * Compute the distance of a value 'v' from 'a' through linear interpolation\n * between the values of 'a' and 'b'\n *\n * Note, that we assume that 'a' and 'b' have unit distance (i.e. 1)\n */\nfunction linear(a, b, v) {\n if (a < b)\n return (v - a) / (b - a);\n\n return (a - v) / (a - b);\n}\n\n\n/*\n * Compute the distance of a pair of values ('v0', 'v1') from 'a' through linear interpolation\n * between the values of 'a' and 'b'\n *\n * This function assumes that exactly one value, 'v0' or 'v1', is actually located\n * between 'a' and 'b', and choses the right one automagically\n *\n * Note, that we assume that 'a' and 'b' have unit distance (i.e. 1)\n */\nfunction linear_ab(a, b, v0, v1) {\n var tmp;\n\n if (v0 > v1) {\n tmp = v0;\n v0 = v1;\n v1 = tmp;\n }\n\n if (a < b) {\n if (a < v0)\n return (v0 - a) / (b - a);\n else\n return (v1 - a) / (b - a);\n } else if (a > v1) {\n return (a - v1) / (a - b);\n }\n\n return (a - v0) / (a - b);\n}\n\n\n/*\n * Compute the distance of a pair of values ('v0', 'v1') from 'a' through linear interpolation\n * between the values of 'a' and 'b'\n *\n * This function automagically choses the value 'vN' that is closer to 'a'\n *\n * Note, that we assume that 'a' and 'b' have unit distance (i.e. 1)\n */\nfunction linear_a(a, b, minV, maxV) {\n if (a < b)\n return (minV - a) / (b - a);\n\n return (a - maxV) / (a - b);\n}\n\n\n/*\n * Compute the distance of a pair of values ('v0', 'v1') from 'a' through linear interpolation\n * between the values of 'a' and 'b'\n *\n * This function automagically choses the value 'vN' that is closer to 'b'\n *\n * Note, that we assume that 'a' and 'b' have unit distance (i.e. 1)\n */\nfunction linear_b(a, b, minV, maxV) {\n if (a < b)\n return (maxV - a) / (b - a);\n\n return (a - minV) / (a - b);\n}\n\nfunction Options() {\n /* Settings common to all implemented algorithms */\n this.successCallback = null;\n this.verbose = false;\n this.polygons = false;\n this.polygons_full = false;\n this.linearRing = true;\n this.noQuadTree = false;\n}\n\n\n/* Compose settings specific to IsoBands algorithm */\nfunction isoBandOptions(userSettings) {\n var i,\n key,\n val,\n bandOptions,\n optionKeys;\n\n bandOptions = new Options();\n userSettings = userSettings ? userSettings : {};\n optionKeys = Object.keys(bandOptions);\n\n for(i = 0; i < optionKeys.length; i++) {\n key = optionKeys[i];\n val = userSettings[key];\n if ((typeof val !== 'undefined') && (val !== null))\n bandOptions[key] = val;\n }\n\n /* restore compatibility */\n bandOptions.polygons_full = !bandOptions.polygons;\n\n /* add interpolation functions (not yet user customizable) */\n bandOptions.interpolate = linear_ab;\n bandOptions.interpolate_a = linear_a;\n bandOptions.interpolate_b = linear_b;\n\n return bandOptions;\n}\n\n\n/* Compose settings specific to IsoLines algorithm */\nfunction isoLineOptions(userSettings) {\n var i,\n key,\n val,\n lineOptions,\n optionKeys;\n\n lineOptions = new Options();\n userSettings = userSettings ? userSettings : {};\n optionKeys = Object.keys(lineOptions);\n\n for(i = 0; i < optionKeys.length; i++) {\n key = optionKeys[i];\n val = userSettings[key];\n if ((typeof val !== 'undefined') && (val !== null))\n lineOptions[key] = val;\n }\n\n /* restore compatibility */\n lineOptions.polygons_full = !lineOptions.polygons;\n\n /* add interpolation functions (not yet user customizable) */\n lineOptions.interpolate = linear;\n\n return lineOptions;\n}\n\nfunction cell2Polygons(cell, x, y, settings) {\n var polygons = [];\n\n cell.polygons.forEach(function(p) {\n p.forEach(function(pp) {\n pp[0] += x;\n pp[1] += y;\n });\n\n if (settings.linearRing)\n p.push(p[0]);\n\n polygons.push(p);\n });\n\n return polygons;\n}\n\nfunction entry_coordinate(x, y, mode, path) {\n if (mode === 0) { /* down */\n x += 1;\n y += path[0][1];\n } else if (mode === 1) { /* left */\n x += path[0][0];\n } else if (mode === 2) { /* up */\n y += path[0][1];\n } else if (mode === 3) { /* right */\n x += path[0][0];\n y += 1;\n }\n\n return [ x, y ];\n}\n\n\nfunction skip_coordinate(x, y, mode) {\n if (mode === 0) { /* down */\n x++;\n } else if (mode === 1) ; else if (mode === 2) { /* up */\n y++;\n } else if (mode === 3) { /* right */\n x++;\n y++;\n }\n\n return [ x, y ];\n}\n\n\nfunction requireFrame(data, lowerBound, upperBound) {\n var frameRequired,\n cols,\n rows,\n i,\n j;\n\n frameRequired = true;\n cols = data[0].length;\n rows = data.length;\n\n for (j = 0; j < rows; j++) {\n if ((data[j][0] < lowerBound) ||\n (data[j][0] > upperBound) ||\n (data[j][cols - 1] < lowerBound) ||\n (data[j][cols - 1] > upperBound)) {\n frameRequired = false;\n break;\n }\n }\n\n if ((frameRequired) &&\n ((data[rows - 1][0] < lowerBound) ||\n (data[rows - 1][0] > upperBound) ||\n (data[rows - 1][cols - 1] < lowerBound) ||\n (data[rows - 1][cols - 1] > upperBound))) {\n frameRequired = false;\n }\n\n if (frameRequired)\n for (i = 0; i < cols - 1; i++) {\n if ((data[0][i] < lowerBound) ||\n (data[0][i] > upperBound) ||\n (data[rows - 1][i] < lowerBound) ||\n (data[rows - 1][i] > upperBound)) {\n frameRequired = false;\n break;\n }\n }\n\n\n return frameRequired;\n}\n\n\nfunction requireLineFrame(data, threshold) {\n var frameRequired,\n cols,\n rows,\n i,\n j;\n\n frameRequired = true;\n cols = data[0].length;\n rows = data.length;\n\n for (j = 0; j < rows; j++) {\n if ((data[j][0] >= threshold) ||\n (data[j][cols - 1] >= threshold)) {\n frameRequired = false;\n break;\n }\n }\n\n if ((frameRequired) &&\n ((data[rows - 1][0] >= threshold) ||\n (data[rows - 1][cols - 1] >= threshold))) {\n frameRequired = false;\n }\n\n if (frameRequired)\n for (i = 0; i < cols - 1; i++) {\n if ((data[0][i] >= threshold) ||\n (data[rows - 1][i] > threshold)) {\n frameRequired = false;\n break;\n }\n }\n\n return frameRequired;\n}\n\n\nfunction traceBandPaths(data, cellGrid, settings) {\n var nextedge,\n path,\n e,\n ee,\n s,\n ve,\n enter,\n x,\n y,\n finalized,\n origin,\n cc,\n dir,\n count,\n point,\n found_entry;\n\n var polygons = [];\n var rows = data.length - 1;\n var cols = data[0].length - 1;\n\n /*\n * directions for out-of-grid moves are:\n * 0 ... \"down\",\n * 1 ... \"left\",\n * 2 ... \"up\",\n * 3 ... \"right\"\n */\n var valid_entries = [ ['rt', 'rb'], /* down */\n ['br', 'bl'], /* left */\n ['lb', 'lt'], /* up */\n ['tl', 'tr'] /* right */\n ];\n var add_x = [ 0, -1, 0, 1 ];\n var add_y = [ -1, 0, 1, 0 ];\n var available_starts = [ 'bl', 'lb', 'lt', 'tl', 'tr', 'rt', 'rb', 'br' ];\n var entry_dir = {\n bl: 1, br: 1,\n lb: 2, lt: 2,\n tl: 3, tr: 3,\n rt: 0, rb: 0\n };\n\n if (requireFrame(data, settings.minV, settings.maxV)) {\n if (settings.linearRing)\n polygons.push([ [0, 0], [0, rows], [cols, rows], [cols, 0], [0, 0] ]);\n else\n polygons.push([ [0, 0], [0, rows], [cols, rows], [cols, 0] ]);\n }\n\n /* finally, start tracing back first polygon(s) */\n cellGrid.forEach(function(a, i) {\n a.forEach(function(cell, j) {\n nextedge = null;\n\n /* trace paths for all available edges that go through this cell */\n for (e = 0; e < 8; e++) {\n nextedge = available_starts[e];\n\n if (typeof cell.edges[nextedge] !== 'object')\n continue;\n\n /* start a new, full path */\n path = [];\n ee = cell.edges[nextedge];\n enter = nextedge;\n x = i;\n y = j;\n finalized = false;\n origin = [ i + ee.path[0][0], j + ee.path[0][1] ];\n\n /* add start coordinate */\n path.push(origin);\n\n /* start traceback */\n while (!finalized) {\n cc = cellGrid[x][y];\n\n if (typeof cc.edges[enter] !== 'object')\n break;\n\n ee = cc.edges[enter];\n\n /* remove edge from cell */\n delete cc.edges[enter];\n\n /* add last point of edge to path arra, since we extend a polygon */\n point = ee.path[1];\n point[0] += x;\n point[1] += y;\n path.push(point);\n\n enter = ee.move.enter;\n x = x + ee.move.x;\n y = y + ee.move.y;\n\n /* handle out-of-grid moves */\n if ((typeof cellGrid[x] === 'undefined') ||\n (typeof cellGrid[x][y] === 'undefined')) {\n dir = 0;\n count = 0;\n\n if (x === cols) {\n x--;\n dir = 0; /* move downwards */\n } else if (x < 0) {\n x++;\n dir = 2; /* move upwards */\n } else if (y === rows) {\n y--;\n dir = 3; /* move right */\n } else if (y < 0) {\n y++;\n dir = 1; /* move left */\n } else {\n throw new Error('Left the grid somewhere in the interior!');\n }\n\n if ((x === i) && (y === j) && (dir === entry_dir[nextedge])) {\n finalized = true;\n enter = nextedge;\n break;\n }\n\n while (1) {\n found_entry = false;\n\n if (count > 4)\n throw new Error('Direction change counter overflow! This should never happen!');\n\n if (!((typeof cellGrid[x] === 'undefined') ||\n (typeof cellGrid[x][y] === 'undefined'))) {\n cc = cellGrid[x][y];\n\n /* check for re-entry */\n for (s = 0; s < valid_entries[dir].length; s++) {\n ve = valid_entries[dir][s];\n if (typeof cc.edges[ve] === 'object') {\n /* found re-entry */\n ee = cc.edges[ve];\n path.push(entry_coordinate(x, y, dir, ee.path));\n enter = ve;\n found_entry = true;\n break;\n }\n }\n }\n\n if (found_entry) {\n break;\n } else {\n path.push(skip_coordinate(x, y, dir));\n\n x += add_x[dir];\n y += add_y[dir];\n\n /* change direction if we'e moved out of grid again */\n if ((typeof cellGrid[x] === 'undefined') ||\n (typeof cellGrid[x][y] === 'undefined')) {\n if (((dir === 0) && (y < 0)) ||\n ((dir === 1) && (x < 0)) ||\n ((dir === 2) && (y === rows)) ||\n ((dir === 3) && (x === cols))) {\n x -= add_x[dir];\n y -= add_y[dir];\n\n dir = (dir + 1) % 4;\n count++;\n }\n }\n\n if ((x === i) && (y === j) && (dir === entry_dir[nextedge])) {\n /* we are back where we started off, so finalize the polygon */\n finalized = true;\n enter = nextedge;\n break;\n }\n }\n }\n }\n }\n\n if ((settings.linearRing) &&\n ((path[path.length - 1][0] !== origin[0]) ||\n (path[path.length - 1][1] !== origin[1])))\n path.push(origin);\n\n polygons.push(path);\n } /* end forall entry sites */\n }); /* end foreach i */\n }); /* end foreach j */\n\n return polygons;\n}\n\n\nfunction traceLinePaths(data, cellGrid, settings) {\n var nextedge,\n e,\n ee,\n cc,\n path,\n enter,\n x,\n y,\n finalized,\n origin,\n point,\n dir,\n count,\n found_entry,\n ve;\n\n var polygons = [];\n var rows = data.length - 1;\n var cols = data[0].length - 1;\n\n /*\n * directions for out-of-grid moves are:\n * 0 ... \"down\",\n * 1 ... \"left\",\n * 2 ... \"up\",\n * 3 ... \"right\"\n */\n var valid_entries = [ 'right', /* down */\n 'bottom', /* left */\n 'left', /* up */\n 'top' /* right */\n ];\n var add_x = [ 0, -1, 0, 1 ];\n var add_y = [ -1, 0, 1, 0 ];\n var entry_dir = {\n bottom: 1,\n left: 2,\n top: 3,\n right: 0\n };\n\n /* first, detect whether we need any outer frame */\n if (requireLineFrame(data, settings.threshold)) {\n if (settings.linearRing)\n polygons.push([ [0, 0], [0, rows], [cols, rows], [cols, 0], [0, 0] ]);\n else\n polygons.push([ [0, 0], [0, rows], [cols, rows], [cols, 0] ]);\n }\n\n /* finally, start tracing back first polygon(s) */\n\n cellGrid.forEach(function(a, i) {\n a.forEach(function(cell, j) {\n nextedge = null;\n\n /* trace paths for all available edges that go through this cell */\n for (e = 0; e < 4; e++) {\n nextedge = valid_entries[e];\n\n if (typeof cell.edges[nextedge] !== 'object')\n continue;\n\n /* start a new, full path */\n path = [];\n ee = cell.edges[nextedge];\n enter = nextedge;\n x = i;\n y = j;\n finalized = false;\n origin = [ i + ee.path[0][0], j + ee.path[0][1] ];\n\n /* add start coordinate */\n path.push(origin);\n\n /* start traceback */\n while (!finalized) {\n cc = cellGrid[x][y];\n\n if (typeof cc.edges[enter] !== 'object')\n break;\n\n ee = cc.edges[enter];\n\n /* remove edge from cell */\n delete cc.edges[enter];\n\n /* add last point of edge to path arra, since we extend a polygon */\n point = ee.path[1];\n point[0] += x;\n point[1] += y;\n path.push(point);\n\n enter = ee.move.enter;\n x = x + ee.move.x;\n y = y + ee.move.y;\n\n /* handle out-of-grid moves */\n if ((typeof cellGrid[x] === 'undefined') ||\n (typeof cellGrid[x][y] === 'undefined')) {\n\n if (!settings.linearRing)\n break;\n\n dir = 0;\n count = 0;\n\n if (x === cols) {\n x--;\n dir = 0; /* move downwards */\n } else if (x < 0) {\n x++;\n dir = 2; /* move upwards */\n } else if (y === rows) {\n y--;\n dir = 3; /* move right */\n } else if (y < 0) {\n y++;\n dir = 1; /* move left */\n }\n\n if ((x === i) && (y === j) && (dir === entry_dir[nextedge])) {\n finalized = true;\n enter = nextedge;\n break;\n }\n\n while (1) {\n found_entry = false;\n\n if (count > 4)\n throw new Error('Direction change counter overflow! This should never happen!');\n\n if (!((typeof cellGrid[x] === 'undefined') ||\n (typeof cellGrid[x][y] === 'undefined'))) {\n cc = cellGrid[x][y];\n\n /* check for re-entry */\n ve = valid_entries[dir];\n if (typeof cc.edges[ve] === 'object') {\n /* found re-entry */\n ee = cc.edges[ve];\n path.push(entry_coordinate(x, y, dir, ee.path));\n enter = ve;\n found_entry = true;\n break;\n }\n }\n\n if (found_entry) {\n break;\n } else {\n path.push(skip_coordinate(x, y, dir));\n\n x += add_x[dir];\n y += add_y[dir];\n\n /* change direction if we'e moved out of grid again */\n if ((typeof cellGrid[x] === 'undefined') ||\n (typeof cellGrid[x][y] === 'undefined')) {\n if (((dir === 0) && (y < 0)) ||\n ((dir === 1) && (x < 0)) ||\n ((dir === 2) && (y === rows)) ||\n ((dir === 3) && (x === cols))) {\n x -= add_x[dir];\n y -= add_y[dir];\n\n dir = (dir + 1) % 4;\n count++;\n }\n }\n\n if ((x === i) && (y === j) && (dir === entry_dir[nextedge])) {\n /* we are back where we started off, so finalize the polygon */\n finalized = true;\n enter = nextedge;\n break;\n }\n }\n }\n }\n }\n\n if ((settings.linearRing) &&\n ((path[path.length - 1][0] !== origin[0]) ||\n (path[path.length - 1][1] !== origin[1])))\n path.push(origin);\n\n polygons.push(path);\n } /* end forall entry sites */\n }); /* end foreach i */\n }); /* end foreach j */\n\n return polygons;\n}\n\n/* quadTree node constructor */\nfunction TreeNode(data, x, y, dx, dy) {\n var dx_tmp = dx,\n dy_tmp = dy,\n msb_x = 0,\n msb_y = 0;\n\n /* left-bottom corner of current quadrant */\n this.x = x;\n this.y = y;\n\n /* minimum value in subtree under this node */\n this.lowerBound = null;\n /* maximum value in subtree under this node */\n this.upperBound = null;\n\n /*\n * child nodes are layed out in the following way:\n *\n * (x, y + 1) ---- (x + 1, y + 1)\n * | | |\n * | D | C |\n * | | |\n * |----------------------------|\n * | | |\n * | A | B |\n * | | |\n * (x, y) ------------ (x + 1, y)\n */\n this.childA = null;\n this.childB = null;\n this.childC = null;\n this.childD = null;\n\n if ((dx === 1) && (dy === 1)) {\n /* do not further subdivision */\n this.lowerBound = Math.min(\n data[y][x],\n data[y][x + 1],\n data[y + 1][x + 1],\n data[y + 1][x]\n );\n this.upperBound = Math.max(\n data[y][x],\n data[y][x + 1],\n data[y + 1][x + 1],\n data[y + 1][x]\n );\n } else {\n /* get most significant bit from dx */\n if (dx > 1) {\n while (dx_tmp !== 0) {\n dx_tmp = dx_tmp >> 1;\n msb_x++;\n }\n\n if (dx === (1 << (msb_x - 1)))\n msb_x--;\n\n dx_tmp = 1 << (msb_x - 1);\n }\n\n /* get most significant bit from dx */\n if (dy > 1) {\n while (dy_tmp !== 0) {\n dy_tmp = dy_tmp >> 1;\n msb_y++;\n }\n\n if (dy === (1 << (msb_y - 1)))\n msb_y--;\n\n dy_tmp = 1 << (msb_y - 1);\n }\n\n this.childA = new TreeNode(data, x, y, dx_tmp, dy_tmp);\n this.lowerBound = this.childA.lowerBound;\n this.upperBound = this.childA.upperBound;\n\n if (dx - dx_tmp > 0) {\n this.childB = new TreeNode(data, x + dx_tmp, y, dx - dx_tmp, dy_tmp);\n this.lowerBound = Math.min(this.lowerBound, this.childB.lowerBound);\n this.upperBound = Math.max(this.upperBound, this.childB.upperBound);\n\n if (dy - dy_tmp > 0) {\n this.childC = new TreeNode(data, x + dx_tmp, y + dy_tmp, dx - dx_tmp, dy - dy_tmp);\n this.lowerBound = Math.min(this.lowerBound, this.childC.lowerBound);\n this.upperBound = Math.max(this.upperBound, this.childC.upperBound);\n }\n }\n\n if (dy - dy_tmp > 0) {\n this.childD = new TreeNode(data, x, y + dy_tmp, dx_tmp, dy - dy_tmp);\n this.lowerBound = Math.min(this.lowerBound, this.childD.lowerBound);\n this.upperBound = Math.max(this.upperBound, this.childD.upperBound);\n }\n }\n}\n\n\n/**\n * Retrieve a list of cells within a particular range of values by\n * recursivly traversing the quad tree to it's leaves.\n *\n * @param subsumed If 'true' include all cells that are completely\n * subsumed within the specified range. Otherwise,\n * return only cells where at least one corner is\n * outside the specified range.\n *\n * @return An array of objects 'o' where each object has exactly two\n * properties: 'o.x' and 'o.y' denoting the left-bottom corner\n * of the corresponding cell.\n */\nTreeNode.prototype.cellsInBand = function(lowerBound, upperBound, subsumed) {\n var cells = [];\n\n subsumed = (typeof subsumed === 'undefined') ? true : subsumed;\n\n if ((this.lowerBound > upperBound) || (this.upperBound < lowerBound))\n return cells;\n\n if (!(this.childA || this.childB || this.childC || this.childD)) {\n if ((subsumed) ||\n (this.lowerBound <= lowerBound) ||\n (this.upperBound >= upperBound)) {\n cells.push({\n x: this.x,\n y: this.y\n });\n }\n } else {\n if (this.childA)\n cells = cells.concat(this.childA.cellsInBand(lowerBound, upperBound, subsumed));\n\n if (this.childB)\n cells = cells.concat(this.childB.cellsInBand(lowerBound, upperBound, subsumed));\n\n if (this.childD)\n cells = cells.concat(this.childD.cellsInBand(lowerBound, upperBound, subsumed));\n\n if (this.childC)\n cells = cells.concat(this.childC.cellsInBand(lowerBound, upperBound, subsumed));\n }\n\n return cells;\n};\n\n\nTreeNode.prototype.cellsBelowThreshold = function(threshold, subsumed) {\n var cells = [];\n\n subsumed = (typeof subsumed === 'undefined') ? true : subsumed;\n\n if (this.lowerBound > threshold)\n return cells;\n\n if (!(this.childA || this.childB || this.childC || this.childD)) {\n if ((subsumed) ||\n (this.upperBound >= threshold)) {\n cells.push({\n x: this.x,\n y: this.y\n });\n }\n } else {\n if (this.childA)\n cells = cells.concat(this.childA.cellsBelowThreshold(threshold, subsumed));\n\n if (this.childB)\n cells = cells.concat(this.childB.cellsBelowThreshold(threshold, subsumed));\n\n if (this.childD)\n cells = cells.concat(this.childD.cellsBelowThreshold(threshold, subsumed));\n\n if (this.childC)\n cells = cells.concat(this.childC.cellsBelowThreshold(threshold, subsumed));\n }\n\n return cells;\n};\n\n\n/*\n * Given a scalar field `data` construct a QuadTree\n * to efficiently lookup those parts of the scalar\n * field where values are within a particular\n * range of [lowerbound, upperbound] limits.\n */\nfunction QuadTree(data) {\n var i, cols;\n\n /* do some input checking */\n if (!data)\n throw new Error('data is required');\n\n if (!Array.isArray(data) ||\n !Array.isArray(data[0]))\n throw new Error('data must be scalar field, i.e. array of arrays');\n\n if (data.length < 2)\n throw new Error('data must contain at least two rows');\n\n /* check if we've got a regular grid */\n cols = data[0].length;\n\n if (cols < 2)\n throw new Error('data must contain at least two columns');\n\n for (i = 1; i < data.length; i++) {\n if (!Array.isArray(data[i]))\n throw new Error('Row ' + i + ' is not an array');\n\n if (data[i].length != cols)\n throw new Error('unequal row lengths detected, please provide a regular grid');\n }\n\n /* create pre-processing object */\n this.data = data;\n /* root node, i.e. entry to the data */\n this.root = new TreeNode(data, 0, 0, data[0].length - 1, data.length - 1);\n}\n\n/* eslint no-console: [\"error\", { allow: [\"log\"] }] */\n\n\n/*\n * Compute the iso lines for a scalar 2D field given\n * a certain threshold by applying the Marching Squares\n * Algorithm. The function returns a list of path coordinates\n */\n\nfunction isoLines(input, threshold, options) {\n var settings,\n i,\n j,\n useQuadTree = false,\n multiLine = false,\n tree = null,\n root = null,\n data = null,\n cellGrid = null,\n linePolygons = null,\n ret = [];\n\n /* validation */\n if (!input) throw new Error('data is required');\n if (threshold === undefined || threshold === null) throw new Error('threshold is required');\n if ((!!options) && (typeof options !== 'object')) throw new Error('options must be an object');\n\n /* process options */\n settings = isoLineOptions(options);\n\n /* check for input data */\n if (input instanceof QuadTree) {\n tree = input;\n root = input.root;\n data = input.data;\n if (!settings.noQuadTree)\n useQuadTree = true;\n } else if (Array.isArray(input) && Array.isArray(input[0])) {\n data = input;\n } else {\n throw new Error('input is neither array of arrays nor object retrieved from \\'QuadTree()\\'');\n }\n\n /* check and prepare input threshold(s) */\n if (Array.isArray(threshold)) {\n multiLine = true;\n\n /* activate QuadTree optimization if not explicitly forbidden by user settings */\n if (!settings.noQuadTree)\n useQuadTree = true;\n\n /* check if all minV are numbers */\n for (i = 0; i < threshold.length; i++)\n if (isNaN(+threshold[i]))\n throw new Error('threshold[' + i + '] is not a number');\n } else {\n if (isNaN(+threshold))\n throw new Error('threshold must be a number or array of numbers');\n\n threshold = [ threshold ];\n }\n\n /* create QuadTree root node if not already present */\n if ((useQuadTree) && (!root)) {\n tree = new QuadTree(data);\n root = tree.root;\n data = tree.data;\n }\n\n if (settings.verbose) {\n if(settings.polygons)\n console.log('MarchingSquaresJS-isoLines: returning single lines (polygons) for each grid cell');\n else\n console.log('MarchingSquaresJS-isoLines: returning line paths (polygons) for entire data grid');\n\n if (multiLine)\n console.log('MarchingSquaresJS-isoLines: multiple lines requested, returning array of line paths instead of lines for a single threshold');\n }\n\n /* Done with all input validation, now let's start computing stuff */\n\n /* loop over all threhsold values */\n threshold.forEach(function(t, i) {\n linePolygons = [];\n\n /* store bounds for current computation in settings object */\n settings.threshold = t;\n\n if(settings.verbose)\n console.log('MarchingSquaresJS-isoLines: computing iso lines for threshold ' + t);\n\n if (settings.polygons) {\n /* compose list of polygons for each single cell */\n if (useQuadTree) {\n /* go through list of cells retrieved from QuadTree */\n root\n .cellsBelowThreshold(settings.threshold, true)\n .forEach(function(c) {\n linePolygons = linePolygons.concat(\n cell2Polygons(\n prepareCell(data,\n c.x,\n c.y,\n settings),\n c.x,\n c.y,\n settings\n ));\n });\n } else {\n /* go through entire array of input data */\n for (j = 0; j < data.length - 1; ++j) {\n for (i = 0; i < data[0].length - 1; ++i)\n linePolygons = linePolygons.concat(\n cell2Polygons(\n prepareCell(data,\n i,\n j,\n settings),\n i,\n j,\n settings\n ));\n }\n }\n } else {\n /* sparse grid of input data cells */\n cellGrid = [];\n for (i = 0; i < data[0].length - 1; ++i)\n cellGrid[i] = [];\n\n /* compose list of polygons for entire input grid */\n if (useQuadTree) {\n /* collect the cells */\n root\n .cellsBelowThreshold(settings.threshold, false)\n .forEach(function(c) {\n cellGrid[c.x][c.y] = prepareCell(data,\n c.x,\n c.y,\n settings);\n });\n } else {\n /* prepare cells */\n for (i = 0; i < data[0].length - 1; ++i) {\n for (j = 0; j < data.length - 1; ++j) {\n cellGrid[i][j] = prepareCell(data,\n i,\n j,\n settings);\n }\n }\n }\n\n linePolygons = traceLinePaths(data, cellGrid, settings);\n }\n\n /* finally, add polygons to output array */\n if (multiLine)\n ret.push(linePolygons);\n else\n ret = linePolygons;\n\n if(typeof settings.successCallback === 'function')\n settings.successCallback(ret, t);\n\n });\n\n return ret;\n}\n\n/*\n * Thats all for the public interface, below follows the actual\n * implementation\n */\n\n/*\n * ################################\n * Isocontour implementation below\n * ################################\n */\n\nfunction prepareCell(grid, x, y, settings) {\n var left,\n right,\n top,\n bottom,\n average,\n cell;\n\n var cval = 0;\n var x3 = grid[y + 1][x];\n var x2 = grid[y + 1][x + 1];\n var x1 = grid[y][x + 1];\n var x0 = grid[y][x];\n var threshold = settings.threshold;\n\n /*\n * Note that missing data within the grid will result\n * in horribly failing to trace full polygon paths\n */\n if(isNaN(x0) || isNaN(x1) || isNaN(x2) || isNaN(x3)) {\n return;\n }\n\n /*\n * Here we detect the type of the cell\n *\n * x3 ---- x2\n * | |\n * | |\n * x0 ---- x1\n *\n * with edge points\n *\n * x0 = (x,y),\n * x1 = (x + 1, y),\n * x2 = (x + 1, y + 1), and\n * x3 = (x, y + 1)\n *\n * and compute the polygon intersections with the edges\n * of the cell. Each edge value may be (i) smaller, or (ii)\n * greater or equal to the iso line threshold. We encode\n * this property using 1 bit of information, where\n *\n * 0 ... below,\n * 1 ... above or equal\n *\n * Then we store the cells value as vector\n *\n * cval = (x0, x1, x2, x3)\n *\n * where x0 is the least significant bit (0th),\n * x1 the 2nd bit, and so on. This essentially\n * enables us to work with a single integer number\n */\n\n cval |= ((x3 >= threshold) ? 8 : 0);\n cval |= ((x2 >= threshold) ? 4 : 0);\n cval |= ((x1 >= threshold) ? 2 : 0);\n cval |= ((x0 >= threshold) ? 1 : 0);\n\n /* make sure cval is a number */\n cval = +cval;\n\n /* compose the cell object */\n cell = {\n cval: cval,\n polygons: [],\n edges: {},\n x0: x0,\n x1: x1,\n x2: x2,\n x3: x3\n };\n\n /*\n * Compute interpolated intersections of the polygon(s)\n * with the cell borders and (i) add edges for polygon\n * trace-back, or (ii) a list of small closed polygons\n */\n switch (cval) {\n case 0:\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [1, 1], [1, 0] ]);\n\n break;\n\n case 15:\n /* cell is outside (above) threshold, no polygons */\n break;\n\n case 14: /* 1110 */\n left = settings.interpolate(x0, x3, threshold);\n bottom = settings.interpolate(x0, x1, threshold);\n\n if (settings.polygons_full) {\n cell.edges.left = {\n path: [ [0, left], [bottom, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'top'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, left], [bottom, 0] ]);\n\n break;\n\n case 13: /* 1101 */\n bottom = settings.interpolate(x0, x1, threshold);\n right = settings.interpolate(x1, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.bottom = {\n path: [ [bottom, 0], [1, right] ],\n move: {\n x: 1,\n y: 0,\n enter: 'left'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [bottom, 0], [1, right], [1, 0] ]);\n\n break;\n\n case 11: /* 1011 */\n right = settings.interpolate(x1, x2, threshold);\n top = settings.interpolate(x3, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.right = {\n path: [ [1, right], [top, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bottom'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [1, right], [top, 1], [1, 1] ]);\n\n break;\n\n case 7: /* 0111 */\n left = settings.interpolate(x0, x3, threshold);\n top = settings.interpolate(x3, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.top = {\n path: [ [top, 1], [0, left] ],\n move: {\n x: -1,\n y: 0,\n enter: 'right'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [top, 1], [0, left], [0, 1] ]);\n\n break;\n\n case 1: /* 0001 */\n left = settings.interpolate(x0, x3, threshold);\n bottom = settings.interpolate(x0, x1, threshold);\n\n if (settings.polygons_full) {\n cell.edges.bottom = {\n path: [ [bottom, 0], [0, left] ],\n move: {\n x: -1,\n y: 0,\n enter: 'right'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [bottom, 0], [0, left], [0, 1], [1, 1], [1, 0] ]);\n\n break;\n\n case 2: /* 0010 */\n bottom = settings.interpolate(x0, x1, threshold);\n right = settings.interpolate(x1, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.right = {\n path: [ [1, right], [bottom, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'top'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [1, 1], [1, right], [bottom, 0] ]);\n\n break;\n\n case 4: /* 0100 */\n right = settings.interpolate(x1, x2, threshold);\n top = settings.interpolate(x3, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.top = {\n path: [ [top, 1], [1, right] ],\n move: {\n x: 1,\n y: 0,\n enter: 'left'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [top, 1], [1, right], [1, 0] ]);\n\n break;\n\n case 8: /* 1000 */\n left = settings.interpolate(x0, x3, threshold);\n top = settings.interpolate(x3, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.left = {\n path: [ [0, left], [top, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bottom'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, left], [top, 1], [1, 1], [1, 0] ]);\n\n break;\n\n case 12: /* 1100 */\n left = settings.interpolate(x0, x3, threshold);\n right = settings.interpolate(x1, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.left = {\n path: [ [0, left], [1, right] ],\n move: {\n x: 1,\n y: 0,\n enter: 'left'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, left], [1, right], [1, 0] ]);\n\n break;\n\n case 9: /* 1001 */\n bottom = settings.interpolate(x0, x1, threshold);\n top = settings.interpolate(x3, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.bottom = {\n path: [ [bottom, 0], [top, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bottom'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [bottom, 0], [top, 1], [1, 1], [1, 0] ]);\n\n break;\n\n case 3: /* 0011 */\n left = settings.interpolate(x0, x3, threshold);\n right = settings.interpolate(x1, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.right = {\n path: [ [1, right], [0, left] ],\n move: {\n x: -1,\n y: 0,\n enter: 'right'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, left], [0, 1], [1, 1], [1, right] ]);\n\n break;\n\n case 6: /* 0110 */\n bottom = settings.interpolate(x0, x1, threshold);\n top = settings.interpolate(x3, x2, threshold);\n\n if (settings.polygons_full) {\n cell.edges.top = {\n path: [ [top, 1], [bottom, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'top'\n }\n };\n }\n\n if (settings.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [top, 1], [bottom, 0] ]);\n\n break;\n\n case 10: /* 1010 */\n left = settings.interpolate(x0, x3, threshold);\n right = settings.interpolate(x1, x2, threshold);\n bottom = settings.interpolate(x0, x1, threshold);\n top = settings.interpolate(x3, x2, threshold);\n average = (x0 + x1 + x2 + x3) / 4;\n\n if (settings.polygons_full) {\n if (average < threshold) {\n cell.edges.left = {\n path: [ [0, left], [top, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bottom'\n }\n };\n cell.edges.right = {\n path: [ [1, right], [bottom, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'top'\n }\n };\n } else {\n cell.edges.right = {\n path: [ [1, right], [top, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bottom'\n }\n };\n cell.edges.left = {\n path: [ [0, left], [bottom, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'top'\n }\n };\n }\n }\n\n if (settings.polygons) {\n if (average < threshold) {\n cell.polygons.push([ [0, 0], [0, left], [top, 1], [1, 1], [1, right], [bottom, 0] ]);\n } else {\n cell.polygons.push([ [0, 0], [0, left], [bottom, 0] ]);\n cell.polygons.push([ [top, 1], [1, 1], [1, right] ]);\n }\n }\n\n break;\n\n case 5: /* 0101 */\n left = settings.interpolate(x0, x3, threshold);\n right = settings.interpolate(x1, x2, threshold);\n bottom = settings.interpolate(x0, x1, threshold);\n top = settings.interpolate(x3, x2, threshold);\n average = (x0 + x1 + x2 + x3) / 4;\n\n if (settings.polygons_full) {\n if (average < threshold) {\n cell.edges.bottom = {\n path: [ [bottom, 0], [0, left] ],\n move: {\n x: -1,\n y: 0,\n enter: 'right'\n }\n };\n cell.edges.top = {\n path: [ [top, 1], [1, right] ],\n move: {\n x: 1,\n y: 0,\n enter: 'left'\n }\n };\n } else {\n cell.edges.top = {\n path: [ [top, 1], [0, left] ],\n move: {\n x: -1,\n y: 0,\n enter: 'right'\n }\n };\n cell.edges.bottom = {\n path: [ [bottom, 0], [1, right] ],\n move: {\n x: 1,\n y: 0,\n enter: 'left'\n }\n };\n }\n }\n\n if (settings.polygons) {\n if (average < threshold) {\n cell.polygons.push([ [0, left], [0, 1], [top, 1], [1, right], [1, 0], [bottom, 0] ]);\n } else {\n cell.polygons.push([ [0, left], [0, 1], [top, 1] ]);\n cell.polygons.push([ [bottom, 0], [1, right], [1, 0] ]);\n }\n }\n\n break;\n }\n\n return cell;\n}\n\n/* eslint no-console: [\"error\", { allow: [\"log\"] }] */\n\n\n/*\n * lookup table to generate polygon paths or edges required to\n * trace the full polygon(s)\n */\nvar shapeCoordinates = {\n square: function(cell, x0, x1, x2, x3, opt) {\n if (opt.polygons)\n cell.polygons.push([ [0,0], [0, 1], [1, 1], [1, 0] ]);\n },\n\n triangle_bl: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, leftbottom], [bottomleft, 0], [0, 0] ]);\n },\n\n triangle_br: function(cell, x0, x1, x2, x3, opt) {\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomright, 0], [1, rightbottom], [1, 0] ]);\n },\n\n triangle_tr: function(cell, x0, x1, x2, x3, opt) {\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.rt = {\n path: [ [1, righttop], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [1, righttop], [topright, 1], [1, 1] ]);\n },\n\n triangle_tl: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tl = {\n path: [ [topleft, 1], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, lefttop], [0, 1], [topleft, 1] ]);\n },\n\n tetragon_t: function(cell, x0, x1, x2, x3, opt) {\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.rt = {\n path: [ [1, righttop], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, lefttop], [0, 1], [1, 1], [1, righttop] ]);\n },\n\n tetragon_r: function(cell, x0, x1, x2, x3, opt) {\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomright, 0], [topright, 1], [1, 1], [1, 0] ]);\n },\n\n tetragon_b: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [1, rightbottom], [1, 0] ]);\n },\n\n tetragon_l: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tl = {\n path: [ [topleft, 1], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [topleft, 1], [bottomleft, 0] ]);\n },\n\n tetragon_bl: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [0, leftbottom], [0, lefttop], [bottomright, 0] ]);\n },\n\n tetragon_br: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [1, righttop], [1, rightbottom], [bottomright, 0] ]);\n },\n\n tetragon_tr: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.rb = {\n path: [ [1, rightbottom], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [1, rightbottom], [topleft, 1], [topright, 1], [1, righttop] ]);\n },\n\n tetragon_tl: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tr = {\n path: [ [topright, 1], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [topright, 1], [0, leftbottom], [0, lefttop], [topleft, 1] ]);\n },\n\n tetragon_lr: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lt = {\n path: [ [0, lefttop], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, leftbottom], [0, lefttop], [1, righttop], [1, rightbottom] ]);\n },\n\n tetragon_tb: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tr = {\n path: [ [topright, 1], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n cell.edges.bl = {\n path: [ [bottomleft, 0], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [topleft, 1], [topright, 1], [bottomright, 0] ]);\n },\n\n pentagon_tr: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tl = {\n path: [[topleft, 1], [1, rightbottom]],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [topleft, 1], [1, rightbottom], [1, 0] ]);\n },\n\n pentagon_tl: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [topright, 1], [1, 1], [1, 0] ]);\n },\n\n pentagon_br: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.rt = {\n path: [ [1, righttop], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [1, 1], [1, righttop], [bottomleft, 0] ]);\n },\n\n pentagon_bl: function(cell, x0, x1, x2, x3, opt) {\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, lefttop], [0, 1], [1, 1], [1, 0], [bottomright, 0] ]);\n },\n\n pentagon_tr_rl: function(cell, x0, x1, x2, x3, opt) {\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tl = {\n path: [ [topleft, 1], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, lefttop], [0, 1], [topleft, 1], [1, righttop], [1, rightbottom] ]);\n },\n\n pentagon_rb_bt: function(cell, x0, x1, x2, x3, opt) {\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.rt = {\n path: [ [1, righttop], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n cell.edges.bl = {\n path: [ [bottomleft, 0], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [topright, 1], [1, 1], [1, righttop], [bottomright, 0], [bottomleft, 0] ]);\n },\n\n pentagon_bl_lr: function(cell, x0, x1, x2, x3, opt) {\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomright, 0], [0, leftbottom], [0, lefttop], [1, rightbottom], [1, 0] ]);\n },\n\n pentagon_lt_tb: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [topleft, 1], [topright, 1], [bottomleft, 0] ]);\n },\n\n pentagon_bl_tb: function(cell, x0, x1, x2, x3, opt) {\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n cell.edges.tl = {\n path: [ [ topleft, 1], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, lefttop], [0, 1], [topleft, 1], [bottomright, 0], [bottomleft, 0] ]);\n },\n\n pentagon_lt_rl: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate(x1, x3, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lt = {\n path: [ [0, lefttop], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n cell.edges.rt = {\n path: [ [1, righttop], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, leftbottom], [0, lefttop], [topright, 1], [1, 1], [1, righttop] ]);\n },\n\n pentagon_tr_bt: function(cell, x0, x1, x2, x3, opt) {\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [topleft, 1], [topright, 1], [1, rightbottom], [1, 0], [bottomright, 0] ]);\n },\n\n pentagon_rb_lr: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [1, righttop], [1, rightbottom], [bottomleft, 0] ]);\n },\n\n hexagon_lt_tr: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [topleft, 1], [topright, 1], [1, rightbottom], [1, 0] ]);\n },\n\n hexagon_bl_lt: function(cell, x0, x1, x2, x3, opt) {\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomright, 0], [0, leftbottom], [0, lefttop], [topright, 1], [1, 1], [1, 0] ]);\n },\n\n hexagon_bl_rb: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n cell.edges.rt = {\n path: [ [1, righttop], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [0, lefttop], [0, 1], [1, 1], [1, righttop], [bottomright, 0] ]);\n },\n\n hexagon_tr_rb: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.tl = {\n path: [ [topleft, 1], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, 1], [topleft, 1], [1, righttop], [1, rightbottom], [bottomleft, 0] ]);\n },\n\n hexagon_lt_rb: function(cell, x0, x1, x2, x3, opt) {\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n cell.edges.rt = {\n path: [ [1, righttop], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [topright, 1], [1, 1], [1, righttop], [bottomleft, 0] ]);\n },\n\n hexagon_bl_tr: function(cell, x0, x1, x2, x3, opt) {\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n cell.edges.tl = {\n path: [ [topleft, 1], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomright, 0], [0, lefttop], [0, 1], [topleft, 1], [1, rightbottom], [1, 0] ]);\n },\n\n heptagon_tr: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var topright = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [topright, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'br'\n }\n };\n cell.edges.rt = {\n path: [ [1, righttop], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [0, leftbottom], [0, lefttop], [topright, 1], [1, 1], [1, righttop], [bottomright, 0] ]);\n },\n\n heptagon_bl: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.lb = {\n path: [ [0, leftbottom], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [bottomleft, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tl'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [0, 0], [0, leftbottom], [topleft, 1], [topright, 1], [1, righttop], [1, rightbottom], [bottomleft, 0] ]);\n },\n\n heptagon_tl: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var lefttop = opt.interpolate(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [0, lefttop] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rt'\n }\n };\n cell.edges.tl = {\n path: [ [topleft, 1], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [0, lefttop], [0, 1], [topleft, 1], [1, righttop], [1, rightbottom], [bottomright, 0] ]);\n },\n\n heptagon_br: function(cell, x0, x1, x2, x3, opt) {\n var bottomright = opt.interpolate(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.br = {\n path: [ [bottomright, 0], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [1, rightbottom] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lb'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomright,0], [0, leftbottom], [0, lefttop], [topleft, 1], [topright, 1], [1, rightbottom], [1, 0] ]);\n },\n\n octagon: function(cell, x0, x1, x2, x3, opt) {\n var bottomleft = opt.interpolate_a(x0, x1, opt.minV, opt.maxV);\n var bottomright = opt.interpolate_b(x0, x1, opt.minV, opt.maxV);\n var leftbottom = opt.interpolate_a(x0, x3, opt.minV, opt.maxV);\n var lefttop = opt.interpolate_b(x0, x3, opt.minV, opt.maxV);\n var topleft = opt.interpolate_a(x3, x2, opt.minV, opt.maxV);\n var topright = opt.interpolate_b(x3, x2, opt.minV, opt.maxV);\n var righttop = opt.interpolate_b(x1, x2, opt.minV, opt.maxV);\n var rightbottom = opt.interpolate_a(x1, x2, opt.minV, opt.maxV);\n\n if (opt.polygons_full) {\n cell.edges.bl = {\n path: [ [bottomleft, 0], [0, leftbottom] ],\n move: {\n x: -1,\n y: 0,\n enter: 'rb'\n }\n };\n cell.edges.lt = {\n path: [ [0, lefttop], [topleft, 1] ],\n move: {\n x: 0,\n y: 1,\n enter: 'bl'\n }\n };\n cell.edges.tr = {\n path: [ [topright, 1], [1, righttop] ],\n move: {\n x: 1,\n y: 0,\n enter: 'lt'\n }\n };\n cell.edges.rb = {\n path: [ [1, rightbottom], [bottomright, 0] ],\n move: {\n x: 0,\n y: -1,\n enter: 'tr'\n }\n };\n }\n\n if (opt.polygons)\n cell.polygons.push([ [bottomleft, 0], [0, leftbottom], [0, lefttop], [topleft, 1], [topright, 1], [1, righttop], [1, rightbottom], [bottomright, 0] ]);\n }\n};\n\n\n/*\n * Compute isobands(s) for a scalar 2D field given a certain\n * threshold and a bandwidth by applying the Marching Squares\n * Algorithm. The function returns a list of path coordinates\n * either for individual polygons within each grid cell, or the\n * outline of connected polygons.\n */\nfunction isoBands(input, minV, bandWidth, options) {\n var i,\n j,\n settings,\n useQuadTree = false,\n tree = null,\n root = null,\n data = null,\n cellGrid = null,\n multiBand = false,\n bw = [],\n bandPolygons = [],\n ret = [];\n\n /* basic input validation */\n if (!input) throw new Error('data is required');\n if (minV === undefined || minV === null) throw new Error('lowerBound is required');\n if (bandWidth === undefined || bandWidth === null) throw new Error('bandWidth is required');\n if ((!!options) && (typeof options !== 'object')) throw new Error('options must be an object');\n\n settings = isoBandOptions(options);\n\n /* check for input data */\n if (input instanceof QuadTree) {\n tree = input;\n root = input.root;\n data = input.data;\n if (!settings.noQuadTree)\n useQuadTree = true;\n } else if (Array.isArray(input) && Array.isArray(input[0])) {\n data = input;\n } else {\n throw new Error('input is neither array of arrays nor object retrieved from \\'QuadTree()\\'');\n }\n\n /* check and prepare input thresholds */\n if (Array.isArray(minV)) {\n multiBand = true;\n\n /* activate QuadTree optimization if not explicitly forbidden by user settings */\n if (!settings.noQuadTree)\n useQuadTree = true;\n\n /* check if all minV are numbers */\n for (i = 0; i < minV.length; i++)\n if (isNaN(+minV[i]))\n throw new Error('lowerBound[' + i + '] is not a number');\n\n if (Array.isArray(bandWidth)) {\n if (minV.length !== bandWidth.length)\n throw new Error('lowerBound and bandWidth have unequal lengths');\n\n /* check bandwidth values */\n for (i = 0; i < bandWidth.length; i++)\n if (isNaN(+bandWidth[i]))\n throw new Error('bandWidth[' + i + '] is not a number');\n } else {\n if (isNaN(+bandWidth))\n throw new Error('bandWidth must be a number');\n\n bw = [];\n for (i = 0; i < minV.length; i++) {\n bw.push(bandWidth);\n }\n bandWidth = bw;\n }\n } else {\n if (isNaN(+minV))\n throw new Error('lowerBound must be a number');\n\n minV = [ minV ];\n\n if (isNaN(+bandWidth))\n throw new Error('bandWidth must be a number');\n\n bandWidth = [ bandWidth ];\n }\n\n /* create QuadTree root node if not already present */\n if ((useQuadTree) && (!root)) {\n tree = new QuadTree(data);\n root = tree.root;\n data = tree.data;\n }\n\n if (settings.verbose) {\n if(settings.polygons)\n console.log('MarchingSquaresJS-isoBands: returning single polygons for each grid cell');\n else\n console.log('MarchingSquaresJS-isoBands: returning polygon paths for entire data grid');\n\n if (multiBand)\n console.log('MarchingSquaresJS-isoBands: multiple bands requested, returning array of band polygons instead of polygons for a single band');\n }\n\n /* Done with all input validation, now let's start computing stuff */\n\n /* loop over all minV values */\n minV.forEach(function(lowerBound, b) {\n bandPolygons = [];\n\n /* store bounds for current computation in settings object */\n settings.minV = lowerBound;\n settings.maxV = lowerBound + bandWidth[b];\n\n if(settings.verbose)\n console.log('MarchingSquaresJS-isoBands: computing isobands for [' + lowerBound + ':' + (lowerBound + bandWidth[b]) + ']');\n\n if (settings.polygons) {\n /* compose list of polygons for each single cell */\n if (useQuadTree) {\n /* go through list of cells retrieved from QuadTree */\n root\n .cellsInBand(settings.minV, settings.maxV, true)\n .forEach(function(c) {\n bandPolygons = bandPolygons.concat(\n cell2Polygons(\n prepareCell$1(data,\n c.x,\n c.y,\n settings),\n c.x,\n c.y,\n settings\n ));\n });\n } else {\n /* go through entire array of input data */\n for (j = 0; j < data.length - 1; ++j) {\n for (i = 0; i < data[0].length - 1; ++i)\n bandPolygons = bandPolygons.concat(\n cell2Polygons(\n prepareCell$1(data,\n i,\n j,\n settings),\n i,\n j,\n settings\n ));\n }\n }\n } else {\n /* sparse grid of input data cells */\n cellGrid = [];\n for (i = 0; i < data[0].length - 1; ++i)\n cellGrid[i] = [];\n\n /* compose list of polygons for entire input grid */\n if (useQuadTree) {\n /* collect the cells */\n root\n .cellsInBand(settings.minV, settings.maxV, false)\n .forEach(function(c) {\n cellGrid[c.x][c.y] = prepareCell$1(data,\n c.x,\n c.y,\n settings);\n });\n } else {\n /* prepare cells */\n for (i = 0; i < data[0].length - 1; ++i) {\n for (j = 0; j < data.length - 1; ++j) {\n cellGrid[i][j] = prepareCell$1(data,\n i,\n j,\n settings);\n }\n }\n }\n\n bandPolygons = traceBandPaths(data, cellGrid, settings);\n }\n\n /* finally, add polygons to output array */\n if (multiBand)\n ret.push(bandPolygons);\n else\n ret = bandPolygons;\n\n if(typeof settings.successCallback === 'function')\n settings.successCallback(ret, lowerBound, bandWidth[b]);\n });\n\n return ret;\n}\n\n/*\n * Thats all for the public interface, below follows the actual\n * implementation\n */\n\n/*\n * For isoBands, each square is defined by the three states\n * of its corner points. However, since computers use power-2\n * values, we use 2bits per trit, i.e.:\n *\n * 00 ... below minV\n * 01 ... between minV and maxV\n * 10 ... above maxV\n *\n * Hence we map the 4-trit configurations as follows:\n *\n * 0000 => 0\n * 0001 => 1\n * 0002 => 2\n * 0010 => 4\n * 0011 => 5\n * 0012 => 6\n * 0020 => 8\n * 0021 => 9\n * 0022 => 10\n * 0100 => 16\n * 0101 => 17\n * 0102 => 18\n * 0110 => 20\n * 0111 => 21\n * 0112 => 22\n * 0120 => 24\n * 0121 => 25\n * 0122 => 26\n * 0200 => 32\n * 0201 => 33\n * 0202 => 34\n * 0210 => 36\n * 0211 => 37\n * 0212 => 38\n * 0220 => 40\n * 0221 => 41\n * 0222 => 42\n * 1000 => 64\n * 1001 => 65\n * 1002 => 66\n * 1010 => 68\n * 1011 => 69\n * 1012 => 70\n * 1020 => 72\n * 1021 => 73\n * 1022 => 74\n * 1100 => 80\n * 1101 => 81\n * 1102 => 82\n * 1110 => 84\n * 1111 => 85\n * 1112 => 86\n * 1120 => 88\n * 1121 => 89\n * 1122 => 90\n * 1200 => 96\n * 1201 => 97\n * 1202 => 98\n * 1210 => 100\n * 1211 => 101\n * 1212 => 102\n * 1220 => 104\n * 1221 => 105\n * 1222 => 106\n * 2000 => 128\n * 2001 => 129\n * 2002 => 130\n * 2010 => 132\n * 2011 => 133\n * 2012 => 134\n * 2020 => 136\n * 2021 => 137\n * 2022 => 138\n * 2100 => 144\n * 2101 => 145\n * 2102 => 146\n * 2110 => 148\n * 2111 => 149\n * 2112 => 150\n * 2120 => 152\n * 2121 => 153\n * 2122 => 154\n * 2200 => 160\n * 2201 => 161\n * 2202 => 162\n * 2210 => 164\n * 2211 => 165\n * 2212 => 166\n * 2220 => 168\n * 2221 => 169\n * 2222 => 170\n */\n\n/*\n * ####################################\n * Some small helper functions\n * ####################################\n */\n\nfunction computeCenterAverage(bl, br, tr, tl, minV, maxV) {\n var average = (tl + tr + br + bl) / 4;\n\n if (average > maxV)\n return 2; /* above isoband limits */\n\n if (average < minV)\n return 0; /* below isoband limits */\n\n return 1; /* within isoband limits */\n}\n\n\nfunction prepareCell$1(grid, x, y, opt) {\n var cell,\n center_avg;\n\n /* compose the 4-trit corner representation */\n var cval = 0;\n var x3 = grid[y + 1][x];\n var x2 = grid[y + 1][x + 1];\n var x1 = grid[y][x + 1];\n var x0 = grid[y][x];\n var minV = opt.minV;\n var maxV = opt.maxV;\n\n /*\n * Note that missing data within the grid will result\n * in horribly failing to trace full polygon paths\n */\n if(isNaN(x0) || isNaN(x1) || isNaN(x2) || isNaN(x3)) {\n return;\n }\n\n /*\n * Here we detect the type of the cell\n *\n * x3 ---- x2\n * | |\n * | |\n * x0 ---- x1\n *\n * with edge points\n *\n * x0 = (x,y),\n * x1 = (x + 1, y),\n * x2 = (x + 1, y + 1), and\n * x3 = (x, y + 1)\n *\n * and compute the polygon intersections with the edges\n * of the cell. Each edge value may be (i) below, (ii) within,\n * or (iii) above the values of the isoband limits. We\n * encode this property using 2 bits of information, where\n *\n * 00 ... below,\n * 01 ... within, and\n * 10 ... above\n *\n * Then we store the cells value as vector\n *\n * cval = (x0, x1, x2, x3)\n *\n * where x0 are the two least significant bits (0th, 1st),\n * x1 the 2nd and 3rd bit, and so on. This essentially\n * enables us to work with a single integer number\n */\n\n cval |= (x3 < minV) ? 0 : (x3 > maxV) ? 128 : 64;\n cval |= (x2 < minV) ? 0 : (x2 > maxV) ? 32 : 16;\n cval |= (x1 < minV) ? 0 : (x1 > maxV) ? 8 : 4;\n cval |= (x0 < minV) ? 0 : (x0 > maxV) ? 2 : 1;\n\n /* make sure cval is a number */\n cval = +cval;\n\n /*\n * cell center average trit for ambiguous cases, where\n * 0 ... below iso band\n * 1 ... within iso band\n * 2 ... above isoband\n */\n center_avg = 0;\n\n cell = {\n cval: cval,\n polygons: [],\n edges: {},\n x0: x0,\n x1: x1,\n x2: x2,\n x3: x3,\n x: x,\n y: y\n };\n\n /*\n * Compute interpolated intersections of the polygon(s)\n * with the cell borders and (i) add edges for polygon\n * trace-back, or (ii) a list of small closed polygons\n * according to look-up table\n */\n switch (cval) {\n case 85: /* 1111 */\n shapeCoordinates.square(cell, x0, x1, x2, x3, opt);\n /* fall through */\n case 0: /* 0000 */\n /* fall through */\n case 170: /* 2222 */\n break;\n\n /* single triangle cases */\n\n case 169: /* 2221 */\n shapeCoordinates.triangle_bl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 166: /* 2212 */\n shapeCoordinates.triangle_br(cell, x0, x1, x2, x3, opt);\n break;\n\n case 154: /* 2122 */\n shapeCoordinates.triangle_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 106: /* 1222 */\n shapeCoordinates.triangle_tl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 1: /* 0001 */\n shapeCoordinates.triangle_bl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 4: /* 0010 */\n shapeCoordinates.triangle_br(cell, x0, x1, x2, x3, opt);\n break;\n\n case 16: /* 0100 */\n shapeCoordinates.triangle_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 64: /* 1000 */\n shapeCoordinates.triangle_tl(cell, x0, x1, x2, x3, opt);\n break;\n\n\n /* single trapezoid cases */\n\n case 168: /* 2220 */\n shapeCoordinates.tetragon_bl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 162: /* 2202 */\n shapeCoordinates.tetragon_br(cell, x0, x1, x2, x3, opt);\n break;\n\n case 138: /* 2022 */\n shapeCoordinates.tetragon_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 42: /* 0222 */\n shapeCoordinates.tetragon_tl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 2: /* 0002 */\n shapeCoordinates.tetragon_bl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 8: /* 0020 */\n shapeCoordinates.tetragon_br(cell, x0, x1, x2, x3, opt);\n break;\n\n case 32: /* 0200 */\n shapeCoordinates.tetragon_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 128: /* 2000 */\n shapeCoordinates.tetragon_tl(cell, x0, x1, x2, x3, opt);\n break;\n\n\n /* single rectangle cases */\n\n case 5: /* 0011 */\n shapeCoordinates.tetragon_b(cell, x0, x1, x2, x3, opt);\n break;\n\n case 20: /* 0110 */\n shapeCoordinates.tetragon_r(cell, x0, x1, x2, x3, opt);\n break;\n\n case 80: /* 1100 */\n shapeCoordinates.tetragon_t(cell, x0, x1, x2, x3, opt);\n break;\n\n case 65: /* 1001 */\n shapeCoordinates.tetragon_l(cell, x0, x1, x2, x3, opt);\n break;\n\n case 165: /* 2211 */\n shapeCoordinates.tetragon_b(cell, x0, x1, x2, x3, opt);\n break;\n\n case 150: /* 2112 */\n shapeCoordinates.tetragon_r(cell, x0, x1, x2, x3, opt);\n break;\n\n case 90: /* 1122 */\n shapeCoordinates.tetragon_t(cell, x0, x1, x2, x3, opt);\n break;\n\n case 105: /* 1221 */\n shapeCoordinates.tetragon_l(cell, x0, x1, x2, x3, opt);\n break;\n\n case 160: /* 2200 */\n shapeCoordinates.tetragon_lr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 130: /* 2002 */\n shapeCoordinates.tetragon_tb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 10: /* 0022 */\n shapeCoordinates.tetragon_lr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 40: /* 0220 */\n shapeCoordinates.tetragon_tb(cell, x0, x1, x2, x3, opt);\n break;\n\n\n /* single pentagon cases */\n\n case 101: /* 1211 */\n shapeCoordinates.pentagon_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 149: /* 2111 */\n shapeCoordinates.pentagon_tl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 86: /* 1112 */\n shapeCoordinates.pentagon_bl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 89: /* 1121 */\n shapeCoordinates.pentagon_br(cell, x0, x1, x2, x3, opt);\n break;\n\n case 69: /* 1011 */\n shapeCoordinates.pentagon_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 21: /* 0111 */\n shapeCoordinates.pentagon_tl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 84: /* 1110 */\n shapeCoordinates.pentagon_bl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 81: /* 1101 */\n shapeCoordinates.pentagon_br(cell, x0, x1, x2, x3, opt);\n break;\n\n case 96: /* 1200 */\n shapeCoordinates.pentagon_tr_rl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 24: /* 0120 */\n shapeCoordinates.pentagon_rb_bt(cell, x0, x1, x2, x3, opt);\n break;\n\n case 6: /* 0012 */\n shapeCoordinates.pentagon_bl_lr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 129: /* 2001 */\n shapeCoordinates.pentagon_lt_tb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 74: /* 1022 */\n shapeCoordinates.pentagon_tr_rl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 146: /* 2102 */\n shapeCoordinates.pentagon_rb_bt(cell, x0, x1, x2, x3, opt);\n break;\n\n case 164: /* 2210 */\n shapeCoordinates.pentagon_bl_lr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 41: /* 0221 */\n shapeCoordinates.pentagon_lt_tb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 66: /* 1002 */\n shapeCoordinates.pentagon_bl_tb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 144: /* 2100 */\n shapeCoordinates.pentagon_lt_rl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 36: /* 0210 */\n shapeCoordinates.pentagon_tr_bt(cell, x0, x1, x2, x3, opt);\n break;\n\n case 9: /* 0021 */\n shapeCoordinates.pentagon_rb_lr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 104: /* 1220 */\n shapeCoordinates.pentagon_bl_tb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 26: /* 0122 */\n shapeCoordinates.pentagon_lt_rl(cell, x0, x1, x2, x3, opt);\n break;\n\n case 134: /* 2012 */\n shapeCoordinates.pentagon_tr_bt(cell, x0, x1, x2, x3, opt);\n break;\n\n case 161: /* 2201 */\n shapeCoordinates.pentagon_rb_lr(cell, x0, x1, x2, x3, opt);\n break;\n\n\n /* single hexagon cases */\n\n case 37: /* 0211 */\n shapeCoordinates.hexagon_lt_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 148: /* 2110 */\n shapeCoordinates.hexagon_bl_lt(cell, x0, x1, x2, x3, opt);\n break;\n\n case 82: /* 1102 */\n shapeCoordinates.hexagon_bl_rb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 73: /* 1021 */\n shapeCoordinates.hexagon_tr_rb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 133: /* 2011 */\n shapeCoordinates.hexagon_lt_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 22: /* 0112 */\n shapeCoordinates.hexagon_bl_lt(cell, x0, x1, x2, x3, opt);\n break;\n\n case 88: /* 1120 */\n shapeCoordinates.hexagon_bl_rb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 97: /* 1201 */\n shapeCoordinates.hexagon_tr_rb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 145: /* 2101 */\n shapeCoordinates.hexagon_lt_rb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 25: /* 0121 */\n shapeCoordinates.hexagon_lt_rb(cell, x0, x1, x2, x3, opt);\n break;\n\n case 70: /* 1012 */\n shapeCoordinates.hexagon_bl_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n case 100: /* 1210 */\n shapeCoordinates.hexagon_bl_tr(cell, x0, x1, x2, x3, opt);\n break;\n\n\n /* 6-sided saddles */\n\n case 17: /* 0101 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 2 */\n if (center_avg === 0) {\n shapeCoordinates.triangle_bl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.triangle_tr(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.hexagon_lt_rb(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 68: /* 1010 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 2 */\n if (center_avg === 0) {\n shapeCoordinates.triangle_tl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.triangle_br(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.hexagon_bl_tr(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 153: /* 2121 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 0 */\n if (center_avg === 2) {\n shapeCoordinates.triangle_bl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.triangle_tr(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.hexagon_lt_rb(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 102: /* 1212 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 0 */\n if (center_avg === 2) {\n shapeCoordinates.triangle_tl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.triangle_br(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.hexagon_bl_tr(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n\n /* 7-sided saddles */\n\n case 152: /* 2120 */\n\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 0 */\n if (center_avg === 2) {\n shapeCoordinates.triangle_tr(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_bl(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_tr(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 137: /* 2021 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 0 */\n if (center_avg === 2) {\n shapeCoordinates.triangle_bl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_tr(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_bl(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 98: /* 1202 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 0 */\n if (center_avg === 2) {\n shapeCoordinates.triangle_tl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_br(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_tl(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 38: /* 0212 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 0 */\n if (center_avg === 2) {\n shapeCoordinates.triangle_br(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_tl(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_br(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 18: /* 0102 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 2 */\n if (center_avg === 0) {\n shapeCoordinates.triangle_tr(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_bl(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_tr(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 33: /* 0201 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 2 */\n if (center_avg === 0) {\n shapeCoordinates.triangle_bl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_tr(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_bl(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 72: /* 1020 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 2 */\n if (center_avg === 0) {\n shapeCoordinates.triangle_tl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_br(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_tl(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 132: /* 2010 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n /* should never be center_avg === 2 */\n if (center_avg === 0) {\n shapeCoordinates.triangle_br(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_tl(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.heptagon_br(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n\n /* 8-sided saddles */\n\n case 136: /* 2020 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n if (center_avg === 0) {\n shapeCoordinates.tetragon_tl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_br(cell, x0, x1, x2, x3, opt);\n } else if (center_avg === 1) {\n shapeCoordinates.octagon(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.tetragon_bl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_tr(cell, x0, x1, x2, x3, opt);\n }\n break;\n\n case 34: /* 0202 */\n center_avg = computeCenterAverage(x0, x1, x2, x3, minV, maxV);\n if (center_avg === 0) {\n shapeCoordinates.tetragon_bl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_tr(cell, x0, x1, x2, x3, opt);\n } else if (center_avg === 1) {\n shapeCoordinates.octagon(cell, x0, x1, x2, x3, opt);\n } else {\n shapeCoordinates.tetragon_tl(cell, x0, x1, x2, x3, opt);\n shapeCoordinates.tetragon_br(cell, x0, x1, x2, x3, opt);\n }\n break;\n }\n\n return cell;\n}\n\nexport { isoLines, isoLines as isoContours, isoBands, QuadTree, QuadTree as quadTree };\n","var coordEach = require('@turf/meta').coordEach;\n\n/**\n * Takes a set of features, calculates the bbox of all input features, and returns a bounding box.\n *\n * @name bbox\n * @param {FeatureCollection|Feature} geojson input features\n * @returns {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @example\n * var line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]]);\n * var bbox = turf.bbox(line);\n * var bboxPolygon = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [line, bboxPolygon]\n */\nmodule.exports = function (geojson) {\n var bbox = [Infinity, Infinity, -Infinity, -Infinity];\n coordEach(geojson, function (coord) {\n if (bbox[0] > coord[0]) bbox[0] = coord[0];\n if (bbox[1] > coord[1]) bbox[1] = coord[1];\n if (bbox[2] < coord[0]) bbox[2] = coord[0];\n if (bbox[3] < coord[1]) bbox[3] = coord[1];\n });\n return bbox;\n};\n","/**\n * @module ol/interaction/Pointer\n */\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport Interaction from './Interaction.js';\nimport {getValues} from '../obj.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {function(import(\"../MapBrowserPointerEvent.js\").default):boolean} [handleDownEvent]\n * Function handling \"down\" events. If the function returns `true` then a drag\n * sequence is started.\n * @property {function(import(\"../MapBrowserPointerEvent.js\").default)} [handleDragEvent]\n * Function handling \"drag\" events. This function is called on \"move\" events\n * during a drag sequence.\n * @property {function(import(\"../MapBrowserEvent.js\").default):boolean} [handleEvent]\n * Method called by the map to notify the interaction that a browser event was\n * dispatched to the map. The function may return `false` to prevent the\n * propagation of the event to other interactions in the map's interactions\n * chain.\n * @property {function(import(\"../MapBrowserPointerEvent.js\").default)} [handleMoveEvent]\n * Function handling \"move\" events. This function is called on \"move\" events,\n * also during a drag sequence (so during a drag sequence both the\n * `handleDragEvent` function and this function are called).\n * @property {function(import(\"../MapBrowserPointerEvent.js\").default):boolean} [handleUpEvent]\n * Function handling \"up\" events. If the function returns `false` then the\n * current drag sequence is stopped.\n * @property {function(boolean):boolean} [stopDown]\n * Should the down event be propagated to other interactions, or should be\n * stopped?\n */\n\n\n/**\n * @classdesc\n * Base class that calls user-defined functions on `down`, `move` and `up`\n * events. This class also manages \"drag sequences\".\n *\n * When the `handleDownEvent` user function returns `true` a drag sequence is\n * started. During a drag sequence the `handleDragEvent` user function is\n * called on `move` events. The drag sequence ends when the `handleUpEvent`\n * user function is called and returns `false`.\n * @api\n */\nvar PointerInteraction = /*@__PURE__*/(function (Interaction) {\n function PointerInteraction(opt_options) {\n\n var options = opt_options ? opt_options : {};\n\n Interaction.call(/** @type {import(\"./Interaction.js\").InteractionOptions} */ this, (options));\n\n if (options.handleDownEvent) {\n this.handleDownEvent = options.handleDownEvent;\n }\n\n if (options.handleDragEvent) {\n this.handleDragEvent = options.handleDragEvent;\n }\n\n if (options.handleMoveEvent) {\n this.handleMoveEvent = options.handleMoveEvent;\n }\n\n if (options.handleUpEvent) {\n this.handleUpEvent = options.handleUpEvent;\n }\n\n if (options.stopDown) {\n this.stopDown = options.stopDown;\n }\n\n /**\n * @type {boolean}\n * @protected\n */\n this.handlingDownUpSequence = false;\n\n /**\n * @type {!Object}\n * @private\n */\n this.trackedPointers_ = {};\n\n /**\n * @type {Array}\n * @protected\n */\n this.targetPointers = [];\n\n }\n\n if ( Interaction ) PointerInteraction.__proto__ = Interaction;\n PointerInteraction.prototype = Object.create( Interaction && Interaction.prototype );\n PointerInteraction.prototype.constructor = PointerInteraction;\n\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserPointerEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n * @protected\n */\n PointerInteraction.prototype.handleDownEvent = function handleDownEvent (mapBrowserEvent) {\n return false;\n };\n\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserPointerEvent.js\").default} mapBrowserEvent Event.\n * @protected\n */\n PointerInteraction.prototype.handleDragEvent = function handleDragEvent (mapBrowserEvent) {};\n\n /**\n * Handles the {@link module:ol/MapBrowserEvent map browser event} and may call into\n * other functions, if event sequences like e.g. 'drag' or 'down-up' etc. are\n * detected.\n * @override\n * @api\n */\n PointerInteraction.prototype.handleEvent = function handleEvent (mapBrowserEvent) {\n if (!(/** @type {import(\"../MapBrowserPointerEvent.js\").default} */ (mapBrowserEvent).pointerEvent)) {\n return true;\n }\n\n var stopEvent = false;\n this.updateTrackedPointers_(mapBrowserEvent);\n if (this.handlingDownUpSequence) {\n if (mapBrowserEvent.type == MapBrowserEventType.POINTERDRAG) {\n this.handleDragEvent(mapBrowserEvent);\n } else if (mapBrowserEvent.type == MapBrowserEventType.POINTERUP) {\n var handledUp = this.handleUpEvent(mapBrowserEvent);\n this.handlingDownUpSequence = handledUp && this.targetPointers.length > 0;\n }\n } else {\n if (mapBrowserEvent.type == MapBrowserEventType.POINTERDOWN) {\n var handled = this.handleDownEvent(mapBrowserEvent);\n if (handled) {\n mapBrowserEvent.preventDefault();\n }\n this.handlingDownUpSequence = handled;\n stopEvent = this.stopDown(handled);\n } else if (mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE) {\n this.handleMoveEvent(mapBrowserEvent);\n }\n }\n return !stopEvent;\n };\n\n /**\n * Handle pointer move events.\n * @param {import(\"../MapBrowserPointerEvent.js\").default} mapBrowserEvent Event.\n * @protected\n */\n PointerInteraction.prototype.handleMoveEvent = function handleMoveEvent (mapBrowserEvent) {};\n\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserPointerEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n * @protected\n */\n PointerInteraction.prototype.handleUpEvent = function handleUpEvent (mapBrowserEvent) {\n return false;\n };\n\n /**\n * This function is used to determine if \"down\" events should be propagated\n * to other interactions or should be stopped.\n * @param {boolean} handled Was the event handled by the interaction?\n * @return {boolean} Should the `down` event be stopped?\n */\n PointerInteraction.prototype.stopDown = function stopDown (handled) {\n return handled;\n };\n\n /**\n * @param {import(\"../MapBrowserPointerEvent.js\").default} mapBrowserEvent Event.\n * @private\n */\n PointerInteraction.prototype.updateTrackedPointers_ = function updateTrackedPointers_ (mapBrowserEvent) {\n if (isPointerDraggingEvent(mapBrowserEvent)) {\n var event = mapBrowserEvent.pointerEvent;\n\n var id = event.pointerId.toString();\n if (mapBrowserEvent.type == MapBrowserEventType.POINTERUP) {\n delete this.trackedPointers_[id];\n } else if (mapBrowserEvent.type ==\n MapBrowserEventType.POINTERDOWN) {\n this.trackedPointers_[id] = event;\n } else if (id in this.trackedPointers_) {\n // update only when there was a pointerdown event for this pointer\n this.trackedPointers_[id] = event;\n }\n this.targetPointers = getValues(this.trackedPointers_);\n }\n };\n\n return PointerInteraction;\n}(Interaction));\n\n\n/**\n * @param {Array} pointerEvents List of events.\n * @return {import(\"../pixel.js\").Pixel} Centroid pixel.\n */\nexport function centroid(pointerEvents) {\n var length = pointerEvents.length;\n var clientX = 0;\n var clientY = 0;\n for (var i = 0; i < length; i++) {\n clientX += pointerEvents[i].clientX;\n clientY += pointerEvents[i].clientY;\n }\n return [clientX / length, clientY / length];\n}\n\n\n/**\n * @param {import(\"../MapBrowserPointerEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} Whether the event is a pointerdown, pointerdrag\n * or pointerup event.\n */\nfunction isPointerDraggingEvent(mapBrowserEvent) {\n var type = mapBrowserEvent.type;\n return type === MapBrowserEventType.POINTERDOWN ||\n type === MapBrowserEventType.POINTERDRAG ||\n type === MapBrowserEventType.POINTERUP;\n}\n\n\nexport default PointerInteraction;\n\n//# sourceMappingURL=Pointer.js.map","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bubble = function(context, config) {\n\t\tconfig.type = 'bubble';\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDetails.vue?vue&type=style&index=0&id=708279ba&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDetails.vue?vue&type=style&index=0&id=708279ba&scoped=true&lang=css&\"","var jsts = require('jsts');\n\n/**\n * Takes two or more {@link Polygon|polygons} and returns a combined polygon. If the input polygons are not contiguous, this function returns a {@link MultiPolygon} feature.\n *\n * @name union\n * @param {...Feature} A polygon to combine\n * @returns {Feature<(Polygon|MultiPolygon)>} a combined {@link Polygon} or {@link MultiPolygon} feature\n * @example\n * var poly1 = turf.polygon([[\n * [-82.574787, 35.594087],\n * [-82.574787, 35.615581],\n * [-82.545261, 35.615581],\n * [-82.545261, 35.594087],\n * [-82.574787, 35.594087]\n * ]], {\"fill\": \"#0f0\"});\n * var poly2 = turf.polygon([[\n * [-82.560024, 35.585153],\n * [-82.560024, 35.602602],\n * [-82.52964, 35.602602],\n * [-82.52964, 35.585153],\n * [-82.560024, 35.585153]\n * ]], {\"fill\": \"#00f\"});\n *\n * var union = turf.union(poly1, poly2);\n *\n * //addToMap\n * var addToMap = [poly1, poly2, union];\n */\nmodule.exports = function () {\n var reader = new jsts.io.GeoJSONReader();\n var result = reader.read(JSON.stringify(arguments[0].geometry));\n\n for (var i = 1; i < arguments.length; i++) {\n result = result.union(reader.read(JSON.stringify(arguments[i].geometry)));\n }\n\n var writer = new jsts.io.GeoJSONWriter();\n result = writer.write(result);\n\n return {\n type: 'Feature',\n geometry: result,\n properties: arguments[0].properties\n };\n};\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapseTransition.vue?vue&type=style&index=0&id=1bb22a21&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapseTransition.vue?vue&type=style&index=0&id=1bb22a21&lang=scss&scoped=true&\"","// https://en.wikipedia.org/wiki/Rhumb_line\n// http://www.movable-type.co.uk/scripts/latlong.html#rhumblines\nvar helpers = require('@turf/helpers');\nvar getCoord = require('@turf/invariant').getCoord;\nvar GeodesyLatLon = require('geodesy').LatLonSpherical;\nvar radiansToDistance = helpers.radiansToDistance;\nvar distanceToRadians = helpers.distanceToRadians;\n\n/**\n * Calculates the distance along a rhumb line between two {@link Point|points} in degrees, radians,\n * miles, or kilometers.\n *\n * @name rhumbDistance\n * @param {Geometry|Feature|Array} from origin point\n * @param {Geometry|Feature|Array} to destination point\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {number} distance between the two points\n * @example\n * var from = turf.point([-75.343, 39.984]);\n * var to = turf.point([-75.534, 39.123]);\n *\n * var distance = turf.rhumbDistance(from, to, \"miles\");\n *\n * //addToMap\n * var addToMap = [from, to];\n * from.properties.distance = distance;\n * to.properties.distance = distance;\n */\nmodule.exports = function (from, to, units) {\n // validation\n if (!from) throw new Error('from point is required');\n if (!to) throw new Error('to point is required');\n\n units = units || 'kilometers';\n\n var coordsFrom = getCoord(from);\n var coordsTo = getCoord(to);\n var origin = new GeodesyLatLon(coordsFrom[1], coordsFrom[0]);\n var destination = new GeodesyLatLon(coordsTo[1], coordsTo[0]);\n\n // compensate the crossing of the 180th meridian (https://macwright.org/2016/09/26/the-180th-meridian.html)\n // solution from https://github.com/mapbox/mapbox-gl-js/issues/3250#issuecomment-294887678\n destination[0] += (destination[0] - origin[0] > 180) ? -360 : (origin[0] - destination[0] > 180) ? 360 : 0;\n var distanceInMeters = origin.rhumbDistanceTo(destination);\n var distance = radiansToDistance(distanceToRadians(distanceInMeters, 'meters'), units);\n return distance;\n};\n","/**\n * @module ol/interaction/Interaction\n */\nimport BaseObject from '../Object.js';\nimport {easeOut, linear} from '../easing.js';\nimport InteractionProperty from './Property.js';\nimport {clamp} from '../math.js';\n\n\n/**\n * Object literal with config options for interactions.\n * @typedef {Object} InteractionOptions\n * @property {function(import(\"../MapBrowserEvent.js\").default):boolean} handleEvent\n * Method called by the map to notify the interaction that a browser event was\n * dispatched to the map. If the function returns a falsy value, propagation of\n * the event to other interactions in the map's interactions chain will be\n * prevented (this includes functions with no explicit return).\n */\n\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * User actions that change the state of the map. Some are similar to controls,\n * but are not associated with a DOM element.\n * For example, {@link module:ol/interaction/KeyboardZoom~KeyboardZoom} is\n * functionally the same as {@link module:ol/control/Zoom~Zoom}, but triggered\n * by a keyboard event not a button element event.\n * Although interactions do not have a DOM element, some of them do render\n * vectors and so are visible on the screen.\n * @api\n */\nvar Interaction = /*@__PURE__*/(function (BaseObject) {\n function Interaction(options) {\n BaseObject.call(this);\n\n if (options.handleEvent) {\n this.handleEvent = options.handleEvent;\n }\n\n /**\n * @private\n * @type {import(\"../PluggableMap.js\").default}\n */\n this.map_ = null;\n\n this.setActive(true);\n }\n\n if ( BaseObject ) Interaction.__proto__ = BaseObject;\n Interaction.prototype = Object.create( BaseObject && BaseObject.prototype );\n Interaction.prototype.constructor = Interaction;\n\n /**\n * Return whether the interaction is currently active.\n * @return {boolean} `true` if the interaction is active, `false` otherwise.\n * @observable\n * @api\n */\n Interaction.prototype.getActive = function getActive () {\n return /** @type {boolean} */ (this.get(InteractionProperty.ACTIVE));\n };\n\n /**\n * Get the map associated with this interaction.\n * @return {import(\"../PluggableMap.js\").default} Map.\n * @api\n */\n Interaction.prototype.getMap = function getMap () {\n return this.map_;\n };\n\n /**\n * Handles the {@link module:ol/MapBrowserEvent map browser event}.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @api\n */\n Interaction.prototype.handleEvent = function handleEvent (mapBrowserEvent) {\n return true;\n };\n\n /**\n * Activate or deactivate the interaction.\n * @param {boolean} active Active.\n * @observable\n * @api\n */\n Interaction.prototype.setActive = function setActive (active) {\n this.set(InteractionProperty.ACTIVE, active);\n };\n\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../PluggableMap.js\").default} map Map.\n */\n Interaction.prototype.setMap = function setMap (map) {\n this.map_ = map;\n };\n\n return Interaction;\n}(BaseObject));\n\n\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {import(\"../coordinate.js\").Coordinate} delta Delta.\n * @param {number=} opt_duration Duration.\n */\nexport function pan(view, delta, opt_duration) {\n var currentCenter = view.getCenter();\n if (currentCenter) {\n var center = view.constrainCenter(\n [currentCenter[0] + delta[0], currentCenter[1] + delta[1]]);\n if (opt_duration) {\n view.animate({\n duration: opt_duration,\n easing: linear,\n center: center\n });\n } else {\n view.setCenter(center);\n }\n }\n}\n\n\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {number|undefined} rotation Rotation.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor Anchor coordinate.\n * @param {number=} opt_duration Duration.\n */\nexport function rotate(view, rotation, opt_anchor, opt_duration) {\n rotation = view.constrainRotation(rotation, 0);\n rotateWithoutConstraints(view, rotation, opt_anchor, opt_duration);\n}\n\n\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {number|undefined} rotation Rotation.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor Anchor coordinate.\n * @param {number=} opt_duration Duration.\n */\nexport function rotateWithoutConstraints(view, rotation, opt_anchor, opt_duration) {\n if (rotation !== undefined) {\n var currentRotation = view.getRotation();\n var currentCenter = view.getCenter();\n if (currentRotation !== undefined && currentCenter && opt_duration > 0) {\n view.animate({\n rotation: rotation,\n anchor: opt_anchor,\n duration: opt_duration,\n easing: easeOut\n });\n } else {\n view.rotate(rotation, opt_anchor);\n }\n }\n}\n\n\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {number|undefined} resolution Resolution to go to.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor Anchor coordinate.\n * @param {number=} opt_duration Duration.\n * @param {number=} opt_direction Zooming direction; > 0 indicates\n * zooming out, in which case the constraints system will select\n * the largest nearest resolution; < 0 indicates zooming in, in\n * which case the constraints system will select the smallest\n * nearest resolution; == 0 indicates that the zooming direction\n * is unknown/not relevant, in which case the constraints system\n * will select the nearest resolution. If not defined 0 is\n * assumed.\n */\nexport function zoom(view, resolution, opt_anchor, opt_duration, opt_direction) {\n resolution = view.constrainResolution(resolution, 0, opt_direction);\n zoomWithoutConstraints(view, resolution, opt_anchor, opt_duration);\n}\n\n\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {number} delta Delta from previous zoom level.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor Anchor coordinate.\n * @param {number=} opt_duration Duration.\n */\nexport function zoomByDelta(view, delta, opt_anchor, opt_duration) {\n var currentResolution = view.getResolution();\n var resolution = view.constrainResolution(currentResolution, delta, 0);\n\n if (resolution !== undefined) {\n var resolutions = view.getResolutions();\n resolution = clamp(\n resolution,\n view.getMinResolution() || resolutions[resolutions.length - 1],\n view.getMaxResolution() || resolutions[0]);\n }\n\n // If we have a constraint on center, we need to change the anchor so that the\n // new center is within the extent. We first calculate the new center, apply\n // the constraint to it, and then calculate back the anchor\n if (opt_anchor && resolution !== undefined && resolution !== currentResolution) {\n var currentCenter = view.getCenter();\n var center = view.calculateCenterZoom(resolution, opt_anchor);\n center = view.constrainCenter(center);\n\n opt_anchor = [\n (resolution * currentCenter[0] - currentResolution * center[0]) /\n (resolution - currentResolution),\n (resolution * currentCenter[1] - currentResolution * center[1]) /\n (resolution - currentResolution)\n ];\n }\n\n zoomWithoutConstraints(view, resolution, opt_anchor, opt_duration);\n}\n\n\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {number|undefined} resolution Resolution to go to.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor Anchor coordinate.\n * @param {number=} opt_duration Duration.\n */\nexport function zoomWithoutConstraints(view, resolution, opt_anchor, opt_duration) {\n if (resolution) {\n var currentResolution = view.getResolution();\n var currentCenter = view.getCenter();\n if (currentResolution !== undefined && currentCenter &&\n resolution !== currentResolution && opt_duration) {\n view.animate({\n resolution: resolution,\n anchor: opt_anchor,\n duration: opt_duration,\n easing: easeOut\n });\n } else {\n if (opt_anchor) {\n var center = view.calculateCenterZoom(resolution, opt_anchor);\n view.setCenter(center);\n }\n view.setResolution(resolution);\n }\n }\n}\n\nexport default Interaction;\n\n//# sourceMappingURL=Interaction.js.map","/* global window: false */\n'use strict';\n\nvar moment = require('moment');\nmoment = typeof moment === 'function' ? moment : window.moment;\n\nvar defaults = require('../core/core.defaults');\nvar helpers = require('../helpers/index');\nvar Scale = require('../core/core.scale');\nvar scaleService = require('../core/core.scaleService');\n\n// Integer constants are from the ES6 spec.\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\nvar INTERVALS = {\n\tmillisecond: {\n\t\tcommon: true,\n\t\tsize: 1,\n\t\tsteps: [1, 2, 5, 10, 20, 50, 100, 250, 500]\n\t},\n\tsecond: {\n\t\tcommon: true,\n\t\tsize: 1000,\n\t\tsteps: [1, 2, 5, 10, 15, 30]\n\t},\n\tminute: {\n\t\tcommon: true,\n\t\tsize: 60000,\n\t\tsteps: [1, 2, 5, 10, 15, 30]\n\t},\n\thour: {\n\t\tcommon: true,\n\t\tsize: 3600000,\n\t\tsteps: [1, 2, 3, 6, 12]\n\t},\n\tday: {\n\t\tcommon: true,\n\t\tsize: 86400000,\n\t\tsteps: [1, 2, 5]\n\t},\n\tweek: {\n\t\tcommon: false,\n\t\tsize: 604800000,\n\t\tsteps: [1, 2, 3, 4]\n\t},\n\tmonth: {\n\t\tcommon: true,\n\t\tsize: 2.628e9,\n\t\tsteps: [1, 2, 3]\n\t},\n\tquarter: {\n\t\tcommon: false,\n\t\tsize: 7.884e9,\n\t\tsteps: [1, 2, 3, 4]\n\t},\n\tyear: {\n\t\tcommon: true,\n\t\tsize: 3.154e10\n\t}\n};\n\nvar UNITS = Object.keys(INTERVALS);\n\nfunction sorter(a, b) {\n\treturn a - b;\n}\n\nfunction arrayUnique(items) {\n\tvar hash = {};\n\tvar out = [];\n\tvar i, ilen, item;\n\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\n\t\titem = items[i];\n\t\tif (!hash[item]) {\n\t\t\thash[item] = true;\n\t\t\tout.push(item);\n\t\t}\n\t}\n\n\treturn out;\n}\n\n/**\n * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\n * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\n * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\n * extremity (left + width or top + height). Note that it would be more optimized to directly\n * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\n * to create the lookup table. The table ALWAYS contains at least two items: min and max.\n *\n * @param {Number[]} timestamps - timestamps sorted from lowest to highest.\n * @param {String} distribution - If 'linear', timestamps will be spread linearly along the min\n * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.\n * If 'series', timestamps will be positioned at the same distance from each other. In this\n * case, only timestamps that break the time linearity are registered, meaning that in the\n * best case, all timestamps are linear, the table contains only min and max.\n */\nfunction buildLookupTable(timestamps, min, max, distribution) {\n\tif (distribution === 'linear' || !timestamps.length) {\n\t\treturn [\n\t\t\t{time: min, pos: 0},\n\t\t\t{time: max, pos: 1}\n\t\t];\n\t}\n\n\tvar table = [];\n\tvar items = [min];\n\tvar i, ilen, prev, curr, next;\n\n\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n\t\tcurr = timestamps[i];\n\t\tif (curr > min && curr < max) {\n\t\t\titems.push(curr);\n\t\t}\n\t}\n\n\titems.push(max);\n\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\n\t\tnext = items[i + 1];\n\t\tprev = items[i - 1];\n\t\tcurr = items[i];\n\n\t\t// only add points that breaks the scale linearity\n\t\tif (prev === undefined || next === undefined || Math.round((next + prev) / 2) !== curr) {\n\t\t\ttable.push({time: curr, pos: i / (ilen - 1)});\n\t\t}\n\t}\n\n\treturn table;\n}\n\n// @see adapted from http://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/\nfunction lookup(table, key, value) {\n\tvar lo = 0;\n\tvar hi = table.length - 1;\n\tvar mid, i0, i1;\n\n\twhile (lo >= 0 && lo <= hi) {\n\t\tmid = (lo + hi) >> 1;\n\t\ti0 = table[mid - 1] || null;\n\t\ti1 = table[mid];\n\n\t\tif (!i0) {\n\t\t\t// given value is outside table (before first item)\n\t\t\treturn {lo: null, hi: i1};\n\t\t} else if (i1[key] < value) {\n\t\t\tlo = mid + 1;\n\t\t} else if (i0[key] > value) {\n\t\t\thi = mid - 1;\n\t\t} else {\n\t\t\treturn {lo: i0, hi: i1};\n\t\t}\n\t}\n\n\t// given value is outside table (after last item)\n\treturn {lo: i1, hi: null};\n}\n\n/**\n * Linearly interpolates the given source `value` using the table items `skey` values and\n * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')\n * returns the position for a timestamp equal to 42. If value is out of bounds, values at\n * index [0, 1] or [n - 1, n] are used for the interpolation.\n */\nfunction interpolate(table, skey, sval, tkey) {\n\tvar range = lookup(table, skey, sval);\n\n\t// Note: the lookup table ALWAYS contains at least 2 items (min and max)\n\tvar prev = !range.lo ? table[0] : !range.hi ? table[table.length - 2] : range.lo;\n\tvar next = !range.lo ? table[1] : !range.hi ? table[table.length - 1] : range.hi;\n\n\tvar span = next[skey] - prev[skey];\n\tvar ratio = span ? (sval - prev[skey]) / span : 0;\n\tvar offset = (next[tkey] - prev[tkey]) * ratio;\n\n\treturn prev[tkey] + offset;\n}\n\n/**\n * Convert the given value to a moment object using the given time options.\n * @see http://momentjs.com/docs/#/parsing/\n */\nfunction momentify(value, options) {\n\tvar parser = options.parser;\n\tvar format = options.parser || options.format;\n\n\tif (typeof parser === 'function') {\n\t\treturn parser(value);\n\t}\n\n\tif (typeof value === 'string' && typeof format === 'string') {\n\t\treturn moment(value, format);\n\t}\n\n\tif (!(value instanceof moment)) {\n\t\tvalue = moment(value);\n\t}\n\n\tif (value.isValid()) {\n\t\treturn value;\n\t}\n\n\t// Labels are in an incompatible moment format and no `parser` has been provided.\n\t// The user might still use the deprecated `format` option to convert his inputs.\n\tif (typeof format === 'function') {\n\t\treturn format(value);\n\t}\n\n\treturn value;\n}\n\nfunction parse(input, scale) {\n\tif (helpers.isNullOrUndef(input)) {\n\t\treturn null;\n\t}\n\n\tvar options = scale.options.time;\n\tvar value = momentify(scale.getRightValue(input), options);\n\tif (!value.isValid()) {\n\t\treturn null;\n\t}\n\n\tif (options.round) {\n\t\tvalue.startOf(options.round);\n\t}\n\n\treturn value.valueOf();\n}\n\n/**\n * Returns the number of unit to skip to be able to display up to `capacity` number of ticks\n * in `unit` for the given `min` / `max` range and respecting the interval steps constraints.\n */\nfunction determineStepSize(min, max, unit, capacity) {\n\tvar range = max - min;\n\tvar interval = INTERVALS[unit];\n\tvar milliseconds = interval.size;\n\tvar steps = interval.steps;\n\tvar i, ilen, factor;\n\n\tif (!steps) {\n\t\treturn Math.ceil(range / (capacity * milliseconds));\n\t}\n\n\tfor (i = 0, ilen = steps.length; i < ilen; ++i) {\n\t\tfactor = steps[i];\n\t\tif (Math.ceil(range / (milliseconds * factor)) <= capacity) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn factor;\n}\n\n/**\n * Figures out what unit results in an appropriate number of auto-generated ticks\n */\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n\tvar ilen = UNITS.length;\n\tvar i, interval, factor;\n\n\tfor (i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n\t\tinterval = INTERVALS[UNITS[i]];\n\t\tfactor = interval.steps ? interval.steps[interval.steps.length - 1] : MAX_INTEGER;\n\n\t\tif (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n\t\t\treturn UNITS[i];\n\t\t}\n\t}\n\n\treturn UNITS[ilen - 1];\n}\n\n/**\n * Figures out what unit to format a set of ticks with\n */\nfunction determineUnitForFormatting(ticks, minUnit, min, max) {\n\tvar duration = moment.duration(moment(max).diff(moment(min)));\n\tvar ilen = UNITS.length;\n\tvar i, unit;\n\n\tfor (i = ilen - 1; i >= UNITS.indexOf(minUnit); i--) {\n\t\tunit = UNITS[i];\n\t\tif (INTERVALS[unit].common && duration.as(unit) >= ticks.length) {\n\t\t\treturn unit;\n\t\t}\n\t}\n\n\treturn UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n\nfunction determineMajorUnit(unit) {\n\tfor (var i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n\t\tif (INTERVALS[UNITS[i]].common) {\n\t\t\treturn UNITS[i];\n\t\t}\n\t}\n}\n\n/**\n * Generates a maximum of `capacity` timestamps between min and max, rounded to the\n * `minor` unit, aligned on the `major` unit and using the given scale time `options`.\n * Important: this method can return ticks outside the min and max range, it's the\n * responsibility of the calling code to clamp values if needed.\n */\nfunction generate(min, max, capacity, options) {\n\tvar timeOpts = options.time;\n\tvar minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);\n\tvar major = determineMajorUnit(minor);\n\tvar stepSize = helpers.valueOrDefault(timeOpts.stepSize, timeOpts.unitStepSize);\n\tvar weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n\tvar majorTicksEnabled = options.ticks.major.enabled;\n\tvar interval = INTERVALS[minor];\n\tvar first = moment(min);\n\tvar last = moment(max);\n\tvar ticks = [];\n\tvar time;\n\n\tif (!stepSize) {\n\t\tstepSize = determineStepSize(min, max, minor, capacity);\n\t}\n\n\t// For 'week' unit, handle the first day of week option\n\tif (weekday) {\n\t\tfirst = first.isoWeekday(weekday);\n\t\tlast = last.isoWeekday(weekday);\n\t}\n\n\t// Align first/last ticks on unit\n\tfirst = first.startOf(weekday ? 'day' : minor);\n\tlast = last.startOf(weekday ? 'day' : minor);\n\n\t// Make sure that the last tick include max\n\tif (last < max) {\n\t\tlast.add(1, minor);\n\t}\n\n\ttime = moment(first);\n\n\tif (majorTicksEnabled && major && !weekday && !timeOpts.round) {\n\t\t// Align the first tick on the previous `minor` unit aligned on the `major` unit:\n\t\t// we first aligned time on the previous `major` unit then add the number of full\n\t\t// stepSize there is between first and the previous major time.\n\t\ttime.startOf(major);\n\t\ttime.add(~~((first - time) / (interval.size * stepSize)) * stepSize, minor);\n\t}\n\n\tfor (; time < last; time.add(stepSize, minor)) {\n\t\tticks.push(+time);\n\t}\n\n\tticks.push(+time);\n\n\treturn ticks;\n}\n\n/**\n * Returns the right and left offsets from edges in the form of {left, right}.\n * Offsets are added when the `offset` option is true.\n */\nfunction computeOffsets(table, ticks, min, max, options) {\n\tvar left = 0;\n\tvar right = 0;\n\tvar upper, lower;\n\n\tif (options.offset && ticks.length) {\n\t\tif (!options.time.min) {\n\t\t\tupper = ticks.length > 1 ? ticks[1] : max;\n\t\t\tlower = ticks[0];\n\t\t\tleft = (\n\t\t\t\tinterpolate(table, 'time', upper, 'pos') -\n\t\t\t\tinterpolate(table, 'time', lower, 'pos')\n\t\t\t) / 2;\n\t\t}\n\t\tif (!options.time.max) {\n\t\t\tupper = ticks[ticks.length - 1];\n\t\t\tlower = ticks.length > 1 ? ticks[ticks.length - 2] : min;\n\t\t\tright = (\n\t\t\t\tinterpolate(table, 'time', upper, 'pos') -\n\t\t\t\tinterpolate(table, 'time', lower, 'pos')\n\t\t\t) / 2;\n\t\t}\n\t}\n\n\treturn {left: left, right: right};\n}\n\nfunction ticksFromTimestamps(values, majorUnit) {\n\tvar ticks = [];\n\tvar i, ilen, value, major;\n\n\tfor (i = 0, ilen = values.length; i < ilen; ++i) {\n\t\tvalue = values[i];\n\t\tmajor = majorUnit ? value === +moment(value).startOf(majorUnit) : false;\n\n\t\tticks.push({\n\t\t\tvalue: value,\n\t\t\tmajor: major\n\t\t});\n\t}\n\n\treturn ticks;\n}\n\nfunction determineLabelFormat(data, timeOpts) {\n\tvar i, momentDate, hasTime;\n\tvar ilen = data.length;\n\n\t// find the label with the most parts (milliseconds, minutes, etc.)\n\t// format all labels with the same level of detail as the most specific label\n\tfor (i = 0; i < ilen; i++) {\n\t\tmomentDate = momentify(data[i], timeOpts);\n\t\tif (momentDate.millisecond() !== 0) {\n\t\t\treturn 'MMM D, YYYY h:mm:ss.SSS a';\n\t\t}\n\t\tif (momentDate.second() !== 0 || momentDate.minute() !== 0 || momentDate.hour() !== 0) {\n\t\t\thasTime = true;\n\t\t}\n\t}\n\tif (hasTime) {\n\t\treturn 'MMM D, YYYY h:mm:ss a';\n\t}\n\treturn 'MMM D, YYYY';\n}\n\nmodule.exports = function() {\n\n\tvar defaultConfig = {\n\t\tposition: 'bottom',\n\n\t\t/**\n\t\t * Data distribution along the scale:\n\t\t * - 'linear': data are spread according to their time (distances can vary),\n\t\t * - 'series': data are spread at the same distance from each other.\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\n\t\t * @since 2.7.0\n\t\t */\n\t\tdistribution: 'linear',\n\n\t\t/**\n\t\t * Scale boundary strategy (bypassed by min/max time options)\n\t\t * - `data`: make sure data are fully visible, ticks outside are removed\n\t\t * - `ticks`: make sure ticks are fully visible, data outside are truncated\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4556\n\t\t * @since 2.7.0\n\t\t */\n\t\tbounds: 'data',\n\n\t\ttime: {\n\t\t\tparser: false, // false == a pattern string from http://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\n\t\t\tformat: false, // DEPRECATED false == date objects, moment object, callback or a pattern string from http://momentjs.com/docs/#/parsing/string-format/\n\t\t\tunit: false, // false == automatic or override with week, month, year, etc.\n\t\t\tround: false, // none, or override with week, month, year, etc.\n\t\t\tdisplayFormat: false, // DEPRECATED\n\t\t\tisoWeekday: false, // override week start day - see http://momentjs.com/docs/#/get-set/iso-weekday/\n\t\t\tminUnit: 'millisecond',\n\n\t\t\t// defaults to unit's corresponding unitFormat below or override using pattern string from http://momentjs.com/docs/#/displaying/format/\n\t\t\tdisplayFormats: {\n\t\t\t\tmillisecond: 'h:mm:ss.SSS a', // 11:20:01.123 AM,\n\t\t\t\tsecond: 'h:mm:ss a', // 11:20:01 AM\n\t\t\t\tminute: 'h:mm a', // 11:20 AM\n\t\t\t\thour: 'hA', // 5PM\n\t\t\t\tday: 'MMM D', // Sep 4\n\t\t\t\tweek: 'll', // Week 46, or maybe \"[W]WW - YYYY\" ?\n\t\t\t\tmonth: 'MMM YYYY', // Sept 2015\n\t\t\t\tquarter: '[Q]Q - YYYY', // Q3\n\t\t\t\tyear: 'YYYY' // 2015\n\t\t\t},\n\t\t},\n\t\tticks: {\n\t\t\tautoSkip: false,\n\n\t\t\t/**\n\t\t\t * Ticks generation input values:\n\t\t\t * - 'auto': generates \"optimal\" ticks based on scale size and time options.\n\t\t\t * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\n\t\t\t * - 'labels': generates ticks from user given `data.labels` values ONLY.\n\t\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\n\t\t\t * @since 2.7.0\n\t\t\t */\n\t\t\tsource: 'auto',\n\n\t\t\tmajor: {\n\t\t\t\tenabled: false\n\t\t\t}\n\t\t}\n\t};\n\n\tvar TimeScale = Scale.extend({\n\t\tinitialize: function() {\n\t\t\tif (!moment) {\n\t\t\t\tthrow new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');\n\t\t\t}\n\n\t\t\tthis.mergeTicksOptions();\n\n\t\t\tScale.prototype.initialize.call(this);\n\t\t},\n\n\t\tupdate: function() {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\n\t\t\t// DEPRECATIONS: output a message only one time per update\n\t\t\tif (options.time && options.time.format) {\n\t\t\t\tconsole.warn('options.time.format is deprecated and replaced by options.time.parser.');\n\t\t\t}\n\n\t\t\treturn Scale.prototype.update.apply(me, arguments);\n\t\t},\n\n\t\t/**\n\t\t * Allows data to be referenced via 't' attribute\n\t\t */\n\t\tgetRightValue: function(rawValue) {\n\t\t\tif (rawValue && rawValue.t !== undefined) {\n\t\t\t\trawValue = rawValue.t;\n\t\t\t}\n\t\t\treturn Scale.prototype.getRightValue.call(this, rawValue);\n\t\t},\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar timeOpts = me.options.time;\n\t\t\tvar unit = timeOpts.unit || 'day';\n\t\t\tvar min = MAX_INTEGER;\n\t\t\tvar max = MIN_INTEGER;\n\t\t\tvar timestamps = [];\n\t\t\tvar datasets = [];\n\t\t\tvar labels = [];\n\t\t\tvar i, j, ilen, jlen, data, timestamp;\n\n\t\t\t// Convert labels to timestamps\n\t\t\tfor (i = 0, ilen = chart.data.labels.length; i < ilen; ++i) {\n\t\t\t\tlabels.push(parse(chart.data.labels[i], me));\n\t\t\t}\n\n\t\t\t// Convert data to timestamps\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tif (chart.isDatasetVisible(i)) {\n\t\t\t\t\tdata = chart.data.datasets[i].data;\n\n\t\t\t\t\t// Let's consider that all data have the same format.\n\t\t\t\t\tif (helpers.isObject(data[0])) {\n\t\t\t\t\t\tdatasets[i] = [];\n\n\t\t\t\t\t\tfor (j = 0, jlen = data.length; j < jlen; ++j) {\n\t\t\t\t\t\t\ttimestamp = parse(data[j], me);\n\t\t\t\t\t\t\ttimestamps.push(timestamp);\n\t\t\t\t\t\t\tdatasets[i][j] = timestamp;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimestamps.push.apply(timestamps, labels);\n\t\t\t\t\t\tdatasets[i] = labels.slice(0);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdatasets[i] = [];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (labels.length) {\n\t\t\t\t// Sort labels **after** data have been converted\n\t\t\t\tlabels = arrayUnique(labels).sort(sorter);\n\t\t\t\tmin = Math.min(min, labels[0]);\n\t\t\t\tmax = Math.max(max, labels[labels.length - 1]);\n\t\t\t}\n\n\t\t\tif (timestamps.length) {\n\t\t\t\ttimestamps = arrayUnique(timestamps).sort(sorter);\n\t\t\t\tmin = Math.min(min, timestamps[0]);\n\t\t\t\tmax = Math.max(max, timestamps[timestamps.length - 1]);\n\t\t\t}\n\n\t\t\tmin = parse(timeOpts.min, me) || min;\n\t\t\tmax = parse(timeOpts.max, me) || max;\n\n\t\t\t// In case there is no valid min/max, set limits based on unit time option\n\t\t\tmin = min === MAX_INTEGER ? +moment().startOf(unit) : min;\n\t\t\tmax = max === MIN_INTEGER ? +moment().endOf(unit) + 1 : max;\n\n\t\t\t// Make sure that max is strictly higher than min (required by the lookup table)\n\t\t\tme.min = Math.min(min, max);\n\t\t\tme.max = Math.max(min + 1, max);\n\n\t\t\t// PRIVATE\n\t\t\tme._horizontal = me.isHorizontal();\n\t\t\tme._table = [];\n\t\t\tme._timestamps = {\n\t\t\t\tdata: timestamps,\n\t\t\t\tdatasets: datasets,\n\t\t\t\tlabels: labels\n\t\t\t};\n\t\t},\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\t\t\tvar options = me.options;\n\t\t\tvar timeOpts = options.time;\n\t\t\tvar timestamps = [];\n\t\t\tvar ticks = [];\n\t\t\tvar i, ilen, timestamp;\n\n\t\t\tswitch (options.ticks.source) {\n\t\t\tcase 'data':\n\t\t\t\ttimestamps = me._timestamps.data;\n\t\t\t\tbreak;\n\t\t\tcase 'labels':\n\t\t\t\ttimestamps = me._timestamps.labels;\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\ttimestamps = generate(min, max, me.getLabelCapacity(min), options);\n\t\t\t}\n\n\t\t\tif (options.bounds === 'ticks' && timestamps.length) {\n\t\t\t\tmin = timestamps[0];\n\t\t\t\tmax = timestamps[timestamps.length - 1];\n\t\t\t}\n\n\t\t\t// Enforce limits with user min/max options\n\t\t\tmin = parse(timeOpts.min, me) || min;\n\t\t\tmax = parse(timeOpts.max, me) || max;\n\n\t\t\t// Remove ticks outside the min/max range\n\t\t\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n\t\t\t\ttimestamp = timestamps[i];\n\t\t\t\tif (timestamp >= min && timestamp <= max) {\n\t\t\t\t\tticks.push(timestamp);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.min = min;\n\t\t\tme.max = max;\n\n\t\t\t// PRIVATE\n\t\t\tme._unit = timeOpts.unit || determineUnitForFormatting(ticks, timeOpts.minUnit, me.min, me.max);\n\t\t\tme._majorUnit = determineMajorUnit(me._unit);\n\t\t\tme._table = buildLookupTable(me._timestamps.data, min, max, options.distribution);\n\t\t\tme._offsets = computeOffsets(me._table, ticks, min, max, options);\n\t\t\tme._labelFormat = determineLabelFormat(me._timestamps.data, timeOpts);\n\n\t\t\treturn ticksFromTimestamps(ticks, me._majorUnit);\n\t\t},\n\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar data = me.chart.data;\n\t\t\tvar timeOpts = me.options.time;\n\t\t\tvar label = data.labels && index < data.labels.length ? data.labels[index] : '';\n\t\t\tvar value = data.datasets[datasetIndex].data[index];\n\n\t\t\tif (helpers.isObject(value)) {\n\t\t\t\tlabel = me.getRightValue(value);\n\t\t\t}\n\t\t\tif (timeOpts.tooltipFormat) {\n\t\t\t\treturn momentify(label, timeOpts).format(timeOpts.tooltipFormat);\n\t\t\t}\n\t\t\tif (typeof label === 'string') {\n\t\t\t\treturn label;\n\t\t\t}\n\n\t\t\treturn momentify(label, timeOpts).format(me._labelFormat);\n\t\t},\n\n\t\t/**\n\t\t * Function to format an individual tick mark\n\t\t * @private\n\t\t */\n\t\ttickFormatFunction: function(tick, index, ticks, formatOverride) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar time = tick.valueOf();\n\t\t\tvar formats = options.time.displayFormats;\n\t\t\tvar minorFormat = formats[me._unit];\n\t\t\tvar majorUnit = me._majorUnit;\n\t\t\tvar majorFormat = formats[majorUnit];\n\t\t\tvar majorTime = tick.clone().startOf(majorUnit).valueOf();\n\t\t\tvar majorTickOpts = options.ticks.major;\n\t\t\tvar major = majorTickOpts.enabled && majorUnit && majorFormat && time === majorTime;\n\t\t\tvar label = tick.format(formatOverride ? formatOverride : major ? majorFormat : minorFormat);\n\t\t\tvar tickOpts = major ? majorTickOpts : options.ticks.minor;\n\t\t\tvar formatter = helpers.valueOrDefault(tickOpts.callback, tickOpts.userCallback);\n\n\t\t\treturn formatter ? formatter(label, index, ticks) : label;\n\t\t},\n\n\t\tconvertTicksToLabels: function(ticks) {\n\t\t\tvar labels = [];\n\t\t\tvar i, ilen;\n\n\t\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\n\t\t\t\tlabels.push(this.tickFormatFunction(moment(ticks[i].value), i, ticks));\n\t\t\t}\n\n\t\t\treturn labels;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetPixelForOffset: function(time) {\n\t\t\tvar me = this;\n\t\t\tvar size = me._horizontal ? me.width : me.height;\n\t\t\tvar start = me._horizontal ? me.left : me.top;\n\t\t\tvar pos = interpolate(me._table, 'time', time, 'pos');\n\n\t\t\treturn start + size * (me._offsets.left + pos) / (me._offsets.left + 1 + me._offsets.right);\n\t\t},\n\n\t\tgetPixelForValue: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar time = null;\n\n\t\t\tif (index !== undefined && datasetIndex !== undefined) {\n\t\t\t\ttime = me._timestamps.datasets[datasetIndex][index];\n\t\t\t}\n\n\t\t\tif (time === null) {\n\t\t\t\ttime = parse(value, me);\n\t\t\t}\n\n\t\t\tif (time !== null) {\n\t\t\t\treturn me.getPixelForOffset(time);\n\t\t\t}\n\t\t},\n\n\t\tgetPixelForTick: function(index) {\n\t\t\tvar ticks = this.getTicks();\n\t\t\treturn index >= 0 && index < ticks.length ?\n\t\t\t\tthis.getPixelForOffset(ticks[index].value) :\n\t\t\t\tnull;\n\t\t},\n\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar size = me._horizontal ? me.width : me.height;\n\t\t\tvar start = me._horizontal ? me.left : me.top;\n\t\t\tvar pos = (size ? (pixel - start) / size : 0) * (me._offsets.left + 1 + me._offsets.left) - me._offsets.right;\n\t\t\tvar time = interpolate(me._table, 'pos', pos, 'time');\n\n\t\t\treturn moment(time);\n\t\t},\n\n\t\t/**\n\t\t * Crude approximation of what the label width might be\n\t\t * @private\n\t\t */\n\t\tgetLabelWidth: function(label) {\n\t\t\tvar me = this;\n\t\t\tvar ticksOpts = me.options.ticks;\n\t\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\n\t\t\tvar angle = helpers.toRadians(ticksOpts.maxRotation);\n\t\t\tvar cosRotation = Math.cos(angle);\n\t\t\tvar sinRotation = Math.sin(angle);\n\t\t\tvar tickFontSize = helpers.valueOrDefault(ticksOpts.fontSize, defaults.global.defaultFontSize);\n\n\t\t\treturn (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetLabelCapacity: function(exampleTime) {\n\t\t\tvar me = this;\n\n\t\t\tvar formatOverride = me.options.time.displayFormats.millisecond;\t// Pick the longest format for guestimation\n\n\t\t\tvar exampleLabel = me.tickFormatFunction(moment(exampleTime), 0, [], formatOverride);\n\t\t\tvar tickLabelWidth = me.getLabelWidth(exampleLabel);\n\t\t\tvar innerWidth = me.isHorizontal() ? me.width : me.height;\n\n\t\t\tvar capacity = Math.floor(innerWidth / tickLabelWidth);\n\t\t\treturn capacity > 0 ? capacity : 1;\n\t\t}\n\t});\n\n\tscaleService.registerScaleType('time', TimeScale, defaultConfig);\n};\n","'use strict';\n\nmodule.exports = require('./helpers.core');\nmodule.exports.easing = require('./helpers.easing');\nmodule.exports.canvas = require('./helpers.canvas');\nmodule.exports.options = require('./helpers.options');\n","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./util'),\n orientationIndex = _require.orientationIndex,\n envelopeIsEqual = _require.envelopeIsEqual,\n envelopeContains = _require.envelopeContains,\n coordinatesEqual = _require.coordinatesEqual,\n _require2 = require('@turf/helpers'),\n multiPoint = _require2.multiPoint,\n polygon = _require2.polygon,\n point = _require2.point,\n envelope = require('@turf/envelope'),\n _inside = require('@turf/inside');\n\n/** Ring of edges which form a polygon.\n * The ring may be either an outer shell or a hole.\n *\n * This class is inspired in GEOS's geos::operation::polygonize::EdgeRing\n */\n\n\nvar EdgeRing = function () {\n function EdgeRing() {\n _classCallCheck(this, EdgeRing);\n\n this.edges = [];\n this.polygon = undefined; //< Caches Polygon representation\n this.envelope = undefined; //< Caches Envelope representation\n }\n\n /** Add an edge to the ring, inserting it in the last position.\n *\n * @param {Edge} edge - Edge to be inserted\n */\n\n\n _createClass(EdgeRing, [{\n key: 'push',\n value: function push(edge) {\n // Emulate Array getter ([]) behaviour\n this[this.edges.length] = edge;\n this.edges.push(edge);\n this.polygon = this.envelope = undefined;\n }\n\n /** Get Edge.\n *\n * @param {Number} i - Index\n * @returns {Edge} - Edge in the i position\n */\n\n }, {\n key: 'get',\n value: function get(i) {\n return this.edges[i];\n }\n\n /** Getter of length property.\n *\n * @returns {Number} - Length of the edge ring.\n */\n\n }, {\n key: 'forEach',\n\n\n /** Similar to Array.prototype.forEach for the list of Edges in the EdgeRing.\n *\n * @param {Function} f - The same function to be passed to Array.prototype.forEach\n */\n value: function forEach(f) {\n this.edges.forEach(f);\n }\n\n /** Similar to Array.prototype.map for the list of Edges in the EdgeRing.\n *\n * @param {Function} f - The same function to be passed to Array.prototype.map\n * @returns {Array} - The mapped values in the function\n */\n\n }, {\n key: 'map',\n value: function map(f) {\n return this.edges.map(f);\n }\n\n /** Similar to Array.prototype.some for the list of Edges in the EdgeRing.\n *\n * @param {Function} f - The same function to be passed to Array.prototype.some\n * @returns {Boolean} - True if an Edge check the condition\n */\n\n }, {\n key: 'some',\n value: function some(f) {\n return this.edges.some(f);\n }\n\n /** Check if the ring is valid in geomtry terms.\n * A ring must have either 0 or 4 or more points. The first and the last must be\n * equal (in 2D)\n * geos::geom::LinearRing::validateConstruction\n *\n * @returns {Boolean} - Validity of the EdgeRing\n */\n\n }, {\n key: 'isValid',\n value: function isValid() {\n // TODO: stub\n return true;\n }\n\n /** Tests whether this ring is a hole.\n * A ring is a hole if it is oriented counter-clockwise.\n * Similar implementation of geos::algorithm::CGAlgorithms::isCCW\n * @returns {Boolean} - true: if it is a hole\n */\n\n }, {\n key: 'isHole',\n value: function isHole() {\n var _this = this;\n\n // XXX: Assuming Ring is valid\n // Find highest point\n var hiIndex = this.edges.reduce(function (high, edge, i) {\n if (edge.from.coordinates[1] > _this.edges[high].from.coordinates[1]) high = i;\n return high;\n }, 0),\n iPrev = (hiIndex === 0 ? this.length : hiIndex) - 1,\n iNext = (hiIndex + 1) % this.length,\n disc = orientationIndex(this.edges[iPrev].from.coordinates, this.edges[hiIndex].from.coordinates, this.edges[iNext].from.coordinates);\n\n if (disc === 0) return this.edges[iPrev].from.coordinates[0] > this.edges[iNext].from.coordinates[0];\n return disc > 0;\n }\n\n /** Creates a MultiPoint representing the EdgeRing (discarts edges directions).\n * @returns {Feature} - Multipoint representation of the EdgeRing\n */\n\n }, {\n key: 'toMultiPoint',\n value: function toMultiPoint() {\n return multiPoint(this.edges.map(function (edge) {\n return edge.from.coordinates;\n }));\n }\n\n /** Creates a Polygon representing the EdgeRing.\n * @returns {Feature} - Polygon representation of the Edge Ring\n */\n\n }, {\n key: 'toPolygon',\n value: function toPolygon() {\n if (this.polygon) return this.polygon;\n var coordinates = this.edges.map(function (edge) {\n return edge.from.coordinates;\n });\n coordinates.push(this.edges[0].from.coordinates);\n return this.polygon = polygon([coordinates]);\n }\n\n /** Calculates the envelope of the EdgeRing.\n * @returns {Feature} - envelope\n */\n\n }, {\n key: 'getEnvelope',\n value: function getEnvelope() {\n if (this.envelope) return this.envelope;\n return this.envelope = envelope(this.toPolygon());\n }\n\n /**\n * `geos::operation::polygonize::EdgeRing::findEdgeRingContaining`\n *\n * @param {EdgeRing} testEdgeRing - EdgeRing to look in the list\n * @param {EdgeRing[]} shellList - List of EdgeRing in which to search\n *\n * @returns {EdgeRing} - EdgeRing which contains the testEdgeRing\n */\n\n }, {\n key: 'inside',\n\n\n /** Checks if the point is inside the edgeRing\n *\n * @param {Feature} point - Point to check if it is inside the edgeRing\n * @returns {Boolean} - True if it is inside, False otherwise\n */\n value: function inside(point) {\n return _inside(point, this.toPolygon());\n }\n }, {\n key: 'length',\n get: function get() {\n return this.edges.length;\n }\n }], [{\n key: 'findEdgeRingContaining',\n value: function findEdgeRingContaining(testEdgeRing, shellList) {\n var testEnvelope = testEdgeRing.getEnvelope();\n\n var minEnvelope = void 0,\n minShell = void 0;\n shellList.forEach(function (shell) {\n var tryEnvelope = shell.getEnvelope();\n\n if (minShell) minEnvelope = minShell.getEnvelope();\n\n // the hole envelope cannot equal the shell envelope\n if (envelopeIsEqual(tryEnvelope, testEnvelope)) return;\n\n if (envelopeContains(tryEnvelope, testEnvelope)) {\n var testPoint = testEdgeRing.map(function (edge) {\n return edge.from.coordinates;\n }).find(function (pt) {\n return !shell.some(function (edge) {\n return coordinatesEqual(pt, edge.from.coordinates);\n });\n });\n\n if (testPoint && shell.inside(point(testPoint))) {\n if (!minShell || envelopeContains(minEnvelope, tryEnvelope)) minShell = shell;\n }\n }\n });\n\n return minShell;\n }\n }]);\n\n return EdgeRing;\n}();\n\nmodule.exports = EdgeRing;","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsCheckbox.vue?vue&type=style&index=0&id=ca14c080&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsCheckbox.vue?vue&type=style&index=0&id=ca14c080&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-box\"},[(_vm.termsUrl && !_vm.paymentData.length)?_c('HelpBox',[_c('BsCheckbox',{attrs:{\"inline\":\"\"},model:{value:(_vm.modelProxy),callback:function ($$v) {_vm.modelProxy=$$v},expression:\"modelProxy\"}},[_c('IxRes',[_vm._v(\"frs.maps.payment.terms\")]),_c('a',{attrs:{\"href\":_vm.termsUrl,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"\\n (\"),_c('IxRes',[_vm._v(\"frs.termsOfService\")]),_vm._v(\")\\n \")],1)],1)],1):_vm._e(),(_vm.paymentData.length)?_c('HelpBox',{attrs:{\"type\":\"warning\"}},[_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.maps.payment.paymentData.missing\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2356843952)},[_c('ul',_vm._l((_vm.paymentData),function(data){return _c('li',{key:data},[_c('IxRes',[_vm._v(\"frs.company.data.\"+_vm._s(data))])],1)}),0)])],1):_vm._e(),(!_vm.termsUrl)?_c('HelpBox',{attrs:{\"type\":\"warning\"}},[_c('IxRes',[_vm._v(\"frs.maps.payment.terms.missing\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaymentTermsCheckbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaymentTermsCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapPaymentTermsCheckbox.vue?vue&type=template&id=a6d7e0a6&scoped=true&lang=html&\"\nimport script from \"./MapPaymentTermsCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./MapPaymentTermsCheckbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MapPaymentTermsCheckbox.vue?vue&type=style&index=0&id=a6d7e0a6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6d7e0a6\",\n null\n \n)\n\nexport default component.exports","var bbox = require('@turf/bbox');\nvar point = require('@turf/helpers').point;\n\n/**\n * Takes a {@link Feature} or {@link FeatureCollection} and returns the absolute center point of all features.\n *\n * @name center\n * @param {GeoJSON} geojson GeoJSON to be centered\n * @param {Object} [properties] an Object that is used as the {@link Feature}'s properties\n * @returns {Feature} a Point feature at the absolute center point of all input features\n * @example\n * var features = turf.featureCollection([\n * turf.point( [-97.522259, 35.4691]),\n * turf.point( [-97.502754, 35.463455]),\n * turf.point( [-97.508269, 35.463245])\n * ]);\n *\n * var center = turf.center(features);\n *\n * //addToMap\n * var addToMap = [features, center]\n * center.properties['marker-size'] = 'large';\n * center.properties['marker-color'] = '#000';\n */\nmodule.exports = function (geojson, properties) {\n var ext = bbox(geojson);\n var x = (ext[0] + ext[2]) / 2;\n var y = (ext[1] + ext[3]) / 2;\n return point([x, y], properties);\n};\n","var tin = require('@turf/tin');\nvar helpers = require('@turf/helpers');\nvar distance = require('@turf/distance');\nvar dissolve = require('geojson-dissolve');\nvar featureEach = require('@turf/meta').featureEach;\nvar feature = helpers.feature;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes a set of {@link Point|points} and returns a concave hull Polygon or MultiPolygon.\n * Internally, this uses [turf-tin](https://github.com/Turfjs/turf-tin) to generate geometries.\n *\n * @name concave\n * @param {FeatureCollection} points input points\n * @param {number} maxEdge the length (in 'units') of an edge necessary for part of the hull to become concave\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {Feature<(Polygon|MultiPolygon)>} a concave hull\n * @throws {Error} if maxEdge parameter is missing or unable to compute hull\n * @example\n * var points = turf.featureCollection([\n * turf.point([-63.601226, 44.642643]),\n * turf.point([-63.591442, 44.651436]),\n * turf.point([-63.580799, 44.648749]),\n * turf.point([-63.573589, 44.641788]),\n * turf.point([-63.587665, 44.64533]),\n * turf.point([-63.595218, 44.64765])\n * ]);\n *\n * var hull = turf.concave(points, 1, 'miles');\n *\n * //addToMap\n * var addToMap = [points, hull]\n */\nmodule.exports = function (points, maxEdge, units) {\n // validation\n if (!points) throw new Error('points is required');\n if (maxEdge === undefined || maxEdge === null) throw new Error('maxEdge is required');\n if (typeof maxEdge !== 'number') throw new Error('invalid maxEdge');\n\n var cleaned = removeDuplicates(points);\n\n var tinPolys = tin(cleaned);\n // calculate length of all edges and area of all triangles\n // and remove triangles that fail the max length test\n tinPolys.features = tinPolys.features.filter(function (triangle) {\n var pt1 = triangle.geometry.coordinates[0][0];\n var pt2 = triangle.geometry.coordinates[0][1];\n var pt3 = triangle.geometry.coordinates[0][2];\n var dist1 = distance(pt1, pt2, units);\n var dist2 = distance(pt2, pt3, units);\n var dist3 = distance(pt1, pt3, units);\n return (dist1 <= maxEdge && dist2 <= maxEdge && dist3 <= maxEdge);\n });\n\n if (tinPolys.features.length < 1) throw new Error('too few polygons found to compute concave hull');\n\n // merge the adjacent triangles\n var dissolved = dissolve(tinPolys.features);\n // geojson-dissolve always returns a MultiPolygon\n if (dissolved.coordinates.length === 1) {\n dissolved.coordinates = dissolved.coordinates[0];\n dissolved.type = 'Polygon';\n }\n return feature(dissolved);\n};\n\n/**\n * Removes duplicated points in a collection returning a new collection\n *\n * @private\n * @param {FeatureCollection} points to be cleaned\n * @returns {FeatureCollection} cleaned set of points\n */\nfunction removeDuplicates(points) {\n var cleaned = [];\n var existing = {};\n\n featureEach(points, function (pt) {\n if (!pt.geometry) return;\n var key = pt.geometry.coordinates.join('-');\n if (!existing.hasOwnProperty(key)) {\n cleaned.push(pt);\n existing[key] = true;\n }\n });\n return featureCollection(cleaned);\n}\n","'use strict';\n\nvar helpers = require('./helpers.core');\n\n/**\n * @namespace Chart.helpers.canvas\n */\nvar exports = module.exports = {\n\t/**\n\t * Clears the entire canvas associated to the given `chart`.\n\t * @param {Chart} chart - The chart for which to clear the canvas.\n\t */\n\tclear: function(chart) {\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\n\t},\n\n\t/**\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\n\t * given size (width, height) and the same `radius` for all corners.\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\n\t * @param {Number} x - The x axis of the coordinate for the rectangle starting point.\n\t * @param {Number} y - The y axis of the coordinate for the rectangle starting point.\n\t * @param {Number} width - The rectangle's width.\n\t * @param {Number} height - The rectangle's height.\n\t * @param {Number} radius - The rounded amount (in pixels) for the four corners.\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\n\t */\n\troundedRect: function(ctx, x, y, width, height, radius) {\n\t\tif (radius) {\n\t\t\t// NOTE(SB) `epsilon` helps to prevent minor artifacts appearing\n\t\t\t// on Chrome when `r` is exactly half the height or the width.\n\t\t\tvar epsilon = 0.0000001;\n\t\t\tvar r = Math.min(radius, (height / 2) - epsilon, (width / 2) - epsilon);\n\n\t\t\tctx.moveTo(x + r, y);\n\t\t\tctx.lineTo(x + width - r, y);\n\t\t\tctx.arcTo(x + width, y, x + width, y + r, r);\n\t\t\tctx.lineTo(x + width, y + height - r);\n\t\t\tctx.arcTo(x + width, y + height, x + width - r, y + height, r);\n\t\t\tctx.lineTo(x + r, y + height);\n\t\t\tctx.arcTo(x, y + height, x, y + height - r, r);\n\t\t\tctx.lineTo(x, y + r);\n\t\t\tctx.arcTo(x, y, x + r, y, r);\n\t\t\tctx.closePath();\n\t\t\tctx.moveTo(x, y);\n\t\t} else {\n\t\t\tctx.rect(x, y, width, height);\n\t\t}\n\t},\n\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\n\t\tvar type, edgeLength, xOffset, yOffset, height, size;\n\t\trotation = rotation || 0;\n\n\t\tif (style && typeof style === 'object') {\n\t\t\ttype = style.toString();\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n\t\t\t\tctx.drawImage(style, x - style.width / 2, y - style.height / 2, style.width, style.height);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (isNaN(radius) || radius <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\t\tctx.translate(x, y);\n\t\tctx.rotate(rotation * Math.PI / 180);\n\t\tctx.beginPath();\n\n\t\tswitch (style) {\n\t\t// Default includes circle\n\t\tdefault:\n\t\t\tctx.arc(0, 0, radius, 0, Math.PI * 2);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'triangle':\n\t\t\tedgeLength = 3 * radius / Math.sqrt(3);\n\t\t\theight = edgeLength * Math.sqrt(3) / 2;\n\t\t\tctx.moveTo(-edgeLength / 2, height / 3);\n\t\t\tctx.lineTo(edgeLength / 2, height / 3);\n\t\t\tctx.lineTo(0, -2 * height / 3);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'rect':\n\t\t\tsize = 1 / Math.SQRT2 * radius;\n\t\t\tctx.rect(-size, -size, 2 * size, 2 * size);\n\t\t\tbreak;\n\t\tcase 'rectRounded':\n\t\t\tvar offset = radius / Math.SQRT2;\n\t\t\tvar leftX = -offset;\n\t\t\tvar topY = -offset;\n\t\t\tvar sideSize = Math.SQRT2 * radius;\n\n\t\t\t// NOTE(SB) the rounded rect implementation changed to use `arcTo`\n\t\t\t// instead of `quadraticCurveTo` since it generates better results\n\t\t\t// when rect is almost a circle. 0.425 (instead of 0.5) produces\n\t\t\t// results visually closer to the previous impl.\n\t\t\tthis.roundedRect(ctx, leftX, topY, sideSize, sideSize, radius * 0.425);\n\t\t\tbreak;\n\t\tcase 'rectRot':\n\t\t\tsize = 1 / Math.SQRT2 * radius;\n\t\t\tctx.moveTo(-size, 0);\n\t\t\tctx.lineTo(0, size);\n\t\t\tctx.lineTo(size, 0);\n\t\t\tctx.lineTo(0, -size);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'cross':\n\t\t\tctx.moveTo(0, radius);\n\t\t\tctx.lineTo(0, -radius);\n\t\t\tctx.moveTo(-radius, 0);\n\t\t\tctx.lineTo(radius, 0);\n\t\t\tbreak;\n\t\tcase 'crossRot':\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\n\t\t\tctx.moveTo(-xOffset, -yOffset);\n\t\t\tctx.lineTo(xOffset, yOffset);\n\t\t\tctx.moveTo(-xOffset, yOffset);\n\t\t\tctx.lineTo(xOffset, -yOffset);\n\t\t\tbreak;\n\t\tcase 'star':\n\t\t\tctx.moveTo(0, radius);\n\t\t\tctx.lineTo(0, -radius);\n\t\t\tctx.moveTo(-radius, 0);\n\t\t\tctx.lineTo(radius, 0);\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\n\t\t\tctx.moveTo(-xOffset, -yOffset);\n\t\t\tctx.lineTo(xOffset, yOffset);\n\t\t\tctx.moveTo(-xOffset, yOffset);\n\t\t\tctx.lineTo(xOffset, -yOffset);\n\t\t\tbreak;\n\t\tcase 'line':\n\t\t\tctx.moveTo(-radius, 0);\n\t\t\tctx.lineTo(radius, 0);\n\t\t\tbreak;\n\t\tcase 'dash':\n\t\t\tctx.moveTo(0, 0);\n\t\t\tctx.lineTo(radius, 0);\n\t\t\tbreak;\n\t\t}\n\n\t\tctx.fill();\n\t\tctx.stroke();\n\t\tctx.restore();\n\t},\n\n\tclipArea: function(ctx, area) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n\t\tctx.clip();\n\t},\n\n\tunclipArea: function(ctx) {\n\t\tctx.restore();\n\t},\n\n\tlineTo: function(ctx, previous, target, flip) {\n\t\tif (target.steppedLine) {\n\t\t\tif ((target.steppedLine === 'after' && !flip) || (target.steppedLine !== 'after' && flip)) {\n\t\t\t\tctx.lineTo(previous.x, target.y);\n\t\t\t} else {\n\t\t\t\tctx.lineTo(target.x, previous.y);\n\t\t\t}\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!target.tension) {\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tctx.bezierCurveTo(\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\n\t\t\ttarget.x,\n\t\t\ttarget.y);\n\t}\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\n * @namespace Chart.helpers.clear\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.clear = exports.clear;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\n * @namespace Chart.helpers.drawRoundedRectangle\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.drawRoundedRectangle = function(ctx) {\n\tctx.beginPath();\n\texports.roundedRect.apply(exports, arguments);\n};\n","var bbox = require('@turf/bbox');\nvar distance = require('@turf/distance');\nvar centroid = require('@turf/centroid');\nvar squareGrid = require('@turf/square-grid');\n\n/**\n *\n * Takes a FeatureCollection of points with known value, a power parameter, a cell depth, a unit of measurement\n * and returns a FeatureCollection of polygons in a square-grid with an interpolated value property \"IDW\" for each grid cell.\n * It finds application when in need of creating a continuous surface (i.e. rainfall, temperature, chemical dispersion surface...)\n * from a set of spatially scattered points.\n *\n * @name idw\n * @param {FeatureCollection} controlPoints Sampled points with known value\n * @param {string} valueField GeoJSON field containing the known value to interpolate on\n * @param {number} weight Exponent regulating the distance-decay weighting\n * @param {number} cellWidth The distance across each cell\n * @param {string} [units=kilometers] used in calculating cellSize, can be degrees, radians, miles, or kilometers\n * @returns {FeatureCollection} grid A grid of polygons with a property field named as `valueField`\n */\nmodule.exports = function (controlPoints, valueField, weight, cellWidth, units) {\n // validation\n if (!valueField) throw new Error('valueField is required');\n if (weight === undefined || weight === null) throw new Error('weight is required');\n if (cellWidth === undefined || cellWidth === null) throw new Error('cellWidth is required');\n\n // check if field containing data exists.\n var filtered = controlPoints.features.filter(function (feature) {\n return feature.properties &&\n feature.properties.hasOwnProperty(valueField);\n });\n if (filtered.length === 0) throw new Error('Specified Data Field is Missing');\n\n // create a sample square grid\n // compared to a point grid helps visualizing the output (like a raster..)\n var samplingGrid = squareGrid(bbox(controlPoints), cellWidth, units);\n var N = samplingGrid.features.length;\n for (var i = 0; i < N; i++) {\n var zw = 0;\n var sw = 0;\n // calculate the distance from each control point to cell's centroid\n for (var j = 0; j < controlPoints.features.length; j++) {\n var d = distance(centroid(samplingGrid.features[i]), controlPoints.features[j], units);\n if (d === 0) {\n zw = controlPoints.features[j].properties[valueField];\n }\n var w = 1.0 / Math.pow(d, weight);\n sw += w;\n zw += w * controlPoints.features[j].properties[valueField];\n }\n // write IDW value for each grid cell\n samplingGrid.features[i].properties[valueField] = zw / sw;\n }\n return samplingGrid;\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\tChart.Scatter = function(context, config) {\n\t\tconfig.type = 'scatter';\n\t\treturn new Chart(context, config);\n\t};\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Doughnut = function(context, config) {\n\t\tconfig.type = 'doughnut';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","import mod from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationValues.vue?vue&type=style&index=0&id=70b3b38a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationValues.vue?vue&type=style&index=0&id=70b3b38a&lang=scss&scoped=true&\"","'use strict';\n\n/**\n * @namespace Chart.helpers\n */\nvar helpers = {\n\t/**\n\t * An empty function that can be used, for example, for optional callback.\n\t */\n\tnoop: function() {},\n\n\t/**\n\t * Returns a unique id, sequentially generated from a global variable.\n\t * @returns {Number}\n\t * @function\n\t */\n\tuid: (function() {\n\t\tvar id = 0;\n\t\treturn function() {\n\t\t\treturn id++;\n\t\t};\n\t}()),\n\n\t/**\n\t * Returns true if `value` is neither null nor undefined, else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {Boolean}\n\t * @since 2.7.0\n\t */\n\tisNullOrUndef: function(value) {\n\t\treturn value === null || typeof value === 'undefined';\n\t},\n\n\t/**\n\t * Returns true if `value` is an array, else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {Boolean}\n\t * @function\n\t */\n\tisArray: Array.isArray ? Array.isArray : function(value) {\n\t\treturn Object.prototype.toString.call(value) === '[object Array]';\n\t},\n\n\t/**\n\t * Returns true if `value` is an object (excluding null), else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {Boolean}\n\t * @since 2.7.0\n\t */\n\tisObject: function(value) {\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\n\t},\n\n\t/**\n\t * Returns `value` if defined, else returns `defaultValue`.\n\t * @param {*} value - The value to return if defined.\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\n\t * @returns {*}\n\t */\n\tvalueOrDefault: function(value, defaultValue) {\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\n\t},\n\n\t/**\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\n\t * @param {Array} value - The array to lookup for value at `index`.\n\t * @param {Number} index - The index in `value` to lookup for value.\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\n\t * @returns {*}\n\t */\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\n\t},\n\n\t/**\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n\t * @param {Function} fn - The function to call.\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\n\t * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @returns {*}\n\t */\n\tcallback: function(fn, args, thisArg) {\n\t\tif (fn && typeof fn.call === 'function') {\n\t\t\treturn fn.apply(thisArg, args);\n\t\t}\n\t},\n\n\t/**\n\t * Note(SB) for performance sake, this method should only be used when loopable type\n\t * is unknown or in none intensive code (not called often and small loopable). Else\n\t * it's preferable to use a regular for() loop and save extra function calls.\n\t * @param {Object|Array} loopable - The object or array to be iterated.\n\t * @param {Function} fn - The function to call for each item.\n\t * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @param {Boolean} [reverse] - If true, iterates backward on the loopable.\n\t */\n\teach: function(loopable, fn, thisArg, reverse) {\n\t\tvar i, len, keys;\n\t\tif (helpers.isArray(loopable)) {\n\t\t\tlen = loopable.length;\n\t\t\tif (reverse) {\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (helpers.isObject(loopable)) {\n\t\t\tkeys = Object.keys(loopable);\n\t\t\tlen = keys.length;\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n\t * @see http://stackoverflow.com/a/14853974\n\t * @param {Array} a0 - The array to compare\n\t * @param {Array} a1 - The array to compare\n\t * @returns {Boolean}\n\t */\n\tarrayEquals: function(a0, a1) {\n\t\tvar i, ilen, v0, v1;\n\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\n\t\t\tv0 = a0[i];\n\t\t\tv1 = a1[i];\n\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (v0 !== v1) {\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\n\t * @param {*} source - The value to clone.\n\t * @returns {*}\n\t */\n\tclone: function(source) {\n\t\tif (helpers.isArray(source)) {\n\t\t\treturn source.map(helpers.clone);\n\t\t}\n\n\t\tif (helpers.isObject(source)) {\n\t\t\tvar target = {};\n\t\t\tvar keys = Object.keys(source);\n\t\t\tvar klen = keys.length;\n\t\t\tvar k = 0;\n\n\t\t\tfor (; k < klen; ++k) {\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\n\t\t\t}\n\n\t\t\treturn target;\n\t\t}\n\n\t\treturn source;\n\t},\n\n\t/**\n\t * The default merger when Chart.helpers.merge is called without merger option.\n\t * Note(SB): this method is also used by configMerge and scaleMerge as fallback.\n\t * @private\n\t */\n\t_merger: function(key, target, source, options) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\n\t\t\thelpers.merge(tval, sval, options);\n\t\t} else {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Merges source[key] in target[key] only if target[key] is undefined.\n\t * @private\n\t */\n\t_mergerIf: function(key, target, source) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\n\t\t\thelpers.mergeIf(tval, sval);\n\t\t} else if (!target.hasOwnProperty(key)) {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {Object} target - The target object in which all sources are merged into.\n\t * @param {Object|Array(Object)} source - Object(s) to merge into `target`.\n\t * @param {Object} [options] - Merging options:\n\t * @param {Function} [options.merger] - The merge method (key, target, source, options)\n\t * @returns {Object} The `target` object.\n\t */\n\tmerge: function(target, source, options) {\n\t\tvar sources = helpers.isArray(source) ? source : [source];\n\t\tvar ilen = sources.length;\n\t\tvar merge, i, keys, klen, k;\n\n\t\tif (!helpers.isObject(target)) {\n\t\t\treturn target;\n\t\t}\n\n\t\toptions = options || {};\n\t\tmerge = options.merger || helpers._merger;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tsource = sources[i];\n\t\t\tif (!helpers.isObject(source)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tkeys = Object.keys(source);\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\n\t\t\t\tmerge(keys[k], target, source, options);\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {Object} target - The target object in which all sources are merged into.\n\t * @param {Object|Array(Object)} source - Object(s) to merge into `target`.\n\t * @returns {Object} The `target` object.\n\t */\n\tmergeIf: function(target, source) {\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\n\t},\n\n\t/**\n\t * Applies the contents of two or more objects together into the first object.\n\t * @param {Object} target - The target object in which all objects are merged into.\n\t * @param {Object} arg1 - Object containing additional properties to merge in target.\n\t * @param {Object} argN - Additional objects containing properties to merge in target.\n\t * @returns {Object} The `target` object.\n\t */\n\textend: function(target) {\n\t\tvar setFn = function(value, key) {\n\t\t\ttarget[key] = value;\n\t\t};\n\t\tfor (var i = 1, ilen = arguments.length; i < ilen; ++i) {\n\t\t\thelpers.each(arguments[i], setFn);\n\t\t}\n\t\treturn target;\n\t},\n\n\t/**\n\t * Basic javascript inheritance based on the model created in Backbone.js\n\t */\n\tinherits: function(extensions) {\n\t\tvar me = this;\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\n\t\t\treturn me.apply(this, arguments);\n\t\t};\n\n\t\tvar Surrogate = function() {\n\t\t\tthis.constructor = ChartElement;\n\t\t};\n\n\t\tSurrogate.prototype = me.prototype;\n\t\tChartElement.prototype = new Surrogate();\n\t\tChartElement.extend = helpers.inherits;\n\n\t\tif (extensions) {\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\n\t\t}\n\n\t\tChartElement.__super__ = me.prototype;\n\t\treturn ChartElement;\n\t}\n};\n\nmodule.exports = helpers;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.callback instead.\n * @function Chart.helpers.callCallback\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nhelpers.callCallback = helpers.callback;\n\n/**\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\n * @function Chart.helpers.indexOf\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.indexOf = function(array, item, fromIndex) {\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\n};\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\n * @function Chart.helpers.getValueOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueOrDefault = helpers.valueOrDefault;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\n * @function Chart.helpers.getValueAtIndexOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsRouterBackLink.vue?vue&type=style&index=0&id=163f774e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsRouterBackLink.vue?vue&type=style&index=0&id=163f774e&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NutrientMapDetails.vue?vue&type=style&index=0&id=d9851d8e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NutrientMapDetails.vue?vue&type=style&index=0&id=d9851d8e&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSimpleApplicationMap.vue?vue&type=style&index=0&id=8d0c8e34&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSimpleApplicationMap.vue?vue&type=style&index=0&id=8d0c8e34&scoped=true&lang=css&\"","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","var coordEach = require('@turf/meta').coordEach;\n\n/**\n * Takes a GeoJSON Feature or FeatureCollection and truncates the precision of the geometry.\n *\n * @name truncate\n * @param {FeatureCollection|Feature} geojson any GeoJSON Feature, FeatureCollection, Geometry or GeometryCollection.\n * @param {number} [precision=6] coordinate decimal precision\n * @param {number} [coordinates=3] maximum number of coordinates (primarly used to remove z coordinates)\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {FeatureCollection|Feature} layer with truncated geometry\n * @example\n * var point = turf.point([\n * 70.46923055566859,\n * 58.11088890802906,\n * 1508\n * ]);\n *\n * var truncated = turf.truncate(point);\n *\n * //addToMap\n * var addToMap = [truncated];\n */\nmodule.exports = function (geojson, precision, coordinates, mutate) {\n // default params\n precision = (precision === undefined || precision === null || isNaN(precision)) ? 6 : precision;\n coordinates = (coordinates === undefined || coordinates === null || isNaN(coordinates)) ? 3 : coordinates;\n\n // validation\n if (!geojson) throw new Error(' is required');\n if (typeof precision !== 'number') throw new Error(' must be a number');\n if (typeof coordinates !== 'number') throw new Error(' must be a number');\n\n // prevent input mutation\n if (mutate === false || mutate === undefined) geojson = JSON.parse(JSON.stringify(geojson));\n\n var factor = Math.pow(10, precision);\n\n // Truncate Coordinates\n coordEach(geojson, function (coords) {\n truncate(coords, factor, coordinates);\n });\n return geojson;\n};\n\n/**\n * Truncate Coordinates - Mutates coordinates in place\n *\n * @private\n * @param {Array} coords Geometry Coordinates\n * @param {number} factor rounding factor for coordinate decimal precision\n * @param {number} coordinates maximum number of coordinates (primarly used to remove z coordinates)\n * @returns {Array} mutated coordinates\n */\nfunction truncate(coords, factor, coordinates) {\n // Remove extra coordinates (usually elevation coordinates and more)\n if (coords.length > coordinates) coords.splice(coordinates, coords.length);\n\n // Truncate coordinate decimals\n for (var i = 0; i < coords.length; i++) {\n coords[i] = Math.round(coords[i] * factor) / factor;\n }\n return coords;\n}\n","import translate from 'src/js/i18n/translate'\r\nimport {toMixtureName} from '../cultivation-planning/helpers'\r\n\r\nexport function cultivationToColor (cultivation) {\r\n let color\r\n switch (cultivation.type) {\r\n case 'main':\r\n case 'secondary':\r\n color = cultivation.color\r\n break\r\n case 'eco': {\r\n switch (cultivation.ecoTypeId) {\r\n case 'Brache': {\r\n color = '#4a91b1'\r\n break\r\n }\r\n default: {\r\n color = '#6c9db3'\r\n break\r\n }\r\n }\r\n break\r\n }\r\n case 'catch': {\r\n color = '#302f69'\r\n break\r\n }\r\n default: {\r\n color = '#ff0000'\r\n break\r\n }\r\n }\r\n return color || '#3b3b3b'\r\n}\r\n\r\nexport function cultivationToName (cultivation) {\r\n switch (cultivation.type) {\r\n case 'main':\r\n case 'secondary': {\r\n if (!cultivation.cropUsageId) {\r\n console.error(`cropUsageId for cultivation with id ${cultivation.id} is null`)\r\n }\r\n return translate(`masterData.crops.usage.${cultivation.cropUsageId}_name`)\r\n }\r\n case 'catch': {\r\n return cultivation.mixtureComponents\r\n ? toMixtureName(cultivation.mixtureComponents)\r\n : translate('Areas.FieldRecordSystem.SR_FieldRecordSystem.CatchCrop')\r\n }\r\n case 'eco':\r\n return translate(`Areas.FieldRecordSystem.SR_FieldRecordSystem.EcoTypes_${cultivation.ecoTypeId}`)\r\n default:\r\n throw new Error(translate('Areas.FieldRecordSystem.SR_FieldRecordSystem.InvalidCultivationType').concat(`: ${cultivation.type}`))\r\n }\r\n}\r\n\r\nexport function cultivationTypeToShortcut (cultivation) {\r\n return translate(`Areas.FieldRecordSystem.SR_FieldRecordSystem.CultivationType_${cultivation.type}_shortcut`)\r\n}\r\n","var polygon = require('@turf/helpers').polygon;\n\n/**\n * Takes a bbox and returns an equivalent {@link Polygon|polygon}.\n *\n * @name bboxPolygon\n * @param {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @returns {Feature} a Polygon representation of the bounding box\n * @example\n * var bbox = [0, 0, 10, 10];\n *\n * var poly = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [poly]\n */\nmodule.exports = function (bbox) {\n var lowLeft = [bbox[0], bbox[1]];\n var topLeft = [bbox[0], bbox[3]];\n var topRight = [bbox[2], bbox[3]];\n var lowRight = [bbox[2], bbox[1]];\n\n return polygon([[\n lowLeft,\n lowRight,\n topRight,\n topLeft,\n lowLeft\n ]]);\n};\n","var bbox = require('@turf/bbox');\nvar point = require('@turf/helpers').point;\n\n/**\n * Takes a {@link Feature} or {@link FeatureCollection} and returns the absolute center point of all features.\n *\n * @name center\n * @param {GeoJSON} geojson GeoJSON to be centered\n * @param {Object} [properties] an Object that is used as the {@link Feature}'s properties\n * @returns {Feature} a Point feature at the absolute center point of all input features\n * @example\n * var features = turf.featureCollection([\n * turf.point( [-97.522259, 35.4691]),\n * turf.point( [-97.502754, 35.463455]),\n * turf.point( [-97.508269, 35.463245])\n * ]);\n *\n * var center = turf.center(features);\n *\n * //addToMap\n * var addToMap = [features, center]\n * center.properties['marker-size'] = 'large';\n * center.properties['marker-color'] = '#000';\n */\nmodule.exports = function (geojson, properties) {\n var ext = bbox(geojson);\n var x = (ext[0] + ext[2]) / 2;\n var y = (ext[1] + ext[3]) / 2;\n return point([x, y], properties);\n};\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar Element = require('../core/core.element');\nvar helpers = require('../helpers/index');\n\nvar globalDefaults = defaults.global;\n\ndefaults._set('global', {\n\telements: {\n\t\tline: {\n\t\t\ttension: 0.4,\n\t\t\tbackgroundColor: globalDefaults.defaultColor,\n\t\t\tborderWidth: 3,\n\t\t\tborderColor: globalDefaults.defaultColor,\n\t\t\tborderCapStyle: 'butt',\n\t\t\tborderDash: [],\n\t\t\tborderDashOffset: 0.0,\n\t\t\tborderJoinStyle: 'miter',\n\t\t\tcapBezierPoints: true,\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\n\t\t}\n\t}\n});\n\nmodule.exports = Element.extend({\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar vm = me._view;\n\t\tvar ctx = me._chart.ctx;\n\t\tvar spanGaps = vm.spanGaps;\n\t\tvar points = me._children.slice(); // clone array\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\n\t\tvar lastDrawnIndex = -1;\n\t\tvar index, current, previous, currentVM;\n\n\t\t// If we are looping, adding the first point again\n\t\tif (me._loop && points.length) {\n\t\t\tpoints.push(points[0]);\n\t\t}\n\n\t\tctx.save();\n\n\t\t// Stroke Line Options\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\n\n\t\t// IE 9 and 10 do not support line dash\n\t\tif (ctx.setLineDash) {\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\n\t\t}\n\n\t\tctx.lineDashOffset = vm.borderDashOffset || globalOptionLineElements.borderDashOffset;\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\n\t\tctx.lineWidth = vm.borderWidth || globalOptionLineElements.borderWidth;\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\n\n\t\t// Stroke Line\n\t\tctx.beginPath();\n\t\tlastDrawnIndex = -1;\n\n\t\tfor (index = 0; index < points.length; ++index) {\n\t\t\tcurrent = points[index];\n\t\t\tprevious = helpers.previousItem(points, index);\n\t\t\tcurrentVM = current._view;\n\n\t\t\t// First point moves to it's starting position no matter what\n\t\t\tif (index === 0) {\n\t\t\t\tif (!currentVM.skip) {\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t\tlastDrawnIndex = index;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tprevious = lastDrawnIndex === -1 ? previous : points[lastDrawnIndex];\n\n\t\t\t\tif (!currentVM.skip) {\n\t\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\n\t\t\t\t\t\t// There was a gap and this is the first point after the gap\n\t\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Line to next point\n\t\t\t\t\t\thelpers.canvas.lineTo(ctx, previous._view, current._view);\n\t\t\t\t\t}\n\t\t\t\t\tlastDrawnIndex = index;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.restore();\n\t}\n});\n","import mod from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=style&index=0&id=5f4364e0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=style&index=0&id=5f4364e0&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneValues.vue?vue&type=style&index=0&id=2256e972&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneValues.vue?vue&type=style&index=0&id=2256e972&lang=scss&scoped=true&\"","var bbox = require('@turf/bbox');\nvar meta = require('@turf/meta');\nvar helpers = require('@turf/helpers');\nvar invariant = require('@turf/invariant');\nvar gridToMatrix = require('grid-to-matrix');\nvar marchingsquares = require('marchingsquares');\nvar multiLineString = helpers.multiLineString;\nvar coordEach = meta.coordEach;\nvar collectionOf = invariant.collectionOf;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes a grid {@link FeatureCollection} of {@link Point} features with z-values and an array of\n * value breaks and generates [isolines](http://en.wikipedia.org/wiki/Isoline).\n *\n * @name isolines\n * @param {FeatureCollection} pointGrid input points\n * @param {Array} breaks values of `zProperty` where to draw isolines\n * @param {string} [zProperty='elevation'] the property name in `points` from which z-values will be pulled\n * @param {Object} [propertiesToAllIsolines={}] GeoJSON properties passed to ALL isolines\n * @param {Array} [propertiesPerIsoline=[]] GeoJSON properties passed, in order, to the correspondent isoline;\n * the breaks array will define the order in which the isolines are created\n * @returns {FeatureCollection} a FeatureCollection of {@link MultiLineString} features representing isolines\n * @example\n * // create a grid of points with random z-values in their properties\n * var extent = [0, 30, 20, 50];\n * var cellWidth = 100;\n * var units = 'miles';\n * var pointGrid = turf.pointGrid(extent, cellWidth, units);\n * for (var i = 0; i < pointGrid.features.length; i++) {\n * pointGrid.features[i].properties.temperature = Math.random() * 10;\n * }\n * var breaks = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n *\n * var isolines = turf.isolines(pointGrid, breaks, 'temperature');\n *\n * //addToMap\n * var addToMap = [isolines];\n */\nmodule.exports = function (pointGrid, breaks, zProperty, propertiesToAllIsolines, propertiesPerIsoline) {\n // Default Params\n zProperty = zProperty || 'elevation';\n propertiesToAllIsolines = propertiesToAllIsolines || {};\n propertiesPerIsoline = propertiesPerIsoline || [];\n\n // Input validation\n collectionOf(pointGrid, 'Point', 'Input must contain Points');\n if (!breaks) throw new Error('breaks is required');\n if (!Array.isArray(breaks)) throw new Error('breaks must be an Array');\n if (!isObject(propertiesToAllIsolines)) throw new Error('propertiesToAllIsolines must be an Object');\n if (!Array.isArray(propertiesPerIsoline)) throw new Error('propertiesPerIsoline must be an Array');\n if (typeof zProperty !== 'string') throw new Error('zProperty must be a string');\n\n // Isoline methods\n var matrix = gridToMatrix(pointGrid, zProperty, true);\n var isolines = createIsoLines(matrix, breaks, zProperty, propertiesToAllIsolines, propertiesPerIsoline);\n var scaledIsolines = rescaleIsolines(isolines, matrix, pointGrid);\n\n return featureCollection(scaledIsolines);\n};\n\n/**\n * Creates the isolines lines (featuresCollection of MultiLineString features) from the 2D data grid\n *\n * Marchingsquares process the grid data as a 3D representation of a function on a 2D plane, therefore it\n * assumes the points (x-y coordinates) are one 'unit' distance. The result of the isolines function needs to be\n * rescaled, with turfjs, to the original area and proportions on the map\n *\n * @private\n * @param {Array>} matrix Grid Data\n * @param {Array} breaks Breaks\n * @param {string} zProperty name of the z-values property\n * @param {Object} [propertiesToAllIsolines={}] GeoJSON properties passed to ALL isolines\n * @param {Object} [propertiesPerIsoline=[]] GeoJSON properties passed to the correspondent isoline\n * @returns {Array} isolines\n */\nfunction createIsoLines(matrix, breaks, zProperty, propertiesToAllIsolines, propertiesPerIsoline) {\n var isolines = [];\n for (var i = 1; i < breaks.length; i++) {\n var threshold = +breaks[i]; // make sure it's a number\n\n var properties = Object.assign(\n {},\n propertiesToAllIsolines,\n propertiesPerIsoline[i]\n );\n properties[zProperty] = threshold;\n var isoline = multiLineString(marchingsquares.isoContours(matrix, threshold), properties);\n\n isolines.push(isoline);\n }\n return isolines;\n}\n\n/**\n * Translates and scales isolines\n *\n * @private\n * @param {Array} isolines to be rescaled\n * @param {Array>} matrix Grid Data\n * @param {Object} points Points by Latitude\n * @returns {Array} isolines\n */\nfunction rescaleIsolines(isolines, matrix, points) {\n\n // get dimensions (on the map) of the original grid\n var gridBbox = bbox(points); // [ minX, minY, maxX, maxY ]\n var originalWidth = gridBbox[2] - gridBbox[0];\n var originalHeigth = gridBbox[3] - gridBbox[1];\n\n // get origin, which is the first point of the last row on the rectangular data on the map\n var x0 = gridBbox[0];\n var y0 = gridBbox[1];\n\n // get number of cells per side\n var matrixWidth = matrix[0].length - 1;\n var matrixHeight = matrix.length - 1;\n\n // calculate the scaling factor between matrix and rectangular grid on the map\n var scaleX = originalWidth / matrixWidth;\n var scaleY = originalHeigth / matrixHeight;\n\n var resize = function (point) {\n point[0] = point[0] * scaleX + x0;\n point[1] = point[1] * scaleY + y0;\n };\n\n // resize and shift each point/line of the isolines\n isolines.forEach(function (isoline) {\n coordEach(isoline, resize);\n });\n return isolines;\n}\n\n/**\n * Checks input type\n *\n * @private\n * @param {*} input to be checked\n * @returns {boolean} true if the input is an Object\n */\nfunction isObject(input) {\n return (!!input) && (input.constructor === Object);\n}\n","/*\n (c) 2017, Vladimir Agafonkin\n Simplify.js, a high-performance JS polyline simplification library\n mourner.github.io/simplify-js\n*/\n\n(function () { 'use strict';\n\n// to suit your point format, run search/replace for '.x' and '.y';\n// for 3D version, see 3d branch (configurability would draw significant performance overhead)\n\n// square distance between 2 points\nfunction getSqDist(p1, p2) {\n\n var dx = p1.x - p2.x,\n dy = p1.y - p2.y;\n\n return dx * dx + dy * dy;\n}\n\n// square distance from a point to a segment\nfunction getSqSegDist(p, p1, p2) {\n\n var x = p1.x,\n y = p1.y,\n dx = p2.x - x,\n dy = p2.y - y;\n\n if (dx !== 0 || dy !== 0) {\n\n var t = ((p.x - x) * dx + (p.y - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = p2.x;\n y = p2.y;\n\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = p.x - x;\n dy = p.y - y;\n\n return dx * dx + dy * dy;\n}\n// rest of the code doesn't care about point format\n\n// basic distance-based simplification\nfunction simplifyRadialDist(points, sqTolerance) {\n\n var prevPoint = points[0],\n newPoints = [prevPoint],\n point;\n\n for (var i = 1, len = points.length; i < len; i++) {\n point = points[i];\n\n if (getSqDist(point, prevPoint) > sqTolerance) {\n newPoints.push(point);\n prevPoint = point;\n }\n }\n\n if (prevPoint !== point) newPoints.push(point);\n\n return newPoints;\n}\n\nfunction simplifyDPStep(points, first, last, sqTolerance, simplified) {\n var maxSqDist = sqTolerance,\n index;\n\n for (var i = first + 1; i < last; i++) {\n var sqDist = getSqSegDist(points[i], points[first], points[last]);\n\n if (sqDist > maxSqDist) {\n index = i;\n maxSqDist = sqDist;\n }\n }\n\n if (maxSqDist > sqTolerance) {\n if (index - first > 1) simplifyDPStep(points, first, index, sqTolerance, simplified);\n simplified.push(points[index]);\n if (last - index > 1) simplifyDPStep(points, index, last, sqTolerance, simplified);\n }\n}\n\n// simplification using Ramer-Douglas-Peucker algorithm\nfunction simplifyDouglasPeucker(points, sqTolerance) {\n var last = points.length - 1;\n\n var simplified = [points[0]];\n simplifyDPStep(points, 0, last, sqTolerance, simplified);\n simplified.push(points[last]);\n\n return simplified;\n}\n\n// both algorithms combined for awesome performance\nfunction simplify(points, tolerance, highestQuality) {\n\n if (points.length <= 2) return points;\n\n var sqTolerance = tolerance !== undefined ? tolerance * tolerance : 1;\n\n points = highestQuality ? points : simplifyRadialDist(points, sqTolerance);\n points = simplifyDouglasPeucker(points, sqTolerance);\n\n return points;\n}\n\n// export as AMD module / Node module / browser or worker variable\nif (typeof define === 'function' && define.amd) define(function() { return simplify; });\nelse if (typeof module !== 'undefined') {\n module.exports = simplify;\n module.exports.default = simplify;\n} else if (typeof self !== 'undefined') self.simplify = simplify;\nelse window.simplify = simplify;\n\n})();\n","'use strict';\n\nvar defaults = require('./core.defaults');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\tplugins: {}\n});\n\n/**\n * The plugin service singleton\n * @namespace Chart.plugins\n * @since 2.1.0\n */\nmodule.exports = {\n\t/**\n\t * Globally registered plugins.\n\t * @private\n\t */\n\t_plugins: [],\n\n\t/**\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\n\t * incremented and descriptors are regenerated during following API calls.\n\t * @private\n\t */\n\t_cacheId: 0,\n\n\t/**\n\t * Registers the given plugin(s) if not already registered.\n\t * @param {Array|Object} plugins plugin instance(s).\n\t */\n\tregister: function(plugins) {\n\t\tvar p = this._plugins;\n\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\tif (p.indexOf(plugin) === -1) {\n\t\t\t\tp.push(plugin);\n\t\t\t}\n\t\t});\n\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Unregisters the given plugin(s) only if registered.\n\t * @param {Array|Object} plugins plugin instance(s).\n\t */\n\tunregister: function(plugins) {\n\t\tvar p = this._plugins;\n\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\tvar idx = p.indexOf(plugin);\n\t\t\tif (idx !== -1) {\n\t\t\t\tp.splice(idx, 1);\n\t\t\t}\n\t\t});\n\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Remove all registered plugins.\n\t * @since 2.1.5\n\t */\n\tclear: function() {\n\t\tthis._plugins = [];\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Returns the number of registered plugins?\n\t * @returns {Number}\n\t * @since 2.1.5\n\t */\n\tcount: function() {\n\t\treturn this._plugins.length;\n\t},\n\n\t/**\n\t * Returns all registered plugin instances.\n\t * @returns {Array} array of plugin objects.\n\t * @since 2.1.5\n\t */\n\tgetAll: function() {\n\t\treturn this._plugins;\n\t},\n\n\t/**\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {Object} chart - The chart instance for which plugins should be called.\n\t * @param {String} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\n\t * @returns {Boolean} false if any of the plugins return false, else returns true.\n\t */\n\tnotify: function(chart, hook, args) {\n\t\tvar descriptors = this.descriptors(chart);\n\t\tvar ilen = descriptors.length;\n\t\tvar i, descriptor, plugin, params, method;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tdescriptor = descriptors[i];\n\t\t\tplugin = descriptor.plugin;\n\t\t\tmethod = plugin[hook];\n\t\t\tif (typeof method === 'function') {\n\t\t\t\tparams = [chart].concat(args || []);\n\t\t\t\tparams.push(descriptor.options);\n\t\t\t\tif (method.apply(plugin, params) === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns descriptors of enabled plugins for the given chart.\n\t * @returns {Array} [{ plugin, options }]\n\t * @private\n\t */\n\tdescriptors: function(chart) {\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\n\t\tif (cache.id === this._cacheId) {\n\t\t\treturn cache.descriptors;\n\t\t}\n\n\t\tvar plugins = [];\n\t\tvar descriptors = [];\n\t\tvar config = (chart && chart.config) || {};\n\t\tvar options = (config.options && config.options.plugins) || {};\n\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\n\t\t\tvar idx = plugins.indexOf(plugin);\n\t\t\tif (idx !== -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar id = plugin.id;\n\t\t\tvar opts = options[id];\n\t\t\tif (opts === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (opts === true) {\n\t\t\t\topts = helpers.clone(defaults.global.plugins[id]);\n\t\t\t}\n\n\t\t\tplugins.push(plugin);\n\t\t\tdescriptors.push({\n\t\t\t\tplugin: plugin,\n\t\t\t\toptions: opts || {}\n\t\t\t});\n\t\t});\n\n\t\tcache.descriptors = descriptors;\n\t\tcache.id = this._cacheId;\n\t\treturn descriptors;\n\t},\n\n\t/**\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\n\t * but in some cases, this reference can be changed by the user when updating options.\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n\t * @private\n\t */\n\t_invalidate: function(chart) {\n\t\tdelete chart.$plugins;\n\t}\n};\n\n/**\n * Plugin extension hooks.\n * @interface IPlugin\n * @since 2.1.0\n */\n/**\n * @method IPlugin#beforeInit\n * @desc Called before initializing `chart`.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#afterInit\n * @desc Called after `chart` has been initialized and before the first update.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeUpdate\n * @desc Called before updating `chart`. If any plugin returns `false`, the update\n * is cancelled (and thus subsequent render(s)) until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart update.\n */\n/**\n * @method IPlugin#afterUpdate\n * @desc Called after `chart` has been updated and before rendering. Note that this\n * hook will not be called if the chart update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetsUpdate\n * @desc Called before updating the `chart` datasets. If any plugin returns `false`,\n * the datasets update is cancelled until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} false to cancel the datasets update.\n * @since version 2.1.5\n*/\n/**\n * @method IPlugin#afterDatasetsUpdate\n * @desc Called after the `chart` datasets have been updated. Note that this hook\n * will not be called if the datasets update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @since version 2.1.5\n */\n/**\n * @method IPlugin#beforeDatasetUpdate\n * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin\n * returns `false`, the datasets update is cancelled until another `update` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetUpdate\n * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note\n * that this hook will not be called if the datasets update has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeLayout\n * @desc Called before laying out `chart`. If any plugin returns `false`,\n * the layout update is cancelled until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart layout.\n */\n/**\n * @method IPlugin#afterLayout\n * @desc Called after the `chart` has been layed out. Note that this hook will not\n * be called if the layout update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeRender\n * @desc Called before rendering `chart`. If any plugin returns `false`,\n * the rendering is cancelled until another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart rendering.\n */\n/**\n * @method IPlugin#afterRender\n * @desc Called after the `chart` has been fully rendered (and animation completed). Note\n * that this hook will not be called if the rendering has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDraw\n * @desc Called before drawing `chart` at every animation frame specified by the given\n * easing value. If any plugin returns `false`, the frame drawing is cancelled until\n * another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart drawing.\n */\n/**\n * @method IPlugin#afterDraw\n * @desc Called after the `chart` has been drawn for the specific easing value. Note\n * that this hook will not be called if the drawing has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetsDraw\n * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,\n * the datasets drawing is cancelled until another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetsDraw\n * @desc Called after the `chart` datasets have been drawn. Note that this hook\n * will not be called if the datasets drawing has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetDraw\n * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets\n * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing\n * is cancelled until another `render` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetDraw\n * @desc Called after the `chart` datasets at the given `args.index` have been drawn\n * (datasets are drawn in the reverse order). Note that this hook will not be called\n * if the datasets drawing has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeTooltipDraw\n * @desc Called before drawing the `tooltip`. If any plugin returns `false`,\n * the tooltip drawing is cancelled until another `render` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Object} args.tooltip - The tooltip.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart tooltip drawing.\n */\n/**\n * @method IPlugin#afterTooltipDraw\n * @desc Called after drawing the `tooltip`. Note that this hook will not\n * be called if the tooltip drawing has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Object} args.tooltip - The tooltip.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeEvent\n * @desc Called before processing the specified `event`. If any plugin returns `false`,\n * the event will be discarded.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {IEvent} event - The event object.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#afterEvent\n * @desc Called after the `event` has been consumed. Note that this hook\n * will not be called if the `event` has been previously discarded.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {IEvent} event - The event object.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#resize\n * @desc Called after the chart as been resized.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} size - The new canvas display size (eq. canvas.style width & height).\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#destroy\n * @desc Called after the chart as been destroyed.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n","'use strict';\n\nmodule.exports = earcut;\nmodule.exports.default = earcut;\n\nfunction earcut(data, holeIndices, dim) {\n\n dim = dim || 2;\n\n var hasHoles = holeIndices && holeIndices.length,\n outerLen = hasHoles ? holeIndices[0] * dim : data.length,\n outerNode = linkedList(data, 0, outerLen, dim, true),\n triangles = [];\n\n if (!outerNode || outerNode.next === outerNode.prev) return triangles;\n\n var minX, minY, maxX, maxY, x, y, invSize;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = maxX = data[0];\n minY = maxY = data[1];\n\n for (var i = dim; i < outerLen; i += dim) {\n x = data[i];\n y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and invSize are later used to transform coords into integers for z-order calculation\n invSize = Math.max(maxX - minX, maxY - minY);\n invSize = invSize !== 0 ? 1 / invSize : 0;\n }\n\n earcutLinked(outerNode, triangles, dim, minX, minY, invSize);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\nfunction linkedList(data, start, end, dim, clockwise) {\n var i, last;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);\n } else {\n for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// eliminate colinear or duplicate points\nfunction filterPoints(start, end) {\n if (!start) return start;\n if (!end) end = start;\n\n var p = start,\n again;\n do {\n again = false;\n\n if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n removeNode(p);\n p = end = p.prev;\n if (p === p.next) break;\n again = true;\n\n } else {\n p = p.next;\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\nfunction earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {\n if (!ear) return;\n\n // interlink polygon nodes in z-order\n if (!pass && invSize) indexCurve(ear, minX, minY, invSize);\n\n var stop = ear,\n prev, next;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n prev = ear.prev;\n next = ear.next;\n\n if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {\n // cut off the triangle\n triangles.push(prev.i / dim);\n triangles.push(ear.i / dim);\n triangles.push(next.i / dim);\n\n removeNode(ear);\n\n // skipping the next vertex leads to less sliver triangles\n ear = next.next;\n stop = next.next;\n\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering points and slicing again\n if (!pass) {\n earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);\n\n // if this didn't work, try curing all small self-intersections locally\n } else if (pass === 1) {\n ear = cureLocalIntersections(ear, triangles, dim);\n earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);\n\n // as a last resort, try splitting the remaining polygon into two\n } else if (pass === 2) {\n splitEarcut(ear, triangles, dim, minX, minY, invSize);\n }\n\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\nfunction isEar(ear) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // now make sure we don't have other points inside the potential ear\n var p = ear.next.next;\n\n while (p !== ear.prev) {\n if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n\n return true;\n}\n\nfunction isEarHashed(ear, minX, minY, invSize) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // triangle bbox; min & max are calculated like this for speed\n var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),\n minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),\n maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),\n maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);\n\n // z-order range for the current triangle bbox;\n var minZ = zOrder(minTX, minTY, minX, minY, invSize),\n maxZ = zOrder(maxTX, maxTY, minX, minY, invSize);\n\n var p = ear.prevZ,\n n = ear.nextZ;\n\n // look for points inside the triangle in both directions\n while (p && p.z >= minZ && n && n.z <= maxZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n // look for remaining points in decreasing z-order\n while (p && p.z >= minZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n\n // look for remaining points in increasing z-order\n while (n && n.z <= maxZ) {\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\nfunction cureLocalIntersections(start, triangles, dim) {\n var p = start;\n do {\n var a = p.prev,\n b = p.next.next;\n\n if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i / dim);\n triangles.push(p.i / dim);\n triangles.push(b.i / dim);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n }\n p = p.next;\n } while (p !== start);\n\n return p;\n}\n\n// try splitting polygon into two and triangulate them independently\nfunction splitEarcut(start, triangles, dim, minX, minY, invSize) {\n // look for a valid diagonal that divides the polygon into two\n var a = start;\n do {\n var b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n var c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, dim, minX, minY, invSize);\n earcutLinked(c, triangles, dim, minX, minY, invSize);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n var queue = [],\n i, len, start, end, list;\n\n for (i = 0, len = holeIndices.length; i < len; i++) {\n start = holeIndices[i] * dim;\n end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n list = linkedList(data, start, end, dim, false);\n if (list === list.next) list.steiner = true;\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareX);\n\n // process holes from left to right\n for (i = 0; i < queue.length; i++) {\n eliminateHole(queue[i], outerNode);\n outerNode = filterPoints(outerNode, outerNode.next);\n }\n\n return outerNode;\n}\n\nfunction compareX(a, b) {\n return a.x - b.x;\n}\n\n// find a bridge between vertices that connects hole with an outer ring and and link it\nfunction eliminateHole(hole, outerNode) {\n outerNode = findHoleBridge(hole, outerNode);\n if (outerNode) {\n var b = splitPolygon(outerNode, hole);\n filterPoints(b, b.next);\n }\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\nfunction findHoleBridge(hole, outerNode) {\n var p = outerNode,\n hx = hole.x,\n hy = hole.y,\n qx = -Infinity,\n m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n do {\n if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n if (x === hx) {\n if (hy === p.y) return p;\n if (hy === p.next.y) return p.next;\n }\n m = p.x < p.next.x ? p : p.next;\n }\n }\n p = p.next;\n } while (p !== outerNode);\n\n if (!m) return null;\n\n if (hx === qx) return m.prev; // hole touches outer segment; pick lower endpoint\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n var stop = m,\n mx = m.x,\n my = m.y,\n tanMin = Infinity,\n tan;\n\n p = m.next;\n\n while (p !== stop) {\n if (hx >= p.x && p.x >= mx && hx !== p.x &&\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n }\n\n return m;\n}\n\n// interlink polygon nodes in z-order\nfunction indexCurve(start, minX, minY, invSize) {\n var p = start;\n do {\n if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, invSize);\n p.prevZ = p.prev;\n p.nextZ = p.next;\n p = p.next;\n } while (p !== start);\n\n p.prevZ.nextZ = null;\n p.prevZ = null;\n\n sortLinked(p);\n}\n\n// Simon Tatham's linked list merge sort algorithm\n// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\nfunction sortLinked(list) {\n var i, p, q, e, tail, numMerges, pSize, qSize,\n inSize = 1;\n\n do {\n p = list;\n list = null;\n tail = null;\n numMerges = 0;\n\n while (p) {\n numMerges++;\n q = p;\n pSize = 0;\n for (i = 0; i < inSize; i++) {\n pSize++;\n q = q.nextZ;\n if (!q) break;\n }\n qSize = inSize;\n\n while (pSize > 0 || (qSize > 0 && q)) {\n\n if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {\n e = p;\n p = p.nextZ;\n pSize--;\n } else {\n e = q;\n q = q.nextZ;\n qSize--;\n }\n\n if (tail) tail.nextZ = e;\n else list = e;\n\n e.prevZ = tail;\n tail = e;\n }\n\n p = q;\n }\n\n tail.nextZ = null;\n inSize *= 2;\n\n } while (numMerges > 1);\n\n return list;\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\nfunction zOrder(x, y, minX, minY, invSize) {\n // coords are transformed into non-negative 15-bit integer range\n x = 32767 * (x - minX) * invSize;\n y = 32767 * (y - minY) * invSize;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\nfunction getLeftmost(start) {\n var p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&\n (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&\n (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\nfunction isValidDiagonal(a, b) {\n return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) &&\n locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);\n}\n\n// signed area of a triangle\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect\nfunction intersects(p1, q1, p2, q2) {\n if ((equals(p1, q1) && equals(p2, q2)) ||\n (equals(p1, q2) && equals(p2, q1))) return true;\n return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 &&\n area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0;\n}\n\n// check if a polygon diagonal intersects any polygon segments\nfunction intersectsPolygon(a, b) {\n var p = a;\n do {\n if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&\n intersects(p, p.next, a, b)) return true;\n p = p.next;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\nfunction middleInside(a, b) {\n var p = a,\n inside = false,\n px = (a.x + b.x) / 2,\n py = (a.y + b.y) / 2;\n do {\n if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&\n (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))\n inside = !inside;\n p = p.next;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\nfunction splitPolygon(a, b) {\n var a2 = new Node(a.i, a.x, a.y),\n b2 = new Node(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\nfunction insertNode(i, x, y, last) {\n var p = new Node(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n}\n\nfunction Node(i, x, y) {\n // vertex index in coordinates array\n this.i = i;\n\n // vertex coordinates\n this.x = x;\n this.y = y;\n\n // previous and next vertex nodes in a polygon ring\n this.prev = null;\n this.next = null;\n\n // z-order curve value\n this.z = null;\n\n // previous and next nodes in z-order\n this.prevZ = null;\n this.nextZ = null;\n\n // indicates whether this is a steiner point\n this.steiner = false;\n}\n\n// return a percentage difference between the polygon area and its triangulation area;\n// used to verify correctness of triangulation\nearcut.deviation = function (data, holeIndices, dim, triangles) {\n var hasHoles = holeIndices && holeIndices.length;\n var outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (var i = 0, len = holeIndices.length; i < len; i++) {\n var start = holeIndices[i] * dim;\n var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n var trianglesArea = 0;\n for (i = 0; i < triangles.length; i += 3) {\n var a = triangles[i] * dim;\n var b = triangles[i + 1] * dim;\n var c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n};\n\nfunction signedArea(data, start, end, dim) {\n var sum = 0;\n for (var i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n// turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts\nearcut.flatten = function (data) {\n var dim = data[0][0].length,\n result = {vertices: [], holes: [], dimensions: dim},\n holeIndex = 0;\n\n for (var i = 0; i < data.length; i++) {\n for (var j = 0; j < data[i].length; j++) {\n for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);\n }\n if (i > 0) {\n holeIndex += data[i - 1].length;\n result.holes.push(holeIndex);\n }\n }\n return result;\n};\n","/* npm main module */\n'use strict';\nexports.LatLonSpherical = require('./latlon-spherical.js');\nexports.LatLonEllipsoidal = require('./latlon-ellipsoidal.js');\n// merge vincenty methods into LatLonEllipsoidal\nvar V = require('./latlon-vincenty.js');\nfor (var prop in V) exports.LatLonEllipsoidal[prop] = V[prop];\nexports.LatLonVectors = require('./latlon-vectors.js');\nexports.Vector3d = require('./vector3d.js');\nexports.Utm = require('./utm.js');\nexports.Mgrs = require('./mgrs.js');\nexports.OsGridRef = require('./osgridref.js');\nexports.Dms = require('./dms.js');\n","/**\n * @module ol/MapEventType\n */\n\n/**\n * @enum {string}\n */\nexport default {\n\n /**\n * Triggered after a map frame is rendered.\n * @event module:ol/MapEvent~MapEvent#postrender\n * @api\n */\n POSTRENDER: 'postrender',\n\n /**\n * Triggered when the map starts moving.\n * @event module:ol/MapEvent~MapEvent#movestart\n * @api\n */\n MOVESTART: 'movestart',\n\n /**\n * Triggered after the map is moved.\n * @event module:ol/MapEvent~MapEvent#moveend\n * @api\n */\n MOVEEND: 'moveend'\n\n};\n\n//# sourceMappingURL=MapEventType.js.map","var createTopology = require('topojson-server').topology\nvar mergeTopology = require('topojson-client').merge\nvar dissolveLineStrings = require('geojson-linestring-dissolve')\nvar geomEach = require('@turf/meta').geomEach\nvar flatten = require('geojson-flatten')\n\nmodule.exports = dissolve\n\nfunction toArray (args) {\n if (!args.length) return []\n return Array.isArray(args[0]) ? args[0] : Array.prototype.slice.call(args)\n}\n\nfunction dissolvePolygons (geoms) {\n // Topojson modifies in place, so we need to deep clone first\n var objects = {\n geoms: {\n type: 'GeometryCollection',\n geometries: JSON.parse(JSON.stringify(geoms))\n }\n }\n var topo = createTopology(objects)\n return mergeTopology(topo, topo.objects.geoms.geometries)\n}\n\n// [GeoJSON] -> String|Null\nfunction getHomogenousType (geoms) {\n var type = null\n for (var i = 0; i < geoms.length; i++) {\n if (!type) {\n type = geoms[i].type\n } else if (type !== geoms[i].type) {\n return null\n }\n }\n return type\n}\n\n// Transform function: attempts to dissolve geojson objects where possible\n// [GeoJSON] -> GeoJSON geometry\nfunction dissolve () {\n // accept an array of geojson objects, or an argument list\n var objects = toArray(arguments)\n var geoms = objects.reduce(function (acc, o) {\n // flatten any Multi-geom into features of simple types\n var flat = flatten(o)\n if (!Array.isArray(flat)) flat = [flat]\n for (var i = 0; i < flat.length; i++) {\n // get an array of all flatten geometry objects\n geomEach(flat[i], function (geom) {\n acc.push(geom)\n })\n }\n return acc\n }, [])\n // Assert homogenity\n var type = getHomogenousType(geoms)\n if (!type) {\n throw new Error('List does not contain only homoegenous GeoJSON')\n }\n\n switch (type) {\n case 'LineString':\n return dissolveLineStrings(geoms)\n case 'Polygon':\n return dissolvePolygons(geoms)\n default:\n return geoms\n }\n}\n\n","var helpers = require('@turf/helpers');\nvar lineclip = require('lineclip');\nvar getCoords = require('@turf/invariant').getCoords;\nvar lineString = helpers.lineString;\nvar multiLineString = helpers.multiLineString;\nvar polygon = helpers.polygon;\nvar multiPolygon = helpers.multiPolygon;\n\n/**\n * Takes a {@link Feature} and a bbox and clips the feature to the bbox using [lineclip](https://github.com/mapbox/lineclip).\n * May result in degenerate edges when clipping Polygons.\n *\n * @name bboxClip\n * @param {Feature} feature feature to clip to the bbox\n * @param {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @returns {Feature} clipped Feature\n * @example\n * var bbox = [0, 0, 10, 10];\n * var poly = turf.polygon([[[2, 2], [8, 4], [12, 8], [3, 7], [2, 2]]]);\n *\n * var clipped = turf.bboxClip(poly, bbox);\n *\n * //addToMap\n * var addToMap = [bbox, poly, clipped]\n */\nmodule.exports = function (feature, bbox) {\n var geom = getGeom(feature);\n var coords = getCoords(feature);\n var properties = feature.properties;\n\n switch (geom) {\n case 'LineString':\n case 'MultiLineString':\n var lines = [];\n if (geom === 'LineString') coords = [coords];\n coords.forEach(function (line) {\n lineclip(line, bbox, lines);\n });\n if (lines.length === 1) return lineString(lines[0], properties);\n return multiLineString(lines, properties);\n case 'Polygon':\n return polygon(clipPolygon(coords, bbox), properties);\n case 'MultiPolygon':\n return multiPolygon(coords.map(function (polygon) {\n return clipPolygon(polygon, bbox);\n }), properties);\n default:\n throw new Error('geometry ' + geom + ' not supported');\n }\n};\n\nfunction clipPolygon(rings, bbox) {\n var outRings = [];\n for (var i = 0; i < rings.length; i++) {\n var clipped = lineclip.polygon(rings[i], bbox);\n if (clipped.length > 0) {\n if (clipped[0][0] !== clipped[clipped.length - 1][0] || clipped[0][1] !== clipped[clipped.length - 1][1]) {\n clipped.push(clipped[0]);\n }\n if (clipped.length >= 4) {\n outRings.push(clipped);\n }\n }\n }\n return outRings;\n}\n\nfunction getGeom(feature) {\n return (feature.geometry) ? feature.geometry.type : feature.type;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('FrsRouterBackLink',{attrs:{\"target\":_vm.createParallelRoute('mapManagement')},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_c('IxRes',[_vm._v(\"mm.buttons.backToMapManagement\")])]},proxy:true}])}),_c('div',{staticClass:\"details-container\"},[_c('h3',[_c('IxRes',[_vm._v(\"frs.mapManagement.headers.mapDetails\")])],1),(_vm.map)?_c(_vm.detailsComponent,{key:_vm.detailsComponent,tag:\"component\",attrs:{\"map\":_vm.map,\"field-id\":_vm.fieldId}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"zone-map-details-container\"},[(!_vm.zoneEditingActive)?[_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.Name\")]),_vm._v(\":\\n \")],1),_c('div',{staticClass:\"map-name-container\"},[_c('span',{staticClass:\"map-name\"},[_vm._v(_vm._s(_vm.map.name))]),_c('span',{attrs:{\"title\":_vm.$i18n.translate('frs.mapManagement.icons.premium')}},[(_vm.map.origin === 'FieldInfo')?_c('FontAwesomeIcon',{attrs:{\"icon\":_vm.icons.premium,\"size\":\"xs\"}}):_vm._e()],1),(_vm.map.originalZoneMapId || _vm.map.origin === 'import')?_c('span',{attrs:{\"title\":_vm.$i18n.translate('frs.mapManagement.icons.editMap')}},[_c('strong',{staticClass:\"small\"},[_c('IxRes',[_vm._v(\"frs.mapManagement.icons.editMap\")])],1)]):_vm._e(),(_vm.map.isDemo)?_c('span',{attrs:{\"title\":_vm.$i18n.translate('frs.mapManagement.icons.sales')}},[_c('strong',{staticClass:\"small\"},[_c('IxRes',[_vm._v(\"frs.mapManagement.icons.sales\")])],1)]):_vm._e()]),_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.CreatedAt\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.$i18n.format(_vm.map.generatedAt, 'datetime'))+\"\\n\\n \"),(_vm.map.heterogenity)?_c('HelpBox',{staticClass:\"heterogenity\",attrs:{\"type\":\"warning\",\"icon\":_vm.icons.heterogenity}},[_c('span',[_c('strong',[_c('IxRes',[_vm._v(\"Common.SR_Common.Heterogenity\")]),_vm._v(\":\")],1),_c('IxRes',[_vm._v(\"Enums.SR_Enums.HeterogenityEnum_\"+_vm._s(_vm.map.heterogenity))])],1)]):_vm._e(),(_vm.$can('Create.Frs.AutomaticZoneMap') && _vm.map.origin === 'FieldInfo')?[_c('br'),_c('HelpBox',[_c('strong',[_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMap.details.labels.premium\")])],1),_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMap.details.hints.adjustment\")]),_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMap.details.hints.adjustmentContact\")])],1)]:_c('div',{staticClass:\"spacer\"}),_c('ZoneMapActivationStatus',{attrs:{\"zone-map\":_vm.map}}),_c('ZoneMapAdditionalActions',{attrs:{\"zone-map\":_vm.map}}),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.labels.additionalValues\")]),_vm._v(\":\\n \")],1),_c('div',{staticClass:\"btn-group btn-group-justified\"},[_c('div',{staticClass:\"btn-group\"},[_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":function($event){return _vm.onEditAdditionalValues(_vm.map.id)}}},[_c('IxRes',[_vm._v(\"frs.zoneMaps.buttons.editAdditionalValues\")])],1)],1),_c('div',{staticClass:\"btn-group\"},[_c('IxButton',{attrs:{\"large\":\"\",\"disabled\":!_vm.fieldId},on:{\"click\":function($event){_vm.showCopyAdditionalValuesModal = true}}},[_c('IxRes',[_vm._v(\"frs.zoneMaps.buttons.copyAdditionalValues\")])],1)],1)]),_c('CopyAdditionalValuesModal',{model:{value:(_vm.showCopyAdditionalValuesModal),callback:function ($$v) {_vm.showCopyAdditionalValuesModal=$$v},expression:\"showCopyAdditionalValuesModal\"}})]:_vm._e(),_c('ZoneMapDetailsLegend',{attrs:{\"zone-map\":_vm.map}}),(_vm.$can('Create.Frs.AutomaticZoneMap'))?_c('ZoneEditing',{attrs:{\"map\":_vm.map},model:{value:(_vm.zoneEditingActive),callback:function ($$v) {_vm.zoneEditingActive=$$v},expression:\"zoneEditingActive\"}}):_vm._e(),_c('MapPrint',{attrs:{\"map-ids\":[_vm.map.id],\"map-type\":\"zoneMap\"}}),(!_vm.zoneEditingActive)?[(_vm.$can('See.Frs.ZoneMap.Details.MetaData'))?_c('ZoneMapMetaData',{attrs:{\"meta-data\":_vm.map.metaData}}):_vm._e(),_c('FrsZoneMapLayer',{attrs:{\"zone-map-id\":_vm.map.id}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"activation-status\"},[(_vm.permissionActivationStatus)?[(!_vm.zoneMap.active)?_c('MapPaymentTermsCheckbox',{model:{value:(_vm.termsAccepted),callback:function ($$v) {_vm.termsAccepted=$$v},expression:\"termsAccepted\"}}):_vm._e(),(_vm.zoneMap.active)?_c('IxButton',{attrs:{\"large\":\"\",\"cancel\":\"\",\"disabled\":!_vm.permissionDeactivate},on:{\"click\":_vm.startDeactivate}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.deactivate\")])],1):_c('IxButton',{attrs:{\"disabled\":!(_vm.termsAccepted && _vm.permissionActivate),\"large\":\"\",\"colored\":\"\"},on:{\"click\":_vm.activate}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.activate\")])],1)]:_vm._e(),(_vm.$can('Activate.Frs.ZoneMap.AsDemo') && !_vm.zoneMap.active)?[_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":function($event){return _vm.activate(true)}}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.activateDemo\")])],1)]:_vm._e(),_c('ConfirmationModal',{on:{\"confirm\":_vm.deactivate},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.headers.deactivateZoneMap\")])]},proxy:true},{key:\"confirm\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.confirmDeactivation\")])]},proxy:true},{key:\"cancel\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.cancelDeactivation\")])]},proxy:true}]),model:{value:(_vm.showDeactivationModal),callback:function ($$v) {_vm.showDeactivationModal=$$v},expression:\"showDeactivationModal\"}},[_c('IxRes',[_vm._v(\"frs.mapManagement.hints.deactivationCanIncurFurtherCosts\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapActivationStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapActivationStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapActivationStatus.vue?vue&type=template&id=16a8fb28&scoped=true&lang=html&\"\nimport script from \"./ZoneMapActivationStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapActivationStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneMapActivationStatus.vue?vue&type=style&index=0&id=16a8fb28&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"16a8fb28\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"additional-actions\"},[(_vm.permissionCheck)?[_c('label',[_c('IxRes',[_vm._v(\"frs.mapManagement.labels.createMoreMaps\")]),_vm._v(\":\\n \")],1),(!_vm.isBiomassMap)?_c('IxButton',{attrs:{\"large\":\"\",\"icon\":_vm.icons.createPremium},on:{\"click\":function($event){return _vm.toAutomaticZoneMaps('premium')}}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.createPremiumZoneMap\")])],1):_vm._e(),_c('IxButton',{attrs:{\"large\":\"\",\"icon\":_vm.icons.createAuto},on:{\"click\":_vm.onCreateNewMap}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.createAutomaticZoneMap\")])],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapAdditionalActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapAdditionalActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapAdditionalActions.vue?vue&type=template&id=ad91b49a&scoped=true&lang=html&\"\nimport script from \"./ZoneMapAdditionalActions.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapAdditionalActions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneMapAdditionalActions.vue?vue&type=style&index=0&id=ad91b49a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ad91b49a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.zonelegend\")])]},proxy:true}])},[(_vm.$can('See.Frs.ZoneMap.Details.ZonesLegend'))?_c('MapPaletteSelector',{attrs:{\"options\":_vm.zoneMapPalettes,\"map\":_vm.zoneMap},model:{value:(_vm.zoneMapPalette),callback:function ($$v) {_vm.zoneMapPalette=$$v},expression:\"zoneMapPalette\"}}):_vm._e(),_c('FrsZoneMapLayerLegend',{attrs:{\"zone-map-id\":_vm.zoneMap.id}}),_c('ZoneMapGradientScale',{attrs:{\"map\":_vm.zoneMap,\"palette\":_vm.zoneMapPalette}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.zoneMap)?_c('ZoneInput',{attrs:{\"zone-map\":_vm.zoneMap,\"value\":null,\"palette\":_vm.zoneMapPalette}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsZoneMapLayerLegend.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsZoneMapLayerLegend.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsZoneMapLayerLegend.vue?vue&type=template&id=39bd58de&scoped=true&\"\nimport script from \"./FrsZoneMapLayerLegend.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsZoneMapLayerLegend.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39bd58de\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"zone-map-details-panel\"},[_c('h4',[_vm._t(\"header\")],2),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapDetailsPanel.vue?vue&type=template&id=5f5fb1b3&scoped=true&lang=html&\"\nimport script from \"./ZoneMapDetailsPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapDetailsPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneMapDetailsPanel.vue?vue&type=style&index=0&id=5f5fb1b3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f5fb1b3\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('GradientScale',{attrs:{\"colors\":_vm.colors},scopedSlots:_vm._u([{key:\"startLabel\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.lowYield\")])]},proxy:true},{key:\"endLabel\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.highYield\")])]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapGradientScale.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapGradientScale.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapGradientScale.vue?vue&type=template&id=b63a00c8&scoped=true&\"\nimport script from \"./ZoneMapGradientScale.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapGradientScale.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b63a00c8\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsLegend.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsLegend.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapDetailsLegend.vue?vue&type=template&id=6f7d8991&scoped=true&lang=html&\"\nimport script from \"./ZoneMapDetailsLegend.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapDetailsLegend.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f7d8991\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"zone-editing\"},[(_vm.value)?[_c('TextInput',{staticClass:\"new-name\",attrs:{\"name\":\"newName\",\"required\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.modifiedMapName\")])]},proxy:true}],null,false,6510960),model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}}),(_vm.newName === _vm.map.name)?_c('HelpBox',{attrs:{\"type\":\"warning\"}},[_c('IxRes',[_vm._v(\"frs.mapManagement.hints.modifiedMapNameIdenticalToOriginalMapName\")])],1):_vm._e(),(_vm.fieldStates.geometriesChanged === 'error')?_c('HelpBox',{attrs:{\"type\":\"danger\"}},[_c('IxRes',[_vm._v(\"frs.mapManagement.hints.zoneGeometriesUnchanged\")])],1):_vm._e(),_c('div',{staticClass:\"btn-group btn-group-justified\"},[_c('div',{staticClass:\"btn-group\"},[_c('IxButton',{attrs:{\"save\":\"\",\"large\":\"\"},on:{\"click\":_vm.save}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.saveZones\")])],1)],1),_c('div',{staticClass:\"btn-group\"},[_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":_vm.cancel}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.cancelZoneEditing\")])],1)],1)]),_c('ZoneEditingInteraction',{attrs:{\"map\":_vm.map},model:{value:(_vm.modifiedZoneGeometries),callback:function ($$v) {_vm.modifiedZoneGeometries=$$v},expression:\"modifiedZoneGeometries\"}})]:[_c('IxButton',{attrs:{\"large\":\"\",\"disabled\":!_vm.map.active,\"title\":_vm.tooltip},on:{\"click\":_vm.start}},[_c('IxRes',[_vm._v(\"frs.mapManagement.buttons.startZoneEditing\")])],1)],_c('FrsLoadingIndicator',{attrs:{\"loading\":_vm.creating,\"saving\":\"\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ZoneMapsLayer',{attrs:{\"zone-maps\":[_vm.updatedMap],\"palette\":_vm.zoneMapPalette}}),_c('ClickInteraction',{attrs:{\"hover-style\":_vm.hoverStyle},on:{\"click\":_vm.onClick}}),(_vm.selectedPart)?_c('ZoneEditingOverlay',{attrs:{\"zone-map\":_vm.map,\"palette\":_vm.zoneMapPalette,\"position\":_vm.overlayPosition,\"centered\":\"\"},on:{\"select\":_vm.merge}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"zone-editing-overlay\"},_vm._l((_vm.zoneMap.zones),function(zone,i){return _c('button',{key:zone.id,staticClass:\"target-zone-button\",style:({backgroundColor: _vm.colors[i], color: _vm.textColors[i]}),on:{\"click\":function($event){return _vm.$emit('select', zone.id)}}},[_vm._v(\"\\n \"+_vm._s(zone.number)+\"\\n \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditingOverlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditingOverlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneEditingOverlay.vue?vue&type=template&id=5f222b57&scoped=true&lang=html&\"\nimport script from \"./ZoneEditingOverlay.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneEditingOverlay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneEditingOverlay.vue?vue&type=style&index=0&id=5f222b57&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f222b57\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditingInteraction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditingInteraction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneEditingInteraction.vue?vue&type=template&id=1aa22fa5&scoped=true&lang=html&\"\nimport script from \"./ZoneEditingInteraction.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneEditingInteraction.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1aa22fa5\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneEditing.vue?vue&type=template&id=3f88188d&scoped=true&lang=html&\"\nimport script from \"./ZoneEditing.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneEditing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneEditing.vue?vue&type=style&index=0&id=3f88188d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f88188d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMap.details.title\")])]},proxy:true}]),model:{value:(_vm.showDetails),callback:function ($$v) {_vm.showDetails=$$v},expression:\"showDetails\"}},[(_vm.metaData)?_c('small',{class:_vm.$style.schema},[_c('IxRes',{attrs:{\"context\":{schema: _vm.metaData.$schema}}},[_vm._v(\"frs.mapManagement.zoneMap.schemaVersion\")])],1):_vm._e(),_c(_vm.metaDataComponent,{tag:\"component\",attrs:{\"meta-data\":_vm.metaData}}),(_vm.metaData && _vm.metaData.serviceVersion)?_c('small',{class:_vm.$style.schema},[_vm._v(\"\\n \"+_vm._s(_vm.metaData.serviceVersion)+\"\\n \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('VueSelectize',{attrs:{\"allow-empty\":\"\",\"ordered\":\"\",\"options\":_vm.ndviOptions,\"fields\":_vm.ndviFields},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMap.labels.ndviMean\")])]},proxy:true}]),model:{value:(_vm.selectedOption),callback:function ($$v) {_vm.selectedOption=$$v},expression:\"selectedOption\"}}),(_vm.ndviOptions.length)?_c('div',[(_vm.selectedOption)?_c('NdviLineChart',{attrs:{\"ndvi-data\":_vm.selectedOption}}):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('canvas',{ref:\"canvas\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NdviLineChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NdviLineChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NdviLineChart.vue?vue&type=template&id=30c75bb3&scoped=true&lang=html&\"\nimport script from \"./NdviLineChart.vue?vue&type=script&lang=js&\"\nexport * from \"./NdviLineChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30c75bb3\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsNdviLineChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsNdviLineChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapDetailsNdviLineChart.vue?vue&type=template&id=b5ce7868&scoped=true&\"\nimport script from \"./ZoneMapDetailsNdviLineChart.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapDetailsNdviLineChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b5ce7868\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HelpBox',[_c('IxRes',[_vm._v(\"frs.mapManagement.missingMetaData\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MissingMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MissingMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MissingMetaData.vue?vue&type=template&id=15f49466&scoped=true&lang=html&\"\nimport script from \"./MissingMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./MissingMetaData.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15f49466\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HelpBox',[_c('IxRes',{attrs:{\"context\":{schema: _vm.metaData.$schema}}},[_vm._v(\"frs.mapManagement.unsupportedMetaData\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnsupportedMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnsupportedMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UnsupportedMetaData.vue?vue&type=template&id=88d97452&scoped=true&lang=html&\"\nimport script from \"./UnsupportedMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./UnsupportedMetaData.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"88d97452\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.metadata\")])]},proxy:true}])},[_c('div',{staticClass:\"grid\"},[_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.algorithmType\")]),_vm._v(\":\\n \")],1),_c('IxRes',[_vm._v(\"frs.zoneMaps.algorithm.option.\"+_vm._s(_vm.metaData.typeOfAlgorithm || 'Old'))]),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.countOfClasses\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.countOfClasses || 'N/A')+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.classCountByArea\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.numberOfClassesHa || 'N/A')+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.classCountByStandardDeviation\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.numberOfClassesDEV || 'N/A')+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.expectedValue\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.$i18n.format(_vm.metaData.expectedValue, 'f4'))+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.standardDeviation\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.$i18n.format(_vm.metaData.standardDeviation, 'f4'))+\"\\n\\n \"),(_vm.metaData.originalZoneMapId)?[_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.originalZoneMapId\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.originalZoneMapId)+\"\\n \")]:_vm._e()],2)]),(_vm.metaData.classificationThresholds && _vm.metaData.classificationThresholds.length)?_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.experimentalMetadata\")])]},proxy:true}],null,false,3704332955)},[_c('div',{staticClass:\"grid\"},[_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.innerLimit\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.innerLimit)+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.outerLimit\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.outerLimit)+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.combinedExpectedValue\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.combinedSatelliteImageMean)+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.combinedStandardDeviation\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.combinedSatelliteImageStandardDeviation)+\"\\n\\n \"),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.classificationThresholds\")]),_vm._v(\":\\n \")],1),_c('div',{staticClass:\"thresholds\"},_vm._l((_vm.metaData.classificationThresholds.slice(0, _vm.metaData.classificationThresholds.length - 1)),function(x,i){return _c('span',{key:i},[_vm._v(\"\\n \"+_vm._s(_vm.metaData.classificationThresholds.length - i - 1)+\": [\"+_vm._s(_vm.$i18n.format(x))+\" , \"+_vm._s(_vm.$i18n.format(_vm.metaData.classificationThresholds[i + 1]))+\")\\n \")])}),0)])]):_vm._e(),_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.selectedSatScenes\")])]},proxy:true}])},_vm._l((_vm.metaData.satPics),function(scene,i){return _c('div',{key:i},[_c('SatPicMeta',{attrs:{\"sat-pic\":scene}})],1)}),0),_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.usedSatScenes\")])]},proxy:true}])},_vm._l((_vm.metaData.usedSatScenes),function(scene,i){return _c('div',{key:i},[_c('SatPicMeta',{attrs:{\"sat-pic\":scene}})],1)}),0),(_vm.ndviData)?_c('ZoneMapDetailsNdviLineChart',{attrs:{\"ndvi\":_vm.ndviData}}):_vm._e(),(_vm.metaData.calculatedCorrelations && _vm.metaData.calculatedCorrelations.length)?[_c('br'),_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.correlations\")])]},proxy:true}],null,false,2898096433)},_vm._l((_vm.metaData.calculatedCorrelations),function(correlation,i){return _c('div',{key:i},[_vm._v(\"\\n \"+_vm._s(correlation.relation)+\": \"+_vm._s(correlation.value)+\"\\n \")])}),0)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.$style.text},[(_vm.satPic === null)?_c('IxRes',[_vm._v(\"SR_FieldInfo.SatPicMetaDataError\")]):[_c('IxRes',{attrs:{\"context\":{\n name: _vm.satPic.fileName,\n date: _vm.$i18n.format(_vm.satPic.recordingDate, 'datetime')\n }}},[_vm._v(\"\\n frs.maps.zoneMap.satellitePicture2Parameter\\n \")]),(_vm.satPic.correlationIndex)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.satPic.correlationIndex)+\")\")]):_vm._e(),(_vm.satPic.sentinelData)?[_c('IxRes',{attrs:{\"context\":{cloud: _vm.$i18n.format(_vm.satPic.sentinelData.cloudMean)}}},[_vm._v(\"frs.maps.zoneMap.cloudCover\")]),_c('IxRes',{attrs:{\"context\":{ndvi: _vm.$i18n.format(_vm.satPic.sentinelData.ndviMean)}}},[_vm._v(\"frs.maps.zoneMap.ndviMean\")])]:_vm._e()]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatPicMeta.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatPicMeta.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SatPicMeta.vue?vue&type=template&id=2429edef&lang=html&\"\nimport script from \"./SatPicMeta.vue?vue&type=script&lang=js&\"\nexport * from \"./SatPicMeta.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SatPicMeta.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LegacyMetaData.vue?vue&type=template&id=fdc18ad2&scoped=true&lang=html&\"\nimport script from \"./LegacyMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./LegacyMetaData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LegacyMetaData.vue?vue&type=style&index=0&id=fdc18ad2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fdc18ad2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharedSummary',{attrs:{\"meta-data\":_vm.metaData},scopedSlots:_vm._u([{key:\"images\",fn:function(){return [_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.headers.imageSearchOptions\")])]},proxy:true}])},[_c('div',{class:_vm.$style.options},[_c('IxRes',{attrs:{\"context\":{\n buffer: _vm.$i18n.format(_vm.metaData.imageSearchSummary.options.cloudStatisticsBuffer || 0, 'f2') + 'm',\n cloudTolerance: _vm.$i18n.format(_vm.metaData.imageSearchSummary.options.cloudCoverageThreshold, 'percent'),\n minNdvi: _vm.$i18n.format(_vm.minNdvi, 'f2'),\n maxNdvi: _vm.$i18n.format(_vm.maxNdvi, 'f2'),\n minNdviL2aOnly: _vm.$i18n.format(_vm.minNdviL2aOnly, 'f2'),\n maxNdviL2aOnly: _vm.$i18n.format(_vm.maxNdviL2aOnly, 'f2')\n }}},[_vm._v(\"\\n frs.zoneMaps.details.imageSearchOptionsDescription\\n \")]),_c('IxRes',{attrs:{\"context\":{\n targetPercentage: _vm.$i18n.format(_vm.metaData.imageSearchSummary.options.targetPercentage, 'percent'),\n stDevWeight: _vm.$i18n.format(_vm.metaData.imageSearchSummary.options.standardDeviationPrioritizationWeight, 'f2')\n }}},[_vm._v(\"\\n frs.zoneMaps.details.fallingEdgeOptionsDescription\\n \")])],1)]),_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.headers.imageSearchResults\")])]},proxy:true}])},[_c('VueSelectize',{attrs:{\"ordered\":\"\",\"options\":_vm.metaData.imageSearchSummary.cultivationSummaries,\"fields\":_vm.selectizeFields},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMap.details.labels.cultivation\")])]},proxy:true}]),model:{value:(_vm.selectedCultivationSummary),callback:function ($$v) {_vm.selectedCultivationSummary=$$v},expression:\"selectedCultivationSummary\"}}),_c('CultivationSummary',{attrs:{\"summary\":_vm.selectedCultivationSummary}})],1)]},proxy:true},{key:\"availableimages\",fn:function(ref){\n var image = ref.image;\nreturn [_c('SatelliteImageReferenceWithStats',{attrs:{\"image\":image,\"statistics\":_vm.stDevLookup[((image.recordingDate) + \"_\" + (image.dataSource))]}})]}},{key:\"stdevmean\",fn:function(){return [_c('span',[_c('IxRes',{attrs:{\"context\":{\n stDevMean: _vm.$i18n.format(_vm.stDevMean, 'f2')\n }}},[_vm._v(\"\\n frs.zoneMap.details.image.standardDeviationMean\\n \")])],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('SatelliteImageReference',{attrs:{\"image\":_vm.image}}),(_vm.statistics)?_c('span',[_c('IxRes',{attrs:{\"context\":{\n stDev: _vm.$i18n.format(_vm.statistics, 'f2')\n }}},[_vm._v(\"\\n frs.zoneMap.details.image.standardDeviation\\n \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span',[_vm._v(_vm._s(_vm.$i18n.format(_vm.image.recordingDate, 'date')))]),_vm._v(\"\\n (\"),_c('span',{class:_vm.$style.source,attrs:{\"title\":_vm.image.dataSource}},[_vm._v(\"\\n \"+_vm._s(_vm.shortSources[_vm.image.dataSource])+\"\\n \")]),_vm._v(\")\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatelliteImageReference.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatelliteImageReference.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SatelliteImageReference.vue?vue&type=template&id=34c8d9ba&lang=html&\"\nimport script from \"./SatelliteImageReference.vue?vue&type=script&lang=js&\"\nexport * from \"./SatelliteImageReference.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SatelliteImageReference.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatelliteImageReferenceWithStats.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatelliteImageReferenceWithStats.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SatelliteImageReferenceWithStats.vue?vue&type=template&id=d5aa631c&lang=html&\"\nimport script from \"./SatelliteImageReferenceWithStats.vue?vue&type=script&lang=js&\"\nexport * from \"./SatelliteImageReferenceWithStats.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.$style.summary},[_c('h3',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.headers.userInput\")])],1),_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.parameters\")])]},proxy:true}])},[_c('div',{class:_vm.$style.parameters},[_c('code',[_c('pre',[_vm._v(_vm._s(JSON.stringify(_vm.showFullParameters ? _vm.metaData.parameters : _vm.abbreviatedInput, null, 2)))])])]),_c('BsCheckbox',{attrs:{\"inline\":\"\"},model:{value:(_vm.showFullParameters),callback:function ($$v) {_vm.showFullParameters=$$v},expression:\"showFullParameters\"}},[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.inputs.showFullParameters\")])],1)],1),_c('h3',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.headers.imageSelection\")])],1),_vm._t(\"images\"),_c('h3',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.headers.algorithmResult\")])],1),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.algorithmType\")]),_vm._v(\":\\n \")],1),_c('IxRes',[_vm._v(\"frs.zoneMaps.algorithm.option.\"+_vm._s(_vm.metaData.algorithmSummary.algorithmType))]),_c('label',[_c('IxRes',[_vm._v(\"frs.zoneMaps.details.countOfClasses\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.metaData.algorithmSummary.intendedZoneCount)+\"\\n\\n \"),_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.selectedSatScenes\")])]},proxy:true}])},[_c('div',{class:_vm.$style.dates},_vm._l((_vm.metaData.algorithmSummary.availableImages),function(image,i){\nvar _obj;\nreturn _c('div',{key:i,class:( _obj = {}, _obj[_vm.$style.ignored] = !_vm.metaData.algorithmSummary.usedImages.find(function (x) { return x.recordingDate === image.recordingDate && x.dataSource === image.dataSource; }), _obj )},[_vm._t(\"availableimages\",null,{\"image\":image})],2)}),0),_vm._t(\"stdevmean\")],2),(_vm.metaData.algorithmSummary.correlations.length)?_c('ZoneMapDetailsPanel',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.zoneMaps.details.correlations\")])]},proxy:true}],null,false,2898096433)},_vm._l((_vm.metaData.algorithmSummary.correlations),function(correlation,i){return _c('div',{key:i},[_vm._v(\"\\n \"+_vm._s(correlation.from.recordingDate.substring(0, 4))+\" ↔ \"+_vm._s(correlation.to.recordingDate.substring(0, 4))+\": \"+_vm._s(_vm.$i18n.format(correlation.correlationCoefficient, 'f2'))+\"\\n \"),(correlation.correlationCoefficient >= _vm.metaData.algorithmSummary.minimumCorrelation)?_c('span',[_vm._v(\"🆗\")]):_c('span',[_vm._v(\"❌\")])])}),0):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SharedSummary.vue?vue&type=template&id=4f80c074&lang=html&\"\nimport script from \"./SharedSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./SharedSummary.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharedSummary.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.$style.summary},[_c('IxRes',{attrs:{\"context\":{\n total: _vm.summary.candidateImages.length,\n cloudy: _vm.summary.candidateImages.filter(function (x) { return x.outcome === 'TooCloudy'; }).length\n }}},[_vm._v(\"\\n frs.zoneMaps.details.cultivationImageAvailability\\n \")]),_c('NdviLineChart',{attrs:{\"ndvi-data\":_vm.ndviData}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CultivationSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CultivationSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CultivationSummary.vue?vue&type=template&id=0fd12f5f&lang=html&\"\nimport script from \"./CultivationSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./CultivationSummary.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CultivationSummary.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AutoMetaData.vue?vue&type=template&id=7fbf8db7&lang=html&\"\nimport script from \"./AutoMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoMetaData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharedSummary',{attrs:{\"meta-data\":_vm.metaData},scopedSlots:_vm._u([{key:\"images\",fn:function(){return [_c('div',{class:_vm.$style.images},_vm._l((_vm.metaData.parameters.selectedImages),function(image,i){return _c('SatelliteImageReference',{key:i,attrs:{\"image\":image}})}),1)]},proxy:true},{key:\"availableimages\",fn:function(ref){\nvar image = ref.image;\nreturn [_c('SatelliteImageReference',{attrs:{\"image\":image}})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PremiumMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PremiumMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PremiumMetaData.vue?vue&type=template&id=10f9db75&lang=html&\"\nimport script from \"./PremiumMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./PremiumMetaData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PremiumMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharedSummary',{attrs:{\"meta-data\":_vm.metaData},scopedSlots:_vm._u([{key:\"images\",fn:function(){return [_c('SatelliteImageReference',{attrs:{\"image\":_vm.metaData.parameters.selectedImage}})]},proxy:true},{key:\"availableimages\",fn:function(ref){\nvar image = ref.image;\nreturn [_c('SatelliteImageReference',{attrs:{\"image\":image}})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiomassMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiomassMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BiomassMetaData.vue?vue&type=template&id=906f3c96&lang=html&\"\nimport script from \"./BiomassMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./BiomassMetaData.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapMetaData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapMetaData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapMetaData.vue?vue&type=template&id=566dcdbc&lang=html&\"\nimport script from \"./ZoneMapMetaData.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapMetaData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneMapMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BsModal',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMapAdditionalValues.headers.copyAdditionalValuesModal\")])]},proxy:true},{key:\"footer\",fn:function(){return [_c('IxButton',{attrs:{\"large\":\"\",\"cancel\":\"\"},on:{\"click\":function($event){_vm.modelProxy = false}}},[_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMapAdditionalValues.buttons.cancel\")])],1),_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":_vm.onSave}},[_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMapAdditionalValues.buttons.copyAdditionalValues\")])],1),_c('FrsLoadingIndicator',{attrs:{\"loading\":_vm.saving}})]},proxy:true}]),model:{value:(_vm.modelProxy),callback:function ($$v) {_vm.modelProxy=$$v},expression:\"modelProxy\"}},[_c('HelpBox',{attrs:{\"type\":\"warning\"}},[_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMapAdditionalValues.hint.zoneCountWarning\")])],1),_c('FrsZoneMapSelection',{attrs:{\"name\":\"sourceZoneMapId\",\"field-id\":_vm.fieldId,\"hide-label\":\"\",\"allow-empty\":\"\",\"required\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.zoneMapAdditionalValues.labels.sourceZoneMapId\")])]},proxy:true}]),model:{value:(_vm.sourceZoneMapId),callback:function ($$v) {_vm.sourceZoneMapId=$$v},expression:\"sourceZoneMapId\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CopyAdditionalValuesModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CopyAdditionalValuesModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CopyAdditionalValuesModal.vue?vue&type=template&id=1fa948b2&scoped=true&lang=html&\"\nimport script from \"./CopyAdditionalValuesModal.vue?vue&type=script&lang=js&\"\nexport * from \"./CopyAdditionalValuesModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fa948b2\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneMapDetails.vue?vue&type=template&id=80ed17f0&scoped=true&\"\nimport script from \"./ZoneMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneMapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneMapDetails.vue?vue&type=style&index=0&id=80ed17f0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"80ed17f0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"zone-map-details-container\"},[(!_vm.zoneEditingActive)?[_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.Name\")]),_vm._v(\":\\n \")],1),_c('div',{staticClass:\"map-name-container\"},[_c('span',{staticClass:\"map-name\"},[_vm._v(_vm._s(_vm.map.name))]),(_vm.map.originalZoneMapId || _vm.map.origin === 'import')?_c('span',{attrs:{\"title\":_vm.$i18n.translate('frs.mapManagement.icons.editMap')}},[_c('strong',{staticClass:\"small\"},[_c('IxRes',[_vm._v(\"frs.mapManagement.icons.editMap\")])],1)]):_vm._e(),(_vm.map.isDemo)?_c('span',{attrs:{\"title\":_vm.$i18n.translate('frs.mapManagement.icons.sales')}},[_c('strong',{staticClass:\"small\"},[_c('IxRes',[_vm._v(\"frs.mapManagement.icons.sales\")])],1)]):_vm._e()]),_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.CreatedAt\")]),_vm._v(\":\\n \")],1),_vm._v(\"\\n \"+_vm._s(_vm.$i18n.format(_vm.map.generatedAt, 'datetime'))+\"\\n\\n \"),(_vm.map.heterogenity)?[_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.Heterogenity\")]),_vm._v(\":\\n \")],1),_c('IxRes',[_vm._v(\"Enums.SR_Enums.HeterogenityEnum_\"+_vm._s(_vm.map.heterogenity))])]:_vm._e(),_c('ZoneMapActivationStatus',{attrs:{\"zone-map\":_vm.map}}),_c('ZoneMapAdditionalActions',{attrs:{\"zone-map\":_vm.map}}),_c('CopyAdditionalValuesModal',{model:{value:(_vm.showCopyAdditionalValuesModal),callback:function ($$v) {_vm.showCopyAdditionalValuesModal=$$v},expression:\"showCopyAdditionalValuesModal\"}})]:_vm._e(),_c('ZoneMapDetailsLegend',{attrs:{\"zone-map\":_vm.map}}),(_vm.$can('Create.Frs.BiomassMap'))?_c('ZoneEditing',{attrs:{\"map\":_vm.map},model:{value:(_vm.zoneEditingActive),callback:function ($$v) {_vm.zoneEditingActive=$$v},expression:\"zoneEditingActive\"}}):_vm._e(),_c('MapPrint',{attrs:{\"map-ids\":[_vm.map.id],\"map-type\":\"zoneMap\"}}),(!_vm.zoneEditingActive)?[(_vm.$can('See.Frs.ZoneMap.Details.MetaData'))?_c('ZoneMapMetaData',{attrs:{\"meta-data\":_vm.map.metaData}}):_vm._e(),_c('FrsZoneMapLayer',{attrs:{\"zone-map-id\":_vm.map.id}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiomassMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiomassMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BiomassMapDetails.vue?vue&type=template&id=64116748&scoped=true&\"\nimport script from \"./BiomassMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./BiomassMapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BiomassMapDetails.vue?vue&type=style&index=0&id=64116748&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64116748\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"soil-map-details-container\"},[_c('h4',[_c('IxRes',[_vm._v(\"frs.mapManagement.soilMap.details.heading.\"+_vm._s((\"MapCategory_\" + (_vm.map.category))))])],1),_c('CommonDetails',{attrs:{\"map\":_vm.map}}),_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(_vm.map.category === 'caOApplicationMap' || _vm.map.category === 'caORequiredNutrient')?_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.ApplicationValue\")]):_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.soilParameter\")])]},proxy:true}])},[_c('div',{staticClass:\"legend-container\"},[_c('ZoneValues',{attrs:{\"map\":_vm.map}})],1)]),(_vm.map.humusClasses)?_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.humusClasses\")])]},proxy:true}],null,false,1082419730)},[_c('HumusClasses',{attrs:{\"map\":_vm.map}})],1):_vm._e(),(_vm.map.metaData)?_c('div',[(_vm.map.category === 'caORequiredNutrient')?_c('div',[_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.metaData\")])]},proxy:true}],null,false,3540196913)},[_c('RequiredNutrientDetails',{attrs:{\"map\":_vm.map}})],1)],1):_vm._e(),(_vm.map.category === 'caOApplicationMap')?_c('div',[_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.metaData\")])]},proxy:true}],null,false,3540196913)},[_c('ApplicationMapDetails',{attrs:{\"map\":_vm.map}})],1)],1):_vm._e(),(_vm.map.metaData.validation)?_c('div',[_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.metaData\")])]},proxy:true}],null,false,3540196913)},[_c('ValidationDetails',{attrs:{\"map\":_vm.map}})],1)],1):_vm._e()]):_vm._e(),_c('PhBbMapLayer',{attrs:{\"map\":_vm.map,\"auto-focus\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Common.SR_Common.Name\")])]},proxy:true}],null,false,4180781472)},[_c('div',[_vm._v(_vm._s(_vm.map.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Common.SR_Common.CreatedAt\")])]},proxy:true}],null,false,3316990642)},[_c('div',[_vm._v(_vm._s(_vm.$i18n.format(_vm.map.generatedAt, 'datetime')))])])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommonDetails.vue?vue&type=template&id=1e8e5128&scoped=true&\"\nimport script from \"./CommonDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./CommonDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e8e5128\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('div',[_c('h4',[_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.labels.\"+_vm._s((\"ZoneValueLegend_\" + (_vm.map.category))))])],1),_vm._l((_vm.zones),function(zone,idx){return _c('div',{key:idx,staticClass:\"legend-row\"},[_c('div',{staticClass:\"legend-box\",style:({backgroundColor: _vm.getColor(zone.value, idx)})}),_c('div',{staticClass:\"text\"},[_c('label',[_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.\"+_vm._s(_vm.map.category)+\".zoneLegend.value\")]),_vm._v(\"\\n \"+_vm._s(zone.value)+\"\\n \")],1),_c('small',{staticClass:\"area-info\"},[_vm._v(\" (\"+_vm._s(_vm.$i18n.format(zone.area, 'area'))+\" = \"+_vm._s(_vm.$i18n.format(zone.area / _vm.totalArea, 'percent'))+\")\")])])])}),(!_vm.zones)?_c('div',{staticClass:\"legend-row\"},[_c('div',{staticClass:\"legend-box no-data\"}),_c('div',{staticClass:\"text\"},[_c('IxRes',[_vm._v(\"frs.mapManagement.details.soilMaps.zoneLegend_noData\")])],1)]):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneValues.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneValues.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneValues.vue?vue&type=template&id=2256e972&scoped=true&\"\nimport script from \"./ZoneValues.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneValues.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneValues.vue?vue&type=style&index=0&id=2256e972&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2256e972\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('SimpleTable',{attrs:{\"localize-headers\":\"\",\"columns\":_vm.humusClassColumns,\"data\":_vm.humusClassData},scopedSlots:_vm._u([{key:\"range\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('IxRes',[_vm._v(_vm._s((\"frs.mapManagement.details.soilMaps.humusClasses_range_\" + value)))])]}},{key:\"area\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.$i18n.format(value, 'area'))+\" (\"+_vm._s(_vm.$i18n.format(value / _vm.totalArea, 'percent'))+\")\\n \")]}}],null,false,1080355869)}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HumusClasses.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HumusClasses.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HumusClasses.vue?vue&type=template&id=22868c55&scoped=true&\"\nimport script from \"./HumusClasses.vue?vue&type=script&lang=js&\"\nexport * from \"./HumusClasses.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22868c55\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.usedAlgorithm\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2862529073)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.typeOfAlgorithm))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.limingInterval\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2967484686)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.limingInterval))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.lastYearSoilTesting\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,192086611)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.soilTesting))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.isSecondApplication\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2940013385)},[_c('div',[_c('IxRes',[_vm._v(\"Common.SR_Common.\"+_vm._s(_vm.map.metaData.isSecondApplication ? 'Yes' : 'No'))])],1)]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.humusMap\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3287852275)},[_c('div',[_vm._v(_vm._s(_vm.tryGetMapName('humusMap')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.phMap\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2722695933)},[_c('div',[_vm._v(_vm._s(_vm.tryGetMapName('phMap')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.soilGroupMap\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2134217411)},[_c('div',[_vm._v(_vm._s(_vm.tryGetMapName('soilGroupMap')))])]),(_vm.map.metaData.clayMap)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.clayMap\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3681982162)},[_c('div',[_vm._v(_vm._s(_vm.tryGetMapName('clayMap')))])]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredNutrientDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RequiredNutrientDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RequiredNutrientDetails.vue?vue&type=template&id=201a8136&scoped=true&\"\nimport script from \"./RequiredNutrientDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./RequiredNutrientDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"201a8136\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.fileFormatTerminal\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2470112120)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.fileFormat))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.alignmentInDrivingDirection\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2784005357)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.alignInDrivingDirection ? _vm.$i18n.translate('frs.mapManagement.detail.soilMaps.metaData.alignInDrivingDirection.align') : _vm.$i18n.translate('frs.mapManagement.detail.soilMaps.metaData.alignInDrivingDirection.noAlign')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.spreaderWorkingWidth\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3215065656)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.spreaderWorkingWidth)+\" m\")])]),(_vm.map.metaData.alignInDrivingDirection && _vm.map.metaData.fileFormat === 'IsoXML')?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.rasterLength\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,797688294)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.rasterLength)+\" m\")])]):_vm._e(),(_vm.map.metaData.requiredNutrientMapName)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detail.soilMaps.metaData.requiredNutrientMapName\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3339158144)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.requiredNutrientMapName)+\" m\")])]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ApplicationMapDetails.vue?vue&type=template&id=2d9ffdba&scoped=true&\"\nimport script from \"./ApplicationMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ApplicationMapDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d9ffdba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('div',_vm._l((_vm.map.metaData.validation),function(validation,index){return _c('SimpleTable',{key:index,attrs:{\"columns\":{name: {title: 'Name', sortable: true}, value: {title: 'Wert'}},\"data\":Object.keys(validation).map(function (x) { return ({name: x, value: validation[x]}); })}})}),1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValidationDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ValidationDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ValidationDetails.vue?vue&type=template&id=0f597b7b&scoped=true&\"\nimport script from \"./ValidationDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ValidationDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f597b7b\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SoilMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SoilMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SoilMapDetails.vue?vue&type=template&id=839f2a1c&scoped=true&\"\nimport script from \"./SoilMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./SoilMapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SoilMapDetails.vue?vue&type=style&index=0&id=839f2a1c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"839f2a1c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_c('IxRes',[_vm._v(\"frs.mapManagement.soilMap.details.heading.\"+_vm._s((\"MapCategory_\" + (_vm.map.category))))])],1),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Common.SR_Common.Name\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.map.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.mappingDate\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.$i18n.format(_vm.map.mappingDate, 'date')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Common.SR_Common.CreatedAt\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.$i18n.format(_vm.map.createdAt, 'date')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.layer\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.map.layerName))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.blockSize\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.map.blockSize))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.pixelSize\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.map.pixelSize))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.memorySize\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.map.memorySize)+\" kb\")])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.imageDimension\")])]},proxy:true}])},[_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.map.pixelHeight)+\" × \"+_vm._s(_vm.map.pixelWidth)+\" Pixel\\n \")])]),(_vm.variogram)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.variogram.title\")])]},proxy:true}],null,false,2924438530)},[_c('div',{staticClass:\"vario-thumb-container\"},[_c('img',{staticClass:\"vario-thumb\",attrs:{\"src\":(\"data:image/png;base64,\" + _vm.variogram)},on:{\"click\":function($event){$event.preventDefault();_vm.showModal = true}}})])]):_vm._e(),_c('BsModal',{attrs:{\"size\":\"xlarge\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.variogram.title\")])]},proxy:true},{key:\"footer\",fn:function(){return [_c('IxButton',{attrs:{\"large\":\"\",\"colored\":\"\"},on:{\"click\":function($event){_vm.showModal = false}}},[_c('IxRes',[_vm._v(\"frs.mapManagement.details.interpolationMaps.variogram.close\")])],1)]},proxy:true}]),model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[(_vm.variogram)?_c('img',{staticClass:\"vario-image\",attrs:{\"src\":(\"data:image/png;base64,\" + _vm.variogram)}}):_vm._e()]),_c('br'),_c('SensorDataGradientScale',{attrs:{\"map\":_vm.map}}),_c('InterpolationMapLayer',{attrs:{\"map\":_vm.map}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('GradientScale',{attrs:{\"colors\":_vm.colors},scopedSlots:_vm._u([{key:\"startLabel\",fn:function(){return [_c('IxRes',{attrs:{\"context\":{maxValue: _vm.$i18n.format(_vm.map.maxValue, 'f0')}}},[_vm._v(\"frs.mapManagement.sensorData.gradient.labels.highYield\")])]},proxy:true},{key:\"endLabel\",fn:function(){return [_c('IxRes',{attrs:{\"context\":{minValue: _vm.$i18n.format(_vm.map.minValue, 'f0')}}},[_vm._v(\"frs.mapManagement.sensorData.gradient.labels.lowYield\")])]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SensorDataGradientScale.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SensorDataGradientScale.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SensorDataGradientScale.vue?vue&type=template&id=0092d942&scoped=true&\"\nimport script from \"./SensorDataGradientScale.vue?vue&type=script&lang=js&\"\nexport * from \"./SensorDataGradientScale.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0092d942\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterpolationMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterpolationMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterpolationMapDetails.vue?vue&type=template&id=661ad93a&scoped=true&\"\nimport script from \"./InterpolationMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./InterpolationMapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InterpolationMapDetails.vue?vue&type=style&index=0&id=661ad93a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"661ad93a\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapDetails.vue?vue&type=template&id=708279ba&scoped=true&\"\nimport script from \"./MapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./MapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MapDetails.vue?vue&type=style&index=0&id=708279ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"708279ba\",\n null\n \n)\n\nexport default component.exports","/**\n * @namespace Chart\n */\nvar Chart = require('./core/core')();\n\nChart.helpers = require('./helpers/index');\n\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\nrequire('./core/core.helpers')(Chart);\n\nChart.Animation = require('./core/core.animation');\nChart.animationService = require('./core/core.animations');\nChart.defaults = require('./core/core.defaults');\nChart.Element = require('./core/core.element');\nChart.elements = require('./elements/index');\nChart.Interaction = require('./core/core.interaction');\nChart.layouts = require('./core/core.layouts');\nChart.platform = require('./platforms/platform');\nChart.plugins = require('./core/core.plugins');\nChart.Scale = require('./core/core.scale');\nChart.scaleService = require('./core/core.scaleService');\nChart.Ticks = require('./core/core.ticks');\nChart.Tooltip = require('./core/core.tooltip');\n\nrequire('./core/core.controller')(Chart);\nrequire('./core/core.datasetController')(Chart);\n\nrequire('./scales/scale.linearbase')(Chart);\nrequire('./scales/scale.category')(Chart);\nrequire('./scales/scale.linear')(Chart);\nrequire('./scales/scale.logarithmic')(Chart);\nrequire('./scales/scale.radialLinear')(Chart);\nrequire('./scales/scale.time')(Chart);\n\n// Controllers must be loaded after elements\n// See Chart.core.datasetController.dataElementType\nrequire('./controllers/controller.bar')(Chart);\nrequire('./controllers/controller.bubble')(Chart);\nrequire('./controllers/controller.doughnut')(Chart);\nrequire('./controllers/controller.line')(Chart);\nrequire('./controllers/controller.polarArea')(Chart);\nrequire('./controllers/controller.radar')(Chart);\nrequire('./controllers/controller.scatter')(Chart);\n\nrequire('./charts/Chart.Bar')(Chart);\nrequire('./charts/Chart.Bubble')(Chart);\nrequire('./charts/Chart.Doughnut')(Chart);\nrequire('./charts/Chart.Line')(Chart);\nrequire('./charts/Chart.PolarArea')(Chart);\nrequire('./charts/Chart.Radar')(Chart);\nrequire('./charts/Chart.Scatter')(Chart);\n\n// Loading built-in plugins\nvar plugins = require('./plugins');\nfor (var k in plugins) {\n\tif (plugins.hasOwnProperty(k)) {\n\t\tChart.plugins.register(plugins[k]);\n\t}\n}\n\nChart.platform.initialize();\n\nmodule.exports = Chart;\nif (typeof window !== 'undefined') {\n\twindow.Chart = Chart;\n}\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, not available anymore\n * @namespace Chart.Legend\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.Legend = plugins.legend._element;\n\n/**\n * Provided for backward compatibility, not available anymore\n * @namespace Chart.Title\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.Title = plugins.title._element;\n\n/**\n * Provided for backward compatibility, use Chart.plugins instead\n * @namespace Chart.pluginService\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.pluginService = Chart.plugins;\n\n/**\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\n * effect, instead simply create/register plugins via plain JavaScript objects.\n * @interface Chart.PluginBase\n * @deprecated since version 2.5.0\n * @todo remove at version 3\n * @private\n */\nChart.PluginBase = Chart.Element.extend({});\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\n * @namespace Chart.canvasHelpers\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nChart.canvasHelpers = Chart.helpers.canvas;\n\n/**\n * Provided for backward compatibility, use Chart.layouts instead.\n * @namespace Chart.layoutService\n * @deprecated since version 2.8.0\n * @todo remove at version 3\n * @private\n */\nChart.layoutService = Chart.layouts;\n","var inside = require('@turf/inside');\nvar calcBbox = require('@turf/bbox');\nvar isPointOnLine = require('@turf/boolean-point-on-line');\nvar invariant = require('@turf/invariant');\nvar getGeom = invariant.getGeom;\nvar getCoords = invariant.getCoords;\nvar getGeomType = invariant.getGeomType;\n\n/**\n * Boolean-contains returns True if the second geometry is completely contained by the first geometry.\n * The interiors of both geometries must intersect and, the interior and boundary of the secondary (geometry b)\n * must not intersect the exterior of the primary (geometry a).\n * Boolean-contains returns the exact opposite result of the `@turf/boolean-within`.\n *\n * @name booleanContains\n * @param {Geometry|Feature} feature1 GeoJSON Feature or Geometry\n * @param {Geometry|Feature} feature2 GeoJSON Feature or Geometry\n * @returns {boolean} true/false\n * @example\n * const line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);\n * const point = turf.point([1, 2]);\n *\n * turf.booleanContains(line, point);\n * //=true\n */\nmodule.exports = function (feature1, feature2) {\n var type1 = getGeomType(feature1);\n var type2 = getGeomType(feature2);\n var geom1 = getGeom(feature1);\n var geom2 = getGeom(feature2);\n var coords1 = getCoords(feature1);\n var coords2 = getCoords(feature2);\n\n switch (type1) {\n case 'Point':\n switch (type2) {\n case 'Point':\n return compareCoords(coords1, coords2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'MultiPoint':\n switch (type2) {\n case 'Point':\n return isPointInMultiPoint(geom1, geom2);\n case 'MultiPoint':\n return isMultiPointInMultiPoint(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'LineString':\n switch (type2) {\n case 'Point':\n return isPointOnLine(geom2, geom1, true);\n case 'LineString':\n return isLineOnLine(geom1, geom2);\n case 'MultiPoint':\n return isMultiPointOnLine(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'Polygon':\n switch (type2) {\n case 'Point':\n return inside(geom2, geom1, true);\n case 'LineString':\n return isLineInPoly(geom1, geom2);\n case 'Polygon':\n return isPolyInPoly(geom1, geom2);\n case 'MultiPoint':\n return isMultiPointInPoly(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n default:\n throw new Error('feature1 ' + type1 + ' geometry not supported');\n }\n};\n\nfunction isPointInMultiPoint(multiPoint, point) {\n var i;\n var output = false;\n for (i = 0; i < multiPoint.coordinates.length; i++) {\n if (compareCoords(multiPoint.coordinates[i], point.coordinates)) {\n output = true;\n break;\n }\n }\n return output;\n}\n\nfunction isMultiPointInMultiPoint(multiPoint1, multiPoint2) {\n for (var i = 0; i < multiPoint2.coordinates.length; i++) {\n var matchFound = false;\n for (var i2 = 0; i2 < multiPoint1.coordinates.length; i2++) {\n if (compareCoords(multiPoint2.coordinates[i], multiPoint1.coordinates[i2])) {\n matchFound = true;\n break;\n }\n }\n if (!matchFound) {\n return false;\n }\n }\n return true;\n}\n\n\nfunction isMultiPointOnLine(lineString, multiPoint) {\n var haveFoundInteriorPoint = false;\n for (var i = 0; i < multiPoint.coordinates.length; i++) {\n if (isPointOnLine(multiPoint.coordinates[i], lineString, true)) {\n haveFoundInteriorPoint = true;\n }\n if (!isPointOnLine(multiPoint.coordinates[i], lineString)) {\n return false;\n }\n }\n if (haveFoundInteriorPoint) {\n return true;\n }\n return false;\n}\n\nfunction isMultiPointInPoly(polygon, multiPoint) {\n for (var i = 0; i < multiPoint.coordinates.length; i++) {\n if (!inside(multiPoint.coordinates[i], polygon, true)) {\n return false;\n }\n }\n return true;\n}\n\nfunction isLineOnLine(lineString1, lineString2) {\n var haveFoundInteriorPoint = false;\n for (var i = 0; i < lineString2.coordinates.length; i++) {\n if (isPointOnLine({type: 'Point', coordinates: lineString2.coordinates[i]}, lineString1, true)) {\n haveFoundInteriorPoint = true;\n }\n if (!isPointOnLine({type: 'Point', coordinates: lineString2.coordinates[i]}, lineString1, false)) {\n return false;\n }\n }\n return haveFoundInteriorPoint;\n}\n\nfunction isLineInPoly(polygon, linestring) {\n var output = false;\n var i = 0;\n\n var polyBbox = calcBbox(polygon);\n var lineBbox = calcBbox(linestring);\n if (!doBBoxOverlap(polyBbox, lineBbox)) {\n return false;\n }\n for (i; i < linestring.coordinates.length - 1; i++) {\n var midPoint = getMidpoint(linestring.coordinates[i], linestring.coordinates[i + 1]);\n if (inside({type: 'Point', coordinates: midPoint}, polygon, true)) {\n output = true;\n break;\n }\n }\n return output;\n}\n\n/**\n * Is Polygon2 in Polygon1\n * Only takes into account outer rings\n *\n * @private\n * @param {Geometry|Feature} feature1 Polygon1\n * @param {Geometry|Feature} feature2 Polygon2\n * @returns {boolean} true/false\n */\nfunction isPolyInPoly(feature1, feature2) {\n var poly1Bbox = calcBbox(feature1);\n var poly2Bbox = calcBbox(feature2);\n if (!doBBoxOverlap(poly1Bbox, poly2Bbox)) {\n return false;\n }\n for (var i = 0; i < feature2.coordinates[0].length; i++) {\n if (!inside(feature2.coordinates[0][i], feature1)) {\n return false;\n }\n }\n return true;\n}\n\nfunction doBBoxOverlap(bbox1, bbox2) {\n if (bbox1[0] > bbox2[0]) return false;\n if (bbox1[2] < bbox2[2]) return false;\n if (bbox1[1] > bbox2[1]) return false;\n if (bbox1[3] < bbox2[3]) return false;\n return true;\n}\n\n/**\n * compareCoords\n *\n * @private\n * @param {[number, number]} pair1 point [x,y]\n * @param {[number, number]} pair2 point [x,y]\n * @returns {boolean} true/false if coord pairs match\n */\nfunction compareCoords(pair1, pair2) {\n return pair1[0] === pair2[0] && pair1[1] === pair2[1];\n}\n\nfunction getMidpoint(pair1, pair2) {\n return [(pair1[0] + pair2[0]) / 2, (pair1[1] + pair2[1]) / 2];\n}\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('doughnut', {\n\tanimation: {\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\n\t\tanimateRotate: true,\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\n\t\tanimateScale: false\n\t},\n\thover: {\n\t\tmode: 'single'\n\t},\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('
    ');\n\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\n\t\tif (datasets.length) {\n\t\t\tfor (var i = 0; i < datasets[0].data.length; ++i) {\n\t\t\t\ttext.push('
  • ');\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\ttext.push(labels[i]);\n\t\t\t\t}\n\t\t\t\ttext.push('
  • ');\n\t\t\t}\n\t\t}\n\n\t\ttext.push('
');\n\t\treturn text.join('');\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar ds = data.datasets[0];\n\t\t\t\t\t\tvar arc = meta.data[i];\n\t\t\t\t\t\tvar custom = arc && arc.custom || {};\n\t\t\t\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\n\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\n\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: fill,\n\t\t\t\t\t\t\tstrokeStyle: stroke,\n\t\t\t\t\t\t\tlineWidth: bw,\n\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t// toggle visibility of index if exists\n\t\t\t\tif (meta.data[index]) {\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// The percentage of the chart that we cut out of the middle.\n\tcutoutPercentage: 50,\n\n\t// The rotation of the chart, where the first data arc begins.\n\trotation: Math.PI * -0.5,\n\n\t// The total circumference of the chart.\n\tcircumference: Math.PI * 2.0,\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n\n\t\t\t\tif (helpers.isArray(dataLabel)) {\n\t\t\t\t\t// show value on first line of multiline label\n\t\t\t\t\t// need to clone because we are changing the value\n\t\t\t\t\tdataLabel = dataLabel.slice();\n\t\t\t\t\tdataLabel[0] += value;\n\t\t\t\t} else {\n\t\t\t\t\tdataLabel += value;\n\t\t\t\t}\n\n\t\t\t\treturn dataLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\ndefaults._set('pie', helpers.clone(defaults.doughnut));\ndefaults._set('pie', {\n\tcutoutPercentage: 0\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.doughnut = Chart.controllers.pie = Chart.DatasetController.extend({\n\n\t\tdataElementType: elements.Arc,\n\n\t\tlinkScales: helpers.noop,\n\n\t\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\n\t\tgetRingIndex: function(datasetIndex) {\n\t\t\tvar ringIndex = 0;\n\n\t\t\tfor (var j = 0; j < datasetIndex; ++j) {\n\t\t\t\tif (this.chart.isDatasetVisible(j)) {\n\t\t\t\t\t++ringIndex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ringIndex;\n\t\t},\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar opts = chart.options;\n\t\t\tvar arcOpts = opts.elements.arc;\n\t\t\tvar availableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth;\n\t\t\tvar availableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth;\n\t\t\tvar minSize = Math.min(availableWidth, availableHeight);\n\t\t\tvar offset = {x: 0, y: 0};\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar cutoutPercentage = opts.cutoutPercentage;\n\t\t\tvar circumference = opts.circumference;\n\n\t\t\t// If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc\n\t\t\tif (circumference < Math.PI * 2.0) {\n\t\t\t\tvar startAngle = opts.rotation % (Math.PI * 2.0);\n\t\t\t\tstartAngle += Math.PI * 2.0 * (startAngle >= Math.PI ? -1 : startAngle < -Math.PI ? 1 : 0);\n\t\t\t\tvar endAngle = startAngle + circumference;\n\t\t\t\tvar start = {x: Math.cos(startAngle), y: Math.sin(startAngle)};\n\t\t\t\tvar end = {x: Math.cos(endAngle), y: Math.sin(endAngle)};\n\t\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || (startAngle <= Math.PI * 2.0 && Math.PI * 2.0 <= endAngle);\n\t\t\t\tvar contains90 = (startAngle <= Math.PI * 0.5 && Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 2.5 && Math.PI * 2.5 <= endAngle);\n\t\t\t\tvar contains180 = (startAngle <= -Math.PI && -Math.PI <= endAngle) || (startAngle <= Math.PI && Math.PI <= endAngle);\n\t\t\t\tvar contains270 = (startAngle <= -Math.PI * 0.5 && -Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 1.5 && Math.PI * 1.5 <= endAngle);\n\t\t\t\tvar cutout = cutoutPercentage / 100.0;\n\t\t\t\tvar min = {x: contains180 ? -1 : Math.min(start.x * (start.x < 0 ? 1 : cutout), end.x * (end.x < 0 ? 1 : cutout)), y: contains270 ? -1 : Math.min(start.y * (start.y < 0 ? 1 : cutout), end.y * (end.y < 0 ? 1 : cutout))};\n\t\t\t\tvar max = {x: contains0 ? 1 : Math.max(start.x * (start.x > 0 ? 1 : cutout), end.x * (end.x > 0 ? 1 : cutout)), y: contains90 ? 1 : Math.max(start.y * (start.y > 0 ? 1 : cutout), end.y * (end.y > 0 ? 1 : cutout))};\n\t\t\t\tvar size = {width: (max.x - min.x) * 0.5, height: (max.y - min.y) * 0.5};\n\t\t\t\tminSize = Math.min(availableWidth / size.width, availableHeight / size.height);\n\t\t\t\toffset = {x: (max.x + min.x) * -0.5, y: (max.y + min.y) * -0.5};\n\t\t\t}\n\n\t\t\tchart.borderWidth = me.getMaxBorderWidth(meta.data);\n\t\t\tchart.outerRadius = Math.max((minSize - chart.borderWidth) / 2, 0);\n\t\t\tchart.innerRadius = Math.max(cutoutPercentage ? (chart.outerRadius / 100) * (cutoutPercentage) : 0, 0);\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\t\t\tchart.offsetX = offset.x * chart.outerRadius;\n\t\t\tchart.offsetY = offset.y * chart.outerRadius;\n\n\t\t\tmeta.total = me.calculateTotal();\n\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.getRingIndex(me.index));\n\t\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength, 0);\n\n\t\t\thelpers.each(meta.data, function(arc, index) {\n\t\t\t\tme.updateElement(arc, index, reset);\n\t\t\t});\n\t\t},\n\n\t\tupdateElement: function(arc, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar opts = chart.options;\n\t\t\tvar animationOpts = opts.animation;\n\t\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\n\t\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\n\t\t\tvar startAngle = opts.rotation; // non reset case handled later\n\t\t\tvar endAngle = opts.rotation; // non reset case handled later\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI));\n\t\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\n\t\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\n\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n\t\t\thelpers.extend(arc, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: centerX + chart.offsetX,\n\t\t\t\t\ty: centerY + chart.offsetY,\n\t\t\t\t\tstartAngle: startAngle,\n\t\t\t\t\tendAngle: endAngle,\n\t\t\t\t\tcircumference: circumference,\n\t\t\t\t\touterRadius: outerRadius,\n\t\t\t\t\tinnerRadius: innerRadius,\n\t\t\t\t\tlabel: valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar model = arc._model;\n\n\t\t\t// Resets the visual styles\n\t\t\tvar custom = arc.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar elementOpts = this.chart.options.elements.arc;\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);\n\n\t\t\t// Set correct angles if not resetting\n\t\t\tif (!reset || !animationOpts.animateRotate) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tmodel.startAngle = opts.rotation;\n\t\t\t\t} else {\n\t\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\n\t\t\t\t}\n\n\t\t\t\tmodel.endAngle = model.startAngle + model.circumference;\n\t\t\t}\n\n\t\t\tarc.pivot();\n\t\t},\n\n\t\tcalculateTotal: function() {\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar total = 0;\n\t\t\tvar value;\n\n\t\t\thelpers.each(meta.data, function(element, index) {\n\t\t\t\tvalue = dataset.data[index];\n\t\t\t\tif (!isNaN(value) && !element.hidden) {\n\t\t\t\t\ttotal += Math.abs(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t/* if (total === 0) {\n\t\t\t\ttotal = NaN;\n\t\t\t}*/\n\n\t\t\treturn total;\n\t\t},\n\n\t\tcalculateCircumference: function(value) {\n\t\t\tvar total = this.getMeta().total;\n\t\t\tif (total > 0 && !isNaN(value)) {\n\t\t\t\treturn (Math.PI * 2.0) * (Math.abs(value) / total);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\n\t\t// gets the max border or hover width to properly scale pie charts\n\t\tgetMaxBorderWidth: function(arcs) {\n\t\t\tvar max = 0;\n\t\t\tvar index = this.index;\n\t\t\tvar length = arcs.length;\n\t\t\tvar borderWidth;\n\t\t\tvar hoverWidth;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tborderWidth = arcs[i]._model ? arcs[i]._model.borderWidth : 0;\n\t\t\t\thoverWidth = arcs[i]._chart ? arcs[i]._chart.config.data.datasets[index].hoverBorderWidth : 0;\n\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\n\t\t\t}\n\t\t\treturn max;\n\t\t}\n\t});\n};\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=style&index=0&id=505bcb48&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=style&index=0&id=505bcb48&lang=scss&scoped=true&\"","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar Element = require('../core/core.element');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\telements: {\n\t\tarc: {\n\t\t\tbackgroundColor: defaults.global.defaultColor,\n\t\t\tborderColor: '#fff',\n\t\t\tborderWidth: 2\n\t\t}\n\t}\n});\n\nmodule.exports = Element.extend({\n\tinLabelRange: function(mouseX) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\n\t\t}\n\t\treturn false;\n\t},\n\n\tinRange: function(chartX, chartY) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\tvar pointRelativePosition = helpers.getAngleFromPoint(vm, {x: chartX, y: chartY});\n\t\t\tvar\tangle = pointRelativePosition.angle;\n\t\t\tvar distance = pointRelativePosition.distance;\n\n\t\t\t// Sanitise angle range\n\t\t\tvar startAngle = vm.startAngle;\n\t\t\tvar endAngle = vm.endAngle;\n\t\t\twhile (endAngle < startAngle) {\n\t\t\t\tendAngle += 2.0 * Math.PI;\n\t\t\t}\n\t\t\twhile (angle > endAngle) {\n\t\t\t\tangle -= 2.0 * Math.PI;\n\t\t\t}\n\t\t\twhile (angle < startAngle) {\n\t\t\t\tangle += 2.0 * Math.PI;\n\t\t\t}\n\n\t\t\t// Check if within the range of the open/close angle\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\n\n\t\t\treturn (betweenAngles && withinRadius);\n\t\t}\n\t\treturn false;\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\n\t\treturn {\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\n\n\t\treturn {\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\n\t\t};\n\t},\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar sA = vm.startAngle;\n\t\tvar eA = vm.endAngle;\n\n\t\tctx.beginPath();\n\n\t\tctx.arc(vm.x, vm.y, vm.outerRadius, sA, eA);\n\t\tctx.arc(vm.x, vm.y, vm.innerRadius, eA, sA, true);\n\n\t\tctx.closePath();\n\t\tctx.strokeStyle = vm.borderColor;\n\t\tctx.lineWidth = vm.borderWidth;\n\n\t\tctx.fillStyle = vm.backgroundColor;\n\n\t\tctx.fill();\n\t\tctx.lineJoin = 'bevel';\n\n\t\tif (vm.borderWidth) {\n\t\t\tctx.stroke();\n\t\t}\n\t}\n});\n","var getCoords = require('@turf/invariant').getCoords;\nvar helpers = require('@turf/helpers');\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Finds the tangents of a {@link Polygon|(Multi)Polygon} from a {@link Point}.\n *\n * @name polygonTangents\n * @param {Feature} point to calculate the tangent points from\n * @param {Feature} polygon to get tangents from\n * @returns {FeatureCollection} Feature Collection containing the two tangent points\n * @example\n * var polygon = turf.polygon([[[11, 0], [22, 4], [31, 0], [31, 11], [21, 15], [11, 11], [11, 0]]]);\n * var point = turf.point([61, 5]);\n *\n * var tangents = turf.polygonTangents(point, polygon)\n *\n * //addToMap\n * var addToMap = [tangents, point, polygon];\n */\nmodule.exports = function (point, polygon) {\n var eprev;\n var enext;\n var rtan;\n var ltan;\n var pointCoords = getCoords(point);\n var polyCoords = getCoords(polygon);\n\n var type = getGeomType(polygon);\n switch (type) {\n case 'Polygon':\n rtan = 0;\n ltan = 0;\n eprev = isLeft(polyCoords[0][0], polyCoords[0][1], pointCoords);\n var out = processPolygon(polyCoords[0], pointCoords, eprev, enext, rtan, ltan);\n rtan = out[0];\n ltan = out[1];\n break;\n case 'MultiPolygon':\n rtan = 0;\n ltan = 0;\n eprev = isLeft(polyCoords[0][0][0], polyCoords[0][0][1], pointCoords);\n polyCoords.forEach(function (ring) {\n var out = processPolygon(ring[0], pointCoords, eprev, enext, rtan, ltan);\n rtan = out[0];\n ltan = out[1];\n });\n break;\n }\n return featureCollection([helpers.point(rtan), helpers.point(ltan)]);\n};\n\nfunction processPolygon(polygonCoords, ptCoords, eprev, enext, rtan, ltan) {\n for (var i = 0; i < polygonCoords.length; i++) {\n var currentCoords = polygonCoords[i];\n var nextCoordPair = polygonCoords[i + 1];\n if (i === polygonCoords.length - 1) {\n nextCoordPair = polygonCoords[0];\n }\n enext = isLeft(currentCoords, nextCoordPair, ptCoords);\n if (eprev <= 0 && enext > 0) {\n if (!isBelow(ptCoords, currentCoords, rtan)) {\n rtan = currentCoords;\n }\n }\n if (eprev > 0 && enext <= 0) {\n if (!isAbove(ptCoords, currentCoords, ltan)) {\n ltan = currentCoords;\n }\n }\n eprev = enext;\n }\n return [rtan, ltan];\n}\n\nfunction isAbove(point1, point2, point3) {\n return isLeft(point1, point2, point3) >= 0;\n}\n\nfunction isBelow(point1, point2, point3) {\n return isLeft(point1, point2, point3) <= 0;\n}\n\nfunction isLeft(point1, point2, point3) {\n return (point2[0] - point1[0]) * (point3[1] - point1[1]) - (point3[0] - point1[0]) * (point2[1] - point1[1]);\n}\n\n// will be included in @turf/invariant\nfunction getGeomType(geojson) {\n return (geojson.geometry) ? geojson.geometry.type : geojson.type;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"images\":\"PremiumMetaData_images_1Ycmk\"};","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar helpers = require('../helpers/index');\nvar scaleService = require('../core/core.scaleService');\nvar Ticks = require('../core/core.ticks');\n\nmodule.exports = function(Chart) {\n\n\tvar defaultConfig = {\n\t\tposition: 'left',\n\t\tticks: {\n\t\t\tcallback: Ticks.formatters.linear\n\t\t}\n\t};\n\n\tvar LinearScale = Chart.LinearScaleBase.extend({\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar chart = me.chart;\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar DEFAULT_MIN = 0;\n\t\t\tvar DEFAULT_MAX = 1;\n\n\t\t\tfunction IDMatches(meta) {\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\n\t\t\t}\n\n\t\t\t// First Calculate the range\n\t\t\tme.min = null;\n\t\t\tme.max = null;\n\n\t\t\tvar hasStacks = opts.stacked;\n\t\t\tif (hasStacks === undefined) {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tif (hasStacks) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\n\t\t\t\t\t\tmeta.stack !== undefined) {\n\t\t\t\t\t\thasStacks = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (opts.stacked || hasStacks) {\n\t\t\t\tvar valuesPerStack = {};\n\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tvar key = [\n\t\t\t\t\t\tmeta.type,\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\n\t\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\n\t\t\t\t\t\tmeta.stack\n\t\t\t\t\t].join('.');\n\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\n\t\t\t\t\t\tvaluesPerStack[key] = {\n\t\t\t\t\t\t\tpositiveValues: [],\n\t\t\t\t\t\t\tnegativeValues: []\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Store these per type\n\t\t\t\t\tvar positiveValues = valuesPerStack[key].positiveValues;\n\t\t\t\t\tvar negativeValues = valuesPerStack[key].negativeValues;\n\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpositiveValues[index] = positiveValues[index] || 0;\n\t\t\t\t\t\t\tnegativeValues[index] = negativeValues[index] || 0;\n\n\t\t\t\t\t\t\tif (opts.relativePoints) {\n\t\t\t\t\t\t\t\tpositiveValues[index] = 100;\n\t\t\t\t\t\t\t} else if (value < 0) {\n\t\t\t\t\t\t\t\tnegativeValues[index] += value;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tpositiveValues[index] += value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\n\t\t\t\t\tvar values = valuesForType.positiveValues.concat(valuesForType.negativeValues);\n\t\t\t\t\tvar minVal = helpers.min(values);\n\t\t\t\t\tvar maxVal = helpers.max(values);\n\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\n\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.min === null) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t} else if (value < me.min) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.max === null) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t} else if (value > me.max) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme.min = isFinite(me.min) && !isNaN(me.min) ? me.min : DEFAULT_MIN;\n\t\t\tme.max = isFinite(me.max) && !isNaN(me.max) ? me.max : DEFAULT_MAX;\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\n\t\t\tthis.handleTickRangeOptions();\n\t\t},\n\t\tgetTickLimit: function() {\n\t\t\tvar maxTicks;\n\t\t\tvar me = this;\n\t\t\tvar tickOpts = me.options.ticks;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.width / 50));\n\t\t\t} else {\n\t\t\t\t// The factor of 2 used to scale the font size has been experimentally determined.\n\t\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize);\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.height / (2 * tickFontSize)));\n\t\t\t}\n\n\t\t\treturn maxTicks;\n\t\t},\n\t\t// Called after the ticks are built. We need\n\t\thandleDirectionalChanges: function() {\n\t\t\tif (!this.isHorizontal()) {\n\t\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\n\t\t\t\tthis.ticks.reverse();\n\t\t\t}\n\t\t},\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\t// Utils\n\t\tgetPixelForValue: function(value) {\n\t\t\t// This must be called after fit has been run so that\n\t\t\t// this.left, this.top, this.right, and this.bottom have been defined\n\t\t\tvar me = this;\n\t\t\tvar start = me.start;\n\n\t\t\tvar rightValue = +me.getRightValue(value);\n\t\t\tvar pixel;\n\t\t\tvar range = me.end - start;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tpixel = me.left + (me.width / range * (rightValue - start));\n\t\t\t} else {\n\t\t\t\tpixel = me.bottom - (me.height / range * (rightValue - start));\n\t\t\t}\n\t\t\treturn pixel;\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar innerDimension = isHorizontal ? me.width : me.height;\n\t\t\tvar offset = (isHorizontal ? pixel - me.left : me.bottom - pixel) / innerDimension;\n\t\t\treturn me.start + ((me.end - me.start) * offset);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.ticksAsNumbers[index]);\n\t\t}\n\t});\n\n\tscaleService.registerScaleType('linear', LinearScale, defaultConfig);\n};\n","//http://en.wikipedia.org/wiki/Haversine_formula\n//http://www.movable-type.co.uk/scripts/latlong.html\nvar getCoord = require('@turf/invariant').getCoord;\nvar helpers = require('@turf/helpers');\nvar point = helpers.point;\nvar distanceToRadians = helpers.distanceToRadians;\n\n/**\n * Takes a {@link Point} and calculates the location of a destination point given a distance in degrees, radians, miles, or kilometers; and bearing in degrees. This uses the [Haversine formula](http://en.wikipedia.org/wiki/Haversine_formula) to account for global curvature.\n *\n * @name destination\n * @param {Geometry|Feature|Array} origin starting point\n * @param {number} distance distance from the origin point\n * @param {number} bearing ranging from -180 to 180\n * @param {string} [units=kilometers] miles, kilometers, degrees, or radians\n * @returns {Feature} destination point\n * @example\n * var point = turf.point([-75.343, 39.984]);\n * var distance = 50;\n * var bearing = 90;\n * var units = 'miles';\n *\n * var destination = turf.destination(point, distance, bearing, units);\n *\n * //addToMap\n * var addToMap = [point, destination]\n * destination.properties['marker-color'] = '#f00';\n * point.properties['marker-color'] = '#0f0';\n */\nmodule.exports = function (origin, distance, bearing, units) {\n var degrees2radians = Math.PI / 180;\n var radians2degrees = 180 / Math.PI;\n var coordinates1 = getCoord(origin);\n var longitude1 = degrees2radians * coordinates1[0];\n var latitude1 = degrees2radians * coordinates1[1];\n var bearing_rad = degrees2radians * bearing;\n\n var radians = distanceToRadians(distance, units);\n\n var latitude2 = Math.asin(Math.sin(latitude1) * Math.cos(radians) +\n Math.cos(latitude1) * Math.sin(radians) * Math.cos(bearing_rad));\n var longitude2 = longitude1 + Math.atan2(Math.sin(bearing_rad) * Math.sin(radians) * Math.cos(latitude1),\n Math.cos(radians) - Math.sin(latitude1) * Math.sin(latitude2));\n\n return point([radians2degrees * longitude2, radians2degrees * latitude2]);\n};\n","var meta = require('@turf/meta');\nvar helpers = require('@turf/helpers');\nvar simplepolygon = require('simplepolygon');\nvar flattenEach = meta.flattenEach;\nvar featureEach = meta.featureEach;\nvar polygon = helpers.polygon;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes a kinked polygon and returns a feature collection of polygons that have no kinks.\n * Uses [simplepolygon](https://github.com/mclaeysb/simplepolygon) internally.\n *\n * @name unkinkPolygon\n * @param {FeatureCollection|Feature} geojson GeoJSON Polygon or MultiPolygon\n * @returns {FeatureCollection} Unkinked polygons\n * @example\n * var poly = turf.polygon([[[0, 0], [2, 0], [0, 2], [2, 2], [0, 0]]]);\n *\n * var result = turf.unkinkPolygon(poly);\n *\n * //addToMap\n * var addToMap = [poly, result]\n */\nmodule.exports = function (geojson) {\n var features = [];\n flattenEach(geojson, function (feature) {\n if (feature.geometry.type !== 'Polygon') return;\n featureEach(simplepolygon(feature), function (poly) {\n features.push(polygon(poly.geometry.coordinates, feature.properties));\n });\n });\n return featureCollection(features);\n};\n","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Geodesy tools for an ellipsoidal earth model (c) Chris Veness 2005-2016 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong-convert-coords.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-latlon-ellipsoidal.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var Vector3d = require('./vector3d.js'); // ≡ import Vector3d from 'vector3d.js'\nif (typeof module!='undefined' && module.exports) var Dms = require('./dms.js'); // ≡ import Dms from 'dms.js'\n\n\n/**\n * Library of geodesy functions for operations on an ellipsoidal earth model.\n *\n * Includes ellipsoid parameters and datums for different coordinate systems, and methods for\n * converting between them and to cartesian coordinates.\n *\n * q.v. Ordnance Survey ‘A guide to coordinate systems in Great Britain’ Section 6\n * www.ordnancesurvey.co.uk/docs/support/guide-coordinate-systems-great-britain.pdf.\n *\n * @module latlon-ellipsoidal\n * @requires dms\n */\n\n\n/**\n * Creates lat/lon (polar) point with latitude & longitude values, on a specified datum.\n *\n * @constructor\n * @param {number} lat - Geodetic latitude in degrees.\n * @param {number} lon - Longitude in degrees.\n * @param {LatLon.datum} [datum=WGS84] - Datum this point is defined within.\n *\n * @example\n * var p1 = new LatLon(51.4778, -0.0016, LatLon.datum.WGS84);\n */\nfunction LatLon(lat, lon, datum) {\n // allow instantiation without 'new'\n if (!(this instanceof LatLon)) return new LatLon(lat, lon, datum);\n\n if (datum === undefined) datum = LatLon.datum.WGS84;\n\n this.lat = Number(lat);\n this.lon = Number(lon);\n this.datum = datum;\n}\n\n\n/**\n * Ellipsoid parameters; major axis (a), minor axis (b), and flattening (f) for each ellipsoid.\n */\nLatLon.ellipsoid = {\n WGS84: { a: 6378137, b: 6356752.314245, f: 1/298.257223563 },\n Airy1830: { a: 6377563.396, b: 6356256.909, f: 1/299.3249646 },\n AiryModified: { a: 6377340.189, b: 6356034.448, f: 1/299.3249646 },\n Bessel1841: { a: 6377397.155, b: 6356078.962818, f: 1/299.1528128 },\n Clarke1866: { a: 6378206.4, b: 6356583.8, f: 1/294.978698214 },\n Clarke1880IGN: { a: 6378249.2, b: 6356515.0, f: 1/293.466021294 },\n GRS80: { a: 6378137, b: 6356752.314140, f: 1/298.257222101 },\n Intl1924: { a: 6378388, b: 6356911.946, f: 1/297 }, // aka Hayford\n WGS72: { a: 6378135, b: 6356750.5, f: 1/298.26 },\n};\n\n/**\n * Datums; with associated ellipsoid, and Helmert transform parameters to convert from WGS 84 into\n * given datum.\n *\n * Note that precision of various datums will vary, and WGS-84 (original) is not defined to be\n * accurate to better than ±1 metre. No transformation should be assumed to be accurate to better\n * than a meter; for many datums somewhat less.\n */\nLatLon.datum = {\n // transforms: t in metres, s in ppm, r in arcseconds tx ty tz s rx ry rz\n ED50: { ellipsoid: LatLon.ellipsoid.Intl1924, transform: [ 89.5, 93.8, 123.1, -1.2, 0.0, 0.0, 0.156 ] },\n Irl1975: { ellipsoid: LatLon.ellipsoid.AiryModified, transform: [ -482.530, 130.596, -564.557, -8.150, -1.042, -0.214, -0.631 ] },\n NAD27: { ellipsoid: LatLon.ellipsoid.Clarke1866, transform: [ 8, -160, -176, 0, 0, 0, 0 ] },\n NAD83: { ellipsoid: LatLon.ellipsoid.GRS80, transform: [ 1.004, -1.910, -0.515, -0.0015, 0.0267, 0.00034, 0.011 ] },\n NTF: { ellipsoid: LatLon.ellipsoid.Clarke1880IGN, transform: [ 168, 60, -320, 0, 0, 0, 0 ] },\n OSGB36: { ellipsoid: LatLon.ellipsoid.Airy1830, transform: [ -446.448, 125.157, -542.060, 20.4894, -0.1502, -0.2470, -0.8421 ] },\n Potsdam: { ellipsoid: LatLon.ellipsoid.Bessel1841, transform: [ -582, -105, -414, -8.3, 1.04, 0.35, -3.08 ] },\n TokyoJapan: { ellipsoid: LatLon.ellipsoid.Bessel1841, transform: [ 148, -507, -685, 0, 0, 0, 0 ] },\n WGS72: { ellipsoid: LatLon.ellipsoid.WGS72, transform: [ 0, 0, -4.5, -0.22, 0, 0, 0.554 ] },\n WGS84: { ellipsoid: LatLon.ellipsoid.WGS84, transform: [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] },\n};\n/* sources:\n * - ED50: www.gov.uk/guidance/oil-and-gas-petroleum-operations-notices#pon-4\n * - Irl1975: www.osi.ie/wp-content/uploads/2015/05/transformations_booklet.pdf\n * ... note: many sources have opposite sign to rotations - to be checked!\n * - NAD27: en.wikipedia.org/wiki/Helmert_transformation\n * - NAD83: (2009); www.uvm.edu/giv/resources/WGS84_NAD83.pdf\n * ... note: functionally ≡ WGS84 - if you *really* need to convert WGS84<->NAD83, you need more knowledge than this!\n * - NTF: Nouvelle Triangulation Francaise geodesie.ign.fr/contenu/fichiers/Changement_systeme_geodesique.pdf\n * - OSGB36: www.ordnancesurvey.co.uk/docs/support/guide-coordinate-systems-great-britain.pdf\n * - Potsdam: kartoweb.itc.nl/geometrics/Coordinate%20transformations/coordtrans.html\n * - TokyoJapan: www.geocachingtoolbox.com?page=datumEllipsoidDetails\n * - WGS72: www.icao.int/safety/pbn/documentation/eurocontrol/eurocontrol wgs 84 implementation manual.pdf\n *\n * more transform parameters are available from earth-info.nga.mil/GandG/coordsys/datums/NATO_DT.pdf,\n * www.fieldenmaps.info/cconv/web/cconv_params.js\n */\n\n\n/**\n * Converts ‘this’ lat/lon coordinate to new coordinate system.\n *\n * @param {LatLon.datum} toDatum - Datum this coordinate is to be converted to.\n * @returns {LatLon} This point converted to new datum.\n *\n * @example\n * var pWGS84 = new LatLon(51.4778, -0.0016, LatLon.datum.WGS84);\n * var pOSGB = pWGS84.convertDatum(LatLon.datum.OSGB36); // 51.4773°N, 000.0000°E\n */\nLatLon.prototype.convertDatum = function(toDatum) {\n var oldLatLon = this;\n var transform = null;\n\n if (oldLatLon.datum == LatLon.datum.WGS84) {\n // converting from WGS 84\n transform = toDatum.transform;\n }\n if (toDatum == LatLon.datum.WGS84) {\n // converting to WGS 84; use inverse transform (don't overwrite original!)\n transform = [];\n for (var p=0; p<7; p++) transform[p] = -oldLatLon.datum.transform[p];\n }\n if (transform == null) {\n // neither this.datum nor toDatum are WGS84: convert this to WGS84 first\n oldLatLon = this.convertDatum(LatLon.datum.WGS84);\n transform = toDatum.transform;\n }\n\n var oldCartesian = oldLatLon.toCartesian(); // convert polar to cartesian...\n var newCartesian = oldCartesian.applyTransform(transform); // ...apply transform...\n var newLatLon = newCartesian.toLatLonE(toDatum); // ...and convert cartesian to polar\n\n return newLatLon;\n};\n\n\n/**\n * Converts ‘this’ point from (geodetic) latitude/longitude coordinates to (geocentric) cartesian\n * (x/y/z) coordinates.\n *\n * @returns {Vector3d} Vector pointing to lat/lon point, with x, y, z in metres from earth centre.\n */\nLatLon.prototype.toCartesian = function() {\n var φ = this.lat.toRadians(), λ = this.lon.toRadians();\n var h = 0; // height above ellipsoid - not currently used\n var a = this.datum.ellipsoid.a, f = this.datum.ellipsoid.f;\n\n var sinφ = Math.sin(φ), cosφ = Math.cos(φ);\n var sinλ = Math.sin(λ), cosλ = Math.cos(λ);\n\n var eSq = 2*f - f*f; // 1st eccentricity squared ≡ (a²-b²)/a²\n var ν = a / Math.sqrt(1 - eSq*sinφ*sinφ); // radius of curvature in prime vertical\n\n var x = (ν+h) * cosφ * cosλ;\n var y = (ν+h) * cosφ * sinλ;\n var z = (ν*(1-eSq)+h) * sinφ;\n\n var point = new Vector3d(x, y, z);\n\n return point;\n};\n\n\n/**\n * Converts ‘this’ (geocentric) cartesian (x/y/z) point to (ellipsoidal geodetic) latitude/longitude\n * coordinates on specified datum.\n *\n * Uses Bowring’s (1985) formulation for μm precision in concise form.\n *\n * @param {LatLon.datum.transform} datum - Datum to use when converting point.\n */\nVector3d.prototype.toLatLonE = function(datum) {\n var x = this.x, y = this.y, z = this.z;\n var a = datum.ellipsoid.a, b = datum.ellipsoid.b, f = datum.ellipsoid.f;\n\n var e2 = 2*f - f*f; // 1st eccentricity squared ≡ (a²-b²)/a²\n var ε2 = e2 / (1-e2); // 2nd eccentricity squared ≡ (a²-b²)/b²\n var p = Math.sqrt(x*x + y*y); // distance from minor axis\n var R = Math.sqrt(p*p + z*z); // polar radius\n\n // parametric latitude (Bowring eqn 17, replacing tanβ = z·a / p·b)\n var tanβ = (b*z)/(a*p) * (1+ε2*b/R);\n var sinβ = tanβ / Math.sqrt(1+tanβ*tanβ);\n var cosβ = sinβ / tanβ;\n\n // geodetic latitude (Bowring eqn 18: tanφ = z+ε²bsin³β / p−e²cos³β)\n var φ = isNaN(cosβ) ? 0 : Math.atan2(z + ε2*b*sinβ*sinβ*sinβ, p - e2*a*cosβ*cosβ*cosβ);\n\n // longitude\n var λ = Math.atan2(y, x);\n\n // height above ellipsoid (Bowring eqn 7) [not currently used]\n var sinφ = Math.sin(φ), cosφ = Math.cos(φ);\n var ν = a/Math.sqrt(1-e2*sinφ*sinφ); // length of the normal terminated by the minor axis\n var h = p*cosφ + z*sinφ - (a*a/ν);\n\n var point = new LatLon(φ.toDegrees(), λ.toDegrees(), datum);\n\n return point;\n};\n\n/**\n * Applies Helmert transform to ‘this’ point using transform parameters t.\n *\n * @private\n * @param {number[]} t - Transform to apply to this point.\n * @returns {Vector3} Transformed point.\n */\nVector3d.prototype.applyTransform = function(t) {\n // this point\n var x1 = this.x, y1 = this.y, z1 = this.z;\n\n // transform parameters\n var tx = t[0]; // x-shift\n var ty = t[1]; // y-shift\n var tz = t[2]; // z-shift\n var s1 = t[3]/1e6 + 1; // scale: normalise parts-per-million to (s+1)\n var rx = (t[4]/3600).toRadians(); // x-rotation: normalise arcseconds to radians\n var ry = (t[5]/3600).toRadians(); // y-rotation: normalise arcseconds to radians\n var rz = (t[6]/3600).toRadians(); // z-rotation: normalise arcseconds to radians\n\n // apply transform\n var x2 = tx + x1*s1 - y1*rz + z1*ry;\n var y2 = ty + x1*rz + y1*s1 - z1*rx;\n var z2 = tz - x1*ry + y1*rx + z1*s1;\n\n return new Vector3d(x2, y2, z2);\n};\n\n\n/**\n * Returns a string representation of ‘this’ point, formatted as degrees, degrees+minutes, or\n * degrees+minutes+seconds.\n *\n * @param {string} [format=dms] - Format point as 'd', 'dm', 'dms'.\n * @param {number} [dp=0|2|4] - Number of decimal places to use - default 0 for dms, 2 for dm, 4 for d.\n * @returns {string} Comma-separated latitude/longitude.\n */\nLatLon.prototype.toString = function(format, dp) {\n return Dms.toLat(this.lat, format, dp) + ', ' + Dms.toLon(this.lon, format, dp);\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n/** Extend Number object with method to convert numeric degrees to radians */\nif (Number.prototype.toRadians === undefined) {\n Number.prototype.toRadians = function() { return this * Math.PI / 180; };\n}\n\n/** Extend Number object with method to convert radians to numeric (signed) degrees */\nif (Number.prototype.toDegrees === undefined) {\n Number.prototype.toDegrees = function() { return this * 180 / Math.PI; };\n}\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = LatLon, module.exports.Vector3d = Vector3d; // ≡ export { LatLon as default, Vector3d }\n","'use strict';\n\nvar helpers = require('../helpers/index');\nvar Scale = require('../core/core.scale');\nvar scaleService = require('../core/core.scaleService');\nvar Ticks = require('../core/core.ticks');\n\n/**\n * Generate a set of logarithmic ticks\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {Array} array of tick values\n */\nfunction generateTicks(generationOptions, dataRange) {\n\tvar ticks = [];\n\tvar valueOrDefault = helpers.valueOrDefault;\n\n\t// Figure out what the max number of ticks we can support it is based on the size of\n\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\n\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n\t// the graph\n\tvar tickVal = valueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));\n\n\tvar endExp = Math.floor(helpers.log10(dataRange.max));\n\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n\tvar exp, significand;\n\n\tif (tickVal === 0) {\n\t\texp = Math.floor(helpers.log10(dataRange.minNotZero));\n\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\n\n\t\tticks.push(tickVal);\n\t\ttickVal = significand * Math.pow(10, exp);\n\t} else {\n\t\texp = Math.floor(helpers.log10(tickVal));\n\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\n\t}\n\tvar precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n\n\tdo {\n\t\tticks.push(tickVal);\n\n\t\t++significand;\n\t\tif (significand === 10) {\n\t\t\tsignificand = 1;\n\t\t\t++exp;\n\t\t\tprecision = exp >= 0 ? 1 : precision;\n\t\t}\n\n\t\ttickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n\t} while (exp < endExp || (exp === endExp && significand < endSignificand));\n\n\tvar lastTick = valueOrDefault(generationOptions.max, tickVal);\n\tticks.push(lastTick);\n\n\treturn ticks;\n}\n\n\nmodule.exports = function(Chart) {\n\n\tvar defaultConfig = {\n\t\tposition: 'left',\n\n\t\t// label settings\n\t\tticks: {\n\t\t\tcallback: Ticks.formatters.logarithmic\n\t\t}\n\t};\n\n\tvar LogarithmicScale = Scale.extend({\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar chart = me.chart;\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tfunction IDMatches(meta) {\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\n\t\t\t}\n\n\t\t\t// Calculate Range\n\t\t\tme.min = null;\n\t\t\tme.max = null;\n\t\t\tme.minNotZero = null;\n\n\t\t\tvar hasStacks = opts.stacked;\n\t\t\tif (hasStacks === undefined) {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tif (hasStacks) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\n\t\t\t\t\t\tmeta.stack !== undefined) {\n\t\t\t\t\t\thasStacks = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (opts.stacked || hasStacks) {\n\t\t\t\tvar valuesPerStack = {};\n\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tvar key = [\n\t\t\t\t\t\tmeta.type,\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\n\t\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\n\t\t\t\t\t\tmeta.stack\n\t\t\t\t\t].join('.');\n\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\tif (valuesPerStack[key] === undefined) {\n\t\t\t\t\t\t\tvaluesPerStack[key] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar values = valuesPerStack[key];\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\t// invalid, hidden and negative values are ignored\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden || value < 0) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalues[index] = values[index] || 0;\n\t\t\t\t\t\t\tvalues[index] += value;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\n\t\t\t\t\tif (valuesForType.length > 0) {\n\t\t\t\t\t\tvar minVal = helpers.min(valuesForType);\n\t\t\t\t\t\tvar maxVal = helpers.max(valuesForType);\n\t\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\n\t\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\t// invalid, hidden and negative values are ignored\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden || value < 0) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.min === null) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t} else if (value < me.min) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.max === null) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t} else if (value > me.max) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (value !== 0 && (me.minNotZero === null || value < me.minNotZero)) {\n\t\t\t\t\t\t\t\tme.minNotZero = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max\n\t\t\tthis.handleTickRangeOptions();\n\t\t},\n\t\thandleTickRangeOptions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\t\tvar DEFAULT_MIN = 1;\n\t\t\tvar DEFAULT_MAX = 10;\n\n\t\t\tme.min = valueOrDefault(tickOpts.min, me.min);\n\t\t\tme.max = valueOrDefault(tickOpts.max, me.max);\n\n\t\t\tif (me.min === me.max) {\n\t\t\t\tif (me.min !== 0 && me.min !== null) {\n\t\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.min)) - 1);\n\t\t\t\t\tme.max = Math.pow(10, Math.floor(helpers.log10(me.max)) + 1);\n\t\t\t\t} else {\n\t\t\t\t\tme.min = DEFAULT_MIN;\n\t\t\t\t\tme.max = DEFAULT_MAX;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (me.min === null) {\n\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.max)) - 1);\n\t\t\t}\n\t\t\tif (me.max === null) {\n\t\t\t\tme.max = me.min !== 0\n\t\t\t\t\t? Math.pow(10, Math.floor(helpers.log10(me.min)) + 1)\n\t\t\t\t\t: DEFAULT_MAX;\n\t\t\t}\n\t\t\tif (me.minNotZero === null) {\n\t\t\t\tif (me.min > 0) {\n\t\t\t\t\tme.minNotZero = me.min;\n\t\t\t\t} else if (me.max < 1) {\n\t\t\t\t\tme.minNotZero = Math.pow(10, Math.floor(helpers.log10(me.max)));\n\t\t\t\t} else {\n\t\t\t\t\tme.minNotZero = DEFAULT_MIN;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar reverse = !me.isHorizontal();\n\n\t\t\tvar generationOptions = {\n\t\t\t\tmin: tickOpts.min,\n\t\t\t\tmax: tickOpts.max\n\t\t\t};\n\t\t\tvar ticks = me.ticks = generateTicks(generationOptions, me);\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(ticks);\n\t\t\tme.min = helpers.min(ticks);\n\n\t\t\tif (tickOpts.reverse) {\n\t\t\t\treverse = !reverse;\n\t\t\t\tme.start = me.max;\n\t\t\t\tme.end = me.min;\n\t\t\t} else {\n\t\t\t\tme.start = me.min;\n\t\t\t\tme.end = me.max;\n\t\t\t}\n\t\t\tif (reverse) {\n\t\t\t\tticks.reverse();\n\t\t\t}\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tthis.tickValues = this.ticks.slice();\n\n\t\t\tScale.prototype.convertTicksToLabels.call(this);\n\t\t},\n\t\t// Get the correct tooltip label\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.tickValues[index]);\n\t\t},\n\t\t/**\n\t\t * Returns the value of the first tick.\n\t\t * @param {Number} value - The minimum not zero value.\n\t\t * @return {Number} The first tick value.\n\t\t * @private\n\t\t */\n\t\t_getFirstTickValue: function(value) {\n\t\t\tvar exp = Math.floor(helpers.log10(value));\n\t\t\tvar significand = Math.floor(value / Math.pow(10, exp));\n\n\t\t\treturn significand * Math.pow(10, exp);\n\t\t},\n\t\tgetPixelForValue: function(value) {\n\t\t\tvar me = this;\n\t\t\tvar reverse = me.options.ticks.reverse;\n\t\t\tvar log10 = helpers.log10;\n\t\t\tvar firstTickValue = me._getFirstTickValue(me.minNotZero);\n\t\t\tvar offset = 0;\n\t\t\tvar innerDimension, pixel, start, end, sign;\n\n\t\t\tvalue = +me.getRightValue(value);\n\t\t\tif (reverse) {\n\t\t\t\tstart = me.end;\n\t\t\t\tend = me.start;\n\t\t\t\tsign = -1;\n\t\t\t} else {\n\t\t\t\tstart = me.start;\n\t\t\t\tend = me.end;\n\t\t\t\tsign = 1;\n\t\t\t}\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tinnerDimension = me.width;\n\t\t\t\tpixel = reverse ? me.right : me.left;\n\t\t\t} else {\n\t\t\t\tinnerDimension = me.height;\n\t\t\t\tsign *= -1; // invert, since the upper-left corner of the canvas is at pixel (0, 0)\n\t\t\t\tpixel = reverse ? me.top : me.bottom;\n\t\t\t}\n\t\t\tif (value !== start) {\n\t\t\t\tif (start === 0) { // include zero tick\n\t\t\t\t\toffset = helpers.getValueOrDefault(\n\t\t\t\t\t\tme.options.ticks.fontSize,\n\t\t\t\t\t\tChart.defaults.global.defaultFontSize\n\t\t\t\t\t);\n\t\t\t\t\tinnerDimension -= offset;\n\t\t\t\t\tstart = firstTickValue;\n\t\t\t\t}\n\t\t\t\tif (value !== 0) {\n\t\t\t\t\toffset += innerDimension / (log10(end) - log10(start)) * (log10(value) - log10(start));\n\t\t\t\t}\n\t\t\t\tpixel += sign * offset;\n\t\t\t}\n\t\t\treturn pixel;\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar reverse = me.options.ticks.reverse;\n\t\t\tvar log10 = helpers.log10;\n\t\t\tvar firstTickValue = me._getFirstTickValue(me.minNotZero);\n\t\t\tvar innerDimension, start, end, value;\n\n\t\t\tif (reverse) {\n\t\t\t\tstart = me.end;\n\t\t\t\tend = me.start;\n\t\t\t} else {\n\t\t\t\tstart = me.start;\n\t\t\t\tend = me.end;\n\t\t\t}\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tinnerDimension = me.width;\n\t\t\t\tvalue = reverse ? me.right - pixel : pixel - me.left;\n\t\t\t} else {\n\t\t\t\tinnerDimension = me.height;\n\t\t\t\tvalue = reverse ? pixel - me.top : me.bottom - pixel;\n\t\t\t}\n\t\t\tif (value !== start) {\n\t\t\t\tif (start === 0) { // include zero tick\n\t\t\t\t\tvar offset = helpers.getValueOrDefault(\n\t\t\t\t\t\tme.options.ticks.fontSize,\n\t\t\t\t\t\tChart.defaults.global.defaultFontSize\n\t\t\t\t\t);\n\t\t\t\t\tvalue -= offset;\n\t\t\t\t\tinnerDimension -= offset;\n\t\t\t\t\tstart = firstTickValue;\n\t\t\t\t}\n\t\t\t\tvalue *= log10(end) - log10(start);\n\t\t\t\tvalue /= innerDimension;\n\t\t\t\tvalue = Math.pow(10, log10(start) + value);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t});\n\n\tscaleService.registerScaleType('logarithmic', LogarithmicScale, defaultConfig);\n};\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('bar', {\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\n\t\t\t// Specific to Bar Controller\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9,\n\n\t\t\t// offset settings\n\t\t\toffset: true,\n\n\t\t\t// grid line settings\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\ttype: 'linear'\n\t\t}]\n\t}\n});\n\ndefaults._set('horizontalBar', {\n\thover: {\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'bottom'\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\tposition: 'left',\n\t\t\ttype: 'category',\n\n\t\t\t// Specific to Horizontal Bar Controller\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9,\n\n\t\t\t// offset settings\n\t\t\toffset: true,\n\n\t\t\t// grid line settings\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}]\n\t},\n\n\telements: {\n\t\trectangle: {\n\t\t\tborderSkipped: 'left'\n\t\t}\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function(item, data) {\n\t\t\t\t// Pick first xLabel for now\n\t\t\t\tvar title = '';\n\n\t\t\t\tif (item.length > 0) {\n\t\t\t\t\tif (item[0].yLabel) {\n\t\t\t\t\t\ttitle = item[0].yLabel;\n\t\t\t\t\t} else if (data.labels.length > 0 && item[0].index < data.labels.length) {\n\t\t\t\t\t\ttitle = data.labels[item[0].index];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn title;\n\t\t\t},\n\n\t\t\tlabel: function(item, data) {\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\n\t\t\t\treturn datasetLabel + ': ' + item.xLabel;\n\t\t\t}\n\t\t},\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t}\n});\n\n/**\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\n * @private\n */\nfunction computeMinSampleSize(scale, pixels) {\n\tvar min = scale.isHorizontal() ? scale.width : scale.height;\n\tvar ticks = scale.getTicks();\n\tvar prev, curr, i, ilen;\n\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\n\t\tmin = Math.min(min, pixels[i] - pixels[i - 1]);\n\t}\n\n\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\n\t\tcurr = scale.getPixelForTick(i);\n\t\tmin = i > 0 ? Math.min(min, curr - prev) : min;\n\t\tprev = curr;\n\t}\n\n\treturn min;\n}\n\n/**\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\n * @private\n */\nfunction computeFitCategoryTraits(index, ruler, options) {\n\tvar thickness = options.barThickness;\n\tvar count = ruler.stackCount;\n\tvar curr = ruler.pixels[index];\n\tvar size, ratio;\n\n\tif (helpers.isNullOrUndef(thickness)) {\n\t\tsize = ruler.min * options.categoryPercentage;\n\t\tratio = options.barPercentage;\n\t} else {\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\n\t\tsize = thickness * count;\n\t\tratio = 1;\n\t}\n\n\treturn {\n\t\tchunk: size / count,\n\t\tratio: ratio,\n\t\tstart: curr - (size / 2)\n\t};\n}\n\n/**\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\n * percentage options are 1), based on the previous and following categories. This mode\n * generates bars with different widths when data are not evenly spaced.\n * @private\n */\nfunction computeFlexCategoryTraits(index, ruler, options) {\n\tvar pixels = ruler.pixels;\n\tvar curr = pixels[index];\n\tvar prev = index > 0 ? pixels[index - 1] : null;\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\n\tvar percent = options.categoryPercentage;\n\tvar start, size;\n\n\tif (prev === null) {\n\t\t// first data: its size is double based on the next point or,\n\t\t// if it's also the last data, we use the scale end extremity.\n\t\tprev = curr - (next === null ? ruler.end - curr : next - curr);\n\t}\n\n\tif (next === null) {\n\t\t// last data: its size is also double based on the previous point.\n\t\tnext = curr + curr - prev;\n\t}\n\n\tstart = curr - ((curr - prev) / 2) * percent;\n\tsize = ((next - prev) / 2) * percent;\n\n\treturn {\n\t\tchunk: size / ruler.stackCount,\n\t\tratio: options.barPercentage,\n\t\tstart: start\n\t};\n}\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.bar = Chart.DatasetController.extend({\n\n\t\tdataElementType: elements.Rectangle,\n\n\t\tinitialize: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta;\n\n\t\t\tChart.DatasetController.prototype.initialize.apply(me, arguments);\n\n\t\t\tmeta = me.getMeta();\n\t\t\tmeta.stack = me.getDataset().stack;\n\t\t\tmeta.bar = true;\n\t\t},\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar rects = me.getMeta().data;\n\t\t\tvar i, ilen;\n\n\t\t\tme._ruler = me.getRuler();\n\n\t\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\n\t\t\t\tme.updateElement(rects[i], i, reset);\n\t\t\t}\n\t\t},\n\n\t\tupdateElement: function(rectangle, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar rectangleOptions = chart.options.elements.rectangle;\n\n\t\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\n\t\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\n\t\t\trectangle._datasetIndex = me.index;\n\t\t\trectangle._index = index;\n\n\t\t\trectangle._model = {\n\t\t\t\tdatasetLabel: dataset.label,\n\t\t\t\tlabel: chart.data.labels[index],\n\t\t\t\tborderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleOptions.borderSkipped,\n\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleOptions.backgroundColor),\n\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleOptions.borderColor),\n\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleOptions.borderWidth)\n\t\t\t};\n\n\t\t\tme.updateElementGeometry(rectangle, index, reset);\n\n\t\t\trectangle.pivot();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tupdateElementGeometry: function(rectangle, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar model = rectangle._model;\n\t\t\tvar vscale = me.getValueScale();\n\t\t\tvar base = vscale.getBasePixel();\n\t\t\tvar horizontal = vscale.isHorizontal();\n\t\t\tvar ruler = me._ruler || me.getRuler();\n\t\t\tvar vpixels = me.calculateBarValuePixels(me.index, index);\n\t\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler);\n\n\t\t\tmodel.horizontal = horizontal;\n\t\t\tmodel.base = reset ? base : vpixels.base;\n\t\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\n\t\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\n\t\t\tmodel.height = horizontal ? ipixels.size : undefined;\n\t\t\tmodel.width = horizontal ? undefined : ipixels.size;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScaleId: function() {\n\t\t\treturn this.getMeta().yAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScaleId: function() {\n\t\t\treturn this.getMeta().xAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScale: function() {\n\t\t\treturn this.getScaleForId(this.getValueScaleId());\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScale: function() {\n\t\t\treturn this.getScaleForId(this.getIndexScaleId());\n\t\t},\n\n\t\t/**\n\t\t * Returns the stacks based on groups and bar visibility.\n\t\t * @param {Number} [last] - The dataset index\n\t\t * @returns {Array} The stack list\n\t\t * @private\n\t\t */\n\t\t_getStacks: function(last) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar scale = me.getIndexScale();\n\t\t\tvar stacked = scale.options.stacked;\n\t\t\tvar ilen = last === undefined ? chart.data.datasets.length : last + 1;\n\t\t\tvar stacks = [];\n\t\t\tvar i, meta;\n\n\t\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tif (meta.bar && chart.isDatasetVisible(i) &&\n\t\t\t\t\t(stacked === false ||\n\t\t\t\t\t(stacked === true && stacks.indexOf(meta.stack) === -1) ||\n\t\t\t\t\t(stacked === undefined && (meta.stack === undefined || stacks.indexOf(meta.stack) === -1)))) {\n\t\t\t\t\tstacks.push(meta.stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stacks;\n\t\t},\n\n\t\t/**\n\t\t * Returns the effective number of stacks based on groups and bar visibility.\n\t\t * @private\n\t\t */\n\t\tgetStackCount: function() {\n\t\t\treturn this._getStacks().length;\n\t\t},\n\n\t\t/**\n\t\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t\t * @param {Number} [datasetIndex] - The dataset index\n\t\t * @param {String} [name] - The stack name to find\n\t\t * @returns {Number} The stack index\n\t\t * @private\n\t\t */\n\t\tgetStackIndex: function(datasetIndex, name) {\n\t\t\tvar stacks = this._getStacks(datasetIndex);\n\t\t\tvar index = (name !== undefined)\n\t\t\t\t? stacks.indexOf(name)\n\t\t\t\t: -1; // indexOf returns -1 if element is not present\n\n\t\t\treturn (index === -1)\n\t\t\t\t? stacks.length - 1\n\t\t\t\t: index;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetRuler: function() {\n\t\t\tvar me = this;\n\t\t\tvar scale = me.getIndexScale();\n\t\t\tvar stackCount = me.getStackCount();\n\t\t\tvar datasetIndex = me.index;\n\t\t\tvar isHorizontal = scale.isHorizontal();\n\t\t\tvar start = isHorizontal ? scale.left : scale.top;\n\t\t\tvar end = start + (isHorizontal ? scale.width : scale.height);\n\t\t\tvar pixels = [];\n\t\t\tvar i, ilen, min;\n\n\t\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\n\t\t\t\tpixels.push(scale.getPixelForValue(null, i, datasetIndex));\n\t\t\t}\n\n\t\t\tmin = helpers.isNullOrUndef(scale.options.barThickness)\n\t\t\t\t? computeMinSampleSize(scale, pixels)\n\t\t\t\t: -1;\n\n\t\t\treturn {\n\t\t\t\tmin: min,\n\t\t\t\tpixels: pixels,\n\t\t\t\tstart: start,\n\t\t\t\tend: end,\n\t\t\t\tstackCount: stackCount,\n\t\t\t\tscale: scale\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Note: pixel values are not clamped to the scale area.\n\t\t * @private\n\t\t */\n\t\tcalculateBarValuePixels: function(datasetIndex, index) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar scale = me.getValueScale();\n\t\t\tvar datasets = chart.data.datasets;\n\t\t\tvar value = scale.getRightValue(datasets[datasetIndex].data[index]);\n\t\t\tvar stacked = scale.options.stacked;\n\t\t\tvar stack = meta.stack;\n\t\t\tvar start = 0;\n\t\t\tvar i, imeta, ivalue, base, head, size;\n\n\t\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\n\t\t\t\tfor (i = 0; i < datasetIndex; ++i) {\n\t\t\t\t\timeta = chart.getDatasetMeta(i);\n\n\t\t\t\t\tif (imeta.bar &&\n\t\t\t\t\t\timeta.stack === stack &&\n\t\t\t\t\t\timeta.controller.getValueScaleId() === scale.id &&\n\t\t\t\t\t\tchart.isDatasetVisible(i)) {\n\n\t\t\t\t\t\tivalue = scale.getRightValue(datasets[i].data[index]);\n\t\t\t\t\t\tif ((value < 0 && ivalue < 0) || (value >= 0 && ivalue > 0)) {\n\t\t\t\t\t\t\tstart += ivalue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbase = scale.getPixelForValue(start);\n\t\t\thead = scale.getPixelForValue(start + value);\n\t\t\tsize = (head - base) / 2;\n\n\t\t\treturn {\n\t\t\t\tsize: size,\n\t\t\t\tbase: base,\n\t\t\t\thead: head,\n\t\t\t\tcenter: head + size / 2\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tcalculateBarIndexPixels: function(datasetIndex, index, ruler) {\n\t\t\tvar me = this;\n\t\t\tvar options = ruler.scale.options;\n\t\t\tvar range = options.barThickness === 'flex'\n\t\t\t\t? computeFlexCategoryTraits(index, ruler, options)\n\t\t\t\t: computeFitCategoryTraits(index, ruler, options);\n\n\t\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\n\t\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n\t\t\tvar size = Math.min(\n\t\t\t\thelpers.valueOrDefault(options.maxBarThickness, Infinity),\n\t\t\t\trange.chunk * range.ratio);\n\n\t\t\treturn {\n\t\t\t\tbase: center - size / 2,\n\t\t\t\thead: center + size / 2,\n\t\t\t\tcenter: center,\n\t\t\t\tsize: size\n\t\t\t};\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar scale = me.getValueScale();\n\t\t\tvar rects = me.getMeta().data;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar ilen = rects.length;\n\t\t\tvar i = 0;\n\n\t\t\thelpers.canvas.clipArea(chart.ctx, chart.chartArea);\n\n\t\t\tfor (; i < ilen; ++i) {\n\t\t\t\tif (!isNaN(scale.getRightValue(dataset.data[i]))) {\n\t\t\t\t\trects[i].draw();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\n\t\t},\n\t});\n\n\tChart.controllers.horizontalBar = Chart.controllers.bar.extend({\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScaleId: function() {\n\t\t\treturn this.getMeta().xAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScaleId: function() {\n\t\t\treturn this.getMeta().yAxisID;\n\t\t}\n\t});\n};\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationMapDetails.vue?vue&type=style&index=0&id=c5bf1f68&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationMapDetails.vue?vue&type=style&index=0&id=c5bf1f68&lang=scss&scoped=true&\"","module.exports.RADIUS = 6378137;\nmodule.exports.FLATTENING = 1/298.257223563;\nmodule.exports.POLAR_RADIUS = 6356752.3142;\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoPopover.vue?vue&type=style&index=0&id=357a6dc3&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoPopover.vue?vue&type=style&index=0&id=357a6dc3&lang=scss&scoped=true&\"","/**\n * @module ol/Image\n */\nimport ImageBase from './ImageBase.js';\nimport ImageState from './ImageState.js';\nimport {listenOnce, unlistenByKey} from './events.js';\nimport EventType from './events/EventType.js';\nimport {getHeight} from './extent.js';\n\n\n/**\n * A function that takes an {@link module:ol/Image~Image} for the image and a\n * `{string}` for the src as arguments. It is supposed to make it so the\n * underlying image {@link module:ol/Image~Image#getImage} is assigned the\n * content specified by the src. If not specified, the default is\n *\n * function(image, src) {\n * image.getImage().src = src;\n * }\n *\n * Providing a custom `imageLoadFunction` can be useful to load images with\n * post requests or - in general - through XHR requests, where the src of the\n * image element would be set to a data URI when the content is loaded.\n *\n * @typedef {function(ImageWrapper, string)} LoadFunction\n * @api\n */\n\n\nvar ImageWrapper = /*@__PURE__*/(function (ImageBase) {\n function ImageWrapper(extent, resolution, pixelRatio, src, crossOrigin, imageLoadFunction) {\n\n ImageBase.call(this, extent, resolution, pixelRatio, ImageState.IDLE);\n\n /**\n * @private\n * @type {string}\n */\n this.src_ = src;\n\n /**\n * @private\n * @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement}\n */\n this.image_ = new Image();\n if (crossOrigin !== null) {\n this.image_.crossOrigin = crossOrigin;\n }\n\n /**\n * @private\n * @type {Array}\n */\n this.imageListenerKeys_ = null;\n\n /**\n * @protected\n * @type {ImageState}\n */\n this.state = ImageState.IDLE;\n\n /**\n * @private\n * @type {LoadFunction}\n */\n this.imageLoadFunction_ = imageLoadFunction;\n\n }\n\n if ( ImageBase ) ImageWrapper.__proto__ = ImageBase;\n ImageWrapper.prototype = Object.create( ImageBase && ImageBase.prototype );\n ImageWrapper.prototype.constructor = ImageWrapper;\n\n /**\n * @inheritDoc\n * @api\n */\n ImageWrapper.prototype.getImage = function getImage () {\n return this.image_;\n };\n\n /**\n * Tracks loading or read errors.\n *\n * @private\n */\n ImageWrapper.prototype.handleImageError_ = function handleImageError_ () {\n this.state = ImageState.ERROR;\n this.unlistenImage_();\n this.changed();\n };\n\n /**\n * Tracks successful image load.\n *\n * @private\n */\n ImageWrapper.prototype.handleImageLoad_ = function handleImageLoad_ () {\n if (this.resolution === undefined) {\n this.resolution = getHeight(this.extent) / this.image_.height;\n }\n this.state = ImageState.LOADED;\n this.unlistenImage_();\n this.changed();\n };\n\n /**\n * Load the image or retry if loading previously failed.\n * Loading is taken care of by the tile queue, and calling this method is\n * only needed for preloading or for reloading in case of an error.\n * @override\n * @api\n */\n ImageWrapper.prototype.load = function load () {\n if (this.state == ImageState.IDLE || this.state == ImageState.ERROR) {\n this.state = ImageState.LOADING;\n this.changed();\n this.imageListenerKeys_ = [\n listenOnce(this.image_, EventType.ERROR,\n this.handleImageError_, this),\n listenOnce(this.image_, EventType.LOAD,\n this.handleImageLoad_, this)\n ];\n this.imageLoadFunction_(this, this.src_);\n }\n };\n\n /**\n * @param {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} image Image.\n */\n ImageWrapper.prototype.setImage = function setImage (image) {\n this.image_ = image;\n };\n\n /**\n * Discards event handlers which listen for load completion or errors.\n *\n * @private\n */\n ImageWrapper.prototype.unlistenImage_ = function unlistenImage_ () {\n this.imageListenerKeys_.forEach(unlistenByKey);\n this.imageListenerKeys_ = null;\n };\n\n return ImageWrapper;\n}(ImageBase));\n\n\nexport default ImageWrapper;\n\n//# sourceMappingURL=Image.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BsModal',{attrs:{\"name\":\"Box\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.osb.createTask\")])]},proxy:true},{key:\"footer\",fn:function(){return [_c('IxButton',{attrs:{\"cancel\":\"\",\"large\":\"\"},on:{\"click\":function($event){_vm.modelProxy = false}}}),_c('IxButton',{attrs:{\"large\":\"\",\"save\":\"\"},on:{\"click\":function($event){return _vm.tryCreateTask()}}},[_c('IxRes',[_vm._v(\"osb.createTask\")])],1)]},proxy:true}]),model:{value:(_vm.modelProxy),callback:function ($$v) {_vm.modelProxy=$$v},expression:\"modelProxy\"}},[(_vm.boxOptions)?_c('VueSelectize',{attrs:{\"options\":_vm.boxOptions,\"default\":_vm.boxOptions[0],\"allow-empty\":\"\",\"required\":\"\",\"name\":\"boxOptions\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.osb.box\")])]},proxy:true}],null,false,470881768),model:{value:(_vm.selectedBox),callback:function ($$v) {_vm.selectedBox=$$v},expression:\"selectedBox\"}}):_vm._e(),_c('TextInput',{attrs:{\"name\":\"name\",\"required\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.osb.name\")])]},proxy:true}]),model:{value:(_vm.task.name),callback:function ($$v) {_vm.$set(_vm.task, \"name\", $$v)},expression:\"task.name\"}}),_c('TextInput',{attrs:{\"multiline\":\"\",\"rows\":_vm.rows,\"name\":\"description\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.osb.description\")])]},proxy:true}]),model:{value:(_vm.task.description),callback:function ($$v) {_vm.$set(_vm.task, \"description\", $$v)},expression:\"task.description\"}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('VueDateTimePicker',{key:'validFromPicker',attrs:{\"iso\":\"\",\"name\":\"startDate\",\"required\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.osb.validFrom\")])]},proxy:true}]),model:{value:(_vm.task.validFrom),callback:function ($$v) {_vm.$set(_vm.task, \"validFrom\", $$v)},expression:\"task.validFrom\"}})],1),_c('div',{staticClass:\"col-md-6\"},[_c('VueDateTimePicker',{key:'validToPicker',attrs:{\"iso\":\"\",\"name\":\"endDate\",\"min\":_vm.task.validFrom},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.osb.validTo\")])]},proxy:true}]),model:{value:(_vm.task.validTo),callback:function ($$v) {_vm.$set(_vm.task, \"validTo\", $$v)},expression:\"task.validTo\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OsbModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OsbModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OsbModal.vue?vue&type=template&id=c0d231c2&scoped=true&lang=html&\"\nimport script from \"./OsbModal.vue?vue&type=script&lang=js&\"\nexport * from \"./OsbModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OsbModal.vue?vue&type=style&index=0&id=c0d231c2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c0d231c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"back-link\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.goBackToTarget($event)}}},[_vm._t(\"text\",[_c('IxRes',[_vm._v(\"frs.common.back\")])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsRouterBackLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsRouterBackLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsRouterBackLink.vue?vue&type=template&id=163f774e&scoped=true&lang=html&\"\nimport script from \"./FrsRouterBackLink.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsRouterBackLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FrsRouterBackLink.vue?vue&type=style&index=0&id=163f774e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"163f774e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"simple-switch\",class:{checked: _vm.value}},[(_vm.hasOffSlotOrLabel)?_c('div',{staticClass:\"switch-label off-label\",on:{\"click\":function($event){_vm.modelProxy = false}}},[_vm._t(\"offLabel\",[_vm._v(\"\\n \"+_vm._s(_vm.offLabel)+\"\\n \")])],2):_vm._e(),_c('div',{staticClass:\"switch\",class:{'bg-primary': _vm.value},on:{\"click\":function($event){_vm.modelProxy = !_vm.modelProxy}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modelProxy),expression:\"modelProxy\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modelProxy)?_vm._i(_vm.modelProxy,null)>-1:(_vm.modelProxy)},on:{\"change\":function($event){var $$a=_vm.modelProxy,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modelProxy=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modelProxy=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modelProxy=$$c}}}}),_c('span',{class:{slider: true, translate: _vm.value}})]),_c('div',{staticClass:\"switch-label on-label\",on:{\"click\":function($event){_vm.modelProxy = (!_vm.hasOffSlotOrLabel ? !_vm.modelProxy : true)}}},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleSwitch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleSwitch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleSwitch.vue?vue&type=template&id=7908da9a&scoped=true&\"\nimport script from \"./SimpleSwitch.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleSwitch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SimpleSwitch.vue?vue&type=style&index=0&id=7908da9a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7908da9a\",\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('radar', {\n\tscale: {\n\t\ttype: 'radialLinear'\n\t},\n\telements: {\n\t\tline: {\n\t\t\ttension: 0 // no bezier in radar\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.radar = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: elements.Line,\n\n\t\tdataElementType: elements.Point,\n\n\t\tlinkScales: helpers.noop,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data;\n\t\t\tvar custom = line.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar lineElementOptions = me.chart.options.elements.line;\n\t\t\tvar scale = me.chart.scale;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\n\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t}\n\n\t\t\thelpers.extend(meta.dataset, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_scale: scale,\n\t\t\t\t// Data\n\t\t\t\t_children: points,\n\t\t\t\t_loop: true,\n\t\t\t\t// Model\n\t\t\t\t_model: {\n\t\t\t\t\t// Appearance\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmeta.dataset.pivot();\n\n\t\t\t// Update Points\n\t\t\thelpers.each(points, function(point, index) {\n\t\t\t\tme.updateElement(point, index, reset);\n\t\t\t}, me);\n\n\t\t\t// Update bezier control points\n\t\t\tme.updateBezierControlPoints();\n\t\t},\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar scale = me.chart.scale;\n\t\t\tvar pointElementOptions = me.chart.options.elements.point;\n\t\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\thelpers.extend(point, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\t\t\t\t_scale: scale,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: reset ? scale.xCenter : pointPosition.x, // value not used in dataset scale, but we want a consistent API between scales\n\t\t\t\t\ty: reset ? scale.yCenter : pointPosition.y,\n\n\t\t\t\t\t// Appearance\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, me.chart.options.elements.line.tension),\n\t\t\t\t\tradius: custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),\n\t\t\t\t\tpointStyle: custom.pointStyle ? custom.pointStyle : helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),\n\t\t\t\t\trotation: custom.rotation ? custom.rotation : helpers.valueAtIndexOrDefault(dataset.pointRotation, index, pointElementOptions.rotation),\n\n\t\t\t\t\t// Tooltip\n\t\t\t\t\thitRadius: custom.hitRadius ? custom.hitRadius : helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tpoint._model.skip = custom.skip ? custom.skip : (isNaN(point._model.x) || isNaN(point._model.y));\n\t\t},\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar chartArea = this.chart.chartArea;\n\t\t\tvar meta = this.getMeta();\n\n\t\t\thelpers.each(meta.data, function(point, index) {\n\t\t\t\tvar model = point._model;\n\t\t\t\tvar controlPoints = helpers.splineCurve(\n\t\t\t\t\thelpers.previousItem(meta.data, index, true)._model,\n\t\t\t\t\tmodel,\n\t\t\t\t\thelpers.nextItem(meta.data, index, true)._model,\n\t\t\t\t\tmodel.tension\n\t\t\t\t);\n\n\t\t\t\t// Prevent the bezier going outside of the bounds of the graph\n\t\t\t\tmodel.controlPointPreviousX = Math.max(Math.min(controlPoints.previous.x, chartArea.right), chartArea.left);\n\t\t\t\tmodel.controlPointPreviousY = Math.max(Math.min(controlPoints.previous.y, chartArea.bottom), chartArea.top);\n\n\t\t\t\tmodel.controlPointNextX = Math.max(Math.min(controlPoints.next.x, chartArea.right), chartArea.left);\n\t\t\t\tmodel.controlPointNextY = Math.max(Math.min(controlPoints.next.y, chartArea.bottom), chartArea.top);\n\n\t\t\t\t// Now pivot the point for animation\n\t\t\t\tpoint.pivot();\n\t\t\t});\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar index = point._index;\n\t\t\tvar model = point._model;\n\n\t\t\tpoint.$previousStyle = {\n\t\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\t\tborderColor: model.borderColor,\n\t\t\t\tborderWidth: model.borderWidth,\n\t\t\t\tradius: model.radius\n\t\t\t};\n\n\t\t\tmodel.radius = custom.hoverRadius ? custom.hoverRadius : helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t},\n\t});\n};\n","var meta = require('@turf/meta');\n\n/**\n * Combines a {@link FeatureCollection} of {@link Point}, {@link LineString}, or {@link Polygon} features\n * into {@link MultiPoint}, {@link MultiLineString}, or {@link MultiPolygon} features.\n *\n * @name combine\n * @param {FeatureCollection} fc a FeatureCollection of any type\n * @returns {FeatureCollection} a FeatureCollection of corresponding type to input\n * @example\n * var fc = turf.featureCollection([\n * turf.point([19.026432, 47.49134]),\n * turf.point([19.074497, 47.509548])\n * ]);\n *\n * var combined = turf.combine(fc);\n *\n * //addToMap\n * var addToMap = [combined]\n */\nmodule.exports = function (fc) {\n var groups = {\n MultiPoint: {coordinates: [], properties: []},\n MultiLineString: {coordinates: [], properties: []},\n MultiPolygon: {coordinates: [], properties: []}\n };\n\n var multiMapping = Object.keys(groups).reduce(function (memo, item) {\n memo[item.replace('Multi', '')] = item;\n return memo;\n }, {});\n\n function addToGroup(feature, key, multi) {\n if (!multi) {\n groups[key].coordinates.push(feature.geometry.coordinates);\n } else {\n groups[key].coordinates = groups[key].coordinates.concat(feature.geometry.coordinates);\n }\n groups[key].properties.push(feature.properties);\n }\n\n meta.featureEach(fc, function (feature) {\n if (!feature.geometry) return;\n if (groups[feature.geometry.type]) {\n addToGroup(feature, feature.geometry.type, true);\n } else if (multiMapping[feature.geometry.type]) {\n addToGroup(feature, multiMapping[feature.geometry.type], false);\n }\n });\n\n return {\n type: 'FeatureCollection',\n features: Object.keys(groups)\n .filter(function (key) {\n return groups[key].coordinates.length;\n })\n .sort()\n .map(function (key) {\n return {\n type: 'Feature',\n properties: {\n collectedProperties: groups[key].properties\n },\n geometry: {\n type: key,\n coordinates: groups[key].coordinates\n }\n };\n })\n };\n};\n","var rbush = require('rbush');\nvar meta = require('@turf/meta');\nvar featureEach = meta.featureEach;\nvar coordEach = meta.coordEach;\n\n/**\n * GeoJSON implementation of [RBush](https://github.com/mourner/rbush#rbush) spatial index.\n *\n * @name rbush\n * @param {number} [maxEntries=9] defines the maximum number of entries in a tree node. 9 (used by default) is a\n * reasonable choice for most applications. Higher value means faster insertion and slower search, and vice versa.\n * @returns {RBush} GeoJSON RBush\n * @example\n * var rbush = require('geojson-rbush')\n * var tree = rbush()\n */\nmodule.exports = function (maxEntries) {\n var tree = rbush(maxEntries);\n /**\n * [insert](https://github.com/mourner/rbush#data-format)\n *\n * @param {Feature} feature insert single GeoJSON Feature\n * @returns {RBush} GeoJSON RBush\n * @example\n * var polygon = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]\n * }\n * }\n * tree.insert(polygon)\n */\n tree.insert = function (feature) {\n if (Array.isArray(feature)) {\n var bbox = feature;\n feature = bboxPolygon(bbox);\n feature.bbox = bbox;\n } else {\n feature.bbox = feature.bbox ? feature.bbox : turfBBox(feature);\n }\n return rbush.prototype.insert.call(this, feature);\n };\n\n /**\n * [load](https://github.com/mourner/rbush#bulk-inserting-data)\n *\n * @param {BBox[]|FeatureCollection} features load entire GeoJSON FeatureCollection\n * @returns {RBush} GeoJSON RBush\n * @example\n * var polygons = {\n * \"type\": \"FeatureCollection\",\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]\n * }\n * },\n * {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[[-93, 32], [-83, 32], [-83, 39], [-93, 39], [-93, 32]]]\n * }\n * }\n * ]\n * }\n * tree.load(polygons)\n */\n tree.load = function (features) {\n var load = [];\n // Load an Array of BBox\n if (Array.isArray(features)) {\n features.forEach(function (bbox) {\n var feature = bboxPolygon(bbox);\n feature.bbox = bbox;\n load.push(feature);\n });\n } else {\n // Load FeatureCollection\n featureEach(features, function (feature) {\n feature.bbox = feature.bbox ? feature.bbox : turfBBox(feature);\n load.push(feature);\n });\n }\n return rbush.prototype.load.call(this, load);\n };\n\n /**\n * [remove](https://github.com/mourner/rbush#removing-data)\n *\n * @param {BBox|Feature} feature remove single GeoJSON Feature\n * @returns {RBush} GeoJSON RBush\n * @example\n * var polygon = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]\n * }\n * }\n * tree.remove(polygon)\n */\n tree.remove = function (feature) {\n if (Array.isArray(feature)) {\n var bbox = feature;\n feature = bboxPolygon(bbox);\n feature.bbox = bbox;\n }\n return rbush.prototype.remove.call(this, feature);\n };\n\n /**\n * [clear](https://github.com/mourner/rbush#removing-data)\n *\n * @returns {RBush} GeoJSON Rbush\n * @example\n * tree.clear()\n */\n tree.clear = function () {\n return rbush.prototype.clear.call(this);\n };\n\n /**\n * [search](https://github.com/mourner/rbush#search)\n *\n * @param {BBox|FeatureCollection|Feature} geojson search with GeoJSON\n * @returns {FeatureCollection} all features that intersects with the given GeoJSON.\n * @example\n * var polygon = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]\n * }\n * }\n * tree.search(polygon)\n */\n tree.search = function (geojson) {\n var features = rbush.prototype.search.call(this, this.toBBox(geojson));\n return {\n type: 'FeatureCollection',\n features: features\n };\n };\n\n /**\n * [collides](https://github.com/mourner/rbush#collisions)\n *\n * @param {BBox|FeatureCollection|Feature} geojson collides with GeoJSON\n * @returns {boolean} true if there are any items intersecting the given GeoJSON, otherwise false.\n * @example\n * var polygon = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[[-78, 41], [-67, 41], [-67, 48], [-78, 48], [-78, 41]]]\n * }\n * }\n * tree.collides(polygon)\n */\n tree.collides = function (geojson) {\n return rbush.prototype.collides.call(this, this.toBBox(geojson));\n };\n\n /**\n * [all](https://github.com/mourner/rbush#search)\n *\n * @returns {FeatureCollection} all the features in RBush\n * @example\n * tree.all()\n * //=FeatureCollection\n */\n tree.all = function () {\n var features = rbush.prototype.all.call(this);\n return {\n type: 'FeatureCollection',\n features: features\n };\n };\n\n /**\n * [toJSON](https://github.com/mourner/rbush#export-and-import)\n *\n * @returns {any} export data as JSON object\n * @example\n * var exported = tree.toJSON()\n * //=JSON object\n */\n tree.toJSON = function () {\n return rbush.prototype.toJSON.call(this);\n };\n\n /**\n * [fromJSON](https://github.com/mourner/rbush#export-and-import)\n *\n * @param {any} json import previously exported data\n * @returns {RBush} GeoJSON RBush\n * @example\n * var exported = {\n * \"children\": [\n * {\n * \"type\": \"Feature\",\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * },\n * \"properties\": {},\n * \"bbox\": [110, 50, 110, 50]\n * }\n * ],\n * \"height\": 1,\n * \"leaf\": true,\n * \"minX\": 110,\n * \"minY\": 50,\n * \"maxX\": 110,\n * \"maxY\": 50\n * }\n * tree.fromJSON(exported)\n */\n tree.fromJSON = function (json) {\n return rbush.prototype.fromJSON.call(this, json);\n };\n\n /**\n * Converts GeoJSON to {minX, minY, maxX, maxY} schema\n *\n * @private\n * @param {BBox|FeatureCollectio|Feature} geojson feature(s) to retrieve BBox from\n * @returns {Object} converted to {minX, minY, maxX, maxY}\n */\n tree.toBBox = function (geojson) {\n var bbox;\n if (geojson.bbox) bbox = geojson.bbox;\n else if (Array.isArray(geojson) && geojson.length === 4) bbox = geojson;\n else bbox = turfBBox(geojson);\n\n return {\n minX: bbox[0],\n minY: bbox[1],\n maxX: bbox[2],\n maxY: bbox[3]\n };\n };\n return tree;\n};\n\n/**\n * Takes a bbox and returns an equivalent {@link Polygon|polygon}.\n *\n * @private\n * @name bboxPolygon\n * @param {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @returns {Feature} a Polygon representation of the bounding box\n * @example\n * var bbox = [0, 0, 10, 10];\n *\n * var poly = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [poly]\n */\nfunction bboxPolygon(bbox) {\n var lowLeft = [bbox[0], bbox[1]];\n var topLeft = [bbox[0], bbox[3]];\n var topRight = [bbox[2], bbox[3]];\n var lowRight = [bbox[2], bbox[1]];\n var coordinates = [[lowLeft, lowRight, topRight, topLeft, lowLeft]];\n\n return {\n type: 'Feature',\n bbox: bbox,\n properties: {},\n geometry: {\n type: 'Polygon',\n coordinates: coordinates\n }\n };\n}\n\n/**\n * Takes a set of features, calculates the bbox of all input features, and returns a bounding box.\n *\n * @private\n * @name bbox\n * @param {FeatureCollection|Feature} geojson input features\n * @returns {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @example\n * var line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]]);\n * var bbox = turf.bbox(line);\n * var bboxPolygon = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [line, bboxPolygon]\n */\nfunction turfBBox(geojson) {\n var bbox = [Infinity, Infinity, -Infinity, -Infinity];\n coordEach(geojson, function (coord) {\n if (bbox[0] > coord[0]) bbox[0] = coord[0];\n if (bbox[1] > coord[1]) bbox[1] = coord[1];\n if (bbox[2] < coord[0]) bbox[2] = coord[0];\n if (bbox[3] < coord[1]) bbox[3] = coord[1];\n });\n return bbox;\n}\n","var distance = require('@turf/distance');\nvar turfBBox = require('@turf/bbox');\nvar helpers = require('@turf/helpers');\nvar point = helpers.point;\nvar polygon = helpers.polygon;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Creates a square grid from a bounding box, {@link Feature} or {@link FeatureCollection}.\n *\n * @name squareGrid\n * @param {Array|FeatureCollection|Feature} bbox extent in [minX, minY, maxX, maxY] order\n * @param {number} cellSize width of each cell\n * @param {string} [units=kilometers] used in calculating cellSize, can be degrees, radians, miles, or kilometers\n * @param {boolean} [completelyWithin=false] adjust width & height cellSize to fit exactly within bbox\n * @returns {FeatureCollection} grid a grid of polygons\n * @example\n * var bbox = [-95, 30 ,-85, 40];\n * var cellSize = 50;\n * var units = 'miles';\n *\n * var squareGrid = turf.squareGrid(bbox, cellSize, units);\n *\n * //addToMap\n * var addToMap = [squareGrid]\n */\nmodule.exports = function squareGrid(bbox, cellSize, units, completelyWithin) {\n var results = [];\n\n // validation\n if (!bbox) throw new Error('bbox is required');\n if (!Array.isArray(bbox)) bbox = turfBBox(bbox); // Convert GeoJSON to bbox\n if (bbox.length !== 4) throw new Error('bbox must contain 4 numbers');\n\n var west = bbox[0];\n var south = bbox[1];\n var east = bbox[2];\n var north = bbox[3];\n\n // distance\n var xDistance = distance(point([west, south]), point([east, south]), units);\n var yDistance = distance(point([west, south]), point([west, north]), units);\n\n // rows & columns\n var columns = Math.ceil(xDistance / cellSize);\n var rows = Math.ceil(yDistance / cellSize);\n\n // columns | width | x\n var xFraction = cellSize / xDistance;\n var cellWidth = xFraction * (east - west);\n if (completelyWithin === true) cellWidth = cellWidth * ((xDistance / cellSize) / columns);\n\n // rows | height | y\n var yFraction = cellSize / yDistance;\n var cellHeight = yFraction * (north - south);\n if (completelyWithin === true) cellHeight = cellHeight * ((yDistance / cellSize) / rows);\n\n // iterate over columns & rows\n var currentX = west;\n for (var column = 0; column < columns; column++) {\n var currentY = south;\n for (var row = 0; row < rows; row++) {\n var cellPoly = polygon([[\n [currentX, currentY],\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY]\n ]]);\n results.push(cellPoly);\n\n currentY += cellHeight;\n }\n currentX += cellWidth;\n }\n return featureCollection(results);\n};\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SoilMapDetails.vue?vue&type=style&index=0&id=839f2a1c&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SoilMapDetails.vue?vue&type=style&index=0&id=839f2a1c&lang=scss&scoped=true&\"","var distance = require('@turf/distance');\nvar helpers = require('@turf/helpers');\nvar polygon = helpers.polygon;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes a bounding box and a cell depth and returns a set of triangular {@link Polygon|polygons} in a grid.\n *\n * @name triangleGrid\n * @param {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @param {number} cellSize dimension of each cell\n * @param {string} [units=kilometers] used in calculating cellSize, can be degrees, radians, miles, or kilometers\n * @returns {FeatureCollection} grid of polygons\n * @example\n * var bbox = [-95, 30 ,-85, 40];\n * var cellSize = 50;\n * var units = 'miles';\n *\n * var triangleGrid = turf.triangleGrid(bbox, cellSize, units);\n *\n * //addToMap\n * var addToMap = [triangleGrid];\n */\nmodule.exports = function (bbox, cellSize, units) {\n var fc = featureCollection([]);\n var xFraction = cellSize / (distance([bbox[0], bbox[1]], [bbox[2], bbox[1]], units));\n var cellWidth = xFraction * (bbox[2] - bbox[0]);\n var yFraction = cellSize / (distance([bbox[0], bbox[1]], [bbox[0], bbox[3]], units));\n var cellHeight = yFraction * (bbox[3] - bbox[1]);\n\n var xi = 0;\n var currentX = bbox[0];\n while (currentX <= bbox[2]) {\n var yi = 0;\n var currentY = bbox[1];\n while (currentY <= bbox[3]) {\n if (xi % 2 === 0 && yi % 2 === 0) {\n fc.features.push(polygon([[\n [currentX, currentY],\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY]\n ]]), polygon([[\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY + cellHeight]\n ]]));\n } else if (xi % 2 === 0 && yi % 2 === 1) {\n fc.features.push(polygon([[\n [currentX, currentY],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY]\n ]]), polygon([[\n [currentX, currentY],\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX, currentY]\n ]]));\n } else if (yi % 2 === 0 && xi % 2 === 1) {\n fc.features.push(polygon([[\n [currentX, currentY],\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX, currentY]\n ]]), polygon([[\n [currentX, currentY],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY]\n ]]));\n } else if (yi % 2 === 1 && xi % 2 === 1) {\n fc.features.push(polygon([[\n [currentX, currentY],\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY]\n ]]), polygon([[\n [currentX, currentY + cellHeight],\n [currentX + cellWidth, currentY + cellHeight],\n [currentX + cellWidth, currentY],\n [currentX, currentY + cellHeight]\n ]]));\n }\n currentY += cellHeight;\n yi++;\n }\n xi++;\n currentX += cellWidth;\n }\n return fc;\n};\n\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"summary\":\"CultivationSummary_summary_3vVks\"};","// depend on jsts for now http://bjornharrtell.github.io/jsts/\nvar jsts = require('jsts');\nvar truncate = require('@turf/truncate');\nvar feature = require('@turf/helpers').feature;\n\n/**\n * Takes two {@link Polygon|polygons} and finds their intersection. If they share a border, returns the border; if they don't intersect, returns undefined.\n *\n * @name intersect\n * @param {Feature} poly1 the first polygon\n * @param {Feature} poly2 the second polygon\n * @returns {Feature|null} returns a feature representing the point(s) they share (in case of a {@link Point} or {@link MultiPoint}), the borders they share (in case of a {@link LineString} or a {@link MultiLineString}), the area they share (in case of {@link Polygon} or {@link MultiPolygon}). If they do not share any point, returns `null`.\n * @example\n * var poly1 = turf.polygon([[\n * [-122.801742, 45.48565],\n * [-122.801742, 45.60491],\n * [-122.584762, 45.60491],\n * [-122.584762, 45.48565],\n * [-122.801742, 45.48565]\n * ]]);\n *\n * var poly2 = turf.polygon([[\n * [-122.520217, 45.535693],\n * [-122.64038, 45.553967],\n * [-122.720031, 45.526554],\n * [-122.669906, 45.507309],\n * [-122.723464, 45.446643],\n * [-122.532577, 45.408574],\n * [-122.487258, 45.477466],\n * [-122.520217, 45.535693]\n * ]]);\n *\n * var intersection = turf.intersect(poly1, poly2);\n *\n * //addToMap\n * var addToMap = [poly1, poly2, intersection];\n */\nmodule.exports = function (poly1, poly2) {\n var geom1 = (poly1.type === 'Feature') ? poly1.geometry : poly1;\n var geom2 = (poly2.type === 'Feature') ? poly2.geometry : poly2;\n\n var reader = new jsts.io.GeoJSONReader();\n var a = reader.read(truncate(geom1));\n var b = reader.read(truncate(geom2));\n var intersection = a.intersection(b);\n\n // https://github.com/Turfjs/turf/issues/951\n if (intersection.isEmpty()) return null;\n\n var writer = new jsts.io.GeoJSONWriter();\n var geom = writer.write(intersection);\n return feature(geom);\n};\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('bubble', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\n\t\t\tposition: 'bottom',\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.bubble = Chart.DatasetController.extend({\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tdataElementType: elements.Point,\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data;\n\n\t\t\t// Update Points\n\t\t\thelpers.each(points, function(point, index) {\n\t\t\t\tme.updateElement(point, index, reset);\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar options = me._resolveElementOptions(point, index);\n\t\t\tvar data = me.getDataset().data[index];\n\t\t\tvar dsIndex = me.index;\n\n\t\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\n\t\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\n\n\t\t\tpoint._xScale = xScale;\n\t\t\tpoint._yScale = yScale;\n\t\t\tpoint._options = options;\n\t\t\tpoint._datasetIndex = dsIndex;\n\t\t\tpoint._index = index;\n\t\t\tpoint._model = {\n\t\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\t\tborderColor: options.borderColor,\n\t\t\t\tborderWidth: options.borderWidth,\n\t\t\t\thitRadius: options.hitRadius,\n\t\t\t\tpointStyle: options.pointStyle,\n\t\t\t\trotation: options.rotation,\n\t\t\t\tradius: reset ? 0 : options.radius,\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t};\n\n\t\t\tpoint.pivot();\n\t\t},\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tsetHoverStyle: function(point) {\n\t\t\tvar model = point._model;\n\t\t\tvar options = point._options;\n\t\t\tpoint.$previousStyle = {\n\t\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\t\tborderColor: model.borderColor,\n\t\t\t\tborderWidth: model.borderWidth,\n\t\t\t\tradius: model.radius\n\t\t\t};\n\t\t\tmodel.backgroundColor = helpers.valueOrDefault(options.hoverBackgroundColor, helpers.getHoverColor(options.backgroundColor));\n\t\t\tmodel.borderColor = helpers.valueOrDefault(options.hoverBorderColor, helpers.getHoverColor(options.borderColor));\n\t\t\tmodel.borderWidth = helpers.valueOrDefault(options.hoverBorderWidth, options.borderWidth);\n\t\t\tmodel.radius = options.radius + options.hoverRadius;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\t_resolveElementOptions: function(point, index) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar datasets = chart.data.datasets;\n\t\t\tvar dataset = datasets[me.index];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar options = chart.options.elements.point;\n\t\t\tvar resolve = helpers.options.resolve;\n\t\t\tvar data = dataset.data[index];\n\t\t\tvar values = {};\n\t\t\tvar i, ilen, key;\n\n\t\t\t// Scriptable options\n\t\t\tvar context = {\n\t\t\t\tchart: chart,\n\t\t\t\tdataIndex: index,\n\t\t\t\tdataset: dataset,\n\t\t\t\tdatasetIndex: me.index\n\t\t\t};\n\n\t\t\tvar keys = [\n\t\t\t\t'backgroundColor',\n\t\t\t\t'borderColor',\n\t\t\t\t'borderWidth',\n\t\t\t\t'hoverBackgroundColor',\n\t\t\t\t'hoverBorderColor',\n\t\t\t\t'hoverBorderWidth',\n\t\t\t\t'hoverRadius',\n\t\t\t\t'hitRadius',\n\t\t\t\t'pointStyle',\n\t\t\t\t'rotation'\n\t\t\t];\n\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\t\tkey = keys[i];\n\t\t\t\tvalues[key] = resolve([\n\t\t\t\t\tcustom[key],\n\t\t\t\t\tdataset[key],\n\t\t\t\t\toptions[key]\n\t\t\t\t], context, index);\n\t\t\t}\n\n\t\t\t// Custom radius resolution\n\t\t\tvalues.radius = resolve([\n\t\t\t\tcustom.radius,\n\t\t\t\tdata ? data.r : undefined,\n\t\t\t\tdataset.radius,\n\t\t\t\toptions.radius\n\t\t\t], context, index);\n\t\t\treturn values;\n\t\t}\n\t});\n};\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditingOverlay.vue?vue&type=style&index=0&id=5f222b57&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditingOverlay.vue?vue&type=style&index=0&id=5f222b57&lang=scss&scoped=true&\"","/**\n * GeoJSON BBox\n *\n * @private\n * @typedef {[number, number, number, number]} BBox\n */\n\n/**\n * GeoJSON Id\n *\n * @private\n * @typedef {(number|string)} Id\n */\n\n/**\n * GeoJSON FeatureCollection\n *\n * @private\n * @typedef {Object} FeatureCollection\n * @property {string} type\n * @property {?Id} id\n * @property {?BBox} bbox\n * @property {Feature[]} features\n */\n\n/**\n * GeoJSON Feature\n *\n * @private\n * @typedef {Object} Feature\n * @property {string} type\n * @property {?Id} id\n * @property {?BBox} bbox\n * @property {*} properties\n * @property {Geometry} geometry\n */\n\n/**\n * GeoJSON Geometry\n *\n * @private\n * @typedef {Object} Geometry\n * @property {string} type\n * @property {any[]} coordinates\n */\n\n/**\n * Callback for coordEach\n *\n * @callback coordEachCallback\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0.\n * @param {number} featureIndex The current index of the feature being processed.\n * @param {number} featureSubIndex The current subIndex of the feature being processed.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, featureSubIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, featureSubIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=featureSubIndex\n * });\n */\nexport function coordEach(geojson, callback, excludeWrapCoord) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n var featureIndex, geometryIndex, j, k, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n coordIndex = 0,\n isGeometryCollection,\n type = geojson.type,\n isFeatureCollection = type === 'FeatureCollection',\n isFeature = type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[featureIndex].geometry :\n (isFeature ? geojson.geometry : geojson));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (geometryIndex = 0; geometryIndex < stopG; geometryIndex++) {\n var featureSubIndex = 0;\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[geometryIndex] : geometryMaybeCollection;\n\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n\n wrapShrink = (excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon')) ? 1 : 0;\n\n switch (geomType) {\n case null:\n break;\n case 'Point':\n callback(coords, coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n featureSubIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n for (j = 0; j < coords.length; j++) {\n callback(coords[j], coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n if (geomType === 'MultiPoint') featureSubIndex++;\n }\n if (geomType === 'LineString') featureSubIndex++;\n break;\n case 'Polygon':\n case 'MultiLineString':\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n callback(coords[j][k], coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n }\n if (geomType === 'MultiLineString') featureSubIndex++;\n }\n if (geomType === 'Polygon') featureSubIndex++;\n break;\n case 'MultiPolygon':\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length; k++)\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n callback(coords[j][k][l], coordIndex, featureIndex, featureSubIndex);\n coordIndex++;\n }\n featureSubIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++)\n coordEach(geometry.geometries[j], callback, excludeWrapCoord);\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureIndex The current index of the feature being processed.\n * @param {number} featureSubIndex The current subIndex of the feature being processed.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {FeatureCollection|Geometry|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoord, coordIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, featureSubIndex) {\n * //=previousValue\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=featureSubIndex\n * return currentCoord;\n * });\n */\nexport function coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(geojson, function (currentCoord, coordIndex, featureIndex, featureSubIndex) {\n if (coordIndex === 0 && initialValue === undefined) previousValue = currentCoord;\n else previousValue = callback(previousValue, currentCoord, coordIndex, featureIndex, featureSubIndex);\n }, excludeWrapCoord);\n return previousValue;\n}\n\n/**\n * Callback for propEach\n *\n * @callback propEachCallback\n * @param {Object} currentProperties The current properties being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {(FeatureCollection|Feature)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, featureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propEach(features, function (currentProperties, featureIndex) {\n * //=currentProperties\n * //=featureIndex\n * });\n */\nexport function propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case 'FeatureCollection':\n for (i = 0; i < geojson.features.length; i++) {\n callback(geojson.features[i].properties, i);\n }\n break;\n case 'Feature':\n callback(geojson.properties, 0);\n break;\n }\n}\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current properties being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {(FeatureCollection|Feature)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {\n * //=previousValue\n * //=currentProperties\n * //=featureIndex\n * return currentProperties\n * });\n */\nexport function propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function (currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentProperties;\n else previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for featureEach\n *\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.featureEach(features, function (currentFeature, featureIndex) {\n * //=currentFeature\n * //=featureIndex\n * });\n */\nexport function featureEach(geojson, callback) {\n if (geojson.type === 'Feature') {\n callback(geojson, 0);\n } else if (geojson.type === 'FeatureCollection') {\n for (var i = 0; i < geojson.features.length; i++) {\n callback(geojson.features[i], i);\n }\n }\n}\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * return currentFeature\n * });\n */\nexport function featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function (currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * var coords = turf.coordAll(features);\n * //= [[26, 37], [36, 53]]\n */\nexport function coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\n\n/**\n * Callback for geomEach\n *\n * @callback geomEachCallback\n * @param {Geometry} currentGeometry The current geometry being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} currentProperties The current feature properties being processed.\n */\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, featureIndex, currentProperties)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomEach(features, function (currentGeometry, featureIndex, currentProperties) {\n * //=currentGeometry\n * //=featureIndex\n * //=currentProperties\n * });\n */\nexport function geomEach(geojson, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n geometryProperties,\n featureIndex = 0,\n isFeatureCollection = geojson.type === 'FeatureCollection',\n isFeature = geojson.type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[i].geometry :\n (isFeature ? geojson.geometry : geojson));\n geometryProperties = (isFeatureCollection ? geojson.features[i].properties :\n (isFeature ? geojson.properties : {}));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n // Handle null Geometry\n if (geometry === null) {\n callback(null, featureIndex, geometryProperties);\n continue;\n }\n switch (geometry.type) {\n case 'Point':\n case 'LineString':\n case 'MultiPoint':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon': {\n callback(geometry, featureIndex, geometryProperties);\n break;\n }\n case 'GeometryCollection': {\n for (j = 0; j < geometry.geometries.length; j++) {\n callback(geometry.geometries[j], featureIndex, geometryProperties);\n }\n break;\n }\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n // Only increase `featureIndex` per each feature\n featureIndex++;\n }\n}\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Geometry} currentGeometry The current Feature being processed.\n * @param {number} currentIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {Object} currentProperties The current feature properties being processed.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, featureIndex, currentProperties)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, currentProperties) {\n * //=previousValue\n * //=currentGeometry\n * //=featureIndex\n * //=currentProperties\n * return currentGeometry\n * });\n */\nexport function geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(geojson, function (currentGeometry, currentIndex, currentProperties) {\n if (currentIndex === 0 && initialValue === undefined) previousValue = currentGeometry;\n else previousValue = callback(previousValue, currentGeometry, currentIndex, currentProperties);\n });\n return previousValue;\n}\n\n/**\n * Callback for flattenEach\n *\n * @callback flattenEachCallback\n * @param {Feature} currentFeature The current flattened feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureSubIndex The subindex of the current element being processed in the\n * array. Starts at index 0 and increases if the flattened feature was a multi-geometry.\n */\n\n/**\n * Iterate over flattened features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name flattenEach\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex, featureSubIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenEach(features, function (currentFeature, featureIndex, featureSubIndex) {\n * //=currentFeature\n * //=featureIndex\n * //=featureSubIndex\n * });\n */\nexport function flattenEach(geojson, callback) {\n geomEach(geojson, function (geometry, featureIndex, properties) {\n // Callback for single geometry\n var type = (geometry === null) ? null : geometry.type;\n switch (type) {\n case null:\n case 'Point':\n case 'LineString':\n case 'Polygon':\n callback(feature(geometry, properties), featureIndex, 0);\n return;\n }\n\n var geomType;\n\n // Callback for multi-geometry\n switch (type) {\n case 'MultiPoint':\n geomType = 'Point';\n break;\n case 'MultiLineString':\n geomType = 'LineString';\n break;\n case 'MultiPolygon':\n geomType = 'Polygon';\n break;\n }\n\n geometry.coordinates.forEach(function (coordinate, featureSubIndex) {\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n callback(feature(geom, properties), featureIndex, featureSubIndex);\n });\n\n });\n}\n\n/**\n * Callback for flattenReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback flattenReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The index of the current element being processed in the\n * array.Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureSubIndex The subindex of the current element being processed in the\n * array. Starts at index 0 and increases if the flattened feature was a multi-geometry.\n */\n\n/**\n * Reduce flattened features in any GeoJSON object, similar to Array.reduce().\n *\n * @name flattenReduce\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex, featureSubIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, featureSubIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * //=featureSubIndex\n * return currentFeature\n * });\n */\nexport function flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(geojson, function (currentFeature, featureIndex, featureSubIndex) {\n if (featureIndex === 0 && featureSubIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex, featureSubIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for segmentEach\n *\n * @callback segmentEachCallback\n * @param {Feature} currentSegment The current segment being processed.\n * @param {number} featureIndex The featureIndex currently being processed, starts at index 0.\n * @param {number} featureSubIndex The featureSubIndex currently being processed, starts at index 0.\n * @param {number} segmentIndex The segmentIndex currently being processed, starts at index 0.\n * @returns {void}\n */\n\n/**\n * Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON\n * @param {Function} callback a method that takes (currentSegment, featureIndex, featureSubIndex)\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentEach(polygon, function (currentSegment, featureIndex, featureSubIndex, segmentIndex) {\n * //= currentSegment\n * //= featureIndex\n * //= featureSubIndex\n * //= segmentIndex\n * });\n *\n * // Calculate the total number of segments\n * var total = 0;\n * turf.segmentEach(polygon, function () {\n * total++;\n * });\n */\nexport function segmentEach(geojson, callback) {\n flattenEach(geojson, function (feature, featureIndex, featureSubIndex) {\n var segmentIndex = 0;\n\n // Exclude null Geometries\n if (!feature.geometry) return;\n // (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n var type = feature.geometry.type;\n if (type === 'Point' || type === 'MultiPoint') return;\n\n // Generate 2-vertex line segments\n coordReduce(feature, function (previousCoords, currentCoord) {\n var currentSegment = lineString([previousCoords, currentCoord], feature.properties);\n callback(currentSegment, featureIndex, featureSubIndex, segmentIndex);\n segmentIndex++;\n return currentCoord;\n });\n });\n}\n\n/**\n * Callback for segmentReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback segmentReduceCallback\n * @param {*} [previousValue] The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} [currentSegment] The current segment being processed.\n * @param {number} featureIndex The featureIndex currently being processed, starts at index 0.\n * @param {number} featureSubIndex The featureSubIndex currently being processed, starts at index 0.\n * @param {number} segmentIndex The segmentIndex currently being processed, starts at index 0.\n */\n\n/**\n * Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {(FeatureCollection|Feature|Geometry)} geojson any GeoJSON\n * @param {Function} callback a method that takes (previousValue, currentSegment, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, featureSubIndex, segmentIndex) {\n * //= previousSegment\n * //= currentSegment\n * //= featureIndex\n * //= featureSubIndex\n * //= segmentInex\n * return currentSegment\n * });\n *\n * // Calculate the total number of segments\n * var initialValue = 0\n * var total = turf.segmentReduce(polygon, function (previousValue) {\n * previousValue++;\n * return previousValue;\n * }, initialValue);\n */\nexport function segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(geojson, function (currentSegment, featureIndex, featureSubIndex, segmentIndex) {\n if (started === false && initialValue === undefined) previousValue = currentSegment;\n else previousValue = callback(previousValue, currentSegment, featureIndex, featureSubIndex, segmentIndex);\n started = true;\n });\n return previousValue;\n}\n\n/**\n * Create Feature\n *\n * @private\n * @param {Geometry} geometry GeoJSON Geometry\n * @param {Object} properties Properties\n * @returns {Feature} GeoJSON Feature\n */\nexport function feature(geometry, properties) {\n if (geometry === undefined) throw new Error('No geometry passed');\n\n return {\n type: 'Feature',\n properties: properties || {},\n geometry: geometry\n };\n}\n\n/**\n * Create LineString\n *\n * @private\n * @param {Array>} coordinates Line Coordinates\n * @param {Object} properties Properties\n * @returns {Feature} GeoJSON LineString Feature\n */\nexport function lineString(coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length < 2) throw new Error('Coordinates must be an array of two or more positions');\n\n return {\n type: 'Feature',\n properties: properties || {},\n geometry: {\n type: 'LineString',\n coordinates: coordinates\n }\n };\n}\n\n\n/**\n * Callback for lineEach\n *\n * @callback lineEachCallback\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} lineIndex The index of the current element being processed in the array, starts at index 0.\n * @param {number} lineSubIndex The sub-index of the current line being processed at index 0\n */\n\n/**\n * Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,\n * similar to Array.forEach.\n *\n * @name lineEach\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (currentLine, lineIndex, lineSubIndex)\n * @example\n * var mtLn = turf.multiLineString([\n * turf.lineString([[26, 37], [35, 45]]),\n * turf.lineString([[36, 53], [38, 50], [41, 55]])\n * ]);\n *\n * turf.lineEach(mtLn, function (currentLine, lineIndex) {\n * //=currentLine\n * //=lineIndex\n * });\n */\nexport function lineEach(geojson, callback) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n var type = geojson.geometry ? geojson.geometry.type : geojson.type;\n if (!type) throw new Error('invalid geojson');\n if (type === 'FeatureCollection') throw new Error('FeatureCollection is not supported');\n if (type === 'GeometryCollection') throw new Error('GeometryCollection is not supported');\n var coordinates = geojson.geometry ? geojson.geometry.coordinates : geojson.coordinates;\n if (!coordinates) throw new Error('geojson must contain coordinates');\n\n switch (type) {\n case 'LineString':\n callback(coordinates, 0, 0);\n return;\n case 'Polygon':\n case 'MultiLineString':\n var subIndex = 0;\n for (var line = 0; line < coordinates.length; line++) {\n if (type === 'MultiLineString') subIndex = line;\n callback(coordinates[line], line, subIndex);\n }\n return;\n case 'MultiPolygon':\n for (var multi = 0; multi < coordinates.length; multi++) {\n for (var ring = 0; ring < coordinates[multi].length; ring++) {\n callback(coordinates[multi][ring], ring, multi);\n }\n }\n return;\n default:\n throw new Error(type + ' geometry not supported');\n }\n}\n\n/**\n * Callback for lineReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback lineReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} lineIndex The index of the current element being processed in the\n * array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} lineSubIndex The sub-index of the current line being processed at index 0\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name lineReduce\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var mtp = turf.multiPolygon([\n * turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),\n * turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])\n * ]);\n *\n * turf.lineReduce(mtp, function (previousValue, currentLine, lineIndex, lineSubIndex) {\n * //=previousValue\n * //=currentLine\n * //=lineIndex\n * //=lineSubIndex\n * return currentLine\n * }, 2);\n */\nexport function lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(geojson, function (currentLine, lineIndex, lineSubIndex) {\n if (lineIndex === 0 && initialValue === undefined) previousValue = currentLine;\n else previousValue = callback(previousValue, currentLine, lineIndex, lineSubIndex);\n });\n return previousValue;\n}\n","'use strict';\n\nvar defaults = require('./core.defaults');\nvar Element = require('./core.element');\nvar helpers = require('../helpers/index');\nvar Ticks = require('./core.ticks');\n\ndefaults._set('scale', {\n\tdisplay: true,\n\tposition: 'left',\n\toffset: false,\n\n\t// grid line settings\n\tgridLines: {\n\t\tdisplay: true,\n\t\tcolor: 'rgba(0, 0, 0, 0.1)',\n\t\tlineWidth: 1,\n\t\tdrawBorder: true,\n\t\tdrawOnChartArea: true,\n\t\tdrawTicks: true,\n\t\ttickMarkLength: 10,\n\t\tzeroLineWidth: 1,\n\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\n\t\tzeroLineBorderDash: [],\n\t\tzeroLineBorderDashOffset: 0.0,\n\t\toffsetGridLines: false,\n\t\tborderDash: [],\n\t\tborderDashOffset: 0.0\n\t},\n\n\t// scale label\n\tscaleLabel: {\n\t\t// display property\n\t\tdisplay: false,\n\n\t\t// actual label\n\t\tlabelString: '',\n\n\t\t// line height\n\t\tlineHeight: 1.2,\n\n\t\t// top/bottom padding\n\t\tpadding: {\n\t\t\ttop: 4,\n\t\t\tbottom: 4\n\t\t}\n\t},\n\n\t// label settings\n\tticks: {\n\t\tbeginAtZero: false,\n\t\tminRotation: 0,\n\t\tmaxRotation: 50,\n\t\tmirror: false,\n\t\tpadding: 0,\n\t\treverse: false,\n\t\tdisplay: true,\n\t\tautoSkip: true,\n\t\tautoSkipPadding: 0,\n\t\tlabelOffset: 0,\n\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\n\t\tcallback: Ticks.formatters.values,\n\t\tminor: {},\n\t\tmajor: {}\n\t}\n});\n\nfunction labelsFromTicks(ticks) {\n\tvar labels = [];\n\tvar i, ilen;\n\n\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\n\t\tlabels.push(ticks[i].label);\n\t}\n\n\treturn labels;\n}\n\nfunction getLineValue(scale, index, offsetGridLines) {\n\tvar lineValue = scale.getPixelForTick(index);\n\n\tif (offsetGridLines) {\n\t\tif (index === 0) {\n\t\t\tlineValue -= (scale.getPixelForTick(1) - lineValue) / 2;\n\t\t} else {\n\t\t\tlineValue -= (lineValue - scale.getPixelForTick(index - 1)) / 2;\n\t\t}\n\t}\n\treturn lineValue;\n}\n\nfunction computeTextSize(context, tick, font) {\n\treturn helpers.isArray(tick) ?\n\t\thelpers.longestText(context, font, tick) :\n\t\tcontext.measureText(tick).width;\n}\n\nfunction parseFontOptions(options) {\n\tvar valueOrDefault = helpers.valueOrDefault;\n\tvar globalDefaults = defaults.global;\n\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\n\tvar style = valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle);\n\tvar family = valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily);\n\n\treturn {\n\t\tsize: size,\n\t\tstyle: style,\n\t\tfamily: family,\n\t\tfont: helpers.fontString(size, style, family)\n\t};\n}\n\nfunction parseLineHeight(options) {\n\treturn helpers.options.toLineHeight(\n\t\thelpers.valueOrDefault(options.lineHeight, 1.2),\n\t\thelpers.valueOrDefault(options.fontSize, defaults.global.defaultFontSize));\n}\n\nmodule.exports = Element.extend({\n\t/**\n\t * Get the padding needed for the scale\n\t * @method getPadding\n\t * @private\n\t * @returns {Padding} the necessary padding\n\t */\n\tgetPadding: function() {\n\t\tvar me = this;\n\t\treturn {\n\t\t\tleft: me.paddingLeft || 0,\n\t\t\ttop: me.paddingTop || 0,\n\t\t\tright: me.paddingRight || 0,\n\t\t\tbottom: me.paddingBottom || 0\n\t\t};\n\t},\n\n\t/**\n\t * Returns the scale tick objects ({label, major})\n\t * @since 2.7\n\t */\n\tgetTicks: function() {\n\t\treturn this._ticks;\n\t},\n\n\t// These methods are ordered by lifecyle. Utilities then follow.\n\t// Any function defined here is inherited by all scale types.\n\t// Any function can be extended by the scale type\n\n\tmergeTicksOptions: function() {\n\t\tvar ticks = this.options.ticks;\n\t\tif (ticks.minor === false) {\n\t\t\tticks.minor = {\n\t\t\t\tdisplay: false\n\t\t\t};\n\t\t}\n\t\tif (ticks.major === false) {\n\t\t\tticks.major = {\n\t\t\t\tdisplay: false\n\t\t\t};\n\t\t}\n\t\tfor (var key in ticks) {\n\t\t\tif (key !== 'major' && key !== 'minor') {\n\t\t\t\tif (typeof ticks.minor[key] === 'undefined') {\n\t\t\t\t\tticks.minor[key] = ticks[key];\n\t\t\t\t}\n\t\t\t\tif (typeof ticks.major[key] === 'undefined') {\n\t\t\t\t\tticks.major[key] = ticks[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tbeforeUpdate: function() {\n\t\thelpers.callback(this.options.beforeUpdate, [this]);\n\t},\n\n\tupdate: function(maxWidth, maxHeight, margins) {\n\t\tvar me = this;\n\t\tvar i, ilen, labels, label, ticks, tick;\n\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\tme.beforeUpdate();\n\n\t\t// Absorb the master measurements\n\t\tme.maxWidth = maxWidth;\n\t\tme.maxHeight = maxHeight;\n\t\tme.margins = helpers.extend({\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ttop: 0,\n\t\t\tbottom: 0\n\t\t}, margins);\n\t\tme.longestTextCache = me.longestTextCache || {};\n\n\t\t// Dimensions\n\t\tme.beforeSetDimensions();\n\t\tme.setDimensions();\n\t\tme.afterSetDimensions();\n\n\t\t// Data min/max\n\t\tme.beforeDataLimits();\n\t\tme.determineDataLimits();\n\t\tme.afterDataLimits();\n\n\t\t// Ticks - `this.ticks` is now DEPRECATED!\n\t\t// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member\n\t\t// and must not be accessed directly from outside this class. `this.ticks` being\n\t\t// around for long time and not marked as private, we can't change its structure\n\t\t// without unexpected breaking changes. If you need to access the scale ticks,\n\t\t// use scale.getTicks() instead.\n\n\t\tme.beforeBuildTicks();\n\n\t\t// New implementations should return an array of objects but for BACKWARD COMPAT,\n\t\t// we still support no return (`this.ticks` internally set by calling this method).\n\t\tticks = me.buildTicks() || [];\n\n\t\tme.afterBuildTicks();\n\n\t\tme.beforeTickToLabelConversion();\n\n\t\t// New implementations should return the formatted tick labels but for BACKWARD\n\t\t// COMPAT, we still support no return (`this.ticks` internally changed by calling\n\t\t// this method and supposed to contain only string values).\n\t\tlabels = me.convertTicksToLabels(ticks) || me.ticks;\n\n\t\tme.afterTickToLabelConversion();\n\n\t\tme.ticks = labels; // BACKWARD COMPATIBILITY\n\n\t\t// IMPORTANT: from this point, we consider that `this.ticks` will NEVER change!\n\n\t\t// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)\n\t\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\n\t\t\tlabel = labels[i];\n\t\t\ttick = ticks[i];\n\t\t\tif (!tick) {\n\t\t\t\tticks.push(tick = {\n\t\t\t\t\tlabel: label,\n\t\t\t\t\tmajor: false\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\ttick.label = label;\n\t\t\t}\n\t\t}\n\n\t\tme._ticks = ticks;\n\n\t\t// Tick Rotation\n\t\tme.beforeCalculateTickRotation();\n\t\tme.calculateTickRotation();\n\t\tme.afterCalculateTickRotation();\n\t\t// Fit\n\t\tme.beforeFit();\n\t\tme.fit();\n\t\tme.afterFit();\n\t\t//\n\t\tme.afterUpdate();\n\n\t\treturn me.minSize;\n\n\t},\n\tafterUpdate: function() {\n\t\thelpers.callback(this.options.afterUpdate, [this]);\n\t},\n\n\t//\n\n\tbeforeSetDimensions: function() {\n\t\thelpers.callback(this.options.beforeSetDimensions, [this]);\n\t},\n\tsetDimensions: function() {\n\t\tvar me = this;\n\t\t// Set the unconstrained dimension before label rotation\n\t\tif (me.isHorizontal()) {\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.left = 0;\n\t\t\tme.right = me.width;\n\t\t} else {\n\t\t\tme.height = me.maxHeight;\n\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.top = 0;\n\t\t\tme.bottom = me.height;\n\t\t}\n\n\t\t// Reset padding\n\t\tme.paddingLeft = 0;\n\t\tme.paddingTop = 0;\n\t\tme.paddingRight = 0;\n\t\tme.paddingBottom = 0;\n\t},\n\tafterSetDimensions: function() {\n\t\thelpers.callback(this.options.afterSetDimensions, [this]);\n\t},\n\n\t// Data limits\n\tbeforeDataLimits: function() {\n\t\thelpers.callback(this.options.beforeDataLimits, [this]);\n\t},\n\tdetermineDataLimits: helpers.noop,\n\tafterDataLimits: function() {\n\t\thelpers.callback(this.options.afterDataLimits, [this]);\n\t},\n\n\t//\n\tbeforeBuildTicks: function() {\n\t\thelpers.callback(this.options.beforeBuildTicks, [this]);\n\t},\n\tbuildTicks: helpers.noop,\n\tafterBuildTicks: function() {\n\t\thelpers.callback(this.options.afterBuildTicks, [this]);\n\t},\n\n\tbeforeTickToLabelConversion: function() {\n\t\thelpers.callback(this.options.beforeTickToLabelConversion, [this]);\n\t},\n\tconvertTicksToLabels: function() {\n\t\tvar me = this;\n\t\t// Convert ticks to strings\n\t\tvar tickOpts = me.options.ticks;\n\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback, this);\n\t},\n\tafterTickToLabelConversion: function() {\n\t\thelpers.callback(this.options.afterTickToLabelConversion, [this]);\n\t},\n\n\t//\n\n\tbeforeCalculateTickRotation: function() {\n\t\thelpers.callback(this.options.beforeCalculateTickRotation, [this]);\n\t},\n\tcalculateTickRotation: function() {\n\t\tvar me = this;\n\t\tvar context = me.ctx;\n\t\tvar tickOpts = me.options.ticks;\n\t\tvar labels = labelsFromTicks(me._ticks);\n\n\t\t// Get the width of each grid by calculating the difference\n\t\t// between x offsets between 0 and 1.\n\t\tvar tickFont = parseFontOptions(tickOpts);\n\t\tcontext.font = tickFont.font;\n\n\t\tvar labelRotation = tickOpts.minRotation || 0;\n\n\t\tif (labels.length && me.options.display && me.isHorizontal()) {\n\t\t\tvar originalLabelWidth = helpers.longestText(context, tickFont.font, labels, me.longestTextCache);\n\t\t\tvar labelWidth = originalLabelWidth;\n\t\t\tvar cosRotation, sinRotation;\n\n\t\t\t// Allow 3 pixels x2 padding either side for label readability\n\t\t\tvar tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;\n\n\t\t\t// Max label rotation can be set or default to 90 - also act as a loop counter\n\t\t\twhile (labelWidth > tickWidth && labelRotation < tickOpts.maxRotation) {\n\t\t\t\tvar angleRadians = helpers.toRadians(labelRotation);\n\t\t\t\tcosRotation = Math.cos(angleRadians);\n\t\t\t\tsinRotation = Math.sin(angleRadians);\n\n\t\t\t\tif (sinRotation * originalLabelWidth > me.maxHeight) {\n\t\t\t\t\t// go back one step\n\t\t\t\t\tlabelRotation--;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlabelRotation++;\n\t\t\t\tlabelWidth = cosRotation * originalLabelWidth;\n\t\t\t}\n\t\t}\n\n\t\tme.labelRotation = labelRotation;\n\t},\n\tafterCalculateTickRotation: function() {\n\t\thelpers.callback(this.options.afterCalculateTickRotation, [this]);\n\t},\n\n\t//\n\n\tbeforeFit: function() {\n\t\thelpers.callback(this.options.beforeFit, [this]);\n\t},\n\tfit: function() {\n\t\tvar me = this;\n\t\t// Reset\n\t\tvar minSize = me.minSize = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t};\n\n\t\tvar labels = labelsFromTicks(me._ticks);\n\n\t\tvar opts = me.options;\n\t\tvar tickOpts = opts.ticks;\n\t\tvar scaleLabelOpts = opts.scaleLabel;\n\t\tvar gridLineOpts = opts.gridLines;\n\t\tvar display = opts.display;\n\t\tvar isHorizontal = me.isHorizontal();\n\n\t\tvar tickFont = parseFontOptions(tickOpts);\n\t\tvar tickMarkLength = opts.gridLines.tickMarkLength;\n\n\t\t// Width\n\t\tif (isHorizontal) {\n\t\t\t// subtract the margins to line up with the chartArea if we are a full width scale\n\t\t\tminSize.width = me.isFullWidth() ? me.maxWidth - me.margins.left - me.margins.right : me.maxWidth;\n\t\t} else {\n\t\t\tminSize.width = display && gridLineOpts.drawTicks ? tickMarkLength : 0;\n\t\t}\n\n\t\t// height\n\t\tif (isHorizontal) {\n\t\t\tminSize.height = display && gridLineOpts.drawTicks ? tickMarkLength : 0;\n\t\t} else {\n\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t}\n\n\t\t// Are we showing a title for the scale?\n\t\tif (scaleLabelOpts.display && display) {\n\t\t\tvar scaleLabelLineHeight = parseLineHeight(scaleLabelOpts);\n\t\t\tvar scaleLabelPadding = helpers.options.toPadding(scaleLabelOpts.padding);\n\t\t\tvar deltaHeight = scaleLabelLineHeight + scaleLabelPadding.height;\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tminSize.height += deltaHeight;\n\t\t\t} else {\n\t\t\t\tminSize.width += deltaHeight;\n\t\t\t}\n\t\t}\n\n\t\t// Don't bother fitting the ticks if we are not showing them\n\t\tif (tickOpts.display && display) {\n\t\t\tvar largestTextWidth = helpers.longestText(me.ctx, tickFont.font, labels, me.longestTextCache);\n\t\t\tvar tallestLabelHeightInLines = helpers.numberOfLabelLines(labels);\n\t\t\tvar lineSpace = tickFont.size * 0.5;\n\t\t\tvar tickPadding = me.options.ticks.padding;\n\n\t\t\tif (isHorizontal) {\n\t\t\t\t// A horizontal axis is more constrained by the height.\n\t\t\t\tme.longestLabelWidth = largestTextWidth;\n\n\t\t\t\tvar angleRadians = helpers.toRadians(me.labelRotation);\n\t\t\t\tvar cosRotation = Math.cos(angleRadians);\n\t\t\t\tvar sinRotation = Math.sin(angleRadians);\n\n\t\t\t\t// TODO - improve this calculation\n\t\t\t\tvar labelHeight = (sinRotation * largestTextWidth)\n\t\t\t\t\t+ (tickFont.size * tallestLabelHeightInLines)\n\t\t\t\t\t+ (lineSpace * (tallestLabelHeightInLines - 1))\n\t\t\t\t\t+ lineSpace; // padding\n\n\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\n\n\t\t\t\tme.ctx.font = tickFont.font;\n\t\t\t\tvar firstLabelWidth = computeTextSize(me.ctx, labels[0], tickFont.font);\n\t\t\t\tvar lastLabelWidth = computeTextSize(me.ctx, labels[labels.length - 1], tickFont.font);\n\n\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\n\t\t\t\t// which means that the right padding is dominated by the font height\n\t\t\t\tif (me.labelRotation !== 0) {\n\t\t\t\t\tme.paddingLeft = opts.position === 'bottom' ? (cosRotation * firstLabelWidth) + 3 : (cosRotation * lineSpace) + 3; // add 3 px to move away from canvas edges\n\t\t\t\t\tme.paddingRight = opts.position === 'bottom' ? (cosRotation * lineSpace) + 3 : (cosRotation * lastLabelWidth) + 3;\n\t\t\t\t} else {\n\t\t\t\t\tme.paddingLeft = firstLabelWidth / 2 + 3; // add 3 px to move away from canvas edges\n\t\t\t\t\tme.paddingRight = lastLabelWidth / 2 + 3;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// A vertical axis is more constrained by the width. Labels are the\n\t\t\t\t// dominant factor here, so get that length first and account for padding\n\t\t\t\tif (tickOpts.mirror) {\n\t\t\t\t\tlargestTextWidth = 0;\n\t\t\t\t} else {\n\t\t\t\t\t// use lineSpace for consistency with horizontal axis\n\t\t\t\t\t// tickPadding is not implemented for horizontal\n\t\t\t\t\tlargestTextWidth += tickPadding + lineSpace;\n\t\t\t\t}\n\n\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + largestTextWidth);\n\n\t\t\t\tme.paddingTop = tickFont.size / 2;\n\t\t\t\tme.paddingBottom = tickFont.size / 2;\n\t\t\t}\n\t\t}\n\n\t\tme.handleMargins();\n\n\t\tme.width = minSize.width;\n\t\tme.height = minSize.height;\n\t},\n\n\t/**\n\t * Handle margins and padding interactions\n\t * @private\n\t */\n\thandleMargins: function() {\n\t\tvar me = this;\n\t\tif (me.margins) {\n\t\t\tme.paddingLeft = Math.max(me.paddingLeft - me.margins.left, 0);\n\t\t\tme.paddingTop = Math.max(me.paddingTop - me.margins.top, 0);\n\t\t\tme.paddingRight = Math.max(me.paddingRight - me.margins.right, 0);\n\t\t\tme.paddingBottom = Math.max(me.paddingBottom - me.margins.bottom, 0);\n\t\t}\n\t},\n\n\tafterFit: function() {\n\t\thelpers.callback(this.options.afterFit, [this]);\n\t},\n\n\t// Shared Methods\n\tisHorizontal: function() {\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\n\t},\n\tisFullWidth: function() {\n\t\treturn (this.options.fullWidth);\n\t},\n\n\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\n\tgetRightValue: function(rawValue) {\n\t\t// Null and undefined values first\n\t\tif (helpers.isNullOrUndef(rawValue)) {\n\t\t\treturn NaN;\n\t\t}\n\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\n\t\tif (typeof rawValue === 'number' && !isFinite(rawValue)) {\n\t\t\treturn NaN;\n\t\t}\n\t\t// If it is in fact an object, dive in one more level\n\t\tif (rawValue) {\n\t\t\tif (this.isHorizontal()) {\n\t\t\t\tif (rawValue.x !== undefined) {\n\t\t\t\t\treturn this.getRightValue(rawValue.x);\n\t\t\t\t}\n\t\t\t} else if (rawValue.y !== undefined) {\n\t\t\t\treturn this.getRightValue(rawValue.y);\n\t\t\t}\n\t\t}\n\n\t\t// Value is good, return it\n\t\treturn rawValue;\n\t},\n\n\t/**\n\t * Used to get the value to display in the tooltip for the data at the given index\n\t * @param index\n\t * @param datasetIndex\n\t */\n\tgetLabelForIndex: helpers.noop,\n\n\t/**\n\t * Returns the location of the given data point. Value can either be an index or a numerical value\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param value\n\t * @param index\n\t * @param datasetIndex\n\t */\n\tgetPixelForValue: helpers.noop,\n\n\t/**\n\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param pixel\n\t */\n\tgetValueForPixel: helpers.noop,\n\n\t/**\n\t * Returns the location of the tick at the given index\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t */\n\tgetPixelForTick: function(index) {\n\t\tvar me = this;\n\t\tvar offset = me.options.offset;\n\t\tif (me.isHorizontal()) {\n\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\n\t\t\tvar tickWidth = innerWidth / Math.max((me._ticks.length - (offset ? 0 : 1)), 1);\n\t\t\tvar pixel = (tickWidth * index) + me.paddingLeft;\n\n\t\t\tif (offset) {\n\t\t\t\tpixel += tickWidth / 2;\n\t\t\t}\n\n\t\t\tvar finalVal = me.left + Math.round(pixel);\n\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\n\t\t\treturn finalVal;\n\t\t}\n\t\tvar innerHeight = me.height - (me.paddingTop + me.paddingBottom);\n\t\treturn me.top + (index * (innerHeight / (me._ticks.length - 1)));\n\t},\n\n\t/**\n\t * Utility for getting the pixel location of a percentage of scale\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t */\n\tgetPixelForDecimal: function(decimal) {\n\t\tvar me = this;\n\t\tif (me.isHorizontal()) {\n\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\n\t\t\tvar valueOffset = (innerWidth * decimal) + me.paddingLeft;\n\n\t\t\tvar finalVal = me.left + Math.round(valueOffset);\n\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\n\t\t\treturn finalVal;\n\t\t}\n\t\treturn me.top + (decimal * me.height);\n\t},\n\n\t/**\n\t * Returns the pixel for the minimum chart value\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t */\n\tgetBasePixel: function() {\n\t\treturn this.getPixelForValue(this.getBaseValue());\n\t},\n\n\tgetBaseValue: function() {\n\t\tvar me = this;\n\t\tvar min = me.min;\n\t\tvar max = me.max;\n\n\t\treturn me.beginAtZero ? 0 :\n\t\t\tmin < 0 && max < 0 ? max :\n\t\t\tmin > 0 && max > 0 ? min :\n\t\t\t0;\n\t},\n\n\t/**\n\t * Returns a subset of ticks to be plotted to avoid overlapping labels.\n\t * @private\n\t */\n\t_autoSkip: function(ticks) {\n\t\tvar skipRatio;\n\t\tvar me = this;\n\t\tvar isHorizontal = me.isHorizontal();\n\t\tvar optionTicks = me.options.ticks.minor;\n\t\tvar tickCount = ticks.length;\n\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\n\t\tvar cosRotation = Math.cos(labelRotationRadians);\n\t\tvar longestRotatedLabel = me.longestLabelWidth * cosRotation;\n\t\tvar result = [];\n\t\tvar i, tick, shouldSkip;\n\n\t\t// figure out the maximum number of gridlines to show\n\t\tvar maxTicks;\n\t\tif (optionTicks.maxTicksLimit) {\n\t\t\tmaxTicks = optionTicks.maxTicksLimit;\n\t\t}\n\n\t\tif (isHorizontal) {\n\t\t\tskipRatio = false;\n\n\t\t\tif ((longestRotatedLabel + optionTicks.autoSkipPadding) * tickCount > (me.width - (me.paddingLeft + me.paddingRight))) {\n\t\t\t\tskipRatio = 1 + Math.floor(((longestRotatedLabel + optionTicks.autoSkipPadding) * tickCount) / (me.width - (me.paddingLeft + me.paddingRight)));\n\t\t\t}\n\n\t\t\t// if they defined a max number of optionTicks,\n\t\t\t// increase skipRatio until that number is met\n\t\t\tif (maxTicks && tickCount > maxTicks) {\n\t\t\t\tskipRatio = Math.max(skipRatio, Math.floor(tickCount / maxTicks));\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < tickCount; i++) {\n\t\t\ttick = ticks[i];\n\n\t\t\t// Since we always show the last tick,we need may need to hide the last shown one before\n\t\t\tshouldSkip = (skipRatio > 1 && i % skipRatio > 0) || (i % skipRatio === 0 && i + skipRatio >= tickCount);\n\t\t\tif (shouldSkip && i !== tickCount - 1) {\n\t\t\t\t// leave tick in place but make sure it's not displayed (#4635)\n\t\t\t\tdelete tick.label;\n\t\t\t}\n\t\t\tresult.push(tick);\n\t\t}\n\t\treturn result;\n\t},\n\n\t// Actually draw the scale on the canvas\n\t// @param {rectangle} chartArea : the area of the chart to draw full grid lines on\n\tdraw: function(chartArea) {\n\t\tvar me = this;\n\t\tvar options = me.options;\n\t\tif (!options.display) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar context = me.ctx;\n\t\tvar globalDefaults = defaults.global;\n\t\tvar optionTicks = options.ticks.minor;\n\t\tvar optionMajorTicks = options.ticks.major || optionTicks;\n\t\tvar gridLines = options.gridLines;\n\t\tvar scaleLabel = options.scaleLabel;\n\n\t\tvar isRotated = me.labelRotation !== 0;\n\t\tvar isHorizontal = me.isHorizontal();\n\n\t\tvar ticks = optionTicks.autoSkip ? me._autoSkip(me.getTicks()) : me.getTicks();\n\t\tvar tickFontColor = helpers.valueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);\n\t\tvar tickFont = parseFontOptions(optionTicks);\n\t\tvar majorTickFontColor = helpers.valueOrDefault(optionMajorTicks.fontColor, globalDefaults.defaultFontColor);\n\t\tvar majorTickFont = parseFontOptions(optionMajorTicks);\n\n\t\tvar tl = gridLines.drawTicks ? gridLines.tickMarkLength : 0;\n\n\t\tvar scaleLabelFontColor = helpers.valueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);\n\t\tvar scaleLabelFont = parseFontOptions(scaleLabel);\n\t\tvar scaleLabelPadding = helpers.options.toPadding(scaleLabel.padding);\n\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\n\n\t\tvar itemsToDraw = [];\n\n\t\tvar axisWidth = me.options.gridLines.lineWidth;\n\t\tvar xTickStart = options.position === 'right' ? me.left : me.right - axisWidth - tl;\n\t\tvar xTickEnd = options.position === 'right' ? me.left + tl : me.right;\n\t\tvar yTickStart = options.position === 'bottom' ? me.top + axisWidth : me.bottom - tl - axisWidth;\n\t\tvar yTickEnd = options.position === 'bottom' ? me.top + axisWidth + tl : me.bottom + axisWidth;\n\n\t\thelpers.each(ticks, function(tick, index) {\n\t\t\t// autoskipper skipped this tick (#4635)\n\t\t\tif (helpers.isNullOrUndef(tick.label)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar label = tick.label;\n\t\t\tvar lineWidth, lineColor, borderDash, borderDashOffset;\n\t\t\tif (index === me.zeroLineIndex && options.offset === gridLines.offsetGridLines) {\n\t\t\t\t// Draw the first index specially\n\t\t\t\tlineWidth = gridLines.zeroLineWidth;\n\t\t\t\tlineColor = gridLines.zeroLineColor;\n\t\t\t\tborderDash = gridLines.zeroLineBorderDash;\n\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset;\n\t\t\t} else {\n\t\t\t\tlineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, index);\n\t\t\t\tlineColor = helpers.valueAtIndexOrDefault(gridLines.color, index);\n\t\t\t\tborderDash = helpers.valueOrDefault(gridLines.borderDash, globalDefaults.borderDash);\n\t\t\t\tborderDashOffset = helpers.valueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);\n\t\t\t}\n\n\t\t\t// Common properties\n\t\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, labelX, labelY;\n\t\t\tvar textAlign = 'middle';\n\t\t\tvar textBaseline = 'middle';\n\t\t\tvar tickPadding = optionTicks.padding;\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tvar labelYOffset = tl + tickPadding;\n\n\t\t\t\tif (options.position === 'bottom') {\n\t\t\t\t\t// bottom\n\t\t\t\t\ttextBaseline = !isRotated ? 'top' : 'middle';\n\t\t\t\t\ttextAlign = !isRotated ? 'center' : 'right';\n\t\t\t\t\tlabelY = me.top + labelYOffset;\n\t\t\t\t} else {\n\t\t\t\t\t// top\n\t\t\t\t\ttextBaseline = !isRotated ? 'bottom' : 'middle';\n\t\t\t\t\ttextAlign = !isRotated ? 'center' : 'left';\n\t\t\t\t\tlabelY = me.bottom - labelYOffset;\n\t\t\t\t}\n\n\t\t\t\tvar xLineValue = getLineValue(me, index, gridLines.offsetGridLines && ticks.length > 1);\n\t\t\t\tif (xLineValue < me.left) {\n\t\t\t\t\tlineColor = 'rgba(0,0,0,0)';\n\t\t\t\t}\n\t\t\t\txLineValue += helpers.aliasPixel(lineWidth);\n\n\t\t\t\tlabelX = me.getPixelForTick(index) + optionTicks.labelOffset; // x values for optionTicks (need to consider offsetLabel option)\n\n\t\t\t\ttx1 = tx2 = x1 = x2 = xLineValue;\n\t\t\t\tty1 = yTickStart;\n\t\t\t\tty2 = yTickEnd;\n\t\t\t\ty1 = chartArea.top;\n\t\t\t\ty2 = chartArea.bottom + axisWidth;\n\t\t\t} else {\n\t\t\t\tvar isLeft = options.position === 'left';\n\t\t\t\tvar labelXOffset;\n\n\t\t\t\tif (optionTicks.mirror) {\n\t\t\t\t\ttextAlign = isLeft ? 'left' : 'right';\n\t\t\t\t\tlabelXOffset = tickPadding;\n\t\t\t\t} else {\n\t\t\t\t\ttextAlign = isLeft ? 'right' : 'left';\n\t\t\t\t\tlabelXOffset = tl + tickPadding;\n\t\t\t\t}\n\n\t\t\t\tlabelX = isLeft ? me.right - labelXOffset : me.left + labelXOffset;\n\n\t\t\t\tvar yLineValue = getLineValue(me, index, gridLines.offsetGridLines && ticks.length > 1);\n\t\t\t\tif (yLineValue < me.top) {\n\t\t\t\t\tlineColor = 'rgba(0,0,0,0)';\n\t\t\t\t}\n\t\t\t\tyLineValue += helpers.aliasPixel(lineWidth);\n\n\t\t\t\tlabelY = me.getPixelForTick(index) + optionTicks.labelOffset;\n\n\t\t\t\ttx1 = xTickStart;\n\t\t\t\ttx2 = xTickEnd;\n\t\t\t\tx1 = chartArea.left;\n\t\t\t\tx2 = chartArea.right + axisWidth;\n\t\t\t\tty1 = ty2 = y1 = y2 = yLineValue;\n\t\t\t}\n\n\t\t\titemsToDraw.push({\n\t\t\t\ttx1: tx1,\n\t\t\t\tty1: ty1,\n\t\t\t\ttx2: tx2,\n\t\t\t\tty2: ty2,\n\t\t\t\tx1: x1,\n\t\t\t\ty1: y1,\n\t\t\t\tx2: x2,\n\t\t\t\ty2: y2,\n\t\t\t\tlabelX: labelX,\n\t\t\t\tlabelY: labelY,\n\t\t\t\tglWidth: lineWidth,\n\t\t\t\tglColor: lineColor,\n\t\t\t\tglBorderDash: borderDash,\n\t\t\t\tglBorderDashOffset: borderDashOffset,\n\t\t\t\trotation: -1 * labelRotationRadians,\n\t\t\t\tlabel: label,\n\t\t\t\tmajor: tick.major,\n\t\t\t\ttextBaseline: textBaseline,\n\t\t\t\ttextAlign: textAlign\n\t\t\t});\n\t\t});\n\n\t\t// Draw all of the tick labels, tick marks, and grid lines at the correct places\n\t\thelpers.each(itemsToDraw, function(itemToDraw) {\n\t\t\tif (gridLines.display) {\n\t\t\t\tcontext.save();\n\t\t\t\tcontext.lineWidth = itemToDraw.glWidth;\n\t\t\t\tcontext.strokeStyle = itemToDraw.glColor;\n\t\t\t\tif (context.setLineDash) {\n\t\t\t\t\tcontext.setLineDash(itemToDraw.glBorderDash);\n\t\t\t\t\tcontext.lineDashOffset = itemToDraw.glBorderDashOffset;\n\t\t\t\t}\n\n\t\t\t\tcontext.beginPath();\n\n\t\t\t\tif (gridLines.drawTicks) {\n\t\t\t\t\tcontext.moveTo(itemToDraw.tx1, itemToDraw.ty1);\n\t\t\t\t\tcontext.lineTo(itemToDraw.tx2, itemToDraw.ty2);\n\t\t\t\t}\n\n\t\t\t\tif (gridLines.drawOnChartArea) {\n\t\t\t\t\tcontext.moveTo(itemToDraw.x1, itemToDraw.y1);\n\t\t\t\t\tcontext.lineTo(itemToDraw.x2, itemToDraw.y2);\n\t\t\t\t}\n\n\t\t\t\tcontext.stroke();\n\t\t\t\tcontext.restore();\n\t\t\t}\n\n\t\t\tif (optionTicks.display) {\n\t\t\t\t// Make sure we draw text in the correct color and font\n\t\t\t\tcontext.save();\n\t\t\t\tcontext.translate(itemToDraw.labelX, itemToDraw.labelY);\n\t\t\t\tcontext.rotate(itemToDraw.rotation);\n\t\t\t\tcontext.font = itemToDraw.major ? majorTickFont.font : tickFont.font;\n\t\t\t\tcontext.fillStyle = itemToDraw.major ? majorTickFontColor : tickFontColor;\n\t\t\t\tcontext.textBaseline = itemToDraw.textBaseline;\n\t\t\t\tcontext.textAlign = itemToDraw.textAlign;\n\n\t\t\t\tvar label = itemToDraw.label;\n\t\t\t\tif (helpers.isArray(label)) {\n\t\t\t\t\tvar lineCount = label.length;\n\t\t\t\t\tvar lineHeight = tickFont.size * 1.5;\n\t\t\t\t\tvar y = me.isHorizontal() ? 0 : -lineHeight * (lineCount - 1) / 2;\n\n\t\t\t\t\tfor (var i = 0; i < lineCount; ++i) {\n\t\t\t\t\t\t// We just make sure the multiline element is a string here..\n\t\t\t\t\t\tcontext.fillText('' + label[i], 0, y);\n\t\t\t\t\t\t// apply same lineSpacing as calculated @ L#320\n\t\t\t\t\t\ty += lineHeight;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontext.fillText(label, 0, 0);\n\t\t\t\t}\n\t\t\t\tcontext.restore();\n\t\t\t}\n\t\t});\n\n\t\tif (scaleLabel.display) {\n\t\t\t// Draw the scale label\n\t\t\tvar scaleLabelX;\n\t\t\tvar scaleLabelY;\n\t\t\tvar rotation = 0;\n\t\t\tvar halfLineHeight = parseLineHeight(scaleLabel) / 2;\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tscaleLabelX = me.left + ((me.right - me.left) / 2); // midpoint of the width\n\t\t\t\tscaleLabelY = options.position === 'bottom'\n\t\t\t\t\t? me.bottom - halfLineHeight - scaleLabelPadding.bottom\n\t\t\t\t\t: me.top + halfLineHeight + scaleLabelPadding.top;\n\t\t\t} else {\n\t\t\t\tvar isLeft = options.position === 'left';\n\t\t\t\tscaleLabelX = isLeft\n\t\t\t\t\t? me.left + halfLineHeight + scaleLabelPadding.top\n\t\t\t\t\t: me.right - halfLineHeight - scaleLabelPadding.top;\n\t\t\t\tscaleLabelY = me.top + ((me.bottom - me.top) / 2);\n\t\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\n\t\t\t}\n\n\t\t\tcontext.save();\n\t\t\tcontext.translate(scaleLabelX, scaleLabelY);\n\t\t\tcontext.rotate(rotation);\n\t\t\tcontext.textAlign = 'center';\n\t\t\tcontext.textBaseline = 'middle';\n\t\t\tcontext.fillStyle = scaleLabelFontColor; // render in correct colour\n\t\t\tcontext.font = scaleLabelFont.font;\n\t\t\tcontext.fillText(scaleLabel.labelString, 0, 0);\n\t\t\tcontext.restore();\n\t\t}\n\n\t\tif (gridLines.drawBorder) {\n\t\t\t// Draw the line at the edge of the axis\n\t\t\tcontext.lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, 0);\n\t\t\tcontext.strokeStyle = helpers.valueAtIndexOrDefault(gridLines.color, 0);\n\t\t\tvar x1 = me.left;\n\t\t\tvar x2 = me.right + axisWidth;\n\t\t\tvar y1 = me.top;\n\t\t\tvar y2 = me.bottom + axisWidth;\n\n\t\t\tvar aliasPixel = helpers.aliasPixel(context.lineWidth);\n\t\t\tif (isHorizontal) {\n\t\t\t\ty1 = y2 = options.position === 'top' ? me.bottom : me.top;\n\t\t\t\ty1 += aliasPixel;\n\t\t\t\ty2 += aliasPixel;\n\t\t\t} else {\n\t\t\t\tx1 = x2 = options.position === 'left' ? me.right : me.left;\n\t\t\t\tx1 += aliasPixel;\n\t\t\t\tx2 += aliasPixel;\n\t\t\t}\n\n\t\t\tcontext.beginPath();\n\t\t\tcontext.moveTo(x1, y1);\n\t\t\tcontext.lineTo(x2, y2);\n\t\t\tcontext.stroke();\n\t\t}\n\t}\n});\n","/* global window: false */\n'use strict';\n\nvar defaults = require('./core.defaults');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'easeOutQuart',\n\t\tonProgress: helpers.noop,\n\t\tonComplete: helpers.noop\n\t}\n});\n\nmodule.exports = {\n\tframeDuration: 17,\n\tanimations: [],\n\tdropFrames: 0,\n\trequest: null,\n\n\t/**\n\t * @param {Chart} chart - The chart to animate.\n\t * @param {Chart.Animation} animation - The animation that we will animate.\n\t * @param {Number} duration - The animation duration in ms.\n\t * @param {Boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\n\t */\n\taddAnimation: function(chart, animation, duration, lazy) {\n\t\tvar animations = this.animations;\n\t\tvar i, ilen;\n\n\t\tanimation.chart = chart;\n\n\t\tif (!lazy) {\n\t\t\tchart.animating = true;\n\t\t}\n\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\n\t\t\tif (animations[i].chart === chart) {\n\t\t\t\tanimations[i] = animation;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tanimations.push(animation);\n\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\n\t\tif (animations.length === 1) {\n\t\t\tthis.requestAnimationFrame();\n\t\t}\n\t},\n\n\tcancelAnimation: function(chart) {\n\t\tvar index = helpers.findIndex(this.animations, function(animation) {\n\t\t\treturn animation.chart === chart;\n\t\t});\n\n\t\tif (index !== -1) {\n\t\t\tthis.animations.splice(index, 1);\n\t\t\tchart.animating = false;\n\t\t}\n\t},\n\n\trequestAnimationFrame: function() {\n\t\tvar me = this;\n\t\tif (me.request === null) {\n\t\t\t// Skip animation frame requests until the active one is executed.\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\n\t\t\t// and 'mouseout' events will trigger multiple renders.\n\t\t\tme.request = helpers.requestAnimFrame.call(window, function() {\n\t\t\t\tme.request = null;\n\t\t\t\tme.startDigest();\n\t\t\t});\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tstartDigest: function() {\n\t\tvar me = this;\n\t\tvar startTime = Date.now();\n\t\tvar framesToDrop = 0;\n\n\t\tif (me.dropFrames > 1) {\n\t\t\tframesToDrop = Math.floor(me.dropFrames);\n\t\t\tme.dropFrames = me.dropFrames % 1;\n\t\t}\n\n\t\tme.advance(1 + framesToDrop);\n\n\t\tvar endTime = Date.now();\n\n\t\tme.dropFrames += (endTime - startTime) / me.frameDuration;\n\n\t\t// Do we have more stuff to animate?\n\t\tif (me.animations.length > 0) {\n\t\t\tme.requestAnimationFrame();\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tadvance: function(count) {\n\t\tvar animations = this.animations;\n\t\tvar animation, chart;\n\t\tvar i = 0;\n\n\t\twhile (i < animations.length) {\n\t\t\tanimation = animations[i];\n\t\t\tchart = animation.chart;\n\n\t\t\tanimation.currentStep = (animation.currentStep || 0) + count;\n\t\t\tanimation.currentStep = Math.min(animation.currentStep, animation.numSteps);\n\n\t\t\thelpers.callback(animation.render, [chart, animation], chart);\n\t\t\thelpers.callback(animation.onAnimationProgress, [animation], chart);\n\n\t\t\tif (animation.currentStep >= animation.numSteps) {\n\t\t\t\thelpers.callback(animation.onAnimationComplete, [animation], chart);\n\t\t\t\tchart.animating = false;\n\t\t\t\tanimations.splice(i, 1);\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n};\n","var bearing = require('@turf/bearing');\nvar destination = require('@turf/destination');\nvar distance = require('@turf/distance');\n\n/**\n * Takes two {@link Point|points} and returns a point midway between them.\n * The midpoint is calculated geodesically, meaning the curvature of the earth is taken into account.\n *\n * @name midpoint\n * @param {Geometry|Feature|Array} point1 first point\n * @param {Geometry|Feature|Array} point2 second point\n * @returns {Feature} a point midway between `pt1` and `pt2`\n * @example\n * var point1 = turf.point([144.834823, -37.771257]);\n * var point2 = turf.point([145.14244, -37.830937]);\n *\n * var midpoint = turf.midpoint(point1, point2);\n *\n * //addToMap\n * var addToMap = [point1, point2, midpoint];\n * midpoint.properties['marker-color'] = '#f00';\n */\nmodule.exports = function (point1, point2) {\n var dist = distance(point1, point2, 'miles');\n var heading = bearing(point1, point2);\n var midpoint = destination(point1, dist / 2, heading, 'miles');\n\n return midpoint;\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"map-palette-selector\"},[_c('label',[_c('IxRes',[_vm._v(\"Common.SR_Common.MapPaletteSelector_label\")])],1),_c('br'),_vm._l((_vm.options),function(option,i){return _c('BsRadio',{key:option,attrs:{\"value\":option,\"inline\":\"\"},model:{value:(_vm.modelProxy),callback:function ($$v) {_vm.modelProxy=$$v},expression:\"modelProxy\"}},[_c('div',{staticClass:\"palette-option\"},[_c('div',{staticClass:\"palette-name\"},[_c('IxRes',[_vm._v(\"Common.SR_Common.MapPalette_\"+_vm._s(option))])],1),_c('div',{staticClass:\"palette-preview\"},_vm._l((_vm.colors[i]),function(color,j){return _c('div',{key:j,staticClass:\"palette-item\",style:({backgroundColor: color})})}),0)])])}),_c('HelpBox',{staticClass:\"palette-description\"},[_c('IxRes',[_vm._v(\"Common.SR_Common.MapPalette_\"+_vm._s(_vm.value)+\"_description\")])],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaletteSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaletteSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapPaletteSelector.vue?vue&type=template&id=53cd579e&scoped=true&lang=html&\"\nimport script from \"./MapPaletteSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./MapPaletteSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MapPaletteSelector.vue?vue&type=style&index=0&id=53cd579e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"53cd579e\",\n null\n \n)\n\nexport default component.exports","var getCoords = require('@turf/invariant').getCoords;\nvar helpers = require('@turf/helpers');\nvar lineString = helpers.lineString;\nvar multiLineString = helpers.multiLineString;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Converts a {@link Polygon} to {@link LineString|(Multi)LineString} or {@link MultiPolygon} to a {@link FeatureCollection} of {@link LineString|(Multi)LineString}.\n *\n * @name polygonToLineString\n * @param {Feature} polygon Feature to convert\n * @param {Object} [properties] translates GeoJSON properties to Feature\n * @returns {FeatureCollection|Feature} converted (Multi)Polygon to (Multi)LineString\n * @example\n * var poly = turf.polygon([[[125, -30], [145, -30], [145, -20], [125, -20], [125, -30]]]);\n *\n * var line = turf.polygonToLineString(poly);\n *\n * //addToMap\n * var addToMap = [line];\n */\nmodule.exports = function (polygon, properties) {\n var geom = getGeomType(polygon);\n var coords = getCoords(polygon);\n properties = properties || polygon.properties || {};\n\n if (!coords.length) throw new Error('polygon must contain coordinates');\n\n switch (geom) {\n case 'Polygon':\n return coordsToLine(coords, properties);\n case 'MultiPolygon':\n var lines = [];\n coords.forEach(function (coord) {\n lines.push(coordsToLine(coord, properties));\n });\n return featureCollection(lines);\n default:\n throw new Error('geom ' + geom + ' not supported');\n }\n};\n\nfunction coordsToLine(coords, properties) {\n if (coords.length > 1) return multiLineString(coords, properties);\n return lineString(coords[0], properties);\n}\n\nfunction getGeomType(feature) {\n return (feature.geometry) ? feature.geometry.type : feature.type;\n}\n","import mod from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedSummary.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedSummary.vue?vue&type=style&index=0&lang=scss&module=true&\"","'use strict'\n\nmodule.exports = affineHull\n\nvar orient = require('robust-orientation')\n\nfunction linearlyIndependent(points, d) {\n var nhull = new Array(d+1)\n for(var i=0; i\r\n
\r\n \r\n Invalid map\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsApplicationMapTotalSum.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsApplicationMapTotalSum.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsApplicationMapTotalSum.vue?vue&type=template&id=4362b7fe&scoped=true&lang=html&\"\nimport script from \"./FrsApplicationMapTotalSum.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsApplicationMapTotalSum.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4362b7fe\",\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar helpers = require('../helpers/index');\n\nfunction filterByPosition(array, position) {\n\treturn helpers.where(array, function(v) {\n\t\treturn v.position === position;\n\t});\n}\n\nfunction sortByWeight(array, reverse) {\n\tarray.forEach(function(v, i) {\n\t\tv._tmpIndex_ = i;\n\t\treturn v;\n\t});\n\tarray.sort(function(a, b) {\n\t\tvar v0 = reverse ? b : a;\n\t\tvar v1 = reverse ? a : b;\n\t\treturn v0.weight === v1.weight ?\n\t\t\tv0._tmpIndex_ - v1._tmpIndex_ :\n\t\t\tv0.weight - v1.weight;\n\t});\n\tarray.forEach(function(v) {\n\t\tdelete v._tmpIndex_;\n\t});\n}\n\n/**\n * @interface ILayoutItem\n * @prop {String} position - The position of the item in the chart layout. Possible values are\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\n * @prop {Number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n * @prop {Boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\n * @prop {Function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n * @prop {Function} update - Takes two parameters: width and height. Returns size of item\n * @prop {Function} getPadding - Returns an object with padding on the edges\n * @prop {Number} width - Width of item. Must be valid after update()\n * @prop {Number} height - Height of item. Must be valid after update()\n * @prop {Number} left - Left edge of the item. Set by layout system and cannot be used in update\n * @prop {Number} top - Top edge of the item. Set by layout system and cannot be used in update\n * @prop {Number} right - Right edge of the item. Set by layout system and cannot be used in update\n * @prop {Number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n */\n\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n// It is this service's responsibility of carrying out that layout.\nmodule.exports = {\n\tdefaults: {},\n\n\t/**\n\t * Register a box to a chart.\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t * @param {Chart} chart - the chart to use\n\t * @param {ILayoutItem} item - the item to add to be layed out\n\t */\n\taddBox: function(chart, item) {\n\t\tif (!chart.boxes) {\n\t\t\tchart.boxes = [];\n\t\t}\n\n\t\t// initialize item with default values\n\t\titem.fullWidth = item.fullWidth || false;\n\t\titem.position = item.position || 'top';\n\t\titem.weight = item.weight || 0;\n\n\t\tchart.boxes.push(item);\n\t},\n\n\t/**\n\t * Remove a layoutItem from a chart\n\t * @param {Chart} chart - the chart to remove the box from\n\t * @param {Object} layoutItem - the item to remove from the layout\n\t */\n\tremoveBox: function(chart, layoutItem) {\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n\t\tif (index !== -1) {\n\t\t\tchart.boxes.splice(index, 1);\n\t\t}\n\t},\n\n\t/**\n\t * Sets (or updates) options on the given `item`.\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t * @param {Object} item - the item to configure with the given options\n\t * @param {Object} options - the new item options.\n\t */\n\tconfigure: function(chart, item, options) {\n\t\tvar props = ['fullWidth', 'position', 'weight'];\n\t\tvar ilen = props.length;\n\t\tvar i = 0;\n\t\tvar prop;\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\tprop = props[i];\n\t\t\tif (options.hasOwnProperty(prop)) {\n\t\t\t\titem[prop] = options[prop];\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t * then running a fitting algorithm\n\t * @param {Chart} chart - the chart\n\t * @param {Number} width - the width to fit into\n\t * @param {Number} height - the height to fit into\n\t */\n\tupdate: function(chart, width, height) {\n\t\tif (!chart) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar layoutOptions = chart.options.layout || {};\n\t\tvar padding = helpers.options.toPadding(layoutOptions.padding);\n\t\tvar leftPadding = padding.left;\n\t\tvar rightPadding = padding.right;\n\t\tvar topPadding = padding.top;\n\t\tvar bottomPadding = padding.bottom;\n\n\t\tvar leftBoxes = filterByPosition(chart.boxes, 'left');\n\t\tvar rightBoxes = filterByPosition(chart.boxes, 'right');\n\t\tvar topBoxes = filterByPosition(chart.boxes, 'top');\n\t\tvar bottomBoxes = filterByPosition(chart.boxes, 'bottom');\n\t\tvar chartAreaBoxes = filterByPosition(chart.boxes, 'chartArea');\n\n\t\t// Sort boxes by weight. A higher weight is further away from the chart area\n\t\tsortByWeight(leftBoxes, true);\n\t\tsortByWeight(rightBoxes, false);\n\t\tsortByWeight(topBoxes, true);\n\t\tsortByWeight(bottomBoxes, false);\n\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\n\t\t// Our canvas looks like the following.\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n\t\t// B1 is the bottom axis\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n\t\t// an error will be thrown.\n\t\t//\n\t\t// |----------------------------------------------------|\n\t\t// | T1 (Full Width) |\n\t\t// |----------------------------------------------------|\n\t\t// | | | T2 | |\n\t\t// | |----|-------------------------------------|----|\n\t\t// | | | C1 | | C2 | |\n\t\t// | | |----| |----| |\n\t\t// | | | | |\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\n\t\t// | | | | |\n\t\t// | | |----| |----| |\n\t\t// | | | C3 | | C4 | |\n\t\t// | |----|-------------------------------------|----|\n\t\t// | | | B1 | |\n\t\t// |----------------------------------------------------|\n\t\t// | B2 (Full Width) |\n\t\t// |----------------------------------------------------|\n\t\t//\n\t\t// What we do to find the best sizing, we do the following\n\t\t// 1. Determine the minimum size of the chart area.\n\t\t// 2. Split the remaining width equally between each vertical axis\n\t\t// 3. Split the remaining height equally between each horizontal axis\n\t\t// 4. Give each layout the maximum size it can be. The layout will return it's minimum size\n\t\t// 5. Adjust the sizes of each axis based on it's minimum reported size.\n\t\t// 6. Refit each axis\n\t\t// 7. Position each axis in the final location\n\t\t// 8. Tell the chart the final location of the chart area\n\t\t// 9. Tell any axes that overlay the chart area the positions of the chart area\n\n\t\t// Step 1\n\t\tvar chartWidth = width - leftPadding - rightPadding;\n\t\tvar chartHeight = height - topPadding - bottomPadding;\n\t\tvar chartAreaWidth = chartWidth / 2; // min 50%\n\t\tvar chartAreaHeight = chartHeight / 2; // min 50%\n\n\t\t// Step 2\n\t\tvar verticalBoxWidth = (width - chartAreaWidth) / (leftBoxes.length + rightBoxes.length);\n\n\t\t// Step 3\n\t\tvar horizontalBoxHeight = (height - chartAreaHeight) / (topBoxes.length + bottomBoxes.length);\n\n\t\t// Step 4\n\t\tvar maxChartAreaWidth = chartWidth;\n\t\tvar maxChartAreaHeight = chartHeight;\n\t\tvar minBoxSizes = [];\n\n\t\tfunction getMinimumBoxSize(box) {\n\t\t\tvar minSize;\n\t\t\tvar isHorizontal = box.isHorizontal();\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tminSize = box.update(box.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);\n\t\t\t\tmaxChartAreaHeight -= minSize.height;\n\t\t\t} else {\n\t\t\t\tminSize = box.update(verticalBoxWidth, maxChartAreaHeight);\n\t\t\t\tmaxChartAreaWidth -= minSize.width;\n\t\t\t}\n\n\t\t\tminBoxSizes.push({\n\t\t\t\thorizontal: isHorizontal,\n\t\t\t\tminSize: minSize,\n\t\t\t\tbox: box,\n\t\t\t});\n\t\t}\n\n\t\thelpers.each(leftBoxes.concat(rightBoxes, topBoxes, bottomBoxes), getMinimumBoxSize);\n\n\t\t// If a horizontal box has padding, we move the left boxes over to avoid ugly charts (see issue #2478)\n\t\tvar maxHorizontalLeftPadding = 0;\n\t\tvar maxHorizontalRightPadding = 0;\n\t\tvar maxVerticalTopPadding = 0;\n\t\tvar maxVerticalBottomPadding = 0;\n\n\t\thelpers.each(topBoxes.concat(bottomBoxes), function(horizontalBox) {\n\t\t\tif (horizontalBox.getPadding) {\n\t\t\t\tvar boxPadding = horizontalBox.getPadding();\n\t\t\t\tmaxHorizontalLeftPadding = Math.max(maxHorizontalLeftPadding, boxPadding.left);\n\t\t\t\tmaxHorizontalRightPadding = Math.max(maxHorizontalRightPadding, boxPadding.right);\n\t\t\t}\n\t\t});\n\n\t\thelpers.each(leftBoxes.concat(rightBoxes), function(verticalBox) {\n\t\t\tif (verticalBox.getPadding) {\n\t\t\t\tvar boxPadding = verticalBox.getPadding();\n\t\t\t\tmaxVerticalTopPadding = Math.max(maxVerticalTopPadding, boxPadding.top);\n\t\t\t\tmaxVerticalBottomPadding = Math.max(maxVerticalBottomPadding, boxPadding.bottom);\n\t\t\t}\n\t\t});\n\n\t\t// At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could\n\t\t// be if the axes are drawn at their minimum sizes.\n\t\t// Steps 5 & 6\n\t\tvar totalLeftBoxesWidth = leftPadding;\n\t\tvar totalRightBoxesWidth = rightPadding;\n\t\tvar totalTopBoxesHeight = topPadding;\n\t\tvar totalBottomBoxesHeight = bottomPadding;\n\n\t\t// Function to fit a box\n\t\tfunction fitBox(box) {\n\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBox) {\n\t\t\t\treturn minBox.box === box;\n\t\t\t});\n\n\t\t\tif (minBoxSize) {\n\t\t\t\tif (box.isHorizontal()) {\n\t\t\t\t\tvar scaleMargin = {\n\t\t\t\t\t\tleft: Math.max(totalLeftBoxesWidth, maxHorizontalLeftPadding),\n\t\t\t\t\t\tright: Math.max(totalRightBoxesWidth, maxHorizontalRightPadding),\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tbottom: 0\n\t\t\t\t\t};\n\n\t\t\t\t\t// Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends\n\t\t\t\t\t// on the margin. Sometimes they need to increase in size slightly\n\t\t\t\t\tbox.update(box.fullWidth ? chartWidth : maxChartAreaWidth, chartHeight / 2, scaleMargin);\n\t\t\t\t} else {\n\t\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update, and calculate the left and right margins for the horizontal boxes\n\t\thelpers.each(leftBoxes.concat(rightBoxes), fitBox);\n\n\t\thelpers.each(leftBoxes, function(box) {\n\t\t\ttotalLeftBoxesWidth += box.width;\n\t\t});\n\n\t\thelpers.each(rightBoxes, function(box) {\n\t\t\ttotalRightBoxesWidth += box.width;\n\t\t});\n\n\t\t// Set the Left and Right margins for the horizontal boxes\n\t\thelpers.each(topBoxes.concat(bottomBoxes), fitBox);\n\n\t\t// Figure out how much margin is on the top and bottom of the vertical boxes\n\t\thelpers.each(topBoxes, function(box) {\n\t\t\ttotalTopBoxesHeight += box.height;\n\t\t});\n\n\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\ttotalBottomBoxesHeight += box.height;\n\t\t});\n\n\t\tfunction finalFitVerticalBox(box) {\n\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minSize) {\n\t\t\t\treturn minSize.box === box;\n\t\t\t});\n\n\t\t\tvar scaleMargin = {\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: totalTopBoxesHeight,\n\t\t\t\tbottom: totalBottomBoxesHeight\n\t\t\t};\n\n\t\t\tif (minBoxSize) {\n\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight, scaleMargin);\n\t\t\t}\n\t\t}\n\n\t\t// Let the left layout know the final margin\n\t\thelpers.each(leftBoxes.concat(rightBoxes), finalFitVerticalBox);\n\n\t\t// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)\n\t\ttotalLeftBoxesWidth = leftPadding;\n\t\ttotalRightBoxesWidth = rightPadding;\n\t\ttotalTopBoxesHeight = topPadding;\n\t\ttotalBottomBoxesHeight = bottomPadding;\n\n\t\thelpers.each(leftBoxes, function(box) {\n\t\t\ttotalLeftBoxesWidth += box.width;\n\t\t});\n\n\t\thelpers.each(rightBoxes, function(box) {\n\t\t\ttotalRightBoxesWidth += box.width;\n\t\t});\n\n\t\thelpers.each(topBoxes, function(box) {\n\t\t\ttotalTopBoxesHeight += box.height;\n\t\t});\n\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\ttotalBottomBoxesHeight += box.height;\n\t\t});\n\n\t\t// We may be adding some padding to account for rotated x axis labels\n\t\tvar leftPaddingAddition = Math.max(maxHorizontalLeftPadding - totalLeftBoxesWidth, 0);\n\t\ttotalLeftBoxesWidth += leftPaddingAddition;\n\t\ttotalRightBoxesWidth += Math.max(maxHorizontalRightPadding - totalRightBoxesWidth, 0);\n\n\t\tvar topPaddingAddition = Math.max(maxVerticalTopPadding - totalTopBoxesHeight, 0);\n\t\ttotalTopBoxesHeight += topPaddingAddition;\n\t\ttotalBottomBoxesHeight += Math.max(maxVerticalBottomPadding - totalBottomBoxesHeight, 0);\n\n\t\t// Figure out if our chart area changed. This would occur if the dataset layout label rotation\n\t\t// changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do\n\t\t// without calling `fit` again\n\t\tvar newMaxChartAreaHeight = height - totalTopBoxesHeight - totalBottomBoxesHeight;\n\t\tvar newMaxChartAreaWidth = width - totalLeftBoxesWidth - totalRightBoxesWidth;\n\n\t\tif (newMaxChartAreaWidth !== maxChartAreaWidth || newMaxChartAreaHeight !== maxChartAreaHeight) {\n\t\t\thelpers.each(leftBoxes, function(box) {\n\t\t\t\tbox.height = newMaxChartAreaHeight;\n\t\t\t});\n\n\t\t\thelpers.each(rightBoxes, function(box) {\n\t\t\t\tbox.height = newMaxChartAreaHeight;\n\t\t\t});\n\n\t\t\thelpers.each(topBoxes, function(box) {\n\t\t\t\tif (!box.fullWidth) {\n\t\t\t\t\tbox.width = newMaxChartAreaWidth;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\t\tif (!box.fullWidth) {\n\t\t\t\t\tbox.width = newMaxChartAreaWidth;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmaxChartAreaHeight = newMaxChartAreaHeight;\n\t\t\tmaxChartAreaWidth = newMaxChartAreaWidth;\n\t\t}\n\n\t\t// Step 7 - Position the boxes\n\t\tvar left = leftPadding + leftPaddingAddition;\n\t\tvar top = topPadding + topPaddingAddition;\n\n\t\tfunction placeBox(box) {\n\t\t\tif (box.isHorizontal()) {\n\t\t\t\tbox.left = box.fullWidth ? leftPadding : totalLeftBoxesWidth;\n\t\t\t\tbox.right = box.fullWidth ? width - rightPadding : totalLeftBoxesWidth + maxChartAreaWidth;\n\t\t\t\tbox.top = top;\n\t\t\t\tbox.bottom = top + box.height;\n\n\t\t\t\t// Move to next point\n\t\t\t\ttop = box.bottom;\n\n\t\t\t} else {\n\n\t\t\t\tbox.left = left;\n\t\t\t\tbox.right = left + box.width;\n\t\t\t\tbox.top = totalTopBoxesHeight;\n\t\t\t\tbox.bottom = totalTopBoxesHeight + maxChartAreaHeight;\n\n\t\t\t\t// Move to next point\n\t\t\t\tleft = box.right;\n\t\t\t}\n\t\t}\n\n\t\thelpers.each(leftBoxes.concat(topBoxes), placeBox);\n\n\t\t// Account for chart width and height\n\t\tleft += maxChartAreaWidth;\n\t\ttop += maxChartAreaHeight;\n\n\t\thelpers.each(rightBoxes, placeBox);\n\t\thelpers.each(bottomBoxes, placeBox);\n\n\t\t// Step 8\n\t\tchart.chartArea = {\n\t\t\tleft: totalLeftBoxesWidth,\n\t\t\ttop: totalTopBoxesHeight,\n\t\t\tright: totalLeftBoxesWidth + maxChartAreaWidth,\n\t\t\tbottom: totalTopBoxesHeight + maxChartAreaHeight\n\t\t};\n\n\t\t// Step 9\n\t\thelpers.each(chartAreaBoxes, function(box) {\n\t\t\tbox.left = chart.chartArea.left;\n\t\t\tbox.top = chart.chartArea.top;\n\t\t\tbox.right = chart.chartArea.right;\n\t\t\tbox.bottom = chart.chartArea.bottom;\n\n\t\t\tbox.update(maxChartAreaWidth, maxChartAreaHeight);\n\t\t});\n\t}\n};\n","var distance = require('@turf/distance');\nvar segmentReduce = require('@turf/meta').segmentReduce;\n\n/**\n * Takes a {@link GeoJSON} and measures its length in the specified units, {@link (Multi)Point|Point}'s distance are ignored.\n *\n * @name lineDistance\n * @param {FeatureCollection|Feature|Geometry} geojson GeoJSON to measure\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {number} length of GeoJSON\n * @example\n * var line = turf.lineString([[115, -32], [131, -22], [143, -25], [150, -34]]);\n * var length = turf.lineDistance(line, 'miles');\n *\n * //addToMap\n * var addToMap = [line];\n * line.properties.distance = length;\n */\nmodule.exports = function lineDistance(geojson, units) {\n // Input Validation\n if (!geojson) throw new Error('geojson is required');\n\n // Calculate distance from 2-vertex line segements\n return segmentReduce(geojson, function (previousValue, segment) {\n var coords = segment.geometry.coordinates;\n return previousValue + distance(coords[0], coords[1], units);\n }, 0);\n};\n","const fieldSuffix = 'Field'\r\nconst orgSuffix = 'Org'\r\n\r\nexport default {\r\n methods: {\r\n /**\r\n used to create a parrallel route, depending on the type of current selected entity.\r\n if the currently selected entity is a field, the method returns a string with name of the route and an appended field suffix,\r\n otherwise it returns the name of the route with an appended org suffix\r\n\r\n @param route the route can be any route name without an org or field suffix, e.g. mapManagement\r\n @returns a route with appended suffix for org or field, e.g. 'mapManagementOrg'\r\n */\r\n createParallelRoute (route) {\r\n const fieldId = this.$store.state.fieldRecordSystem.navigation.location.fieldId\r\n return `${route}${fieldId ? fieldSuffix : orgSuffix}`\r\n },\r\n /**\r\n replaces the entity type suffix from the original route with a suffix for the opposite type.\r\n eg. if the current route is 'mapManagementOrg' the method returns 'mapManagementField'\r\n */\r\n createMirrorRoute (originalRoute) {\r\n if (originalRoute.endsWith(fieldSuffix)) {\r\n return originalRoute.replace(fieldSuffix, orgSuffix)\r\n } else if (originalRoute.endsWith(orgSuffix)) {\r\n return originalRoute.replace(orgSuffix, fieldSuffix)\r\n } else {\r\n throw new Error(`route ${originalRoute} cannot be mirrored because it doesn´t fit in the pattern for mirrorable routes`)\r\n }\r\n }\r\n }\r\n}\r\n","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n","var linestring = require('@turf/helpers').lineString;\nvar pointOnLine = require('@turf/point-on-line');\n\n/**\n * Takes a {@link LineString|line}, a start {@link Point}, and a stop point\n * and returns a subsection of the line in-between those points.\n * The start & stop points don't need to fall exactly on the line.\n *\n * This can be useful for extracting only the part of a route between waypoints.\n *\n * @name lineSlice\n * @param {Feature} startPt starting point\n * @param {Feature} stopPt stopping point\n * @param {Feature|LineString} line line to slice\n * @returns {Feature} sliced line\n * @example\n * var line = turf.lineString([\n * [-77.031669, 38.878605],\n * [-77.029609, 38.881946],\n * [-77.020339, 38.884084],\n * [-77.025661, 38.885821],\n * [-77.021884, 38.889563],\n * [-77.019824, 38.892368]\n * ]);\n * var start = turf.point([-77.029609, 38.881946]);\n * var stop = turf.point([-77.021884, 38.889563]);\n *\n * var sliced = turf.lineSlice(start, stop, line);\n *\n * //addToMap\n * var addToMap = [start, stop, line]\n */\nmodule.exports = function lineSlice(startPt, stopPt, line) {\n var coords;\n if (line.type === 'Feature') {\n coords = line.geometry.coordinates;\n } else if (line.type === 'LineString') {\n coords = line.coordinates;\n } else {\n throw new Error('input must be a LineString Feature or Geometry');\n }\n\n var startVertex = pointOnLine(line, startPt);\n var stopVertex = pointOnLine(line, stopPt);\n var ends;\n if (startVertex.properties.index <= stopVertex.properties.index) {\n ends = [startVertex, stopVertex];\n } else {\n ends = [stopVertex, startVertex];\n }\n var clipCoords = [ends[0].geometry.coordinates];\n for (var i = ends[0].properties.index + 1; i < ends[1].properties.index + 1; i++) {\n clipCoords.push(coords[i]);\n }\n clipCoords.push(ends[1].geometry.coordinates);\n return linestring(clipCoords, line.properties);\n};\n","\r\n\r\n\r\n\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('IxVectorLayer',{attrs:{\"features\":_vm.features,\"vector-style\":_vm.style,\"z-index\":1,\"layer-id\":\"applicationMap\",\"auto-focus\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsApplicationMapLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsApplicationMapLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsApplicationMapLayer.vue?vue&type=template&id=22c4c9a6&scoped=true&lang=html&\"\nimport script from \"./FrsApplicationMapLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsApplicationMapLayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22c4c9a6\",\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar helpers = require('../helpers/index');\n\n/**\n * Namespace to hold static tick generation functions\n * @namespace Chart.Ticks\n */\nmodule.exports = {\n\t/**\n\t * Namespace to hold formatters for different types of ticks\n\t * @namespace Chart.Ticks.formatters\n\t */\n\tformatters: {\n\t\t/**\n\t\t * Formatter for value labels\n\t\t * @method Chart.Ticks.formatters.values\n\t\t * @param value the value to display\n\t\t * @return {String|Array} the label to display\n\t\t */\n\t\tvalues: function(value) {\n\t\t\treturn helpers.isArray(value) ? value : '' + value;\n\t\t},\n\n\t\t/**\n\t\t * Formatter for linear numeric ticks\n\t\t * @method Chart.Ticks.formatters.linear\n\t\t * @param tickValue {Number} the value to be formatted\n\t\t * @param index {Number} the position of the tickValue parameter in the ticks array\n\t\t * @param ticks {Array} the list of ticks being converted\n\t\t * @return {String} string representation of the tickValue parameter\n\t\t */\n\t\tlinear: function(tickValue, index, ticks) {\n\t\t\t// If we have lots of ticks, don't use the ones\n\t\t\tvar delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\n\n\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\n\t\t\tif (Math.abs(delta) > 1) {\n\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\n\t\t\t\t\t// not an integer\n\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar logDelta = helpers.log10(Math.abs(delta));\n\t\t\tvar tickString = '';\n\n\t\t\tif (tickValue !== 0) {\n\t\t\t\tvar maxTick = Math.max(Math.abs(ticks[0]), Math.abs(ticks[ticks.length - 1]));\n\t\t\t\tif (maxTick < 1e-4) { // all ticks are small numbers; use scientific notation\n\t\t\t\t\tvar logTick = helpers.log10(Math.abs(tickValue));\n\t\t\t\t\ttickString = tickValue.toExponential(Math.floor(logTick) - Math.floor(logDelta));\n\t\t\t\t} else {\n\t\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\n\t\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\n\t\t\t\t\ttickString = tickValue.toFixed(numDecimal);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttickString = '0'; // never show decimal places for 0\n\t\t\t}\n\n\t\t\treturn tickString;\n\t\t},\n\n\t\tlogarithmic: function(tickValue, index, ticks) {\n\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers.log10(tickValue))));\n\n\t\t\tif (tickValue === 0) {\n\t\t\t\treturn '0';\n\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\n\t\t\t\treturn tickValue.toExponential();\n\t\t\t}\n\t\t\treturn '';\n\t\t}\n\t}\n};\n","var turfUnion = require('@turf/union');\nvar booleanOverlap = require('@turf/boolean-overlap');\nvar turfbbox = require('@turf/bbox');\nvar Rbush = require('rbush');\nvar gju = require('geojson-utils');\nvar getClosest = require('get-closest');\n\n/**\n * Dissolves a FeatureCollection of polygons based on a property. Note that multipart features within the collection are not supported\n *\n * @name dissolve\n * @param {FeatureCollection} featureCollection input feature collection to be dissolved\n * @param {string} [propertyName] property name on which to dissolve features\n * @returns {FeatureCollection} a FeatureCollection containing the dissolved polygons\n * @example\n * var features = turf.featureCollection([\n * turf.polygon([[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]], {\"combine\": \"yes\"}),\n * turf.polygon([[[0, -1], [0, 0], [1, 0], [1, -1], [0,-1]]], {\"combine\": \"yes\"}),\n * turf.polygon([[[1,-1],[1, 0], [2, 0], [2, -1], [1, -1]]], {\"combine\": \"no\"}),\n * ]);\n *\n * var dissolved = turf.dissolve(features, 'combine');\n *\n * //addToMap\n * var addToMap = [features, dissolved]\n */\nmodule.exports = function (featureCollection, propertyName) {\n\n var originalIndexOfItemsRemoved = [];\n var treeItems = [];\n var rtree = new Rbush();\n for (var polyIndex = 0; polyIndex < featureCollection.features.length; polyIndex++) {\n var inputFeatureBbox = turfbbox(featureCollection.features[polyIndex]);\n var treeObj = {\n minX: inputFeatureBbox[0],\n minY: inputFeatureBbox[1],\n maxX: inputFeatureBbox[2],\n maxY: inputFeatureBbox[3],\n origIndexPosition: polyIndex\n };\n treeItems.push(treeObj);\n }\n rtree.load(treeItems);\n\n for (var i = 0; i < featureCollection.features.length; i++) {\n var polygon = featureCollection.features[i];\n\n var polyBoundingBox = turfbbox(polygon);\n var searchObj = {\n minX: polyBoundingBox[0],\n minY: polyBoundingBox[1],\n maxX: polyBoundingBox[2],\n maxY: polyBoundingBox[3]\n };\n var potentialMatchingFeatures = rtree.search(searchObj);\n\n var featureChanged = false;\n\n for (var searchIndex = 0; searchIndex < potentialMatchingFeatures.length; searchIndex++) {\n polygon = featureCollection.features[i];\n\n var matchFeaturePosition = potentialMatchingFeatures[searchIndex].origIndexPosition;\n\n if (originalIndexOfItemsRemoved.length > 0 && matchFeaturePosition !== 0) {\n if (matchFeaturePosition > originalIndexOfItemsRemoved[originalIndexOfItemsRemoved.length - 1]) {\n matchFeaturePosition = matchFeaturePosition - (originalIndexOfItemsRemoved.length);\n } else {\n var closestNumber = getClosest.greaterNumber(matchFeaturePosition, originalIndexOfItemsRemoved);\n if (closestNumber !== 0) {\n matchFeaturePosition = matchFeaturePosition - closestNumber;\n }\n }\n }\n\n if (matchFeaturePosition === i) {\n continue;\n }\n var matchFeature = featureCollection.features[matchFeaturePosition];\n\n if (typeof propertyName !== undefined) {\n if (matchFeature.properties[propertyName] !== polygon.properties[propertyName]) {\n continue;\n }\n }\n\n var overlapCheck = booleanOverlap(polygon, matchFeature);\n\n if (!overlapCheck) {\n var polyClone = JSON.stringify(polygon);\n var polyBeingCheckedClone = JSON.stringify(matchFeature);\n var linestring1 = toLinestring(JSON.parse(polyClone));\n var linestring2 = toLinestring(JSON.parse(polyBeingCheckedClone));\n overlapCheck = gju.lineStringsIntersect(linestring1.geometry, linestring2.geometry);\n }\n if (!overlapCheck) {\n continue;\n }\n\n featureCollection.features[i] = turfUnion(polygon, matchFeature);\n originalIndexOfItemsRemoved.push(potentialMatchingFeatures[searchIndex].origIndexPosition);\n originalIndexOfItemsRemoved.sort(function (a, b) {\n return a - b;\n });\n\n rtree.remove(potentialMatchingFeatures[searchIndex]);\n featureCollection.features.splice(matchFeaturePosition, 1);\n searchObj.origIndexPosition = i;\n rtree.remove(searchObj, function (a, b) {\n return a.origIndexPosition === b.origIndexPosition;\n });\n featureChanged = true;\n }\n if (featureChanged) {\n var newBoundingBox = turfbbox(polygon);\n rtree.insert({\n minX: newBoundingBox[0],\n minY: newBoundingBox[1],\n maxX: newBoundingBox[2],\n maxY: newBoundingBox[3],\n origIndexPosition: i\n });\n i--;\n }\n }\n return featureCollection;\n};\n\nfunction toLinestring(polygon) {\n if (polygon === null || polygon === undefined) throw new Error('No polygon was passed');\n polygon.geometry.type = 'LineString';\n var flat_arr = [].concat.apply([], polygon.geometry.coordinates);\n polygon.geometry.coordinates = flat_arr;\n return polygon;\n}\n","var invariant = require('@turf/invariant');\nvar getCoord = invariant.getCoord;\nvar getCoords = invariant.getCoords;\n\n// http://en.wikipedia.org/wiki/Even%E2%80%93odd_rule\n// modified from: https://github.com/substack/point-in-polygon/blob/master/index.js\n// which was modified from http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\n\n/**\n * Takes a {@link Point} and a {@link Polygon} or {@link MultiPolygon} and determines if the point resides inside the polygon. The polygon can\n * be convex or concave. The function accounts for holes.\n *\n * @name inside\n * @param {Feature} point input point\n * @param {Feature} polygon input polygon or multipolygon\n * @param {boolean} [ignoreBoundary=false] True if polygon boundary should be ignored when determining if the point is inside the polygon otherwise false.\n * @returns {boolean} `true` if the Point is inside the Polygon; `false` if the Point is not inside the Polygon\n * @example\n * var pt = turf.point([-77, 44]);\n * var poly = turf.polygon([[\n * [-81, 41],\n * [-81, 47],\n * [-72, 47],\n * [-72, 41],\n * [-81, 41]\n * ]]);\n *\n * turf.inside(pt, poly);\n * //= true\n */\nmodule.exports = function (point, polygon, ignoreBoundary) {\n // validation\n if (!point) throw new Error('point is required');\n if (!polygon) throw new Error('polygon is required');\n\n var pt = getCoord(point);\n var polys = getCoords(polygon);\n var type = (polygon.geometry) ? polygon.geometry.type : polygon.type;\n var bbox = polygon.bbox;\n\n // Quick elimination if point is not inside bbox\n if (bbox && inBBox(pt, bbox) === false) return false;\n\n // normalize to multipolygon\n if (type === 'Polygon') polys = [polys];\n\n for (var i = 0, insidePoly = false; i < polys.length && !insidePoly; i++) {\n // check if it is in the outer ring first\n if (inRing(pt, polys[i][0], ignoreBoundary)) {\n var inHole = false;\n var k = 1;\n // check for the point in any of the holes\n while (k < polys[i].length && !inHole) {\n if (inRing(pt, polys[i][k], !ignoreBoundary)) {\n inHole = true;\n }\n k++;\n }\n if (!inHole) insidePoly = true;\n }\n }\n return insidePoly;\n};\n\n/**\n * inRing\n *\n * @private\n * @param {[number, number]} pt [x,y]\n * @param {Array<[number, number]>} ring [[x,y], [x,y],..]\n * @param {boolean} ignoreBoundary ignoreBoundary\n * @returns {boolean} inRing\n */\nfunction inRing(pt, ring, ignoreBoundary) {\n var isInside = false;\n if (ring[0][0] === ring[ring.length - 1][0] && ring[0][1] === ring[ring.length - 1][1]) ring = ring.slice(0, ring.length - 1);\n\n for (var i = 0, j = ring.length - 1; i < ring.length; j = i++) {\n var xi = ring[i][0], yi = ring[i][1];\n var xj = ring[j][0], yj = ring[j][1];\n var onBoundary = (pt[1] * (xi - xj) + yi * (xj - pt[0]) + yj * (pt[0] - xi) === 0) &&\n ((xi - pt[0]) * (xj - pt[0]) <= 0) && ((yi - pt[1]) * (yj - pt[1]) <= 0);\n if (onBoundary) return !ignoreBoundary;\n var intersect = ((yi > pt[1]) !== (yj > pt[1])) &&\n (pt[0] < (xj - xi) * (pt[1] - yi) / (yj - yi) + xi);\n if (intersect) isInside = !isInside;\n }\n return isInside;\n}\n\n/**\n * inBBox\n *\n * @private\n * @param {[number, number]} pt point [x,y]\n * @param {[number, number, number, number]} bbox BBox [west, south, east, north]\n * @returns {boolean} true/false if point is inside BBox\n */\nfunction inBBox(pt, bbox) {\n return bbox[0] <= pt[0] &&\n bbox[1] <= pt[1] &&\n bbox[2] >= pt[0] &&\n bbox[3] >= pt[1];\n}\n","/**\n * @module ol/ImageBase\n */\nimport {abstract} from './util.js';\nimport EventTarget from './events/Target.js';\nimport EventType from './events/EventType.js';\n\n/**\n * @abstract\n */\nvar ImageBase = /*@__PURE__*/(function (EventTarget) {\n function ImageBase(extent, resolution, pixelRatio, state) {\n\n EventTarget.call(this);\n\n /**\n * @protected\n * @type {import(\"./extent.js\").Extent}\n */\n this.extent = extent;\n\n /**\n * @private\n * @type {number}\n */\n this.pixelRatio_ = pixelRatio;\n\n /**\n * @protected\n * @type {number|undefined}\n */\n this.resolution = resolution;\n\n /**\n * @protected\n * @type {import(\"./ImageState.js\").default}\n */\n this.state = state;\n\n }\n\n if ( EventTarget ) ImageBase.__proto__ = EventTarget;\n ImageBase.prototype = Object.create( EventTarget && EventTarget.prototype );\n ImageBase.prototype.constructor = ImageBase;\n\n /**\n * @protected\n */\n ImageBase.prototype.changed = function changed () {\n this.dispatchEvent(EventType.CHANGE);\n };\n\n /**\n * @return {import(\"./extent.js\").Extent} Extent.\n */\n ImageBase.prototype.getExtent = function getExtent () {\n return this.extent;\n };\n\n /**\n * @abstract\n * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.\n */\n ImageBase.prototype.getImage = function getImage () {\n return abstract();\n };\n\n /**\n * @return {number} PixelRatio.\n */\n ImageBase.prototype.getPixelRatio = function getPixelRatio () {\n return this.pixelRatio_;\n };\n\n /**\n * @return {number} Resolution.\n */\n ImageBase.prototype.getResolution = function getResolution () {\n return /** @type {number} */ (this.resolution);\n };\n\n /**\n * @return {import(\"./ImageState.js\").default} State.\n */\n ImageBase.prototype.getState = function getState () {\n return this.state;\n };\n\n /**\n * Load not yet loaded URI.\n * @abstract\n */\n ImageBase.prototype.load = function load () {\n abstract();\n };\n\n return ImageBase;\n}(EventTarget));\n\n\nexport default ImageBase;\n\n//# sourceMappingURL=ImageBase.js.map","import mod from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatPicMeta.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatPicMeta.vue?vue&type=style&index=0&lang=scss&module=true&\"","'use strict';\n\nvar helpers = require('../helpers/index');\nvar basic = require('./platform.basic');\nvar dom = require('./platform.dom');\n\n// @TODO Make possible to select another platform at build time.\nvar implementation = dom._enabled ? dom : basic;\n\n/**\n * @namespace Chart.platform\n * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\n * @since 2.4.0\n */\nmodule.exports = helpers.extend({\n\t/**\n\t * @since 2.7.0\n\t */\n\tinitialize: function() {},\n\n\t/**\n\t * Called at chart construction time, returns a context2d instance implementing\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\n\t * @param {*} item - The native item from which to acquire context (platform specific)\n\t * @param {Object} options - The chart options\n\t * @returns {CanvasRenderingContext2D} context2d instance\n\t */\n\tacquireContext: function() {},\n\n\t/**\n\t * Called at chart destruction time, releases any resources associated to the context\n\t * previously returned by the acquireContext() method.\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\n\t * @returns {Boolean} true if the method succeeded, else false\n\t */\n\treleaseContext: function() {},\n\n\t/**\n\t * Registers the specified listener on the given chart.\n\t * @param {Chart} chart - Chart from which to listen for event\n\t * @param {String} type - The ({@link IEvent}) type to listen for\n\t * @param {Function} listener - Receives a notification (an object that implements\n\t * the {@link IEvent} interface) when an event of the specified type occurs.\n\t */\n\taddEventListener: function() {},\n\n\t/**\n\t * Removes the specified listener previously registered with addEventListener.\n\t * @param {Chart} chart -Chart from which to remove the listener\n\t * @param {String} type - The ({@link IEvent}) type to remove\n\t * @param {Function} listener - The listener function to remove from the event target.\n\t */\n\tremoveEventListener: function() {}\n\n}, implementation);\n\n/**\n * @interface IPlatform\n * Allows abstracting platform dependencies away from the chart\n * @borrows Chart.platform.acquireContext as acquireContext\n * @borrows Chart.platform.releaseContext as releaseContext\n * @borrows Chart.platform.addEventListener as addEventListener\n * @borrows Chart.platform.removeEventListener as removeEventListener\n */\n\n/**\n * @interface IEvent\n * @prop {String} type - The event type name, possible values are:\n * 'contextmenu', 'mouseenter', 'mousedown', 'mousemove', 'mouseup', 'mouseout',\n * 'click', 'dblclick', 'keydown', 'keypress', 'keyup' and 'resize'\n * @prop {*} native - The original native event (null for emulated events, e.g. 'resize')\n * @prop {Number} x - The mouse x position, relative to the canvas (null for incompatible events)\n * @prop {Number} y - The mouse y position, relative to the canvas (null for incompatible events)\n */\n","var bbox = require('@turf/bbox');\nvar bboxPolygon = require('@turf/bbox-polygon');\n\n/**\n * Takes any number of features and returns a rectangular {@link Polygon} that encompasses all vertices.\n *\n * @name envelope\n * @param {FeatureCollection|Feature} geojson input features\n * @returns {Feature} a rectangular Polygon feature that encompasses all vertices\n * @example\n * var features = turf.featureCollection([\n * turf.point([-75.343, 39.984], {\"name\": \"Location A\"}),\n * turf.point([-75.833, 39.284], {\"name\": \"Location B\"}),\n * turf.point([-75.534, 39.123], {\"name\": \"Location C\"})\n * ]);\n *\n * var enveloped = turf.envelope(features);\n *\n * //addToMap\n * var addToMap = [features, enveloped];\n */\nmodule.exports = function (geojson) {\n return bboxPolygon(bbox(geojson));\n};\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Radar = function(context, config) {\n\t\tconfig.type = 'radar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","\r\n\r\n\r\n\r\n\r\n","var invariant = require('@turf/invariant');\n\n// http://en.wikipedia.org/wiki/Even%E2%80%93odd_rule\n// modified from: https://github.com/substack/point-in-polygon/blob/master/index.js\n// which was modified from http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\n\n/**\n * Takes a {@link Point} and a {@link Polygon} or {@link MultiPolygon} and determines if the point resides inside the polygon. The polygon can\n * be convex or concave. The function accounts for holes.\n *\n * @name inside\n * @param {Feature} point input point\n * @param {Feature<(Polygon|MultiPolygon)>} polygon input polygon or multipolygon\n * @returns {boolean} `true` if the Point is inside the Polygon; `false` if the Point is not inside the Polygon\n * @example\n * var pt = turf.point([-77, 44]);\n * var poly = turf.polygon([[\n * [-81, 41],\n * [-81, 47],\n * [-72, 47],\n * [-72, 41],\n * [-81, 41]\n * ]]);\n *\n * var isInside = turf.inside(pt, poly);\n *\n * //=isInside\n */\nmodule.exports = function (point, polygon) {\n var pt = invariant.getCoord(point);\n var polys = polygon.geometry.coordinates;\n // normalize to multipolygon\n if (polygon.geometry.type === 'Polygon') polys = [polys];\n\n for (var i = 0, insidePoly = false; i < polys.length && !insidePoly; i++) {\n // check if it is in the outer ring first\n if (inRing(pt, polys[i][0])) {\n var inHole = false;\n var k = 1;\n // check for the point in any of the holes\n while (k < polys[i].length && !inHole) {\n if (inRing(pt, polys[i][k], true)) {\n inHole = true;\n }\n k++;\n }\n if (!inHole) insidePoly = true;\n }\n }\n return insidePoly;\n};\n\n// pt is [x,y] and ring is [[x,y], [x,y],..]\nfunction inRing(pt, ring, ignoreBoundary) {\n var isInside = false;\n if (ring[0][0] === ring[ring.length - 1][0] && ring[0][1] === ring[ring.length - 1][1]) ring = ring.slice(0, ring.length - 1);\n\n for (var i = 0, j = ring.length - 1; i < ring.length; j = i++) {\n var xi = ring[i][0], yi = ring[i][1];\n var xj = ring[j][0], yj = ring[j][1];\n var onBoundary = (pt[1] * (xi - xj) + yi * (xj - pt[0]) + yj * (pt[0] - xi) === 0) &&\n ((xi - pt[0]) * (xj - pt[0]) <= 0) && ((yi - pt[1]) * (yj - pt[1]) <= 0);\n if (onBoundary) return !ignoreBoundary;\n var intersect = ((yi > pt[1]) !== (yj > pt[1])) &&\n (pt[0] < (xj - xi) * (pt[1] - yi) / (yj - yi) + xi);\n if (intersect) isInside = !isInside;\n }\n return isInside;\n}\n","var bearing = require('@turf/bearing');\nvar distance = require('@turf/distance');\nvar destination = require('@turf/destination');\nvar lineString = require('@turf/helpers').lineString;\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @name lineSliceAlong\n * @param {Feature|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {Feature} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, 'miles');\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nmodule.exports = function (line, startDist, stopDist, units) {\n var coords;\n var slice = [];\n if (line.type === 'Feature') coords = line.geometry.coordinates;\n else if (line.type === 'LineString') coords = line.coordinates;\n else throw new Error('input must be a LineString Feature or Geometry');\n\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, units);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, units);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], units);\n }\n return lineString(coords[coords.length - 1]);\n};\n","'use strict';\n\nmodule.exports = {};\nmodule.exports.filler = require('./plugin.filler');\nmodule.exports.legend = require('./plugin.legend');\nmodule.exports.title = require('./plugin.title');\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BsModal',{attrs:{\"title\":_vm.title,\"value\":_vm.value},on:{\"input\":function($event){$event ? _vm.confirm() : _vm.cancel()}}},[_c('div',{staticClass:\"content\"},[_vm._t(\"default\")],2),_c('template',{slot:\"footer\"},[_c('div',{staticClass:\"footer\"},[_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":_vm.confirm}},[_vm._t(\"confirm\",[_c('IxRes',{attrs:{\"resource\":_vm.SR_Common}},[_vm._v(\"\\n Yes\\n \")])])],2),_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":_vm.cancel}},[_vm._t(\"cancel\",[_c('IxRes',{attrs:{\"resource\":_vm.SR_Common}},[_vm._v(\"\\n No\\n \")])])],2)],1)]),_vm._t(\"title\",null,{\"slot\":\"title\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfirmationModal.vue?vue&type=template&id=2d30c06a&scoped=true&lang=html&\"\nimport script from \"./ConfirmationModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfirmationModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfirmationModal.vue?vue&type=style&index=0&id=2d30c06a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d30c06a\",\n null\n \n)\n\nexport default component.exports","var coordEach = require('@turf/meta').coordEach;\nvar point = require('@turf/helpers').point;\n\n/**\n * Takes one or more features and calculates the centroid using the mean of all vertices.\n * This lessens the effect of small islands and artifacts when calculating the centroid of a set of polygons.\n *\n * @name centroid\n * @param {GeoJSON} geojson GeoJSON to be centered\n * @param {Object} [properties] an Object that is used as the {@link Feature}'s properties\n * @returns {Feature} the centroid of the input features\n * @example\n * var polygon = turf.polygon([[[-81, 41], [-88, 36], [-84, 31], [-80, 33], [-77, 39], [-81, 41]]]);\n *\n * var centroid = turf.centroid(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, centroid]\n */\nmodule.exports = function (geojson, properties) {\n var xSum = 0;\n var ySum = 0;\n var len = 0;\n coordEach(geojson, function (coord) {\n xSum += coord[0];\n ySum += coord[1];\n len++;\n }, true);\n return point([xSum / len, ySum / len], properties);\n};\n","/**\n * https://github.com/rook2pawn/node-intersection\n *\n * Author @rook2pawn\n */\n\n/**\n * AB\n *\n * @private\n * @param {Array>} segment - 2 vertex line segment\n * @returns {Array} coordinates [x, y]\n */\nfunction ab(segment) {\n var start = segment[0];\n var end = segment[1];\n return [end[0] - start[0], end[1] - start[1]];\n}\n\n/**\n * Cross Product\n *\n * @private\n * @param {Array} v1 coordinates [x, y]\n * @param {Array} v2 coordinates [x, y]\n * @returns {Array} Cross Product\n */\nfunction crossProduct(v1, v2) {\n return (v1[0] * v2[1]) - (v2[0] * v1[1]);\n}\n\n/**\n * Add\n *\n * @private\n * @param {Array} v1 coordinates [x, y]\n * @param {Array} v2 coordinates [x, y]\n * @returns {Array} Add\n */\nfunction add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n}\n\n/**\n * Sub\n *\n * @private\n * @param {Array} v1 coordinates [x, y]\n * @param {Array} v2 coordinates [x, y]\n * @returns {Array} Sub\n */\nfunction sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n}\n\n/**\n * scalarMult\n *\n * @private\n * @param {number} s scalar\n * @param {Array} v coordinates [x, y]\n * @returns {Array} scalarMult\n */\nfunction scalarMult(s, v) {\n return [s * v[0], s * v[1]];\n}\n\n/**\n * Intersect Segments\n *\n * @private\n * @param {Array} a coordinates [x, y]\n * @param {Array} b coordinates [x, y]\n * @returns {Array} intersection\n */\nfunction intersectSegments(a, b) {\n var p = a[0];\n var r = ab(a);\n var q = b[0];\n var s = ab(b);\n\n var cross = crossProduct(r, s);\n var qmp = sub(q, p);\n var numerator = crossProduct(qmp, s);\n var t = numerator / cross;\n var intersection = add(p, scalarMult(t, r));\n return intersection;\n}\n\n/**\n * Is Parallel\n *\n * @private\n * @param {Array} a coordinates [x, y]\n * @param {Array} b coordinates [x, y]\n * @returns {boolean} true if a and b are parallel (or co-linear)\n */\nfunction isParallel(a, b) {\n var r = ab(a);\n var s = ab(b);\n return (crossProduct(r, s) === 0);\n}\n\n/**\n * Intersection\n *\n * @private\n * @param {Array} a coordinates [x, y]\n * @param {Array} b coordinates [x, y]\n * @returns {Array|boolean} true if a and b are parallel (or co-linear)\n */\nfunction intersection(a, b) {\n if (isParallel(a, b)) return false;\n return intersectSegments(a, b);\n}\n\nmodule.exports = intersection;\n","// JSTS. See https://github.com/bjornharrtell/jsts\n// Licenses:\n// https://github.com/bjornharrtell/jsts/blob/master/LICENSE_EDLv1.txt\n// https://github.com/bjornharrtell/jsts/blob/master/LICENSE_EPLv1.txt\n// https://github.com/bjornharrtell/jsts/blob/master/LICENSE_LICENSE_ES6_COLLECTIONS.txt\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e(t.jsts=t.jsts||{})}(this,function(t){\"use strict\";function e(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])}function n(){}function i(){}function r(){}function s(){}function o(){}function a(){}function u(){}function l(t){this.name=\"RuntimeException\",this.message=t,this.stack=(new Error).stack,Error.call(this,t)}function h(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t}function c(){if(0===arguments.length)l.call(this);else if(1===arguments.length){var t=arguments[0];l.call(this,t)}}function f(){}function g(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)g.call(this,0,0);else if(1===arguments.length){var t=arguments[0];g.call(this,t.x,t.y,t.z)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];g.call(this,e,n,g.NULL_ORDINATE)}else if(3===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2];this.x=i,this.y=r,this.z=s}}function d(){if(this.dimensionsToTest=2,0===arguments.length)d.call(this,2);else if(1===arguments.length){var t=arguments[0];if(2!==t&&3!==t)throw new i(\"only 2 or 3 dimensions may be specified\");this.dimensionsToTest=t}}function p(){}function v(){}function m(t){this.message=t||\"\"}function y(){}function x(t){this.message=t||\"\"}function E(t){this.message=t||\"\"}function I(){this.array_=[],arguments[0]instanceof v&&this.addAll(arguments[0])}function N(){if(I.apply(this),0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.ensureCapacity(e.length),this.add(e,n)}}function C(){if(this.minx=null,this.maxx=null,this.miny=null,this.maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof g){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof C){var e=arguments[0];this.init(e)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.init(n.x,i.x,n.y,i.y)}else if(4===arguments.length){var r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];this.init(r,s,o,a)}}function S(){}function w(){S.call(this,\"Projective point not representable on the Cartesian plane.\")}function L(){}function R(t,e){return t.interfaces_&&t.interfaces_().indexOf(e)>-1}function T(){}function P(t){this.str=t}function b(t){this.value=t}function O(){}function _(){if(this.hi=0,this.lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if(\"number\"==typeof arguments[0]){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof _){var e=arguments[0];this.init(e)}else if(\"string\"==typeof arguments[0]){var n=arguments[0];_.call(this,_.parse(n))}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];this.init(i,r)}}function M(){}function D(){}function A(){}function F(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){var t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var e=arguments[0],n=arguments[1];this.x=e,this.y=n,this.w=1}else if(arguments[0]instanceof F&&arguments[1]instanceof F){var i=arguments[0],r=arguments[1];this.x=i.y*r.w-r.y*i.w,this.y=r.x*i.w-i.x*r.w,this.w=i.x*r.y-r.x*i.y}else if(arguments[0]instanceof g&&arguments[1]instanceof g){var s=arguments[0],o=arguments[1];this.x=s.y-o.y,this.y=o.x-s.x,this.w=s.x*o.y-o.x*s.y}}else if(3===arguments.length){var a=arguments[0],u=arguments[1],l=arguments[2];this.x=a,this.y=u,this.w=l}else if(4===arguments.length){var h=arguments[0],c=arguments[1],f=arguments[2],d=arguments[3],p=h.y-c.y,v=c.x-h.x,m=h.x*c.y-c.x*h.y,y=f.y-d.y,x=d.x-f.x,E=f.x*d.y-d.x*f.y;this.x=v*E-x*m,this.y=y*m-p*E,this.w=p*x-y*v}}function G(){}function q(){}function B(){this.envelope=null,this.factory=null,this.SRID=null,this.userData=null;var t=arguments[0];this.factory=t,this.SRID=t.getSRID()}function z(){}function V(){}function k(){}function Y(){}function U(){}function X(){}function H(){}function W(){}function j(){}function K(){}function Z(){}function Q(){}function J(){this.array_=[],arguments[0]instanceof v&&this.addAll(arguments[0])}function $(t){return null==t?$s:t.color}function tt(t){return null==t?null:t.parent}function et(t,e){null!==t&&(t.color=e)}function nt(t){return null==t?null:t.left}function it(t){return null==t?null:t.right}function rt(){this.root_=null,this.size_=0}function st(){}function ot(){}function at(){this.array_=[],arguments[0]instanceof v&&this.addAll(arguments[0])}function ut(){}function lt(){}function ht(){}function ct(){}function ft(){this.geometries=null;var t=arguments[0],e=arguments[1];if(B.call(this,e),null===t&&(t=[]),B.hasNullElements(t))throw new i(\"geometries must not contain null elements\");this.geometries=t}function gt(){var t=arguments[0],e=arguments[1];ft.call(this,t,e)}function dt(){if(this.geom=null,this.geomFact=null,this.bnRule=null,this.endpointMap=null,1===arguments.length){var t=arguments[0];dt.call(this,t,V.MOD2_BOUNDARY_RULE)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.geom=e,this.geomFact=e.getFactory(),this.bnRule=n}}function pt(){this.count=null}function vt(){}function mt(){}function yt(){}function xt(){}function Et(){}function It(){}function Nt(){}function Ct(){}function St(){this.points=null;var t=arguments[0],e=arguments[1];B.call(this,e),this.init(t)}function wt(){}function Lt(){this.coordinates=null;var t=arguments[0],e=arguments[1];B.call(this,e),this.init(t)}function Rt(){}function Tt(){this.shell=null,this.holes=null;var t=arguments[0],e=arguments[1],n=arguments[2];if(B.call(this,n),null===t&&(t=this.getFactory().createLinearRing()),null===e&&(e=[]),B.hasNullElements(e))throw new i(\"holes must not contain null elements\");if(t.isEmpty()&&B.hasNonEmptyElements(e))throw new i(\"shell is empty but holes are not\");this.shell=t,this.holes=e}function Pt(){var t=arguments[0],e=arguments[1];ft.call(this,t,e)}function bt(){if(arguments[0]instanceof g&&arguments[1]instanceof ie){var t=arguments[0],e=arguments[1];bt.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(R(arguments[0],D)&&arguments[1]instanceof ie){var n=arguments[0],i=arguments[1];St.call(this,n,i),this.validateConstruction()}}function Ot(){var t=arguments[0],e=arguments[1];ft.call(this,t,e)}function _t(){if(this.factory=null,this.isUserDataCopied=!1,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.factory=t}}function Mt(){}function Dt(){}function At(){}function Ft(){}function Gt(){if(this.dimension=3,this.coordinates=null,1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];Gt.call(this,t,3)}else if(Number.isInteger(arguments[0])){var e=arguments[0];this.coordinates=new Array(e).fill(null);for(var n=0;n-1}function Yt(t){return this.has(t)?this._values[no]:void 0}function Ut(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError(\"Invalid value used as weak collection key\");if(e!==e||0===e)for(no=t.length;no--&&!Bt(t[no],e););else no=t.indexOf(e);return no>-1}function Xt(t){return Ut.call(this,this._keys,t)}function Ht(t,e){return this.has(t)?this._values[no]=e:this._values[this._keys.push(t)-1]=e,this}function Wt(){(this._keys||0).length=this._values.length=0}function jt(){return Qt(this._itp,this._keys)}function Kt(){return Qt(this._itp,this._values)}function Zt(){return Qt(this._itp,this._keys,this._values)}function Qt(t,e,n){var i=[0],r=!1;return t.push(i),{next:function(){var s,o=i[0];return!r&&o1,\"Node capacity must be greater than 1\"),this.nodeCapacity=t}}function ze(){}function Ve(){}function ke(){if(0===arguments.length)ke.call(this,ke.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];Be.call(this,t)}}function Ye(){var t=arguments[0];Ge.call(this,t)}function Ue(){}function Xe(){this.segString=null,this.coord=null,this.segmentIndex=null,this.segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];this.segString=t,this.coord=new g(e),this.segmentIndex=n,this.segmentOctant=i,this._isInterior=!e.equals2D(t.getCoordinate(n))}function He(){this.nodeMap=new rt,this.edge=null;var t=arguments[0];this.edge=t}function We(){this.nodeList=null,this.edge=null,this.nodeIt=null,this.currNode=null,this.nextNode=null,this.currSegIndex=0;var t=arguments[0];this.nodeList=t,this.edge=t.getEdge(),this.nodeIt=t.iterator(),this.readNextNode()}function je(){}function Ke(){this.nodeList=new He(this),this.pts=null,this.data=null;var t=arguments[0],e=arguments[1];this.pts=t,this.data=e}function Ze(){this.tempEnv1=new C,this.tempEnv2=new C,this.overlapSeg1=new ce,this.overlapSeg2=new ce}function Qe(){this.pts=null,this.start=null,this.end=null,this.env=null,this.context=null,this.id=null;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];this.pts=t,this.start=e,this.end=n,this.context=i}function Je(){}function $e(){}function tn(){}function en(){if(this.segInt=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setSegmentIntersector(t)}}function nn(){if(this.monoChains=new I,this.index=new ke,this.idCounter=0,this.nodedSegStrings=null,this.nOverlaps=0,0===arguments.length);else if(1===arguments.length){var t=arguments[0];en.call(this,t)}}function rn(){Ze.apply(this),this.si=null;var t=arguments[0];this.si=t}function sn(){if(this.pt=null,1===arguments.length){var t=arguments[0];l.call(this,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];l.call(this,sn.msgWithCoord(e,n)),this.name=\"TopologyException\",this.pt=new g(n)}}function on(){}function an(){this.findAllIntersections=!1,this.isCheckEndSegmentsOnly=!1,this.li=null,this.interiorIntersection=null,this.intSegments=null,this.intersections=new I,this.intersectionCount=0,this.keepIntersections=!0;var t=arguments[0];this.li=t,this.interiorIntersection=null}function un(){this.li=new ae,this.segStrings=null,this.findAllIntersections=!1,this.segInt=null,this._isValid=!0;var t=arguments[0];this.segStrings=t}function ln(){this.nv=null;var t=arguments[0];this.nv=new un(ln.toSegmentStrings(t))}function hn(){this.mapOp=null;var t=arguments[0];this.mapOp=t}function cn(){}function fn(){if(this.location=null,1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];this.init(t.length)}else if(Number.isInteger(arguments[0])){var e=arguments[0];this.init(1),this.location[cn.ON]=e}else if(arguments[0]instanceof fn){var n=arguments[0];if(this.init(n.location.length),null!==n)for(var i=0;i=0?this.setComputationPrecision(i.getPrecisionModel()):this.setComputationPrecision(r.getPrecisionModel()),this.arg=new Array(2).fill(null),this.arg[0]=new $n(0,i,s),this.arg[1]=new $n(1,r,s)}}function ei(){this.pts=null,this._orientation=null;var t=arguments[0];this.pts=t,this._orientation=ei.orientation(t)}function ni(){this.edges=new I,this.ocaMap=new rt}function ii(){this.ptLocator=new Te,this.geomFact=null,this.resultGeom=null,this.graph=null,this.edgeList=new ni,this.resultPolyList=new I,this.resultLineList=new I,this.resultPointList=new I;var t=arguments[0],e=arguments[1];ti.call(this,t,e),this.graph=new Cn(new On),this.geomFact=t.getFactory()}function ri(){this.geom=new Array(2).fill(null),this.snapTolerance=null,this.cbr=null;var t=arguments[0],e=arguments[1];this.geom[0]=t,this.geom[1]=e,this.computeSnapTolerance()}function si(){this.geom=new Array(2).fill(null);var t=arguments[0],e=arguments[1];this.geom[0]=t,this.geom[1]=e}function oi(){this.factory=null,this.interiorPoint=null,this.maxWidth=0;var t=arguments[0];this.factory=t.getFactory(),this.add(t)}function ai(){this.poly=null,this.centreY=null,this.hiY=r.MAX_VALUE,this.loY=-r.MAX_VALUE;var t=arguments[0];this.poly=t,this.hiY=t.getEnvelopeInternal().getMaxY(),this.loY=t.getEnvelopeInternal().getMinY(),this.centreY=oi.avg(this.loY,this.hiY)}function ui(){this.centroid=null,this.minDistance=r.MAX_VALUE,this.interiorPoint=null;var t=arguments[0];this.centroid=t.getCentroid().getCoordinate(),this.addInterior(t),null===this.interiorPoint&&this.addEndpoints(t)}function li(){this.centroid=null,this.minDistance=r.MAX_VALUE,this.interiorPoint=null;var t=arguments[0];this.centroid=t.getCentroid().getCoordinate(),this.add(t)}function hi(){this.tempEnv1=new C,this.selectedSegment=new ce}function ci(){this.items=new I,this.subnode=[null,null]}function fi(){if(this.min=null,this.max=null,0===arguments.length)this.min=0,this.max=0;else if(1===arguments.length){var t=arguments[0];this.init(t.min,t.max)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.init(e,n)}}function gi(){}function di(t,e){var n,i,r,s,o={32:{d:127,c:128,b:0,a:0},64:{d:32752,c:0,b:0,a:0}},a={32:8,64:11}[t];if(s||(n=e<0||1/e<0,isFinite(e)||(s=o[t],n&&(s.d+=1<=2;)i++,r/=2;for(;r<1&&i>0;)i--,r*=2;i<=0&&(r/=2),32===t&&i>254&&(s={d:n?255:127,c:128,b:0,a:0},i=Math.pow(2,a)-1,r=0)}return i}function pi(){this.pt=0,this.level=0,this.interval=null;var t=arguments[0];this.computeKey(t)}function vi(){ci.apply(this),this.interval=null,this.centre=null,this.level=null;var t=arguments[0],e=arguments[1];this.interval=t,this.level=e,this.centre=(t.getMin()+t.getMax())/2}function mi(){}function yi(){ci.apply(this)}function xi(){this.root=null,this.minExtent=1,this.root=new yi}function Ei(){}function Ii(){this.ring=null,this.tree=null,this.crossings=0,this.interval=new fi;var t=arguments[0];this.ring=t,this.buildIndex()}function Ni(){hi.apply(this),this.mcp=null,this.p=null;var t=arguments[0],e=arguments[1];this.mcp=t,this.p=e}function Ci(){}function Si(){this.p0=null,this.p1=null,this.p2=null;var t=arguments[0],e=arguments[1],n=arguments[2];this.p0=t,this.p1=e,this.p2=n}function wi(){this.input=null,this.extremalPts=null,this.centre=null,this.radius=0;var t=arguments[0];this.input=t}function Li(){if(this.inputGeom=null,this.isConvex=null,this.convexHullPts=null,this.minBaseSeg=new ce,this.minWidthPt=null,this.minPtIndex=null,this.minWidth=0,1===arguments.length){var t=arguments[0];Li.call(this,t,!1)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.inputGeom=e,this.isConvex=n}}function Ri(){this.inputGeom=null,this.distanceTolerance=null;var t=arguments[0];this.inputGeom=t}function Ti(){xe.apply(this),this.distanceTolerance=null;var t=arguments[0];this.distanceTolerance=t}function Pi(){this._orig=null,this._sym=null,this._next=null;var t=arguments[0];this._orig=t}function bi(){this._isMarked=!1;var t=arguments[0];Pi.call(this,t)}function Oi(){this.vertexMap=new te}function _i(){this._isStart=!1;var t=arguments[0];bi.call(this,t)}function Mi(){Oi.apply(this)}function Di(){this.result=null,this.factory=null,this.graph=null,this.lines=new I,this.nodeEdgeStack=new pe,this.ringStartEdge=null,this.graph=new Mi}function Ai(){this.items=new I,this.subnode=new Array(4).fill(null)}function Fi(){this.pt=new g,this.level=0,this.env=null;var t=arguments[0];this.computeKey(t)}function Gi(){Ai.apply(this),this.env=null,this.centrex=null,this.centrey=null,this.level=null;var t=arguments[0],e=arguments[1];this.env=t,this.level=e,this.centrex=(t.getMinX()+t.getMaxX())/2,this.centrey=(t.getMinY()+t.getMaxY())/2}function qi(){Ai.apply(this)}function Bi(){this.root=null,this.minExtent=1,this.root=new qi}function zi(t){this.geometryFactory=t||new ie}function Vi(t){this.geometryFactory=t||new ie,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new zi(this.geometryFactory)}function ki(){this.parser=new zi(this.geometryFactory)}function Yi(t){this.geometryFactory=t||new ie,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new re(this.geometryFactory)}function Ui(t){return[t.x,t.y]}function Xi(t,e){this.geometryFactory=t||new ie,this.ol=e||\"undefined\"!=typeof ol&&ol}function Hi(){if(this.noder=null,this.scaleFactor=null,this.offsetX=null,this.offsetY=null,this.isScaled=!1,2===arguments.length){var t=arguments[0],e=arguments[1];Hi.call(this,t,e,0,0)}else if(4===arguments.length){var n=arguments[0],i=arguments[1];arguments[2],arguments[3];this.noder=n,this.scaleFactor=i,this.isScaled=!this.isIntegerPrecision()}}function Wi(){if(this.inputGeom=null,this.isClosedEndpointsInInterior=!0,this.nonSimpleLocation=null,1===arguments.length){var t=arguments[0];this.inputGeom=t}else if(2===arguments.length){var e=arguments[0],n=arguments[1];\nthis.inputGeom=e,this.isClosedEndpointsInInterior=!n.isInBoundary(2)}}function ji(){this.pt=null,this.isClosed=null,this.degree=null;var t=arguments[0];this.pt=t,this.isClosed=!1,this.degree=0}function Ki(){if(this.quadrantSegments=Ki.DEFAULT_QUADRANT_SEGMENTS,this.endCapStyle=Ki.CAP_ROUND,this.joinStyle=Ki.JOIN_ROUND,this.mitreLimit=Ki.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this.simplifyFactor=Ki.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setQuadrantSegments(t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.setQuadrantSegments(e),this.setEndCapStyle(n)}else if(4===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2],o=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(r),this.setJoinStyle(s),this.setMitreLimit(o)}}function Zi(){this.minIndex=-1,this.minCoord=null,this.minDe=null,this.orientedDe=null}function Qi(){this.array_=[]}function Ji(){this.finder=null,this.dirEdgeList=new I,this.nodes=new I,this.rightMostCoord=null,this.env=null,this.finder=new Zi}function $i(){this.inputLine=null,this.distanceTol=null,this.isDeleted=null,this.angleOrientation=he.COUNTERCLOCKWISE;var t=arguments[0];this.inputLine=t}function tr(){this.ptList=null,this.precisionModel=null,this.minimimVertexDistance=0,this.ptList=new I}function er(){this.maxCurveSegmentError=0,this.filletAngleQuantum=null,this.closingSegLengthFactor=1,this.segList=null,this.distance=0,this.precisionModel=null,this.bufParams=null,this.li=null,this.s0=null,this.s1=null,this.s2=null,this.seg0=new ce,this.seg1=new ce,this.offset0=new ce,this.offset1=new ce,this.side=0,this._hasNarrowConcaveAngle=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this.precisionModel=t,this.bufParams=e,this.li=new ae,this.filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===Ki.JOIN_ROUND&&(this.closingSegLengthFactor=er.MAX_CLOSING_SEG_LEN_FACTOR),this.init(n)}function nr(){this.distance=0,this.precisionModel=null,this.bufParams=null;var t=arguments[0],e=arguments[1];this.precisionModel=t,this.bufParams=e}function ir(){this.subgraphs=null,this.seg=new ce,this.cga=new he;var t=arguments[0];this.subgraphs=t}function rr(){this.upwardSeg=null,this.leftDepth=null;var t=arguments[0],e=arguments[1];this.upwardSeg=new ce(t),this.leftDepth=e}function sr(){this.inputGeom=null,this.distance=null,this.curveBuilder=null,this.curveList=new I;var t=arguments[0],e=arguments[1],n=arguments[2];this.inputGeom=t,this.distance=e,this.curveBuilder=n}function or(){this._hasIntersection=!1,this.hasProper=!1,this.hasProperInterior=!1,this.hasInterior=!1,this.properIntersectionPoint=null,this.li=null,this.isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var t=arguments[0];this.li=t}function ar(){this.bufParams=null,this.workingPrecisionModel=null,this.workingNoder=null,this.geomFact=null,this.graph=null,this.edgeList=new ni;var t=arguments[0];this.bufParams=t}function ur(){this.li=new ae,this.segStrings=null;var t=arguments[0];this.segStrings=t}function lr(){this.li=null,this.pt=null,this.originalPt=null,this.ptScaled=null,this.p0Scaled=null,this.p1Scaled=null,this.scaleFactor=null,this.minx=null,this.maxx=null,this.miny=null,this.maxy=null,this.corner=new Array(4).fill(null),this.safeEnv=null;var t=arguments[0],e=arguments[1],n=arguments[2];if(this.originalPt=t,this.pt=t,this.scaleFactor=e,this.li=n,e<=0)throw new i(\"Scale factor must be non-zero\");1!==e&&(this.pt=new g(this.scale(t.x),this.scale(t.y)),this.p0Scaled=new g,this.p1Scaled=new g),this.initCorners(this.pt)}function hr(){this.index=null;var t=arguments[0];this.index=t}function cr(){hi.apply(this),this.hotPixel=null,this.parentEdge=null,this.hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this.hotPixel=t,this.parentEdge=e,this.hotPixelVertexIndex=n}function fr(){this.li=null,this.interiorIntersections=null;var t=arguments[0];this.li=t,this.interiorIntersections=new I}function gr(){this.pm=null,this.li=null,this.scaleFactor=null,this.noder=null,this.pointSnapper=null,this.nodedSegStrings=null;var t=arguments[0];this.pm=t,this.li=new ae,this.li.setPrecisionModel(t),this.scaleFactor=t.getScale()}function dr(){if(this.argGeom=null,this.distance=null,this.bufParams=new Ki,this.resultGeometry=null,this.saveException=null,1===arguments.length){var t=arguments[0];this.argGeom=t}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.argGeom=e,this.bufParams=n}}function pr(){this.comps=null;var t=arguments[0];this.comps=t}function vr(){if(this.component=null,this.segIndex=null,this.pt=null,2===arguments.length){var t=arguments[0],e=arguments[1];vr.call(this,t,vr.INSIDE_AREA,e)}else if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];this.component=n,this.segIndex=i,this.pt=r}}function mr(){this.pts=null;var t=arguments[0];this.pts=t}function yr(){this.locations=null;var t=arguments[0];this.locations=t}function xr(){if(this.geom=null,this.terminateDistance=0,this.ptLocator=new Te,this.minDistanceLocation=null,this.minDistance=r.MAX_VALUE,2===arguments.length){var t=arguments[0],e=arguments[1];xr.call(this,t,e,0)}else if(3===arguments.length){var n=arguments[0],i=arguments[1],s=arguments[2];this.geom=new Array(2).fill(null),this.geom[0]=n,this.geom[1]=i,this.terminateDistance=s}}function Er(){this.factory=null,this.directedEdges=new I,this.coordinates=null;var t=arguments[0];this.factory=t}function Ir(){this._isMarked=!1,this._isVisited=!1,this.data=null}function Nr(){Ir.apply(this),this.parentEdge=null,this.from=null,this.to=null,this.p0=null,this.p1=null,this.sym=null,this.edgeDirection=null,this.quadrant=null,this.angle=null;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];this.from=t,this.to=e,this.edgeDirection=i,this.p0=t.getCoordinate(),this.p1=n;var r=this.p1.x-this.p0.x,s=this.p1.y-this.p0.y;this.quadrant=Je.quadrant(r,s),this.angle=Math.atan2(s,r)}function Cr(){var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];Nr.call(this,t,e,n,i)}function Sr(){if(Ir.apply(this),this.dirEdge=null,0===arguments.length);else if(2===arguments.length){var t=arguments[0],e=arguments[1];this.setDirectedEdges(t,e)}}function wr(){this.outEdges=new I,this.sorted=!1}function Lr(){if(Ir.apply(this),this.pt=null,this.deStar=null,1===arguments.length){var t=arguments[0];Lr.call(this,t,new wr)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.pt=e,this.deStar=n}}function Rr(){Sr.apply(this),this.line=null;var t=arguments[0];this.line=t}function Tr(){this.nodeMap=new rt}function Pr(){this.edges=new J,this.dirEdges=new J,this.nodeMap=new Tr}function br(){Pr.apply(this)}function Or(){this.graph=new br,this.mergedLineStrings=null,this.factory=null,this.edgeStrings=null}function _r(){this.edgeRing=null,this.next=null,this.label=-1;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];Nr.call(this,t,e,n,i)}function Mr(){Sr.apply(this),this.line=null;var t=arguments[0];this.line=t}function Dr(){this.geometryFactory=new ie,this.geomGraph=null,this.disconnectedRingcoord=null;var t=arguments[0];this.geomGraph=t}function Ar(){}function Fr(){if(this.edgeEnds=new I,1===arguments.length){var t=arguments[0];Fr.call(this,null,t)}else if(2===arguments.length){var e=(arguments[0],arguments[1]);En.call(this,e.getEdge(),e.getCoordinate(),e.getDirectedCoordinate(),new gn(e.getLabel())),this.insert(e)}}function Gr(){Pn.apply(this)}function qr(){var t=arguments[0],e=arguments[1];yn.call(this,t,e)}function Br(){Nn.apply(this)}function zr(){this.nodes=new xn(new Br)}function Vr(){this.li=new ae,this.geomGraph=null,this.nodeGraph=new zr,this.invalidPoint=null;var t=arguments[0];this.geomGraph=t}function kr(){this.graph=null,this.rings=new I,this.totalEnv=new C,this.index=null,this.nestedPt=null;var t=arguments[0];this.graph=t}function Yr(){if(this.errorType=null,this.pt=null,1===arguments.length){var t=arguments[0];Yr.call(this,t,null)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.errorType=e,null!==n&&(this.pt=n.copy())}}function Ur(){this.parentGeometry=null,this.isSelfTouchingRingFormingHoleValid=!1,this.validErr=null;var t=arguments[0];this.parentGeometry=t}function Xr(){this.factory=null,this.deList=new I,this.lowestEdge=null,this.ring=null,this.ringPts=null,this.holes=null,this.shell=null,this._isHole=null,this._isProcessed=!1,this._isIncludedSet=!1,this._isIncluded=!1;var t=arguments[0];this.factory=t}function Hr(){}function Wr(){Pr.apply(this),this.factory=null;var t=arguments[0];this.factory=t}function jr(){if(this.lineStringAdder=new Kr(this),this.graph=null,this.dangles=new I,this.cutEdges=new I,this.invalidRingLines=new I,this.holeList=null,this.shellList=null,this.polyList=null,this.isCheckingRingsValid=!0,this.extractOnlyPolygonal=null,this.geomFactory=null,0===arguments.length)jr.call(this,!1);else if(1===arguments.length){var t=arguments[0];this.extractOnlyPolygonal=t}}function Kr(){this.p=null;var t=arguments[0];this.p=t}function Zr(){this.li=new ae,this.ptLocator=new Te,this.arg=null,this.nodes=new xn(new Br),this.im=null,this.isolatedEdges=new I,this.invalidPoint=null;var t=arguments[0];this.arg=t}function Qr(){this.rectEnv=null;var t=arguments[0];this.rectEnv=t.getEnvelopeInternal()}function Jr(){this.li=new ae,this.rectEnv=null,this.diagUp0=null,this.diagUp1=null,this.diagDown0=null,this.diagDown1=null;var t=arguments[0];this.rectEnv=t,this.diagUp0=new g(t.getMinX(),t.getMinY()),this.diagUp1=new g(t.getMaxX(),t.getMaxY()),this.diagDown0=new g(t.getMinX(),t.getMaxY()),this.diagDown1=new g(t.getMaxX(),t.getMinY())}function $r(){this._isDone=!1}function ts(){this.rectangle=null,this.rectEnv=null;var t=arguments[0];this.rectangle=t,this.rectEnv=t.getEnvelopeInternal()}function es(){$r.apply(this),this.rectEnv=null,this._intersects=!1;var t=arguments[0];this.rectEnv=t}function ns(){$r.apply(this),this.rectSeq=null,this.rectEnv=null,this._containsPoint=!1;var t=arguments[0];this.rectSeq=t.getExteriorRing().getCoordinateSequence(),this.rectEnv=t.getEnvelopeInternal()}function is(){$r.apply(this),this.rectEnv=null,this.rectIntersector=null,this.hasIntersection=!1,this.p0=new g,this.p1=new g;var t=arguments[0];this.rectEnv=t.getEnvelopeInternal(),this.rectIntersector=new Jr(this.rectEnv)}function rs(){if(this._relate=null,2===arguments.length){var t=arguments[0],e=arguments[1];ti.call(this,t,e),this._relate=new Zr(this.arg)}else if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];ti.call(this,n,i,r),this._relate=new Zr(this.arg)}}function ss(){this.geomFactory=null,this.skipEmpty=!1,this.inputGeoms=null;var t=arguments[0];this.geomFactory=ss.extractFactory(t),this.inputGeoms=t}function os(){this.pointGeom=null,this.otherGeom=null,this.geomFact=null;var t=arguments[0],e=arguments[1];this.pointGeom=t,this.otherGeom=e,this.geomFact=e.getFactory()}function as(){this.sortIndex=-1,this.comps=null;var t=arguments[0],e=arguments[1];this.sortIndex=t,this.comps=e}function us(){this.inputPolys=null,this.geomFactory=null;var t=arguments[0];this.inputPolys=t,null===this.inputPolys&&(this.inputPolys=new I)}function ls(){if(this.polygons=new I,this.lines=new I,this.points=new I,this.geomFact=null,1===arguments.length){if(R(arguments[0],v)){var t=arguments[0];this.extract(t)}else if(arguments[0]instanceof B){var e=arguments[0];this.extract(e)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.geomFact=i,this.extract(n)}}function hs(){_t.CoordinateOperation.apply(this),this.targetPM=null,this.removeCollapsed=!0;var t=arguments[0],e=arguments[1];this.targetPM=t,this.removeCollapsed=e}function cs(){this.targetPM=null,this.removeCollapsed=!0,this.changePrecisionModel=!1,this.isPointwise=!1;var t=arguments[0];this.targetPM=t}function fs(){this.pts=null,this.usePt=null,this.distanceTolerance=null,this.seg=new ce;var t=arguments[0];this.pts=t}function gs(){this.inputGeom=null,this.distanceTolerance=null,this.isEnsureValidTopology=!0;var t=arguments[0];this.inputGeom=t}function ds(){xe.apply(this),this.isEnsureValidTopology=!0,this.distanceTolerance=null;var t=arguments[0],e=arguments[1];this.isEnsureValidTopology=t,this.distanceTolerance=e}function ps(){if(this.parent=null,this.index=null,2===arguments.length){var t=arguments[0],e=arguments[1];ps.call(this,t,e,null,-1)}else if(4===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2],s=arguments[3];ce.call(this,n,i),this.parent=r,this.index=s}}function vs(){if(this.parentLine=null,this.segs=null,this.resultSegs=new I,this.minimumSize=null,1===arguments.length){var t=arguments[0];vs.call(this,t,2)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.parentLine=e,this.minimumSize=n,this.init()}}function ms(){this.index=new Bi}function ys(){this.querySeg=null,this.items=new I;var t=arguments[0];this.querySeg=t}function xs(){this.li=new ae,this.inputIndex=new ms,this.outputIndex=new ms,this.line=null,this.linePts=null,this.distanceTolerance=0;var t=arguments[0],e=arguments[1];this.inputIndex=t,this.outputIndex=e}function Es(){this.inputIndex=new ms,this.outputIndex=new ms,this.distanceTolerance=0}function Is(){this.inputGeom=null,this.lineSimplifier=new Es,this.linestringMap=null;var t=arguments[0];this.inputGeom=t}function Ns(){xe.apply(this),this.linestringMap=null;var t=arguments[0];this.linestringMap=t}function Cs(){this.tps=null;var t=arguments[0];this.tps=t}function Ss(){this.seg=null,this.segLen=null,this.splitPt=null,this.minimumLen=0;var t=arguments[0];this.seg=t,this.segLen=t.getLength()}function ws(){}function Ls(){}function Rs(){}function Ts(){if(this.p=null,1===arguments.length){var t=arguments[0];this.p=new g(t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.p=new g(e,n)}else if(3===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2];this.p=new g(i,r,s)}}function Ps(){this._isOnConstraint=null,this.constraint=null;var t=arguments[0];Ts.call(this,t)}function bs(){this._rot=null,this.vertex=null,this.next=null,this.data=null}function Os(){this.subdiv=null,this.isUsingTolerance=!1;var t=arguments[0];this.subdiv=t,this.isUsingTolerance=t.getTolerance()>0}function _s(){}function Ms(){this.subdiv=null,this.lastEdge=null;var t=arguments[0];this.subdiv=t,this.init()}function Ds(){if(this.seg=null,1===arguments.length){if(\"string\"==typeof arguments[0]){var t=arguments[0];l.call(this,t)}else if(arguments[0]instanceof ce){var e=arguments[0];l.call(this,\"Locate failed to converge (at edge: \"+e+\"). Possible causes include invalid Subdivision topology or very close sites\"),this.seg=new ce(e)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];l.call(this,Ds.msgWithSpatial(n,i)),this.seg=new ce(i)}}function As(){}function Fs(){this.visitedKey=0,this.quadEdges=new I,this.startingEdge=null,this.tolerance=null,this.edgeCoincidenceTolerance=null,this.frameVertex=new Array(3).fill(null),this.frameEnv=null,this.locator=null,this.seg=new ce,this.triEdges=new Array(3).fill(null);var t=arguments[0],e=arguments[1];this.tolerance=e,this.edgeCoincidenceTolerance=e/Fs.EDGE_COINCIDENCE_TOL_FACTOR,this.createFrame(t),this.startingEdge=this.initSubdiv(),this.locator=new Ms(this)}function Gs(){}function qs(){this.triList=new I}function Bs(){this.triList=new I}function zs(){this.coordList=new N,this.triCoords=new I}function Vs(){if(this.ls=null,this.data=null,2===arguments.length){var t=arguments[0],e=arguments[1];this.ls=new ce(t,e)}else if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];this.ls=new ce(n,i),this.data=r}else if(6===arguments.length){var s=arguments[0],o=arguments[1],a=arguments[2],u=arguments[3],l=arguments[4],h=arguments[5];Vs.call(this,new g(s,o,a),new g(u,l,h))}else if(7===arguments.length){var c=arguments[0],f=arguments[1],d=arguments[2],p=arguments[3],v=arguments[4],m=arguments[5],y=arguments[6];Vs.call(this,new g(c,f,d),new g(p,v,m),y)}}function ks(){}function Ys(){if(this.p=null,this.data=null,this.left=null,this.right=null,this.count=null,2===arguments.length){var t=arguments[0],e=arguments[1];this.p=new g(t),this.left=null,this.right=null,this.count=1,this.data=e}else if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];this.p=new g(n,i),this.left=null,this.right=null,this.count=1,this.data=r}}function Us(){if(this.root=null,this.numberOfNodes=null,this.tolerance=null,0===arguments.length)Us.call(this,0);else if(1===arguments.length){var t=arguments[0];this.tolerance=t}}function Xs(){this.tolerance=null,this.matchNode=null,this.matchDist=0,this.p=null;var t=arguments[0],e=arguments[1];this.p=t,this.tolerance=e}function Hs(){this.initialVertices=null,this.segVertices=null,this.segments=new I,this.subdiv=null,this.incDel=null,this.convexHull=null,this.splitFinder=new Ls,this.kdt=null,this.vertexFactory=null,this.computeAreaEnv=null,this.splitPt=null,this.tolerance=null;var t=arguments[0],e=arguments[1];this.initialVertices=new I(t),this.tolerance=e,this.kdt=new Us(e)}function Ws(){this.siteCoords=null,this.tolerance=0,this.subdiv=null}function js(){this.siteCoords=null,this.constraintLines=null,this.tolerance=0,this.subdiv=null,this.constraintVertexMap=new rt}function Ks(){this.siteCoords=null,this.tolerance=0,this.subdiv=null,this.clipEnv=null,this.diagramEnv=null}function Zs(){}\"fill\"in Array.prototype||Object.defineProperty(Array.prototype,\"fill\",{configurable:!0,value:function(t){if(void 0===this||null===this)throw new TypeError(this+\" is not an object\");var e=Object(this),n=Math.max(Math.min(e.length,9007199254740991),0)||0,i=1 in arguments?parseInt(Number(arguments[1]),10)||0:0;i=i<0?Math.max(n+i,0):Math.min(i,n);var r=2 in arguments&&void 0!==arguments[2]?parseInt(Number(arguments[2]),10)||0:n;for(r=r<0?Math.max(n+arguments[2],0):Math.min(r,n);ie.x?1:this.ye.y?1:0},clone:function(){try{var t=null;return t}catch(t){if(t instanceof CloneNotSupportedException)return f.shouldNeverReachHere(\"this shouldn't happen because this class is Cloneable\"),null;throw t}finally{}},copy:function(){return new g(this)},toString:function(){return\"(\"+this.x+\", \"+this.y+\", \"+this.z+\")\"},distance3D:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return Math.sqrt(e*e+n*n+i*i)},distance:function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},hashCode:function(){var t=17;return t=37*t+g.hashCode(this.x),t=37*t+g.hashCode(this.y)},setCoordinate:function(t){this.x=t.x,this.y=t.y,this.z=t.z},interfaces_:function(){return[s,o,u]},getClass:function(){return g}}),g.hashCode=function(){if(1===arguments.length){var t=arguments[0],e=r.doubleToLongBits(t);return Math.trunc(e^e>>>32)}},e(d.prototype,{compare:function(t,e){var n=t,i=e,r=d.compare(n.x,i.x);if(0!==r)return r;var s=d.compare(n.y,i.y);if(0!==s)return s;if(this.dimensionsToTest<=2)return 0;var o=d.compare(n.z,i.z);return o},interfaces_:function(){return[a]},getClass:function(){return d}}),d.compare=function(t,e){return te?1:r.isNaN(t)?r.isNaN(e)?0:-1:r.isNaN(e)?1:0},g.DimensionalComparator=d,g.serialVersionUID=0x5cbf2c235c7e5800,g.NULL_ORDINATE=r.NaN,g.X=0,g.Y=1,g.Z=2,p.prototype.hasNext=function(){},p.prototype.next=function(){},p.prototype.remove=function(){},v.prototype.add=function(){},v.prototype.addAll=function(){},v.prototype.isEmpty=function(){},v.prototype.iterator=function(){},v.prototype.size=function(){},v.prototype.toArray=function(){},v.prototype.remove=function(){},m.prototype=new Error,m.prototype.name=\"IndexOutOfBoundsException\",y.prototype=Object.create(v.prototype),y.prototype.constructor=y,y.prototype.get=function(){},y.prototype.set=function(){},y.prototype.isEmpty=function(){},x.prototype=new Error,x.prototype.name=\"NoSuchElementException\",E.prototype=new Error,E.prototype.name=\"OperationNotSupported\",I.prototype=Object.create(y.prototype),I.prototype.constructor=I,I.prototype.ensureCapacity=function(){},I.prototype.interfaces_=function(){return[y,v]},I.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],arguments[1]),!0},I.prototype.clear=function(){this.array_=[]},I.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},I.prototype.set=function(t,e){var n=this.array_[t];return this.array_[t]=e,n},I.prototype.iterator=function(){return new Qs(this)},I.prototype.get=function(t){if(t<0||t>=this.size())throw new m;return this.array_[t]},I.prototype.isEmpty=function(){return 0===this.array_.length},I.prototype.size=function(){return this.array_.length},I.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e=1){var s=this.get(this.size()-1);if(s.equals2D(i))return null}I.prototype.add.call(this,i)}else if(arguments[0]instanceof Object&&\"boolean\"==typeof arguments[1]){var o=arguments[0],a=arguments[1];return this.add(o,a),!0}}else if(3===arguments.length){if(\"boolean\"==typeof arguments[2]&&arguments[0]instanceof Array&&\"boolean\"==typeof arguments[1]){var u=arguments[0],l=arguments[1],h=arguments[2];if(h)for(var c=0;c=0;c--)this.add(u[c],l);return!0}if(\"boolean\"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof g){var f=arguments[0],d=arguments[1],p=arguments[2];if(!p){var v=this.size();if(v>0){if(f>0){var m=this.get(f-1);if(m.equals2D(d))return null}if(fC&&(S=-1);for(var c=N;c!==C;c+=S)this.add(x[c],E);return!0}},closeRing:function(){this.size()>0&&this.add(new g(this.get(0)),!1)},interfaces_:function(){return[]},getClass:function(){return N}}),N.coordArrayType=new Array(0).fill(null),e(C.prototype,{getArea:function(){return this.getWidth()*this.getHeight()},equals:function(t){if(!(t instanceof C))return!1;var e=t;return this.isNull()?e.isNull():this.maxx===e.getMaxX()&&this.maxy===e.getMaxY()&&this.minx===e.getMinX()&&this.miny===e.getMinY()},intersection:function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new C;var e=this.minx>t.minx?this.minx:t.minx,n=this.miny>t.miny?this.miny:t.miny,i=this.maxx=this.minx&&e.getMaxX()<=this.maxx&&e.getMinY()>=this.miny&&e.getMaxY()<=this.maxy)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];return!this.isNull()&&(n>=this.minx&&n<=this.maxx&&i>=this.miny&&i<=this.maxy)}},intersects:function(){if(1===arguments.length){if(arguments[0]instanceof C){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t.minx>this.maxx||t.maxxthis.maxy||t.maxythis.maxx||nthis.maxy||ithis.maxx&&(this.maxx=e.maxx),e.minythis.maxy&&(this.maxy=e.maxy))}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.isNull()?(this.minx=n,this.maxx=n,this.miny=i,this.maxy=i):(nthis.maxx&&(this.maxx=n),ithis.maxy&&(this.maxy=i))}},minExtent:function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te.minx?1:this.minye.miny?1:this.maxxe.maxx?1:this.maxye.maxy?1:0},translate:function(t,e){return this.isNull()?null:void this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)},toString:function(){return\"Env[\"+this.minx+\" : \"+this.maxx+\", \"+this.miny+\" : \"+this.maxy+\"]\"},setToNull:function(){this.minx=0,this.maxx=-1,this.miny=0,this.maxy=-1},getHeight:function(){return this.isNull()?0:this.maxy-this.miny},maxExtent:function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e},expandBy:function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this.isNull())return null;this.minx-=e,this.maxx+=e,this.miny-=n,this.maxy+=n,(this.minx>this.maxx||this.miny>this.maxy)&&this.setToNull()}},contains:function(){if(1===arguments.length){if(arguments[0]instanceof C){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof g){var e=arguments[0];return this.covers(e)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];return this.covers(n,i)}},centre:function(){return this.isNull()?null:new g((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},init:function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof g){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof C){var e=arguments[0];this.minx=e.minx,this.maxx=e.maxx,this.miny=e.miny,this.maxy=e.maxy}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.init(n.x,i.x,n.y,i.y)}else if(4===arguments.length){var r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];rt.maxx&&(e=this.minx-t.maxx);var n=0;return this.maxyt.maxy&&(n=this.miny-t.maxy),0===e?n:0===n?e:Math.sqrt(e*e+n*n)},hashCode:function(){var t=17;return t=37*t+g.hashCode(this.minx),t=37*t+g.hashCode(this.maxx),t=37*t+g.hashCode(this.miny),t=37*t+g.hashCode(this.maxy)},interfaces_:function(){return[s,u]},getClass:function(){return C}}),C.intersects=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2];return n.x>=(t.xe.x?t.x:e.x)&&n.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2],o=arguments[3],a=Math.min(s.x,o.x),u=Math.max(s.x,o.x),l=Math.min(i.x,r.x),h=Math.max(i.x,r.x);return!(l>u)&&(!(hu)&&!(hn?n:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var i=arguments[0],r=arguments[1],s=arguments[2];return is?s:i}},T.wrap=function(t,e){return t<0?e- -t%e:t%e},T.max=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],i=t;return e>i&&(i=e),n>i&&(i=n),i}if(4===arguments.length){var r=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3],i=r;return s>i&&(i=s),o>i&&(i=o),a>i&&(i=a),i}},T.average=function(t,e){return(t+e)/2},T.LOG_10=Math.log(10),P.prototype.append=function(t){this.str+=t},P.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},P.prototype.toString=function(t){return this.str},b.prototype.intValue=function(){return this.value},b.prototype.compareTo=function(t){return this.valuet?1:0},b.isNaN=function(t){return Number.isNaN(t)},O.isWhitespace=function(t){return t<=32&&t>=0||127==t},O.toUpperCase=function(t){return t.toUpperCase()},e(_.prototype,{le:function(t){return this.hi9?(h=!0,c=\"9\"):c=\"0\"+l,o.append(c),n=n.subtract(_.valueOf(l)).multiply(_.TEN),h&&n.selfAdd(_.TEN);var f=!0,g=_.magnitude(n.hi);if(g<0&&Math.abs(g)>=a-u&&(f=!1),!f)break}return e[0]=i,o.toString()},sqr:function(){return this.multiply(this)},doubleValue:function(){return this.hi+this.lo},subtract:function(){if(arguments[0]instanceof _){var t=arguments[0];return this.add(t.negate())}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.add(-e)}},equals:function(){if(1===arguments.length){var t=arguments[0];return this.hi===t.hi&&this.lo===t.lo}},isZero:function(){return 0===this.hi&&0===this.lo},selfSubtract:function(){if(arguments[0]instanceof _){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t.hi,-t.lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e,0)}},getSpecialNumberString:function(){return this.isZero()?\"0.0\":this.isNaN()?\"NaN \":null},min:function(t){return this.le(t)?this:t},selfDivide:function(){if(1===arguments.length){if(arguments[0]instanceof _){var t=arguments[0];return this.selfDivide(t.hi,t.lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.selfDivide(e,0)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1],r=null,s=null,o=null,a=null,u=null,l=null,h=null,c=null;return u=this.hi/n,l=_.SPLIT*u,r=l-u,c=_.SPLIT*n,r=l-r,s=u-r,o=c-n,h=u*n,o=c-o,a=n-o,c=r*o-h+r*a+s*o+s*a,l=(this.hi-h-c+this.lo-u*i)/n,c=u+l,this.hi=c,this.lo=u-c+l,this}},dump:function(){return\"DD<\"+this.hi+\", \"+this.lo+\">\"},divide:function(){if(arguments[0]instanceof _){var t=arguments[0],e=null,n=null,i=null,s=null,o=null,a=null,u=null,l=null;o=this.hi/t.hi,a=_.SPLIT*o,e=a-o,l=_.SPLIT*t.hi,e=a-e,n=o-e,i=l-t.hi,u=o*t.hi,i=l-i,s=t.hi-i,l=e*i-u+e*s+n*i+n*s,a=(this.hi-u-l+this.lo-o*t.lo)/t.hi,l=o+a;var h=l,c=o-l+a;return new _(h,c)}if(\"number\"==typeof arguments[0]){var f=arguments[0];return r.isNaN(f)?_.createNaN():_.copy(this).selfDivide(f,0)}},ge:function(t){return this.hi>t.hi||this.hi===t.hi&&this.lo>=t.lo},pow:function(t){if(0===t)return _.valueOf(1);var e=new _(this),n=_.valueOf(1),i=Math.abs(t);if(i>1)for(;i>0;)i%2===1&&n.selfMultiply(e),i/=2,i>0&&(e=e.sqr());else n=e;return t<0?n.reciprocal():n},ceil:function(){if(this.isNaN())return _.NaN;var t=Math.ceil(this.hi),e=0;return t===this.hi&&(e=Math.ceil(this.lo)),new _(t,e)},compareTo:function(t){var e=t;return this.hie.hi?1:this.loe.lo?1:0},rint:function(){if(this.isNaN())return this;var t=this.add(.5);return t.floor()},setValue:function(){if(arguments[0]instanceof _){var t=arguments[0];return this.init(t),this}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.init(e),this}},max:function(t){return this.ge(t)?this:t},sqrt:function(){if(this.isZero())return _.valueOf(0);if(this.isNegative())return _.NaN;var t=1/Math.sqrt(this.hi),e=this.hi*t,n=_.valueOf(e),i=this.subtract(n.sqr()),r=i.hi*(.5*t);return n.add(r)},selfAdd:function(){if(1===arguments.length){if(arguments[0]instanceof _){var t=arguments[0];return this.selfAdd(t.hi,t.lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0],n=null,i=null,r=null,s=null,o=null,a=null;return r=this.hi+e,o=r-this.hi,s=r-o,s=e-o+(this.hi-s),a=s+this.lo,n=r+a,i=a+(r-n),this.hi=n+i,this.lo=i+(n-this.hi),this}}else if(2===arguments.length){var u=arguments[0],l=arguments[1],n=null,i=null,h=null,c=null,r=null,s=null,o=null,a=null;r=this.hi+u,h=this.lo+l,o=r-this.hi,a=h-this.lo,s=r-o,c=h-a,s=u-o+(this.hi-s),c=l-a+(this.lo-c),o=s+h,n=r+o,i=o+(r-n),o=c+i;var f=n+o,g=o+(n-f);return this.hi=f,this.lo=g,this}},selfMultiply:function(){if(1===arguments.length){if(arguments[0]instanceof _){var t=arguments[0];return this.selfMultiply(t.hi,t.lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.selfMultiply(e,0)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1],r=null,s=null,o=null,a=null,u=null,l=null;u=_.SPLIT*this.hi,r=u-this.hi,l=_.SPLIT*n,r=u-r,s=this.hi-r,o=l-n,u=this.hi*n,o=l-o,a=n-o,l=r*o-u+r*a+s*o+s*a+(this.hi*i+this.lo*n);var h=u+l;r=u-h;var c=l+r;return this.hi=h,this.lo=c,this}},selfSqr:function(){return this.selfMultiply(this)},floor:function(){if(this.isNaN())return _.NaN;var t=Math.floor(this.hi),e=0;return t===this.hi&&(e=Math.floor(this.lo)),new _(t,e)},negate:function(){return this.isNaN()?this:new _((-this.hi),(-this.lo))},clone:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}finally{}},multiply:function(){if(arguments[0]instanceof _){var t=arguments[0];return t.isNaN()?_.createNaN():_.copy(this).selfMultiply(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return r.isNaN(e)?_.createNaN():_.copy(this).selfMultiply(e,0)}},isNaN:function(){return r.isNaN(this.hi)},intValue:function(){return Math.trunc(this.hi)},toString:function(){var t=_.magnitude(this.hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},toStandardNotation:function(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!0,e),i=e[0]+1,r=n;if(\".\"===n.charAt(0))r=\"0\"+n;else if(i<0)r=\"0.\"+_.stringOfChar(\"0\",-i)+n;else if(n.indexOf(\".\")===-1){var s=i-n.length,o=_.stringOfChar(\"0\",s);r=n+o+\".0\"}return this.isNegative()?\"-\"+r:r},reciprocal:function(){var t=null,e=null,n=null,i=null,r=null,s=null,o=null,a=null;r=1/this.hi,s=_.SPLIT*r,t=s-r,a=_.SPLIT*this.hi,t=s-t,e=r-t,n=a-this.hi,o=r*this.hi,n=a-n,i=this.hi-n,a=t*n-o+t*i+e*n+e*i,s=(1-o-a-r*this.lo)/this.hi;var u=r+s,l=r-u+s;return new _(u,l)},toSciNotation:function(){if(this.isZero())return _.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!1,e),i=_.SCI_NOT_EXPONENT_CHAR+e[0];if(\"0\"===n.charAt(0))throw new IllegalStateException(\"Found leading zero: \"+n);var r=\"\";n.length>1&&(r=n.substring(1));var s=n.charAt(0)+\".\"+r;return this.isNegative()?\"-\"+s+i:s+i},abs:function(){return this.isNaN()?_.NaN:this.isNegative()?this.negate():new _(this)},isPositive:function(){return this.hi>0||0===this.hi&&this.lo>0},lt:function(t){return this.hit.hi||this.hi===t.hi&&this.lo>t.lo},isNegative:function(){return this.hi<0||0===this.hi&&this.lo<0},trunc:function(){return this.isNaN()?_.NaN:this.isPositive()?this.floor():this.ceil()},signum:function(){return this.hi>0?1:this.hi<0?-1:this.lo>0?1:this.lo<0?-1:0},interfaces_:function(){return[u,s,o]},getClass:function(){return _}}),_.sqr=function(t){return _.valueOf(t).selfMultiply(t)},_.valueOf=function(){if(\"string\"==typeof arguments[0]){var t=arguments[0];return _.parse(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return new _(e)}},_.sqrt=function(t){return _.valueOf(t).sqrt()},_.parse=function(t){for(var e=0,n=t.length;O.isWhitespace(t.charAt(e));)e++;var i=!1;if(e=n)break;var l=t.charAt(e);if(e++,O.isDigit(l)){var h=l-\"0\";s.selfMultiply(_.TEN),s.selfAdd(h),o++}else{if(\".\"!==l){if(\"e\"===l||\"E\"===l){var c=t.substring(e);try{u=b.parseInt(c)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException(\"Invalid exponent \"+c+\" in string \"+t):e}finally{}break}throw new NumberFormatException(\"Unexpected character '\"+l+\"' at position \"+e+\" in string \"+t)}a=o}}var f=s,g=o-a-u;if(0===g)f=s;else if(g>0){var d=_.TEN.pow(g);f=s.divide(d)}else if(g<0){var d=_.TEN.pow(-g);f=s.multiply(d)}return i?f.negate():f},_.createNaN=function(){return new _(r.NaN,r.NaN)},_.copy=function(t){return new _(t)},_.magnitude=function(t){var e=Math.abs(t),n=Math.log(e)/Math.log(10),i=Math.trunc(Math.floor(n)),r=Math.pow(10,i);return 10*r<=e&&(i+=1),i},_.stringOfChar=function(t,e){for(var n=new P,i=0;i0){if(s<=0)return M.signum(o);i=r+s}else{if(!(r<0))return M.signum(o);if(s>=0)return M.signum(o);i=-r-s}var a=M.DP_SAFE_EPSILON*i;return o>=a||-o>=a?M.signum(o):2},M.signum=function(t){return t>0?1:t<0?-1:0},M.DP_SAFE_EPSILON=1e-15,e(D.prototype,{setOrdinate:function(t,e,n){},size:function(){},getOrdinate:function(t,e){},getCoordinate:function(){if(1===arguments.length){arguments[0]}else if(2===arguments.length){arguments[0],arguments[1]}},getCoordinateCopy:function(t){},getDimension:function(){},getX:function(t){},clone:function(){},expandEnvelope:function(t){},copy:function(){},getY:function(t){},toCoordinateArray:function(){},interfaces_:function(){return[o]},getClass:function(){return D}}),D.X=0,D.Y=1,D.Z=2,D.M=3,A.arraycopy=function(t,e,n,i,r){for(var s=0,o=e;o0},interfaces_:function(){return[V]},getClass:function(){return Y}}),e(U.prototype,{isInBoundary:function(t){return t>1},interfaces_:function(){return[V]},getClass:function(){return U}}),e(X.prototype,{isInBoundary:function(t){return 1===t},interfaces_:function(){return[V]},getClass:function(){return X}}),V.Mod2BoundaryNodeRule=k,V.EndPointBoundaryNodeRule=Y,V.MultiValentEndPointBoundaryNodeRule=U,V.MonoValentEndPointBoundaryNodeRule=X,V.MOD2_BOUNDARY_RULE=new k,V.ENDPOINT_BOUNDARY_RULE=new Y,V.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new U,V.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new X,V.OGC_SFS_BOUNDARY_RULE=V.MOD2_BOUNDARY_RULE,e(H.prototype,{interfaces_:function(){return[]},getClass:function(){return H}}),H.isRing=function(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])},H.ptNotInList=function(t,e){for(var n=0;n=t?e:[]},H.indexOf=function(t,e){for(var n=0;n0)&&(e=t[n]);return e},H.extract=function(t,e,n){e=T.clamp(e,0,t.length),n=T.clamp(n,-1,t.length);var i=n-e+1;n<0&&(i=0),e>=t.length&&(i=0),ni.length)return 1;if(0===n.length)return 0;var r=H.compare(n,i),s=H.isEqualReversed(n,i);return s?0:r},OLDcompare:function(t,e){var n=t,i=e;if(n.lengthi.length)return 1;if(0===n.length)return 0;for(var r=H.increasingDirection(n),s=H.increasingDirection(i),o=r>0?0:n.length-1,a=s>0?0:n.length-1,u=0;u0))return e.value;e=e.right}}return null},rt.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:$s,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var n,i,r=this.root_;do if(n=r,i=t.compareTo(r.key),i<0)r=r.left;else{if(!(i>0)){var s=r.value;return r.value=e,s}r=r.right}while(null!==r);var o={key:t,left:null,right:null,value:e,parent:n,color:$s,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?n.left=o:n.right=o,this.fixAfterInsertion(o),this.size_++,null},rt.prototype.fixAfterInsertion=function(t){for(t.color=to;null!=t&&t!=this.root_&&t.parent.color==to;)if(tt(t)==nt(tt(tt(t)))){var e=it(tt(tt(t)));$(e)==to?(et(tt(t),$s),et(e,$s),et(tt(tt(t)),to),t=tt(tt(t))):(t==it(tt(t))&&(t=tt(t),this.rotateLeft(t)),et(tt(t),$s),et(tt(tt(t)),to),this.rotateRight(tt(tt(t))))}else{var e=nt(tt(tt(t)));$(e)==to?(et(tt(t),$s),et(e,$s),et(tt(tt(t)),to),t=tt(tt(t))):(t==nt(tt(t))&&(t=tt(t),this.rotateRight(t)),et(tt(t),$s),et(tt(tt(t)),to),this.rotateLeft(tt(tt(t))))}this.root_.color=$s},rt.prototype.values=function(){var t=new I,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=rt.successor(e));)t.add(e.value);return t},rt.prototype.entrySet=function(){var t=new J,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=rt.successor(e));)t.add(e);return t},rt.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},rt.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},rt.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},rt.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}for(var e=t.parent,n=t;null!==e&&n===e.right;)n=e,e=e.parent;return e},rt.prototype.size=function(){return this.size_},e(st.prototype,{interfaces_:function(){return[]},getClass:function(){return st}}),ot.prototype=new Q,at.prototype=new ot,at.prototype.contains=function(t){for(var e=0,n=this.array_.length;e=0;){var o=r.substring(0,s);i.add(o),r=r.substring(s+n),s=r.indexOf(e)}r.length>0&&i.add(r);for(var a=new Array(i.size()).fill(null),u=0;u0)for(var s=r;s0&&i.append(\" \");for(var s=0;s0&&i.append(\",\"),i.append(Nt.toString(t.getOrdinate(r,s)))}return i.append(\")\"),i.toString()}},Ct.ensureValidRing=function(t,e){var n=e.size();if(0===n)return e;if(n<=3)return Ct.createClosedRing(t,e,4);var i=e.getOrdinate(0,D.X)===e.getOrdinate(n-1,D.X)&&e.getOrdinate(0,D.Y)===e.getOrdinate(n-1,D.Y);return i?e:Ct.createClosedRing(t,e,n+1)},Ct.createClosedRing=function(t,e,n){var i=t.create(n,e.getDimension()),r=e.size();Ct.copy(e,0,i,0,r);for(var s=r;s0&&Ct.reverse(this.points),null}},getCoordinate:function(){return this.isEmpty()?null:this.points.getCoordinate(0)},getBoundaryDimension:function(){return this.isClosed()?lt.FALSE:0},isClosed:function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},getEndPoint:function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},getDimension:function(){return 1},getLength:function(){return he.computeLength(this.points)},getNumPoints:function(){return this.points.size()},reverse:function(){var t=this.points.copy();Ct.reverse(t);var e=this.getFactory().createLineString(t);return e},compareToSameClass:function(){if(1===arguments.length){for(var t=arguments[0],e=t,n=0,i=0;n= 2)\");this.points=t},isCoordinate:function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)\")},getGeometryType:function(){return\"LinearRing\"},copy:function(){return new bt(this.points.copy(),this.factory)},interfaces_:function(){return[]},getClass:function(){return bt}}),bt.MINIMUM_VALID_SIZE=4,bt.serialVersionUID=-0x3b229e262367a600,h(Ot,ft),e(Ot.prototype,{getSortIndex:function(){return B.SORTINDEX_MULTIPOLYGON},equalsExact:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&ft.prototype.equalsExact.call(this,t,e)}return ft.prototype.equalsExact.apply(this,arguments)},getBoundaryDimension:function(){return 1},getDimension:function(){return 2},reverse:function(){for(var t=this.geometries.length,e=new Array(t).fill(null),n=0;n0?e.createPoint(n[0]):e.createPoint():t},interfaces_:function(){return[Mt]},getClass:function(){return At}}),e(Ft.prototype,{edit:function(t,e){return t instanceof bt?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof St?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Lt?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},interfaces_:function(){return[Mt]},getClass:function(){return Ft}}),_t.NoOpGeometryOperation=Dt,_t.CoordinateOperation=At,_t.CoordinateSequenceOperation=Ft,e(Gt.prototype,{setOrdinate:function(t,e,n){switch(e){case D.X:this.coordinates[t].x=n;break;case D.Y:this.coordinates[t].y=n;break;case D.Z:this.coordinates[t].z=n;break;default:throw new i(\"invalid ordinateIndex\")}},size:function(){return this.coordinates.length},getOrdinate:function(t,e){switch(e){case D.X:return this.coordinates[t].x;case D.Y:return this.coordinates[t].y;case D.Z:return this.coordinates[t].z}return r.NaN},getCoordinate:function(){if(1===arguments.length){var t=arguments[0];return this.coordinates[t]}if(2===arguments.length){var e=arguments[0],n=arguments[1];n.x=this.coordinates[e].x,n.y=this.coordinates[e].y,n.z=this.coordinates[e].z}},getCoordinateCopy:function(t){return new g(this.coordinates[t])},getDimension:function(){return this.dimension},getX:function(t){return this.coordinates[t].x},clone:function(){for(var t=new Array(this.size()).fill(null),e=0;e0){var t=new P(17*this.coordinates.length);t.append(\"(\"),t.append(this.coordinates[0]);for(var e=1;e3&&(i=3),i<2?new Gt(n):new Gt(n,i)}},interfaces_:function(){return[G,u]},getClass:function(){return qt}}),qt.instance=function(){return qt.instanceObject},qt.serialVersionUID=-0x38e49fa6cf6f2e00,qt.instanceObject=new qt;var no,io=Object.defineProperty,ro=zt({delete:kt,has:Xt,get:Yt,set:Ht,keys:jt,values:Kt,entries:Zt,forEach:$t,clear:Wt}),so=\"undefined\"!=typeof Map&&Map.prototype.values?Map:ro;te.prototype=new K,te.prototype.get=function(t){return this.map_.get(t)||null},te.prototype.put=function(t,e){return this.map_.set(t,e),e},te.prototype.values=function(){for(var t=new I,e=this.map_.values(),n=e.next();!n.done;)t.add(n.value),n=e.next();return t},te.prototype.entrySet=function(){var t=new J;return this.map_.entries().forEach(function(e){return t.add(e)}),t},te.prototype.size=function(){return this.map_.size()},e(ee.prototype,{equals:function(t){if(!(t instanceof ee))return!1;var e=t;return this.modelType===e.modelType&&this.scale===e.scale},compareTo:function(t){var e=t,n=this.getMaximumSignificantDigits(),i=e.getMaximumSignificantDigits();return new b(n).compareTo(new b(i))},getScale:function(){return this.scale},isFloating:function(){return this.modelType===ee.FLOATING||this.modelType===ee.FLOATING_SINGLE},getType:function(){return this.modelType},toString:function(){var t=\"UNKNOWN\";return this.modelType===ee.FLOATING?t=\"Floating\":this.modelType===ee.FLOATING_SINGLE?t=\"Floating-Single\":this.modelType===ee.FIXED&&(t=\"Fixed (Scale=\"+this.getScale()+\")\"),t},makePrecise:function(){if(\"number\"==typeof arguments[0]){var t=arguments[0];if(r.isNaN(t))return t;if(this.modelType===ee.FLOATING_SINGLE){var e=t;return e}return this.modelType===ee.FIXED?Math.round(t*this.scale)/this.scale:t}if(arguments[0]instanceof g){var n=arguments[0];if(this.modelType===ee.FLOATING)return null;n.x=this.makePrecise(n.x),n.y=this.makePrecise(n.y)}},getMaximumSignificantDigits:function(){var t=16;return this.modelType===ee.FLOATING?t=16:this.modelType===ee.FLOATING_SINGLE?t=6:this.modelType===ee.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},setScale:function(t){this.scale=Math.abs(t)},interfaces_:function(){return[u,s]},getClass:function(){return ee}}),ee.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},e(ne.prototype,{readResolve:function(){return ne.nameToTypeMap.get(this.name)},toString:function(){return this.name},interfaces_:function(){return[u]},getClass:function(){return ne}}),ne.serialVersionUID=-552860263173159e4,ne.nameToTypeMap=new te,ee.Type=ne,ee.serialVersionUID=0x6bee6404e9a25c00,ee.FIXED=new ne(\"FIXED\"),ee.FLOATING=new ne(\"FLOATING\"),ee.FLOATING_SINGLE=new ne(\"FLOATING SINGLE\"),ee.maximumPreciseValue=9007199254740992,e(ie.prototype,{toGeometry:function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new g(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new g(t.getMinX(),t.getMinY()),new g(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new g(t.getMinX(),t.getMinY()),new g(t.getMinX(),t.getMaxY()),new g(t.getMaxX(),t.getMaxY()),new g(t.getMaxX(),t.getMinY()),new g(t.getMinX(),t.getMinY())]),null)},createLineString:function(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(R(arguments[0],D)){var e=arguments[0];return new St(e,this)}}},createMultiLineString:function(){if(0===arguments.length)return new gt(null,this);if(1===arguments.length){var t=arguments[0];return new gt(t,this)}},buildGeometry:function(t){for(var e=null,n=!1,i=!1,r=t.iterator();r.hasNext();){var s=r.next(),o=s.getClass();null===e&&(e=o),o!==e&&(n=!0),s.isGeometryCollectionOrDerived()&&(i=!0)}if(null===e)return this.createGeometryCollection();if(n||i)return this.createGeometryCollection(ie.toGeometryArray(t));var a=t.iterator().next(),u=t.size()>1;if(u){if(a instanceof Tt)return this.createMultiPolygon(ie.toPolygonArray(t));if(a instanceof St)return this.createMultiLineString(ie.toLineStringArray(t));if(a instanceof Lt)return this.createMultiPoint(ie.toPointArray(t));f.shouldNeverReachHere(\"Unhandled class: \"+a.getClass().getName())}return a},createMultiPointFromCoords:function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)},createPoint:function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof g){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(R(arguments[0],D)){var e=arguments[0];return new Lt(e,this)}}},getCoordinateSequenceFactory:function(){return this.coordinateSequenceFactory},createPolygon:function(){if(0===arguments.length)return new Tt(null,null,this);if(1===arguments.length){if(R(arguments[0],D)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof bt){var n=arguments[0];return this.createPolygon(n,null)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];return new Tt(i,r,this)}},getSRID:function(){return this.SRID},createGeometryCollection:function(){if(0===arguments.length)return new ft(null,this);if(1===arguments.length){var t=arguments[0];return new ft(t,this)}},createGeometry:function(t){var e=new _t(this);return e.edit(t,{edit:function(){if(2===arguments.length){var t=arguments[0];arguments[1];return this.coordinateSequenceFactory.create(t)}}})},getPrecisionModel:function(){return this.precisionModel},createLinearRing:function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(R(arguments[0],D)){var e=arguments[0];return new bt(e,this)}}},createMultiPolygon:function(){if(0===arguments.length)return new Ot(null,this);if(1===arguments.length){var t=arguments[0];return new Ot(t,this)}},createMultiPoint:function(){if(0===arguments.length)return new Pt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return new Pt(t,this)}if(arguments[0]instanceof Array){var e=arguments[0];return this.createMultiPoint(null!==e?this.getCoordinateSequenceFactory().create(e):null)}if(R(arguments[0],D)){var n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var i=new Array(n.size()).fill(null),r=0;rn?(this.intLineIndex[t][0]=0,this.intLineIndex[t][1]=1):(this.intLineIndex[t][0]=1,this.intLineIndex[t][1]=0)}},isProper:function(){return this.hasIntersection()&&this._isProper},setPrecisionModel:function(t){this.precisionModel=t},isInteriorIntersection:function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],e=0;er?i:r;else{var o=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);s=i>r?o:a,0!==s||t.equals(e)||(s=Math.max(o,a))}return f.isTrue(!(0===s&&!t.equals(e)),\"Bad distance calculation\"),s},oe.nonRobustComputeEdgeDistance=function(t,e,n){var i=t.x-e.x,r=t.y-e.y,s=Math.sqrt(i*i+r*r);return f.isTrue(!(0===s&&!t.equals(e)),\"Invalid distance calculation\"),s},oe.DONT_INTERSECT=0,oe.DO_INTERSECT=1,oe.COLLINEAR=2,oe.NO_INTERSECTION=0,oe.POINT_INTERSECTION=1,oe.COLLINEAR_INTERSECTION=2,h(ae,oe),e(ae.prototype,{isInSegmentEnvelopes:function(t){var e=new C(this.inputLines[0][0],this.inputLines[0][1]),n=new C(this.inputLines[1][0],this.inputLines[1][1]);return e.contains(t)&&n.contains(t)},computeIntersection:function(){if(3!==arguments.length)return oe.prototype.computeIntersection.apply(this,arguments);var t=arguments[0],e=arguments[1],n=arguments[2];return this._isProper=!1,C.intersects(e,n,t)&&0===he.orientationIndex(e,n,t)&&0===he.orientationIndex(n,e,t)?(this._isProper=!0,(t.equals(e)||t.equals(n))&&(this._isProper=!1),this.result=oe.POINT_INTERSECTION,null):void(this.result=oe.NO_INTERSECTION)},normalizeToMinimum:function(t,e,n,i,r){r.x=this.smallestInAbsValue(t.x,e.x,n.x,i.x),r.y=this.smallestInAbsValue(t.y,e.y,n.y,i.y),t.x-=r.x,t.y-=r.y,e.x-=r.x,e.y-=r.y,n.x-=r.x,n.y-=r.y,i.x-=r.x,i.y-=r.y},safeHCoordinateIntersection:function(t,e,n,i){var r=null;try{r=F.intersection(t,e,n,i)}catch(s){if(!(s instanceof w))throw s;r=ae.nearestEndpoint(t,e,n,i)}finally{}return r},intersection:function(t,e,n,i){var r=this.intersectionWithNormalization(t,e,n,i);return this.isInSegmentEnvelopes(r)||(r=new g(ae.nearestEndpoint(t,e,n,i))),null!==this.precisionModel&&this.precisionModel.makePrecise(r),r},smallestInAbsValue:function(t,e,n,i){var r=t,s=Math.abs(r);return Math.abs(e)1e-4&&A.out.println(\"Distance = \"+r.distance(s))},intersectionWithNormalization:function(t,e,n,i){var r=new g(t),s=new g(e),o=new g(n),a=new g(i),u=new g;this.normalizeToEnvCentre(r,s,o,a,u);var l=this.safeHCoordinateIntersection(r,s,o,a);return l.x+=u.x,l.y+=u.y,l},computeCollinearIntersection:function(t,e,n,i){var r=C.intersects(t,e,n),s=C.intersects(t,e,i),o=C.intersects(n,i,t),a=C.intersects(n,i,e);return r&&s?(this.intPt[0]=n,this.intPt[1]=i,oe.COLLINEAR_INTERSECTION):o&&a?(this.intPt[0]=t,this.intPt[1]=e,oe.COLLINEAR_INTERSECTION):r&&o?(this.intPt[0]=n,this.intPt[1]=t,!n.equals(t)||s||a?oe.COLLINEAR_INTERSECTION:oe.POINT_INTERSECTION):r&&a?(this.intPt[0]=n,this.intPt[1]=e,!n.equals(e)||s||o?oe.COLLINEAR_INTERSECTION:oe.POINT_INTERSECTION):s&&o?(this.intPt[0]=i,this.intPt[1]=t,!i.equals(t)||r||a?oe.COLLINEAR_INTERSECTION:oe.POINT_INTERSECTION):s&&a?(this.intPt[0]=i,this.intPt[1]=e,!i.equals(e)||r||o?oe.COLLINEAR_INTERSECTION:oe.POINT_INTERSECTION):oe.NO_INTERSECTION},normalizeToEnvCentre:function(t,e,n,i,r){var s=t.xe.x?t.x:e.x,u=t.y>e.y?t.y:e.y,l=n.xi.x?n.x:i.x,f=n.y>i.y?n.y:i.y,g=s>l?s:l,d=ah?o:h,v=u0&&s>0||r<0&&s<0)return oe.NO_INTERSECTION;var o=he.orientationIndex(n,i,t),a=he.orientationIndex(n,i,e);if(o>0&&a>0||o<0&&a<0)return oe.NO_INTERSECTION;var u=0===r&&0===s&&0===o&&0===a;return u?this.computeCollinearIntersection(t,e,n,i):(0===r||0===s||0===o||0===a?(this._isProper=!1,t.equals2D(n)||t.equals2D(i)?this.intPt[0]=t:e.equals2D(n)||e.equals2D(i)?this.intPt[0]=e:0===r?this.intPt[0]=new g(n):0===s?this.intPt[0]=new g(i):0===o?this.intPt[0]=new g(t):0===a&&(this.intPt[0]=new g(e))):(this._isProper=!0,this.intPt[0]=this.intersection(t,e,n,i)),oe.POINT_INTERSECTION)},interfaces_:function(){return[]},getClass:function(){return ae}}),ae.nearestEndpoint=function(t,e,n,i){var r=t,s=he.distancePointLine(t,n,i),o=he.distancePointLine(e,n,i);return o0?n>0?-r:r:n>0?r:-r;if(0===e||0===n)return i>0?t>0?r:-r:t>0?-r:r;if(0=i?(t=-t,e=-e,n=-n,i=-i):(r=-r,s=-t,t=-n,n=s,s=-e,e=-i,i=s),0=n))return-r;r=-r,t=-t,n=-n}for(;;){if(a+=1,o=Math.floor(n/t),n-=o*t,i-=o*e,i<0)return-r;if(i>e)return r;if(t>n+n){if(ei+i)return-r;n=t-n,i=e-i,r=-r}if(0===i)return 0===n?0:-r;if(0===n)return r;if(o=Math.floor(t/n),t-=o*n,e-=o*i,e<0)return r;if(e>i)return-r;if(n>t+t){if(ie+e)return r;t=n-t,e=i-e,r=-r}if(0===e)return 0===t?0:r;if(0===t)return-r}},e(le.prototype,{countSegment:function(t,e){if(t.xi&&(n=e.x,i=t.x),this.p.x>=n&&this.p.x<=i&&(this.isPointOnSegment=!0),null}if(t.y>this.p.y&&e.y<=this.p.y||e.y>this.p.y&&t.y<=this.p.y){var r=t.x-this.p.x,s=t.y-this.p.y,o=e.x-this.p.x,a=e.y-this.p.y,u=ue.signOfDet2x2(r,s,o,a);if(0===u)return this.isPointOnSegment=!0,null;a0&&this.crossingCount++}},isPointInPolygon:function(){return this.getLocation()!==L.EXTERIOR},getLocation:function(){return this.isPointOnSegment?L.BOUNDARY:this.crossingCount%2===1?L.INTERIOR:L.EXTERIOR},isOnSegment:function(){return this.isPointOnSegment},interfaces_:function(){return[]},getClass:function(){return le}}),le.locatePointInRing=function(){if(arguments[0]instanceof g&&R(arguments[1],D)){for(var t=arguments[0],e=arguments[1],n=new le(t),i=new g,r=new g,s=1;s1||u<0||u>1)&&(r=!0)}}else r=!0;return r?T.min(he.distancePointLine(t,n,i),he.distancePointLine(e,n,i),he.distancePointLine(n,t,e),he.distancePointLine(i,t,e)):0},he.isPointInRing=function(t,e){return he.locatePointInRing(t,e)!==L.EXTERIOR},he.computeLength=function(t){var e=t.size();if(e<=1)return 0;var n=0,i=new g;t.getCoordinate(0,i);for(var r=i.x,s=i.y,o=1;on.y&&(n=o,r=s)}var a=r;do a-=1,a<0&&(a=e);while(t[a].equals2D(n)&&a!==r);var u=r;do u=(u+1)%e;while(t[u].equals2D(n)&&u!==r);var l=t[a],h=t[u];if(l.equals2D(n)||h.equals2D(n)||l.equals2D(h))return!1;var c=he.computeOrientation(l,n,h),f=!1;return f=0===c?l.x>h.x:c>0},he.locatePointInRing=function(t,e){return le.locatePointInRing(t,e)},he.distancePointLinePerpendicular=function(t,e,n){var i=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),r=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/i;return Math.abs(r)*Math.sqrt(i)},he.computeOrientation=function(t,e,n){return he.orientationIndex(t,e,n)},he.distancePointLine=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];if(0===e.length)throw new i(\"Line array must contain at least one vertex\");for(var n=t.distance(e[0]),r=0;r=1)return o.distance(u);var c=((a.y-o.y)*(u.x-a.x)-(a.x-o.x)*(u.y-a.y))/l;return Math.abs(c)*Math.sqrt(l)}},he.isOnLine=function(t,e){for(var n=new ae,i=1;i=0&&n>=0?Math.max(e,n):e<=0&&n<=0?Math.max(e,n):0}if(arguments[0]instanceof g){var i=arguments[0];return he.orientationIndex(this.p0,this.p1,i)}},toGeometry:function(t){return t.createLineString([this.p0,this.p1])},isVertical:function(){return this.p0.x===this.p1.x},equals:function(t){if(!(t instanceof ce))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},intersection:function(t){var e=new ae;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},project:function(){if(arguments[0]instanceof g){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new g(t);var e=this.projectionFactor(t),n=new g;return n.x=this.p0.x+e*(this.p1.x-this.p0.x),n.y=this.p0.y+e*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof ce){var i=arguments[0],r=this.projectionFactor(i.p0),s=this.projectionFactor(i.p1);if(r>=1&&s>=1)return null;if(r<=0&&s<=0)return null;var o=this.project(i.p0);r<0&&(o=this.p0),r>1&&(o=this.p1);var a=this.project(i.p1);return s<0&&(a=this.p0),s>1&&(a=this.p1),new ce(o,a)}},normalize:function(){this.p1.compareTo(this.p0)<0&&this.reverse()},angle:function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},getCoordinate:function(t){return 0===t?this.p0:this.p1},distancePerpendicular:function(t){return he.distancePointLinePerpendicular(t,this.p0,this.p1)},minY:function(){return Math.min(this.p0.y,this.p1.y)},midPoint:function(){return ce.midPoint(this.p0,this.p1)},projectionFactor:function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,i=e*e+n*n;if(i<=0)return r.NaN;var s=((t.x-this.p0.x)*e+(t.y-this.p0.y)*n)/i;return s},closestPoints:function(t){var e=this.intersection(t);if(null!==e)return[e,e];var n=new Array(2).fill(null),i=r.MAX_VALUE,s=null,o=this.closestPoint(t.p0);i=o.distance(t.p0),n[0]=o,n[1]=t.p0;var a=this.closestPoint(t.p1);s=a.distance(t.p1),s0&&e<1)return this.project(t);var n=this.p0.distance(t),i=this.p1.distance(t);return n1||r.isNaN(e))&&(e=1),e},toString:function(){return\"LINESTRING( \"+this.p0.x+\" \"+this.p0.y+\", \"+this.p1.x+\" \"+this.p1.y+\")\"},isHorizontal:function(){return this.p0.y===this.p1.y},distance:function(){if(arguments[0]instanceof ce){var t=arguments[0];return he.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof g){var e=arguments[0];return he.distancePointLine(e,this.p0,this.p1)}},pointAlong:function(t){var e=new g;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e},hashCode:function(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),n=java.lang.Double.doubleToLongBits(this.p1.x);n^=31*java.lang.Double.doubleToLongBits(this.p1.y);var i=Math.trunc(n)^Math.trunc(n>>32);return e^i},interfaces_:function(){return[s,u]},getClass:function(){return ce}}),ce.midPoint=function(t,e){return new g((t.x+e.x)/2,(t.y+e.y)/2)},ce.serialVersionUID=0x2d2172135f411c00,e(fe.prototype,{isIntersects:function(){return!this.isDisjoint()},isCovers:function(){var t=fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])||fe.isTrue(this.matrix[L.INTERIOR][L.BOUNDARY])||fe.isTrue(this.matrix[L.BOUNDARY][L.INTERIOR])||fe.isTrue(this.matrix[L.BOUNDARY][L.BOUNDARY]);return t&&this.matrix[L.EXTERIOR][L.INTERIOR]===lt.FALSE&&this.matrix[L.EXTERIOR][L.BOUNDARY]===lt.FALSE},isCoveredBy:function(){var t=fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])||fe.isTrue(this.matrix[L.INTERIOR][L.BOUNDARY])||fe.isTrue(this.matrix[L.BOUNDARY][L.INTERIOR])||fe.isTrue(this.matrix[L.BOUNDARY][L.BOUNDARY]);return t&&this.matrix[L.INTERIOR][L.EXTERIOR]===lt.FALSE&&this.matrix[L.BOUNDARY][L.EXTERIOR]===lt.FALSE},set:function(){if(1===arguments.length)for(var t=arguments[0],e=0;e=0&&e>=0&&this.setAtLeast(t,e,n)},isWithin:function(){return fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])&&this.matrix[L.INTERIOR][L.EXTERIOR]===lt.FALSE&&this.matrix[L.BOUNDARY][L.EXTERIOR]===lt.FALSE},isTouches:function(t,e){return t>e?this.isTouches(e,t):(t===lt.A&&e===lt.A||t===lt.L&&e===lt.L||t===lt.L&&e===lt.A||t===lt.P&&e===lt.A||t===lt.P&&e===lt.L)&&(this.matrix[L.INTERIOR][L.INTERIOR]===lt.FALSE&&(fe.isTrue(this.matrix[L.INTERIOR][L.BOUNDARY])||fe.isTrue(this.matrix[L.BOUNDARY][L.INTERIOR])||fe.isTrue(this.matrix[L.BOUNDARY][L.BOUNDARY])))},isOverlaps:function(t,e){return t===lt.P&&e===lt.P||t===lt.A&&e===lt.A?fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])&&fe.isTrue(this.matrix[L.INTERIOR][L.EXTERIOR])&&fe.isTrue(this.matrix[L.EXTERIOR][L.INTERIOR]):t===lt.L&&e===lt.L&&(1===this.matrix[L.INTERIOR][L.INTERIOR]&&fe.isTrue(this.matrix[L.INTERIOR][L.EXTERIOR])&&fe.isTrue(this.matrix[L.EXTERIOR][L.INTERIOR]))},isEquals:function(t,e){return t===e&&(fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])&&this.matrix[L.INTERIOR][L.EXTERIOR]===lt.FALSE&&this.matrix[L.BOUNDARY][L.EXTERIOR]===lt.FALSE&&this.matrix[L.EXTERIOR][L.INTERIOR]===lt.FALSE&&this.matrix[L.EXTERIOR][L.BOUNDARY]===lt.FALSE)},toString:function(){for(var t=new P(\"123456789\"),e=0;e<3;e++)for(var n=0;n<3;n++)t.setCharAt(3*e+n,lt.toDimensionSymbol(this.matrix[e][n]));return t.toString()},setAll:function(t){for(var e=0;e<3;e++)for(var n=0;n<3;n++)this.matrix[e][n]=t},get:function(t,e){return this.matrix[t][e]},transpose:function(){var t=this.matrix[1][0];return this.matrix[1][0]=this.matrix[0][1],this.matrix[0][1]=t,t=this.matrix[2][0],this.matrix[2][0]=this.matrix[0][2],this.matrix[0][2]=t,t=this.matrix[2][1],this.matrix[2][1]=this.matrix[1][2],this.matrix[1][2]=t,this},matches:function(t){if(9!==t.length)throw new i(\"Should be length 9: \"+t);for(var e=0;e<3;e++)for(var n=0;n<3;n++)if(!fe.matches(this.matrix[e][n],t.charAt(3*e+n)))return!1;return!0},add:function(t){for(var e=0;e<3;e++)for(var n=0;n<3;n++)this.setAtLeast(e,n,t.get(e,n))},isDisjoint:function(){return this.matrix[L.INTERIOR][L.INTERIOR]===lt.FALSE&&this.matrix[L.INTERIOR][L.BOUNDARY]===lt.FALSE&&this.matrix[L.BOUNDARY][L.INTERIOR]===lt.FALSE&&this.matrix[L.BOUNDARY][L.BOUNDARY]===lt.FALSE},isCrosses:function(t,e){return t===lt.P&&e===lt.L||t===lt.P&&e===lt.A||t===lt.L&&e===lt.A?fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])&&fe.isTrue(this.matrix[L.INTERIOR][L.EXTERIOR]):t===lt.L&&e===lt.P||t===lt.A&&e===lt.P||t===lt.A&&e===lt.L?fe.isTrue(this.matrix[L.INTERIOR][L.INTERIOR])&&fe.isTrue(this.matrix[L.EXTERIOR][L.INTERIOR]):t===lt.L&&e===lt.L&&0===this.matrix[L.INTERIOR][L.INTERIOR]},interfaces_:function(){return[o]},getClass:function(){return fe}}),fe.matches=function(){if(Number.isInteger(arguments[0])&&\"string\"==typeof arguments[1]){var t=arguments[0],e=arguments[1];return e===lt.SYM_DONTCARE||(e===lt.SYM_TRUE&&(t>=0||t===lt.TRUE)||(e===lt.SYM_FALSE&&t===lt.FALSE||(e===lt.SYM_P&&t===lt.P||(e===lt.SYM_L&&t===lt.L||e===lt.SYM_A&&t===lt.A))))}if(\"string\"==typeof arguments[0]&&\"string\"==typeof arguments[1]){var n=arguments[0],i=arguments[1],r=new fe(n);return r.matches(i)}},fe.isTrue=function(t){return t>=0||t===lt.TRUE};var lo=Object.freeze({Coordinate:g,CoordinateList:N,Envelope:C,LineSegment:ce,GeometryFactory:ie,Geometry:B,Point:Lt,LineString:St,LinearRing:bt,Polygon:Tt,GeometryCollection:ft,MultiPoint:Pt,MultiLineString:gt,MultiPolygon:Ot,Dimension:lt,IntersectionMatrix:fe,PrecisionModel:ee});e(ge.prototype,{addPoint:function(t){this.ptCount+=1,this.ptCentSum.x+=t.x,this.ptCentSum.y+=t.y},setBasePoint:function(t){null===this.areaBasePt&&(this.areaBasePt=t)},addLineSegments:function(t){for(var e=0,n=0;n0&&this.addPoint(t[0])},addHole:function(t){for(var e=he.isCCW(t),n=0;n0)t.x=this.cg3.x/3/this.areasum2,t.y=this.cg3.y/3/this.areasum2;else if(this.totalLength>0)t.x=this.lineCentSum.x/this.totalLength,t.y=this.lineCentSum.y/this.totalLength;else{if(!(this.ptCount>0))return null;t.x=this.ptCentSum.x/this.ptCount,t.y=this.ptCentSum.y/this.ptCount}return t},addShell:function(t){t.length>0&&this.setBasePoint(t[0]);for(var e=!he.isCCW(t),n=0;n=this.size())throw new IndexOutOfBoundsException;return this.array_[t]},pe.prototype.push=function(t){return this.array_.push(t),t},pe.prototype.pop=function(t){if(0===this.array_.length)throw new de;return this.array_.pop()},pe.prototype.peek=function(){if(0===this.array_.length)throw new de;return this.array_[this.array_.length-1]},pe.prototype.empty=function(){return 0===this.array_.length},pe.prototype.isEmpty=function(){return this.empty()},pe.prototype.search=function(t){return this.array_.indexOf(t)},pe.prototype.size=function(){return this.array_.length},pe.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e50&&(t=this.reduce(this.inputPts));var e=this.preSort(t),n=this.grahamScan(e),i=this.toCoordinateArray(n);return this.lineOrPolygon(i)},padArray3:function(t){for(var e=new Array(3).fill(null),n=0;ne[2].y&&(e[2]=t[i]),t[i].x+t[i].y>e[3].x+e[3].y&&(e[3]=t[i]),t[i].x>e[4].x&&(e[4]=t[i]),t[i].x-t[i].y>e[5].x-e[5].y&&(e[5]=t[i]),t[i].y0;)e=n.pop();e=n.push(e),e=n.push(t[i]);\n}return e=n.push(t[0]),n},interfaces_:function(){return[]},getClass:function(){return me}}),me.extractCoordinates=function(t){var e=new ve;return t.apply(e),e.getCoordinates()},e(ye.prototype,{compare:function(t,e){var n=t,i=e;return ye.polarCompare(this.origin,n,i)},interfaces_:function(){return[a]},getClass:function(){return ye}}),ye.polarCompare=function(t,e,n){var i=e.x-t.x,r=e.y-t.y,s=n.x-t.x,o=n.y-t.y,a=he.computeOrientation(t,e,n);if(a===he.COUNTERCLOCKWISE)return 1;if(a===he.CLOCKWISE)return-1;var u=i*i+r*r,l=s*s+o*o;return ul?1:0},me.RadialComparator=ye,e(xe.prototype,{transformPoint:function(t,e){return this.factory.createPoint(this.transformCoordinates(t.getCoordinateSequence(),t))},transformPolygon:function(t,e){var n=!0,i=this.transformLinearRing(t.getExteriorRing(),t);null!==i&&i instanceof bt&&!i.isEmpty()||(n=!1);for(var r=new I,s=0;s0&&i<4&&!this.preserveType?this.factory.createLineString(n):this.factory.createLinearRing(n)},interfaces_:function(){return[]},getClass:function(){return xe}}),e(Ee.prototype,{snapVertices:function(t,e){for(var n=this._isClosed?t.size()-1:t.size(),i=0;i=0&&t.add(s+1,new g(r),!1)}},findSegmentIndexToSnap:function(t,e){for(var n=r.MAX_VALUE,i=-1,s=0;se&&(e=i)}return e}if(2===arguments.length){var r=arguments[0],s=arguments[1];return Math.min(Ie.computeOverlaySnapTolerance(r),Ie.computeOverlaySnapTolerance(s))}},Ie.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal(),n=Math.min(e.getHeight(),e.getWidth()),i=n*Ie.SNAP_PRECISION_FACTOR;return i},Ie.snapToSelf=function(t,e,n){var i=new Ie(t);return i.snapToSelf(e,n)},Ie.SNAP_PRECISION_FACTOR=1e-9,h(Ne,xe),e(Ne.prototype,{snapLine:function(t,e){var n=new Ee(t,this.snapTolerance);return n.setAllowSnappingToSourceVertices(this.isSelfSnap),n.snapTo(e)},transformCoordinates:function(t,e){var n=t.toCoordinateArray(),i=this.snapLine(n,this.snapPts);return this.factory.getCoordinateSequenceFactory().create(i)},interfaces_:function(){return[]},getClass:function(){return Ne}}),e(Ce.prototype,{getCommon:function(){return r.longBitsToDouble(this.commonBits)},add:function(t){var e=r.doubleToLongBits(t);if(this.isFirst)return this.commonBits=e,this.commonSignExp=Ce.signExpBits(this.commonBits),this.isFirst=!1,null;var n=Ce.signExpBits(e);return n!==this.commonSignExp?(this.commonBits=0,null):(this.commonMantissaBitsCount=Ce.numCommonMostSigMantissaBits(this.commonBits,e),void(this.commonBits=Ce.zeroLowerBits(this.commonBits,64-(12+this.commonMantissaBitsCount))))},toString:function(){if(1===arguments.length){var t=arguments[0],e=r.longBitsToDouble(t),n=Long.toBinaryString(t),i=\"0000000000000000000000000000000000000000000000000000000000000000\"+n,s=i.substring(i.length-64),o=s.substring(0,1)+\" \"+s.substring(1,12)+\"(exp) \"+s.substring(12)+\" [ \"+e+\" ]\";return o}},interfaces_:function(){return[]},getClass:function(){return Ce}}),Ce.getBit=function(t,e){var n=1<>52},Ce.zeroLowerBits=function(t,e){var n=(1<=0;i--){if(Ce.getBit(t,i)!==Ce.getBit(e,i))return n;n++}return 52},e(Se.prototype,{addCommonBits:function(t){var e=new Le(this.commonCoord);t.apply(e),t.geometryChanged()},removeCommonBits:function(t){if(0===this.commonCoord.x&&0===this.commonCoord.y)return t;var e=new g(this.commonCoord);e.x=-e.x,e.y=-e.y;var n=new Le(e);return t.apply(n),t.geometryChanged(),t},getCommonCoordinate:function(){return this.commonCoord},add:function(t){t.apply(this.ccFilter),this.commonCoord=this.ccFilter.getCommonCoordinate()},interfaces_:function(){return[]},getClass:function(){return Se}}),e(we.prototype,{filter:function(t){this.commonBitsX.add(t.x),this.commonBitsY.add(t.y)},getCommonCoordinate:function(){return new g(this.commonBitsX.getCommon(),this.commonBitsY.getCommon())},interfaces_:function(){return[z]},getClass:function(){return we}}),e(Le.prototype,{filter:function(t,e){var n=t.getOrdinate(e,0)+this.trans.x,i=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,n),t.setOrdinate(e,1,i)},isDone:function(){return!1},isGeometryChanged:function(){return!0},interfaces_:function(){return[ct]},getClass:function(){return Le}}),Se.CommonCoordinateFilter=we,Se.Translater=Le,e(Re.prototype,{next:function(){if(this.atStart)return this.atStart=!1,Re.isAtomic(this.parent)&&this.index++,this.parent;if(null!==this.subcollectionIterator){if(this.subcollectionIterator.hasNext())return this.subcollectionIterator.next();this.subcollectionIterator=null}if(this.index>=this.max)throw new x;var t=this.parent.getGeometryN(this.index++);return t instanceof ft?(this.subcollectionIterator=new Re(t),this.subcollectionIterator.next()):t},remove:function(){throw new UnsupportedOperationException(this.getClass().getName())},hasNext:function(){if(this.atStart)return!0;if(null!==this.subcollectionIterator){if(this.subcollectionIterator.hasNext())return!0;this.subcollectionIterator=null}return!(this.index>=this.max)},interfaces_:function(){return[p]},getClass:function(){return Re}}),Re.isAtomic=function(t){return!(t instanceof ft)},e(Te.prototype,{locateInternal:function(){if(arguments[0]instanceof g&&arguments[1]instanceof Tt){var t=arguments[0],e=arguments[1];if(e.isEmpty())return L.EXTERIOR;var n=e.getExteriorRing(),i=this.locateInPolygonRing(t,n);if(i===L.EXTERIOR)return L.EXTERIOR;if(i===L.BOUNDARY)return L.BOUNDARY;for(var r=0;r0||this.isIn?L.INTERIOR:L.EXTERIOR)},interfaces_:function(){return[]},getClass:function(){return Te}}),e(Pe.prototype,{interfaces_:function(){return[]},getClass:function(){return Pe}}),Pe.octant=function(){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new i(\"Cannot compute the octant for point ( \"+t+\", \"+e+\" )\");var n=Math.abs(t),r=Math.abs(e);return t>=0?e>=0?n>=r?0:1:n>=r?7:6:e>=0?n>=r?3:2:n>=r?4:5}if(arguments[0]instanceof g&&arguments[1]instanceof g){var s=arguments[0],o=arguments[1],a=o.x-s.x,u=o.y-s.y;if(0===a&&0===u)throw new i(\"Cannot compute the octant for two identical points \"+s);return Pe.octant(a,u)}},e(be.prototype,{getCoordinates:function(){},size:function(){},getCoordinate:function(t){},isClosed:function(){},setData:function(t){},getData:function(){},interfaces_:function(){return[]},getClass:function(){return be}}),e(Oe.prototype,{getCoordinates:function(){return this.pts},size:function(){return this.pts.length},getCoordinate:function(t){return this.pts[t]},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getSegmentOctant:function(t){return t===this.pts.length-1?-1:Pe.octant(this.getCoordinate(t),this.getCoordinate(t+1))},setData:function(t){this.data=t},getData:function(){return this.data},toString:function(){return se.toLineString(new Gt(this.pts))},interfaces_:function(){return[be]},getClass:function(){return Oe}}),e(_e.prototype,{getBounds:function(){},interfaces_:function(){return[]},getClass:function(){return _e}}),e(Me.prototype,{getItem:function(){return this.item},getBounds:function(){return this.bounds},interfaces_:function(){return[_e,u]},getClass:function(){return Me}}),e(De.prototype,{poll:function(){if(this.isEmpty())return null;var t=this.items.get(1);return this.items.set(1,this.items.get(this._size)),this._size-=1,this.reorder(1),t},size:function(){return this._size},reorder:function(t){for(var e=null,n=this.items.get(t);2*t<=this._size&&(e=2*t,e!==this._size&&this.items.get(e+1).compareTo(this.items.get(e))<0&&e++,this.items.get(e).compareTo(n)<0);t=e)this.items.set(t,this.items.get(e));this.items.set(t,n)},clear:function(){this._size=0,this.items.clear()},isEmpty:function(){return 0===this._size},add:function(t){this.items.add(null),this._size+=1;var e=this._size;for(this.items.set(0,t);t.compareTo(this.items.get(Math.trunc(e/2)))<0;e/=2)this.items.set(e,this.items.get(Math.trunc(e/2)));this.items.set(e,t)},interfaces_:function(){return[]},getClass:function(){return De}}),e(Ae.prototype,{visitItem:function(t){},interfaces_:function(){return[]},getClass:function(){return Ae}}),e(Fe.prototype,{insert:function(t,e){},remove:function(t,e){},query:function(){if(1===arguments.length){arguments[0]}else if(2===arguments.length){arguments[0],arguments[1]}},interfaces_:function(){return[]},getClass:function(){return Fe}}),e(Ge.prototype,{getLevel:function(){return this.level},size:function(){return this.childBoundables.size()},getChildBoundables:function(){return this.childBoundables},addChildBoundable:function(t){f.isTrue(null===this.bounds),this.childBoundables.add(t)},isEmpty:function(){return this.childBoundables.isEmpty()},getBounds:function(){return null===this.bounds&&(this.bounds=this.computeBounds()),this.bounds},interfaces_:function(){return[_e,u]},getClass:function(){return Ge}}),Ge.serialVersionUID=0x5a1e55ec41369800;var ho={reverseOrder:function(){return{compare:function(t,e){return e.compareTo(t)}}},min:function(t){return ho.sort(t),t.get(0)},sort:function(t,e){var n=t.toArray();e?ut.sort(n,e):ut.sort(n);for(var i=t.iterator(),r=0,s=n.length;rqe.area(this.boundable2)?(this.expand(this.boundable1,this.boundable2,t,e),null):(this.expand(this.boundable2,this.boundable1,t,e),null);if(n)return this.expand(this.boundable1,this.boundable2,t,e),null;if(r)return this.expand(this.boundable2,this.boundable1,t,e),null;throw new i(\"neither boundable is composite\")},isLeaves:function(){return!(qe.isComposite(this.boundable1)||qe.isComposite(this.boundable2))},compareTo:function(t){var e=t;return this._distancee._distance?1:0},expand:function(t,e,n,i){for(var r=t.getChildBoundables(),s=r.iterator();s.hasNext();){var o=s.next(),a=new qe(o,e,this.itemDistance);a.getDistance()-2),i.getLevel()===n)return r.add(i),null;for(var s=i.getChildBoundables().iterator();s.hasNext();){var o=s.next();o instanceof Ge?this.boundablesAtLevel(n,o,r):(f.isTrue(o instanceof Me),n===-1&&r.add(o))}return null}},query:function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new I;return this.isEmpty()?e:(this.getIntersectsOp().intersects(this.root.getBounds(),t)&&this.query(t,this.root,e),e)}if(2===arguments.length){var n=arguments[0],i=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this.root.getBounds(),n)&&this.query(n,this.root,i)}else if(3===arguments.length)if(R(arguments[2],Ae)&&arguments[0]instanceof Object&&arguments[1]instanceof Ge)for(var r=arguments[0],s=arguments[1],o=arguments[2],a=s.getChildBoundables(),u=0;ue&&(e=r)}}return e+1}},createParentBoundables:function(t,e){f.isTrue(!t.isEmpty());var n=new I;n.add(this.createNode(e));var i=new I(t);ho.sort(i,this.getComparator());for(var r=i.iterator();r.hasNext();){var s=r.next();this.lastNode(n).getChildBoundables().size()===this.getNodeCapacity()&&n.add(this.createNode(e)),this.lastNode(n).addChildBoundable(s)}return n},isEmpty:function(){return this.built?this.root.isEmpty():this.itemBoundables.isEmpty()},interfaces_:function(){return[u]},getClass:function(){return Be}}),Be.compareDoubles=function(t,e){return t>e?1:t0);for(var n=new I,i=0;i0;){var c=h.poll(),f=c.getDistance();if(f>=u)break;c.isLeaves()?(u=f,l=c):c.expandToQueue(h,u)}return[l.getBoundable(0).getItem(),l.getBoundable(1).getItem()]}}else if(3===arguments.length){var g=arguments[0],d=arguments[1],p=arguments[2],v=new Me(g,d),e=new qe(this.getRoot(),v,p);return this.nearestNeighbour(e)[0]}},interfaces_:function(){return[Fe,u]},getClass:function(){return ke}}),ke.centreX=function(t){return ke.avg(t.getMinX(),t.getMaxX())},ke.avg=function(t,e){return(t+e)/2},ke.centreY=function(t){return ke.avg(t.getMinY(),t.getMaxY())},h(Ye,Ge),e(Ye.prototype,{computeBounds:function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var n=e.next();null===t?t=new C(n.getBounds()):t.expandToInclude(n.getBounds())}return t},interfaces_:function(){return[]},getClass:function(){return Ye}}),ke.STRtreeNode=Ye,ke.serialVersionUID=0x39920f7d5f261e0,ke.xComparator={interfaces_:function(){return[a]},compare:function(t,e){return Be.compareDoubles(ke.centreX(t.getBounds()),ke.centreX(e.getBounds()))}},ke.yComparator={interfaces_:function(){return[a]},compare:function(t,e){return Be.compareDoubles(ke.centreY(t.getBounds()),ke.centreY(e.getBounds()))}},ke.intersectsOp={interfaces_:function(){return[IntersectsOp]},intersects:function(t,e){return t.intersects(e)}},ke.DEFAULT_NODE_CAPACITY=10,e(Ue.prototype,{interfaces_:function(){return[]},getClass:function(){return Ue}}),Ue.relativeSign=function(t,e){return te?1:0},Ue.compare=function(t,e,n){if(e.equals2D(n))return 0;var i=Ue.relativeSign(e.x,n.x),r=Ue.relativeSign(e.y,n.y);switch(t){case 0:return Ue.compareValue(i,r);case 1:return Ue.compareValue(r,i);case 2:return Ue.compareValue(r,-i);case 3:return Ue.compareValue(-i,r);case 4:return Ue.compareValue(-i,-r);case 5:return Ue.compareValue(-r,-i);case 6:return Ue.compareValue(-r,i);case 7:return Ue.compareValue(i,-r)}return f.shouldNeverReachHere(\"invalid octant value\"),0},Ue.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0},e(Xe.prototype,{getCoordinate:function(){return this.coord},print:function(t){t.print(this.coord),t.print(\" seg # = \"+this.segmentIndex)},compareTo:function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:Ue.compare(this.segmentOctant,this.coord,e.coord)},isEndPoint:function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t},isInterior:function(){return this._isInterior},interfaces_:function(){return[s]},getClass:function(){return Xe}}),e(He.prototype,{getSplitCoordinates:function(){var t=new N;this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var i=e.next();this.addEdgeCoordinates(n,i,t),n=i}return t.toCoordinateArray()},addCollapsedNodes:function(){var t=new I;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var n=e.next().intValue();this.add(this.edge.getCoordinate(n),n)}},print:function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){var n=e.next();n.print(t)}},findCollapsesFromExistingVertices:function(t){for(var e=0;ethis.currNode.segmentIndex,null)},remove:function(){throw new UnsupportedOperationException(this.getClass().getName())},hasNext:function(){return null!==this.nextNode},readNextNode:function(){this.nodeIt.hasNext()?this.nextNode=this.nodeIt.next():this.nextNode=null},interfaces_:function(){return[p]},getClass:function(){return We}}),e(je.prototype,{addIntersection:function(t,e){},interfaces_:function(){return[be]},getClass:function(){return je}}),e(Ke.prototype,{getCoordinates:function(){return this.pts},size:function(){return this.pts.length},getCoordinate:function(t){return this.pts[t]},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getSegmentOctant:function(t){return t===this.pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},setData:function(t){this.data=t},safeOctant:function(t,e){return t.equals2D(e)?0:Pe.octant(t,e)},getData:function(){return this.data},addIntersection:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var n=arguments[0],i=arguments[1],r=(arguments[2],arguments[3]),s=new g(n.getIntersection(r));this.addIntersection(s,i)}},toString:function(){return se.toLineString(new Gt(this.pts))},getNodeList:function(){return this.nodeList},addIntersectionNode:function(t,e){var n=e,i=n+1;if(ie?t:e;return 0===i&&3===r?3:i},Je.isInHalfPlane=function(t,e){return e===Je.SE?t===Je.SE||t===Je.SW:t===e||t===e+1},Je.quadrant=function(){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new i(\"Cannot compute the quadrant for point ( \"+t+\", \"+e+\" )\");return t>=0?e>=0?Je.NE:Je.SE:e>=0?Je.NW:Je.SW}if(arguments[0]instanceof g&&arguments[1]instanceof g){var n=arguments[0],r=arguments[1];if(r.x===n.x&&r.y===n.y)throw new i(\"Cannot compute the quadrant for two identical points \"+n);return r.x>=n.x?r.y>=n.y?Je.NE:Je.SE:r.y>=n.y?Je.NW:Je.SW}},Je.NE=0,Je.NW=1,Je.SW=2,Je.SE=3,e($e.prototype,{interfaces_:function(){return[]},getClass:function(){return $e}}),$e.getChainStartIndices=function(t){var e=0,n=new I;n.add(new b(e));do{var i=$e.findChainEnd(t,e);n.add(new b(i)),e=i}while(e=t.length-1)return t.length-1;for(var i=Je.quadrant(t[n],t[n+1]),r=e+1;rn.getId()&&(n.computeOverlaps(s,t),this.nOverlaps++),this.segInt.isDone())return null}},interfaces_:function(){return[]},getClass:function(){return nn}}),h(rn,Ze),e(rn.prototype,{overlap:function(){if(4!==arguments.length)return Ze.prototype.overlap.apply(this,arguments);var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3],r=t.getContext(),s=n.getContext();this.si.processIntersections(r,e,s,i)},interfaces_:function(){return[]},getClass:function(){return rn}}),nn.SegmentOverlapAction=rn,h(sn,l),e(sn.prototype,{getCoordinate:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return sn}}),sn.msgWithCoord=function(t,e){return null!==e?t+\" [ \"+e+\" ]\":t},e(on.prototype,{processIntersections:function(t,e,n,i){},isDone:function(){},interfaces_:function(){return[]},getClass:function(){return on}}),e(an.prototype,{getInteriorIntersection:function(){return this.interiorIntersection},setCheckEndSegmentsOnly:function(t){this.isCheckEndSegmentsOnly=t},getIntersectionSegments:function(){return this.intSegments},count:function(){return this.intersectionCount},getIntersections:function(){return this.intersections},setFindAllIntersections:function(t){this.findAllIntersections=t},setKeepIntersections:function(t){this.keepIntersections=t},processIntersections:function(t,e,n,i){if(!this.findAllIntersections&&this.hasIntersection())return null;if(t===n&&e===i)return null;if(this.isCheckEndSegmentsOnly){var r=this.isEndSegment(t,e)||this.isEndSegment(n,i);if(!r)return null}var s=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=n.getCoordinates()[i],u=n.getCoordinates()[i+1];this.li.computeIntersection(s,o,a,u),this.li.hasIntersection()&&this.li.isInteriorIntersection()&&(this.intSegments=new Array(4).fill(null),this.intSegments[0]=s,this.intSegments[1]=o,this.intSegments[2]=a,this.intSegments[3]=u,this.interiorIntersection=this.li.getIntersection(0),this.keepIntersections&&this.intersections.add(this.interiorIntersection),this.intersectionCount++)},isEndSegment:function(t,e){return 0===e||e>=t.size()-2},hasIntersection:function(){return null!==this.interiorIntersection},isDone:function(){return!this.findAllIntersections&&null!==this.interiorIntersection},interfaces_:function(){return[on]},getClass:function(){return an}}),an.createAllIntersectionsFinder=function(t){var e=new an(t);return e.setFindAllIntersections(!0),e},an.createAnyIntersectionFinder=function(t){return new an(t)},an.createIntersectionCounter=function(t){var e=new an(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e},e(un.prototype,{execute:function(){return null!==this.segInt?null:void this.checkInteriorIntersections()},getIntersections:function(){return this.segInt.getIntersections()},isValid:function(){return this.execute(),this._isValid},setFindAllIntersections:function(t){this.findAllIntersections=t},checkInteriorIntersections:function(){this._isValid=!0,this.segInt=new an(this.li),this.segInt.setFindAllIntersections(this.findAllIntersections);var t=new nn;if(t.setSegmentIntersector(this.segInt),t.computeNodes(this.segStrings),this.segInt.hasIntersection())return this._isValid=!1,null},checkValid:function(){if(this.execute(),!this._isValid)throw new sn(this.getErrorMessage(),this.segInt.getInteriorIntersection())},getErrorMessage:function(){if(this._isValid)return\"no intersections found\";var t=this.segInt.getIntersectionSegments();return\"found non-noded intersection between \"+se.toLineString(t[0],t[1])+\" and \"+se.toLineString(t[2],t[3])},interfaces_:function(){return[]},getClass:function(){return un}}),un.computeIntersections=function(t){var e=new un(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()},e(ln.prototype,{checkValid:function(){this.nv.checkValid()},interfaces_:function(){return[]},getClass:function(){return ln}}),ln.toSegmentStrings=function(t){for(var e=new I,n=t.iterator();n.hasNext();){var i=n.next();e.add(new Oe(i.getCoordinates(),i))}return e},ln.checkValid=function(t){var e=new ln(t);e.checkValid()},e(hn.prototype,{map:function(t){for(var e=new I,n=0;nthis.location.length){var e=new Array(3).fill(null);e[cn.ON]=this.location[cn.ON],e[cn.LEFT]=L.NONE,e[cn.RIGHT]=L.NONE,this.location=e}for(var n=0;n1&&t.append(L.toLocationSymbol(this.location[cn.LEFT])),t.append(L.toLocationSymbol(this.location[cn.ON])),this.location.length>1&&t.append(L.toLocationSymbol(this.location[cn.RIGHT])),t.toString()},setLocations:function(t,e,n){this.location[cn.ON]=t,this.location[cn.LEFT]=e,this.location[cn.RIGHT]=n},get:function(t){return t1},isAnyNull:function(){for(var t=0;tthis.maxNodeDegree&&(this.maxNodeDegree=n),t=this.getNext(t)}while(t!==this.startDe);this.maxNodeDegree*=2},addPoints:function(t,e,n){var i=t.getCoordinates();if(e){var r=1;n&&(r=0);for(var s=r;s=0;s--)this.pts.add(i[s])}},isHole:function(){return this._isHole},setInResult:function(){var t=this.startDe;do t.getEdge().setInResult(!0),t=t.getNext();while(t!==this.startDe)},containsPoint:function(t){var e=this.getLinearRing(),n=e.getEnvelopeInternal();if(!n.contains(t))return!1;if(!he.isPointInRing(t,e.getCoordinates()))return!1;for(var i=this.holes.iterator();i.hasNext();){var r=i.next();if(r.containsPoint(t))return!1}return!0},addHole:function(t){this.holes.add(t)},isShell:function(){return null===this.shell},getLabel:function(){return this.label},getEdges:function(){return this.edges},getMaxNodeDegree:function(){return this.maxNodeDegree<0&&this.computeMaxNodeDegree(),this.maxNodeDegree},getShell:function(){return this.shell},mergeLabel:function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],i=e.getLocation(n,cn.RIGHT);if(i===L.NONE)return null;if(this.label.getLocation(n)===L.NONE)return this.label.setLocation(n,i),null}},setShell:function(t){this.shell=t,null!==t&&t.addHole(this)},toPolygon:function(t){for(var e=new Array(this.holes.size()).fill(null),n=0;n=2,\"found partial label\"),this.computeIM(t)},isInResult:function(){return this._isInResult},isVisited:function(){return this._isVisited},interfaces_:function(){return[]},getClass:function(){return mn}}),h(yn,mn),e(yn.prototype,{isIncidentEdgeInResult:function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){var e=t.next();if(e.getEdge().isInResult())return!0}return!1},isIsolated:function(){return 1===this.label.getGeometryCount()},getCoordinate:function(){return this.coord},print:function(t){t.println(\"node \"+this.coord+\" lbl: \"+this.label)},computeIM:function(t){},computeMergedLocation:function(t,e){var n=L.NONE;if(n=this.label.getLocation(e),!t.isNull(e)){var i=t.getLocation(e);n!==L.BOUNDARY&&(n=i)}return n},setLabel:function(){if(2!==arguments.length)return mn.prototype.setLabel.apply(this,arguments);var t=arguments[0],e=arguments[1];null===this.label?this.label=new gn(t,e):this.label.setLocation(t,e)},getEdges:function(){return this.edges},mergeLabel:function(){if(arguments[0]instanceof yn){var t=arguments[0];this.mergeLabel(t.label)}else if(arguments[0]instanceof gn)for(var e=arguments[0],n=0;n<2;n++){var i=this.computeMergedLocation(e,n),r=this.label.getLocation(n);r===L.NONE&&this.label.setLocation(n,i)}},add:function(t){this.edges.insert(t),t.setNode(this)},setLabelBoundary:function(t){if(null===this.label)return null;var e=L.NONE;null!==this.label&&(e=this.label.getLocation(t));var n=null;switch(e){case L.BOUNDARY:n=L.INTERIOR;break;case L.INTERIOR:n=L.BOUNDARY;break;default:n=L.BOUNDARY}this.label.setLocation(t,n)},interfaces_:function(){return[]},getClass:function(){return yn}}),e(xn.prototype,{find:function(t){return this.nodeMap.get(t)},addNode:function(){if(arguments[0]instanceof g){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof yn){var n=arguments[0],e=this.nodeMap.get(n.getCoordinate());return null===e?(this.nodeMap.put(n.getCoordinate(),n),n):(e.mergeLabel(n),e)}},print:function(t){for(var e=this.iterator();e.hasNext();){var n=e.next();n.print(t)}},iterator:function(){return this.nodeMap.values().iterator()},values:function(){return this.nodeMap.values()},getBoundaryNodes:function(t){for(var e=new I,n=this.iterator();n.hasNext();){var i=n.next();i.getLabel().getLocation(t)===L.BOUNDARY&&e.add(i)}return e},add:function(t){var e=t.getCoordinate(),n=this.addNode(e);n.add(t)},interfaces_:function(){return[]},getClass:function(){return xn}}),e(En.prototype,{compareDirection:function(t){return this.dx===t.dx&&this.dy===t.dy?0:this.quadrant>t.quadrant?1:this.quadrant2){s.linkDirectedEdgesForMinimalEdgeRings();var o=s.buildMinimalRings(),a=this.findShell(o);null!==a?(this.placePolygonHoles(a,o),e.add(a)):n.addAll(o)}else i.add(s)}return i},containsPoint:function(t){for(var e=this.shellList.iterator();e.hasNext();){var n=e.next();if(n.containsPoint(t))return!0}return!1},buildMaximalEdgeRings:function(t){for(var e=new I,n=t.iterator();n.hasNext();){var i=n.next();if(i.isInResult()&&i.getLabel().isArea()&&null===i.getEdgeRing()){var r=new vn(i,this.geometryFactory);e.add(r),r.setInResult()}}return e},placePolygonHoles:function(t,e){for(var n=e.iterator();n.hasNext();){var i=n.next();i.isHole()&&i.setShell(t)}},getPolygons:function(){var t=this.computePolygons(this.shellList);return t},findEdgeRingContaining:function(t,e){for(var n=t.getLinearRing(),i=n.getEnvelopeInternal(),r=n.getCoordinateN(0),s=null,o=null,a=e.iterator();a.hasNext();){var u=a.next(),l=u.getLinearRing(),h=l.getEnvelopeInternal();null!==s&&(o=s.getLinearRing().getEnvelopeInternal());var c=!1;h.contains(i)&&he.isPointInRing(r,l.getCoordinates())&&(c=!0),c&&(null===s||o.contains(h))&&(s=u)}return s},findShell:function(t){for(var e=0,n=null,i=t.iterator();i.hasNext();){var r=i.next();r.isHole()||(n=r,e++)}return f.isTrue(e<=1,\"found two shells in MinimalEdgeRing list\"),n},add:function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],n=arguments[1];Cn.linkResultDirectedEdges(n);var i=this.buildMaximalEdgeRings(e),r=new I,s=this.buildMinimalEdgeRings(i,this.shellList,r);this.sortShellsAndHoles(s,this.shellList,r),this.placeFreeHoles(this.shellList,r)}},interfaces_:function(){return[]},getClass:function(){return Sn}}),e(wn.prototype,{collectLines:function(t){for(var e=this.op.getGraph().getEdgeEnds().iterator();e.hasNext();){var n=e.next();this.collectLineEdge(n,t,this.lineEdgesList),this.collectBoundaryTouchEdge(n,t,this.lineEdgesList)}},labelIsolatedLine:function(t,e){var n=this.ptLocator.locate(t.getCoordinate(),this.op.getArgGeometry(e));t.getLabel().setLocation(e,n)},build:function(t){return this.findCoveredLineEdges(),this.collectLines(t),this.buildLines(t),this.resultLineList},collectLineEdge:function(t,e,n){var i=t.getLabel(),r=t.getEdge();t.isLineEdge()&&(t.isVisited()||!ii.isResultOfOp(i,e)||r.isCovered()||(n.add(r),t.setVisitedEdge(!0)))},findCoveredLineEdges:function(){for(var t=this.op.getGraph().getNodes().iterator();t.hasNext();){var e=t.next();e.getEdges().findCoveredLineEdges()}for(var n=this.op.getGraph().getEdgeEnds().iterator();n.hasNext();){var i=n.next(),r=i.getEdge();if(i.isLineEdge()&&!r.isCoveredSet()){var s=this.op.isCoveredByA(i.getCoordinate());r.setCovered(s)}}},labelIsolatedLines:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next(),i=n.getLabel();n.isIsolated()&&(i.isNull(0)?this.labelIsolatedLine(n,0):this.labelIsolatedLine(n,1))}},buildLines:function(t){for(var e=this.lineEdgesList.iterator();e.hasNext();){var n=e.next(),i=(n.getLabel(),this.geometryFactory.createLineString(n.getCoordinates()));this.resultLineList.add(i),n.setInResult(!0)}},collectBoundaryTouchEdge:function(t,e,n){var i=t.getLabel();return t.isLineEdge()?null:t.isVisited()?null:t.isInteriorAreaEdge()?null:t.getEdge().isInResult()?null:(f.isTrue(!(t.isInResult()||t.getSym().isInResult())||!t.getEdge().isInResult()),void(ii.isResultOfOp(i,e)&&e===ii.INTERSECTION&&(n.add(t.getEdge()),t.setVisitedEdge(!0))))},interfaces_:function(){return[]},getClass:function(){return wn}}),e(Ln.prototype,{filterCoveredNodeToPoint:function(t){var e=t.getCoordinate();if(!this.op.isCoveredByLA(e)){var n=this.geometryFactory.createPoint(e);this.resultPointList.add(n)}},extractNonCoveredResultNodes:function(t){for(var e=this.op.getGraph().getNodes().iterator();e.hasNext();){var n=e.next();if(!(n.isInResult()||n.isIncidentEdgeInResult()||0!==n.getEdges().getDegree()&&t!==ii.INTERSECTION)){var i=n.getLabel();ii.isResultOfOp(i,t)&&this.filterCoveredNodeToPoint(n)}}},build:function(t){return this.extractNonCoveredResultNodes(t),this.resultPointList},interfaces_:function(){return[]},getClass:function(){return Ln}}),e(Rn.prototype,{locate:function(t){},interfaces_:function(){return[]},getClass:function(){return Rn}}),e(Tn.prototype,{locate:function(t){return Tn.locate(t,this.geom)},interfaces_:function(){return[Rn]},getClass:function(){return Tn}}),Tn.isPointInRing=function(t,e){return!!e.getEnvelopeInternal().intersects(t)&&he.isPointInRing(t,e.getCoordinates())},Tn.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var n=e.getExteriorRing();if(!Tn.isPointInRing(t,n))return!1;for(var i=0;i=0;n--){var i=this.edgeList.get(n),r=i.getSym();null===e&&(e=r),null!==t&&r.setNext(t),t=i}e.setNext(t)},computeDepths:function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),n=(t.getLabel(),t.getDepth(cn.LEFT)),i=t.getDepth(cn.RIGHT),r=this.computeDepths(e+1,this.edgeList.size(),n),s=this.computeDepths(0,e,r);if(s!==i)throw new sn(\"depth mismatch at \"+t.getCoordinate())}else if(3===arguments.length){for(var o=arguments[0],a=arguments[1],u=arguments[2],l=u,h=o;h=0;r--){var s=this.resultAreaEdgeList.get(r),o=s.getSym();switch(null===e&&s.getEdgeRing()===t&&(e=s),i){case this.SCANNING_FOR_INCOMING:if(o.getEdgeRing()!==t)continue;n=o,i=this.LINKING_TO_OUTGOING;break;case this.LINKING_TO_OUTGOING:if(s.getEdgeRing()!==t)continue;n.setNextMin(s),i=this.SCANNING_FOR_INCOMING}}i===this.LINKING_TO_OUTGOING&&(f.isTrue(null!==e,\"found null for first outgoing dirEdge\"),f.isTrue(e.getEdgeRing()===t,\"unable to link last incoming dirEdge\"),n.setNextMin(e))},getOutgoingDegree:function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();){var n=e.next();n.isInResult()&&t++}return t}if(1===arguments.length){for(var i=arguments[0],t=0,e=this.iterator();e.hasNext();){var n=e.next();n.getEdgeRing()===i&&t++}return t}},getLabel:function(){return this.label},findCoveredLineEdges:function(){for(var t=L.NONE,e=this.iterator();e.hasNext();){var n=e.next(),i=n.getSym();if(!n.isLineEdge()){if(n.isInResult()){t=L.INTERIOR;break}if(i.isInResult()){t=L.EXTERIOR;break}}}if(t===L.NONE)return null;for(var r=t,e=this.iterator();e.hasNext();){var n=e.next(),i=n.getSym();n.isLineEdge()?n.getEdge().setCovered(r===L.INTERIOR):(n.isInResult()&&(r=L.EXTERIOR),i.isInResult()&&(r=L.INTERIOR))}},computeLabelling:function(t){Pn.prototype.computeLabelling.call(this,t),this.label=new gn(L.NONE);for(var e=this.iterator();e.hasNext();)for(var n=e.next(),i=n.getEdge(),r=i.getLabel(),s=0;s<2;s++){var o=r.getLocation(s);o!==L.INTERIOR&&o!==L.BOUNDARY||this.label.setLocation(s,L.INTERIOR)}},interfaces_:function(){return[]},getClass:function(){return bn}}),h(On,Nn),e(On.prototype,{createNode:function(t){return new yn(t,new bn)},interfaces_:function(){return[]},getClass:function(){return On}}),e(_n.prototype,{computeIntersections:function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},interfaces_:function(){return[]},getClass:function(){return _n}}),e(Mn.prototype,{isDelete:function(){return this.eventType===Mn.DELETE},setDeleteEventIndex:function(t){this.deleteEventIndex=t},getObject:function(){return this.obj},compareTo:function(t){var e=t;return this.xValuee.xValue?1:this.eventTypee.eventType?1:0},getInsertEvent:function(){return this.insertEvent},isInsert:function(){return this.eventType===Mn.INSERT},isSameLabel:function(t){return null!==this.label&&this.label===t.label},getDeleteEventIndex:function(){return this.deleteEventIndex},interfaces_:function(){return[s]},getClass:function(){return Mn}}),Mn.INSERT=1,Mn.DELETE=2,e(Dn.prototype,{interfaces_:function(){return[]},getClass:function(){return Dn}}),e(An.prototype,{isTrivialIntersection:function(t,e,n,i){if(t===n&&1===this.li.getIntersectionNum()){if(An.isAdjacentSegments(e,i))return!0;if(t.isClosed()){var r=t.getNumPoints()-1;if(0===e&&i===r||0===i&&e===r)return!0}}return!1},getProperIntersectionPoint:function(){return this.properIntersectionPoint},setIsDoneIfProperInt:function(t){this.isDoneWhenProperInt=t},hasProperInteriorIntersection:function(){return this.hasProperInterior},isBoundaryPointInternal:function(t,e){for(var n=e.iterator();n.hasNext();){var i=n.next(),r=i.getCoordinate();if(t.isIntersection(r))return!0}return!1},hasProperIntersection:function(){return this.hasProper},hasIntersection:function(){return this._hasIntersection},isDone:function(){return this._isDone},isBoundaryPoint:function(t,e){return null!==e&&(!!this.isBoundaryPointInternal(t,e[0])||!!this.isBoundaryPointInternal(t,e[1]))},setBoundaryNodes:function(t,e){this.bdyNodes=new Array(2).fill(null),this.bdyNodes[0]=t,this.bdyNodes[1]=e},addIntersections:function(t,e,n,i){if(t===n&&e===i)return null;this.numTests++;var r=t.getCoordinates()[e],s=t.getCoordinates()[e+1],o=n.getCoordinates()[i],a=n.getCoordinates()[i+1];this.li.computeIntersection(r,s,o,a),this.li.hasIntersection()&&(this.recordIsolated&&(t.setIsolated(!1),n.setIsolated(!1)),this.numIntersections++,this.isTrivialIntersection(t,e,n,i)||(this._hasIntersection=!0,!this.includeProper&&this.li.isProper()||(t.addIntersections(this.li,e,0),n.addIntersections(this.li,i,1)),this.li.isProper()&&(this.properIntersectionPoint=this.li.getIntersection(0).copy(),this.hasProper=!0,this.isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this.li,this.bdyNodes)||(this.hasProperInterior=!0))))},interfaces_:function(){return[]},getClass:function(){return An}}),An.isAdjacentSegments=function(t,e){return 1===Math.abs(t-e)},h(Fn,Dn),e(Fn.prototype,{prepareEvents:function(){ho.sort(this.events);for(var t=0;te||this.maxs?1:0},interfaces_:function(){return[a]},getClass:function(){return qn}}),Gn.NodeComparator=qn,h(Bn,Gn),e(Bn.prototype,{query:function(t,e,n){return this.intersects(t,e)?void n.visitItem(this.item):null},interfaces_:function(){return[]},getClass:function(){return Bn}}),h(zn,Gn),e(zn.prototype,{buildExtent:function(t,e){this.min=Math.min(t.min,e.min),this.max=Math.max(t.max,e.max)},query:function(t,e,n){return this.intersects(t,e)?(null!==this.node1&&this.node1.query(t,e,n),void(null!==this.node2&&this.node2.query(t,e,n))):null},interfaces_:function(){return[]},getClass:function(){return zn}}),e(Vn.prototype,{buildTree:function(){ho.sort(this.leaves,new IntervalRTreeNode.NodeComparator);for(var t=this.leaves,e=null,n=new I;;){if(this.buildLevel(t,n),1===n.size())return n.get(0);e=t,t=n,n=e}},insert:function(t,e,n){if(null!==this.root)throw new IllegalStateException(\"Index cannot be added to once it has been queried\");this.leaves.add(new Bn(t,e,n))},query:function(t,e,n){this.init(),this.root.query(t,e,n)},buildRoot:function(){return null!==this.root?null:void(this.root=this.buildTree())},printNode:function(t){A.out.println(se.toLineString(new g(t.min,this.level),new g(t.max,this.level)))},init:function(){return null!==this.root?null:void this.buildRoot()},buildLevel:function(t,e){this.level++,e.clear();for(var n=0;nt?1:this.diste?1:0},interfaces_:function(){return[s]},getClass:function(){return Wn}}),e(jn.prototype,{print:function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){var n=e.next();n.print(t)}},iterator:function(){return this.nodeMap.values().iterator()},addSplitEdges:function(t){this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var i=e.next(),r=this.createSplitEdge(n,i);t.add(r),n=i}},addEndpoints:function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)},createSplitEdge:function(t,e){var n=e.segmentIndex-t.segmentIndex+2,i=this.edge.pts[e.segmentIndex],r=e.dist>0||!e.coord.equals2D(i);r||n--;var s=new Array(n).fill(null),o=0;s[o++]=new g(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)s[o++]=this.edge.pts[a];return r&&(s[o]=e.coord),new Jn(s,new gn(this.edge.label))},add:function(t,e,n){var i=new Wn(t,e,n),r=this.nodeMap.get(i);return null!==r?r:(this.nodeMap.put(i,i),i)},isIntersection:function(t){for(var e=this.iterator();e.hasNext();){var n=e.next();if(n.coord.equals(t))return!0}return!1},interfaces_:function(){return[]},getClass:function(){return jn}}),e(Kn.prototype,{getChainStartIndices:function(t){var e=0,n=new I;n.add(new b(e));do{var i=this.findChainEnd(t,e);n.add(new b(i)),e=i}while(en?e:n},getMinX:function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return ee&&(i=1),this.depth[t][n]=i}}},getDelta:function(t){return this.depth[t][cn.RIGHT]-this.depth[t][cn.LEFT]},getLocation:function(t,e){return this.depth[t][e]<=0?L.EXTERIOR:L.INTERIOR},toString:function(){return\"A: \"+this.depth[0][1]+\",\"+this.depth[0][2]+\" B: \"+this.depth[1][1]+\",\"+this.depth[1][2]},add:function(){if(1===arguments.length)for(var t=arguments[0],e=0;e<2;e++)for(var n=1;n<3;n++){var i=t.getLocation(e,n);i!==L.EXTERIOR&&i!==L.INTERIOR||(this.isNull(e,n)?this.depth[e][n]=Qn.depthAtLocation(i):this.depth[e][n]+=Qn.depthAtLocation(i))}else if(3===arguments.length){var r=arguments[0],s=arguments[1],o=arguments[2];o===L.INTERIOR&&this.depth[r][s]++}},interfaces_:function(){return[]},getClass:function(){return Qn}}),Qn.depthAtLocation=function(t){return t===L.EXTERIOR?0:t===L.INTERIOR?1:Qn.NULL_VALUE},Qn.NULL_VALUE=-1,h(Jn,mn),e(Jn.prototype,{getDepth:function(){return this.depth},getCollapsedEdge:function(){var t=new Array(2).fill(null);t[0]=this.pts[0],t[1]=this.pts[1];var e=new Jn(t,gn.toLineLabel(this.label));return e},isIsolated:function(){return this._isIsolated},getCoordinates:function(){return this.pts},setIsolated:function(t){this._isIsolated=t},setName:function(t){this.name=t},equals:function(t){if(!(t instanceof Jn))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var n=!0,i=!0,r=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}},print:function(t){t.print(\"edge \"+this.name+\": \"),t.print(\"LINESTRING (\");for(var e=0;e0&&t.print(\",\"),t.print(this.pts[e].x+\" \"+this.pts[e].y);t.print(\") \"+this.label+\" \"+this.depthDelta)},computeIM:function(t){Jn.updateIM(this.label,t)},isCollapsed:function(){return!!this.label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getMaximumSegmentIndex:function(){return this.pts.length-1},getDepthDelta:function(){return this.depthDelta},getNumPoints:function(){return this.pts.length},printReverse:function(t){t.print(\"edge \"+this.name+\": \");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+\" \");t.println(\"\")},getMonotoneChainEdge:function(){return null===this.mce&&(this.mce=new Zn(this)),this.mce},getEnvelope:function(){if(null===this.env){this.env=new C;for(var t=0;t0&&t.append(\",\"),t.append(this.pts[e].x+\" \"+this.pts[e].y);return t.append(\") \"+this.label+\" \"+this.depthDelta),t.toString()},isPointwiseEqual:function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;e=2,\"found LineString with single point\"),this.insertBoundaryPoint(this.argIndex,e[0]),this.insertBoundaryPoint(this.argIndex,e[e.length-1])},getInvalidPoint:function(){return this.invalidPoint},getBoundaryPoints:function(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),n=0,i=t.iterator();i.hasNext();){var r=i.next();e[n++]=r.getCoordinate().copy()}return e},getBoundaryNodes:function(){return null===this.boundaryNodes&&(this.boundaryNodes=this.nodes.getBoundaryNodes(this.argIndex)),this.boundaryNodes},addSelfIntersectionNode:function(t,e,n){return this.isBoundaryNode(t,e)?null:void(n===L.BOUNDARY&&this.useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,n))},addPolygonRing:function(t,e,n){if(t.isEmpty())return null;var i=H.removeRepeatedPoints(t.getCoordinates());if(i.length<4)return this._hasTooFewPoints=!0,this.invalidPoint=i[0],null;var r=e,s=n;he.isCCW(i)&&(r=n,s=e);var o=new Jn(i,new gn(this.argIndex,L.BOUNDARY,r,s));this.lineEdgeMap.put(t,o),this.insertEdge(o),this.insertPoint(this.argIndex,i[0],L.BOUNDARY)},insertPoint:function(t,e,n){var i=this.nodes.addNode(e),r=i.getLabel();null===r?i.label=new gn(t,n):r.setLocation(t,n)},createEdgeSetIntersector:function(){return new Fn},addSelfIntersectionNodes:function(t){for(var e=this.edges.iterator();e.hasNext();)for(var n=e.next(),i=n.getLabel().getLocation(t),r=n.eiList.iterator();r.hasNext();){var s=r.next();this.addSelfIntersectionNode(t,s.coord,i)}},add:function(){if(1!==arguments.length)return Cn.prototype.add.apply(this,arguments);var t=arguments[0];if(t.isEmpty())return null;if(t instanceof Ot&&(this.useBoundaryDeterminationRule=!1),t instanceof Tt)this.addPolygon(t);else if(t instanceof St)this.addLineString(t);else if(t instanceof Lt)this.addPoint(t);else if(t instanceof Pt)this.addCollection(t);else if(t instanceof gt)this.addCollection(t);else if(t instanceof Ot)this.addCollection(t);else{if(!(t instanceof ft))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}},addCollection:function(t){for(var e=0;e50?(null===this.areaPtLocator&&(this.areaPtLocator=new Un(this.parentGeom)),this.areaPtLocator.locate(t)):this.ptLocator.locate(t,this.parentGeom)},findEdge:function(){if(1===arguments.length){var t=arguments[0];return this.lineEdgeMap.get(t)}return Cn.prototype.findEdge.apply(this,arguments)},interfaces_:function(){return[]},getClass:function(){return $n}}),$n.determineBoundary=function(t,e){return t.isInBoundary(e)?L.BOUNDARY:L.INTERIOR},e(ti.prototype,{getArgGeometry:function(t){return this.arg[t].getGeometry()},setComputationPrecision:function(t){this.resultPrecisionModel=t,this.li.setPrecisionModel(this.resultPrecisionModel)},interfaces_:function(){return[]},getClass:function(){return ti}}),e(ei.prototype,{compareTo:function(t){var e=t,n=ei.compareOriented(this.pts,this._orientation,e.pts,e._orientation);return n},interfaces_:function(){return[s]},getClass:function(){return ei}}),ei.orientation=function(t){return 1===H.increasingDirection(t)},ei.compareOriented=function(t,e,n,i){for(var r=e?1:-1,s=i?1:-1,o=e?t.length:-1,a=i?n.length:-1,u=e?0:t.length-1,l=i?0:n.length-1;;){var h=t[u].compareTo(n[l]);if(0!==h)return h;u+=r,l+=s;var c=u===o,f=l===a;if(c&&!f)return-1;if(!c&&f)return 1;if(c&&f)return 0}},e(ni.prototype,{print:function(t){t.print(\"MULTILINESTRING ( \");for(var e=0;e0&&t.print(\",\"),t.print(\"(\");for(var i=n.getCoordinates(),r=0;r0&&t.print(\",\"),t.print(i[r].x+\" \"+i[r].y);t.println(\")\")}t.print(\") \")},addAll:function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())},findEdgeIndex:function(t){for(var e=0;ethis.maxWidth)&&(this.interiorPoint=e,this.maxWidth=n)},getInteriorPoint:function(){return this.interiorPoint},widestGeometry:function t(){if(arguments[0]instanceof ft){var e=arguments[0];if(e.isEmpty())return e;for(var t=e.getGeometryN(0),n=1;nt.getEnvelopeInternal().getWidth()&&(t=e.getGeometryN(n));return t}if(arguments[0]instanceof B){var i=arguments[0];return i instanceof ft?this.widestGeometry(i):i}},horizontalBisector:function(t){var e=t.getEnvelopeInternal(),n=ai.getBisectorY(t);return this.factory.createLineString([new g(e.getMinX(),n),new g(e.getMaxX(),n)])},add:function(t){if(t instanceof Tt)this.addPolygon(t);else if(t instanceof ft)for(var e=t,n=0;nthis.loY&&(this.loY=t):t>this.centreY&&tt&&(t=n)}return t+1},nodeSize:function(){for(var t=0,e=0;e<2;e++)null!==this.subnode[e]&&(t+=this.subnode[e].nodeSize());return t+1},add:function(t){this.items.add(t)},interfaces_:function(){return[]},getClass:function(){return ci}}),ci.getSubnodeIndex=function(t,e){var n=-1;return t.min>=e&&(n=1),t.max<=e&&(n=0),n},e(fi.prototype,{expandToInclude:function(t){t.max>this.max&&(this.max=t.max),t.minn||this.max=this.min&&e<=this.max}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];return n>=this.min&&i<=this.max}},init:function(t,e){this.min=t,this.max=e,t>e&&(this.min=e,this.max=t)},getMax:function(){return this.max},interfaces_:function(){return[]},getClass:function(){return fi}}),gi.exponent=function(t){return di(64,t)-1023},gi.powerOf2=function(t){return Math.pow(2,t)},e(pi.prototype,{getInterval:function(){return this.interval},getLevel:function(){return this.level},computeKey:function(t){for(this.level=pi.computeLevel(t),this.interval=new fi,this.computeInterval(this.level,t);!this.interval.contains(t);)this.level+=1,this.computeInterval(this.level,t)},computeInterval:function(t,e){var n=gi.powerOf2(t);this.pt=Math.floor(e.getMin()/n)*n,this.interval.init(this.pt,this.pt+n)},getPoint:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return pi}}),pi.computeLevel=function(t){var e=t.getWidth(),n=gi.exponent(e)+1;return n},h(vi,ci),e(vi.prototype,{getInterval:function(){return this.interval},find:function(t){var e=ci.getSubnodeIndex(t,this.centre);if(e===-1)return this;if(null!==this.subnode[e]){var n=this.subnode[e];return n.find(t)}return this},insert:function(t){f.isTrue(null===this.interval||this.interval.contains(t.interval));var e=ci.getSubnodeIndex(t.interval,this.centre);if(t.level===this.level-1)this.subnode[e]=t;else{var n=this.createSubnode(e);n.insert(t),this.subnode[e]=n}},isSearchMatch:function(t){return t.overlaps(this.interval)},getSubnode:function(t){return null===this.subnode[t]&&(this.subnode[t]=this.createSubnode(t)),this.subnode[t]},getNode:function(t){var e=ci.getSubnodeIndex(t,this.centre);if(e!==-1){var n=this.getSubnode(e);return n.getNode(t)}return this},createSubnode:function(t){var e=0,n=0;switch(t){case 0:e=this.interval.getMin(),n=this.centre;break;case 1:e=this.centre,n=this.interval.getMax()}var i=new fi(e,n),r=new vi(i,this.level-1);return r},interfaces_:function(){return[]},getClass:function(){return vi}}),vi.createNode=function(t){var e=new pi(t),n=new vi(e.getInterval(),e.getLevel());return n},vi.createExpanded=function(t,e){var n=new fi(e);null!==t&&n.expandToInclude(t.interval);var i=vi.createNode(n);return null!==t&&i.insert(t),i},e(mi.prototype,{interfaces_:function(){return[]},getClass:function(){return mi}});mi.isZeroWidth=function(t,e){var n=e-t;if(0===n)return!0;var i=Math.max(Math.abs(t),Math.abs(e)),r=n/i,s=gi.exponent(r);return s<=mi.MIN_BINARY_EXPONENT};mi.MIN_BINARY_EXPONENT=-50,h(yi,ci),e(yi.prototype,{insert:function(t,e){var n=ci.getSubnodeIndex(t,yi.origin);if(n===-1)return this.add(e),null;var i=this.subnode[n];if(null===i||!i.getInterval().contains(t)){var r=vi.createExpanded(i,t);this.subnode[n]=r}this.insertContained(this.subnode[n],t,e)},isSearchMatch:function(t){return!0},insertContained:function(t,e,n){f.isTrue(t.getInterval().contains(e));var i=mi.isZeroWidth(e.getMin(),e.getMax()),r=null;r=i?t.find(e):t.getNode(e),r.add(n)},interfaces_:function(){return[]},getClass:function(){return yi}}),yi.origin=0,e(xi.prototype,{size:function(){return null!==this.root?this.root.size():0},insert:function(t,e){this.collectStats(t);var n=xi.ensureExtent(t,this.minExtent);this.root.insert(n,e)},query:function(){if(1===arguments.length){if(\"number\"==typeof arguments[0]){var t=arguments[0];return this.query(new fi(t,t))}if(arguments[0]instanceof fi){var e=arguments[0],n=new I;return this.query(e,n),n}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];this.root.addAllItemsFromOverlapping(i,r)}},iterator:function(){var t=new I;return this.root.addAllItems(t),t.iterator()},remove:function(t,e){var n=xi.ensureExtent(t,this.minExtent);return this.root.remove(n,e)},collectStats:function(t){var e=t.getWidth();e0&&(this.minExtent=e)},depth:function(){return null!==this.root?this.root.depth():0},nodeSize:function(){return null!==this.root?this.root.nodeSize():0},interfaces_:function(){return[]},getClass:function(){return xi}}),xi.ensureExtent=function(t,e){var n=t.getMin(),i=t.getMax();return n!==i?t:(n===i&&(n-=e/2,i=n+e/2),new fi(n,i))},e(Ei.prototype,{isInside:function(t){},interfaces_:function(){return[]},getClass:function(){return Ei}}),e(Ii.prototype,{testLineSegment:function(t,e){var n=null,i=null,r=null,s=null,o=null,a=e.p0,u=e.p1;i=a.x-t.x,r=a.y-t.y,s=u.x-t.x,o=u.y-t.y,(r>0&&o<=0||o>0&&r<=0)&&(n=ue.signOfDet2x2(i,r,s,o)/(o-r),0Math.PI;)t-=Ci.PI_TIMES_2;for(;t<=-Math.PI;)t+=Ci.PI_TIMES_2;return t},Ci.angle=function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],n=arguments[1],i=n.x-e.x,r=n.y-e.y;return Math.atan2(r,i)}},Ci.isAcute=function(t,e,n){var i=t.x-e.x,r=t.y-e.y,s=n.x-e.x,o=n.y-e.y,a=i*s+r*o;return a>0},Ci.isObtuse=function(t,e,n){var i=t.x-e.x,r=t.y-e.y,s=n.x-e.x,o=n.y-e.y,a=i*s+r*o;return a<0},Ci.interiorAngle=function(t,e,n){var i=Ci.angle(e,t),r=Ci.angle(e,n);return Math.abs(r-i)},Ci.normalizePositive=function(t){if(t<0){for(;t<0;)t+=Ci.PI_TIMES_2;t>=Ci.PI_TIMES_2&&(t=0)}else{for(;t>=Ci.PI_TIMES_2;)t-=Ci.PI_TIMES_2;t<0&&(t=0)}return t},Ci.angleBetween=function(t,e,n){var i=Ci.angle(e,t),r=Ci.angle(e,n);return Ci.diff(i,r)},Ci.diff=function(t,e){var n=null;return n=tMath.PI&&(n=2*Math.PI-n),n},Ci.toRadians=function(t){return t*Math.PI/180},Ci.getTurn=function(t,e){var n=Math.sin(e-t);return n>0?Ci.COUNTERCLOCKWISE:n<0?Ci.CLOCKWISE:Ci.NONE},Ci.angleBetweenOriented=function(t,e,n){var i=Ci.angle(e,t),r=Ci.angle(e,n),s=r-i;return s<=-Math.PI?s+Ci.PI_TIMES_2:s>Math.PI?s-Ci.PI_TIMES_2:s},Ci.PI_TIMES_2=2*Math.PI,Ci.PI_OVER_2=Math.PI/2,Ci.PI_OVER_4=Math.PI/4,Ci.COUNTERCLOCKWISE=he.COUNTERCLOCKWISE,Ci.CLOCKWISE=he.CLOCKWISE,Ci.NONE=he.COLLINEAR,e(Si.prototype,{area:function(){return Si.area(this.p0,this.p1,this.p2)},signedArea:function(){return Si.signedArea(this.p0,this.p1,this.p2)},interpolateZ:function(t){if(null===t)throw new i(\"Supplied point is null.\");return Si.interpolateZ(t,this.p0,this.p1,this.p2)},longestSideLength:function(){return Si.longestSideLength(this.p0,this.p1,this.p2)},isAcute:function(){return Si.isAcute(this.p0,this.p1,this.p2)},circumcentre:function(){return Si.circumcentre(this.p0,this.p1,this.p2)},area3D:function(){return Si.area3D(this.p0,this.p1,this.p2)},centroid:function(){return Si.centroid(this.p0,this.p1,this.p2)},inCentre:function(){return Si.inCentre(this.p0,this.p1,this.p2)},interfaces_:function(){return[]},getClass:function(){return Si}}),Si.area=function(t,e,n){return Math.abs(((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2)},Si.signedArea=function(t,e,n){return((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2},Si.det=function(t,e,n,i){return t*i-e*n},Si.interpolateZ=function(t,e,n,i){var r=e.x,s=e.y,o=n.x-r,a=i.x-r,u=n.y-s,l=i.y-s,h=o*l-a*u,c=t.x-r,f=t.y-s,g=(l*c-a*f)/h,d=(-u*c+o*f)/h,p=e.z+g*(n.z-e.z)+d*(i.z-e.z);return p},Si.longestSideLength=function(t,e,n){var i=t.distance(e),r=e.distance(n),s=n.distance(t),o=i;return r>o&&(o=r),s>o&&(o=s),o},Si.isAcute=function(t,e,n){return!!Ci.isAcute(t,e,n)&&(!!Ci.isAcute(e,n,t)&&!!Ci.isAcute(n,t,e))},Si.circumcentre=function(t,e,n){var i=n.x,r=n.y,s=t.x-i,o=t.y-r,a=e.x-i,u=e.y-r,l=2*Si.det(s,o,a,u),h=Si.det(o,s*s+o*o,u,a*a+u*u),c=Si.det(s,s*s+o*o,a,a*a+u*u),f=i-h/l,d=r+c/l;return new g(f,d)},Si.perpendicularBisector=function(t,e){var n=e.x-t.x,i=e.y-t.y,r=new F(t.x+n/2,t.y+i/2,1),s=new F(t.x-i+n/2,t.y+n+i/2,1);return new F(r,s)},Si.angleBisector=function(t,e,n){var i=e.distance(t),r=e.distance(n),s=i/(i+r),o=n.x-t.x,a=n.y-t.y,u=new g(t.x+s*o,t.y+s*a);return u},Si.area3D=function(t,e,n){var i=e.x-t.x,r=e.y-t.y,s=e.z-t.z,o=n.x-t.x,a=n.y-t.y,u=n.z-t.z,l=r*u-s*a,h=s*o-i*u,c=i*a-r*o,f=l*l+h*h+c*c,g=Math.sqrt(f)/2;return g},Si.centroid=function(t,e,n){var i=(t.x+e.x+n.x)/3,r=(t.y+e.y+n.y)/3;return new g(i,r)},Si.inCentre=function(t,e,n){var i=e.distance(n),r=t.distance(n),s=t.distance(e),o=i+r+s,a=(i*t.x+r*e.x+s*n.x)/o,u=(i*t.y+r*e.y+s*n.y)/o;return new g(a,u)},e(wi.prototype,{getRadius:function(){return this.compute(),this.radius},getDiameter:function(){switch(this.compute(),this.extremalPts.length){case 0:return this.input.getFactory().createLineString();case 1:return this.input.getFactory().createPoint(this.centre)}var t=this.extremalPts[0],e=this.extremalPts[1];return this.input.getFactory().createLineString([t,e])},getExtremalPoints:function(){return this.compute(),this.extremalPts},computeCirclePoints:function(){if(this.input.isEmpty())return this.extremalPts=new Array(0).fill(null),null;if(1===this.input.getNumPoints()){var t=this.input.getCoordinates();return this.extremalPts=[new g(t[0])],null}var e=this.input.convexHull(),n=e.getCoordinates(),t=n;if(n[0].equals2D(n[n.length-1])&&(t=new Array(n.length-1).fill(null),H.copyDeep(n,0,t,0,n.length-1)),t.length<=2)return this.extremalPts=H.copyDeep(t),null;for(var i=wi.lowestPoint(t),r=wi.pointWitMinAngleWithX(t,i),s=0;s=i;)i=r,s=o,o=Li.nextIndex(t,s),r=e.distancePerpendicular(t[o]);return ii&&(i=u),uo&&(o=l),l=t.length&&(e=0),e},Li.computeC=function(t,e,n){return t*n.y-e*n.x},Li.getMinimumDiameter=function(t){return new Li(t).getDiameter()},Li.getMinimumRectangle=function(t){return new Li(t).getMinimumRectangle()},Li.computeSegmentForLine=function(t,e,n){var i=null,r=null;return Math.abs(e)>Math.abs(t)?(i=new g(0,n/e),r=new g(1,n/e-t/e)):(i=new g(n/t,0),r=new g(n/t-e/t,1)),new ce(i,r)};var co=Object.freeze({Centroid:ge,CGAlgorithms:he,ConvexHull:me,InteriorPointArea:oi,InteriorPointLine:ui,InteriorPointPoint:li,RobustLineIntersector:ae,MCPointInRing:Ii,MinimumBoundingCircle:wi,MinimumDiameter:Li});e(Ri.prototype,{getResultGeometry:function(){return new Ti(this.distanceTolerance).transform(this.inputGeom)},setDistanceTolerance:function(t){if(t<=0)throw new i(\"Tolerance must be positive\");this.distanceTolerance=t},interfaces_:function(){return[]},getClass:function(){return Ri}}),Ri.densifyPoints=function(t,e,n){for(var i=new ce,r=new N,s=0;s1)for(var u=o/a,l=1;lo?1:st&&(t=n)}return t+1},isEmpty:function t(){var t=!0;this.items.isEmpty()||(t=!1);for(var e=0;e<4;e++)null!==this.subnode[e]&&(this.subnode[e].isEmpty()||(t=!1));return t},add:function(t){this.items.add(t)},interfaces_:function(){return[u]},getClass:function(){return Ai}}),Ai.getSubnodeIndex=function(t,e,n){var i=-1;return t.getMinX()>=e&&(t.getMinY()>=n&&(i=3),t.getMaxY()<=n&&(i=1)),t.getMaxX()<=e&&(t.getMinY()>=n&&(i=2),t.getMaxY()<=n&&(i=0)),i},e(Fi.prototype,{getLevel:function(){return this.level},computeKey:function(){if(1===arguments.length){var t=arguments[0];for(this.level=Fi.computeQuadLevel(t),this.env=new C,this.computeKey(this.level,t);!this.env.contains(t);)this.level+=1,this.computeKey(this.level,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],i=gi.powerOf2(e);this.pt.x=Math.floor(n.getMinX()/i)*i,this.pt.y=Math.floor(n.getMinY()/i)*i,this.env.init(this.pt.x,this.pt.x+i,this.pt.y,this.pt.y+i)}},getEnvelope:function(){return this.env},getCentre:function(){return new g((this.env.getMinX()+this.env.getMaxX())/2,(this.env.getMinY()+this.env.getMaxY())/2)},getPoint:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return Fi}}),Fi.computeQuadLevel=function(t){var e=t.getWidth(),n=t.getHeight(),i=e>n?e:n,r=gi.exponent(i)+1;return r},h(Gi,Ai),e(Gi.prototype,{find:function(t){var e=Ai.getSubnodeIndex(t,this.centrex,this.centrey);if(e===-1)return this;if(null!==this.subnode[e]){var n=this.subnode[e];return n.find(t)}return this},isSearchMatch:function(t){return this.env.intersects(t)},getSubnode:function(t){return null===this.subnode[t]&&(this.subnode[t]=this.createSubnode(t)),this.subnode[t]},getEnvelope:function(){return this.env},getNode:function(t){var e=Ai.getSubnodeIndex(t,this.centrex,this.centrey);if(e!==-1){var n=this.getSubnode(e);return n.getNode(t)}return this},createSubnode:function(t){var e=0,n=0,i=0,r=0;switch(t){case 0:e=this.env.getMinX(),n=this.centrex,i=this.env.getMinY(),r=this.centrey;break;case 1:e=this.centrex,n=this.env.getMaxX(),i=this.env.getMinY(),r=this.centrey;break;case 2:e=this.env.getMinX(),n=this.centrex,i=this.centrey,r=this.env.getMaxY();break;case 3:e=this.centrex,n=this.env.getMaxX(),i=this.centrey,r=this.env.getMaxY()}var s=new C(e,n,i,r),o=new Gi(s,this.level-1);return o},insertNode:function(t){f.isTrue(null===this.env||this.env.contains(t.env));var e=Ai.getSubnodeIndex(t.env,this.centrex,this.centrey);if(t.level===this.level-1)this.subnode[e]=t;else{var n=this.createSubnode(e);n.insertNode(t),this.subnode[e]=n}},interfaces_:function(){return[]},getClass:function(){return Gi}}),Gi.createNode=function(t){var e=new Fi(t),n=new Gi(e.getEnvelope(),e.getLevel());return n},Gi.createExpanded=function(t,e){var n=new C(e);null!==t&&n.expandToInclude(t.env);var i=Gi.createNode(n);return null!==t&&i.insertNode(t),i},h(qi,Ai),e(qi.prototype,{insert:function(t,e){var n=Ai.getSubnodeIndex(t,qi.origin.x,qi.origin.y);if(n===-1)return this.add(e),null;var i=this.subnode[n];if(null===i||!i.getEnvelope().contains(t)){var r=Gi.createExpanded(i,t);this.subnode[n]=r}this.insertContained(this.subnode[n],t,e)},isSearchMatch:function(t){return!0},insertContained:function(t,e,n){f.isTrue(t.getEnvelope().contains(e));var i=mi.isZeroWidth(e.getMinX(),e.getMaxX()),r=mi.isZeroWidth(e.getMinY(),e.getMaxY()),s=null;s=i||r?t.find(e):t.getNode(e),s.add(n)},interfaces_:function(){return[]},getClass:function(){return qi}}),qi.origin=new g(0,0),e(Bi.prototype,{size:function(){return null!==this.root?this.root.size():0},insert:function(t,e){this.collectStats(t);var n=Bi.ensureExtent(t,this.minExtent);this.root.insert(n,e)},query:function(){if(1===arguments.length){var t=arguments[0],e=new Yn;return this.query(t,e),e.getItems()}if(2===arguments.length){var n=arguments[0],i=arguments[1];this.root.visit(n,i)}},queryAll:function(){var t=new I;return this.root.addAllItems(t),t},remove:function(t,e){var n=Bi.ensureExtent(t,this.minExtent);return this.root.remove(n,e)},collectStats:function(t){var e=t.getWidth();e0&&(this.minExtent=e);var n=t.getHeight();n0&&(this.minExtent=n)},depth:function(){return null!==this.root?this.root.depth():0},isEmpty:function(){return null===this.root},interfaces_:function(){return[Fe,u]},getClass:function(){return Bi}}),Bi.ensureExtent=function(t,e){var n=t.getMinX(),i=t.getMaxX(),r=t.getMinY(),s=t.getMaxY();return n!==i&&r!==s?t:(n===i&&(n-=e/2,i=n+e/2),r===s&&(r-=e/2,s=r+e/2),new C(n,i,r,s))},Bi.serialVersionUID=-0x678b60c967a25400;var vo=Object.freeze({Quadtree:Bi}),mo=Object.freeze({STRtree:ke}),yo=Object.freeze({quadtree:vo,strtree:mo}),xo=[\"Point\",\"MultiPoint\",\"LineString\",\"MultiLineString\",\"Polygon\",\"MultiPolygon\"];e(zi.prototype,{read:function(t){var e=void 0;e=\"string\"==typeof t?JSON.parse(t):t;var n=e.type;if(!Eo[n])throw new Error(\"Unknown GeoJSON type: \"+e.type);return xo.indexOf(n)!==-1?Eo[n].apply(this,[e.coordinates]):\"GeometryCollection\"===n?Eo[n].apply(this,[e.geometries]):Eo[n].apply(this,[e])},write:function(t){var e=t.getGeometryType();if(!Io[e])throw new Error(\"Geometry is not supported\");return Io[e].apply(this,[t])}});var Eo={Feature:function(t){var e={};for(var n in t)e[n]=t[n];if(t.geometry){var i=t.geometry.type;if(!Eo[i])throw new Error(\"Unknown GeoJSON type: \"+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=Eo.bbox.apply(this,[t.bbox])),e},FeatureCollection:function(t){var e={};if(t.features){e.features=[];for(var n=0;n0&&this.minIndexthis.minCoord.y&&n.y>this.minCoord.y&&i===he.CLOCKWISE&&(r=!0),r&&(this.minIndex=this.minIndex-1)},getRightmostSideOfSegment:function(t,e){var n=t.getEdge(),i=n.getCoordinates();if(e<0||e+1>=i.length)return-1;if(i[e].y===i[e+1].y)return-1;var r=cn.LEFT;return i[e].ythis.minCoord.x)&&(this.minDe=t,this.minIndex=n,this.minCoord=e[n])},findRightmostEdgeAtNode:function(){var t=this.minDe.getNode(),e=t.getEdges();this.minDe=e.getRightmostEdge(),this.minDe.isForward()||(this.minDe=this.minDe.getSym(),this.minIndex=this.minDe.getEdge().getCoordinates().length-1)},findEdge:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();n.isForward()&&this.checkForRightmostCoordinate(n)}f.isTrue(0!==this.minIndex||this.minCoord.equals(this.minDe.getCoordinate()),\"inconsistency in rightmost processing\"),0===this.minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this.orientedDe=this.minDe;var i=this.getRightmostSide(this.minDe,this.minIndex);i===cn.LEFT&&(this.orientedDe=this.minDe.getSym())},interfaces_:function(){return[]},getClass:function(){return Zi}}),Qi.prototype.addLast=function(t){this.array_.push(t)},Qi.prototype.removeFirst=function(){return this.array_.shift()},Qi.prototype.isEmpty=function(){return 0===this.array_.length},e(Ji.prototype,{clearVisitedEdges:function(){for(var t=this.dirEdgeList.iterator();t.hasNext();){var e=t.next();e.setVisited(!1)}},getRightmostCoordinate:function(){return this.rightMostCoord},computeNodeDepth:function(t){for(var e=null,n=t.getEdges().iterator();n.hasNext();){var i=n.next();if(i.isVisited()||i.getSym().isVisited()){e=i;break}}if(null===e)throw new sn(\"unable to find edge to compute depths at \"+t.getCoordinate());t.getEdges().computeDepths(e);for(var n=t.getEdges().iterator();n.hasNext();){var i=n.next();i.setVisited(!0),this.copySymDepths(i)}},computeDepth:function(t){this.clearVisitedEdges();var e=this.finder.getEdge();e.getNode(),e.getLabel();e.setEdgeDepths(cn.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},create:function(t){this.addReachable(t),this.finder.findEdge(this.dirEdgeList),this.rightMostCoord=this.finder.getCoordinate()},findResultEdges:function(){for(var t=this.dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(cn.RIGHT)>=1&&e.getDepth(cn.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},computeDepths:function(t){var e=new J,n=new Qi,i=t.getNode();for(n.addLast(i),e.add(i),t.setVisited(!0);!n.isEmpty();){var r=n.removeFirst();e.add(r),this.computeNodeDepth(r);for(var s=r.getEdges().iterator();s.hasNext();){var o=s.next(),a=o.getSym();if(!a.isVisited()){var u=a.getNode();e.contains(u)||(n.addLast(u),e.add(u))}}}},compareTo:function(t){var e=t;return this.rightMostCoord.xe.rightMostCoord.x?1:0},getEnvelope:function(){if(null===this.env){for(var t=new C,e=this.dirEdgeList.iterator();e.hasNext();)for(var n=e.next(),i=n.getEdge().getCoordinates(),r=0;r=0;n--)this.addPt(t[n])},isRedundant:function(t){if(this.ptList.size()<1)return!1;var e=this.ptList.get(this.ptList.size()-1),n=t.distance(e);return n=2&&(n=this.ptList.get(this.ptList.size()-2)),t.equals(e)?null:void this.ptList.add(t)},setMinimumVertexDistance:function(t){this.minimimVertexDistance=t},interfaces_:function(){return[]},getClass:function(){return tr}}),tr.COORDINATE_ARRAY_TYPE=new Array(0).fill(null),e(er.prototype,{addNextSegment:function(t,e){if(this.s0=this.s1,this.s1=this.s2,this.s2=t,this.seg0.setCoordinates(this.s0,this.s1),this.computeOffsetSegment(this.seg0,this.side,this.distance,this.offset0),this.seg1.setCoordinates(this.s1,this.s2),this.computeOffsetSegment(this.seg1,this.side,this.distance,this.offset1),this.s1.equals(this.s2))return null;var n=he.computeOrientation(this.s0,this.s1,this.s2),i=n===he.CLOCKWISE&&this.side===cn.LEFT||n===he.COUNTERCLOCKWISE&&this.side===cn.RIGHT;0===n?this.addCollinear(e):i?this.addOutsideTurn(n,e):this.addInsideTurn(n,e)},addLineEndCap:function(t,e){var n=new ce(t,e),i=new ce;this.computeOffsetSegment(n,cn.LEFT,this.distance,i);var r=new ce;this.computeOffsetSegment(n,cn.RIGHT,this.distance,r);var s=e.x-t.x,o=e.y-t.y,a=Math.atan2(o,s);switch(this.bufParams.getEndCapStyle()){case Ki.CAP_ROUND:this.segList.addPt(i.p1),this.addFilletArc(e,a+Math.PI/2,a-Math.PI/2,he.CLOCKWISE,this.distance),this.segList.addPt(r.p1);break;case Ki.CAP_FLAT:this.segList.addPt(i.p1),this.segList.addPt(r.p1);break;case Ki.CAP_SQUARE:var u=new g;u.x=Math.abs(this.distance)*Math.cos(a),u.y=Math.abs(this.distance)*Math.sin(a);var l=new g(i.p1.x+u.x,i.p1.y+u.y),h=new g(r.p1.x+u.x,r.p1.y+u.y);this.segList.addPt(l),this.segList.addPt(h)}},getCoordinates:function(){var t=this.segList.getCoordinates();return t},addMitreJoin:function(t,e,n,i){var r=!0,s=null;try{s=F.intersection(e.p0,e.p1,n.p0,n.p1);var o=i<=0?1:s.distance(t)/Math.abs(i);o>this.bufParams.getMitreLimit()&&(r=!1)}catch(t){if(!(t instanceof w))throw t;s=new g(0,0),r=!1}finally{}r?this.segList.addPt(s):this.addLimitedMitreJoin(e,n,i,this.bufParams.getMitreLimit())},addFilletCorner:function(t,e,n,i,r){var s=e.x-t.x,o=e.y-t.y,a=Math.atan2(o,s),u=n.x-t.x,l=n.y-t.y,h=Math.atan2(l,u);i===he.CLOCKWISE?a<=h&&(a+=2*Math.PI):a>=h&&(a-=2*Math.PI),this.segList.addPt(e),this.addFilletArc(t,a,h,i,r),this.segList.addPt(n)},addOutsideTurn:function(t,e){return this.offset0.p1.distance(this.offset1.p0)0){var n=new g((this.closingSegLengthFactor*this.offset0.p1.x+this.s1.x)/(this.closingSegLengthFactor+1),(this.closingSegLengthFactor*this.offset0.p1.y+this.s1.y)/(this.closingSegLengthFactor+1));this.segList.addPt(n);var i=new g((this.closingSegLengthFactor*this.offset1.p0.x+this.s1.x)/(this.closingSegLengthFactor+1),(this.closingSegLengthFactor*this.offset1.p0.y+this.s1.y)/(this.closingSegLengthFactor+1));this.segList.addPt(i)}else this.segList.addPt(this.s1);this.segList.addPt(this.offset1.p0)}},createCircle:function(t){var e=new g(t.x+this.distance,t.y);this.segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this.distance),this.segList.closeRing()},addBevelJoin:function(t,e){this.segList.addPt(t.p1),this.segList.addPt(e.p0)},init:function(t){this.distance=t,this.maxCurveSegmentError=t*(1-Math.cos(this.filletAngleQuantum/2)),this.segList=new tr,this.segList.setPrecisionModel(this.precisionModel),this.segList.setMinimumVertexDistance(t*er.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},addCollinear:function(t){this.li.computeIntersection(this.s0,this.s1,this.s1,this.s2);var e=this.li.getIntersectionNum();e>=2&&(this.bufParams.getJoinStyle()===Ki.JOIN_BEVEL||this.bufParams.getJoinStyle()===Ki.JOIN_MITRE?(t&&this.segList.addPt(this.offset0.p1),this.segList.addPt(this.offset1.p0)):this.addFilletCorner(this.s1,this.offset0.p1,this.offset1.p0,he.CLOCKWISE,this.distance))},closeRing:function(){this.segList.closeRing()},hasNarrowConcaveAngle:function(){return this._hasNarrowConcaveAngle},interfaces_:function(){return[]},getClass:function(){return er}}),er.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,er.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,er.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,er.MAX_CLOSING_SEG_LEN_FACTOR=80,e(nr.prototype,{getOffsetCurve:function(t,e){if(this.distance=e,0===e)return null;var n=e<0,i=Math.abs(e),r=this.getSegGen(i);t.length<=1?this.computePointCurve(t[0],r):this.computeOffsetCurve(t,n,r);var s=r.getCoordinates();return n&&H.reverse(s),s},computeSingleSidedBufferCurve:function(t,e,n){var i=this.simplifyTolerance(this.distance);if(e){n.addSegments(t,!0);var r=$i.simplify(t,-i),s=r.length-1;n.initSideSegments(r[s],r[s-1],cn.LEFT),n.addFirstSegment();for(var o=s-2;o>=0;o--)n.addNextSegment(r[o],!0)}else{n.addSegments(t,!1);var a=$i.simplify(t,i),u=a.length-1;n.initSideSegments(a[0],a[1],cn.LEFT),n.addFirstSegment();for(var o=2;o<=u;o++)n.addNextSegment(a[o],!0)}n.addLastSegment(),n.closeRing()},computeRingBufferCurve:function(t,e,n){var i=this.simplifyTolerance(this.distance);e===cn.RIGHT&&(i=-i);var r=$i.simplify(t,i),s=r.length-1;n.initSideSegments(r[s-1],r[0],e);for(var o=1;o<=s;o++){var a=1!==o;n.addNextSegment(r[o],a)}n.closeRing()},computeLineBufferCurve:function(t,e){var n=this.simplifyTolerance(this.distance),i=$i.simplify(t,n),r=i.length-1;e.initSideSegments(i[0],i[1],cn.LEFT);for(var s=2;s<=r;s++)e.addNextSegment(i[s],!0);e.addLastSegment(),e.addLineEndCap(i[r-1],i[r]);var o=$i.simplify(t,-n),a=o.length-1;e.initSideSegments(o[a],o[a-1],cn.LEFT);for(var s=a-2;s>=0;s--)e.addNextSegment(o[s],!0);e.addLastSegment(),e.addLineEndCap(o[1],o[0]),e.closeRing()},computePointCurve:function(t,e){switch(this.bufParams.getEndCapStyle()){case Ki.CAP_ROUND:e.createCircle(t);break;case Ki.CAP_SQUARE:e.createSquare(t)}},getLineCurve:function(t,e){if(this.distance=e,e<0&&!this.bufParams.isSingleSided())return null;if(0===e)return null;var n=Math.abs(e),i=this.getSegGen(n);if(t.length<=1)this.computePointCurve(t[0],i);else if(this.bufParams.isSingleSided()){var r=e<0;this.computeSingleSidedBufferCurve(t,r,i)}else this.computeLineBufferCurve(t,i);var s=i.getCoordinates();return s},getBufferParameters:function(){return this.bufParams},simplifyTolerance:function(t){return t*this.bufParams.getSimplifyFactor()},getRingCurve:function(t,e,n){if(this.distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return nr.copyCoordinates(t);var i=this.getSegGen(n);return this.computeRingBufferCurve(t,e,i),i.getCoordinates()},computeOffsetCurve:function(t,e,n){var i=this.simplifyTolerance(this.distance);if(e){var r=$i.simplify(t,-i),s=r.length-1;n.initSideSegments(r[s],r[s-1],cn.LEFT),n.addFirstSegment();for(var o=s-2;o>=0;o--)n.addNextSegment(r[o],!0)}else{var a=$i.simplify(t,i),u=a.length-1;n.initSideSegments(a[0],a[1],cn.LEFT),n.addFirstSegment();for(var o=2;o<=u;o++)n.addNextSegment(a[o],!0)}n.addLastSegment()},getSegGen:function(t){return new er(this.precisionModel,this.bufParams,t)},interfaces_:function(){return[]},getClass:function(){return nr}}),nr.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),n=0;nr.getMaxY()||this.findStabbedSegments(t,i.getDirectedEdges(),e)}return e}if(3===arguments.length)if(R(arguments[2],y)&&arguments[0]instanceof g&&arguments[1]instanceof In)for(var s=arguments[0],o=arguments[1],a=arguments[2],u=o.getEdge().getCoordinates(),n=0;nthis.seg.p1.y&&this.seg.reverse();var l=Math.max(this.seg.p0.x,this.seg.p1.x);if(!(lthis.seg.p1.y||he.computeOrientation(this.seg.p0,this.seg.p1,s)===he.RIGHT)){var h=o.getDepth(cn.LEFT);this.seg.p0.equals(u[n])||(h=o.getDepth(cn.RIGHT));var c=new rr(this.seg,h);a.add(c)}}else if(R(arguments[2],y)&&arguments[0]instanceof g&&R(arguments[1],y))for(var f=arguments[0],d=arguments[1],p=arguments[2],n=d.iterator();n.hasNext();){var v=n.next();v.isForward()&&this.findStabbedSegments(f,v,p)}},getDepth:function(t){var e=this.findStabbedSegments(t);if(0===e.size())return 0;var n=ho.min(e);return n.leftDepth},interfaces_:function(){return[]},getClass:function(){return ir}}),e(rr.prototype,{compareTo:function(t){var e=t;if(this.upwardSeg.minX()>=e.upwardSeg.maxX())return 1;if(this.upwardSeg.maxX()<=e.upwardSeg.minX())return-1;var n=this.upwardSeg.orientationIndex(e.upwardSeg);return 0!==n?n:(n=-1*e.upwardSeg.orientationIndex(this.upwardSeg),0!==n?n:this.upwardSeg.compareTo(e.upwardSeg))},compareX:function(t,e){var n=t.p0.compareTo(e.p0);return 0!==n?n:t.p1.compareTo(e.p1)},toString:function(){return this.upwardSeg.toString()},interfaces_:function(){return[s]},getClass:function(){return rr}}),ir.DepthSegment=rr,e(sr.prototype,{addPoint:function(t){if(this.distance<=0)return null;var e=t.getCoordinates(),n=this.curveBuilder.getLineCurve(e,this.distance);this.addCurve(n,L.EXTERIOR,L.INTERIOR)},addPolygon:function(t){var e=this.distance,n=cn.LEFT;this.distance<0&&(e=-this.distance,n=cn.RIGHT);var i=t.getExteriorRing(),r=H.removeRepeatedPoints(i.getCoordinates());if(this.distance<0&&this.isErodedCompletely(i,this.distance))return null;if(this.distance<=0&&r.length<3)return null;this.addPolygonRing(r,e,n,L.EXTERIOR,L.INTERIOR);for(var s=0;s0&&this.isErodedCompletely(o,-this.distance)||this.addPolygonRing(a,e,cn.opposite(n),L.INTERIOR,L.EXTERIOR)}},isTriangleErodedCompletely:function(t,e){var n=new Si(t[0],t[1],t[2]),i=n.inCentre(),r=he.distancePointLine(i,n.p0,n.p1);return r=bt.MINIMUM_VALID_SIZE&&he.isCCW(t)&&(s=r,o=i,n=cn.opposite(n));var a=this.curveBuilder.getRingCurve(t,n,e);this.addCurve(a,s,o)},add:function(t){if(t.isEmpty())return null;if(t instanceof Tt)this.addPolygon(t);else if(t instanceof St)this.addLineString(t);else if(t instanceof Lt)this.addPoint(t);else if(t instanceof Pt)this.addCollection(t);else if(t instanceof gt)this.addCollection(t);else if(t instanceof Ot)this.addCollection(t);else{if(!(t instanceof ft))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}},isErodedCompletely:function(t,e){var n=t.getCoordinates();if(n.length<4)return e<0;if(4===n.length)return this.isTriangleErodedCompletely(n,e);var i=t.getEnvelopeInternal(),r=Math.min(i.getHeight(),i.getWidth());return e<0&&2*Math.abs(e)>r},addCollection:function(t){for(var e=0;ei||this.maxys;if(o)return!1;var a=this.intersectsToleranceSquare(t,e);return f.isTrue(!(o&&a),\"Found bad envelope test\"),a},initCorners:function(t){var e=.5;this.minx=t.x-e,this.maxx=t.x+e,this.miny=t.y-e,this.maxy=t.y+e,this.corner[0]=new g(this.maxx,this.maxy),this.corner[1]=new g(this.minx,this.maxy),this.corner[2]=new g(this.minx,this.miny),this.corner[3]=new g(this.maxx,this.miny)},intersects:function(t,e){return 1===this.scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this.p0Scaled),this.copyScaled(e,this.p1Scaled),this.intersectsScaled(this.p0Scaled,this.p1Scaled))},scale:function(t){return Math.round(t*this.scaleFactor)},getCoordinate:function(){return this.originalPt},copyScaled:function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},getSafeEnvelope:function(){if(null===this.safeEnv){var t=lr.SAFE_ENV_EXPANSION_FACTOR/this.scaleFactor;this.safeEnv=new C(this.originalPt.x-t,this.originalPt.x+t,this.originalPt.y-t,this.originalPt.y+t)}return this.safeEnv},intersectsPixelClosure:function(t,e){return this.li.computeIntersection(t,e,this.corner[0],this.corner[1]),!!this.li.hasIntersection()||(this.li.computeIntersection(t,e,this.corner[1],this.corner[2]),!!this.li.hasIntersection()||(this.li.computeIntersection(t,e,this.corner[2],this.corner[3]),!!this.li.hasIntersection()||(this.li.computeIntersection(t,e,this.corner[3],this.corner[0]),!!this.li.hasIntersection())))},intersectsToleranceSquare:function(t,e){var n=!1,i=!1;return this.li.computeIntersection(t,e,this.corner[0],this.corner[1]),!!this.li.isProper()||(this.li.computeIntersection(t,e,this.corner[1],this.corner[2]),!!this.li.isProper()||(this.li.hasIntersection()&&(n=!0),this.li.computeIntersection(t,e,this.corner[2],this.corner[3]),!!this.li.isProper()||(this.li.hasIntersection()&&(i=!0),this.li.computeIntersection(t,e,this.corner[3],this.corner[0]),!!this.li.isProper()||(!(!n||!i)||(!!t.equals(this.pt)||!!e.equals(this.pt))))))},addSnappedNode:function(t,e){var n=t.getCoordinate(e),i=t.getCoordinate(e+1);return!!this.intersects(n,i)&&(t.addIntersection(this.getCoordinate(),e),!0)},interfaces_:function(){return[]},getClass:function(){return lr}}),lr.SAFE_ENV_EXPANSION_FACTOR=.75,e(hr.prototype,{snap:function(){if(1===arguments.length){var t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){var e=arguments[0],n=arguments[1],i=arguments[2],r=e.getSafeEnvelope(),s=new cr(e,n,i);return this.index.query(r,{interfaces_:function(){return[Ae]},visitItem:function(t){var e=t;e.select(r,s)}}),s.isNodeAdded()}},interfaces_:function(){return[]},getClass:function(){return hr}}),h(cr,hi),e(cr.prototype,{isNodeAdded:function(){return this._isNodeAdded},select:function(){if(2!==arguments.length)return hi.prototype.select.apply(this,arguments);var t=arguments[0],e=arguments[1],n=t.getContext();return null!==this.parentEdge&&n===this.parentEdge&&e===this.hotPixelVertexIndex?null:void(this._isNodeAdded=this.hotPixel.addSnappedNode(n,e))},interfaces_:function(){return[]},getClass:function(){return cr}}),hr.HotPixelSnapAction=cr,e(fr.prototype,{processIntersections:function(t,e,n,i){if(t===n&&e===i)return null;var r=t.getCoordinates()[e],s=t.getCoordinates()[e+1],o=n.getCoordinates()[i],a=n.getCoordinates()[i+1];if(this.li.computeIntersection(r,s,o,a),this.li.hasIntersection()&&this.li.isInteriorIntersection()){for(var u=0;u=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof sn))throw t;this.saveException=t}finally{}if(null!==this.resultGeometry)return null}throw this.saveException}if(1===arguments.length){var e=arguments[0],n=dr.precisionScaleFactor(this.argGeom,this.distance,e),i=new ee(n);this.bufferFixedPrecision(i)}},computeGeometry:function(){if(this.bufferOriginalPrecision(),null!==this.resultGeometry)return null;var t=this.argGeom.getFactory().getPrecisionModel();t.getType()===ee.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},setQuadrantSegments:function(t){this.bufParams.setQuadrantSegments(t)},bufferOriginalPrecision:function(){try{var t=new ar(this.bufParams);this.resultGeometry=t.buffer(this.argGeom,this.distance)}catch(t){if(!(t instanceof l))throw t;this.saveException=t}finally{}},getResultGeometry:function(t){return this.distance=t,this.computeGeometry(),this.resultGeometry},setEndCapStyle:function(t){this.bufParams.setEndCapStyle(t)},interfaces_:function(){return[]},getClass:function(){return dr}}),dr.bufferOp=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=new dr(t),i=n.getResultGeometry(e);return i}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof B&&\"number\"==typeof arguments[1]){var r=arguments[0],s=arguments[1],o=arguments[2],a=new dr(r);a.setQuadrantSegments(o);var i=a.getResultGeometry(s);return i}if(arguments[2]instanceof Ki&&arguments[0]instanceof B&&\"number\"==typeof arguments[1]){var u=arguments[0],l=arguments[1],h=arguments[2],a=new dr(u,h),i=a.getResultGeometry(l);return i}}else if(4===arguments.length){var c=arguments[0],f=arguments[1],g=arguments[2],d=arguments[3],a=new dr(c);a.setQuadrantSegments(g),a.setEndCapStyle(d);var i=a.getResultGeometry(f);return i}},dr.precisionScaleFactor=function(t,e,n){var i=t.getEnvelopeInternal(),r=T.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY())),s=e>0?e:0,o=r+2*s,a=Math.trunc(Math.log(o)/Math.log(10)+1),u=n-a,l=Math.pow(10,u);return l},dr.CAP_ROUND=Ki.CAP_ROUND,dr.CAP_BUTT=Ki.CAP_FLAT,dr.CAP_FLAT=Ki.CAP_FLAT,dr.CAP_SQUARE=Ki.CAP_SQUARE,dr.MAX_PRECISION_DIGITS=12;var So=Object.freeze({BufferOp:dr,BufferParameters:Ki});e(pr.prototype,{filter:function(t){t instanceof Tt&&this.comps.add(t)},interfaces_:function(){return[ht]},getClass:function(){return pr}}),pr.getPolygons=function(){if(1===arguments.length){var t=arguments[0];return pr.getPolygons(t,new I)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof Tt?n.add(e):e instanceof ft&&e.apply(new pr(n)),n}},e(vr.prototype,{isInsideArea:function(){return this.segIndex===vr.INSIDE_AREA},getCoordinate:function(){return this.pt},getGeometryComponent:function(){return this.component},getSegmentIndex:function(){return this.segIndex},interfaces_:function(){return[]},getClass:function(){return vr}}),vr.INSIDE_AREA=-1,e(mr.prototype,{filter:function(t){t instanceof Lt&&this.pts.add(t)},interfaces_:function(){return[ht]},getClass:function(){return mr}}),mr.getPoints=function(){if(1===arguments.length){var t=arguments[0];return t instanceof Lt?ho.singletonList(t):mr.getPoints(t,new I)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof Lt?n.add(e):e instanceof ft&&e.apply(new mr(n)),n}},e(yr.prototype,{filter:function(t){(t instanceof Lt||t instanceof St||t instanceof Tt)&&this.locations.add(new vr(t,0,t.getCoordinate()))},interfaces_:function(){return[ht]},getClass:function(){return yr}}),yr.getLocations=function(t){var e=new I;return t.apply(new yr(e)),e},e(xr.prototype,{computeContainmentDistance:function(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this.minDistance<=this.terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],i=1-e,r=pr.getPolygons(this.geom[e]);if(r.size()>0){var s=yr.getLocations(this.geom[i]);if(this.computeContainmentDistance(s,r,n),this.minDistance<=this.terminateDistance)return this.minDistanceLocation[i]=n[0],this.minDistanceLocation[e]=n[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&R(arguments[0],y)&&R(arguments[1],y)){for(var o=arguments[0],a=arguments[1],u=arguments[2],l=0;lthis.minDistance)return null;for(var i=t.getCoordinates(),r=e.getCoordinate(),s=0;sthis.minDistance)return null;for(var i=l.getCoordinates(),f=h.getCoordinates(),s=0;st&&H.reverse(this.coordinates)}return this.coordinates},toLineString:function(){return this.factory.createLineString(this.getCoordinates())},add:function(t){this.directedEdges.add(t)},interfaces_:function(){return[]},getClass:function(){return Er}}),e(Ir.prototype,{setVisited:function(t){this._isVisited=t},isMarked:function(){return this._isMarked},setData:function(t){this.data=t},getData:function(){return this.data},setMarked:function(t){this._isMarked=t},getContext:function(){return this.data},isVisited:function(){return this._isVisited},setContext:function(t){this.data=t},interfaces_:function(){return[]},getClass:function(){return Ir}}),Ir.getComponentWithVisitedState=function(t,e){for(;t.hasNext();){var n=t.next();if(n.isVisited()===e)return n}return null},Ir.setVisited=function(t,e){for(;t.hasNext();){var n=t.next();n.setVisited(e)}},Ir.setMarked=function(t,e){for(;t.hasNext();){var n=t.next();n.setMarked(e)}},h(Nr,Ir),e(Nr.prototype,{isRemoved:function(){return null===this.parentEdge},compareDirection:function(t){return this.quadrant>t.quadrant?1:this.quadrant=t.getNumPoints()&&null===i)return null;var s=t.getCoordinate(r);null!==i&&i.segmentIndex===n.segmentIndex&&(s=i.coord);var o=new En(t,n.coord,s,new gn(t.getLabel()));e.add(o)},createEdgeEndForPrev:function(t,e,n,i){var r=n.segmentIndex;if(0===n.dist){if(0===r)return null;r--}var s=t.getCoordinate(r);null!==i&&i.segmentIndex>=r&&(s=i.coord);var o=new gn(t.getLabel());o.flip();var a=new En(t,n.coord,s,o);e.add(a)},computeEdgeEnds:function(){if(1===arguments.length){for(var t=arguments[0],e=new I,n=t;n.hasNext();){var i=n.next();this.computeEdgeEnds(i,e)}return e}if(2===arguments.length){var r=arguments[0],s=arguments[1],o=r.getEdgeIntersectionList();o.addEndpoints();var a=o.iterator(),u=null,l=null;if(!a.hasNext())return null;var h=a.next();do u=l,l=h,h=null,a.hasNext()&&(h=a.next()),null!==l&&(this.createEdgeEndForPrev(r,s,l,u),this.createEdgeEndForNext(r,s,l,h));while(null!==l)}},interfaces_:function(){return[]},getClass:function(){return Ar}}),h(Fr,En),e(Fr.prototype,{insert:function(t){this.edgeEnds.add(t)},print:function(t){t.println(\"EdgeEndBundle--> Label: \"+this.label);for(var e=this.iterator();e.hasNext();){var n=e.next();n.print(t),t.println()}},iterator:function(){return this.edgeEnds.iterator()},getEdgeEnds:function(){return this.edgeEnds},computeLabelOn:function(t,e){for(var n=0,i=!1,r=this.iterator();r.hasNext();){var s=r.next(),o=s.getLabel().getLocation(t);o===L.BOUNDARY&&n++,o===L.INTERIOR&&(i=!0)}var o=L.NONE;i&&(o=L.INTERIOR),n>0&&(o=$n.determineBoundary(e,n)),this.label.setLocation(t,o)},computeLabelSide:function(t,e){for(var n=this.iterator();n.hasNext();){var i=n.next();if(i.getLabel().isArea()){var r=i.getLabel().getLocation(t,e);if(r===L.INTERIOR)return this.label.setLocation(t,e,L.INTERIOR),null;r===L.EXTERIOR&&this.label.setLocation(t,e,L.EXTERIOR)}}},getLabel:function(){return this.label},computeLabelSides:function(t){this.computeLabelSide(t,cn.LEFT),this.computeLabelSide(t,cn.RIGHT)},updateIM:function(t){Jn.updateIM(this.label,t)},computeLabel:function(t){for(var e=!1,n=this.iterator();n.hasNext();){var i=n.next();i.getLabel().isArea()&&(e=!0)}e?this.label=new gn(L.NONE,L.NONE,L.NONE):this.label=new gn(L.NONE);for(var r=0;r<2;r++)this.computeLabelOn(r,t),e&&this.computeLabelSides(r)},interfaces_:function(){return[]},getClass:function(){return Fr}}),h(Gr,Pn),e(Gr.prototype,{updateIM:function(t){for(var e=this.iterator();e.hasNext();){var n=e.next();n.updateIM(t)}},insert:function(t){var e=this.edgeMap.get(t);null===e?(e=new Fr(t),this.insertEdgeEnd(t,e)):e.insert(t)},interfaces_:function(){return[]},getClass:function(){return Gr}}),h(qr,yn),e(qr.prototype,{updateIMFromEdges:function(t){this.edges.updateIM(t)},computeIM:function(t){t.setAtLeastIfValid(this.label.getLocation(0),this.label.getLocation(1),0)},interfaces_:function(){return[]},getClass:function(){return qr}}),h(Br,Nn),e(Br.prototype,{createNode:function(t){return new qr(t,new Gr)},interfaces_:function(){return[]},getClass:function(){return Br}}),e(zr.prototype,{insertEdgeEnds:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();this.nodes.add(n)}},getNodeIterator:function(){return this.nodes.iterator()},copyNodesAndLabels:function(t,e){for(var n=t.getNodeIterator();n.hasNext();){var i=n.next(),r=this.nodes.addNode(i.getCoordinate());r.setLabel(e,i.getLabel().getLocation(e))}},build:function(t){this.computeIntersectionNodes(t,0),this.copyNodesAndLabels(t,0);var e=new Ar,n=e.computeEdgeEnds(t.getEdgeIterator());this.insertEdgeEnds(n)},computeIntersectionNodes:function(t,e){for(var n=t.getEdgeIterator();n.hasNext();)for(var i=n.next(),r=i.getLabel().getLocation(e),s=i.getEdgeIntersectionList().iterator();s.hasNext();){var o=s.next(),a=this.nodes.addNode(o.coord);r===L.BOUNDARY?a.setLabelBoundary(e):a.getLabel().isNull(e)&&a.setLabel(e,L.INTERIOR)}},interfaces_:function(){return[]},getClass:function(){return zr}}),e(Vr.prototype,{isNodeEdgeAreaLabelsConsistent:function(){for(var t=this.nodeGraph.getNodeIterator();t.hasNext();){var e=t.next();if(!e.getEdges().isAreaLabelsConsistent(this.geomGraph))return this.invalidPoint=e.getCoordinate().copy(),!1}return!0},getInvalidPoint:function(){return this.invalidPoint},hasDuplicateRings:function(){for(var t=this.nodeGraph.getNodeIterator();t.hasNext();)for(var e=t.next(),n=e.getEdges().iterator();n.hasNext();){var i=n.next();if(i.getEdgeEnds().size()>1)return this.invalidPoint=i.getEdge().getCoordinate(0),!0}return!1},isNodeConsistentArea:function(){var t=this.geomGraph.computeSelfNodes(this.li,!0,!0);return t.hasProperIntersection()?(this.invalidPoint=t.getProperIntersectionPoint(),!1):(this.nodeGraph.build(this.geomGraph),this.isNodeEdgeAreaLabelsConsistent())},interfaces_:function(){return[]},getClass:function(){return Vr}}),e(kr.prototype,{buildIndex:function(){this.index=new ke;for(var t=0;t=1&&(e=t.getCoordinateN(0)),this.validErr=new Yr(Yr.RING_NOT_CLOSED,e)}},checkShellsNotNested:function(t,e){for(var n=0;n=0;i--)n.add(t[i],!1)},Xr.findEdgeRingContaining=function(t,e){for(var n=t.getRing(),i=n.getEnvelopeInternal(),r=n.getCoordinateN(0),s=null,o=null,a=e.iterator();a.hasNext();){var u=a.next(),l=u.getRing(),h=l.getEnvelopeInternal();if(!h.equals(i)&&h.contains(i)){r=H.ptNotInList(n.getCoordinates(),l.getCoordinates());var c=!1;he.isPointInRing(r,l.getCoordinates())&&(c=!0),c&&(null===s||o.contains(h))&&(s=u,o=s.getRing().getEnvelopeInternal())}}return s},e(Hr.prototype,{compare:function(t,e){var n=t,i=e;return n.getRing().getEnvelope().compareTo(i.getRing().getEnvelope())},interfaces_:function(){return[a]},getClass:function(){return Hr}}),Xr.EnvelopeComparator=Hr,h(Wr,Pr),e(Wr.prototype,{findEdgeRing:function(t){var e=new Xr(this.factory);return e.build(t),e},computeDepthParity:function(){if(0===arguments.length)for(;;){var t=null;if(null===t)return null;this.computeDepthParity(t)}else if(1===arguments.length){arguments[0]}},computeNextCWEdges:function(){for(var t=this.nodeIterator();t.hasNext();){var e=t.next();Wr.computeNextCWEdges(e)}},addEdge:function(t){if(t.isEmpty())return null;var e=H.removeRepeatedPoints(t.getCoordinates());if(e.length<2)return null;var n=e[0],i=e[e.length-1],r=this.getNode(n),s=this.getNode(i),o=new _r(r,s,e[1],(!0)),a=new _r(s,r,e[e.length-2],(!1)),u=new Mr(t);u.setDirectedEdges(o,a),this.add(u)},deleteCutEdges:function(){this.computeNextCWEdges(),Wr.findLabeledEdgeRings(this.dirEdges);for(var t=new I,e=this.dirEdges.iterator();e.hasNext();){var n=e.next();if(!n.isMarked()){var i=n.getSym();if(n.getLabel()===i.getLabel()){n.setMarked(!0),i.setMarked(!0);var r=n.getEdge();t.add(r.getLine())}}}return t},getEdgeRings:function(){this.computeNextCWEdges(),Wr.label(this.dirEdges,-1);var t=Wr.findLabeledEdgeRings(this.dirEdges);this.convertMaximalToMinimalEdgeRings(t);for(var e=new I,n=this.dirEdges.iterator();n.hasNext();){var i=n.next();if(!i.isMarked()&&!i.isInRing()){var r=this.findEdgeRing(i);e.add(r)}}return e},getNode:function(t){var e=this.findNode(t);return null===e&&(e=new Lr(t),this.add(e)),e},convertMaximalToMinimalEdgeRings:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next(),i=n.getLabel(),r=Wr.findIntersectionNodes(n,i);if(null!==r)for(var s=r.iterator();s.hasNext();){var o=s.next();Wr.computeNextCCWEdges(o,i)}}},deleteDangles:function(){for(var t=this.findNodesOfDegree(1),e=new J,n=new pe,i=t.iterator();i.hasNext();)n.push(i.next());for(;!n.isEmpty();){var r=n.pop();Wr.deleteAllEdges(r);for(var s=r.getOutEdges().getEdges(),i=s.iterator();i.hasNext();){var o=i.next();o.setMarked(!0);var a=o.getSym();null!==a&&a.setMarked(!0);var u=o.getEdge();e.add(u.getLine());var l=o.getToNode();1===Wr.getDegreeNonDeleted(l)&&n.push(l)}}return e},interfaces_:function(){return[]},getClass:function(){return Wr}}),Wr.findLabeledEdgeRings=function(t){for(var e=new I,n=1,i=t.iterator();i.hasNext();){var r=i.next();if(!(r.isMarked()||r.getLabel()>=0)){e.add(r);var s=Xr.findDirEdgesInRing(r);Wr.label(s,n),n++}}return e},Wr.getDegreeNonDeleted=function(t){for(var e=t.getOutEdges().getEdges(),n=0,i=e.iterator();i.hasNext();){var r=i.next();r.isMarked()||n++}return n},Wr.deleteAllEdges=function(t){for(var e=t.getOutEdges().getEdges(),n=e.iterator();n.hasNext();){var i=n.next();i.setMarked(!0);var r=i.getSym();null!==r&&r.setMarked(!0)}},Wr.label=function(t,e){for(var n=t.iterator();n.hasNext();){var i=n.next();i.setLabel(e)}},Wr.computeNextCWEdges=function(t){for(var e=t.getOutEdges(),n=null,i=null,r=e.getEdges().iterator();r.hasNext();){var s=r.next();if(!s.isMarked()){if(null===n&&(n=s),null!==i){var o=i.getSym();o.setNext(s)}i=s}}if(null!==i){var o=i.getSym();o.setNext(n)}},Wr.computeNextCCWEdges=function(t,e){for(var n=t.getOutEdges(),i=null,r=null,s=n.getEdges(),o=s.size()-1;o>=0;o--){var a=s.get(o),u=a.getSym(),l=null;a.getLabel()===e&&(l=a);var h=null;u.getLabel()===e&&(h=u),null===l&&null===h||(null!==h&&(r=h),null!==l&&(null!==r&&(r.setNext(l),r=null),null===i&&(i=l)))}null!==r&&(f.isTrue(null!==i),r.setNext(i))},Wr.getDegree=function(t,e){for(var n=t.getOutEdges().getEdges(),i=0,r=n.iterator();r.hasNext();){var s=r.next();s.getLabel()===e&&i++}return i},Wr.findIntersectionNodes=function(t,e){var n=t,i=null;do{var r=n.getFromNode();Wr.getDegree(r,e)>1&&(null===i&&(i=new I),i.add(r)),n=n.getNext(),f.isTrue(null!==n,\"found null DE in ring\"),f.isTrue(n===t||!n.isInRing(),\"found DE already in ring\")}while(n!==t);return i},e(jr.prototype,{getGeometry:function(){return null===this.geomFactory&&(this.geomFactory=new ie),this.polygonize(),this.extractOnlyPolygonal?this.geomFactory.buildGeometry(this.polyList):this.geomFactory.createGeometryCollection(ie.toGeometryArray(this.polyList))},getInvalidRingLines:function(){return this.polygonize(),this.invalidRingLines},findValidRings:function(t,e,n){for(var i=t.iterator();i.hasNext();){var r=i.next();r.isValid()?e.add(r):n.add(r.getLineString())}},polygonize:function(){if(null!==this.polyList)return null;\nif(this.polyList=new I,null===this.graph)return null;this.dangles=this.graph.deleteDangles(),this.cutEdges=this.graph.deleteCutEdges();var t=this.graph.getEdgeRings(),e=new I;this.invalidRingLines=new I,this.isCheckingRingsValid?this.findValidRings(t,e,this.invalidRingLines):e=t,this.findShellsAndHoles(e),jr.assignHolesToShells(this.holeList,this.shellList),ho.sort(this.shellList,new Xr.EnvelopeComparator);var n=!0;this.extractOnlyPolygonal&&(jr.findDisjointShells(this.shellList),n=!1),this.polyList=jr.extractPolygons(this.shellList,n)},getDangles:function(){return this.polygonize(),this.dangles},getCutEdges:function(){return this.polygonize(),this.cutEdges},getPolygons:function(){return this.polygonize(),this.polyList},add:function(){if(R(arguments[0],v))for(var t=arguments[0],e=t.iterator();e.hasNext();){var n=e.next();this.add(n)}else if(arguments[0]instanceof St){var i=arguments[0];this.geomFactory=i.getFactory(),null===this.graph&&(this.graph=new Wr(this.geomFactory)),this.graph.addEdge(i)}else if(arguments[0]instanceof B){var r=arguments[0];r.apply(this.lineStringAdder)}},setCheckRingsValid:function(t){this.isCheckingRingsValid=t},findShellsAndHoles:function(t){this.holeList=new I,this.shellList=new I;for(var e=t.iterator();e.hasNext();){var n=e.next();n.computeHole(),n.isHole()?this.holeList.add(n):this.shellList.add(n)}},interfaces_:function(){return[]},getClass:function(){return jr}}),jr.findOuterShells=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next(),i=n.getOuterHole();null===i||i.isProcessed()||(n.setIncluded(!0),i.setProcessed(!0))}},jr.extractPolygons=function(t,e){for(var n=new I,i=t.iterator();i.hasNext();){var r=i.next();(e||r.isIncluded())&&n.add(r.getPolygon())}return n},jr.assignHolesToShells=function(t,e){for(var n=t.iterator();n.hasNext();){var i=n.next();jr.assignHoleToShell(i,e)}},jr.assignHoleToShell=function(t,e){var n=Xr.findEdgeRingContaining(t,e);null!==n&&n.addHole(t)},jr.findDisjointShells=function(t){jr.findOuterShells(t);var e=null;do{e=!1;for(var n=t.iterator();n.hasNext();){var i=n.next();i.isIncludedSet()||(i.updateIncluded(),i.isIncludedSet()||(e=!0))}}while(e)},e(Kr.prototype,{filter:function(t){t instanceof St&&this.p.add(t)},interfaces_:function(){return[q]},getClass:function(){return Kr}}),jr.LineStringAdder=Kr;var To=Object.freeze({Polygonizer:jr});e(Zr.prototype,{insertEdgeEnds:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();this.nodes.add(n)}},computeProperIntersectionIM:function(t,e){var n=this.arg[0].getGeometry().getDimension(),i=this.arg[1].getGeometry().getDimension(),r=t.hasProperIntersection(),s=t.hasProperInteriorIntersection();2===n&&2===i?r&&e.setAtLeast(\"212101212\"):2===n&&1===i?(r&&e.setAtLeast(\"FFF0FFFF2\"),s&&e.setAtLeast(\"1FFFFF1FF\")):1===n&&2===i?(r&&e.setAtLeast(\"F0FFFFFF2\"),s&&e.setAtLeast(\"1F1FFFFFF\")):1===n&&1===i&&s&&e.setAtLeast(\"0FFFFFFFF\")},labelIsolatedEdges:function(t,e){for(var n=this.arg[t].getEdgeIterator();n.hasNext();){var i=n.next();i.isIsolated()&&(this.labelIsolatedEdge(i,e,this.arg[e].getGeometry()),this.isolatedEdges.add(i))}},labelIsolatedEdge:function(t,e,n){if(n.getDimension()>0){var i=this.ptLocator.locate(t.getCoordinate(),n);t.getLabel().setAllLocations(e,i)}else t.getLabel().setAllLocations(e,L.EXTERIOR)},computeIM:function(){var t=new fe;if(t.set(L.EXTERIOR,L.EXTERIOR,2),!this.arg[0].getGeometry().getEnvelopeInternal().intersects(this.arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this.arg[0].computeSelfNodes(this.li,!1),this.arg[1].computeSelfNodes(this.li,!1);var e=this.arg[0].computeEdgeIntersections(this.arg[1],this.li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var n=new Ar,i=n.computeEdgeEnds(this.arg[0].getEdgeIterator());this.insertEdgeEnds(i);var r=n.computeEdgeEnds(this.arg[1].getEdgeIterator());return this.insertEdgeEnds(r),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t},labelNodeEdges:function(){for(var t=this.nodes.iterator();t.hasNext();){var e=t.next();e.getEdges().computeLabelling(this.arg)}},copyNodesAndLabels:function(t){for(var e=this.arg[t].getNodeIterator();e.hasNext();){var n=e.next(),i=this.nodes.addNode(n.getCoordinate());i.setLabel(t,n.getLabel().getLocation(t))}},labelIntersectionNodes:function(t){for(var e=this.arg[t].getEdgeIterator();e.hasNext();)for(var n=e.next(),i=n.getLabel().getLocation(t),r=n.getEdgeIntersectionList().iterator();r.hasNext();){var s=r.next(),o=this.nodes.find(s.coord);o.getLabel().isNull(t)&&(i===L.BOUNDARY?o.setLabelBoundary(t):o.setLabel(t,L.INTERIOR))}},labelIsolatedNode:function(t,e){var n=this.ptLocator.locate(t.getCoordinate(),this.arg[e].getGeometry());t.getLabel().setAllLocations(e,n)},computeIntersectionNodes:function(t){for(var e=this.arg[t].getEdgeIterator();e.hasNext();)for(var n=e.next(),i=n.getLabel().getLocation(t),r=n.getEdgeIntersectionList().iterator();r.hasNext();){var s=r.next(),o=this.nodes.addNode(s.coord);i===L.BOUNDARY?o.setLabelBoundary(t):o.getLabel().isNull(t)&&o.setLabel(t,L.INTERIOR)}},labelIsolatedNodes:function(){for(var t=this.nodes.iterator();t.hasNext();){var e=t.next(),n=e.getLabel();f.isTrue(n.getGeometryCount()>0,\"node with empty label found\"),e.isIsolated()&&(n.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}},updateIM:function(t){for(var e=this.isolatedEdges.iterator();e.hasNext();){var n=e.next();n.updateIM(t)}for(var i=this.nodes.iterator();i.hasNext();){var r=i.next();r.updateIM(t),r.updateIMFromEdges(t)}},computeDisjointIM:function(t){var e=this.arg[0].getGeometry();e.isEmpty()||(t.set(L.INTERIOR,L.EXTERIOR,e.getDimension()),t.set(L.BOUNDARY,L.EXTERIOR,e.getBoundaryDimension()));var n=this.arg[1].getGeometry();n.isEmpty()||(t.set(L.EXTERIOR,L.INTERIOR,n.getDimension()),t.set(L.EXTERIOR,L.BOUNDARY,n.getBoundaryDimension()))},interfaces_:function(){return[]},getClass:function(){return Zr}}),e(Qr.prototype,{isContainedInBoundary:function(t){if(t instanceof Tt)return!1;if(t instanceof Lt)return this.isPointContainedInBoundary(t);if(t instanceof St)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var i=t;t=e,e=i}var r=!1;return e.y>t.y&&(r=!0),r?this.li.computeIntersection(t,e,this.diagDown0,this.diagDown1):this.li.computeIntersection(t,e,this.diagUp0,this.diagUp1),!!this.li.hasIntersection()},interfaces_:function(){return[]},getClass:function(){return Jr}}),e($r.prototype,{applyTo:function(t){for(var e=0;e=this.rectEnv.getMinX()&&e.getMaxX()<=this.rectEnv.getMaxX()?(this._intersects=!0,null):e.getMinY()>=this.rectEnv.getMinY()&&e.getMaxY()<=this.rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null},intersects:function(){return this._intersects},interfaces_:function(){return[]},getClass:function(){return es}}),h(ns,$r),e(ns.prototype,{isDone:function(){return this._containsPoint===!0},visit:function(t){if(!(t instanceof Tt))return null;var e=t.getEnvelopeInternal();if(!this.rectEnv.intersects(e))return null;for(var n=new g,i=0;i<4;i++)if(this.rectSeq.getCoordinate(i,n),e.contains(n)&&Tn.containsPointInPolygon(n,t))return this._containsPoint=!0,null},containsPoint:function(){return this._containsPoint},interfaces_:function(){return[]},getClass:function(){return ns}}),h(is,$r),e(is.prototype,{intersects:function(){return this.hasIntersection},isDone:function(){return this.hasIntersection===!0},visit:function(t){var e=t.getEnvelopeInternal();if(!this.rectEnv.intersects(e))return null;var n=kn.getLines(t);this.checkIntersectionWithLineStrings(n)},checkIntersectionWithLineStrings:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();if(this.checkIntersectionWithSegments(n),this.hasIntersection)return null}},checkIntersectionWithSegments:function(t){for(var e=t.getCoordinateSequence(),n=1;n=t.size()?null:t.get(e)},us.union=function(t){var e=new us(t);return e.union()},us.STRTREE_NODE_CAPACITY=4,e(ls.prototype,{unionNoOpt:function(t){var e=this.geomFact.createPoint();return si.overlayOp(t,e,ii.UNION)},unionWithNull:function(t,e){return null===t&&null===e?null:null===e?t:null===t?e:t.union(e)},extract:function(){if(R(arguments[0],v))for(var t=arguments[0],e=t.iterator();e.hasNext();){var n=e.next();this.extract(n)}else if(arguments[0]instanceof B){var i=arguments[0];null===this.geomFact&&(this.geomFact=i.getFactory()),as.extract(i,B.SORTINDEX_POLYGON,this.polygons),as.extract(i,B.SORTINDEX_LINESTRING,this.lines),as.extract(i,B.SORTINDEX_POINT,this.points)}},union:function t(){if(null===this.geomFact)return null;var e=null;if(this.points.size()>0){var n=this.geomFact.buildGeometry(this.points);e=this.unionNoOpt(n)}var i=null;if(this.lines.size()>0){var r=this.geomFact.buildGeometry(this.lines);i=this.unionNoOpt(r)}var s=null;this.polygons.size()>0&&(s=us.union(this.polygons));var o=this.unionWithNull(i,s),t=null;return t=null===e?o:null===o?e:os.union(e,o),null===t?this.geomFact.createGeometryCollection():t},interfaces_:function(){return[]},getClass:function(){return ls}}),ls.union=function(){if(1===arguments.length){if(R(arguments[0],v)){var t=arguments[0],e=new ls(t);return e.union()}if(arguments[0]instanceof B){var n=arguments[0],e=new ls(n);return e.union()}}else if(2===arguments.length){var i=arguments[0],r=arguments[1],e=new ls(i,r);return e.union()}};var bo=Object.freeze({UnaryUnionOp:ls}),Oo=Object.freeze({IsValidOp:Ur,ConsistentAreaTester:Vr}),_o=Object.freeze({BoundaryOp:dt,IsSimpleOp:Wi,buffer:So,distance:wo,linemerge:Lo,overlay:Ro,polygonize:To,relate:Po,union:bo,valid:Oo});h(hs,_t.CoordinateOperation),e(hs.prototype,{editCoordinates:function(t,e){if(0===t.length)return null;for(var n=new Array(t.length).fill(null),i=0;i=2&&(i=!0);var r=e.edit(t,new hs(this.targetPM,i));return r},changePM:function(t,e){var n=this.createEditor(t.getFactory(),e);return n.edit(t,new _t.NoOpGeometryOperation)},setRemoveCollapsedComponents:function(t){this.removeCollapsed=t},createFactory:function(t,e){var n=new ie(e,t.getSRID(),t.getCoordinateSequenceFactory());return n},setChangePrecisionModel:function(t){this.changePrecisionModel=t},reduce:function(t){var e=this.reducePointwise(t);return this.isPointwise?e:R(e,Rt)?e.isValid()?e:this.fixPolygonalTopology(e):e},setPointwise:function(t){this.isPointwise=t},createEditor:function(t,e){if(t.getPrecisionModel()===e)return new _t;var n=this.createFactory(t,e),i=new _t(n);return i},interfaces_:function(){return[]},getClass:function(){return cs}}),cs.reduce=function(t,e){var n=new cs(e);return n.reduce(t)},cs.reducePointwise=function(t,e){var n=new cs(e);return n.setPointwise(!0),n.reduce(t)};var Mo=Object.freeze({GeometryPrecisionReducer:cs});e(fs.prototype,{simplifySection:function(t,e){if(t+1===e)return null;this.seg.p0=this.pts[t],this.seg.p1=this.pts[e];for(var n=-1,i=t,r=t+1;rn&&(n=s,i=r)}if(n<=this.distanceTolerance)for(var r=t+1;rthis.distanceTolerance&&(s=!1);var l=new ce;if(l.p0=this.linePts[t],l.p1=this.linePts[e],i[0]=t,i[1]=e,this.hasBadIntersection(this.line,i,l)&&(s=!1),s){var r=this.flatten(t,e);return this.line.addToResult(r),null}this.simplifySection(t,u,n),this.simplifySection(u,e,n)},hasBadOutputIntersection:function(t){for(var e=this.outputIndex.query(t),n=e.iterator();n.hasNext();){var i=n.next();if(this.hasInteriorIntersection(i,t))return!0}return!1},findFurthestPoint:function(t,e,n,i){var r=new ce;r.p0=t[e],r.p1=t[n];for(var s=-1,o=e,a=e+1;as&&(s=l,o=a)}return i[0]=s,o},simplify:function(t){this.line=t,this.linePts=t.getParentCoordinates(),this.simplifySection(0,this.linePts.length-1,0)},remove:function(t,e,n){for(var i=e;i=e[0]&&ir&&(u=r),s.setMinimumLength(u),s.splitAt(o),s.getSplitPoint()},interfaces_:function(){return[ws]},getClass:function(){return Ls}}),Ls.projectedSplitPoint=function(t,e){var n=t.getLineSegment(),i=n.project(e);return i},e(Rs.prototype,{interfaces_:function(){return[]},getClass:function(){return Rs}}),Rs.triArea=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)},Rs.isInCircleDDNormalized=function(t,e,n,i){var r=_.valueOf(t.x).selfSubtract(i.x),s=_.valueOf(t.y).selfSubtract(i.y),o=_.valueOf(e.x).selfSubtract(i.x),a=_.valueOf(e.y).selfSubtract(i.y),u=_.valueOf(n.x).selfSubtract(i.x),l=_.valueOf(n.y).selfSubtract(i.y),h=r.multiply(a).selfSubtract(o.multiply(s)),c=o.multiply(l).selfSubtract(u.multiply(a)),f=u.multiply(s).selfSubtract(r.multiply(l)),g=r.multiply(r).selfAdd(s.multiply(s)),d=o.multiply(o).selfAdd(a.multiply(a)),p=u.multiply(u).selfAdd(l.multiply(l)),v=g.selfMultiply(c).selfAdd(d.selfMultiply(f)).selfAdd(p.selfMultiply(h)),m=v.doubleValue()>0;return m},Rs.checkRobustInCircle=function(t,e,n,i){var r=Rs.isInCircleNonRobust(t,e,n,i),s=Rs.isInCircleDDSlow(t,e,n,i),o=Rs.isInCircleCC(t,e,n,i),a=Si.circumcentre(t,e,n);A.out.println(\"p radius diff a = \"+Math.abs(i.distance(a)-t.distance(a))/t.distance(a)),r===s&&r===o||(A.out.println(\"inCircle robustness failure (double result = \"+r+\", DD result = \"+s+\", CC result = \"+o+\")\"),A.out.println(se.toLineString(new Gt([t,e,n,i]))),A.out.println(\"Circumcentre = \"+se.toPoint(a)+\" radius = \"+t.distance(a)),A.out.println(\"p radius diff a = \"+Math.abs(i.distance(a)/t.distance(a)-1)),A.out.println(\"p radius diff b = \"+Math.abs(i.distance(a)/e.distance(a)-1)),A.out.println(\"p radius diff c = \"+Math.abs(i.distance(a)/n.distance(a)-1)),A.out.println())},Rs.isInCircleDDFast=function(t,e,n,i){var r=_.sqr(t.x).selfAdd(_.sqr(t.y)).selfMultiply(Rs.triAreaDDFast(e,n,i)),s=_.sqr(e.x).selfAdd(_.sqr(e.y)).selfMultiply(Rs.triAreaDDFast(t,n,i)),o=_.sqr(n.x).selfAdd(_.sqr(n.y)).selfMultiply(Rs.triAreaDDFast(t,e,i)),a=_.sqr(i.x).selfAdd(_.sqr(i.y)).selfMultiply(Rs.triAreaDDFast(t,e,n)),u=r.selfSubtract(s).selfAdd(o).selfSubtract(a),l=u.doubleValue()>0;return l},Rs.isInCircleCC=function(t,e,n,i){var r=Si.circumcentre(t,e,n),s=t.distance(r),o=i.distance(r)-s;return o<=0},Rs.isInCircleNormalized=function(t,e,n,i){var r=t.x-i.x,s=t.y-i.y,o=e.x-i.x,a=e.y-i.y,u=n.x-i.x,l=n.y-i.y,h=r*a-o*s,c=o*l-u*a,f=u*s-r*l,g=r*r+s*s,d=o*o+a*a,p=u*u+l*l,v=g*c+d*f+p*h;\nreturn v>0},Rs.isInCircleDDSlow=function(t,e,n,i){var r=_.valueOf(i.x),s=_.valueOf(i.y),o=_.valueOf(t.x),a=_.valueOf(t.y),u=_.valueOf(e.x),l=_.valueOf(e.y),h=_.valueOf(n.x),c=_.valueOf(n.y),f=o.multiply(o).add(a.multiply(a)).multiply(Rs.triAreaDDSlow(u,l,h,c,r,s)),g=u.multiply(u).add(l.multiply(l)).multiply(Rs.triAreaDDSlow(o,a,h,c,r,s)),d=h.multiply(h).add(c.multiply(c)).multiply(Rs.triAreaDDSlow(o,a,u,l,r,s)),p=r.multiply(r).add(s.multiply(s)).multiply(Rs.triAreaDDSlow(o,a,u,l,h,c)),v=f.subtract(g).add(d).subtract(p),m=v.doubleValue()>0;return m},Rs.isInCircleNonRobust=function(t,e,n,i){var r=(t.x*t.x+t.y*t.y)*Rs.triArea(e,n,i)-(e.x*e.x+e.y*e.y)*Rs.triArea(t,n,i)+(n.x*n.x+n.y*n.y)*Rs.triArea(t,e,i)-(i.x*i.x+i.y*i.y)*Rs.triArea(t,e,n)>0;return r},Rs.isInCircleRobust=function(t,e,n,i){return Rs.isInCircleNormalized(t,e,n,i)},Rs.triAreaDDSlow=function(t,e,n,i,r,s){return n.subtract(t).multiply(s.subtract(e)).subtract(i.subtract(e).multiply(r.subtract(t)))},Rs.triAreaDDFast=function(t,e,n){var i=_.valueOf(e.x).selfSubtract(t.x).selfMultiply(_.valueOf(n.y).selfSubtract(t.y)),r=_.valueOf(e.y).selfSubtract(t.y).selfMultiply(_.valueOf(n.x).selfSubtract(t.x));return i.selfSubtract(r)},e(Ts.prototype,{circleCenter:function(t,e){var n=new Ts(this.getX(),this.getY()),i=this.bisector(n,t),r=this.bisector(t,e),s=new F(i,r),o=null;try{o=new Ts(s.getX(),s.getY())}catch(i){if(!(i instanceof w))throw i;A.err.println(\"a: \"+n+\" b: \"+t+\" c: \"+e),A.err.println(i)}finally{}return o},dot:function(t){return this.p.x*t.getX()+this.p.y*t.getY()},magn:function(){return Math.sqrt(this.p.x*this.p.x+this.p.y*this.p.y)},getZ:function(){return this.p.z},bisector:function(t,e){var n=e.getX()-t.getX(),i=e.getY()-t.getY(),r=new F(t.getX()+n/2,t.getY()+i/2,1),s=new F(t.getX()-i+n/2,t.getY()+n+i/2,1);return new F(r,s)},equals:function(){if(1===arguments.length){var t=arguments[0];return this.p.x===t.getX()&&this.p.y===t.getY()}if(2===arguments.length){var e=arguments[0],n=arguments[1];return this.p.distance(e.getCoordinate())0},getX:function(){return this.p.x},crossProduct:function(t){return this.p.x*t.getY()-this.p.y*t.getX()},setZ:function(t){this.p.z=t},times:function(t){return new Ts(t*this.p.x,t*this.p.y)},cross:function(){return new Ts(this.p.y,(-this.p.x))},leftOf:function(t){return this.isCCW(t.orig(),t.dest())},toString:function(){return\"POINT (\"+this.p.x+\" \"+this.p.y+\")\"},sub:function(t){return new Ts(this.p.x-t.getX(),this.p.y-t.getY())},getY:function(){return this.p.y},classify:function(t,e){var n=this,i=e.sub(t),r=n.sub(t),s=i.crossProduct(r);return s>0?Ts.LEFT:s<0?Ts.RIGHT:i.getX()*r.getX()<0||i.getY()*r.getY()<0?Ts.BEHIND:i.magn()n?10*e:10*n,this.frameVertex[0]=new Ts((t.getMaxX()+t.getMinX())/2,t.getMaxY()+i),this.frameVertex[1]=new Ts(t.getMinX()-i,t.getMinY()-i),this.frameVertex[2]=new Ts(t.getMaxX()+i,t.getMinY()-i),this.frameEnv=new C(this.frameVertex[0].getCoordinate(),this.frameVertex[1].getCoordinate()),this.frameEnv.expandToInclude(this.frameVertex[2].getCoordinate())},getTriangleCoordinates:function(t){var e=new zs;return this.visitTriangles(e,t),e.getTriangles()},getVertices:function(t){for(var e=new J,n=this.quadEdges.iterator();n.hasNext();){var i=n.next(),r=i.orig();!t&&this.isFrameVertex(r)||e.add(r);var s=i.dest();!t&&this.isFrameVertex(s)||e.add(s)}return e},fetchTriangleToVisit:function(t,e,n,i){var r=t,s=0,o=!1;do{this.triEdges[s]=r,this.isFrameEdge(r)&&(o=!0);var a=r.sym();i.contains(a)||e.push(a),i.add(r),s++,r=r.lNext()}while(r!==t);return o&&!n?null:this.triEdges},getEdges:function(){if(0===arguments.length)return this.quadEdges;if(1===arguments.length){for(var t=arguments[0],e=this.getPrimaryEdges(!1),n=new Array(e.size()).fill(null),i=0,r=e.iterator();r.hasNext();){var s=r.next();n[i++]=t.createLineString([s.orig().getCoordinate(),s.dest().getCoordinate()])}return t.createMultiLineString(n)}},getVertexUniqueEdges:function(t){for(var e=new I,n=new J,i=this.quadEdges.iterator();i.hasNext();){var r=i.next(),s=r.orig();n.contains(s)||(n.add(s),!t&&this.isFrameVertex(s)||e.add(r));var o=r.sym(),a=o.orig();n.contains(a)||(n.add(a),!t&&this.isFrameVertex(a)||e.add(o))}return e},getTriangleEdges:function(t){var e=new qs;return this.visitTriangles(e,t),e.getTriangleEdges()},getPrimaryEdges:function(t){this.visitedKey++;var e=new I,n=new pe;n.push(this.startingEdge);for(var i=new J;!n.empty();){var r=n.pop();if(!i.contains(r)){var s=r.getPrimary();!t&&this.isFrameEdge(s)||e.add(s),n.push(r.oNext()),n.push(r.sym().oNext()),i.add(r),i.add(r.sym())}}return e},delete:function(t){bs.splice(t,t.oPrev()),bs.splice(t.sym(),t.sym().oPrev());var e=t.sym(),n=t.rot(),i=t.rot().sym();this.quadEdges.remove(t),this.quadEdges.remove(e),this.quadEdges.remove(n),this.quadEdges.remove(i),t.delete(),e.delete(),n.delete(),i.delete()},locateFromEdge:function(t,e){for(var n=0,i=this.quadEdges.size(),r=e;;){if(n++,n>i)throw new Ds(r.toLineSegment());if(t.equals(r.orig())||t.equals(r.dest()))break;if(t.rightOf(r))r=r.sym();else if(t.rightOf(r.oNext())){if(t.rightOf(r.dPrev()))break;r=r.dPrev()}else r=r.oNext()}return r},getTolerance:function(){return this.tolerance},getVoronoiCellPolygons:function(t){this.visitTriangles(new Gs,!0);for(var e=new I,n=this.getVertexUniqueEdges(!1),i=n.iterator();i.hasNext();){var r=i.next();e.add(this.getVoronoiCellPolygon(r,t))}return e},getVoronoiDiagram:function(t){var e=this.getVoronoiCellPolygons(t);return t.createGeometryCollection(ie.toGeometryArray(e))},getTriangles:function(t){for(var e=this.getTriangleCoordinates(!1),n=new Array(e.size()).fill(null),i=0,r=e.iterator();r.hasNext();){var s=r.next();n[i++]=t.createPolygon(t.createLinearRing(s),null)}return t.createGeometryCollection(n)},insertSite:function(t){var e=this.locate(t);if(t.equals(e.orig(),this.tolerance)||t.equals(e.dest(),this.tolerance))return e;var n=this.makeEdge(e.orig(),t);bs.splice(n,e);var i=n;do n=this.connect(e,n.sym()),e=n.oPrev();while(e.lNext()!==i);return i},locate:function(){if(1===arguments.length){if(arguments[0]instanceof Ts){var t=arguments[0];return this.locator.locate(t)}if(arguments[0]instanceof g){var e=arguments[0];return this.locator.locate(new Ts(e))}}else if(2===arguments.length){var n=arguments[0],i=arguments[1],r=this.locator.locate(new Ts(n));if(null===r)return null;var s=r;r.dest().getCoordinate().equals2D(n)&&(s=r.sym());var o=s;do{if(o.dest().getCoordinate().equals2D(i))return o;o=o.oNext()}while(o!==s);return null}},interfaces_:function(){return[]},getClass:function(){return Fs}}),Fs.getTriangleEdges=function(t,e){if(e[0]=t,e[1]=e[0].lNext(),e[2]=e[1].lNext(),e[2].lNext()!==e[0])throw new i(\"Edges do not form a triangle\")},e(Gs.prototype,{visit:function(t){for(var e=t[0].orig().getCoordinate(),n=t[1].orig().getCoordinate(),i=t[2].orig().getCoordinate(),r=Si.circumcentre(e,n,i),s=new Ts(r),o=0;o<3;o++)t[o].rot().setOrig(s)},interfaces_:function(){return[As]},getClass:function(){return Gs}}),e(qs.prototype,{getTriangleEdges:function(){return this.triList},visit:function(t){this.triList.add(t.clone())},interfaces_:function(){return[As]},getClass:function(){return qs}}),e(Bs.prototype,{visit:function(t){this.triList.add([t[0].orig(),t[1].orig(),t[2].orig()])},getTriangleVertices:function(){return this.triList},interfaces_:function(){return[As]},getClass:function(){return Bs}}),e(zs.prototype,{checkTriangleSize:function(t){var e=\"\";t.length>=2?e=se.toLineString(t[0],t[1]):t.length>=1&&(e=se.toPoint(t[0]))},visit:function(t){this.coordList.clear();for(var e=0;e<3;e++){var n=t[e].orig();this.coordList.add(n.getCoordinate())}if(this.coordList.size()>0){this.coordList.closeRing();var i=this.coordList.toCoordinateArray();if(4!==i.length)return null;this.triCoords.add(i)}},getTriangles:function(){return this.triCoords},interfaces_:function(){return[As]},getClass:function(){return zs}}),Fs.TriangleCircumcentreVisitor=Gs,Fs.TriangleEdgesListVisitor=qs,Fs.TriangleVertexListVisitor=Bs,Fs.TriangleCoordinatesVisitor=zs,Fs.EDGE_COINCIDENCE_TOL_FACTOR=1e3,e(Vs.prototype,{getLineSegment:function(){return this.ls},getEndZ:function(){var t=this.ls.getCoordinate(1);return t.z},getStartZ:function(){var t=this.ls.getCoordinate(0);return t.z},intersection:function(t){return this.ls.intersection(t.getLineSegment())},getStart:function(){return this.ls.getCoordinate(0)},getEnd:function(){return this.ls.getCoordinate(1)},getEndY:function(){var t=this.ls.getCoordinate(1);return t.y},getStartX:function(){var t=this.ls.getCoordinate(0);return t.x},equalsTopo:function(t){return this.ls.equalsTopo(t.getLineSegment())},getStartY:function(){var t=this.ls.getCoordinate(0);return t.y},setData:function(t){this.data=t},getData:function(){return this.data},getEndX:function(){var t=this.ls.getCoordinate(1);return t.x},toString:function(){return this.ls.toString()},interfaces_:function(){return[]},getClass:function(){return Vs}}),e(ks.prototype,{visit:function(t){},interfaces_:function(){return[]},getClass:function(){return ks}}),e(Ys.prototype,{isRepeated:function(){return this.count>1},getRight:function(){return this.right},getCoordinate:function(){return this.p},setLeft:function(t){this.left=t},getX:function(){return this.p.x},getData:function(){return this.data},getCount:function(){return this.count},getLeft:function(){return this.left},getY:function(){return this.p.y},increment:function(){this.count=this.count+1},setRight:function(t){this.right=t},interfaces_:function(){return[]},getClass:function(){return Ys}}),e(Us.prototype,{insert:function(){if(1===arguments.length){var t=arguments[0];return this.insert(t,null)}if(2===arguments.length){var e=arguments[0],n=arguments[1];if(null===this.root)return this.root=new Ys(e,n),this.root;if(this.tolerance>0){var i=this.findBestMatchNode(e);if(null!==i)return i.increment(),i}return this.insertExact(e,n)}},query:function(){var t=arguments,e=this;if(1===arguments.length){var n=arguments[0],i=new I;return this.query(n,i),i}if(2===arguments.length)if(arguments[0]instanceof C&&R(arguments[1],y))!function(){var n=t[0],i=t[1];e.queryNode(e.root,n,!0,{interfaces_:function(){return[ks]},visit:function(t){i.add(t)}})}();else if(arguments[0]instanceof C&&R(arguments[1],ks)){var r=arguments[0],s=arguments[1];this.queryNode(this.root,r,!0,s)}},queryNode:function(t,e,n,i){if(null===t)return null;var r=null,s=null,o=null;n?(r=e.getMinX(),s=e.getMaxX(),o=t.getX()):(r=e.getMinY(),s=e.getMaxY(),o=t.getY());var a=r0&&te)&&xr.isWithinDistance(this,t,e)},distance:function(t){return xr.distance(this,t)},isEquivalentClass:function(t){return this.getClass()===t.getClass()}});var Go=\"1.3.0 (6e65adb)\";t.version=Go,t.algorithm=co,t.densify=fo,t.dissolve=go,t.geom=lo,t.geomgraph=po,t.index=yo,t.io=No,t.noding=Co,t.operation=_o,t.precision=Mo,t.simplify=Do,t.triangulate=Fo,Object.defineProperty(t,\"__esModule\",{value:!0})});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('VueSelectize',{attrs:{\"required\":_vm.required,\"label\":_vm.label,\"options\":_vm.zoneMapIds,\"fields\":_vm.fieldConfig,\"allow-empty\":\"\",\"placeholder\":\"Keine Zonenkarte\",\"disabled\":_vm.disabled || !_vm.fieldId,\"name\":\"ZonemapSelectionSelectize\"},model:{value:(_vm.selectedZoneMapId),callback:function ($$v) {_vm.selectedZoneMapId=$$v},expression:\"selectedZoneMapId\"}},[(!_vm.hideLabel)?_c('template',{slot:\"label\"},[_vm._v(\"\\n \"+_vm._s(_vm.optionalLabel)+\"\\n \")]):_vm._e(),_vm._t(\"label\",null,{\"slot\":\"label\"})],2),_c('FrsLoadingIndicator',{attrs:{\"small\":\"\",\"loading\":_vm.loading,\"error\":_vm.error}}),(_vm.showOnMap && _vm.value)?_c('FrsZoneMapLayer',{attrs:{\"zone-map-id\":_vm.value}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsZoneMapSelection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsZoneMapSelection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsZoneMapSelection.vue?vue&type=template&id=674a9885&scoped=true&\"\nimport script from \"./FrsZoneMapSelection.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsZoneMapSelection.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"674a9885\",\n null\n \n)\n\nexport default component.exports","var getCoord = require('@turf/invariant').getCoord;\nvar radiansToDistance = require('@turf/helpers').radiansToDistance;\n//http://en.wikipedia.org/wiki/Haversine_formula\n//http://www.movable-type.co.uk/scripts/latlong.html\n\n/**\n * Calculates the distance between two {@link Point|points} in degrees, radians,\n * miles, or kilometers. This uses the\n * [Haversine formula](http://en.wikipedia.org/wiki/Haversine_formula)\n * to account for global curvature.\n *\n * @name distance\n * @param {Geometry|Feature|Array} from origin point\n * @param {Geometry|Feature|Array} to destination point\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {number} distance between the two points\n * @example\n * var from = turf.point([-75.343, 39.984]);\n * var to = turf.point([-75.534, 39.123]);\n *\n * var distance = turf.distance(from, to, \"miles\");\n *\n * //addToMap\n * var addToMap = [from, to];\n * from.properties.distance = distance;\n * to.properties.distance = distance;\n */\nmodule.exports = function (from, to, units) {\n var degrees2radians = Math.PI / 180;\n var coordinates1 = getCoord(from);\n var coordinates2 = getCoord(to);\n var dLat = degrees2radians * (coordinates2[1] - coordinates1[1]);\n var dLon = degrees2radians * (coordinates2[0] - coordinates1[0]);\n var lat1 = degrees2radians * coordinates1[1];\n var lat2 = degrees2radians * coordinates2[1];\n\n var a = Math.pow(Math.sin(dLat / 2), 2) +\n Math.pow(Math.sin(dLon / 2), 2) * Math.cos(lat1) * Math.cos(lat2);\n\n return radiansToDistance(2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)), units);\n};\n","'use strict'\n\nmodule.exports = convexHull2D\n\nvar monotoneHull = require('monotone-convex-hull-2d')\n\nfunction convexHull2D(points) {\n var hull = monotoneHull(points)\n var h = hull.length\n if(h <= 2) {\n return []\n }\n var edges = new Array(h)\n var a = hull[h-1]\n for(var i=0; i|Array} targetPoint the reference point\n * @param {FeatureCollection} points against input point set\n * @returns {Feature} the closest point in the set to the reference point\n * @example\n * var targetPoint = turf.point([28.965797, 41.010086], {\"marker-color\": \"#0F0\"});\n * var points = turf.featureCollection([\n * turf.point([28.973865, 41.011122]),\n * turf.point([28.948459, 41.024204]),\n * turf.point([28.938674, 41.013324])\n * ]);\n *\n * var nearest = turf.nearest(targetPoint, points);\n *\n * //addToMap\n * var addToMap = [targetPoint, points, nearest];\n * nearest.properties['marker-color'] = '#F00';\n */\nmodule.exports = function (targetPoint, points) {\n var nearestPoint, minDist = Infinity;\n for (var i = 0; i < points.features.length; i++) {\n var distanceToPoint = distance(targetPoint, points.features[i], 'miles');\n if (distanceToPoint < minDist) {\n nearestPoint = points.features[i];\n minDist = distanceToPoint;\n }\n }\n return nearestPoint;\n};\n","\"use strict\"\n\nvar twoProduct = require(\"two-product\")\nvar robustSum = require(\"robust-sum\")\nvar robustScale = require(\"robust-scale\")\nvar robustSubtract = require(\"robust-subtract\")\n\nvar NUM_EXPAND = 5\n\nvar EPSILON = 1.1102230246251565e-16\nvar ERRBOUND3 = (3.0 + 16.0 * EPSILON) * EPSILON\nvar ERRBOUND4 = (7.0 + 56.0 * EPSILON) * EPSILON\n\nfunction cofactor(m, c) {\n var result = new Array(m.length-1)\n for(var i=1; i>1\n return [\"sum(\", generateSum(expr.slice(0, m)), \",\", generateSum(expr.slice(m)), \")\"].join(\"\")\n }\n}\n\nfunction determinant(m) {\n if(m.length === 2) {\n return [[\"sum(prod(\", m[0][0], \",\", m[1][1], \"),prod(-\", m[0][1], \",\", m[1][0], \"))\"].join(\"\")]\n } else {\n var expr = []\n for(var i=0; i 0) {\n if(r <= 0) {\n return det\n } else {\n s = l + r\n }\n } else if(l < 0) {\n if(r >= 0) {\n return det\n } else {\n s = -(l + r)\n }\n } else {\n return det\n }\n var tol = ERRBOUND3 * s\n if(det >= tol || det <= -tol) {\n return det\n }\n return orientation3Exact(a, b, c)\n },\n function orientation4(a,b,c,d) {\n var adx = a[0] - d[0]\n var bdx = b[0] - d[0]\n var cdx = c[0] - d[0]\n var ady = a[1] - d[1]\n var bdy = b[1] - d[1]\n var cdy = c[1] - d[1]\n var adz = a[2] - d[2]\n var bdz = b[2] - d[2]\n var cdz = c[2] - d[2]\n var bdxcdy = bdx * cdy\n var cdxbdy = cdx * bdy\n var cdxady = cdx * ady\n var adxcdy = adx * cdy\n var adxbdy = adx * bdy\n var bdxady = bdx * ady\n var det = adz * (bdxcdy - cdxbdy) \n + bdz * (cdxady - adxcdy)\n + cdz * (adxbdy - bdxady)\n var permanent = (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * Math.abs(adz)\n + (Math.abs(cdxady) + Math.abs(adxcdy)) * Math.abs(bdz)\n + (Math.abs(adxbdy) + Math.abs(bdxady)) * Math.abs(cdz)\n var tol = ERRBOUND4 * permanent\n if ((det > tol) || (-det > tol)) {\n return det\n }\n return orientation4Exact(a,b,c,d)\n }\n]\n\nfunction slowOrient(args) {\n var proc = CACHED[args.length]\n if(!proc) {\n proc = CACHED[args.length] = orientation(args.length)\n }\n return proc.apply(undefined, args)\n}\n\nfunction generateOrientationProc() {\n while(CACHED.length <= NUM_EXPAND) {\n CACHED.push(orientation(CACHED.length))\n }\n var args = []\n var procArgs = [\"slow\"]\n for(var i=0; i<=NUM_EXPAND; ++i) {\n args.push(\"a\" + i)\n procArgs.push(\"o\" + i)\n }\n var code = [\n \"function getOrientation(\", args.join(), \"){switch(arguments.length){case 0:case 1:return 0;\"\n ]\n for(var i=2; i<=NUM_EXPAND; ++i) {\n code.push(\"case \", i, \":return o\", i, \"(\", args.slice(0, i).join(), \");\")\n }\n code.push(\"}var s=new Array(arguments.length);for(var i=0;i\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTableSortingButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTableSortingButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleTableSortingButton.vue?vue&type=template&id=6c9a549e&scoped=true&lang=html&\"\nimport script from \"./SimpleTableSortingButton.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleTableSortingButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SimpleTableSortingButton.vue?vue&type=style&index=0&id=6c9a549e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6c9a549e\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleTable.vue?vue&type=template&id=2728a880&scoped=true&lang=html&\"\nimport script from \"./SimpleTable.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SimpleTable.vue?vue&type=style&index=0&id=2728a880&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2728a880\",\n null\n \n)\n\nexport default component.exports","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Vector handling functions (c) Chris Veness 2011-2016 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-vector3d.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\n\n\n/**\n * Library of 3-d vector manipulation routines.\n *\n * In a geodesy context, these vectors may be used to represent:\n * - n-vector representing a normal to point on Earth's surface\n * - earth-centered, earth fixed vector (≡ Gade’s ‘p-vector’)\n * - great circle normal to vector (on spherical earth model)\n * - motion vector on Earth's surface\n * - etc\n *\n * Functions return vectors as return results, so that operations can be chained.\n * @example var v = v1.cross(v2).dot(v3) // ≡ v1×v2⋅v3\n *\n * @module vector3d\n */\n\n\n/**\n * Creates a 3-d vector.\n *\n * The vector may be normalised, or use x/y/z values for eg height relative to the sphere or\n * ellipsoid, distance from earth centre, etc.\n *\n * @constructor\n * @param {number} x - X component of vector.\n * @param {number} y - Y component of vector.\n * @param {number} z - Z component of vector.\n */\nfunction Vector3d(x, y, z) {\n // allow instantiation without 'new'\n if (!(this instanceof Vector3d)) return new Vector3d(x, y, z);\n\n this.x = Number(x);\n this.y = Number(y);\n this.z = Number(z);\n}\n\n\n/**\n * Adds supplied vector to ‘this’ vector.\n *\n * @param {Vector3d} v - Vector to be added to this vector.\n * @returns {Vector3d} Vector representing sum of this and v.\n */\nVector3d.prototype.plus = function(v) {\n if (!(v instanceof Vector3d)) throw new TypeError('v is not Vector3d object');\n\n return new Vector3d(this.x + v.x, this.y + v.y, this.z + v.z);\n};\n\n\n/**\n * Subtracts supplied vector from ‘this’ vector.\n *\n * @param {Vector3d} v - Vector to be subtracted from this vector.\n * @returns {Vector3d} Vector representing difference between this and v.\n */\nVector3d.prototype.minus = function(v) {\n if (!(v instanceof Vector3d)) throw new TypeError('v is not Vector3d object');\n\n return new Vector3d(this.x - v.x, this.y - v.y, this.z - v.z);\n};\n\n\n/**\n * Multiplies ‘this’ vector by a scalar value.\n *\n * @param {number} x - Factor to multiply this vector by.\n * @returns {Vector3d} Vector scaled by x.\n */\nVector3d.prototype.times = function(x) {\n x = Number(x);\n\n return new Vector3d(this.x * x, this.y * x, this.z * x);\n};\n\n\n/**\n * Divides ‘this’ vector by a scalar value.\n *\n * @param {number} x - Factor to divide this vector by.\n * @returns {Vector3d} Vector divided by x.\n */\nVector3d.prototype.dividedBy = function(x) {\n x = Number(x);\n\n return new Vector3d(this.x / x, this.y / x, this.z / x);\n};\n\n\n/**\n * Multiplies ‘this’ vector by the supplied vector using dot (scalar) product.\n *\n * @param {Vector3d} v - Vector to be dotted with this vector.\n * @returns {number} Dot product of ‘this’ and v.\n */\nVector3d.prototype.dot = function(v) {\n if (!(v instanceof Vector3d)) throw new TypeError('v is not Vector3d object');\n\n return this.x*v.x + this.y*v.y + this.z*v.z;\n};\n\n\n/**\n * Multiplies ‘this’ vector by the supplied vector using cross (vector) product.\n *\n * @param {Vector3d} v - Vector to be crossed with this vector.\n * @returns {Vector3d} Cross product of ‘this’ and v.\n */\nVector3d.prototype.cross = function(v) {\n if (!(v instanceof Vector3d)) throw new TypeError('v is not Vector3d object');\n\n var x = this.y*v.z - this.z*v.y;\n var y = this.z*v.x - this.x*v.z;\n var z = this.x*v.y - this.y*v.x;\n\n return new Vector3d(x, y, z);\n};\n\n\n/**\n * Negates a vector to point in the opposite direction\n *\n * @returns {Vector3d} Negated vector.\n */\nVector3d.prototype.negate = function() {\n return new Vector3d(-this.x, -this.y, -this.z);\n};\n\n\n/**\n * Length (magnitude or norm) of ‘this’ vector\n *\n * @returns {number} Magnitude of this vector.\n */\nVector3d.prototype.length = function() {\n return Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.z);\n};\n\n\n/**\n * Normalizes a vector to its unit vector\n * – if the vector is already unit or is zero magnitude, this is a no-op.\n *\n * @returns {Vector3d} Normalised version of this vector.\n */\nVector3d.prototype.unit = function() {\n var norm = this.length();\n if (norm == 1) return this;\n if (norm == 0) return this;\n\n var x = this.x/norm;\n var y = this.y/norm;\n var z = this.z/norm;\n\n return new Vector3d(x, y, z);\n};\n\n\n/**\n * Calculates the angle between ‘this’ vector and supplied vector δ = atan2(|p₁×p₂|, p₁·p₂).\n *\n * @param {Vector3d} v\n * @param {Vector3d} [n] - Plane normal: if supplied, angle is -π..+π, signed +ve if this->v is\n * clockwise looking along n, -ve in opposite direction (if not supplied, angle is always 0..π).\n * @returns {number} Angle (in radians) between this vector and supplied vector.\n */\nVector3d.prototype.angleTo = function(v, n) {\n if (!(v instanceof Vector3d)) throw new TypeError('v is not Vector3d object');\n if (!(n instanceof Vector3d || n == undefined)) throw new TypeError('n is not Vector3d object');\n\n var sign = n==undefined ? 1 : Math.sign(this.cross(v).dot(n));\n var sinθ = this.cross(v).length() * sign;\n var cosθ = this.dot(v);\n\n return Math.atan2(sinθ, cosθ);\n};\n\n\n/**\n * Rotates ‘this’ point around an axis by a specified angle.\n *\n * @param {Vector3d} axis - The axis being rotated around.\n * @param {number} theta - The angle of rotation (in radians).\n * @returns {Vector3d} The rotated point.\n */\nVector3d.prototype.rotateAround = function(axis, theta) {\n if (!(axis instanceof Vector3d)) throw new TypeError('axis is not Vector3d object');\n\n // en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle\n // en.wikipedia.org/wiki/Quaternions_and_spatial_rotation#Quaternion-derived_rotation_matrix\n var p1 = this.unit();\n var p = [ p1.x, p1.y, p1.z ]; // the point being rotated\n var a = axis.unit(); // the axis being rotated around\n var s = Math.sin(theta);\n var c = Math.cos(theta);\n // quaternion-derived rotation matrix\n var q = [\n [ a.x*a.x*(1-c) + c, a.x*a.y*(1-c) - a.z*s, a.x*a.z*(1-c) + a.y*s ],\n [ a.y*a.x*(1-c) + a.z*s, a.y*a.y*(1-c) + c, a.y*a.z*(1-c) - a.x*s ],\n [ a.z*a.x*(1-c) - a.y*s, a.z*a.y*(1-c) + a.x*s, a.z*a.z*(1-c) + c ],\n ];\n // multiply q × p\n var qp = [ 0, 0, 0 ];\n for (var i=0; i<3; i++) {\n for (var j=0; j<3; j++) {\n qp[i] += q[i][j] * p[j];\n }\n }\n var p2 = new Vector3d(qp[0], qp[1], qp[2]);\n return p2;\n // qv en.wikipedia.org/wiki/Rodrigues'_rotation_formula...\n};\n\n\n/**\n * String representation of vector.\n *\n * @param {number} [precision=3] - Number of decimal places to be used.\n * @returns {string} Vector represented as [x,y,z].\n */\nVector3d.prototype.toString = function(precision) {\n var p = (precision === undefined) ? 3 : Number(precision);\n\n var str = '[' + this.x.toFixed(p) + ',' + this.y.toFixed(p) + ',' + this.z.toFixed(p) + ']';\n\n return str;\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n/** Polyfill Math.sign for old browsers / IE */\nif (Math.sign === undefined) {\n Math.sign = function(x) {\n x = +x; // convert to a number\n if (x === 0 || isNaN(x)) return x;\n return x > 0 ? 1 : -1;\n };\n}\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = Vector3d; // ≡ export default Vector3d\n","/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @name feature\n * @param {Geometry} geometry input geometry\n * @param {Object} properties properties\n * @returns {FeatureCollection} a FeatureCollection of input features\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [\n * 67.5,\n * 32.84267363195431\n * ]\n * }\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nfunction feature(geometry, properties) {\n if (!geometry) throw new Error('No geometry passed');\n\n return {\n type: 'Feature',\n properties: properties || {},\n geometry: geometry\n };\n}\nmodule.exports.feature = feature;\n\n/**\n * Takes coordinates and properties (optional) and returns a new {@link Point} feature.\n *\n * @name point\n * @param {Array} coordinates longitude, latitude position (each in decimal degrees)\n * @param {Object=} properties an Object that is used as the {@link Feature}'s\n * properties\n * @returns {Feature} a Point feature\n * @example\n * var pt1 = turf.point([-75.343, 39.984]);\n *\n * //=pt1\n */\nmodule.exports.point = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length === undefined) throw new Error('Coordinates must be an array');\n if (coordinates.length < 2) throw new Error('Coordinates must be at least 2 numbers long');\n if (typeof coordinates[0] !== 'number' || typeof coordinates[1] !== 'number') throw new Error('Coordinates must numbers');\n\n return feature({\n type: 'Point',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Takes an array of LinearRings and optionally an {@link Object} with properties and returns a {@link Polygon} feature.\n *\n * @name polygon\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object=} properties a properties object\n * @returns {Feature} a Polygon feature\n * @throws {Error} throw an error if a LinearRing of the polygon has too few positions\n * or if a LinearRing of the Polygon does not have matching Positions at the\n * beginning & end.\n * @example\n * var polygon = turf.polygon([[\n * [-2.275543, 53.464547],\n * [-2.275543, 53.489271],\n * [-2.215118, 53.489271],\n * [-2.215118, 53.464547],\n * [-2.275543, 53.464547]\n * ]], { name: 'poly1', population: 400});\n *\n * //=polygon\n */\nmodule.exports.polygon = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n for (var i = 0; i < coordinates.length; i++) {\n var ring = coordinates[i];\n if (ring.length < 4) {\n throw new Error('Each LinearRing of a Polygon must have 4 or more Positions.');\n }\n for (var j = 0; j < ring[ring.length - 1].length; j++) {\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error('First and last Position are not equivalent.');\n }\n }\n }\n\n return feature({\n type: 'Polygon',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Creates a {@link LineString} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name lineString\n * @param {Array>} coordinates an array of Positions\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a LineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var linestring1 = turf.lineString([\n * [-21.964416, 64.148203],\n * [-21.956176, 64.141316],\n * [-21.93901, 64.135924],\n * [-21.927337, 64.136673]\n * ]);\n * var linestring2 = turf.lineString([\n * [-21.929054, 64.127985],\n * [-21.912918, 64.134726],\n * [-21.916007, 64.141016],\n * [-21.930084, 64.14446]\n * ], {name: 'line 1', distance: 145});\n *\n * //=linestring1\n *\n * //=linestring2\n */\nmodule.exports.lineString = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'LineString',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @name featureCollection\n * @param {Feature[]} features input features\n * @returns {FeatureCollection} a FeatureCollection of input features\n * @example\n * var features = [\n * turf.point([-75.343, 39.984], {name: 'Location A'}),\n * turf.point([-75.833, 39.284], {name: 'Location B'}),\n * turf.point([-75.534, 39.123], {name: 'Location C'})\n * ];\n *\n * var fc = turf.featureCollection(features);\n *\n * //=fc\n */\nmodule.exports.featureCollection = function (features) {\n if (!features) throw new Error('No features passed');\n\n return {\n type: 'FeatureCollection',\n features: features\n };\n};\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiLineString\n * @param {Array>>} coordinates an array of LineStrings\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n *\n */\nmodule.exports.multiLineString = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiLineString',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPoint\n * @param {Array>} coordinates an array of Positions\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n *\n */\nmodule.exports.multiPoint = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPoint',\n coordinates: coordinates\n }, properties);\n};\n\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPolygon\n * @param {Array>>>} coordinates an array of Polygons\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nmodule.exports.multiPolygon = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPolygon',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name geometryCollection\n * @param {Array<{Geometry}>} geometries an array of GeoJSON Geometries\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = {\n * \"type\": \"Point\",\n * \"coordinates\": [100, 0]\n * };\n * var line = {\n * \"type\": \"LineString\",\n * \"coordinates\": [ [101, 0], [102, 1] ]\n * };\n * var collection = turf.geometryCollection([pt, line]);\n *\n * //=collection\n */\nmodule.exports.geometryCollection = function (geometries, properties) {\n if (!geometries) throw new Error('No geometries passed');\n\n return feature({\n type: 'GeometryCollection',\n geometries: geometries\n }, properties);\n};\n\nvar factors = {\n miles: 3960,\n nauticalmiles: 3441.145,\n degrees: 57.2957795,\n radians: 1,\n inches: 250905600,\n yards: 6969600,\n meters: 6373000,\n metres: 6373000,\n kilometers: 6373,\n kilometres: 6373,\n feet: 20908792.65\n};\n\n/*\n * Convert a distance measurement from radians to a more friendly unit.\n *\n * @name radiansToDistance\n * @param {number} distance in radians across the sphere\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} distance\n */\nmodule.exports.radiansToDistance = function (radians, units) {\n var factor = factors[units || 'kilometers'];\n if (factor === undefined) throw new Error('Invalid unit');\n\n return radians * factor;\n};\n\n/*\n * Convert a distance measurement from a real-world unit into radians\n *\n * @name distanceToRadians\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} radians\n */\nmodule.exports.distanceToRadians = function (distance, units) {\n var factor = factors[units || 'kilometers'];\n if (factor === undefined) throw new Error('Invalid unit');\n\n return distance / factor;\n};\n\n/*\n * Convert a distance measurement from a real-world unit into degrees\n *\n * @name distanceToRadians\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nmodule.exports.distanceToDegrees = function (distance, units) {\n var factor = factors[units || 'kilometers'];\n if (factor === undefined) throw new Error('Invalid unit');\n\n return (distance / factor) * 57.2958;\n};\n","var getCoords = require('@turf/invariant').getCoords;\n\n/**\n * Returns true if a point is on a line. Accepts a optional parameter to ignore the start and end vertices of the linestring.\n *\n * @name booleanPointOnLine\n * @param {Geometry|Feature} point GeoJSON Feature or Geometry\n * @param {Geometry|Feature} linestring GeoJSON Feature or Geometry\n * @param {boolean} [ignoreEndVertices=false] whether to ignore the start and end vertices.\n * @returns {boolean} true/false\n * @example\n * var pt = turf.point([0, 0]);\n * var line = turf.lineString([[-1, -1],[1, 1],[1.5, 2.2]]);\n * var isPointOnLine = turf.booleanPointOnLine(pt, line);\n * //=true\n */\nmodule.exports = function (point, linestring, ignoreEndVertices) {\n var pointCoords = getCoords(point);\n var lineCoords = getCoords(linestring);\n for (var i = 0; i < lineCoords.length - 1; i++) {\n var ignoreBoundary = false;\n if (ignoreEndVertices) {\n if (i === 0) ignoreBoundary = 'start';\n if (i === lineCoords.length - 2) ignoreBoundary = 'end';\n if (i === 0 && i + 1 === lineCoords.length - 1) ignoreBoundary = 'both';\n }\n if (isPointOnLineSegment(lineCoords[i], lineCoords[i + 1], pointCoords, ignoreBoundary)) return true;\n }\n return false;\n};\n\n// See http://stackoverflow.com/a/4833823/1979085\n/**\n * @private\n * @param {Array} lineSegmentStart coord pair of start of line\n * @param {Array} lineSegmentEnd coord pair of end of line\n * @param {Array} point coord pair of point to check\n * @param {boolean|string} excludeBoundary whether the point is allowed to fall on the line ends. If true which end to ignore.\n * @returns {boolean} true/false\n */\nfunction isPointOnLineSegment(lineSegmentStart, lineSegmentEnd, point, excludeBoundary) {\n var dxc = point[0] - lineSegmentStart[0];\n var dyc = point[1] - lineSegmentStart[1];\n var dxl = lineSegmentEnd[0] - lineSegmentStart[0];\n var dyl = lineSegmentEnd[1] - lineSegmentStart[1];\n var cross = dxc * dyl - dyc * dxl;\n if (cross !== 0) {\n return false;\n }\n if (!excludeBoundary) {\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n return dxl > 0 ? lineSegmentStart[0] <= point[0] && point[0] <= lineSegmentEnd[0] : lineSegmentEnd[0] <= point[0] && point[0] <= lineSegmentStart[0];\n }\n return dyl > 0 ? lineSegmentStart[1] <= point[1] && point[1] <= lineSegmentEnd[1] : lineSegmentEnd[1] <= point[1] && point[1] <= lineSegmentStart[1];\n } else if (excludeBoundary === 'start') {\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n return dxl > 0 ? lineSegmentStart[0] < point[0] && point[0] <= lineSegmentEnd[0] : lineSegmentEnd[0] <= point[0] && point[0] < lineSegmentStart[0];\n }\n return dyl > 0 ? lineSegmentStart[1] < point[1] && point[1] <= lineSegmentEnd[1] : lineSegmentEnd[1] <= point[1] && point[1] < lineSegmentStart[1];\n } else if (excludeBoundary === 'end') {\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n return dxl > 0 ? lineSegmentStart[0] <= point[0] && point[0] < lineSegmentEnd[0] : lineSegmentEnd[0] < point[0] && point[0] <= lineSegmentStart[0];\n }\n return dyl > 0 ? lineSegmentStart[1] <= point[1] && point[1] < lineSegmentEnd[1] : lineSegmentEnd[1] < point[1] && point[1] <= lineSegmentStart[1];\n } else if (excludeBoundary === 'both') {\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n return dxl > 0 ? lineSegmentStart[0] < point[0] && point[0] < lineSegmentEnd[0] : lineSegmentEnd[0] < point[0] && point[0] < lineSegmentStart[0];\n }\n return dyl > 0 ? lineSegmentStart[1] < point[1] && point[1] < lineSegmentEnd[1] : lineSegmentEnd[1] < point[1] && point[1] < lineSegmentStart[1];\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"summary\":\"SharedSummary_summary_F1pIG\",\"parameters\":\"SharedSummary_parameters_15IFQ\",\"dates\":\"SharedSummary_dates_16vtl\",\"ignored\":\"SharedSummary_ignored_1hsH4\"};","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaletteSelector.vue?vue&type=style&index=0&id=53cd579e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPaletteSelector.vue?vue&type=style&index=0&id=53cd579e&lang=scss&scoped=true&\"","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/* eslint-disable */\n\n /**\n * BezierSpline\n * https://github.com/leszekr/bezier-spline-js\n *\n * @private\n * @copyright\n * Copyright (c) 2013 Leszek Rybicki\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar Spline = function (options) {\n this.points = options.points || [];\n this.duration = options.duration || 10000;\n this.sharpness = options.sharpness || 0.85;\n this.centers = [];\n this.controls = [];\n this.stepLength = options.stepLength || 60;\n this.length = this.points.length;\n this.delay = 0;\n // this is to ensure compatibility with the 2d version\n for (var i = 0; i < this.length; i++) this.points[i].z = this.points[i].z || 0;\n for (var i = 0; i < this.length - 1; i++) {\n var p1 = this.points[i];\n var p2 = this.points[i + 1];\n this.centers.push({\n x: (p1.x + p2.x) / 2,\n y: (p1.y + p2.y) / 2,\n z: (p1.z + p2.z) / 2\n });\n }\n this.controls.push([this.points[0], this.points[0]]);\n for (var i = 0; i < this.centers.length - 1; i++) {\n var p1 = this.centers[i];\n var p2 = this.centers[i + 1];\n var dx = this.points[i + 1].x - (this.centers[i].x + this.centers[i + 1].x) / 2;\n var dy = this.points[i + 1].y - (this.centers[i].y + this.centers[i + 1].y) / 2;\n var dz = this.points[i + 1].z - (this.centers[i].y + this.centers[i + 1].z) / 2;\n this.controls.push([{\n x: (1.0 - this.sharpness) * this.points[i + 1].x + this.sharpness * (this.centers[i].x + dx),\n y: (1.0 - this.sharpness) * this.points[i + 1].y + this.sharpness * (this.centers[i].y + dy),\n z: (1.0 - this.sharpness) * this.points[i + 1].z + this.sharpness * (this.centers[i].z + dz)},\n {\n x: (1.0 - this.sharpness) * this.points[i + 1].x + this.sharpness * (this.centers[i + 1].x + dx),\n y: (1.0 - this.sharpness) * this.points[i + 1].y + this.sharpness * (this.centers[i + 1].y + dy),\n z: (1.0 - this.sharpness) * this.points[i + 1].z + this.sharpness * (this.centers[i + 1].z + dz)}]);\n }\n this.controls.push([this.points[this.length - 1], this.points[this.length - 1]]);\n this.steps = this.cacheSteps(this.stepLength);\n return this;\n};\n\n /*\n Caches an array of equidistant (more or less) points on the curve.\n */\nSpline.prototype.cacheSteps = function (mindist) {\n var steps = [];\n var laststep = this.pos(0);\n steps.push(0);\n for (var t = 0; t < this.duration; t += 10) {\n var step = this.pos(t);\n var dist = Math.sqrt((step.x - laststep.x) * (step.x - laststep.x) + (step.y - laststep.y) * (step.y - laststep.y) + (step.z - laststep.z) * (step.z - laststep.z));\n if (dist > mindist) {\n steps.push(t);\n laststep = step;\n }\n }\n return steps;\n};\n\n /*\n returns angle and speed in the given point in the curve\n */\nSpline.prototype.vector = function (t) {\n var p1 = this.pos(t + 10);\n var p2 = this.pos(t - 10);\n return {\n angle:180 * Math.atan2(p1.y - p2.y, p1.x - p2.x) / 3.14,\n speed:Math.sqrt((p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y) + (p2.z - p1.z) * (p2.z - p1.z))\n };\n};\n\n /*\n Gets the position of the point, given time.\n\n WARNING: The speed is not constant. The time it takes between control points is constant.\n\n For constant speed, use Spline.steps[i];\n */\nSpline.prototype.pos = function (time) {\n\n function bezier(t, p1, c1, c2, p2) {\n var B = function (t) {\n var t2 = t * t, t3 = t2 * t;\n return [(t3), (3 * t2 * (1 - t)), (3 * t * (1 - t) * (1 - t)), ((1 - t) * (1 - t) * (1 - t))];\n };\n var b = B(t);\n var pos = {\n x : p2.x * b[0] + c2.x * b[1] + c1.x * b[2] + p1.x * b[3],\n y : p2.y * b[0] + c2.y * b[1] + c1.y * b[2] + p1.y * b[3],\n z : p2.z * b[0] + c2.z * b[1] + c1.z * b[2] + p1.z * b[3]\n };\n return pos;\n }\n var t = time - this.delay;\n if (t < 0) t = 0;\n if (t > this.duration) t = this.duration - 1;\n //t = t-this.delay;\n var t2 = (t) / this.duration;\n if (t2 >= 1) return this.points[this.length - 1];\n\n var n = Math.floor((this.points.length - 1) * t2);\n var t1 = (this.length - 1) * t2 - n;\n return bezier(t1, this.points[n], this.controls[n][1], this.controls[n + 1][0], this.points[n + 1]);\n};\n\nmodule.exports = Spline;\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputClearButton.vue?vue&type=style&index=0&id=451fb25d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputClearButton.vue?vue&type=style&index=0&id=451fb25d&lang=scss&scoped=true&\"","var area = require('@mapbox/geojson-area').geometry;\nvar geomReduce = require('@turf/meta').geomReduce;\n\n/**\n * Takes one or more features and returns their area in square meters.\n *\n * @name area\n * @param {FeatureCollection|Feature} geojson input GeoJSON feature(s)\n * @returns {number} area in square meters\n * @addToMap polygon\n * @example\n * var polygon = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [\n * [\n * [125, -15],\n * [113, -22],\n * [117, -37],\n * [130, -33],\n * [148, -39],\n * [154, -27],\n * [144, -15],\n * [125, -15]\n * ]\n * ]\n * }\n * }\n * var area = turf.area(polygon);\n * //=area => square meters\n * //=polygon\n */\nmodule.exports = function (geojson) {\n return geomReduce(geojson, function (value, geometry) {\n return value + area(geometry);\n }, 0);\n};\n","var simplifyJS = require('simplify-js');\nvar cleanCoords = require('@turf/clean-coords');\nvar geomEach = require('@turf/meta').geomEach;\nvar clone = require('@turf/clone');\n\n/**\n * Takes a {@link GeoJSON} object and returns a simplified version. Internally uses\n * [simplify-js](http://mourner.github.io/simplify-js/) to perform simplification.\n *\n * @name simplify\n * @param {GeoJSON} geojson object to be simplified\n * @param {number} [tolerance=1] simplification tolerance\n * @param {boolean} [highQuality=false] whether or not to spend more time to create a higher-quality simplification with a different algorithm\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {GeoJSON} a simplified GeoJSON\n * @example\n * var geojson = turf.polygon([[\n * [-70.603637, -33.399918],\n * [-70.614624, -33.395332],\n * [-70.639343, -33.392466],\n * [-70.659942, -33.394759],\n * [-70.683975, -33.404504],\n * [-70.697021, -33.419406],\n * [-70.701141, -33.434306],\n * [-70.700454, -33.446339],\n * [-70.694274, -33.458369],\n * [-70.682601, -33.465816],\n * [-70.668869, -33.472117],\n * [-70.646209, -33.473835],\n * [-70.624923, -33.472117],\n * [-70.609817, -33.468107],\n * [-70.595397, -33.458369],\n * [-70.587158, -33.442901],\n * [-70.587158, -33.426283],\n * [-70.590591, -33.414248],\n * [-70.594711, -33.406224],\n * [-70.603637, -33.399918]\n * ]]);\n * var tolerance = 0.01;\n *\n * var simplified = turf.simplify(geojson, tolerance, false);\n *\n * //addToMap\n * var addToMap = [geojson, simplified]\n */\nmodule.exports = function (geojson, tolerance, highQuality, mutate) {\n if (!geojson) throw new Error('geojson is required');\n if (tolerance && tolerance < 0) throw new Error('invalid tolerance');\n\n // Clone geojson to avoid side effects\n if (mutate !== true) geojson = clone(geojson);\n\n geomEach(geojson, function (geom) {\n simplify(geom, tolerance, highQuality);\n });\n return geojson;\n};\n\n/**\n * Simplifies a feature's coordinates\n *\n * @private\n * @param {Geometry} geometry to be simplified\n * @param {number} [tolerance=1] simplification tolerance\n * @param {boolean} [highQuality=false] whether or not to spend more time to create a higher-quality simplification with a different algorithm\n * @returns {Geometry} output\n */\nfunction simplify(geometry, tolerance, highQuality) {\n var type = geometry.type;\n\n // \"unsimplyfiable\" geometry types\n if (type === 'Point' || type === 'MultiPoint') return geometry;\n\n // Remove any extra coordinates\n cleanCoords(geometry, true);\n\n var coordinates = geometry.coordinates;\n switch (type) {\n case 'LineString':\n geometry['coordinates'] = simplifyLine(coordinates, tolerance, highQuality);\n break;\n case 'MultiLineString':\n geometry['coordinates'] = coordinates.map(function (lines) {\n return simplifyLine(lines, tolerance, highQuality);\n });\n break;\n case 'Polygon':\n geometry['coordinates'] = simplifyPolygon(coordinates, tolerance, highQuality);\n break;\n case 'MultiPolygon':\n geometry['coordinates'] = coordinates.map(function (rings) {\n return simplifyPolygon(rings, tolerance, highQuality);\n });\n }\n return geometry;\n}\n\n\n/**\n * Simplifies the coordinates of a LineString with simplify-js\n *\n * @private\n * @param {Array} coordinates to be processed\n * @param {number} tolerance simplification tolerance\n * @param {boolean} highQuality whether or not to spend more time to create a higher-quality\n * @returns {Array>} simplified coords\n */\nfunction simplifyLine(coordinates, tolerance, highQuality) {\n return simplifyJS(coordinates.map(function (coord) {\n return {x: coord[0], y: coord[1], z: coord[2]};\n }), tolerance, highQuality).map(function (coords) {\n return (coords.z) ? [coords.x, coords.y, coords.z] : [coords.x, coords.y];\n });\n}\n\n\n/**\n * Simplifies the coordinates of a Polygon with simplify-js\n *\n * @private\n * @param {Array} coordinates to be processed\n * @param {number} tolerance simplification tolerance\n * @param {boolean} highQuality whether or not to spend more time to create a higher-quality\n * @returns {Array>>} simplified coords\n */\nfunction simplifyPolygon(coordinates, tolerance, highQuality) {\n return coordinates.map(function (ring) {\n var pts = ring.map(function (coord) {\n return {x: coord[0], y: coord[1]};\n });\n if (pts.length < 4) {\n throw new Error('invalid polygon');\n }\n var simpleRing = simplifyJS(pts, tolerance, highQuality).map(function (coords) {\n return [coords.x, coords.y];\n });\n //remove 1 percent of tolerance until enough points to make a triangle\n while (!checkValidity(simpleRing)) {\n tolerance -= tolerance * 0.01;\n simpleRing = simplifyJS(pts, tolerance, highQuality).map(function (coords) {\n return [coords.x, coords.y];\n });\n }\n if (\n (simpleRing[simpleRing.length - 1][0] !== simpleRing[0][0]) ||\n (simpleRing[simpleRing.length - 1][1] !== simpleRing[0][1])) {\n simpleRing.push(simpleRing[0]);\n }\n return simpleRing;\n });\n}\n\n\n/**\n * Returns true if ring has at least 3 coordinates and its first coordinate is the same as its last\n *\n * @private\n * @param {Array} ring coordinates to be checked\n * @returns {boolean} true if valid\n */\nfunction checkValidity(ring) {\n if (ring.length < 3) return false;\n //if the last point is the same as the first, it's not a triangle\n return !(ring.length === 3 && ((ring[2][0] === ring[0][0]) && (ring[2][1] === ring[0][1])));\n}\n","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n","// (logic of computation inspired by:\n// https://stackoverflow.com/questions/32771458/distance-from-lat-lng-point-to-minor-arc-segment)\n\nvar meta = require('@turf/meta');\nvar bearing = require('@turf/bearing');\nvar helpers = require('@turf/helpers');\nvar distance = require('@turf/distance');\nvar invariant = require('@turf/invariant');\nvar rhumbBearing = require('@turf/rhumb-bearing');\nvar rhumbDistance = require('@turf/rhumb-distance');\nvar turfLine = helpers.lineString;\nvar featureOf = invariant.featureOf;\nvar turfPoint = helpers.point;\nvar segmentEach = meta.segmentEach;\nvar bearingToAngle = helpers.bearingToAngle;\nvar convertDistance = helpers.convertDistance;\nvar degrees2radians = helpers.degrees2radians;\n\n/**\n * Returns the minimum distance between a {@link Point} and a {@link LineString}, being the distance from a line the\n * minimum distance between the point and any segment of the `LineString`.\n *\n * @name pointToLineDistance\n * @param {Feature|Array} point Feature or Geometry\n * @param {Feature|Array>} line GeoJSON Feature or Geometry\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @param {boolean} [mercator=false] if distance should be on Mercator or WGS84 projection\n * @returns {number} distance between point and line\n * @example\n * var pt = turf.point([0, 0]);\n * var line = turf.lineString([[1, 1],[-1, 1]]);\n *\n * var distance = turf.pointToLineDistance(pt, line, 'miles');\n * //=69.11854715938406\n */\nmodule.exports = function (point, line, units, mercator) {\n // validation\n if (!point) throw new Error('point is required');\n if (Array.isArray(point)) point = turfPoint(point);\n else featureOf(point, 'Point', 'point');\n if (!line) throw new Error('line is required');\n if (Array.isArray(line)) line = turfLine(line);\n else featureOf(line, 'LineString', 'line');\n\n var distance = Infinity;\n var p = point.geometry.coordinates;\n segmentEach(line, function (segment) {\n var a = segment.geometry.coordinates[0];\n var b = segment.geometry.coordinates[1];\n var d = distanceToSegment(p, a, b, units, mercator);\n if (distance > d) distance = d;\n });\n return distance;\n};\n\n\n/**\n * Returns the distance between a point P on a segment AB.\n *\n * @private\n * @param {Array} p external point\n * @param {Array} a first segment point\n * @param {Array} b second segment point\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @param {boolean} [mercator=false] if distance should be on Mercator or WGS84 projection\n * @returns {number} distance\n */\nfunction distanceToSegment(p, a, b, units, mercator) {\n\n var distanceAP = (mercator !== true) ? distance(a, p, units) : euclideanDistance(a, p, units);\n var azimuthAP = bearingToAngle((mercator !== true) ? bearing(a, p) : rhumbBearing(a, p));\n var azimuthAB = bearingToAngle((mercator !== true) ? bearing(a, b) : rhumbBearing(a, b));\n var angleA = Math.abs(azimuthAP - azimuthAB);\n // if (angleA > 180) angleA = Math.abs(angleA - 360);\n // if the angle PAB is obtuse its projection on the line extending the segment falls outside the segment\n // thus return distance between P and the start point A\n /*\n P__\n |\\ \\____\n | \\ \\____\n | \\ \\____\n | \\_____________\\\n H A B\n */\n if (angleA > 90) return distanceAP;\n\n var azimuthBA = (azimuthAB + 180) % 360;\n var azimuthBP = bearingToAngle((mercator !== true) ? bearing(b, p) : rhumbBearing(b, p));\n var angleB = Math.abs(azimuthBP - azimuthBA);\n if (angleB > 180) angleB = Math.abs(angleB - 360);\n // also if the angle ABP is acute the projection of P falls outside the segment, on the other side\n // so return the distance between P and the end point B\n /*\n ____P\n ____/ /|\n ____/ / |\n ____/ / |\n /______________/ |\n A B H\n */\n if (angleB > 90) return (mercator !== true) ? distance(p, b, units) : euclideanDistance(p, b, units);\n // finally if the projection falls inside the segment\n // return the distance between P and the segment\n /*\n P\n __/|\\\n __/ | \\\n __/ | \\\n __/ | \\\n /____________|____\\\n A H B\n */\n if (mercator !== true) return distanceAP * Math.sin(degrees2radians(angleA));\n return mercatorPH(a, b, p, units);\n}\n\n/**\n * Returns the distance between a point P on a segment AB, on Mercator projection\n *\n * @private\n * @param {Array} a first segment point\n * @param {Array} b second segment point\n * @param {Array} p external point\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {number} distance\n */\nfunction mercatorPH(a, b, p, units) {\n var delta = 0;\n // translate points if any is crossing the 180th meridian\n if (Math.abs(a[0]) >= 180 || Math.abs(b[0]) >= 180 || Math.abs(p[0]) >= 180) {\n delta = (a[0] > 0 || b[0] > 0 || p[0] > 0) ? -180 : 180;\n }\n\n var origin = turfPoint(p);\n var A = toMercator([a[0] + delta, a[1]]);\n var B = toMercator([b[0] + delta, b[1]]);\n var P = toMercator([p[0] + delta, p[1]]);\n var h = toWGS84(euclideanIntersection(A, B, P));\n\n if (delta !== 0) h[0] -= delta; // translate back to original position\n var distancePH = rhumbDistance(origin, h, units);\n return distancePH;\n}\n\n\n/**\n * Returns the point H projection of a point P on a segment AB, on the euclidean plain\n * from https://stackoverflow.com/questions/10301001/perpendicular-on-a-line-segment-from-a-given-point#answer-12499474\n * P\n * |\n * |\n * _________|____\n * A H B\n *\n * @private\n * @param {Array} a first segment point\n * @param {Array} b second segment point\n * @param {Array} p external point\n * @returns {Array} projected point\n */\nfunction euclideanIntersection(a, b, p) {\n var x1 = a[0], y1 = a[1],\n x2 = b[0], y2 = b[1],\n x3 = p[0], y3 = p[1];\n var px = x2 - x1, py = y2 - y1;\n var dab = px * px + py * py;\n var u = ((x3 - x1) * px + (y3 - y1) * py) / dab;\n var x = x1 + u * px, y = y1 + u * py;\n return [x, y]; // H\n}\n\n\n/**\n * Returns euclidean distance between two points\n *\n * @private\n * @param {Object} from first point\n * @param {Object} to second point\n * @param {string} units can be degrees, radians, miles, or kilometers\n * @returns {number} squared distance\n */\nfunction euclideanDistance(from, to, units) {\n // translate points if any is crossing the 180th meridian\n var delta = 0;\n if (Math.abs(from[0]) >= 180) {\n delta = (from[0] > 0) ? -180 : 180;\n }\n if (Math.abs(to[0]) >= 180) {\n delta = (to[0] > 0) ? -180 : 180;\n }\n var p1 = toMercator([from[0] + delta, from[1]]);\n var p2 = toMercator([to[0] + delta, to[1]]);\n\n var sqr = function (n) { return n * n; };\n var squareD = sqr(p1[0] - p2[0]) + sqr(p1[1] - p2[1]);\n var d = Math.sqrt(squareD);\n return convertDistance(d, 'meters', units);\n}\n\n/**\n * Convert lon/lat values to 900913 x/y.\n * from https://github.com/mapbox/sphericalmercator\n *\n * @private\n * @param {Array} lonLat WGS84 point\n * @returns {Array} Mercator [x, y] point\n */\nfunction toMercator(lonLat) {\n var D2R = Math.PI / 180,\n // 900913 properties.\n A = 6378137.0,\n MAXEXTENT = 20037508.342789244;\n\n var xy = [\n A * lonLat[0] * D2R,\n A * Math.log(Math.tan((Math.PI * 0.25) + (0.5 * lonLat[1] * D2R)))\n ];\n // if xy value is beyond maxextent (e.g. poles), return maxextent.\n if (xy[0] > MAXEXTENT) xy[0] = MAXEXTENT;\n if (xy[0] < -MAXEXTENT) xy[0] = -MAXEXTENT;\n if (xy[1] > MAXEXTENT) xy[1] = MAXEXTENT;\n if (xy[1] < -MAXEXTENT) xy[1] = -MAXEXTENT;\n return xy;\n}\n\n/**\n * Convert 900913 x/y values to lon/lat.\n * from https://github.com/mapbox/sphericalmercator\n *\n * @private\n * @param {Array} xy Mercator [x, y] point\n * @returns {Array} WGS84 [lon, lat] point\n */\nfunction toWGS84(xy) {\n // 900913 properties.\n var R2D = 180 / Math.PI,\n A = 6378137.0;\n\n return [\n (xy[0] * R2D / A),\n ((Math.PI * 0.5) - 2.0 * Math.atan(Math.exp(-xy[1] / A))) * R2D\n ];\n}\n","/* MIT license */\nvar colorNames = require('color-name');\n\nmodule.exports = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n}\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3})$/i,\n hex = /^#([a-fA-F0-9]{6})$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr);\n if (match) {\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n }\n else if (match = string.match(hex)) {\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorNames[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgb) {\n return \"#\" + hexDouble(rgb[0]) + hexDouble(rgb[1])\n + hexDouble(rgb[2]);\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorNames) {\n reverseNames[colorNames[name]] = name;\n}\n","var wgs84 = require('wgs84');\n\nmodule.exports.geometry = geometry;\nmodule.exports.ring = ringArea;\n\nfunction geometry(_) {\n var area = 0, i;\n switch (_.type) {\n case 'Polygon':\n return polygonArea(_.coordinates);\n case 'MultiPolygon':\n for (i = 0; i < _.coordinates.length; i++) {\n area += polygonArea(_.coordinates[i]);\n }\n return area;\n case 'Point':\n case 'MultiPoint':\n case 'LineString':\n case 'MultiLineString':\n return 0;\n case 'GeometryCollection':\n for (i = 0; i < _.geometries.length; i++) {\n area += geometry(_.geometries[i]);\n }\n return area;\n }\n}\n\nfunction polygonArea(coords) {\n var area = 0;\n if (coords && coords.length > 0) {\n area += Math.abs(ringArea(coords[0]));\n for (var i = 1; i < coords.length; i++) {\n area -= Math.abs(ringArea(coords[i]));\n }\n }\n return area;\n}\n\n/**\n * Calculate the approximate area of the polygon were it projected onto\n * the earth. Note that this area will be positive if ring is oriented\n * clockwise, otherwise it will be negative.\n *\n * Reference:\n * Robert. G. Chamberlain and William H. Duquette, \"Some Algorithms for\n * Polygons on a Sphere\", JPL Publication 07-03, Jet Propulsion\n * Laboratory, Pasadena, CA, June 2007 http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409\n *\n * Returns:\n * {float} The approximate signed geodesic area of the polygon in square\n * meters.\n */\n\nfunction ringArea(coords) {\n var p1, p2, p3, lowerIndex, middleIndex, upperIndex, i,\n area = 0,\n coordsLength = coords.length;\n\n if (coordsLength > 2) {\n for (i = 0; i < coordsLength; i++) {\n if (i === coordsLength - 2) {// i = N-2\n lowerIndex = coordsLength - 2;\n middleIndex = coordsLength -1;\n upperIndex = 0;\n } else if (i === coordsLength - 1) {// i = N-1\n lowerIndex = coordsLength - 1;\n middleIndex = 0;\n upperIndex = 1;\n } else { // i = 0 to N-3\n lowerIndex = i;\n middleIndex = i+1;\n upperIndex = i+2;\n }\n p1 = coords[lowerIndex];\n p2 = coords[middleIndex];\n p3 = coords[upperIndex];\n area += ( rad(p3[0]) - rad(p1[0]) ) * Math.sin( rad(p2[1]));\n }\n\n area = area * wgs84.RADIUS * wgs84.RADIUS / 2;\n }\n\n return area;\n}\n\nfunction rad(_) {\n return _ * Math.PI / 180;\n}","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar Element = require('../core/core.element');\nvar helpers = require('../helpers/index');\nvar layouts = require('../core/core.layouts');\n\nvar noop = helpers.noop;\n\ndefaults._set('global', {\n\ttitle: {\n\t\tdisplay: false,\n\t\tfontStyle: 'bold',\n\t\tfullWidth: true,\n\t\tlineHeight: 1.2,\n\t\tpadding: 10,\n\t\tposition: 'top',\n\t\ttext: '',\n\t\tweight: 2000 // by default greater than legend (1000) to be above\n\t}\n});\n\n/**\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\n */\nvar Title = Element.extend({\n\tinitialize: function(config) {\n\t\tvar me = this;\n\t\thelpers.extend(me, config);\n\n\t\t// Contains hit boxes for each dataset (in dataset order)\n\t\tme.legendHitBoxes = [];\n\t},\n\n\t// These methods are ordered by lifecycle. Utilities then follow.\n\n\tbeforeUpdate: noop,\n\tupdate: function(maxWidth, maxHeight, margins) {\n\t\tvar me = this;\n\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\tme.beforeUpdate();\n\n\t\t// Absorb the master measurements\n\t\tme.maxWidth = maxWidth;\n\t\tme.maxHeight = maxHeight;\n\t\tme.margins = margins;\n\n\t\t// Dimensions\n\t\tme.beforeSetDimensions();\n\t\tme.setDimensions();\n\t\tme.afterSetDimensions();\n\t\t// Labels\n\t\tme.beforeBuildLabels();\n\t\tme.buildLabels();\n\t\tme.afterBuildLabels();\n\n\t\t// Fit\n\t\tme.beforeFit();\n\t\tme.fit();\n\t\tme.afterFit();\n\t\t//\n\t\tme.afterUpdate();\n\n\t\treturn me.minSize;\n\n\t},\n\tafterUpdate: noop,\n\n\t//\n\n\tbeforeSetDimensions: noop,\n\tsetDimensions: function() {\n\t\tvar me = this;\n\t\t// Set the unconstrained dimension before label rotation\n\t\tif (me.isHorizontal()) {\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.left = 0;\n\t\t\tme.right = me.width;\n\t\t} else {\n\t\t\tme.height = me.maxHeight;\n\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.top = 0;\n\t\t\tme.bottom = me.height;\n\t\t}\n\n\t\t// Reset padding\n\t\tme.paddingLeft = 0;\n\t\tme.paddingTop = 0;\n\t\tme.paddingRight = 0;\n\t\tme.paddingBottom = 0;\n\n\t\t// Reset minSize\n\t\tme.minSize = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t};\n\t},\n\tafterSetDimensions: noop,\n\n\t//\n\n\tbeforeBuildLabels: noop,\n\tbuildLabels: noop,\n\tafterBuildLabels: noop,\n\n\t//\n\n\tbeforeFit: noop,\n\tfit: function() {\n\t\tvar me = this;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar opts = me.options;\n\t\tvar display = opts.display;\n\t\tvar fontSize = valueOrDefault(opts.fontSize, defaults.global.defaultFontSize);\n\t\tvar minSize = me.minSize;\n\t\tvar lineCount = helpers.isArray(opts.text) ? opts.text.length : 1;\n\t\tvar lineHeight = helpers.options.toLineHeight(opts.lineHeight, fontSize);\n\t\tvar textSize = display ? (lineCount * lineHeight) + (opts.padding * 2) : 0;\n\n\t\tif (me.isHorizontal()) {\n\t\t\tminSize.width = me.maxWidth; // fill all the width\n\t\t\tminSize.height = textSize;\n\t\t} else {\n\t\t\tminSize.width = textSize;\n\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t}\n\n\t\tme.width = minSize.width;\n\t\tme.height = minSize.height;\n\n\t},\n\tafterFit: noop,\n\n\t// Shared Methods\n\tisHorizontal: function() {\n\t\tvar pos = this.options.position;\n\t\treturn pos === 'top' || pos === 'bottom';\n\t},\n\n\t// Actually draw the title block on the canvas\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar ctx = me.ctx;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar opts = me.options;\n\t\tvar globalDefaults = defaults.global;\n\n\t\tif (opts.display) {\n\t\t\tvar fontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize);\n\t\t\tvar fontStyle = valueOrDefault(opts.fontStyle, globalDefaults.defaultFontStyle);\n\t\t\tvar fontFamily = valueOrDefault(opts.fontFamily, globalDefaults.defaultFontFamily);\n\t\t\tvar titleFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\t\t\tvar lineHeight = helpers.options.toLineHeight(opts.lineHeight, fontSize);\n\t\t\tvar offset = lineHeight / 2 + opts.padding;\n\t\t\tvar rotation = 0;\n\t\t\tvar top = me.top;\n\t\t\tvar left = me.left;\n\t\t\tvar bottom = me.bottom;\n\t\t\tvar right = me.right;\n\t\t\tvar maxWidth, titleX, titleY;\n\n\t\t\tctx.fillStyle = valueOrDefault(opts.fontColor, globalDefaults.defaultFontColor); // render in correct colour\n\t\t\tctx.font = titleFont;\n\n\t\t\t// Horizontal\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\n\t\t\t\ttitleY = top + offset;\n\t\t\t\tmaxWidth = right - left;\n\t\t\t} else {\n\t\t\t\ttitleX = opts.position === 'left' ? left + offset : right - offset;\n\t\t\t\ttitleY = top + ((bottom - top) / 2);\n\t\t\t\tmaxWidth = bottom - top;\n\t\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\n\t\t\t}\n\n\t\t\tctx.save();\n\t\t\tctx.translate(titleX, titleY);\n\t\t\tctx.rotate(rotation);\n\t\t\tctx.textAlign = 'center';\n\t\t\tctx.textBaseline = 'middle';\n\n\t\t\tvar text = opts.text;\n\t\t\tif (helpers.isArray(text)) {\n\t\t\t\tvar y = 0;\n\t\t\t\tfor (var i = 0; i < text.length; ++i) {\n\t\t\t\t\tctx.fillText(text[i], 0, y, maxWidth);\n\t\t\t\t\ty += lineHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tctx.fillText(text, 0, 0, maxWidth);\n\t\t\t}\n\n\t\t\tctx.restore();\n\t\t}\n\t}\n});\n\nfunction createNewTitleBlockAndAttach(chart, titleOpts) {\n\tvar title = new Title({\n\t\tctx: chart.ctx,\n\t\toptions: titleOpts,\n\t\tchart: chart\n\t});\n\n\tlayouts.configure(chart, title, titleOpts);\n\tlayouts.addBox(chart, title);\n\tchart.titleBlock = title;\n}\n\nmodule.exports = {\n\tid: 'title',\n\n\t/**\n\t * Backward compatibility: since 2.1.5, the title is registered as a plugin, making\n\t * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of\n\t * the plugin, which one will be re-exposed in the chart.js file.\n\t * https://github.com/chartjs/Chart.js/pull/2640\n\t * @private\n\t */\n\t_element: Title,\n\n\tbeforeInit: function(chart) {\n\t\tvar titleOpts = chart.options.title;\n\n\t\tif (titleOpts) {\n\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\n\t\t}\n\t},\n\n\tbeforeUpdate: function(chart) {\n\t\tvar titleOpts = chart.options.title;\n\t\tvar titleBlock = chart.titleBlock;\n\n\t\tif (titleOpts) {\n\t\t\thelpers.mergeIf(titleOpts, defaults.global.title);\n\n\t\t\tif (titleBlock) {\n\t\t\t\tlayouts.configure(chart, titleBlock, titleOpts);\n\t\t\t\ttitleBlock.options = titleOpts;\n\t\t\t} else {\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\n\t\t\t}\n\t\t} else if (titleBlock) {\n\t\t\tlayouts.removeBox(chart, titleBlock);\n\t\t\tdelete chart.titleBlock;\n\t\t}\n\t}\n};\n","'use strict';\n\nvar helpers = require('../helpers/index');\n\n/**\n * Helper function to get relative position for an event\n * @param {Event|IEvent} event - The event to get the position for\n * @param {Chart} chart - The chart\n * @returns {Point} the event position\n */\nfunction getRelativePosition(e, chart) {\n\tif (e.native) {\n\t\treturn {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t};\n\t}\n\n\treturn helpers.getRelativePosition(e, chart);\n}\n\n/**\n * Helper function to traverse all of the visible elements in the chart\n * @param chart {chart} the chart\n * @param handler {Function} the callback to execute for each visible item\n */\nfunction parseVisibleItems(chart, handler) {\n\tvar datasets = chart.data.datasets;\n\tvar meta, i, j, ilen, jlen;\n\n\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\n\t\tif (!chart.isDatasetVisible(i)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tmeta = chart.getDatasetMeta(i);\n\t\tfor (j = 0, jlen = meta.data.length; j < jlen; ++j) {\n\t\t\tvar element = meta.data[j];\n\t\t\tif (!element._view.skip) {\n\t\t\t\thandler(element);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Helper function to get the items that intersect the event position\n * @param items {ChartElement[]} elements to filter\n * @param position {Point} the point to be nearest to\n * @return {ChartElement[]} the nearest items\n */\nfunction getIntersectItems(chart, position) {\n\tvar elements = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (element.inRange(position.x, position.y)) {\n\t\t\telements.push(element);\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\n * @param chart {Chart} the chart to look at elements from\n * @param position {Point} the point to be nearest to\n * @param intersect {Boolean} if true, only consider items that intersect the position\n * @param distanceMetric {Function} function to provide the distance between points\n * @return {ChartElement[]} the nearest items\n */\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\n\tvar minDistance = Number.POSITIVE_INFINITY;\n\tvar nearestItems = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar center = element.getCenterPoint();\n\t\tvar distance = distanceMetric(position, center);\n\n\t\tif (distance < minDistance) {\n\t\t\tnearestItems = [element];\n\t\t\tminDistance = distance;\n\t\t} else if (distance === minDistance) {\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\n\t\t\tnearestItems.push(element);\n\t\t}\n\t});\n\n\treturn nearestItems;\n}\n\n/**\n * Get a distance metric function for two points based on the\n * axis mode setting\n * @param {String} axis the axis mode. x|y|xy\n */\nfunction getDistanceMetricForAxis(axis) {\n\tvar useX = axis.indexOf('x') !== -1;\n\tvar useY = axis.indexOf('y') !== -1;\n\n\treturn function(pt1, pt2) {\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n\t};\n}\n\nfunction indexMode(chart, e, options) {\n\tvar position = getRelativePosition(e, chart);\n\t// Default axis for index mode is 'x' to match old behaviour\n\toptions.axis = options.axis || 'x';\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\tvar elements = [];\n\n\tif (!items.length) {\n\t\treturn [];\n\t}\n\n\tchart.data.datasets.forEach(function(dataset, datasetIndex) {\n\t\tif (chart.isDatasetVisible(datasetIndex)) {\n\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\tvar element = meta.data[items[0]._index];\n\n\t\t\t// don't count items that are skipped (null data)\n\t\t\tif (element && !element._view.skip) {\n\t\t\t\telements.push(element);\n\t\t\t}\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * @interface IInteractionOptions\n */\n/**\n * If true, only consider items that intersect the point\n * @name IInterfaceOptions#boolean\n * @type Boolean\n */\n\n/**\n * Contains interaction related functions\n * @namespace Chart.Interaction\n */\nmodule.exports = {\n\t// Helper function for different modes\n\tmodes: {\n\t\tsingle: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar elements = [];\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\telements.push(element);\n\t\t\t\t\treturn elements;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn elements.slice(0, 1);\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.label\n\t\t * @deprecated since version 2.4.0\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\tlabel: indexMode,\n\n\t\t/**\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t * @function Chart.Interaction.modes.index\n\t\t * @since v2.4.0\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tindex: indexMode,\n\n\t\t/**\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t * @function Chart.Interaction.modes.dataset\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tdataset: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\n\t\t\tif (items.length > 0) {\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\n\t\t\t}\n\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.x-axis\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\t'x-axis': function(chart, e) {\n\t\t\treturn indexMode(chart, e, {intersect: false});\n\t\t},\n\n\t\t/**\n\t\t * Point mode returns all elements that hit test based on the event position\n\t\t * of the event\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tpoint: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\treturn getIntersectItems(chart, position);\n\t\t},\n\n\t\t/**\n\t\t * nearest mode returns the element closest to the point\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tnearest: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\tvar nearestItems = getNearestItems(chart, position, options.intersect, distanceMetric);\n\n\t\t\t// We have multiple items at the same distance from the event. Now sort by smallest\n\t\t\tif (nearestItems.length > 1) {\n\t\t\t\tnearestItems.sort(function(a, b) {\n\t\t\t\t\tvar sizeA = a.getArea();\n\t\t\t\t\tvar sizeB = b.getArea();\n\t\t\t\t\tvar ret = sizeA - sizeB;\n\n\t\t\t\t\tif (ret === 0) {\n\t\t\t\t\t\t// if equal sort by dataset index\n\t\t\t\t\t\tret = a._datasetIndex - b._datasetIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ret;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Return only 1 item\n\t\t\treturn nearestItems.slice(0, 1);\n\t\t},\n\n\t\t/**\n\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t * @function Chart.Interaction.modes.x\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tx: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inXRange(position.x)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t * @function Chart.Interaction.modes.y\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\ty: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inYRange(position.y)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t}\n\t}\n};\n","var polygonize = require('polygonize');\n\n/**\n * Polygonizes {@link LineString|(Multi)LineString(s)} into {@link Polygons}.\n *\n * Implementation of GEOSPolygonize function (`geos::operation::polygonize::Polygonizer`).\n *\n * Polygonizes a set of lines that represents edges in a planar graph. Edges must be correctly\n * noded, i.e., they must only meet at their endpoints. (NOTE: while TurfJS has no specific function, an easy way to\n * ensure this is to use the QGis library and call unaryUnion() on the set of input geometries and then pass the\n * result to turf-polygonize)\n *\n * The implementation correctly handles:\n *\n * - Dangles: edges which have one or both ends which are not incident on another edge endpoint.\n * - Cut Edges (bridges): edges that are connected at both ends but which do not form part of a polygon.\n *\n * @name polygonize\n * @param {FeatureCollection|Geometry|Feature} geojson Lines in order to polygonize\n * @returns {FeatureCollection} Polygons created\n * @throws {Error} if GeoJSON is invalid.\n */\nmodule.exports = function (geojson) {\n return polygonize(geojson);\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.map)?_c('div',[_c('CollapsibleSection',{model:{value:(_vm.showDetails),callback:function ($$v) {_vm.showDetails=$$v},expression:\"showDetails\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\"\\n Details\\n \")]),(_vm.map)?[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Common.SR_Common.Name\")])]},proxy:true}],null,false,4180781472)},[_c('div',[_vm._v(_vm._s(_vm.map.name))])]),(_vm.map && !_vm.isLimeApplicationMap)?_c('MapPaletteSelector',{attrs:{\"options\":_vm.paletteOptions,\"map\":_vm.map},model:{value:(_vm.applicationMapPalette),callback:function ($$v) {_vm.applicationMapPalette=$$v},expression:\"applicationMapPalette\"}}):_vm._e(),_c('Details',{attrs:{\"application-map\":_vm.map}})]:_vm._e()],2),_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.ApplicationValue\")])]},proxy:true}],null,false,2078190149),model:{value:(_vm.showValues),callback:function ($$v) {_vm.showValues=$$v},expression:\"showValues\"}},[(_vm.nutrient)?_c('SimpleSwitch',{scopedSlots:_vm._u([{key:\"offLabel\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.PureNutrientAmount\")])]},proxy:true}],null,false,97206231),model:{value:(_vm.applicationAmounts),callback:function ($$v) {_vm.applicationAmounts=$$v},expression:\"applicationAmounts\"}},[_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.ApplicationAmount\")])],1):_vm._e(),(_vm.map)?_c('ApplicationValues',{attrs:{\"application-map\":_vm.valueAdjustedMap,\"palette\":_vm.applicationMapPalette,\"is-lime-application\":_vm.isLimeApplicationMap}}):_vm._e(),_c('div',{staticClass:\"total-sum\"},[_c('FrsApplicationMapTotalSum',{attrs:{\"map\":_vm.valueAdjustedMap}})],1)],1),(_vm.map.metaData)?_c('div',[(_vm.map.category === 'LimeApplicationMap')?_c('div',[_c('CollapsibleSection',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData\")])]},proxy:true}],null,false,3572536588)},[_c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.product\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3989344060)},[_c('div',[_vm._v(_vm._s(_vm.product.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.caOValue\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,828941489)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.caOValue)+_vm._s(_vm.$i18n.translateUnit('%')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.mgOValue\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,586918265)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.mgOValue)+_vm._s(_vm.$i18n.translateUnit('%')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.minAmount\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3028895985)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.minAmount)+\" \"+_vm._s(_vm.$i18n.translateUnit('kg/ha')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.maxAmount\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,2809358639)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.maxAmount)+\" \"+_vm._s(_vm.$i18n.translateUnit('kg/ha')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.meanValue\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3724111611)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.meanValue)+\" \"+_vm._s(_vm.$i18n.translateUnit('kg/ha')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.basicActiveIngredients\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,483614583)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.basicActiveIngredients)+_vm._s(_vm.$i18n.translateUnit('%')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.details.limeApplicationMap.metaData.totalRequirement\")]),_vm._v(\":\\n \")]},proxy:true}],null,false,3024506346)},[_c('div',[_vm._v(_vm._s(_vm.map.metaData.totalRequirement)+\" \"+_vm._s(_vm.$i18n.translateUnit('kg')))])])],1)])],1):_vm._e()]):_vm._e(),(_vm.isLimeApplicationMap)?_c('PhBbMapLayer',{attrs:{\"map\":_vm.map,\"auto-focus\":\"\"}}):_c('FrsApplicationMapLayer',{attrs:{\"map\":_vm.map}}),(_vm.map && _vm.$can('feature/application-map-download'))?_c('Osb',{attrs:{\"application-map-ids\":[_vm.map.id]}}):_vm._e(),(!_vm.isLimeApplicationMap)?_c('MapPrint',{attrs:{\"map-ids\":[_vm.map.id],\"map-type\":\"applicationMap\"}}):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"osb\"},[_c('IxButton',{attrs:{\"large\":\"\"},on:{\"click\":function($event){_vm.openModal = true}}},[_c('img',{attrs:{\"width\":\"50px\",\"src\":require(\"@images/Partner/osb.png\")}})]),(_vm.openModal)?_c('OsbModal',{attrs:{\"application-map-ids\":_vm.applicationMapIds},model:{value:(_vm.openModal),callback:function ($$v) {_vm.openModal=$$v},expression:\"openModal\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Osb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Osb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Osb.vue?vue&type=template&id=2770a786&lang=html&\"\nimport script from \"./Osb.vue?vue&type=script&lang=js&\"\nexport * from \"./Osb.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"details-container\"},[(_vm.detailsComponent)?_c(_vm.detailsComponent,{tag:\"component\",attrs:{\"application-map\":_vm.applicationMap}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.zoneMap\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.zoneMapName))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.product\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.product.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.nutrient\")])]},proxy:true}])},[_c('div',[_c('IxRes',[_vm._v(\"frs.mapManagement.labels.nutrient_\"+_vm._s(_vm.nutrient))])],1)]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.nutrientContent\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.$i18n.format(_vm.nutrientContent))+_vm._s(_vm.$i18n.translateUnit('%')))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.probingMethod\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.probingMethod))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.desiredNumberOfClasses\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.desiredNumberOfClasses))])]),_c('h4',[_c('IxRes',[_vm._v(\"frs.mapManagement.labels.plannedYields\")])],1),_vm._l((_vm.metaData.plannedYields),function(plannedYield){return _c('DetailsBasicFertilizationPlannedYield',{key:plannedYield.year,attrs:{\"planned-yield\":plannedYield}})}),(_vm.metaData.previousFertilization)?_c('div',[_c('h4',[_c('IxRes',[_vm._v(\"frs.mapManagement.labels.previousFertilization\")])],1),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.product\")])]},proxy:true}],null,false,1365311841)},[_c('div',[_vm._v(_vm._s(_vm.previousFertilizationProduct.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.quantity\")])]},proxy:true}],null,false,645609009)},[_c('div',[_vm._v(_vm._s(_vm.metaData.previousFertilization.quantity)+\" \"+_vm._s(_vm.$i18n.translateUnit('kg/ha')))])])],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.year\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.plannedYield.year))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.averageYield\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(((_vm.plannedYield.averageYield) + \" \" + (_vm.plannedYield.unit))))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.includeByproduct\")])]},proxy:true}])},[_c('div',[_c('IxRes',[_vm._v(\"frs.mapManagement.labels.includeByproduct_\"+_vm._s(_vm.plannedYield.includeByproduct ? 'yes' : 'no'))])],1)]),(_vm.plannedYield.cropUsageId)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.cropUsage\")])]},proxy:true}],null,false,240423585)},[_c('div',[_vm._v(_vm._s(_vm.cropUsageTranslation))])]):_vm._e(),(_vm.plannedYield.cropHarvestQualityId)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.cropHarvestQuality\")])]},proxy:true}],null,false,201879430)},[_c('div',[_vm._v(_vm._s(_vm.cropHarvestQualityTranslation))])]):_vm._e(),_c('hr')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsBasicFertilizationPlannedYield.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsBasicFertilizationPlannedYield.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsBasicFertilizationPlannedYield.vue?vue&type=template&id=2c19974d&scoped=true&\"\nimport script from \"./DetailsBasicFertilizationPlannedYield.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsBasicFertilizationPlannedYield.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c19974d\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsBasicFertilization.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsBasicFertilization.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsBasicFertilization.vue?vue&type=template&id=65d797ba&scoped=true&\"\nimport script from \"./DetailsBasicFertilization.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsBasicFertilization.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65d797ba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.zoneMap\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.zoneMap.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.product\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.product.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.cultivation\")])]},proxy:true}])},[(_vm.cultivation)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.cultivation.label))]),_vm._v(\"\\n  \\n \"),_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"formatDate\")(_vm.cultivation.dateTimeRange.start))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.cultivation.dateTimeRange.end))+\")\")])]):_c('div',[_c('IxRes',[_vm._v(\"masterData.crops.usage.noInfo\")])],1)]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.unit\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.applicationMap.unit))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.applicationMaps.labels.algorithmSelection\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.algorithmName))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detailsFertAssist.labels.temperature\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.parameters.currentTemperature))])]),_c('FrsLoadingIndicator',{attrs:{\"requests\":['mapManagement.cultivation.loadDetails']}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsFertAssist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsFertAssist.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsFertAssist.vue?vue&type=template&id=ab9e8cf0&\"\nimport script from \"./DetailsFertAssist.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsFertAssist.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"maize-sowing-details\"},[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.zoneMap\")])]},proxy:true}])},[(_vm.zoneMap)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.zoneMap.name))])]):_c('div',[_c('span',[_c('IxRes',[_vm._v(\"Common.SR_Common.NotAvailable\")])],1)])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.product\")])]},proxy:true}])},[(_vm.product)?_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.product.name)+\"\\n \")]):_c('div',[_c('IxRes',[_vm._v(\"Common.SR_Common.NotAvailable\")])],1)]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.cultivation\")])]},proxy:true}])},[(_vm.cultivation)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.cultivation.label))]),_vm._v(\"\\n  \\n \"),_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"formatDate\")(_vm.cultivation.dateTimeRange.start))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.cultivation.dateTimeRange.end))+\")\")])]):_c('div',[_c('IxRes',[_vm._v(\"masterData.crops.usage.noInfo\")])],1)]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.Heterogenity\")])]},proxy:true}])},[(_vm.heterogenity)?_c('IxRes',[_vm._v(\"Enums.SR_Enums.HeterogenityEnum_\"+_vm._s(_vm.heterogenity))]):_c('IxRes',[_vm._v(\"Common.SR_Common.NotAvailable\")])],1),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.Mode_header\")])]},proxy:true}])},[_c('div',[_c('IxRes',[_vm._v(\"frs.mapManagement.detailsMaizeSowing.labels.mode.\"+_vm._s(_vm.metaData.automatic ? 'automatic' : 'manual'))]),_vm._v(\"\\n \"+_vm._s(' - ')+\"\\n \"),_c('IxRes',[_vm._v(\"frs.mapManagement.detailsMaizeSowing.labels.mode.\"+_vm._s(_vm.metaData.ignoreLimits ? 'ignoreLimits' : 'withLimits'))])],1)]),(!_vm.automaticMode && _vm.metaData.customSowingDensity)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.CustomSowingDensity_label\")])]},proxy:true}],null,false,3016749236)},[_c('div',[_vm._v(_vm._s(((_vm.metaData.customSowingDensity) + \" \" + (_vm.applicationMap.unit))))])]):_vm._e(),(_vm.automaticMode)?_c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.WaterLevel\")])]},proxy:true}],null,false,456428974)},[_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.WaterLevel_\"+_vm._s(_vm.metaData.waterLevel))])],1),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.SoilQuality\")])]},proxy:true}],null,false,1010678585)},[_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.SoilQuality_\"+_vm._s(_vm.metaData.soilQuality))])],1),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.Usage\")])]},proxy:true}],null,false,792388616)},[_c('IxRes',[_vm._v(\"Areas.MaizeSowing.SR_MaizeSowing.Usage_\"+_vm._s(_vm.metaData.usage))])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsMaizeSowing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsMaizeSowing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsMaizeSowing.vue?vue&type=template&id=b7c70988&scoped=true&\"\nimport script from \"./DetailsMaizeSowing.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsMaizeSowing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsMaizeSowing.vue?vue&type=style&index=0&id=b7c70988&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b7c70988\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.zoneMap\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.zoneMap.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.label.product\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.product.name))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.unit\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.applicationMap.unit))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.applicationMaps.labels.algorithmSelection\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.algorithmName))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.applicationMaps.parameters.labels.estimatedPrecipitation\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.parameters.estimatedPrecipitation))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.applicationMaps.parameters.labels.minSoilMoisture\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.parameters.minSoilMoisture))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.applicationMaps.parameters.labels.maxSoilMoisture\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.parameters.maxSoilMoisture))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.detailsSeedExpert.labels.productCorrectionFactor\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.metaData.parameters.productCorrectionFactor))])]),_c('strong',[_c('IxRes',[_vm._v(\"frs.mapManagement.detailsSeedExpert.header.zoneMapValues\")])],1),_vm._l((_vm.metaData.parameters.zones),function(zone){return _c('div',{key:zone.zoneId},[_vm._v(\"\\n \"+_vm._s(_vm.zoneTranslation + \" \" + (zone.zoneId) + ': ')+\"\\n \"),_c('span',{staticClass:\"zone-info\"},[_vm._v(\"\\n \"+_vm._s(_vm.acresRatioTranslation + \": \" + (zone.acresRatio) + \" \" + ' ')+\"\\n \")]),_c('span',{staticClass:\"zone-info\"},[_vm._v(\"\\n \"+_vm._s((_vm.pwcTranslation + \": \" + (zone.pwc)))+\"\\n \")])])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSeedExpert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSeedExpert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsSeedExpert.vue?vue&type=template&id=45a19f16&scoped=true&\"\nimport script from \"./DetailsSeedExpert.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsSeedExpert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsSeedExpert.vue?vue&type=style&index=0&id=45a19f16&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"45a19f16\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"simple-application-map-details\"},[_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.zoneMap\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.usedZoneMap))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.product\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.selectedProduct))])]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.cultivation\")])]},proxy:true}])},[(_vm.cultivation)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.cultivation.label))]),_vm._v(\"\\n  \\n \"),_c('span',[_vm._v(\"(\"+_vm._s(_vm._f(\"formatDate\")(_vm.cultivation.dateTimeRange.start))+\" - \"+_vm._s(_vm._f(\"formatDate\")(_vm.cultivation.dateTimeRange.end))+\")\")])]):_c('div',[_c('IxRes',[_vm._v(\"masterData.crops.usage.noInfo\")])],1)]),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.SelectedProductGroup\")])]},proxy:true}])},[_c('div',[_vm._v(_vm._s(_vm.selectedType))])]),(!_vm.isByZonesMap && _vm.applicationMap.metaData.averageAmount)?_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.averageAmount\")])]},proxy:true}],null,false,3530027141)},[_c('div',[_vm._v(_vm._s(((_vm.applicationMap.metaData.averageAmount) + \" \" + (_vm.applicationMap.unit))))])]):_vm._e(),_c('LabelAndMessage',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('IxRes',[_vm._v(\"frs.mapManagement.labels.reverseZoneAmounts\")])]},proxy:true}])},[_c('div',[_c('IxRes',[_vm._v(\"frs.mapManagement.labels.reverseZoneAmounts_\"+_vm._s(_vm.applicationMap.metaData.reverseZoneAmounts ? 'yes' : 'no'))])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSimpleApplicationMap.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSimpleApplicationMap.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsSimpleApplicationMap.vue?vue&type=template&id=8d0c8e34&scoped=true&\"\nimport script from \"./DetailsSimpleApplicationMap.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsSimpleApplicationMap.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsSimpleApplicationMap.vue?vue&type=style&index=0&id=8d0c8e34&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8d0c8e34\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Details.vue?vue&type=template&id=5f4364e0&scoped=true&\"\nimport script from \"./Details.vue?vue&type=script&lang=js&\"\nexport * from \"./Details.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Details.vue?vue&type=style&index=0&id=5f4364e0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f4364e0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.applicationMap.origin !== 'BasicFertilization' && !_vm.isLimeApplication)?_c('div',{staticClass:\"planning-type\"},[_c('IxRes',[_vm._v(\"Areas.ApplicationMaps.SR_ApplicationMaps.\"+_vm._s(_vm.titlePlanningType))])],1):_vm._e(),_vm._l((_vm.orderedZoneDetails),function(zone){return _c('div',{key:zone.name,staticClass:\"zone-details\"},[_c('i',{staticClass:\"fa fa-square\",style:(zone.style)}),_c('strong',{staticClass:\"item-info\"},[_vm._v(\"Zone \"+_vm._s(zone.name)+\":\")]),_c('div',{staticClass:\"item-info\"},[_vm._v(\"\\n \"+_vm._s(_vm.applicationMap.origin === 'pHBB' ? zone.value : _vm.$i18n.format(zone.value, 'f2'))+\" \"+_vm._s(_vm.applicationMap.unit)+\"\\n \")])])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationValues.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationValues.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ApplicationValues.vue?vue&type=template&id=70b3b38a&scoped=true&lang=html&\"\nimport script from \"./ApplicationValues.vue?vue&type=script&lang=js&\"\nexport * from \"./ApplicationValues.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ApplicationValues.vue?vue&type=style&index=0&id=70b3b38a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70b3b38a\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationMapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApplicationMapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ApplicationMapDetails.vue?vue&type=template&id=c5bf1f68&scoped=true&lang=html&\"\nimport script from \"./ApplicationMapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ApplicationMapDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ApplicationMapDetails.vue?vue&type=style&index=0&id=c5bf1f68&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c5bf1f68\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneInput.vue?vue&type=style&index=0&id=4937a748&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneInput.vue?vue&type=style&index=0&id=4937a748&lang=scss&scoped=true&\"","/* global window: false */\n/* global document: false */\n'use strict';\n\nvar color = require('chartjs-color');\nvar defaults = require('./core.defaults');\nvar helpers = require('../helpers/index');\nvar scaleService = require('../core/core.scaleService');\n\nmodule.exports = function() {\n\n\t// -- Basic js utility methods\n\n\thelpers.configMerge = function(/* objects ... */) {\n\t\treturn helpers.merge(helpers.clone(arguments[0]), [].slice.call(arguments, 1), {\n\t\t\tmerger: function(key, target, source, options) {\n\t\t\t\tvar tval = target[key] || {};\n\t\t\t\tvar sval = source[key];\n\n\t\t\t\tif (key === 'scales') {\n\t\t\t\t\t// scale config merging is complex. Add our own function here for that\n\t\t\t\t\ttarget[key] = helpers.scaleMerge(tval, sval);\n\t\t\t\t} else if (key === 'scale') {\n\t\t\t\t\t// used in polar area & radar charts since there is only one scale\n\t\t\t\t\ttarget[key] = helpers.merge(tval, [scaleService.getScaleDefaults(sval.type), sval]);\n\t\t\t\t} else {\n\t\t\t\t\thelpers._merger(key, target, source, options);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\thelpers.scaleMerge = function(/* objects ... */) {\n\t\treturn helpers.merge(helpers.clone(arguments[0]), [].slice.call(arguments, 1), {\n\t\t\tmerger: function(key, target, source, options) {\n\t\t\t\tif (key === 'xAxes' || key === 'yAxes') {\n\t\t\t\t\tvar slen = source[key].length;\n\t\t\t\t\tvar i, type, scale;\n\n\t\t\t\t\tif (!target[key]) {\n\t\t\t\t\t\ttarget[key] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (i = 0; i < slen; ++i) {\n\t\t\t\t\t\tscale = source[key][i];\n\t\t\t\t\t\ttype = helpers.valueOrDefault(scale.type, key === 'xAxes' ? 'category' : 'linear');\n\n\t\t\t\t\t\tif (i >= target[key].length) {\n\t\t\t\t\t\t\ttarget[key].push({});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!target[key][i].type || (scale.type && scale.type !== target[key][i].type)) {\n\t\t\t\t\t\t\t// new/untyped scale or type changed: let's apply the new defaults\n\t\t\t\t\t\t\t// then merge source scale to correctly overwrite the defaults.\n\t\t\t\t\t\t\thelpers.merge(target[key][i], [scaleService.getScaleDefaults(type), scale]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// scales type are the same\n\t\t\t\t\t\t\thelpers.merge(target[key][i], scale);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\thelpers._merger(key, target, source, options);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\thelpers.where = function(collection, filterCallback) {\n\t\tif (helpers.isArray(collection) && Array.prototype.filter) {\n\t\t\treturn collection.filter(filterCallback);\n\t\t}\n\t\tvar filtered = [];\n\n\t\thelpers.each(collection, function(item) {\n\t\t\tif (filterCallback(item)) {\n\t\t\t\tfiltered.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn filtered;\n\t};\n\thelpers.findIndex = Array.prototype.findIndex ?\n\t\tfunction(array, callback, scope) {\n\t\t\treturn array.findIndex(callback, scope);\n\t\t} :\n\t\tfunction(array, callback, scope) {\n\t\t\tscope = scope === undefined ? array : scope;\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t};\n\thelpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\n\t\t// Default to start of the array\n\t\tif (helpers.isNullOrUndef(startIndex)) {\n\t\t\tstartIndex = -1;\n\t\t}\n\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\n\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\tif (filterCallback(currentItem)) {\n\t\t\t\treturn currentItem;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\n\t\t// Default to end of the array\n\t\tif (helpers.isNullOrUndef(startIndex)) {\n\t\t\tstartIndex = arrayToSearch.length;\n\t\t}\n\t\tfor (var i = startIndex - 1; i >= 0; i--) {\n\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\tif (filterCallback(currentItem)) {\n\t\t\t\treturn currentItem;\n\t\t\t}\n\t\t}\n\t};\n\n\t// -- Math methods\n\thelpers.isNumber = function(n) {\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\n\t};\n\thelpers.almostEquals = function(x, y, epsilon) {\n\t\treturn Math.abs(x - y) < epsilon;\n\t};\n\thelpers.almostWhole = function(x, epsilon) {\n\t\tvar rounded = Math.round(x);\n\t\treturn (((rounded - epsilon) < x) && ((rounded + epsilon) > x));\n\t};\n\thelpers.max = function(array) {\n\t\treturn array.reduce(function(max, value) {\n\t\t\tif (!isNaN(value)) {\n\t\t\t\treturn Math.max(max, value);\n\t\t\t}\n\t\t\treturn max;\n\t\t}, Number.NEGATIVE_INFINITY);\n\t};\n\thelpers.min = function(array) {\n\t\treturn array.reduce(function(min, value) {\n\t\t\tif (!isNaN(value)) {\n\t\t\t\treturn Math.min(min, value);\n\t\t\t}\n\t\t\treturn min;\n\t\t}, Number.POSITIVE_INFINITY);\n\t};\n\thelpers.sign = Math.sign ?\n\t\tfunction(x) {\n\t\t\treturn Math.sign(x);\n\t\t} :\n\t\tfunction(x) {\n\t\t\tx = +x; // convert to a number\n\t\t\tif (x === 0 || isNaN(x)) {\n\t\t\t\treturn x;\n\t\t\t}\n\t\t\treturn x > 0 ? 1 : -1;\n\t\t};\n\thelpers.log10 = Math.log10 ?\n\t\tfunction(x) {\n\t\t\treturn Math.log10(x);\n\t\t} :\n\t\tfunction(x) {\n\t\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\n\t\t\t// Check for whole powers of 10,\n\t\t\t// which due to floating point rounding error should be corrected.\n\t\t\tvar powerOf10 = Math.round(exponent);\n\t\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\n\n\t\t\treturn isPowerOf10 ? powerOf10 : exponent;\n\t\t};\n\thelpers.toRadians = function(degrees) {\n\t\treturn degrees * (Math.PI / 180);\n\t};\n\thelpers.toDegrees = function(radians) {\n\t\treturn radians * (180 / Math.PI);\n\t};\n\t// Gets the angle from vertical upright to the point about a centre.\n\thelpers.getAngleFromPoint = function(centrePoint, anglePoint) {\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x;\n\t\tvar distanceFromYCenter = anglePoint.y - centrePoint.y;\n\t\tvar radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n\t\tif (angle < (-0.5 * Math.PI)) {\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n\t\t}\n\n\t\treturn {\n\t\t\tangle: angle,\n\t\t\tdistance: radialDistanceFromCenter\n\t\t};\n\t};\n\thelpers.distanceBetweenPoints = function(pt1, pt2) {\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n\t};\n\thelpers.aliasPixel = function(pixelWidth) {\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\n\t};\n\thelpers.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\n\n\t\t// This function must also respect \"skipped\" points\n\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint;\n\t\tvar current = middlePoint;\n\t\tvar next = afterPoint.skip ? middlePoint : afterPoint;\n\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\n\n\t\tvar s01 = d01 / (d01 + d12);\n\t\tvar s12 = d12 / (d01 + d12);\n\n\t\t// If all points are the same, s01 & s02 will be inf\n\t\ts01 = isNaN(s01) ? 0 : s01;\n\t\ts12 = isNaN(s12) ? 0 : s12;\n\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\n\t\tvar fb = t * s12;\n\n\t\treturn {\n\t\t\tprevious: {\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\n\t\t\t},\n\t\t\tnext: {\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\n\t\t\t}\n\t\t};\n\t};\n\thelpers.EPSILON = Number.EPSILON || 1e-14;\n\thelpers.splineCurveMonotone = function(points) {\n\t\t// This function calculates Bézier control points in a similar way than |splineCurve|,\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\n\t\t// between the dataset discrete points due to the interpolation.\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\n\t\t\treturn {\n\t\t\t\tmodel: point._model,\n\t\t\t\tdeltaK: 0,\n\t\t\t\tmK: 0\n\t\t\t};\n\t\t});\n\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\n\t\tvar pointsLen = pointsWithTangents.length;\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\n\t\tfor (i = 0; i < pointsLen; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tif (pointCurrent.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\n\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\n\t\t\t}\n\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\n\t\t\t\tpointCurrent.mK = 0;\n\t\t\t} else {\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\n\t\t\t}\n\t\t}\n\n\t\t// Adjust tangents to ensure monotonic properties\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\n\t\tfor (i = 0; i < pointsLen - 1; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tpointAfter = pointsWithTangents[i + 1];\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (helpers.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n\t\t\tif (squaredMagnitude <= 9) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\n\t\t}\n\n\t\t// Compute control points\n\t\tvar deltaX;\n\t\tfor (i = 0; i < pointsLen; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tif (pointCurrent.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\n\t\t\tif (pointBefore && !pointBefore.model.skip) {\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\n\t\t\t}\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.nextItem = function(collection, index, loop) {\n\t\tif (loop) {\n\t\t\treturn index >= collection.length - 1 ? collection[0] : collection[index + 1];\n\t\t}\n\t\treturn index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\n\t};\n\thelpers.previousItem = function(collection, index, loop) {\n\t\tif (loop) {\n\t\t\treturn index <= 0 ? collection[collection.length - 1] : collection[index - 1];\n\t\t}\n\t\treturn index <= 0 ? collection[0] : collection[index - 1];\n\t};\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\n\thelpers.niceNum = function(range, round) {\n\t\tvar exponent = Math.floor(helpers.log10(range));\n\t\tvar fraction = range / Math.pow(10, exponent);\n\t\tvar niceFraction;\n\n\t\tif (round) {\n\t\t\tif (fraction < 1.5) {\n\t\t\t\tniceFraction = 1;\n\t\t\t} else if (fraction < 3) {\n\t\t\t\tniceFraction = 2;\n\t\t\t} else if (fraction < 7) {\n\t\t\t\tniceFraction = 5;\n\t\t\t} else {\n\t\t\t\tniceFraction = 10;\n\t\t\t}\n\t\t} else if (fraction <= 1.0) {\n\t\t\tniceFraction = 1;\n\t\t} else if (fraction <= 2) {\n\t\t\tniceFraction = 2;\n\t\t} else if (fraction <= 5) {\n\t\t\tniceFraction = 5;\n\t\t} else {\n\t\t\tniceFraction = 10;\n\t\t}\n\n\t\treturn niceFraction * Math.pow(10, exponent);\n\t};\n\t// Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\n\thelpers.requestAnimFrame = (function() {\n\t\tif (typeof window === 'undefined') {\n\t\t\treturn function(callback) {\n\t\t\t\tcallback();\n\t\t\t};\n\t\t}\n\t\treturn window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\twindow.oRequestAnimationFrame ||\n\t\t\twindow.msRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\n\t\t\t};\n\t}());\n\t// -- DOM methods\n\thelpers.getRelativePosition = function(evt, chart) {\n\t\tvar mouseX, mouseY;\n\t\tvar e = evt.originalEvent || evt;\n\t\tvar canvas = evt.target || evt.srcElement;\n\t\tvar boundingRect = canvas.getBoundingClientRect();\n\n\t\tvar touches = e.touches;\n\t\tif (touches && touches.length > 0) {\n\t\t\tmouseX = touches[0].clientX;\n\t\t\tmouseY = touches[0].clientY;\n\n\t\t} else {\n\t\t\tmouseX = e.clientX;\n\t\t\tmouseY = e.clientY;\n\t\t}\n\n\t\t// Scale mouse coordinates into canvas coordinates\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\n\t\t// http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\n\t\tvar paddingLeft = parseFloat(helpers.getStyle(canvas, 'padding-left'));\n\t\tvar paddingTop = parseFloat(helpers.getStyle(canvas, 'padding-top'));\n\t\tvar paddingRight = parseFloat(helpers.getStyle(canvas, 'padding-right'));\n\t\tvar paddingBottom = parseFloat(helpers.getStyle(canvas, 'padding-bottom'));\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\n\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\n\n\t\treturn {\n\t\t\tx: mouseX,\n\t\t\ty: mouseY\n\t\t};\n\n\t};\n\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\n\t\tvar valueInPixels;\n\t\tif (typeof styleValue === 'string') {\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\n\n\t\t\tif (styleValue.indexOf('%') !== -1) {\n\t\t\t\t// percentage * size in dimension\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n\t\t\t}\n\t\t} else {\n\t\t\tvalueInPixels = styleValue;\n\t\t}\n\n\t\treturn valueInPixels;\n\t}\n\n\t/**\n\t * Returns if the given value contains an effective constraint.\n\t * @private\n\t */\n\tfunction isConstrainedValue(value) {\n\t\treturn value !== undefined && value !== null && value !== 'none';\n\t}\n\n\t// Private helper to get a constraint dimension\n\t// @param domNode : the node to check the constraint on\n\t// @param maxStyle : the style that defines the maximum for the direction we are using (maxWidth / maxHeight)\n\t// @param percentageProperty : property of parent to use when calculating width as a percentage\n\t// @see http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\n\t\tvar view = document.defaultView;\n\t\tvar parentNode = helpers._getParentNode(domNode);\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\n\t\tvar infinity = Number.POSITIVE_INFINITY;\n\n\t\tif (hasCNode || hasCContainer) {\n\t\t\treturn Math.min(\n\t\t\t\thasCNode ? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\n\t\t\t\thasCContainer ? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\n\t\t}\n\n\t\treturn 'none';\n\t}\n\t// returns Number or undefined if no constraint\n\thelpers.getConstraintWidth = function(domNode) {\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\n\t};\n\t// returns Number or undefined if no constraint\n\thelpers.getConstraintHeight = function(domNode) {\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\n\t};\n\t/**\n\t * @private\n \t */\n\thelpers._calculatePadding = function(container, padding, parentDimension) {\n\t\tpadding = helpers.getStyle(container, padding);\n\n\t\treturn padding.indexOf('%') > -1 ? parentDimension / parseInt(padding, 10) : parseInt(padding, 10);\n\t};\n\t/**\n\t * @private\n\t */\n\thelpers._getParentNode = function(domNode) {\n\t\tvar parent = domNode.parentNode;\n\t\tif (parent && parent.host) {\n\t\t\tparent = parent.host;\n\t\t}\n\t\treturn parent;\n\t};\n\thelpers.getMaximumWidth = function(domNode) {\n\t\tvar container = helpers._getParentNode(domNode);\n\t\tif (!container) {\n\t\t\treturn domNode.clientWidth;\n\t\t}\n\n\t\tvar clientWidth = container.clientWidth;\n\t\tvar paddingLeft = helpers._calculatePadding(container, 'padding-left', clientWidth);\n\t\tvar paddingRight = helpers._calculatePadding(container, 'padding-right', clientWidth);\n\n\t\tvar w = clientWidth - paddingLeft - paddingRight;\n\t\tvar cw = helpers.getConstraintWidth(domNode);\n\t\treturn isNaN(cw) ? w : Math.min(w, cw);\n\t};\n\thelpers.getMaximumHeight = function(domNode) {\n\t\tvar container = helpers._getParentNode(domNode);\n\t\tif (!container) {\n\t\t\treturn domNode.clientHeight;\n\t\t}\n\n\t\tvar clientHeight = container.clientHeight;\n\t\tvar paddingTop = helpers._calculatePadding(container, 'padding-top', clientHeight);\n\t\tvar paddingBottom = helpers._calculatePadding(container, 'padding-bottom', clientHeight);\n\n\t\tvar h = clientHeight - paddingTop - paddingBottom;\n\t\tvar ch = helpers.getConstraintHeight(domNode);\n\t\treturn isNaN(ch) ? h : Math.min(h, ch);\n\t};\n\thelpers.getStyle = function(el, property) {\n\t\treturn el.currentStyle ?\n\t\t\tel.currentStyle[property] :\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\n\t};\n\thelpers.retinaScale = function(chart, forceRatio) {\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = forceRatio || (typeof window !== 'undefined' && window.devicePixelRatio) || 1;\n\t\tif (pixelRatio === 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar canvas = chart.canvas;\n\t\tvar height = chart.height;\n\t\tvar width = chart.width;\n\n\t\tcanvas.height = height * pixelRatio;\n\t\tcanvas.width = width * pixelRatio;\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\n\n\t\t// If no style has been set on the canvas, the render size is used as display size,\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\n\t\tif (!canvas.style.height && !canvas.style.width) {\n\t\t\tcanvas.style.height = height + 'px';\n\t\t\tcanvas.style.width = width + 'px';\n\t\t}\n\t};\n\t// -- Canvas methods\n\thelpers.fontString = function(pixelSize, fontStyle, fontFamily) {\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n\t};\n\thelpers.longestText = function(ctx, font, arrayOfThings, cache) {\n\t\tcache = cache || {};\n\t\tvar data = cache.data = cache.data || {};\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\n\n\t\tif (cache.font !== font) {\n\t\t\tdata = cache.data = {};\n\t\t\tgc = cache.garbageCollect = [];\n\t\t\tcache.font = font;\n\t\t}\n\n\t\tctx.font = font;\n\t\tvar longest = 0;\n\t\thelpers.each(arrayOfThings, function(thing) {\n\t\t\t// Undefined strings and arrays should not be measured\n\t\t\tif (thing !== undefined && thing !== null && helpers.isArray(thing) !== true) {\n\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, thing);\n\t\t\t} else if (helpers.isArray(thing)) {\n\t\t\t\t// if it is an array lets measure each element\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\n\t\t\t\thelpers.each(thing, function(nestedThing) {\n\t\t\t\t\t// Undefined strings and arrays should not be measured\n\t\t\t\t\tif (nestedThing !== undefined && nestedThing !== null && !helpers.isArray(nestedThing)) {\n\t\t\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, nestedThing);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tvar gcLen = gc.length / 2;\n\t\tif (gcLen > arrayOfThings.length) {\n\t\t\tfor (var i = 0; i < gcLen; i++) {\n\t\t\t\tdelete data[gc[i]];\n\t\t\t}\n\t\t\tgc.splice(0, gcLen);\n\t\t}\n\t\treturn longest;\n\t};\n\thelpers.measureText = function(ctx, data, gc, longest, string) {\n\t\tvar textWidth = data[string];\n\t\tif (!textWidth) {\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\n\t\t\tgc.push(string);\n\t\t}\n\t\tif (textWidth > longest) {\n\t\t\tlongest = textWidth;\n\t\t}\n\t\treturn longest;\n\t};\n\thelpers.numberOfLabelLines = function(arrayOfThings) {\n\t\tvar numberOfLines = 1;\n\t\thelpers.each(arrayOfThings, function(thing) {\n\t\t\tif (helpers.isArray(thing)) {\n\t\t\t\tif (thing.length > numberOfLines) {\n\t\t\t\t\tnumberOfLines = thing.length;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn numberOfLines;\n\t};\n\n\thelpers.color = !color ?\n\t\tfunction(value) {\n\t\t\tconsole.error('Color.js not found!');\n\t\t\treturn value;\n\t\t} :\n\t\tfunction(value) {\n\t\t\t/* global CanvasGradient */\n\t\t\tif (value instanceof CanvasGradient) {\n\t\t\t\tvalue = defaults.global.defaultColor;\n\t\t\t}\n\n\t\t\treturn color(value);\n\t\t};\n\n\thelpers.getHoverColor = function(colorValue) {\n\t\t/* global CanvasPattern */\n\t\treturn (colorValue instanceof CanvasPattern) ?\n\t\t\tcolorValue :\n\t\t\thelpers.color(colorValue).saturate(0.5).darken(0.1).rgbString();\n\t};\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('IxVectorLayer',{attrs:{\"features\":_vm.features,\"vector-style\":_vm.style,\"z-index\":1,\"layer-id\":\"soilMap\",\"auto-focus\":_vm.autoFocus}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhBbMapLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhBbMapLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PhBbMapLayer.vue?vue&type=template&id=8cbf45a8&scoped=true&lang=html&\"\nimport script from \"./PhBbMapLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./PhBbMapLayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8cbf45a8\",\n null\n \n)\n\nexport default component.exports","var distance = require('@turf/distance');\nvar turfBBox = require('@turf/bbox');\nvar helpers = require('@turf/helpers');\nvar inside = require('@turf/inside');\nvar invariant = require('@turf/invariant');\nvar getGeomType = invariant.getGeomType;\nvar point = helpers.point;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Creates a {@link Point} grid from a bounding box, {@link FeatureCollection} or {@link Feature}.\n *\n * @name pointGrid\n * @param {Array|FeatureCollection|Feature} bbox extent in [minX, minY, maxX, maxY] order\n * @param {number} cellSide the distance between points\n * @param {string} [units=kilometers] used in calculating cellSide, can be degrees, radians, miles, or kilometers\n * @param {boolean} [centered=true] adjust points position to center the grid into bbox. **This parameter is going to be removed** in the next major release, having the output always centered into bbox.\n * @param {boolean} [bboxIsMask=false] if true, and bbox is a Polygon or MultiPolygon, the grid Point will be created\n * only if inside the bbox Polygon(s)\n * @returns {FeatureCollection} grid of points\n * @example\n * var extent = [-70.823364, -33.553984, -70.473175, -33.302986];\n * var cellSide = 3;\n * var units = 'miles';\n *\n * var grid = turf.pointGrid(extent, cellSide, units);\n *\n * //addToMap\n * var addToMap = [grid];\n */\nmodule.exports = function (bbox, cellSide, units, centered, bboxIsMask) {\n var results = [];\n\n var bboxMask = bbox;\n // validation\n if (!bbox) throw new Error('bbox is required');\n if (!Array.isArray(bbox)) bbox = turfBBox(bbox); // Convert GeoJSON to bbox\n if (bbox.length !== 4) throw new Error('bbox must contain 4 numbers');\n\n var west = bbox[0];\n var south = bbox[1];\n var east = bbox[2];\n var north = bbox[3];\n\n var xFraction = cellSide / (distance(point([west, south]), point([east, south]), units));\n var cellWidth = xFraction * (east - west);\n var yFraction = cellSide / (distance(point([west, south]), point([west, north]), units));\n var cellHeight = yFraction * (north - south);\n\n if (centered !== false) {\n var bboxHorizontalSide = (east - west);\n var bboxVerticalSide = (north - south);\n var columns = Math.floor(bboxHorizontalSide / cellWidth);\n var rows = Math.floor(bboxVerticalSide / cellHeight);\n // adjust origin of the grid\n var deltaX = (bboxHorizontalSide - columns * cellWidth) / 2;\n var deltaY = (bboxVerticalSide - rows * cellHeight) / 2;\n }\n\n var isPoly = !Array.isArray(bboxMask) && (getGeomType(bboxMask) === 'Polygon' || getGeomType(bboxMask) === 'MultiPolygon');\n\n var currentX = west;\n if (centered !== false) currentX += deltaX;\n while (currentX <= east) {\n var currentY = south;\n if (centered !== false) currentY += deltaY;\n while (currentY <= north) {\n var pt = point([currentX, currentY]);\n if (bboxIsMask === true && isPoly) {\n if (inside(pt, bboxMask)) {\n results.push(pt);\n }\n } else {\n results.push(pt);\n }\n currentY += cellHeight;\n }\n currentX += cellWidth;\n }\n\n return featureCollection(results);\n};\n","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* UTM / WGS-84 Conversion Functions (c) Chris Veness 2014-2017 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong-utm-mgrs.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-utm.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var LatLon = require('./latlon-ellipsoidal.js'); // ≡ import LatLon from 'latlon-ellipsoidal.js'\n/* eslint indent:warn */\n\n\n/**\n * Convert between Universal Transverse Mercator coordinates and WGS 84 latitude/longitude points.\n *\n * Method based on Karney 2011 ‘Transverse Mercator with an accuracy of a few nanometers’,\n * building on Krüger 1912 ‘Konforme Abbildung des Erdellipsoids in der Ebene’.\n *\n * @module utm\n * @requires latlon-ellipsoidal\n */\n\n\n/**\n * Creates a Utm coordinate object.\n *\n * @constructor\n * @param {number} zone - UTM 6° longitudinal zone (1..60 covering 180°W..180°E).\n * @param {string} hemisphere - N for northern hemisphere, S for southern hemisphere.\n * @param {number} easting - Easting in metres from false easting (-500km from central meridian).\n * @param {number} northing - Northing in metres from equator (N) or from false northing -10,000km (S).\n * @param {LatLon.datum} [datum=WGS84] - Datum UTM coordinate is based on.\n * @param {number} [convergence] - Meridian convergence (bearing of grid north clockwise from true\n * north), in degrees\n * @param {number} [scale] - Grid scale factor\n * @throws {Error} Invalid UTM coordinate\n *\n * @example\n * var utmCoord = new Utm(31, 'N', 448251, 5411932);\n */\nfunction Utm(zone, hemisphere, easting, northing, datum, convergence, scale) {\n if (!(this instanceof Utm)) { // allow instantiation without 'new'\n return new Utm(zone, hemisphere, easting, northing, datum, convergence, scale);\n }\n\n if (datum === undefined) datum = LatLon.datum.WGS84; // default if not supplied\n if (convergence === undefined) convergence = null; // default if not supplied\n if (scale === undefined) scale = null; // default if not supplied\n\n if (!(1<=zone && zone<=60)) throw new Error('Invalid UTM zone '+zone);\n if (!hemisphere.match(/[NS]/i)) throw new Error('Invalid UTM hemisphere '+hemisphere);\n // range-check easting/northing (with 40km overlap between zones) - is this worthwhile?\n //if (!(120e3<=easting && easting<=880e3)) throw new Error('Invalid UTM easting '+ easting);\n //if (!(0<=northing && northing<=10000e3)) throw new Error('Invalid UTM northing '+ northing);\n\n this.zone = Number(zone);\n this.hemisphere = hemisphere.toUpperCase();\n this.easting = Number(easting);\n this.northing = Number(northing);\n this.datum = datum;\n this.convergence = convergence===null ? null : Number(convergence);\n this.scale = scale===null ? null : Number(scale);\n}\n\n\n/**\n * Converts latitude/longitude to UTM coordinate.\n *\n * Implements Karney’s method, using Krüger series to order n^6, giving results accurate to 5nm for\n * distances up to 3900km from the central meridian.\n *\n * @returns {Utm} UTM coordinate.\n * @throws {Error} If point not valid, if point outside latitude range.\n *\n * @example\n * var latlong = new LatLon(48.8582, 2.2945);\n * var utmCoord = latlong.toUtm(); // utmCoord.toString(): '31 N 448252 5411933'\n */\nLatLon.prototype.toUtm = function() {\n if (isNaN(this.lat) || isNaN(this.lon)) throw new Error('Invalid point');\n if (!(-80<=this.lat && this.lat<=84)) throw new Error('Outside UTM limits');\n\n var falseEasting = 500e3, falseNorthing = 10000e3;\n\n var zone = Math.floor((this.lon+180)/6) + 1; // longitudinal zone\n var λ0 = ((zone-1)*6 - 180 + 3).toRadians(); // longitude of central meridian\n\n // ---- handle Norway/Svalbard exceptions\n // grid zones are 8° tall; 0°N is offset 10 into latitude bands array\n var mgrsLatBands = 'CDEFGHJKLMNPQRSTUVWXX'; // X is repeated for 80-84°N\n var latBand = mgrsLatBands.charAt(Math.floor(this.lat/8+10));\n // adjust zone & central meridian for Norway\n if (zone==31 && latBand=='V' && this.lon>= 3) { zone++; λ0 += (6).toRadians(); }\n // adjust zone & central meridian for Svalbard\n if (zone==32 && latBand=='X' && this.lon< 9) { zone--; λ0 -= (6).toRadians(); }\n if (zone==32 && latBand=='X' && this.lon>= 9) { zone++; λ0 += (6).toRadians(); }\n if (zone==34 && latBand=='X' && this.lon< 21) { zone--; λ0 -= (6).toRadians(); }\n if (zone==34 && latBand=='X' && this.lon>=21) { zone++; λ0 += (6).toRadians(); }\n if (zone==36 && latBand=='X' && this.lon< 33) { zone--; λ0 -= (6).toRadians(); }\n if (zone==36 && latBand=='X' && this.lon>=33) { zone++; λ0 += (6).toRadians(); }\n\n var φ = this.lat.toRadians(); // latitude ± from equator\n var λ = this.lon.toRadians() - λ0; // longitude ± from central meridian\n\n var a = this.datum.ellipsoid.a, f = this.datum.ellipsoid.f;\n // WGS 84: a = 6378137, b = 6356752.314245, f = 1/298.257223563;\n\n var k0 = 0.9996; // UTM scale on the central meridian\n\n // ---- easting, northing: Karney 2011 Eq 7-14, 29, 35:\n\n var e = Math.sqrt(f*(2-f)); // eccentricity\n var n = f / (2 - f); // 3rd flattening\n var n2 = n*n, n3 = n*n2, n4 = n*n3, n5 = n*n4, n6 = n*n5; // TODO: compare Horner-form accuracy?\n\n var cosλ = Math.cos(λ), sinλ = Math.sin(λ), tanλ = Math.tan(λ);\n\n var τ = Math.tan(φ); // τ ≡ tanφ, τʹ ≡ tanφʹ; prime (ʹ) indicates angles on the conformal sphere\n var σ = Math.sinh(e*Math.atanh(e*τ/Math.sqrt(1+τ*τ)));\n\n var τʹ = τ*Math.sqrt(1+σ*σ) - σ*Math.sqrt(1+τ*τ);\n\n var ξʹ = Math.atan2(τʹ, cosλ);\n var ηʹ = Math.asinh(sinλ / Math.sqrt(τʹ*τʹ + cosλ*cosλ));\n\n var A = a/(1+n) * (1 + 1/4*n2 + 1/64*n4 + 1/256*n6); // 2πA is the circumference of a meridian\n\n var α = [ null, // note α is one-based array (6th order Krüger expressions)\n 1/2*n - 2/3*n2 + 5/16*n3 + 41/180*n4 - 127/288*n5 + 7891/37800*n6,\n 13/48*n2 - 3/5*n3 + 557/1440*n4 + 281/630*n5 - 1983433/1935360*n6,\n 61/240*n3 - 103/140*n4 + 15061/26880*n5 + 167603/181440*n6,\n 49561/161280*n4 - 179/168*n5 + 6601661/7257600*n6,\n 34729/80640*n5 - 3418889/1995840*n6,\n 212378941/319334400*n6 ];\n\n var ξ = ξʹ;\n for (var j=1; j<=6; j++) ξ += α[j] * Math.sin(2*j*ξʹ) * Math.cosh(2*j*ηʹ);\n\n var η = ηʹ;\n for (var j=1; j<=6; j++) η += α[j] * Math.cos(2*j*ξʹ) * Math.sinh(2*j*ηʹ);\n\n var x = k0 * A * η;\n var y = k0 * A * ξ;\n\n // ---- convergence: Karney 2011 Eq 23, 24\n\n var pʹ = 1;\n for (var j=1; j<=6; j++) pʹ += 2*j*α[j] * Math.cos(2*j*ξʹ) * Math.cosh(2*j*ηʹ);\n var qʹ = 0;\n for (var j=1; j<=6; j++) qʹ += 2*j*α[j] * Math.sin(2*j*ξʹ) * Math.sinh(2*j*ηʹ);\n\n var γʹ = Math.atan(τʹ / Math.sqrt(1+τʹ*τʹ)*tanλ);\n var γʺ = Math.atan2(qʹ, pʹ);\n\n var γ = γʹ + γʺ;\n\n // ---- scale: Karney 2011 Eq 25\n\n var sinφ = Math.sin(φ);\n var kʹ = Math.sqrt(1 - e*e*sinφ*sinφ) * Math.sqrt(1 + τ*τ) / Math.sqrt(τʹ*τʹ + cosλ*cosλ);\n var kʺ = A / a * Math.sqrt(pʹ*pʹ + qʹ*qʹ);\n\n var k = k0 * kʹ * kʺ;\n\n // ------------\n\n // shift x/y to false origins\n x = x + falseEasting; // make x relative to false easting\n if (y < 0) y = y + falseNorthing; // make y in southern hemisphere relative to false northing\n\n // round to reasonable precision\n x = Number(x.toFixed(6)); // nm precision\n y = Number(y.toFixed(6)); // nm precision\n var convergence = Number(γ.toDegrees().toFixed(9));\n var scale = Number(k.toFixed(12));\n\n var h = this.lat>=0 ? 'N' : 'S'; // hemisphere\n\n return new Utm(zone, h, x, y, this.datum, convergence, scale);\n};\n\n\n/**\n * Converts UTM zone/easting/northing coordinate to latitude/longitude\n *\n * @param {Utm} utmCoord - UTM coordinate to be converted to latitude/longitude.\n * @returns {LatLon} Latitude/longitude of supplied grid reference.\n *\n * @example\n * var grid = new Utm(31, 'N', 448251.795, 5411932.678);\n * var latlong = grid.toLatLonE(); // latlong.toString(): 48°51′29.52″N, 002°17′40.20″E\n */\nUtm.prototype.toLatLonE = function() {\n var z = this.zone;\n var h = this.hemisphere;\n var x = this.easting;\n var y = this.northing;\n\n if (isNaN(z) || isNaN(x) || isNaN(y)) throw new Error('Invalid coordinate');\n\n var falseEasting = 500e3, falseNorthing = 10000e3;\n\n var a = this.datum.ellipsoid.a, f = this.datum.ellipsoid.f;\n // WGS 84: a = 6378137, b = 6356752.314245, f = 1/298.257223563;\n\n var k0 = 0.9996; // UTM scale on the central meridian\n\n x = x - falseEasting; // make x ± relative to central meridian\n y = h=='S' ? y - falseNorthing : y; // make y ± relative to equator\n\n // ---- from Karney 2011 Eq 15-22, 36:\n\n var e = Math.sqrt(f*(2-f)); // eccentricity\n var n = f / (2 - f); // 3rd flattening\n var n2 = n*n, n3 = n*n2, n4 = n*n3, n5 = n*n4, n6 = n*n5;\n\n var A = a/(1+n) * (1 + 1/4*n2 + 1/64*n4 + 1/256*n6); // 2πA is the circumference of a meridian\n\n var η = x / (k0*A);\n var ξ = y / (k0*A);\n\n var β = [ null, // note β is one-based array (6th order Krüger expressions)\n 1/2*n - 2/3*n2 + 37/96*n3 - 1/360*n4 - 81/512*n5 + 96199/604800*n6,\n 1/48*n2 + 1/15*n3 - 437/1440*n4 + 46/105*n5 - 1118711/3870720*n6,\n 17/480*n3 - 37/840*n4 - 209/4480*n5 + 5569/90720*n6,\n 4397/161280*n4 - 11/504*n5 - 830251/7257600*n6,\n 4583/161280*n5 - 108847/3991680*n6,\n 20648693/638668800*n6 ];\n\n var ξʹ = ξ;\n for (var j=1; j<=6; j++) ξʹ -= β[j] * Math.sin(2*j*ξ) * Math.cosh(2*j*η);\n\n var ηʹ = η;\n for (var j=1; j<=6; j++) ηʹ -= β[j] * Math.cos(2*j*ξ) * Math.sinh(2*j*η);\n\n var sinhηʹ = Math.sinh(ηʹ);\n var sinξʹ = Math.sin(ξʹ), cosξʹ = Math.cos(ξʹ);\n\n var τʹ = sinξʹ / Math.sqrt(sinhηʹ*sinhηʹ + cosξʹ*cosξʹ);\n\n var τi = τʹ;\n do {\n var σi = Math.sinh(e*Math.atanh(e*τi/Math.sqrt(1+τi*τi)));\n var τiʹ = τi * Math.sqrt(1+σi*σi) - σi * Math.sqrt(1+τi*τi);\n var δτi = (τʹ - τiʹ)/Math.sqrt(1+τiʹ*τiʹ)\n * (1 + (1-e*e)*τi*τi) / ((1-e*e)*Math.sqrt(1+τi*τi));\n τi += δτi;\n } while (Math.abs(δτi) > 1e-12); // using IEEE 754 δτi -> 0 after 2-3 iterations\n // note relatively large convergence test as δτi toggles on ±1.12e-16 for eg 31 N 400000 5000000\n var τ = τi;\n\n var φ = Math.atan(τ);\n\n var λ = Math.atan2(sinhηʹ, cosξʹ);\n\n // ---- convergence: Karney 2011 Eq 26, 27\n\n var p = 1;\n for (var j=1; j<=6; j++) p -= 2*j*β[j] * Math.cos(2*j*ξ) * Math.cosh(2*j*η);\n var q = 0;\n for (var j=1; j<=6; j++) q += 2*j*β[j] * Math.sin(2*j*ξ) * Math.sinh(2*j*η);\n\n var γʹ = Math.atan(Math.tan(ξʹ) * Math.tanh(ηʹ));\n var γʺ = Math.atan2(q, p);\n\n var γ = γʹ + γʺ;\n\n // ---- scale: Karney 2011 Eq 28\n\n var sinφ = Math.sin(φ);\n var kʹ = Math.sqrt(1 - e*e*sinφ*sinφ) * Math.sqrt(1 + τ*τ) * Math.sqrt(sinhηʹ*sinhηʹ + cosξʹ*cosξʹ);\n var kʺ = A / a / Math.sqrt(p*p + q*q);\n\n var k = k0 * kʹ * kʺ;\n\n // ------------\n\n var λ0 = ((z-1)*6 - 180 + 3).toRadians(); // longitude of central meridian\n λ += λ0; // move λ from zonal to global coordinates\n\n // round to reasonable precision\n var lat = Number(φ.toDegrees().toFixed(11)); // nm precision (1nm = 10^-11°)\n var lon = Number(λ.toDegrees().toFixed(11)); // (strictly lat rounding should be φ⋅cosφ!)\n var convergence = Number(γ.toDegrees().toFixed(9));\n var scale = Number(k.toFixed(12));\n\n var latLong = new LatLon(lat, lon, this.datum);\n // ... and add the convergence and scale into the LatLon object ... wonderful JavaScript!\n latLong.convergence = convergence;\n latLong.scale = scale;\n\n return latLong;\n};\n\n\n/**\n * Parses string representation of UTM coordinate.\n *\n * A UTM coordinate comprises (space-separated)\n * - zone\n * - hemisphere\n * - easting\n * - northing.\n *\n * @param {string} utmCoord - UTM coordinate (WGS 84).\n * @param {Datum} [datum=WGS84] - Datum coordinate is defined in (default WGS 84).\n * @returns {Utm}\n * @throws {Error} Invalid UTM coordinate.\n *\n * @example\n * var utmCoord = Utm.parse('31 N 448251 5411932');\n * // utmCoord: {zone: 31, hemisphere: 'N', easting: 448251, northing: 5411932 }\n */\nUtm.parse = function(utmCoord, datum) {\n if (datum === undefined) datum = LatLon.datum.WGS84; // default if not supplied\n\n // match separate elements (separated by whitespace)\n utmCoord = utmCoord.trim().match(/\\S+/g);\n\n if (utmCoord==null || utmCoord.length!=4) throw new Error('Invalid UTM coordinate ‘'+utmCoord+'’');\n\n var zone = utmCoord[0], hemisphere = utmCoord[1], easting = utmCoord[2], northing = utmCoord[3];\n\n return new Utm(zone, hemisphere, easting, northing, datum);\n};\n\n\n/**\n * Returns a string representation of a UTM coordinate.\n *\n * To distinguish from MGRS grid zone designators, a space is left between the zone and the\n * hemisphere.\n *\n * Note that UTM coordinates get rounded, not truncated (unlike MGRS grid references).\n *\n * @param {number} [digits=0] - Number of digits to appear after the decimal point (3 ≡ mm).\n * @returns {string} A string representation of the coordinate.\n *\n * @example\n * var utm = Utm.parse('31 N 448251 5411932').toString(4); // 31 N 448251.0000 5411932.0000\n */\nUtm.prototype.toString = function(digits) {\n digits = Number(digits||0); // default 0 if not supplied\n\n var z = this.zone<10 ? '0'+this.zone : this.zone; // leading zero\n var h = this.hemisphere;\n var e = this.easting;\n var n = this.northing;\n if (isNaN(z) || !h.match(/[NS]/) || isNaN(e) || isNaN(n)) return '';\n\n return z+' '+h+' '+e.toFixed(digits)+' '+n.toFixed(digits);\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n/** Polyfill Math.sinh for old browsers / IE */\nif (Math.sinh === undefined) {\n Math.sinh = function(x) {\n return (Math.exp(x) - Math.exp(-x)) / 2;\n };\n}\n\n/** Polyfill Math.cosh for old browsers / IE */\nif (Math.cosh === undefined) {\n Math.cosh = function(x) {\n return (Math.exp(x) + Math.exp(-x)) / 2;\n };\n}\n\n/** Polyfill Math.tanh for old browsers / IE */\nif (Math.tanh === undefined) {\n Math.tanh = function(x) {\n return (Math.exp(x) - Math.exp(-x)) / (Math.exp(x) + Math.exp(-x));\n };\n}\n\n/** Polyfill Math.asinh for old browsers / IE */\nif (Math.asinh === undefined) {\n Math.asinh = function(x) {\n return Math.log(x + Math.sqrt(1 + x*x));\n };\n}\n\n/** Polyfill Math.atanh for old browsers / IE */\nif (Math.atanh === undefined) {\n Math.atanh = function(x) {\n return Math.log((1+x) / (1-x)) / 2;\n };\n}\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = Utm; // ≡ export default Utm\n","var each = require('@turf/meta').coordEach,\n convexHull = require('convex-hull'),\n polygon = require('@turf/helpers').polygon;\n\n/**\n * Takes a {@link Feature} or a {@link FeatureCollection} and returns a convex hull {@link Polygon}.\n *\n * Internally this uses\n * the [convex-hull](https://github.com/mikolalysenko/convex-hull) module that\n * implements a [monotone chain hull](http://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain).\n *\n * @name convex\n * @param {Feature|FeatureCollection} feature input Feature or FeatureCollection\n * @returns {Feature} a convex hull\n * @example\n * var points = turf.featureCollection([\n * turf.point([10.195312, 43.755225]),\n * turf.point([10.404052, 43.8424511]),\n * turf.point([10.579833, 43.659924]),\n * turf.point([10.360107, 43.516688]),\n * turf.point([10.14038, 43.588348]),\n * turf.point([10.195312, 43.755225])\n * ]);\n *\n * var hull = turf.convex(points);\n *\n * //addToMap\n * var addToMap = [points, hull]\n */\nmodule.exports = function (feature) {\n var points = [];\n\n // Remove Z in coordinates because it breaks the convexHull algorithm\n each(feature, function (coord) {\n points.push([coord[0], coord[1]]);\n });\n\n var hull = convexHull(points);\n\n // Hull should have at least 3 different vertices in order to create a valid polygon\n if (hull.length >= 3) {\n var ring = [];\n for (var i = 0; i < hull.length; i++) {\n ring.push(points[hull[i][0]]);\n }\n ring.push(points[hull[hull.length - 1][1]]);\n return polygon([ring]);\n }\n return undefined;\n};\n","// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\nexport default function() {\n return new Adder;\n}\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import adder from \"./adder\";\nimport {atan2, cos, quarterPi, radians, sin, tau} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nexport var areaRingSum = adder();\n\nvar areaSum = adder(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nexport var areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? tau + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = noop;\n },\n sphere: function() {\n areaSum.add(tau);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n lambda0 = lambda, cosPhi0 = cos(phi = phi / 2 + quarterPi), sinPhi0 = sin(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n phi = phi / 2 + quarterPi; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = cos(phi),\n sinPhi = sin(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n areaRingSum.add(atan2(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\nexport default function(object) {\n areaSum.reset();\n stream(object, areaStream);\n return areaSum * 2;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import adder from \"./adder\";\nimport {areaStream, areaRingSum} from \"./area\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport {abs, degrees, epsilon, radians} from \"./math\";\nimport stream from \"./stream\";\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = adder(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n areaStream.polygonStart();\n },\n polygonEnd: function() {\n areaStream.polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (areaRingSum < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > epsilon) phi1 = 90;\n else if (deltaSum < -epsilon) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = cartesian([lambda * radians, phi * radians]);\n if (p0) {\n var normal = cartesianCross(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = cartesianCross(equatorial, normal);\n cartesianNormalizeInPlace(inflection);\n inflection = spherical(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * degrees * sign,\n phii,\n antimeridian = abs(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * degrees;\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * degrees;\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n areaStream.point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n areaStream.lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n areaStream.lineEnd();\n if (abs(deltaSum) > epsilon) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\nexport default function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n stream(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n}\n","import {asin, atan2, cos, degrees, epsilon, epsilon2, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: noop,\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n centroidPointCartesian(cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n centroidStream.point = centroidRingPoint;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = sqrt(cx * cx + cy * cy + cz * cz),\n w = asin(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nexport default function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n stream(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < epsilon2) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < epsilon) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < epsilon2) return [NaN, NaN];\n }\n\n return [atan2(y, x) * degrees, asin(z / sqrt(m)) * degrees];\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math\";\n\nfunction rotationIdentity(lambda, phi) {\n return [abs(lambda) > pi ? lambda + Math.round(-lambda / tau) * tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport constant from \"./constant\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math\";\nimport {rotateRadians} from \"./rotation\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n // If the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (pointEqual(p0, p1)) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import adder from \"./adder\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian\";\nimport {asin, atan2, cos, epsilon, halfPi, pi, quarterPi, sin, tau} from \"./math\";\n\nvar sum = adder();\n\nexport default function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = point0[0],\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = point1[0],\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon) ^ (winding & 1);\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","import {pair} from \"./pairs\";\n\nexport default function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n","export default function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n}\n","import transpose from \"./transpose\";\n\nexport default function() {\n return transpose(arguments);\n}\n","import clipBuffer from \"./buffer\";\nimport clipRejoin from \"./rejoin\";\nimport {epsilon, halfPi} from \"../math\";\nimport polygonContains from \"../polygonContains\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian\";\nimport {circleStream} from \"../circle\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math\";\nimport pointEqual from \"../pointEqual\";\nimport clip from \"./index\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {\n point1[0] += epsilon;\n point1[1] += epsilon;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1]);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math\";\nimport clipBuffer from \"./buffer\";\nimport clipLine from \"./line\";\nimport clipRejoin from \"./rejoin\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","import clipRectangle from \"./rectangle\";\n\nexport default function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n}\n","import adder from \"./adder\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar lengthSum = adder(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum.reset();\n stream(object, lengthStream);\n return +lengthSum;\n}\n","import length from \"./length\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {default as polygonContains} from \"./polygonContains\";\nimport {default as distance} from \"./distance\";\nimport {epsilon, radians} from \"./math\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = distance(coordinates[0], coordinates[1]),\n ao = distance(coordinates[0], point),\n ob = distance(point, coordinates[1]);\n return ao + ob <= ab + epsilon;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","import {asin, atan2, cos, degrees, haversin, radians, sin, sqrt} from \"./math\";\n\nexport default function(a, b) {\n var x0 = a[0] * radians,\n y0 = a[1] * radians,\n x1 = b[0] * radians,\n y1 = b[1] * radians,\n cy0 = cos(y0),\n sy0 = sin(y0),\n cy1 = cos(y1),\n sy1 = sin(y1),\n kx0 = cy0 * cos(x0),\n ky0 = cy0 * sin(x0),\n kx1 = cy1 * cos(x1),\n ky1 = cy1 * sin(x1),\n d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),\n k = sin(d);\n\n var interpolate = d ? function(t) {\n var B = sin(t *= d) / k,\n A = sin(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n atan2(y, x) * degrees,\n atan2(z, sqrt(x * x + y * y)) * degrees\n ];\n } : function() {\n return [x0 * degrees, y0 * degrees];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n}\n","import adder from \"../adder\";\nimport {abs} from \"../math\";\nimport noop from \"../noop\";\n\nvar areaSum = adder(),\n areaRingSum = adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","export default function(x) {\n return x;\n}\n","import noop from \"../noop\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math\";\nimport noop from \"../noop\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import adder from \"../adder\";\nimport {sqrt} from \"../math\";\nimport noop from \"../noop\";\n\nvar lengthSum = adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum.reset();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity\";\nimport stream from \"../stream\";\nimport pathArea from \"./area\";\nimport pathBounds from \"./bounds\";\nimport pathCentroid from \"./centroid\";\nimport PathContext from \"./context\";\nimport pathMeasure from \"./measure\";\nimport PathString from \"./string\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream\";\nimport boundsStream from \"../path/bounds\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math\";\nimport {transformer} from \"../transform\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian\";\nimport clipCircle from \"../clip/circle\";\nimport clipRectangle from \"../clip/rectangle\";\nimport compose from \"../compose\";\nimport identity from \"../identity\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math\";\nimport {rotateRadians} from \"../rotation\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\nimport resample from \"./resample\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, fi - bi * x - ai * y];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math\";\nimport {projectionMutator} from \"./index\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {asin, cos, sin} from \"../math\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import {abs, asin, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [atan2(x, abs(r0y)) / n * sign(r0y), asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import conicEqualArea from \"./conicEqualArea\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math\";\nimport albers from \"./albers\";\nimport conicEqualArea from \"./conicEqualArea\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {asin, sqrt} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math\";\nimport rotation from \"../rotation\";\nimport projection from \"./index\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import {abs, atan, atan2, cos, epsilon, halfPi, log, pow, sign, sin, sqrt, tan} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {mercatorRaw} from \"./mercator\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);\n return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import projection from \"./index\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {equirectangularRaw} from \"./equirectangular\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [atan2(x, abs(gy)) / n * sign(gy), g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import projection from \"./index.js\";\nimport {abs, asin, cos, epsilon2, sin, sqrt} from \"../math.js\";\n\nvar A1 = 1.340264,\n A2 = -0.081106,\n A3 = 0.000893,\n A4 = 0.003796,\n M = sqrt(3) / 2,\n iterations = 12;\n\nexport function equalEarthRaw(lambda, phi) {\n var l = asin(M * sin(phi)), l2 = l * l, l6 = l2 * l2 * l2;\n return [\n lambda * cos(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),\n l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))\n ];\n}\n\nequalEarthRaw.invert = function(x, y) {\n var l = y, l2 = l * l, l6 = l2 * l2 * l2;\n for (var i = 0, delta, fy, fpy; i < iterations; ++i) {\n fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;\n fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);\n l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;\n if (abs(delta) < epsilon2) break;\n }\n return [\n M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos(l),\n asin(sin(l) / M)\n ];\n};\n\nexport default function() {\n return projection(equalEarthRaw)\n .scale(177.158);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import clipRectangle from \"../clip/rectangle\";\nimport identity from \"../identity\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity : transformer({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\nexport default function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity, // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = identity,\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n clipExtent: function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n },\n scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return fitExtent(projection, extent, object);\n },\n fitSize: function(size, object) {\n return fitSize(projection, size, object);\n },\n fitWidth: function(width, object) {\n return fitWidth(projection, width, object);\n },\n fitHeight: function(height, object) {\n return fitHeight(projection, height, object);\n }\n };\n}\n","import projection from \"./index\";\nimport {abs, epsilon} from \"../math\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math\";\nimport {mercatorProjection} from \"./mercator\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","export {default as geoArea} from \"./area\";\nexport {default as geoBounds} from \"./bounds\";\nexport {default as geoCentroid} from \"./centroid\";\nexport {default as geoCircle} from \"./circle\";\nexport {default as geoClipAntimeridian} from \"./clip/antimeridian\";\nexport {default as geoClipCircle} from \"./clip/circle\";\nexport {default as geoClipExtent} from \"./clip/extent\"; // DEPRECATED! Use d3.geoIdentity().clipExtent(…).\nexport {default as geoClipRectangle} from \"./clip/rectangle\";\nexport {default as geoContains} from \"./contains\";\nexport {default as geoDistance} from \"./distance\";\nexport {default as geoGraticule, graticule10 as geoGraticule10} from \"./graticule\";\nexport {default as geoInterpolate} from \"./interpolate\";\nexport {default as geoLength} from \"./length\";\nexport {default as geoPath} from \"./path/index\";\nexport {default as geoAlbers} from \"./projection/albers\";\nexport {default as geoAlbersUsa} from \"./projection/albersUsa\";\nexport {default as geoAzimuthalEqualArea, azimuthalEqualAreaRaw as geoAzimuthalEqualAreaRaw} from \"./projection/azimuthalEqualArea\";\nexport {default as geoAzimuthalEquidistant, azimuthalEquidistantRaw as geoAzimuthalEquidistantRaw} from \"./projection/azimuthalEquidistant\";\nexport {default as geoConicConformal, conicConformalRaw as geoConicConformalRaw} from \"./projection/conicConformal\";\nexport {default as geoConicEqualArea, conicEqualAreaRaw as geoConicEqualAreaRaw} from \"./projection/conicEqualArea\";\nexport {default as geoConicEquidistant, conicEquidistantRaw as geoConicEquidistantRaw} from \"./projection/conicEquidistant\";\nexport {default as geoEqualEarth, equalEarthRaw as geoEqualEarthRaw} from \"./projection/equalEarth\";\nexport {default as geoEquirectangular, equirectangularRaw as geoEquirectangularRaw} from \"./projection/equirectangular\";\nexport {default as geoGnomonic, gnomonicRaw as geoGnomonicRaw} from \"./projection/gnomonic\";\nexport {default as geoIdentity} from \"./projection/identity\";\nexport {default as geoProjection, projectionMutator as geoProjectionMutator} from \"./projection/index\";\nexport {default as geoMercator, mercatorRaw as geoMercatorRaw} from \"./projection/mercator\";\nexport {default as geoNaturalEarth1, naturalEarth1Raw as geoNaturalEarth1Raw} from \"./projection/naturalEarth1\";\nexport {default as geoOrthographic, orthographicRaw as geoOrthographicRaw} from \"./projection/orthographic\";\nexport {default as geoStereographic, stereographicRaw as geoStereographicRaw} from \"./projection/stereographic\";\nexport {default as geoTransverseMercator, transverseMercatorRaw as geoTransverseMercatorRaw} from \"./projection/transverseMercator\";\nexport {default as geoRotation} from \"./rotation\";\nexport {default as geoStream} from \"./stream\";\nexport {default as geoTransform} from \"./transform\";\n","\"use strict\"\n\nmodule.exports = linearExpansionSum\n\n//Easy case: Add two scalars\nfunction scalarScalar(a, b) {\n var x = a + b\n var bv = x - a\n var av = x - bv\n var br = b - bv\n var ar = a - av\n var y = ar + br\n if(y) {\n return [y, x]\n }\n return [x]\n}\n\nfunction linearExpansionSum(e, f) {\n var ne = e.length|0\n var nf = f.length|0\n if(ne === 1 && nf === 1) {\n return scalarScalar(e[0], f[0])\n }\n var n = ne + nf\n var g = new Array(n)\n var count = 0\n var eptr = 0\n var fptr = 0\n var abs = Math.abs\n var ei = e[eptr]\n var ea = abs(ei)\n var fi = f[fptr]\n var fa = abs(fi)\n var a, b\n if(ea < fa) {\n b = ei\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n ea = abs(ei)\n }\n } else {\n b = fi\n fptr += 1\n if(fptr < nf) {\n fi = f[fptr]\n fa = abs(fi)\n }\n }\n if((eptr < ne && ea < fa) || (fptr >= nf)) {\n a = ei\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n ea = abs(ei)\n }\n } else {\n a = fi\n fptr += 1\n if(fptr < nf) {\n fi = f[fptr]\n fa = abs(fi)\n }\n }\n var x = a + b\n var bv = x - a\n var y = b - bv\n var q0 = y\n var q1 = x\n var _x, _bv, _av, _br, _ar\n while(eptr < ne && fptr < nf) {\n if(ea < fa) {\n a = ei\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n ea = abs(ei)\n }\n } else {\n a = fi\n fptr += 1\n if(fptr < nf) {\n fi = f[fptr]\n fa = abs(fi)\n }\n }\n b = q0\n x = a + b\n bv = x - a\n y = b - bv\n if(y) {\n g[count++] = y\n }\n _x = q1 + x\n _bv = _x - q1\n _av = _x - _bv\n _br = x - _bv\n _ar = q1 - _av\n q0 = _ar + _br\n q1 = _x\n }\n while(eptr < ne) {\n a = ei\n b = q0\n x = a + b\n bv = x - a\n y = b - bv\n if(y) {\n g[count++] = y\n }\n _x = q1 + x\n _bv = _x - q1\n _av = _x - _bv\n _br = x - _bv\n _ar = q1 - _av\n q0 = _ar + _br\n q1 = _x\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n }\n }\n while(fptr < nf) {\n a = fi\n b = q0\n x = a + b\n bv = x - a\n y = b - bv\n if(y) {\n g[count++] = y\n } \n _x = q1 + x\n _bv = _x - q1\n _av = _x - _bv\n _br = x - _bv\n _ar = q1 - _av\n q0 = _ar + _br\n q1 = _x\n fptr += 1\n if(fptr < nf) {\n fi = f[fptr]\n }\n }\n if(q0) {\n g[count++] = q0\n }\n if(q1) {\n g[count++] = q1\n }\n if(!count) {\n g[count++] = 0.0 \n }\n g.length = count\n return g\n}","import mod from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsMaizeSowing.vue?vue&type=style&index=0&id=b7c70988&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsMaizeSowing.vue?vue&type=style&index=0&id=b7c70988&scoped=true&lang=css&\"","/**\n * Bit twiddling hacks for JavaScript.\n *\n * Author: Mikola Lysenko\n *\n * Ported from Stanford bit twiddling hack library:\n * http://graphics.stanford.edu/~seander/bithacks.html\n */\n\n\"use strict\"; \"use restrict\";\n\n//Number of bits in an integer\nvar INT_BITS = 32;\n\n//Constants\nexports.INT_BITS = INT_BITS;\nexports.INT_MAX = 0x7fffffff;\nexports.INT_MIN = -1<<(INT_BITS-1);\n\n//Returns -1, 0, +1 depending on sign of x\nexports.sign = function(v) {\n return (v > 0) - (v < 0);\n}\n\n//Computes absolute value of integer\nexports.abs = function(v) {\n var mask = v >> (INT_BITS-1);\n return (v ^ mask) - mask;\n}\n\n//Computes minimum of integers x and y\nexports.min = function(x, y) {\n return y ^ ((x ^ y) & -(x < y));\n}\n\n//Computes maximum of integers x and y\nexports.max = function(x, y) {\n return x ^ ((x ^ y) & -(x < y));\n}\n\n//Checks if a number is a power of two\nexports.isPow2 = function(v) {\n return !(v & (v-1)) && (!!v);\n}\n\n//Computes log base 2 of v\nexports.log2 = function(v) {\n var r, shift;\n r = (v > 0xFFFF) << 4; v >>>= r;\n shift = (v > 0xFF ) << 3; v >>>= shift; r |= shift;\n shift = (v > 0xF ) << 2; v >>>= shift; r |= shift;\n shift = (v > 0x3 ) << 1; v >>>= shift; r |= shift;\n return r | (v >> 1);\n}\n\n//Computes log base 10 of v\nexports.log10 = function(v) {\n return (v >= 1000000000) ? 9 : (v >= 100000000) ? 8 : (v >= 10000000) ? 7 :\n (v >= 1000000) ? 6 : (v >= 100000) ? 5 : (v >= 10000) ? 4 :\n (v >= 1000) ? 3 : (v >= 100) ? 2 : (v >= 10) ? 1 : 0;\n}\n\n//Counts number of bits\nexports.popCount = function(v) {\n v = v - ((v >>> 1) & 0x55555555);\n v = (v & 0x33333333) + ((v >>> 2) & 0x33333333);\n return ((v + (v >>> 4) & 0xF0F0F0F) * 0x1010101) >>> 24;\n}\n\n//Counts number of trailing zeros\nfunction countTrailingZeros(v) {\n var c = 32;\n v &= -v;\n if (v) c--;\n if (v & 0x0000FFFF) c -= 16;\n if (v & 0x00FF00FF) c -= 8;\n if (v & 0x0F0F0F0F) c -= 4;\n if (v & 0x33333333) c -= 2;\n if (v & 0x55555555) c -= 1;\n return c;\n}\nexports.countTrailingZeros = countTrailingZeros;\n\n//Rounds to next power of 2\nexports.nextPow2 = function(v) {\n v += v === 0;\n --v;\n v |= v >>> 1;\n v |= v >>> 2;\n v |= v >>> 4;\n v |= v >>> 8;\n v |= v >>> 16;\n return v + 1;\n}\n\n//Rounds down to previous power of 2\nexports.prevPow2 = function(v) {\n v |= v >>> 1;\n v |= v >>> 2;\n v |= v >>> 4;\n v |= v >>> 8;\n v |= v >>> 16;\n return v - (v>>>1);\n}\n\n//Computes parity of word\nexports.parity = function(v) {\n v ^= v >>> 16;\n v ^= v >>> 8;\n v ^= v >>> 4;\n v &= 0xf;\n return (0x6996 >>> v) & 1;\n}\n\nvar REVERSE_TABLE = new Array(256);\n\n(function(tab) {\n for(var i=0; i<256; ++i) {\n var v = i, r = i, s = 7;\n for (v >>>= 1; v; v >>>= 1) {\n r <<= 1;\n r |= v & 1;\n --s;\n }\n tab[i] = (r << s) & 0xff;\n }\n})(REVERSE_TABLE);\n\n//Reverse bits in a 32 bit word\nexports.reverse = function(v) {\n return (REVERSE_TABLE[ v & 0xff] << 24) |\n (REVERSE_TABLE[(v >>> 8) & 0xff] << 16) |\n (REVERSE_TABLE[(v >>> 16) & 0xff] << 8) |\n REVERSE_TABLE[(v >>> 24) & 0xff];\n}\n\n//Interleave bits of 2 coordinates with 16 bits. Useful for fast quadtree codes\nexports.interleave2 = function(x, y) {\n x &= 0xFFFF;\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y &= 0xFFFF;\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n//Extracts the nth interleaved component\nexports.deinterleave2 = function(v, n) {\n v = (v >>> n) & 0x55555555;\n v = (v | (v >>> 1)) & 0x33333333;\n v = (v | (v >>> 2)) & 0x0F0F0F0F;\n v = (v | (v >>> 4)) & 0x00FF00FF;\n v = (v | (v >>> 16)) & 0x000FFFF;\n return (v << 16) >> 16;\n}\n\n\n//Interleave bits of 3 coordinates, each with 10 bits. Useful for fast octree codes\nexports.interleave3 = function(x, y, z) {\n x &= 0x3FF;\n x = (x | (x<<16)) & 4278190335;\n x = (x | (x<<8)) & 251719695;\n x = (x | (x<<4)) & 3272356035;\n x = (x | (x<<2)) & 1227133513;\n\n y &= 0x3FF;\n y = (y | (y<<16)) & 4278190335;\n y = (y | (y<<8)) & 251719695;\n y = (y | (y<<4)) & 3272356035;\n y = (y | (y<<2)) & 1227133513;\n x |= (y << 1);\n \n z &= 0x3FF;\n z = (z | (z<<16)) & 4278190335;\n z = (z | (z<<8)) & 251719695;\n z = (z | (z<<4)) & 3272356035;\n z = (z | (z<<2)) & 1227133513;\n \n return x | (z << 2);\n}\n\n//Extracts nth interleaved component of a 3-tuple\nexports.deinterleave3 = function(v, n) {\n v = (v >>> n) & 1227133513;\n v = (v | (v>>>2)) & 3272356035;\n v = (v | (v>>>4)) & 251719695;\n v = (v | (v>>>8)) & 4278190335;\n v = (v | (v>>>16)) & 0x3FF;\n return (v<<22)>>22;\n}\n\n//Computes next combination in colexicographic order (this is mistakenly called nextPermutation on the bit twiddling hacks page)\nexports.nextCombination = function(v) {\n var t = v | (v - 1);\n return (t + 1) | (((~t & -~t) - 1) >>> (countTrailingZeros(v) + 1));\n}\n\n","var point = require('@turf/helpers').point;\n\n/**\n * Takes a {@link LineString|linestring}, {@link MultiLineString|multi-linestring}, {@link MultiPolygon|multi-polygon}, or {@link Polygon|polygon} and returns {@link Point|points} at all self-intersections.\n *\n * @name kinks\n * @param {Feature} featureIn input feature\n * @returns {FeatureCollection} self-intersections\n * @example\n * var poly = turf.polygon([[\n * [-12.034835, 8.901183],\n * [-12.060413, 8.899826],\n * [-12.03638, 8.873199],\n * [-12.059383, 8.871418],\n * [-12.034835, 8.901183]\n * ]]);\n *\n * var kinks = turf.kinks(poly);\n *\n * //addToMap\n * var addToMap = [poly, kinks]\n */\nmodule.exports = function (featureIn) {\n var coordinates;\n var feature;\n var results = {\n type: 'FeatureCollection',\n features: []\n };\n if (featureIn.type === 'Feature') {\n feature = featureIn.geometry;\n } else {\n feature = featureIn;\n }\n if (feature.type === 'LineString') {\n coordinates = [feature.coordinates];\n } else if (feature.type === 'MultiLineString') {\n coordinates = feature.coordinates;\n } else if (feature.type === 'MultiPolygon') {\n coordinates = [].concat.apply([], feature.coordinates);\n } else if (feature.type === 'Polygon') {\n coordinates = feature.coordinates;\n } else {\n throw new Error('Input must be a LineString, MultiLineString, ' +\n 'Polygon, or MultiPolygon Feature or Geometry');\n }\n coordinates.forEach(function (line1) {\n coordinates.forEach(function (line2) {\n for (var i = 0; i < line1.length - 1; i++) {\n // start iteration at i, intersections for k < i have already been checked in previous outer loop iterations\n for (var k = i; k < line2.length - 1; k++) {\n if (line1 === line2) {\n // segments are adjacent and always share a vertex, not a kink\n if (Math.abs(i - k) === 1) {\n continue;\n }\n // first and last segment in a closed lineString or ring always share a vertex, not a kink\n if (\n // segments are first and last segment of lineString\n i === 0 &&\n k === line1.length - 2 &&\n // lineString is closed\n line1[i][0] === line1[line1.length - 1][0] &&\n line1[i][1] === line1[line1.length - 1][1]\n ) {\n continue;\n }\n }\n\n var intersection = lineIntersects(line1[i][0], line1[i][1], line1[i + 1][0], line1[i + 1][1],\n line2[k][0], line2[k][1], line2[k + 1][0], line2[k + 1][1]);\n if (intersection) {\n results.features.push(point([intersection[0], intersection[1]]));\n }\n }\n }\n });\n });\n return results;\n};\n\n\n// modified from http://jsfiddle.net/justin_c_rounds/Gd2S2/light/\nfunction lineIntersects(line1StartX, line1StartY, line1EndX, line1EndY, line2StartX, line2StartY, line2EndX, line2EndY) {\n // if the lines intersect, the result contains the x and y of the intersection (treating the lines as infinite) and booleans for whether line segment 1 or line segment 2 contain the point\n var denominator, a, b, numerator1, numerator2,\n result = {\n x: null,\n y: null,\n onLine1: false,\n onLine2: false\n };\n denominator = ((line2EndY - line2StartY) * (line1EndX - line1StartX)) - ((line2EndX - line2StartX) * (line1EndY - line1StartY));\n if (denominator === 0) {\n if (result.x !== null && result.y !== null) {\n return result;\n } else {\n return false;\n }\n }\n a = line1StartY - line2StartY;\n b = line1StartX - line2StartX;\n numerator1 = ((line2EndX - line2StartX) * a) - ((line2EndY - line2StartY) * b);\n numerator2 = ((line1EndX - line1StartX) * a) - ((line1EndY - line1StartY) * b);\n a = numerator1 / denominator;\n b = numerator2 / denominator;\n\n // if we cast these lines infinitely in both directions, they intersect here:\n result.x = line1StartX + (a * (line1EndX - line1StartX));\n result.y = line1StartY + (a * (line1EndY - line1StartY));\n\n // if line1 is a segment and line2 is infinite, they intersect if:\n if (a >= 0 && a <= 1) {\n result.onLine1 = true;\n }\n // if line2 is a segment and line1 is infinite, they intersect if:\n if (b >= 0 && b <= 1) {\n result.onLine2 = true;\n }\n // if line1 and line2 are segments, they intersect if both of the above are true\n if (result.onLine1 && result.onLine2) {\n return [result.x, result.y];\n } else {\n return false;\n }\n}\n","import mod from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSeedExpert.vue?vue&type=style&index=0&id=45a19f16&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSeedExpert.vue?vue&type=style&index=0&id=45a19f16&lang=scss&scoped=true&\"","'use strict';\n\nvar helpers = require('../helpers/index');\nvar Scale = require('../core/core.scale');\n\n/**\n * Generate a set of linear ticks\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {Array} array of tick values\n */\nfunction generateTicks(generationOptions, dataRange) {\n\tvar ticks = [];\n\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\n\t// \"nice number\" algorithm. See http://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\n\t// for details.\n\n\tvar factor;\n\tvar precision;\n\tvar spacing;\n\n\tif (generationOptions.stepSize && generationOptions.stepSize > 0) {\n\t\tspacing = generationOptions.stepSize;\n\t} else {\n\t\tvar niceRange = helpers.niceNum(dataRange.max - dataRange.min, false);\n\t\tspacing = helpers.niceNum(niceRange / (generationOptions.maxTicks - 1), true);\n\n\t\tprecision = generationOptions.precision;\n\t\tif (precision !== undefined) {\n\t\t\t// If the user specified a precision, round to that number of decimal places\n\t\t\tfactor = Math.pow(10, precision);\n\t\t\tspacing = Math.ceil(spacing * factor) / factor;\n\t\t}\n\t}\n\tvar niceMin = Math.floor(dataRange.min / spacing) * spacing;\n\tvar niceMax = Math.ceil(dataRange.max / spacing) * spacing;\n\n\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\n\tif (!helpers.isNullOrUndef(generationOptions.min) && !helpers.isNullOrUndef(generationOptions.max) && generationOptions.stepSize) {\n\t\t// If very close to our whole number, use it.\n\t\tif (helpers.almostWhole((generationOptions.max - generationOptions.min) / generationOptions.stepSize, spacing / 1000)) {\n\t\t\tniceMin = generationOptions.min;\n\t\t\tniceMax = generationOptions.max;\n\t\t}\n\t}\n\n\tvar numSpaces = (niceMax - niceMin) / spacing;\n\t// If very close to our rounded value, use it.\n\tif (helpers.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n\t\tnumSpaces = Math.round(numSpaces);\n\t} else {\n\t\tnumSpaces = Math.ceil(numSpaces);\n\t}\n\n\tprecision = 1;\n\tif (spacing < 1) {\n\t\tprecision = Math.pow(10, 1 - Math.floor(helpers.log10(spacing)));\n\t\tniceMin = Math.round(niceMin * precision) / precision;\n\t\tniceMax = Math.round(niceMax * precision) / precision;\n\t}\n\tticks.push(generationOptions.min !== undefined ? generationOptions.min : niceMin);\n\tfor (var j = 1; j < numSpaces; ++j) {\n\t\tticks.push(Math.round((niceMin + j * spacing) * precision) / precision);\n\t}\n\tticks.push(generationOptions.max !== undefined ? generationOptions.max : niceMax);\n\n\treturn ticks;\n}\n\nmodule.exports = function(Chart) {\n\n\tvar noop = helpers.noop;\n\n\tChart.LinearScaleBase = Scale.extend({\n\t\tgetRightValue: function(value) {\n\t\t\tif (typeof value === 'string') {\n\t\t\t\treturn +value;\n\t\t\t}\n\t\t\treturn Scale.prototype.getRightValue.call(this, value);\n\t\t},\n\n\t\thandleTickRangeOptions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\n\t\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\n\t\t\t// axis, they can manually override it\n\t\t\tif (tickOpts.beginAtZero) {\n\t\t\t\tvar minSign = helpers.sign(me.min);\n\t\t\t\tvar maxSign = helpers.sign(me.max);\n\n\t\t\t\tif (minSign < 0 && maxSign < 0) {\n\t\t\t\t\t// move the top up to 0\n\t\t\t\t\tme.max = 0;\n\t\t\t\t} else if (minSign > 0 && maxSign > 0) {\n\t\t\t\t\t// move the bottom down to 0\n\t\t\t\t\tme.min = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar setMin = tickOpts.min !== undefined || tickOpts.suggestedMin !== undefined;\n\t\t\tvar setMax = tickOpts.max !== undefined || tickOpts.suggestedMax !== undefined;\n\n\t\t\tif (tickOpts.min !== undefined) {\n\t\t\t\tme.min = tickOpts.min;\n\t\t\t} else if (tickOpts.suggestedMin !== undefined) {\n\t\t\t\tif (me.min === null) {\n\t\t\t\t\tme.min = tickOpts.suggestedMin;\n\t\t\t\t} else {\n\t\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tickOpts.max !== undefined) {\n\t\t\t\tme.max = tickOpts.max;\n\t\t\t} else if (tickOpts.suggestedMax !== undefined) {\n\t\t\t\tif (me.max === null) {\n\t\t\t\t\tme.max = tickOpts.suggestedMax;\n\t\t\t\t} else {\n\t\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (setMin !== setMax) {\n\t\t\t\t// We set the min or the max but not both.\n\t\t\t\t// So ensure that our range is good\n\t\t\t\t// Inverted or 0 length range can happen when\n\t\t\t\t// ticks.min is set, and no datasets are visible\n\t\t\t\tif (me.min >= me.max) {\n\t\t\t\t\tif (setMin) {\n\t\t\t\t\t\tme.max = me.min + 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tme.min = me.max - 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.min === me.max) {\n\t\t\t\tme.max++;\n\n\t\t\t\tif (!tickOpts.beginAtZero) {\n\t\t\t\t\tme.min--;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetTickLimit: noop,\n\t\thandleDirectionalChanges: noop,\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\t// Figure out what the max number of ticks we can support it is based on the size of\n\t\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\n\t\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n\t\t\t// the graph. Make sure we always have at least 2 ticks\n\t\t\tvar maxTicks = me.getTickLimit();\n\t\t\tmaxTicks = Math.max(2, maxTicks);\n\n\t\t\tvar numericGeneratorOptions = {\n\t\t\t\tmaxTicks: maxTicks,\n\t\t\t\tmin: tickOpts.min,\n\t\t\t\tmax: tickOpts.max,\n\t\t\t\tprecision: tickOpts.precision,\n\t\t\t\tstepSize: helpers.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\n\t\t\t};\n\t\t\tvar ticks = me.ticks = generateTicks(numericGeneratorOptions, me);\n\n\t\t\tme.handleDirectionalChanges();\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(ticks);\n\t\t\tme.min = helpers.min(ticks);\n\n\t\t\tif (tickOpts.reverse) {\n\t\t\t\tticks.reverse();\n\n\t\t\t\tme.start = me.max;\n\t\t\t\tme.end = me.min;\n\t\t\t} else {\n\t\t\t\tme.start = me.min;\n\t\t\t\tme.end = me.max;\n\t\t\t}\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\tme.ticksAsNumbers = me.ticks.slice();\n\t\t\tme.zeroLineIndex = me.ticks.indexOf(0);\n\n\t\t\tScale.prototype.convertTicksToLabels.call(me);\n\t\t}\n\t});\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"expand\"},on:{\"enter\":_vm.enter,\"after-enter\":_vm.afterEnter,\"leave\":_vm.leave}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapseTransition.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapseTransition.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CollapseTransition.vue?vue&type=template&id=1bb22a21&scoped=true&lang=html&\"\nimport script from \"./CollapseTransition.vue?vue&type=script&lang=js&\"\nexport * from \"./CollapseTransition.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollapseTransition.vue?vue&type=style&index=0&id=1bb22a21&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1bb22a21\",\n null\n \n)\n\nexport default component.exports","var turfbbox = require('@turf/bbox');\nvar inside = require('@turf/inside');\nvar rbush = require('rbush');\n\n/**\n * Merges a specified property from a FeatureCollection of points into a\n * FeatureCollection of polygons. Given an `inProperty` on points and an `outProperty`\n * for polygons, this finds every point that lies within each polygon, collects the\n * `inProperty` values from those points, and adds them as an array to `outProperty`\n * on the polygon.\n *\n * @name collect\n * @param {FeatureCollection} polygons polygons with values on which to aggregate\n * @param {FeatureCollection} points points to be aggregated\n * @param {string} inProperty property to be nested from\n * @param {string} outProperty property to be nested into\n * @returns {FeatureCollection} polygons with properties listed based on `outField`\n * @example\n * var poly1 = turf.polygon([[[0,0],[10,0],[10,10],[0,10],[0,0]]]);\n * var poly2 = turf.polygon([[[10,0],[20,10],[20,20],[20,0],[10,0]]]);\n * var polyFC = turf.featureCollection([poly1, poly2]);\n * var pt1 = turf.point([5,5], {population: 200});\n * var pt2 = turf.point([1,3], {population: 600});\n * var pt3 = turf.point([14,2], {population: 100});\n * var pt4 = turf.point([13,1], {population: 200});\n * var pt5 = turf.point([19,7], {population: 300});\n * var pointFC = turf.featureCollection([pt1, pt2, pt3, pt4, pt5]);\n * var collected = turf.collect(polyFC, pointFC, 'population', 'values');\n * var values = collected.features[0].properties.values\n * //=values => [200, 600]\n *\n * //addToMap\n * var addToMap = [pointFC, collected]\n */\nmodule.exports = function (polygons, points, inProperty, outProperty) {\n var rtree = rbush(6);\n\n var treeItems = points.features.map(function (item) {\n return {\n minX: item.geometry.coordinates[0],\n minY: item.geometry.coordinates[1],\n maxX: item.geometry.coordinates[0],\n maxY: item.geometry.coordinates[1],\n property: item.properties[inProperty]\n };\n });\n\n rtree.load(treeItems);\n polygons.features.forEach(function (poly) {\n\n if (!poly.properties) {\n poly.properties = {};\n }\n var bbox = turfbbox(poly);\n var potentialPoints = rtree.search({minX: bbox[0], minY: bbox[1], maxX: bbox[2], maxY: bbox[3]});\n var values = [];\n potentialPoints.forEach(function (pt) {\n if (inside({'type': 'Point', 'coordinates': [pt.minX, pt.minY]}, poly)) {\n values.push(pt.property);\n }\n });\n\n poly.properties[outProperty] = values;\n });\n\n return polygons;\n};\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiomassMapDetails.vue?vue&type=style&index=0&id=64116748&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiomassMapDetails.vue?vue&type=style&index=0&id=64116748&lang=scss&scoped=true&\"","// depend on jsts for now https://github.com/bjornharrtell/jsts/blob/master/examples/overlay.html\nvar jsts = require('jsts');\nvar area = require('@turf/area');\nvar feature = require('@turf/helpers').feature;\nvar getGeom = require('@turf/invariant').getGeom;\nvar flattenEach = require('@turf/meta').flattenEach;\n\n/**\n * Finds the difference between two {@link Polygon|polygons} by clipping the second polygon from the first.\n *\n * @name difference\n * @param {Feature} polygon1 input Polygon feature\n * @param {Feature} polygon2 Polygon feature to difference from polygon1\n * @returns {Feature|null} a Polygon or MultiPolygon feature showing the area of `polygon1` excluding the area of `polygon2` (if empty returns `null`)\n * @example\n * var polygon1 = turf.polygon([[\n * [128, -26],\n * [141, -26],\n * [141, -21],\n * [128, -21],\n * [128, -26]\n * ]], {\n * \"fill\": \"#F00\",\n * \"fill-opacity\": 0.1\n * });\n * var polygon2 = turf.polygon([[\n * [126, -28],\n * [140, -28],\n * [140, -20],\n * [126, -20],\n * [126, -28]\n * ]], {\n * \"fill\": \"#00F\",\n * \"fill-opacity\": 0.1\n * });\n *\n * var difference = turf.difference(polygon1, polygon2);\n *\n * //addToMap\n * var addToMap = [polygon1, polygon2, difference];\n */\nmodule.exports = function (polygon1, polygon2) {\n var geom1 = getGeom(polygon1);\n var geom2 = getGeom(polygon2);\n var properties = polygon1.properties || {};\n\n // Issue #721 - JSTS can't handle empty polygons\n geom1 = removeEmptyPolygon(geom1);\n geom2 = removeEmptyPolygon(geom2);\n if (!geom1) return null;\n if (!geom2) return feature(geom1, properties);\n\n // JSTS difference operation\n var reader = new jsts.io.GeoJSONReader();\n var a = reader.read(geom1);\n var b = reader.read(geom2);\n var differenced = a.difference(b);\n if (differenced.isEmpty()) return null;\n var writer = new jsts.io.GeoJSONWriter();\n var geom = writer.write(differenced);\n\n return feature(geom, properties);\n};\n\n/**\n * Detect Empty Polygon\n *\n * @private\n * @param {Geometry} geom Geometry Object\n * @returns {Geometry|null} removed any polygons with no areas\n */\nfunction removeEmptyPolygon(geom) {\n switch (geom.type) {\n case 'Polygon':\n if (area(geom) > 1) return geom;\n return null;\n case 'MultiPolygon':\n var coordinates = [];\n flattenEach(geom, function (feature) {\n if (area(feature) > 1) coordinates.push(feature.geometry.coordinates);\n });\n if (coordinates.length) return {type: 'MultiPolygon', coordinates: coordinates};\n }\n}\n","// Find self-intersections in geojson polygon (possibly with interior rings)\nvar rbush = require('rbush');\n\n\nvar merge = function(){\n var output = {};\n Array.prototype.slice.call(arguments).forEach(function(arg){\n if(arg){\n Object.keys(arg).forEach(function(key){\n output[key]=arg[key];\n });\n }\n });\n return output;\n};\ndefaults = {\n useSpatialIndex: true,\n epsilon: 0,\n reportVertexOnVertex: false,\n reportVertexOnEdge: false\n};\n\nmodule.exports = function(feature, filterFn, options0) {\n var options;\n if(\"object\" === typeof options0){\n options = merge(defaults,options0);\n } else {\n options = merge(defaults,{useSpatialIndex:options0});\n }\n\n if (feature.geometry.type != \"Polygon\") throw new Error(\"The input feature must be a Polygon\");\n\n var coord = feature.geometry.coordinates;\n\n var output = [];\n var seen = {};\n\n if (options.useSpatialIndex) {\n var allEdgesAsRbushTreeItems = [];\n for (var ring0 = 0; ring0 < coord.length; ring0++) {\n for (var edge0 = 0; edge0 < coord[ring0].length-1; edge0++) {\n allEdgesAsRbushTreeItems.push(rbushTreeItem(ring0, edge0))\n }\n }\n var tree = rbush();\n tree.load(allEdgesAsRbushTreeItems);\n }\n\n for (var ring0 = 0; ring0 < coord.length; ring0++) {\n for (var edge0 = 0; edge0 < coord[ring0].length-1; edge0++) {\n if (options.useSpatialIndex) {\n var bboxOverlaps = tree.search(rbushTreeItem(ring0, edge0));\n bboxOverlaps.forEach(function(bboxIsect) {\n var ring1 = bboxIsect.ring;\n var edge1 = bboxIsect.edge;\n ifIsectAddToOutput(ring0, edge0, ring1, edge1);\n });\n }\n else {\n for (var ring1 = 0; ring1 < coord.length; ring1++) {\n for (var edge1 = 0 ; edge1 < coord[ring1].length-1; edge1++) {\n // TODO: speedup possible if only interested in unique: start last two loops at ring0 and edge0+1\n ifIsectAddToOutput(ring0, edge0, ring1, edge1);\n }\n }\n }\n }\n }\n\n if (!filterFn) output = {type: \"Feature\", geometry: {type: \"MultiPoint\", coordinates: output}};\n return output;\n\n // true if frac is (almost) 1.0 or 0.0\n function isBoundaryCase(frac){\n var e2 = options.epsilon * options.epsilon;\n return e2 >= (frac-1)*(frac-1) || e2 >= frac*frac;\n }\n function isOutside(frac){\n return frac < 0 - options.epsilon || frac > 1 + options.epsilon;\n }\n // Function to check if two edges intersect and add the intersection to the output\n function ifIsectAddToOutput(ring0, edge0, ring1, edge1) {\n var start0 = coord[ring0][edge0];\n var end0 = coord[ring0][edge0+1];\n var start1 = coord[ring1][edge1];\n var end1 = coord[ring1][edge1+1];\n\n var isect = intersect(start0, end0, start1, end1);\n\n if (isect == null) return; // discard parallels and coincidence\n frac0, frac1;\n if (end0[0] != start0[0]) {\n var frac0 = (isect[0]-start0[0])/(end0[0]-start0[0]);\n } else {\n var frac0 = (isect[1]-start0[1])/(end0[1]-start0[1]);\n };\n if (end1[0] != start1[0]) {\n var frac1 = (isect[0]-start1[0])/(end1[0]-start1[0]);\n } else {\n var frac1 = (isect[1]-start1[1])/(end1[1]-start1[1]);\n };\n\n // There are roughly three cases we need to deal with.\n // 1. If at least one of the fracs lies outside [0,1], there is no intersection.\n if (isOutside(frac0) || isOutside(frac1)) {\n return; // require segment intersection\n }\n\n // 2. If both are either exactly 0 or exactly 1, this is not an intersection but just\n // two edge segments sharing a common vertex.\n if (isBoundaryCase(frac0) && isBoundaryCase(frac1)){\n if(! options.reportVertexOnVertex) return;\n }\n\n // 3. If only one of the fractions is exactly 0 or 1, this is\n // a vertex-on-edge situation.\n if (isBoundaryCase(frac0) || isBoundaryCase(frac1)){\n if(! options.reportVertexOnEdge) return;\n }\n\n var key = isect;\n var unique = !seen[key];\n if (unique) {\n seen[key] = true;\n }\n\n if (filterFn) {\n output.push(filterFn(isect, ring0, edge0, start0, end0, frac0, ring1, edge1, start1, end1, frac1, unique));\n } else {\n output.push(isect);\n }\n }\n\n // Function to return a rbush tree item given an ring and edge number\n function rbushTreeItem(ring, edge) {\n\n var start = coord[ring][edge];\n var end = coord[ring][edge+1];\n\n if (start[0] < end[0]) {\n var minX = start[0], maxX = end[0];\n } else {\n var minX = end[0], maxX = start[0];\n };\n if (start[1] < end[1]) {\n var minY = start[1], maxY = end[1];\n } else {\n var minY = end[1], maxY = start[1];\n }\n return {minX: minX, minY: minY, maxX: maxX, maxY: maxY, ring: ring, edge: edge};\n }\n\n}\n\n// Function to compute where two lines (not segments) intersect. From https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection\nfunction intersect(start0, end0, start1, end1) {\n if (equalArrays(start0,start1) || equalArrays(start0,end1) || equalArrays(end0,start1) || equalArrays(end1,start1)) return null;\n var x0 = start0[0],\n y0 = start0[1],\n x1 = end0[0],\n y1 = end0[1],\n x2 = start1[0],\n y2 = start1[1],\n x3 = end1[0],\n y3 = end1[1];\n var denom = (x0 - x1) * (y2 - y3) - (y0 - y1) * (x2 - x3);\n if (denom == 0) return null;\n var x4 = ((x0 * y1 - y0 * x1) * (x2 - x3) - (x0 - x1) * (x2 * y3 - y2 * x3)) / denom;\n var y4 = ((x0 * y1 - y0 * x1) * (y2 - y3) - (y0 - y1) * (x2 * y3 - y2 * x3)) / denom;\n return [x4, y4];\n}\n\n// Function to compare Arrays of numbers. From http://stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript\nfunction equalArrays(array1, array2) {\n // if the other array is a falsy value, return\n if (!array1 || !array2)\n return false;\n\n // compare lengths - can save a lot of time\n if (array1.length != array2.length)\n return false;\n\n for (var i = 0, l=array1.length; i < l; i++) {\n // Check if we have nested arrays\n if (array1[i] instanceof Array && array2[i] instanceof Array) {\n // recurse into the nested arrays\n if (!equalArrays(array1[i],array2[i]))\n return false;\n }\n else if (array1[i] != array2[i]) {\n // Warning - two different object instances will never be equal: {x:20} != {x:20}\n return false;\n }\n }\n return true;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"collapsible-section\",class:{expanded: _vm.show}},[_c('div',{staticClass:\"collapsible-section-header\",class:{expanded: _vm.show},on:{\"click\":_vm.toggle}},[_c('h4',{staticClass:\"header-text\"},[_vm._t(\"header\",[_vm._v(\"\\n \"+_vm._s(_vm.header)+\"\\n \")])],2),_c('div',{staticClass:\"header-control\"},[_c('small',{staticClass:\"hint\"},[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.show)?_c('div',{key:true},[_vm._t(\"hint-hide\")],2):_c('div',{key:false},[_vm._t(\"hint-show\")],2)])],1),_c('div',{staticClass:\"header-icon\",class:{expanded: _vm.show}},[_c('i',{staticClass:\"fa fa-caret-down\"})])])]),_c('CollapseTransition',{on:{\"shown\":function($event){return _vm.$emit('shown')}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],staticClass:\"collapsible-section-content\"},[_c('div',{staticClass:\"default-slot-content\"},[_vm._t(\"default\")],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsibleSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollapsibleSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CollapsibleSection.vue?vue&type=template&id=329a5962&scoped=true&lang=html&\"\nimport script from \"./CollapsibleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./CollapsibleSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollapsibleSection.vue?vue&type=style&index=0&id=329a5962&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"329a5962\",\n null\n \n)\n\nexport default component.exports","var getCoord = require('@turf/invariant').getCoord;\n//http://en.wikipedia.org/wiki/Haversine_formula\n//http://www.movable-type.co.uk/scripts/latlong.html\n\n/**\n * Takes two {@link Point|points} and finds the geographic bearing between them,\n * i.e. the angle measured in degrees from the north line (0 degrees)\n *\n * @name bearing\n * @param {Geometry|Feature|Array} start starting Point\n * @param {Geometry|Feature|Array} end ending Point\n * @param {boolean} [final=false] calculates the final bearing if true\n * @returns {number} bearing in decimal degrees, between -180 and 180 degrees (positive clockwise)\n * @example\n * var point1 = turf.point([-75.343, 39.984]);\n * var point2 = turf.point([-75.534, 39.123]);\n *\n * var bearing = turf.bearing(point1, point2);\n *\n * //addToMap\n * var addToMap = [point1, point2]\n * point1.properties['marker-color'] = '#f00'\n * point2.properties['marker-color'] = '#0f0'\n * point1.properties.bearing = bearing\n */\nfunction bearing(start, end, final) {\n if (final === true) return calculateFinalBearing(start, end);\n\n var degrees2radians = Math.PI / 180;\n var radians2degrees = 180 / Math.PI;\n var coordinates1 = getCoord(start);\n var coordinates2 = getCoord(end);\n\n var lon1 = degrees2radians * coordinates1[0];\n var lon2 = degrees2radians * coordinates2[0];\n var lat1 = degrees2radians * coordinates1[1];\n var lat2 = degrees2radians * coordinates2[1];\n var a = Math.sin(lon2 - lon1) * Math.cos(lat2);\n var b = Math.cos(lat1) * Math.sin(lat2) -\n Math.sin(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1);\n\n var bear = radians2degrees * Math.atan2(a, b);\n\n return bear;\n}\n\n/**\n * Calculates Final Bearing\n * @private\n * @param {Feature} start starting Point\n * @param {Feature} end ending Point\n * @returns {number} bearing\n */\nfunction calculateFinalBearing(start, end) {\n // Swap start & end\n var bear = bearing(end, start);\n bear = (bear + 180) % 360;\n return bear;\n}\n\nmodule.exports = bearing;\n","var rbush = require('rbush');\nvar union = require('@turf/union');\nvar helpers = require('@turf/helpers');\nvar turfBBox = require('@turf/bbox');\nvar flattenEach = require('@turf/meta').flattenEach;\n\n/**\n * Takes any type of {@link Polygon|polygon} and an optional mask and returns a {@link Polygon|polygon} exterior ring with holes.\n *\n * @name mask\n * @param {FeatureCollection|Feature} polygon GeoJSON Polygon used as interior rings or holes.\n * @param {Feature} [mask] GeoJSON Polygon used as the exterior ring (if undefined, the world extent is used)\n * @returns {Feature} Masked Polygon (exterior ring with holes).\n * @example\n * var polygon = turf.polygon([[[112, -21], [116, -36], [146, -39], [153, -24], [133, -10], [112, -21]]]);\n * var mask = turf.polygon([[[90, -55], [170, -55], [170, 10], [90, 10], [90, -55]]]);\n *\n * var masked = turf.mask(polygon, mask);\n *\n * //addToMap\n * var addToMap = [masked]\n */\nmodule.exports = function (polygon, mask) {\n // Define mask\n var maskPolygon = createMask(mask);\n\n // Define polygon\n var separated = separatePolygons(polygon);\n var polygonOuters = separated[0];\n var polygonInners = separated[1];\n\n // Union Outers & Inners\n polygonOuters = unionPolygons(polygonOuters);\n polygonInners = unionPolygons(polygonInners);\n\n // Create masked area\n var masked = buildMask(maskPolygon, polygonOuters, polygonInners);\n return masked;\n};\n\n/**\n * Build Mask\n *\n * @private\n * @param {Feature} maskPolygon Mask Outer\n * @param {FeatureCollection} polygonOuters Polygon Outers\n * @param {FeatureCollection} polygonInners Polygon Inners\n * @returns {Feature} Feature Polygon\n */\nfunction buildMask(maskPolygon, polygonOuters, polygonInners) {\n var coordinates = [];\n coordinates.push(maskPolygon.geometry.coordinates[0]);\n\n flattenEach(polygonOuters, function (feature) {\n coordinates.push(feature.geometry.coordinates[0]);\n });\n\n flattenEach(polygonInners, function (feature) {\n coordinates.push(feature.geometry.coordinates[0]);\n });\n return helpers.polygon(coordinates);\n}\n\n/**\n * Separate Polygons to inners & outers\n *\n * @private\n * @param {FeatureCollection|Feature} polygon GeoJSON Feature\n * @returns {Array, FeatureCollection>} Outer & Inner lines\n */\nfunction separatePolygons(polygon) {\n var outers = [];\n var inners = [];\n flattenEach(polygon, function (feature) {\n var coordinates = feature.geometry.coordinates;\n var featureOuter = coordinates[0];\n var featureInner = coordinates.slice(1);\n outers.push(helpers.polygon([featureOuter]));\n featureInner.forEach(function (inner) {\n inners.push(helpers.polygon([inner]));\n });\n });\n return [helpers.featureCollection(outers), helpers.featureCollection(inners)];\n}\n\n/**\n * Create Mask Coordinates\n *\n * @private\n * @param {Feature} [mask] default to world if undefined\n * @returns {Feature} mask coordinate\n */\nfunction createMask(mask) {\n var world = [[[180, 90], [-180, 90], [-180, -90], [180, -90], [180, 90]]];\n var coordinates = mask && mask.geometry.coordinates || world;\n return helpers.polygon(coordinates);\n}\n\n/**\n * Union Polygons\n *\n * @private\n * @param {FeatureCollection} polygons collection of polygons\n * @returns {FeatureCollection} polygons only apply union if they collide\n */\nfunction unionPolygons(polygons) {\n if (polygons.features.length <= 1) return polygons;\n\n var tree = createIndex(polygons);\n var results = [];\n var removed = {};\n\n flattenEach(polygons, function (currentFeature, currentIndex) {\n // Exclude any removed features\n if (removed[currentIndex]) return true;\n\n // Don't search for itself\n tree.remove({index: currentIndex}, filterByIndex);\n removed[currentIndex] = true;\n\n // Keep applying the union operation until no more overlapping features\n while (true) {\n var bbox = turfBBox(currentFeature);\n var search = tree.search({\n minX: bbox[0],\n minY: bbox[1],\n maxX: bbox[2],\n maxY: bbox[3]\n });\n if (search.length > 0) {\n var polys = search.map(function (item) {\n removed[item.index] = true;\n tree.remove({index: item.index}, filterByIndex);\n return item.geojson;\n });\n polys.push(currentFeature);\n currentFeature = union.apply(this, polys);\n }\n // Done\n if (search.length === 0) break;\n }\n results.push(currentFeature);\n });\n\n return helpers.featureCollection(results);\n}\n\n/**\n * Filter by Index - RBush helper function\n *\n * @private\n * @param {Object} a remove item\n * @param {Object} b search item\n * @returns {boolean} true if matches\n */\nfunction filterByIndex(a, b) {\n return a.index === b.index;\n}\n\n/**\n * Create RBush Tree Index\n *\n * @private\n * @param {FeatureCollection} features GeoJSON FeatureCollection\n * @returns {RBush} RBush Tree\n */\nfunction createIndex(features) {\n var tree = rbush();\n var load = [];\n flattenEach(features, function (feature, index) {\n var bbox = turfBBox(feature);\n load.push({\n minX: bbox[0],\n minY: bbox[1],\n maxX: bbox[2],\n maxY: bbox[3],\n geojson: feature,\n index: index\n });\n });\n tree.load(load);\n return tree;\n}\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.PolarArea = function(context, config) {\n\t\tconfig.type = 'polarArea';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","export default {\r\n mounted () {\r\n this.$store.commit('fieldRecordSystem/map/setDefaultInteractionsEnabled', false)\r\n },\r\n beforeDestroy () {\r\n this.$store.commit('fieldRecordSystem/map/setDefaultInteractionsEnabled', true)\r\n }\r\n}\r\n","/**\n * Chart.Platform implementation for targeting a web browser\n */\n\n'use strict';\n\nvar helpers = require('../helpers/index');\n\nvar EXPANDO_KEY = '$chartjs';\nvar CSS_PREFIX = 'chartjs-';\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\n\n/**\n * DOM event types -> Chart.js event types.\n * Note: only events with different types are mapped.\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\n */\nvar EVENT_TYPES = {\n\ttouchstart: 'mousedown',\n\ttouchmove: 'mousemove',\n\ttouchend: 'mouseup',\n\tpointerenter: 'mouseenter',\n\tpointerdown: 'mousedown',\n\tpointermove: 'mousemove',\n\tpointerup: 'mouseup',\n\tpointerleave: 'mouseout',\n\tpointerout: 'mouseout'\n};\n\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns {Number} Size in pixels or undefined if unknown.\n */\nfunction readUsedSize(element, property) {\n\tvar value = helpers.getStyle(element, property);\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n\treturn matches ? Number(matches[1]) : undefined;\n}\n\n/**\n * Initializes the canvas style and render size without modifying the canvas display size,\n * since responsiveness is handled by the controller.resize() method. The config is used\n * to determine the aspect ratio to apply in case no explicit height has been specified.\n */\nfunction initCanvas(canvas, config) {\n\tvar style = canvas.style;\n\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\n\tvar renderHeight = canvas.getAttribute('height');\n\tvar renderWidth = canvas.getAttribute('width');\n\n\t// Chart.js modifies some canvas values that we want to restore on destroy\n\tcanvas[EXPANDO_KEY] = {\n\t\tinitial: {\n\t\t\theight: renderHeight,\n\t\t\twidth: renderWidth,\n\t\t\tstyle: {\n\t\t\t\tdisplay: style.display,\n\t\t\t\theight: style.height,\n\t\t\t\twidth: style.width\n\t\t\t}\n\t\t}\n\t};\n\n\t// Force canvas to display as block to avoid extra space caused by inline\n\t// elements, which would interfere with the responsive resize process.\n\t// https://github.com/chartjs/Chart.js/issues/2538\n\tstyle.display = style.display || 'block';\n\n\tif (renderWidth === null || renderWidth === '') {\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\n\t\tif (displayWidth !== undefined) {\n\t\t\tcanvas.width = displayWidth;\n\t\t}\n\t}\n\n\tif (renderHeight === null || renderHeight === '') {\n\t\tif (canvas.style.height === '') {\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\n\t\t\t// which one can be specified by the user but also by charts as default option\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\n\t\t} else {\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\n\t\t\tif (displayWidth !== undefined) {\n\t\t\t\tcanvas.height = displayHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn canvas;\n}\n\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */\nvar supportsEventListenerOptions = (function() {\n\tvar supports = false;\n\ttry {\n\t\tvar options = Object.defineProperty({}, 'passive', {\n\t\t\tget: function() {\n\t\t\t\tsupports = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('e', null, options);\n\t} catch (e) {\n\t\t// continue regardless of error\n\t}\n\treturn supports;\n}());\n\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n// https://github.com/chartjs/Chart.js/issues/4287\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\n\nfunction addEventListener(node, type, listener) {\n\tnode.addEventListener(type, listener, eventListenerOptions);\n}\n\nfunction removeEventListener(node, type, listener) {\n\tnode.removeEventListener(type, listener, eventListenerOptions);\n}\n\nfunction createEvent(type, chart, x, y, nativeEvent) {\n\treturn {\n\t\ttype: type,\n\t\tchart: chart,\n\t\tnative: nativeEvent || null,\n\t\tx: x !== undefined ? x : null,\n\t\ty: y !== undefined ? y : null,\n\t};\n}\n\nfunction fromNativeEvent(event, chart) {\n\tvar type = EVENT_TYPES[event.type] || event.type;\n\tvar pos = helpers.getRelativePosition(event, chart);\n\treturn createEvent(type, chart, pos.x, pos.y, event);\n}\n\nfunction throttled(fn, thisArg) {\n\tvar ticking = false;\n\tvar args = [];\n\n\treturn function() {\n\t\targs = Array.prototype.slice.call(arguments);\n\t\tthisArg = thisArg || this;\n\n\t\tif (!ticking) {\n\t\t\tticking = true;\n\t\t\thelpers.requestAnimFrame.call(window, function() {\n\t\t\t\tticking = false;\n\t\t\t\tfn.apply(thisArg, args);\n\t\t\t});\n\t\t}\n\t};\n}\n\n// Implementation based on https://github.com/marcj/css-element-queries\nfunction createResizer(handler) {\n\tvar resizer = document.createElement('div');\n\tvar cls = CSS_PREFIX + 'size-monitor';\n\tvar maxSize = 1000000;\n\tvar style =\n\t\t'position:absolute;' +\n\t\t'left:0;' +\n\t\t'top:0;' +\n\t\t'right:0;' +\n\t\t'bottom:0;' +\n\t\t'overflow:hidden;' +\n\t\t'pointer-events:none;' +\n\t\t'visibility:hidden;' +\n\t\t'z-index:-1;';\n\n\tresizer.style.cssText = style;\n\tresizer.className = cls;\n\tresizer.innerHTML =\n\t\t'
' +\n\t\t\t'
' +\n\t\t\t'
' +\n\t\t'
' +\n\t\t'
' +\n\t\t\t'
' +\n\t\t\t'
' +\n\t\t'
';\n\n\tvar expand = resizer.childNodes[0];\n\tvar shrink = resizer.childNodes[1];\n\n\tresizer._reset = function() {\n\t\texpand.scrollLeft = maxSize;\n\t\texpand.scrollTop = maxSize;\n\t\tshrink.scrollLeft = maxSize;\n\t\tshrink.scrollTop = maxSize;\n\t};\n\tvar onScroll = function() {\n\t\tresizer._reset();\n\t\thandler();\n\t};\n\n\taddEventListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\n\taddEventListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\n\n\treturn resizer;\n}\n\n// https://davidwalsh.name/detect-node-insertion\nfunction watchForRender(node, handler) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\tvar proxy = expando.renderProxy = function(e) {\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\n\t\t\thandler();\n\t\t}\n\t};\n\n\thelpers.each(ANIMATION_START_EVENTS, function(type) {\n\t\taddEventListener(node, type, proxy);\n\t});\n\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\n\t// is removed then added back immediately (same animation frame?). Accessing the\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\n\t// https://github.com/chartjs/Chart.js/issues/4737\n\texpando.reflow = !!node.offsetParent;\n\n\tnode.classList.add(CSS_RENDER_MONITOR);\n}\n\nfunction unwatchForRender(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar proxy = expando.renderProxy;\n\n\tif (proxy) {\n\t\thelpers.each(ANIMATION_START_EVENTS, function(type) {\n\t\t\tremoveEventListener(node, type, proxy);\n\t\t});\n\n\t\tdelete expando.renderProxy;\n\t}\n\n\tnode.classList.remove(CSS_RENDER_MONITOR);\n}\n\nfunction addResizeListener(node, listener, chart) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\n\t\tif (expando.resizer) {\n\t\t\treturn listener(createEvent('resize', chart));\n\t\t}\n\t}));\n\n\t// The resizer needs to be attached to the node parent, so we first need to be\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\n\twatchForRender(node, function() {\n\t\tif (expando.resizer) {\n\t\t\tvar container = node.parentNode;\n\t\t\tif (container && container !== resizer.parentNode) {\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\n\t\t\t}\n\n\t\t\t// The container size might have changed, let's reset the resizer state.\n\t\t\tresizer._reset();\n\t\t}\n\t});\n}\n\nfunction removeResizeListener(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar resizer = expando.resizer;\n\n\tdelete expando.resizer;\n\tunwatchForRender(node);\n\n\tif (resizer && resizer.parentNode) {\n\t\tresizer.parentNode.removeChild(resizer);\n\t}\n}\n\nfunction injectCSS(platform, css) {\n\t// http://stackoverflow.com/q/3922139\n\tvar style = platform._style || document.createElement('style');\n\tif (!platform._style) {\n\t\tplatform._style = style;\n\t\tcss = '/* Chart.js */\\n' + css;\n\t\tstyle.setAttribute('type', 'text/css');\n\t\tdocument.getElementsByTagName('head')[0].appendChild(style);\n\t}\n\n\tstyle.appendChild(document.createTextNode(css));\n}\n\nmodule.exports = {\n\t/**\n\t * This property holds whether this platform is enabled for the current environment.\n\t * Currently used by platform.js to select the proper implementation.\n\t * @private\n\t */\n\t_enabled: typeof window !== 'undefined' && typeof document !== 'undefined',\n\n\tinitialize: function() {\n\t\tvar keyframes = 'from{opacity:0.99}to{opacity:1}';\n\n\t\tinjectCSS(this,\n\t\t\t// DOM rendering detection\n\t\t\t// https://davidwalsh.name/detect-node-insertion\n\t\t\t'@-webkit-keyframes ' + CSS_RENDER_ANIMATION + '{' + keyframes + '}' +\n\t\t\t'@keyframes ' + CSS_RENDER_ANIMATION + '{' + keyframes + '}' +\n\t\t\t'.' + CSS_RENDER_MONITOR + '{' +\n\t\t\t\t'-webkit-animation:' + CSS_RENDER_ANIMATION + ' 0.001s;' +\n\t\t\t\t'animation:' + CSS_RENDER_ANIMATION + ' 0.001s;' +\n\t\t\t'}'\n\t\t);\n\t},\n\n\tacquireContext: function(item, config) {\n\t\tif (typeof item === 'string') {\n\t\t\titem = document.getElementById(item);\n\t\t} else if (item.length) {\n\t\t\t// Support for array based queries (such as jQuery)\n\t\t\titem = item[0];\n\t\t}\n\n\t\tif (item && item.canvas) {\n\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\titem = item.canvas;\n\t\t}\n\n\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\n\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\n\t\t// https://github.com/chartjs/Chart.js/issues/2807\n\t\tvar context = item && item.getContext && item.getContext('2d');\n\n\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\n\t\t// inside an iframe or when running in a protected environment. We could guess the\n\t\t// types from their toString() value but let's keep things flexible and assume it's\n\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\n\t\t// https://github.com/chartjs/Chart.js/issues/3887\n\t\t// https://github.com/chartjs/Chart.js/issues/4102\n\t\t// https://github.com/chartjs/Chart.js/issues/4152\n\t\tif (context && context.canvas === item) {\n\t\t\tinitCanvas(item, config);\n\t\t\treturn context;\n\t\t}\n\n\t\treturn null;\n\t},\n\n\treleaseContext: function(context) {\n\t\tvar canvas = context.canvas;\n\t\tif (!canvas[EXPANDO_KEY]) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar initial = canvas[EXPANDO_KEY].initial;\n\t\t['height', 'width'].forEach(function(prop) {\n\t\t\tvar value = initial[prop];\n\t\t\tif (helpers.isNullOrUndef(value)) {\n\t\t\t\tcanvas.removeAttribute(prop);\n\t\t\t} else {\n\t\t\t\tcanvas.setAttribute(prop, value);\n\t\t\t}\n\t\t});\n\n\t\thelpers.each(initial.style || {}, function(value, key) {\n\t\t\tcanvas.style[key] = value;\n\t\t});\n\n\t\t// The canvas render size might have been changed (and thus the state stack discarded),\n\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\n\t\t// least the canvas context is reset to the default state by setting the canvas width.\n\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\n\t\tcanvas.width = canvas.width;\n\n\t\tdelete canvas[EXPANDO_KEY];\n\t},\n\n\taddEventListener: function(chart, type, listener) {\n\t\tvar canvas = chart.canvas;\n\t\tif (type === 'resize') {\n\t\t\t// Note: the resize event is not supported on all browsers.\n\t\t\taddResizeListener(canvas, listener, chart);\n\t\t\treturn;\n\t\t}\n\n\t\tvar expando = listener[EXPANDO_KEY] || (listener[EXPANDO_KEY] = {});\n\t\tvar proxies = expando.proxies || (expando.proxies = {});\n\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\n\t\t\tlistener(fromNativeEvent(event, chart));\n\t\t};\n\n\t\taddEventListener(canvas, type, proxy);\n\t},\n\n\tremoveEventListener: function(chart, type, listener) {\n\t\tvar canvas = chart.canvas;\n\t\tif (type === 'resize') {\n\t\t\t// Note: the resize event is not supported on all browsers.\n\t\t\tremoveResizeListener(canvas, listener);\n\t\t\treturn;\n\t\t}\n\n\t\tvar expando = listener[EXPANDO_KEY] || {};\n\t\tvar proxies = expando.proxies || {};\n\t\tvar proxy = proxies[chart.id + '_' + type];\n\t\tif (!proxy) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveEventListener(canvas, type, proxy);\n\t}\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use EventTarget.addEventListener instead.\n * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n * @function Chart.helpers.addEvent\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.addEvent = addEventListener;\n\n/**\n * Provided for backward compatibility, use EventTarget.removeEventListener instead.\n * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener\n * @function Chart.helpers.removeEvent\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.removeEvent = removeEventListener;\n","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Vector-based spherical geodetic (latitude/longitude) functions (c) Chris Veness 2011-2017 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong-vectors.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-latlon-nvector-spherical.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var Vector3d = require('./vector3d.js'); // ≡ import Vector3d from 'vector3d.js'\nif (typeof module!='undefined' && module.exports) var Dms = require('./dms.js'); // ≡ import Dms from 'dms.js'\n\n\n/**\n * Tools for working with points and paths on (a spherical model of) the earth’s surface using a\n * vector-based approach using ‘n-vectors’ (rather than the more common spherical trigonometry;\n * a vector-based approach makes many calculations much simpler, and easier to follow, compared\n * with trigonometric equivalents).\n *\n * Note on a spherical model earth, an n-vector is equivalent to a normalised version of an (ECEF)\n * cartesian coordinate.\n *\n * @module latlon-vectors\n * @requires vector3d\n * @requires dms\n */\n\n\n/**\n * Creates a LatLon point on spherical model earth.\n *\n * @constructor\n * @param {number} lat - Latitude in degrees.\n * @param {number} lon - Longitude in degrees.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n */\nfunction LatLon(lat, lon) {\n // allow instantiation without 'new'\n if (!(this instanceof LatLon)) return new LatLon(lat, lon);\n\n this.lat = Number(lat);\n this.lon = Number(lon);\n}\n\n\n/**\n * Converts ‘this’ lat/lon point to Vector3d n-vector (normal to earth's surface).\n *\n * @returns {Vector3d} Normalised n-vector representing lat/lon point.\n *\n * @example\n * var p = new LatLon(45, 45);\n * var v = p.toVector(); // [0.5000,0.5000,0.7071]\n */\nLatLon.prototype.toVector = function() {\n var φ = this.lat.toRadians();\n var λ = this.lon.toRadians();\n\n // right-handed vector: x -> 0°E,0°N; y -> 90°E,0°N, z -> 90°N\n var x = Math.cos(φ) * Math.cos(λ);\n var y = Math.cos(φ) * Math.sin(λ);\n var z = Math.sin(φ);\n\n return new Vector3d(x, y, z);\n};\n\n\n/**\n * Converts ‘this’ (geocentric) cartesian vector to (spherical) latitude/longitude point.\n *\n * @returns {LatLon} Latitude/longitude point vector points to.\n *\n * @example\n * var v = new Vector3d(0.500, 0.500, 0.707);\n * var p = v.toLatLonS(); // 45.0°N, 45.0°E\n */\nVector3d.prototype.toLatLonS = function() {\n var φ = Math.atan2(this.z, Math.sqrt(this.x*this.x + this.y*this.y));\n var λ = Math.atan2(this.y, this.x);\n\n return new LatLon(φ.toDegrees(), λ.toDegrees());\n};\n\n\n/**\n * N-vector normal to great circle obtained by heading on given bearing from ‘this’ point.\n *\n * Direction of vector is such that initial bearing vector b = c × p.\n *\n * @param {number} bearing - Compass bearing in degrees.\n * @returns {Vector3d} Normalised vector representing great circle.\n *\n * @example\n * var p1 = new LatLon(53.3206, -1.7297);\n * var gc = p1.greatCircle(96.0); // [-0.794,0.129,0.594]\n */\nLatLon.prototype.greatCircle = function(bearing) {\n var φ = this.lat.toRadians();\n var λ = this.lon.toRadians();\n var θ = Number(bearing).toRadians();\n\n var x = Math.sin(λ) * Math.cos(θ) - Math.sin(φ) * Math.cos(λ) * Math.sin(θ);\n var y = -Math.cos(λ) * Math.cos(θ) - Math.sin(φ) * Math.sin(λ) * Math.sin(θ);\n var z = Math.cos(φ) * Math.sin(θ);\n\n return new Vector3d(x, y, z);\n};\n\n\n/**\n * N-vector normal to great circle obtained by heading on given bearing from point given by ‘this’\n * n-vector.\n *\n * Direction of vector is such that initial bearing vector b = c × p.\n *\n * @param {number} bearing - Compass bearing in degrees.\n * @returns {Vector3d} Normalised vector representing great circle.\n *\n * @example\n * var n1 = new LatLon(53.3206, -1.7297).toNvector();\n * var gc = n1.greatCircle(96.0); // [-0.794,0.129,0.594]\n */\nVector3d.prototype.greatCircle = function(bearing) {\n var θ = Number(bearing).toRadians();\n\n var N = new Vector3d(0, 0, 1);\n var e = N.cross(this); // easting\n var n = this.cross(e); // northing\n var eʹ = e.times(Math.cos(θ)/e.length());\n var nʹ = n.times(Math.sin(θ)/n.length());\n var c = nʹ.minus(eʹ);\n\n return c;\n};\n\n\n/**\n * Returns the distance from ‘this’ point to the specified point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance between this point and destination point, in same units as radius.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var d = p1.distanceTo(p2); // 404.3 km\n */\nLatLon.prototype.distanceTo = function(point, radius) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n radius = (radius === undefined) ? 6371e3 : Number(radius);\n\n var p1 = this.toVector();\n var p2 = point.toVector();\n\n var δ = p1.angleTo(p2); // δ = atan2(|p₁×p₂|, p₁·p₂)\n var d = δ * radius;\n\n return d;\n};\n\n\n/**\n * Returns the (initial) bearing from ‘this’ point to the specified point, in compass degrees.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {number} Initial bearing in degrees from North (0°..360°).\n * @throws {TypeError} Point is not LatLon object.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var b1 = p1.bearingTo(p2); // 156.2°\n */\nLatLon.prototype.bearingTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n var p1 = this.toVector();\n var p2 = point.toVector();\n\n var N = new Vector3d(0, 0, 1); // n-vector representing north pole\n\n var c1 = p1.cross(p2); // great circle through p1 & p2\n var c2 = p1.cross(N); // great circle through p1 & north pole\n\n var θ = c1.angleTo(c2, p1); // bearing is (signed) angle between c1 & c2\n\n return (θ.toDegrees()+360) % 360; // normalise to 0..360\n};\n\n\n/**\n * Returns the midpoint between ‘this’ point and specified point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {LatLon} Midpoint between this point and destination point.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var pMid = p1.midpointTo(p2); // 50.5363°N, 001.2746°E\n */\nLatLon.prototype.midpointTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n var p1 = this.toVector();\n var p2 = point.toVector();\n\n var mid = p1.plus(p2).unit();\n\n return mid.toLatLonS();\n};\n\n\n/**\n * Returns the point at given fraction between ‘this’ point and specified point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @param {number} fraction - Fraction between the two points (0 = this point, 1 = specified point).\n * @returns {LatLon} Intermediate point between this point and destination point.\n * @throws {TypeError} Point is not LatLon object.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var pInt = p1.intermediatePointTo(p2, 0.25); // 51.3721°N, 000.7073°E\n */\nLatLon.prototype.intermediatePointTo = function(point, fraction) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n // angular distance between points; tanδ = |n₁×n₂| / n₁⋅n₂\n var n1 = this.toVector();\n var n2 = point.toVector();\n var sinθ = n1.cross(n2).length();\n var cosθ = n1.dot(n2);\n var δ = Math.atan2(sinθ, cosθ);\n\n // interpolated angular distance on straight line between points\n var δi = δ * Number(fraction);\n var sinδi = Math.sin(δi);\n var cosδi = Math.cos(δi);\n\n // direction vector (perpendicular to n1 in plane of n2)\n var d = n1.cross(n2).unit().cross(n1); // unit(n₁×n₂) × n₁\n\n // interpolated position\n var int = n1.times(cosδi).plus(d.times(sinδi)); // n₁⋅cosδᵢ + d⋅sinδᵢ\n\n return new Vector3d(int.x, int.y, int.z).toLatLonS();\n};\n\n\n/**\n * Returns the latitude/longitude point projected from the point at given fraction on a straight\n * line between between ‘this’ point and specified point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @param {number} fraction - Fraction between the two points (0 = this point, 1 = specified point).\n * @returns {LatLon} Intermediate point between this point and destination point.\n * @throws {TypeError} Point is not LatLon object.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var pInt = p1.intermediatePointOnChordTo(p2, 0.25); // 51.3723°N, 000.7072°E\n */\nLatLon.prototype.intermediatePointOnChordTo = function(point, fraction) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n var n1 = this.toVector();\n var n2 = point.toVector();\n\n var int = n1.plus(n2.minus(n1).times(Number(fraction))); // n₁ + (n₂−n₁)·f ≡ n₁·(1-f) + n₂·f\n\n return new Vector3d(int.x, int.y, int.z).toLatLonS();\n};\n\n\n/**\n * Returns the destination point from ‘this’ point having travelled the given distance on the\n * given initial bearing (bearing will normally vary before destination is reached).\n *\n * @param {number} distance - Distance travelled, in same units as earth radius (default: metres).\n * @param {number} bearing - Initial bearing in degrees from north.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {LatLon} Destination point.\n *\n * @example\n * var p1 = new LatLon(51.4778, -0.0015);\n * var p2 = p1.destinationPoint(7794, 300.7); // 51.5135°N, 000.0983°W\n */\nLatLon.prototype.destinationPoint = function(distance, bearing, radius) {\n radius = (radius === undefined) ? 6371e3 : Number(radius);\n\n var n1 = this.toVector();\n var δ = Number(distance) / radius; // angular distance in radians\n var θ = Number(bearing).toRadians();\n\n var N = new Vector3d(0, 0, 1); // north pole\n\n var de = N.cross(n1).unit(); // east direction vector @ n1\n var dn = n1.cross(de); // north direction vector @ n1\n\n var deSinθ = de.times(Math.sin(θ));\n var dnCosθ = dn.times(Math.cos(θ));\n\n var d = dnCosθ.plus(deSinθ); // direction vector @ n1 (≡ C×n1; C = great circle)\n\n var x = n1.times(Math.cos(δ)); // component of n2 parallel to n1\n var y = d.times(Math.sin(δ)); // component of n2 perpendicular to n1\n\n var n2 = x.plus(y);\n\n return n2.toLatLonS();\n};\n\n\n/**\n * Returns the point of intersection of two paths each defined by point pairs or start point and bearing.\n *\n * @param {LatLon} path1start - Start point of first path.\n * @param {LatLon|number} path1brngEnd - End point of first path or initial bearing from first start point.\n * @param {LatLon} path2start - Start point of second path.\n * @param {LatLon|number} path2brngEnd - End point of second path or initial bearing from second start point.\n * @returns {LatLon} Destination point (null if no unique intersection defined)\n *\n * @example\n * var p1 = LatLon(51.8853, 0.2545), brng1 = 108.55;\n * var p2 = LatLon(49.0034, 2.5735), brng2 = 32.44;\n * var pInt = LatLon.intersection(p1, brng1, p2, brng2); // 50.9076°N, 004.5086°E\n */\nLatLon.intersection = function(path1start, path1brngEnd, path2start, path2brngEnd) {\n if (!(path1start instanceof LatLon)) throw new TypeError('path1start is not LatLon object');\n if (!(path2start instanceof LatLon)) throw new TypeError('path2start is not LatLon object');\n if (!(path1brngEnd instanceof LatLon) && isNaN(path1brngEnd)) throw new TypeError('path1brngEnd is not LatLon object or bearing');\n if (!(path2brngEnd instanceof LatLon) && isNaN(path2brngEnd)) throw new TypeError('path2brngEnd is not LatLon object or bearing');\n\n // if c1 & c2 are great circles through start and end points (or defined by start point + bearing),\n // then candidate intersections are simply c1 × c2 & c2 × c1; most of the work is deciding correct\n // intersection point to select! if bearing is given, that determines which intersection, if both\n // paths are defined by start/end points, take closer intersection\n\n var p1 = path1start.toVector();\n var p2 = path2start.toVector();\n\n var c1, c2, path1def, path2def;\n // c1 & c2 are vectors defining great circles through start & end points; p × c gives initial bearing vector\n\n if (path1brngEnd instanceof LatLon) { // path 1 defined by endpoint\n c1 = p1.cross(path1brngEnd.toVector());\n path1def = 'endpoint';\n } else { // path 1 defined by initial bearing\n c1 = path1start.greatCircle(Number(path1brngEnd));\n path1def = 'bearing';\n }\n if (path2brngEnd instanceof LatLon) { // path 2 defined by endpoint\n c2 = p2.cross(path2brngEnd.toVector());\n path2def = 'endpoint';\n } else { // path 2 defined by initial bearing\n c2 = path2start.greatCircle(Number(path2brngEnd));\n path2def = 'bearing';\n }\n\n // there are two (antipodal) candidate intersection points; we have to choose which to return\n var i1 = c1.cross(c2);\n var i2 = c2.cross(c1);\n\n // am I making heavy weather of this? is there a simpler way to do it?\n\n // selection of intersection point depends on how paths are defined (bearings or endpoints)\n var intersection=null, dir1=null, dir2=null;\n switch (path1def+'+'+path2def) {\n case 'bearing+bearing':\n // if c×p⋅i1 is +ve, the initial bearing is towards i1, otherwise towards antipodal i2\n dir1 = Math.sign(c1.cross(p1).dot(i1)); // c1×p1⋅i1 +ve means p1 bearing points to i1\n dir2 = Math.sign(c2.cross(p2).dot(i1)); // c2×p2⋅i1 +ve means p2 bearing points to i1\n\n switch (dir1+dir2) {\n case 2: // dir1, dir2 both +ve, 1 & 2 both pointing to i1\n intersection = i1;\n break;\n case -2: // dir1, dir2 both -ve, 1 & 2 both pointing to i2\n intersection = i2;\n break;\n case 0: // dir1, dir2 opposite; intersection is at further-away intersection point\n // take opposite intersection from mid-point of p1 & p2 [is this always true?]\n intersection = p1.plus(p2).dot(i1) > 0 ? i2 : i1;\n break;\n }\n break;\n case 'bearing+endpoint': // use bearing c1 × p1\n dir1 = Math.sign(c1.cross(p1).dot(i1)); // c1×p1⋅i1 +ve means p1 bearing points to i1\n intersection = dir1>0 ? i1 : i2;\n break;\n case 'endpoint+bearing': // use bearing c2 × p2\n dir2 = Math.sign(c2.cross(p2).dot(i1)); // c2×p2⋅i1 +ve means p2 bearing points to i1\n intersection = dir2>0 ? i1 : i2;\n break;\n case 'endpoint+endpoint': // select nearest intersection to mid-point of all points\n var mid = p1.plus(p2).plus(path1brngEnd.toVector()).plus(path2brngEnd.toVector());\n intersection = mid.dot(i1)>0 ? i1 : i2;\n break;\n }\n\n return intersection.toLatLonS();\n};\n\n\n/**\n * Returns (signed) distance from ‘this’ point to great circle defined by start-point and end-point/bearing.\n *\n * @param {LatLon} pathStart - Start point of great circle path.\n * @param {LatLon|number} pathBrngEnd - End point of great circle path or initial bearing from great circle start point.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance to great circle (-ve if to left, +ve if to right of path).\n *\n * @example\n * var pCurrent = new LatLon(53.2611, -0.7972);\n *\n * var p1 = new LatLon(53.3206, -1.7297), brng = 96.0;\n * var d = pCurrent.crossTrackDistanceTo(p1, brng);// -305.7 m\n *\n * var p1 = new LatLon(53.3206, -1.7297), p2 = new LatLon(53.1887, 0.1334);\n * var d = pCurrent.crossTrackDistanceTo(p1, p2); // -307.5 m\n */\nLatLon.prototype.crossTrackDistanceTo = function(pathStart, pathBrngEnd, radius) {\n if (!(pathStart instanceof LatLon)) throw new TypeError('pathStart is not LatLon object');\n var R = (radius === undefined) ? 6371e3 : Number(radius);\n\n var p = this.toVector();\n\n var gc = pathBrngEnd instanceof LatLon // (note JavaScript is not good at method overloading)\n ? pathStart.toVector().cross(pathBrngEnd.toVector()) // great circle defined by two points\n : pathStart.greatCircle(Number(pathBrngEnd)); // great circle defined by point + bearing\n\n var α = gc.angleTo(p) - Math.PI/2; // angle between point & great-circle\n\n var d = α * R;\n\n return d;\n};\n\n\n/**\n * Returns how far ‘this’ point is along a path from from start-point, heading on bearing or towards\n * end-point. That is, if a perpendicular is drawn from ‘this’ point to the (great circle) path, the\n * along-track distance is the distance from the start point to where the perpendicular crosses the\n * path.\n *\n * @param {LatLon} pathStart - Start point of great circle path.\n * @param {LatLon|number} pathBrngEnd - End point of great circle path or initial bearing from great circle start point.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance along great circle to point nearest ‘this’ point.\n *\n * @example\n * var pCurrent = new LatLon(53.2611, -0.7972);\n * var p1 = new LatLon(53.3206, -1.7297);\n * var p2 = new LatLon(53.1887, 0.1334);\n * var d = pCurrent.alongTrackDistanceTo(p1, p2); // 62.331 km\n */\nLatLon.prototype.alongTrackDistanceTo = function(pathStart, pathBrngEnd, radius) {\n if (!(pathStart instanceof LatLon)) throw new TypeError('pathStart is not LatLon object');\n var R = (radius === undefined) ? 6371e3 : Number(radius);\n\n var p = this.toVector();\n\n var gc = pathBrngEnd instanceof LatLon // (note JavaScript is not good at method overloading)\n ? pathStart.toVector().cross(pathBrngEnd.toVector()) // great circle defined by two points\n : pathStart.greatCircle(Number(pathBrngEnd)); // great circle defined by point + bearing\n\n var pat = gc.cross(p).cross(gc); // along-track point c × p × c\n\n var α = pathStart.toVector().angleTo(pat, gc); // angle between start point and along-track point\n\n var d = α * R;\n\n return d;\n};\n\n\n/**\n * Returns closest point on great circle segment between point1 & point2 to ‘this’ point.\n *\n * If this point is ‘within’ the extent of the segment, the point is on the segment between point1 &\n * point2; otherwise, it is the closer of the endpoints defining the segment.\n *\n * @param {LatLon} point1 - Start point of great circle segment.\n * @param {LatLon} point2 - End point of great circle segment.\n * @returns {number} point on segment.\n *\n * @example\n * var p1 = new LatLon(51.0, 1.0), p2 = new LatLon(51.0, 2.0);\n *\n * var p0 = new LatLon(51.0, 1.9);\n * var p = p0.nearestPointOnSegment(p1, p2); // 51.0004°N, 001.9000°E\n * var d = p.distanceTo(p); // 42.71 m\n *\n * var p0 = new LatLon(51.0, 2.1);\n * var p = p0.nearestPointOnSegment(p1, p2); // 51.0000°N, 002.0000°E\n */\nLatLon.prototype.nearestPointOnSegment = function(point1, point2) {\n var p = null;\n\n if (this.isBetween(point1, point2)) {\n // closer to segment than to its endpoints, find closest point on segment\n var n0 = this.toVector(), n1 = point1.toVector(), n2 = point2.toVector();\n var c1 = n1.cross(n2); // n1×n2 = vector representing great circle through p1, p2\n var c2 = n0.cross(c1); // n0×c1 = vector representing great circle through p0 normal to c1\n var n = c1.cross(c2); // c2×c1 = nearest point on c1 to n0\n p = n.toLatLonS();\n } else {\n // beyond segment extent, take closer endpoint\n var d1 = this.distanceTo(point1);\n var d2 = this.distanceTo(point2);\n p = d1p1, p0->p2, p1->p2, p2->p1\n var δ10 = n0.minus(n1), δ12 = n2.minus(n1);\n var δ20 = n0.minus(n2), δ21 = n1.minus(n2);\n\n // dot product δ10⋅δ12 tells us if p0 is on p2 side of p1, similarly for δ20⋅δ21\n var extent1 = δ10.dot(δ12);\n var extent2 = δ20.dot(δ21);\n\n var isBetween = extent1>=0 && extent2>=0;\n var isSameHemisphere = n0.dot(n1)>=0 && n0.dot(n2)>=0;\n\n return isBetween && isSameHemisphere;\n};\n\n\n/**\n * Tests whether ‘this’ point is enclosed by the polygon defined by a set of points.\n *\n * @param {LatLon[]} polygon - Ordered array of points defining vertices of polygon.\n * @returns {bool} Whether this point is enclosed by polygon.\n *\n * @example\n * var bounds = [ new LatLon(45,1), new LatLon(45,2), new LatLon(46,2), new LatLon(46,1) ];\n * var p = new LatLon(45.1, 1.1);\n * var inside = p.enclosedBy(bounds); // true\n */\nLatLon.prototype.enclosedBy = function(polygon) {\n // this method uses angle summation test; on a plane, angles for an enclosed point will sum\n // to 360°, angles for an exterior point will sum to 0°. On a sphere, enclosed point angles\n // will sum to less than 360° (due to spherical excess), exterior point angles will be small\n // but non-zero. TODO: are any winding number optimisations applicable to spherical surface?\n\n // close the polygon so that the last point equals the first point\n var closed = polygon[0].equals(polygon[polygon.length-1]);\n if (!closed) polygon.push(polygon[0]);\n\n var nVertices = polygon.length - 1;\n\n var p = this.toVector();\n\n // get vectors from p to each vertex\n var vectorToVertex = [];\n for (var v=0; v Math.PI;\n\n if (!closed) polygon.pop(); // restore polygon to pristine condition\n\n return enclosed;\n};\n\n\n/**\n * Calculates the area of a spherical polygon where the sides of the polygon are great circle\n * arcs joining the vertices.\n *\n * @param {LatLon[]} polygon - Array of points defining vertices of the polygon.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} The area of the polygon in the same units as radius.\n *\n * @example\n * var polygon = [ new LatLon(0,0), new LatLon(1,0), new LatLon(0,1) ];\n * var area = LatLon.areaOf(polygon); // 6.18e9 m²\n */\nLatLon.areaOf = function(polygon, radius) {\n // uses Girard’s theorem: A = [Σθᵢ − (n−2)·π]·R²\n\n var R = (radius == undefined) ? 6371e3 : Number(radius);\n\n // close the polygon so that the last point equals the first point\n var closed = polygon[0].equals(polygon[polygon.length-1]);\n if (!closed) polygon.push(polygon[0]);\n\n var n = polygon.length - 1; // number of vertices\n\n // get great-circle vector for each edge\n var c = [];\n for (var v=0; v 0 ? 1 : -1;\n };\n}\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = LatLon, module.exports.Vector3d = Vector3d; // ≡ export { LatLon as default, Vector3d }\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OsbModal.vue?vue&type=style&index=0&id=c0d231c2&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OsbModal.vue?vue&type=style&index=0&id=c0d231c2&lang=scss&scoped=true&\"","function flatten(gj) {\n switch ((gj && gj.type) || null) {\n case 'FeatureCollection':\n gj.features = gj.features.reduce(function(mem, feature) {\n return mem.concat(flatten(feature));\n }, []);\n return gj;\n case 'Feature':\n if (!gj.geometry) return gj;\n return flatten(gj.geometry).map(function(geom) {\n return {\n type: 'Feature',\n properties: JSON.parse(JSON.stringify(gj.properties)),\n geometry: geom\n };\n });\n case 'MultiPoint':\n return gj.coordinates.map(function(_) {\n return { type: 'Point', coordinates: _ };\n });\n case 'MultiPolygon':\n return gj.coordinates.map(function(_) {\n return { type: 'Polygon', coordinates: _ };\n });\n case 'MultiLineString':\n return gj.coordinates.map(function(_) {\n return { type: 'LineString', coordinates: _ };\n });\n case 'GeometryCollection':\n return gj.geometries.map(flatten).reduce(function(memo, geoms) {\n return memo.concat(geoms);\n }, []);\n case 'Point':\n case 'Polygon':\n case 'LineString':\n return [gj];\n }\n}\n\nmodule.exports = flatten;\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","var measureDistance = require('@turf/distance');\nvar point = require('@turf/helpers').point;\nvar bearing = require('@turf/bearing');\nvar destination = require('@turf/destination');\n\n/**\n * Takes a {@link LineString|line} and returns a {@link Point|point} at a specified distance along the line.\n *\n * @name along\n * @param {Feature} line input line\n * @param {number} distance distance along the line\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {Feature} Point `distance` `units` along the line\n * @example\n * var line = turf.lineString([[-83, 30], [-84, 36], [-78, 41]]);\n *\n * var along = turf.along(line, 200, 'miles');\n *\n * //addToMap\n * var addToMap = [along, line]\n */\nmodule.exports = function (line, distance, units) {\n var coords;\n if (line.type === 'Feature') coords = line.geometry.coordinates;\n else if (line.type === 'LineString') coords = line.coordinates;\n else throw new Error('input must be a LineString Feature or Geometry');\n\n var travelled = 0;\n for (var i = 0; i < coords.length; i++) {\n if (distance >= travelled && i === coords.length - 1) break;\n else if (travelled >= distance) {\n var overshot = distance - travelled;\n if (!overshot) return point(coords[i]);\n else {\n var direction = bearing(coords[i], coords[i - 1]) - 180;\n var interpolated = destination(coords[i], overshot, direction, units);\n return interpolated;\n }\n } else {\n travelled += measureDistance(coords[i], coords[i + 1], units);\n }\n }\n return point(coords[coords.length - 1]);\n};\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterpolationMapDetails.vue?vue&type=style&index=0&id=661ad93a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterpolationMapDetails.vue?vue&type=style&index=0&id=661ad93a&lang=scss&scoped=true&\"","// http://stackoverflow.com/questions/11935175/sampling-a-random-subset-from-an-array\nvar featureCollection = require('@turf/helpers').featureCollection;\n\n/**\n * Takes a {@link FeatureCollection} and returns a FeatureCollection with given number of {@link Feature|features} at random.\n *\n * @name sample\n * @param {FeatureCollection} featurecollection set of input features\n * @param {number} num number of features to select\n * @returns {FeatureCollection} a FeatureCollection with `n` features\n * @example\n * var points = turf.random('points', 100, {\n * bbox: [-80, 30, -60, 60]\n * });\n *\n * var sample = turf.sample(points, 5);\n *\n * //addToMap\n * var addToMap = [points, sample]\n * turf.featureEach(sample, function (currentFeature) {\n * currentFeature.properties['marker-size'] = 'large';\n * currentFeature.properties['marker-color'] = '#000';\n * });\n */\nmodule.exports = function (featurecollection, num) {\n var outFC = featureCollection(getRandomSubarray(featurecollection.features, num));\n return outFC;\n};\n\nfunction getRandomSubarray(arr, size) {\n var shuffled = arr.slice(0), i = arr.length, min = i - size, temp, index;\n while (i-- > min) {\n index = Math.floor((i + 1) * Math.random());\n temp = shuffled[index];\n shuffled[index] = shuffled[i];\n shuffled[i] = temp;\n }\n return shuffled.slice(min);\n}\n","/*!\n* @license GNU Affero General Public License.\n* Copyright (c) 2015, 2015 Ronny Lorenz \n* v. 1.2.0\n* https://github.com/RaumZeit/MarchingSquares.js\n*/\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function() { return { isoBands : factory() }; })\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = { isoBands : factory() };\n } else {\n // Browser globals (root is window)\n root.MarchingSquaresJS = {\n isoBands : factory(),\n isoContours : (root.MarchingSquaresJS) ? root.MarchingSquaresJS.isoContours : null\n };\n }\n}(this, function () {\n\n var defaultSettings = {\n successCallback: null,\n verbose: false,\n polygons: false\n };\n \n var settings = {};\n \n /*\n Compute isobands(s) of a scalar 2D field given a certain\n threshold and a bandwidth by applying the Marching Squares\n Algorithm. The function returns a list of path coordinates\n either for individual polygons within each grid cell, or the\n outline of connected polygons.\n */\n function isoBands(data, minV, bandwidth, options){\n /* process options */\n options = options ? options : {};\n\n var optionKeys = Object.keys(defaultSettings);\n\n for(var i = 0; i < optionKeys.length; i++){\n var key = optionKeys[i];\n var val = options[key];\n val = ((typeof val !== 'undefined') && (val !== null)) ? val : defaultSettings[key];\n\n settings[key] = val;\n }\n\n if(settings.verbose)\n console.log(\"MarchingSquaresJS-isoBands: computing isobands for [\" + minV + \":\" + (minV + bandwidth) + \"]\");\n\n var grid = computeBandGrid(data, minV, bandwidth);\n\n var ret;\n if(settings.polygons){\n if (settings.verbose)\n console.log(\"MarchingSquaresJS-isoBands: returning single polygons for each grid cell\");\n ret = BandGrid2Areas(grid);\n } else {\n if (settings.verbose)\n console.log(\"MarchingSquaresJS-isoBands: returning polygon paths for entire data grid\");\n ret = BandGrid2AreaPaths(grid);\n }\n\n if(typeof settings.successCallback === 'function')\n settings.successCallback(ret);\n\n return ret;\n }\n\n /*\n Thats all for the public interface, below follows the actual\n implementation\n */\n\n /* Some private variables */\n var Node0 = 64,\n Node1 = 16,\n Node2 = 4,\n Node3 = 1;\n\n /* For isoBands, each square is defined by the three states\n of its corner points. However, since computers use power-2\n values, we use 2bits per trit, i.e.:\n\n 00 ... below minV\n 01 ... between minV and maxV\n 10 ... above maxV\n\n Hence we map the 4-trit configurations as follows:\n\n 0000 => 0\n 0001 => 1\n 0002 => 2\n 0010 => 4\n 0011 => 5\n 0012 => 6\n 0020 => 8\n 0021 => 9\n 0022 => 10\n 0100 => 16\n 0101 => 17\n 0102 => 18\n 0110 => 20\n 0111 => 21\n 0112 => 22\n 0120 => 24\n 0121 => 25\n 0122 => 26\n 0200 => 32\n 0201 => 33\n 0202 => 34\n 0210 => 36\n 0211 => 37\n 0212 => 38\n 0220 => 40\n 0221 => 41\n 0222 => 42\n 1000 => 64\n 1001 => 65\n 1002 => 66\n 1010 => 68\n 1011 => 69\n 1012 => 70\n 1020 => 72\n 1021 => 73\n 1022 => 74\n 1100 => 80\n 1101 => 81\n 1102 => 82\n 1110 => 84\n 1111 => 85\n 1112 => 86\n 1120 => 88\n 1121 => 89\n 1122 => 90\n 1200 => 96\n 1201 => 97\n 1202 => 98\n 1210 => 100\n 1211 => 101\n 1212 => 102\n 1220 => 104\n 1221 => 105\n 1222 => 106\n 2000 => 128\n 2001 => 129\n 2002 => 130\n 2010 => 132\n 2011 => 133\n 2012 => 134\n 2020 => 136\n 2021 => 137\n 2022 => 138\n 2100 => 144\n 2101 => 145\n 2102 => 146\n 2110 => 148\n 2111 => 149\n 2112 => 150\n 2120 => 152\n 2121 => 153\n 2122 => 154\n 2200 => 160\n 2201 => 161\n 2202 => 162\n 2210 => 164\n 2211 => 165\n 2212 => 166\n 2220 => 168\n 2221 => 169\n 2222 => 170\n */\n\n /*\n The look-up tables for tracing back the contour path\n of isoBands\n */\n\n var isoBandNextXTL = [];\n var isoBandNextYTL = [];\n var isoBandNextOTL = [];\n\n var isoBandNextXTR = [];\n var isoBandNextYTR = [];\n var isoBandNextOTR = [];\n\n var isoBandNextXRT = [];\n var isoBandNextYRT = [];\n var isoBandNextORT = [];\n\n var isoBandNextXRB = [];\n var isoBandNextYRB = [];\n var isoBandNextORB = [];\n\n var isoBandNextXBL = [];\n var isoBandNextYBL = [];\n var isoBandNextOBL = [];\n\n var isoBandNextXBR = [];\n var isoBandNextYBR = [];\n var isoBandNextOBR = [];\n\n var isoBandNextXLT = [];\n var isoBandNextYLT = [];\n var isoBandNextOLT = [];\n\n var isoBandNextXLB = [];\n var isoBandNextYLB = [];\n var isoBandNextOLB = [];\n\n isoBandNextXRT[85] = isoBandNextXRB[85] = -1;\n isoBandNextYRT[85] = isoBandNextYRB[85] = 0;\n isoBandNextORT[85] = isoBandNextORB[85] = 1;\n isoBandNextXLT[85] = isoBandNextXLB[85] = 1;\n isoBandNextYLT[85] = isoBandNextYLB[85] = 0;\n isoBandNextOLT[85] = isoBandNextOLB[85] = 1;\n\n isoBandNextXTL[85] = isoBandNextXTR[85] = 0;\n isoBandNextYTL[85] = isoBandNextYTR[85] = -1;\n isoBandNextOTL[85] = isoBandNextOBL[85] = 0;\n isoBandNextXBR[85] = isoBandNextXBL[85] = 0;\n isoBandNextYBR[85] = isoBandNextYBL[85] = 1;\n isoBandNextOTR[85] = isoBandNextOBR[85] = 1;\n\n\n /* triangle cases */\n isoBandNextXLB[1] = isoBandNextXLB[169] = 0;\n isoBandNextYLB[1] = isoBandNextYLB[169] = -1;\n isoBandNextOLB[1] = isoBandNextOLB[169] = 0;\n isoBandNextXBL[1] = isoBandNextXBL[169] = -1;\n isoBandNextYBL[1] = isoBandNextYBL[169] = 0;\n isoBandNextOBL[1] = isoBandNextOBL[169] = 0;\n\n isoBandNextXRB[4] = isoBandNextXRB[166] = 0;\n isoBandNextYRB[4] = isoBandNextYRB[166] = -1;\n isoBandNextORB[4] = isoBandNextORB[166] = 1;\n isoBandNextXBR[4] = isoBandNextXBR[166] = 1;\n isoBandNextYBR[4] = isoBandNextYBR[166] = 0;\n isoBandNextOBR[4] = isoBandNextOBR[166] = 0;\n\n isoBandNextXRT[16] = isoBandNextXRT[154] = 0;\n isoBandNextYRT[16] = isoBandNextYRT[154] = 1;\n isoBandNextORT[16] = isoBandNextORT[154] = 1;\n isoBandNextXTR[16] = isoBandNextXTR[154] = 1;\n isoBandNextYTR[16] = isoBandNextYTR[154] = 0;\n isoBandNextOTR[16] = isoBandNextOTR[154] = 1;\n\n isoBandNextXLT[64] = isoBandNextXLT[106] = 0;\n isoBandNextYLT[64] = isoBandNextYLT[106] = 1;\n isoBandNextOLT[64] = isoBandNextOLT[106] = 0;\n isoBandNextXTL[64] = isoBandNextXTL[106] = -1;\n isoBandNextYTL[64] = isoBandNextYTL[106] = 0;\n isoBandNextOTL[64] = isoBandNextOTL[106] = 1;\n\n /* single trapezoid cases */\n isoBandNextXLT[2] = isoBandNextXLT[168] = 0;\n isoBandNextYLT[2] = isoBandNextYLT[168] = -1;\n isoBandNextOLT[2] = isoBandNextOLT[168] = 1;\n isoBandNextXLB[2] = isoBandNextXLB[168] = 0;\n isoBandNextYLB[2] = isoBandNextYLB[168] = -1;\n isoBandNextOLB[2] = isoBandNextOLB[168] = 0;\n isoBandNextXBL[2] = isoBandNextXBL[168] = -1;\n isoBandNextYBL[2] = isoBandNextYBL[168] = 0;\n isoBandNextOBL[2] = isoBandNextOBL[168] = 0;\n isoBandNextXBR[2] = isoBandNextXBR[168] = -1;\n isoBandNextYBR[2] = isoBandNextYBR[168] = 0;\n isoBandNextOBR[2] = isoBandNextOBR[168] = 1;\n\n isoBandNextXRT[8] = isoBandNextXRT[162] = 0;\n isoBandNextYRT[8] = isoBandNextYRT[162] = -1;\n isoBandNextORT[8] = isoBandNextORT[162] = 0;\n isoBandNextXRB[8] = isoBandNextXRB[162] = 0;\n isoBandNextYRB[8] = isoBandNextYRB[162] = -1;\n isoBandNextORB[8] = isoBandNextORB[162] = 1;\n isoBandNextXBL[8] = isoBandNextXBL[162] = 1;\n isoBandNextYBL[8] = isoBandNextYBL[162] = 0;\n isoBandNextOBL[8] = isoBandNextOBL[162] = 1;\n isoBandNextXBR[8] = isoBandNextXBR[162] = 1;\n isoBandNextYBR[8] = isoBandNextYBR[162] = 0;\n isoBandNextOBR[8] = isoBandNextOBR[162] = 0;\n\n isoBandNextXRT[32] = isoBandNextXRT[138] = 0;\n isoBandNextYRT[32] = isoBandNextYRT[138] = 1;\n isoBandNextORT[32] = isoBandNextORT[138] = 1;\n isoBandNextXRB[32] = isoBandNextXRB[138] = 0;\n isoBandNextYRB[32] = isoBandNextYRB[138] = 1;\n isoBandNextORB[32] = isoBandNextORB[138] = 0;\n isoBandNextXTL[32] = isoBandNextXTL[138] = 1;\n isoBandNextYTL[32] = isoBandNextYTL[138] = 0;\n isoBandNextOTL[32] = isoBandNextOTL[138] = 0;\n isoBandNextXTR[32] = isoBandNextXTR[138] = 1;\n isoBandNextYTR[32] = isoBandNextYTR[138] = 0;\n isoBandNextOTR[32] = isoBandNextOTR[138] = 1;\n\n isoBandNextXLB[128] = isoBandNextXLB[42] = 0;\n isoBandNextYLB[128] = isoBandNextYLB[42] = 1;\n isoBandNextOLB[128] = isoBandNextOLB[42] = 1;\n isoBandNextXLT[128] = isoBandNextXLT[42] = 0;\n isoBandNextYLT[128] = isoBandNextYLT[42] = 1;\n isoBandNextOLT[128] = isoBandNextOLT[42] = 0;\n isoBandNextXTL[128] = isoBandNextXTL[42] = -1;\n isoBandNextYTL[128] = isoBandNextYTL[42] = 0;\n isoBandNextOTL[128] = isoBandNextOTL[42] = 1;\n isoBandNextXTR[128] = isoBandNextXTR[42] = -1;\n isoBandNextYTR[128] = isoBandNextYTR[42] = 0;\n isoBandNextOTR[128] = isoBandNextOTR[42] = 0;\n\n /* single rectangle cases */\n isoBandNextXRB[5] = isoBandNextXRB[165] = -1;\n isoBandNextYRB[5] = isoBandNextYRB[165] = 0;\n isoBandNextORB[5] = isoBandNextORB[165] = 0;\n isoBandNextXLB[5] = isoBandNextXLB[165] = 1;\n isoBandNextYLB[5] = isoBandNextYLB[165] = 0;\n isoBandNextOLB[5] = isoBandNextOLB[165] = 0;\n\n isoBandNextXBR[20] = isoBandNextXBR[150] = 0;\n isoBandNextYBR[20] = isoBandNextYBR[150] = 1;\n isoBandNextOBR[20] = isoBandNextOBR[150] = 1;\n isoBandNextXTR[20] = isoBandNextXTR[150] = 0;\n isoBandNextYTR[20] = isoBandNextYTR[150] = -1;\n isoBandNextOTR[20] = isoBandNextOTR[150] = 1;\n\n isoBandNextXRT[80] = isoBandNextXRT[90] = -1;\n isoBandNextYRT[80] = isoBandNextYRT[90] = 0;\n isoBandNextORT[80] = isoBandNextORT[90] = 1;\n isoBandNextXLT[80] = isoBandNextXLT[90] = 1;\n isoBandNextYLT[80] = isoBandNextYLT[90] = 0;\n isoBandNextOLT[80] = isoBandNextOLT[90] = 1;\n\n isoBandNextXBL[65] = isoBandNextXBL[105] = 0;\n isoBandNextYBL[65] = isoBandNextYBL[105] = 1;\n isoBandNextOBL[65] = isoBandNextOBL[105] = 0;\n isoBandNextXTL[65] = isoBandNextXTL[105] = 0;\n isoBandNextYTL[65] = isoBandNextYTL[105] = -1;\n isoBandNextOTL[65] = isoBandNextOTL[105] = 0;\n\n isoBandNextXRT[160] = isoBandNextXRT[10] = -1;\n isoBandNextYRT[160] = isoBandNextYRT[10] = 0;\n isoBandNextORT[160] = isoBandNextORT[10] = 1;\n isoBandNextXRB[160] = isoBandNextXRB[10] = -1;\n isoBandNextYRB[160] = isoBandNextYRB[10] = 0;\n isoBandNextORB[160] = isoBandNextORB[10] = 0;\n isoBandNextXLB[160] = isoBandNextXLB[10] = 1;\n isoBandNextYLB[160] = isoBandNextYLB[10] = 0;\n isoBandNextOLB[160] = isoBandNextOLB[10] = 0;\n isoBandNextXLT[160] = isoBandNextXLT[10] = 1;\n isoBandNextYLT[160] = isoBandNextYLT[10] = 0;\n isoBandNextOLT[160] = isoBandNextOLT[10] = 1;\n\n isoBandNextXBR[130] = isoBandNextXBR[40] = 0;\n isoBandNextYBR[130] = isoBandNextYBR[40] = 1;\n isoBandNextOBR[130] = isoBandNextOBR[40] = 1;\n isoBandNextXBL[130] = isoBandNextXBL[40] = 0;\n isoBandNextYBL[130] = isoBandNextYBL[40] = 1;\n isoBandNextOBL[130] = isoBandNextOBL[40] = 0;\n isoBandNextXTL[130] = isoBandNextXTL[40] = 0;\n isoBandNextYTL[130] = isoBandNextYTL[40] = -1;\n isoBandNextOTL[130] = isoBandNextOTL[40] = 0;\n isoBandNextXTR[130] = isoBandNextXTR[40] = 0;\n isoBandNextYTR[130] = isoBandNextYTR[40] = -1;\n isoBandNextOTR[130] = isoBandNextOTR[40] = 1;\n\n /* single hexagon cases */\n isoBandNextXRB[37] = isoBandNextXRB[133] = 0;\n isoBandNextYRB[37] = isoBandNextYRB[133] = 1;\n isoBandNextORB[37] = isoBandNextORB[133] = 1;\n isoBandNextXLB[37] = isoBandNextXLB[133] = 0;\n isoBandNextYLB[37] = isoBandNextYLB[133] = 1;\n isoBandNextOLB[37] = isoBandNextOLB[133] = 0;\n isoBandNextXTL[37] = isoBandNextXTL[133] = -1;\n isoBandNextYTL[37] = isoBandNextYTL[133] = 0;\n isoBandNextOTL[37] = isoBandNextOTL[133] = 0;\n isoBandNextXTR[37] = isoBandNextXTR[133] = 1;\n isoBandNextYTR[37] = isoBandNextYTR[133] = 0;\n isoBandNextOTR[37] = isoBandNextOTR[133] = 0;\n\n isoBandNextXBR[148] = isoBandNextXBR[22] = -1;\n isoBandNextYBR[148] = isoBandNextYBR[22] = 0;\n isoBandNextOBR[148] = isoBandNextOBR[22] = 0;\n isoBandNextXLB[148] = isoBandNextXLB[22] = 0;\n isoBandNextYLB[148] = isoBandNextYLB[22] = -1;\n isoBandNextOLB[148] = isoBandNextOLB[22] = 1;\n isoBandNextXLT[148] = isoBandNextXLT[22] = 0;\n isoBandNextYLT[148] = isoBandNextYLT[22] = 1;\n isoBandNextOLT[148] = isoBandNextOLT[22] = 1;\n isoBandNextXTR[148] = isoBandNextXTR[22] = -1;\n isoBandNextYTR[148] = isoBandNextYTR[22] = 0;\n isoBandNextOTR[148] = isoBandNextOTR[22] = 1;\n\n isoBandNextXRT[82] = isoBandNextXRT[88] = 0;\n isoBandNextYRT[82] = isoBandNextYRT[88] = -1;\n isoBandNextORT[82] = isoBandNextORT[88] = 1;\n isoBandNextXBR[82] = isoBandNextXBR[88] = 1;\n isoBandNextYBR[82] = isoBandNextYBR[88] = 0;\n isoBandNextOBR[82] = isoBandNextOBR[88] = 1;\n isoBandNextXBL[82] = isoBandNextXBL[88] = -1;\n isoBandNextYBL[82] = isoBandNextYBL[88] = 0;\n isoBandNextOBL[82] = isoBandNextOBL[88] = 1;\n isoBandNextXLT[82] = isoBandNextXLT[88] = 0;\n isoBandNextYLT[82] = isoBandNextYLT[88] = -1;\n isoBandNextOLT[82] = isoBandNextOLT[88] = 0;\n\n isoBandNextXRT[73] = isoBandNextXRT[97] = 0;\n isoBandNextYRT[73] = isoBandNextYRT[97] = 1;\n isoBandNextORT[73] = isoBandNextORT[97] = 0;\n isoBandNextXRB[73] = isoBandNextXRB[97] = 0;\n isoBandNextYRB[73] = isoBandNextYRB[97] = -1;\n isoBandNextORB[73] = isoBandNextORB[97] = 0;\n isoBandNextXBL[73] = isoBandNextXBL[97] = 1;\n isoBandNextYBL[73] = isoBandNextYBL[97] = 0;\n isoBandNextOBL[73] = isoBandNextOBL[97] = 0;\n isoBandNextXTL[73] = isoBandNextXTL[97] = 1;\n isoBandNextYTL[73] = isoBandNextYTL[97] = 0;\n isoBandNextOTL[73] = isoBandNextOTL[97] = 1;\n\n isoBandNextXRT[145] = isoBandNextXRT[25] = 0;\n isoBandNextYRT[145] = isoBandNextYRT[25] = -1;\n isoBandNextORT[145] = isoBandNextORT[25] = 0;\n isoBandNextXBL[145] = isoBandNextXBL[25] = 1;\n isoBandNextYBL[145] = isoBandNextYBL[25] = 0;\n isoBandNextOBL[145] = isoBandNextOBL[25] = 1;\n isoBandNextXLB[145] = isoBandNextXLB[25] = 0;\n isoBandNextYLB[145] = isoBandNextYLB[25] = 1;\n isoBandNextOLB[145] = isoBandNextOLB[25] = 1;\n isoBandNextXTR[145] = isoBandNextXTR[25] = -1;\n isoBandNextYTR[145] = isoBandNextYTR[25] = 0;\n isoBandNextOTR[145] = isoBandNextOTR[25] = 0;\n\n isoBandNextXRB[70] = isoBandNextXRB[100] = 0;\n isoBandNextYRB[70] = isoBandNextYRB[100] = 1;\n isoBandNextORB[70] = isoBandNextORB[100] = 0;\n isoBandNextXBR[70] = isoBandNextXBR[100] = -1;\n isoBandNextYBR[70] = isoBandNextYBR[100] = 0;\n isoBandNextOBR[70] = isoBandNextOBR[100] = 1;\n isoBandNextXLT[70] = isoBandNextXLT[100] = 0;\n isoBandNextYLT[70] = isoBandNextYLT[100] = -1;\n isoBandNextOLT[70] = isoBandNextOLT[100] = 1;\n isoBandNextXTL[70] = isoBandNextXTL[100] = 1;\n isoBandNextYTL[70] = isoBandNextYTL[100] = 0;\n isoBandNextOTL[70] = isoBandNextOTL[100] = 0;\n\n /* single pentagon cases */\n isoBandNextXRB[101] = isoBandNextXRB[69] = 0;\n isoBandNextYRB[101] = isoBandNextYRB[69] = 1;\n isoBandNextORB[101] = isoBandNextORB[69] = 0;\n isoBandNextXTL[101] = isoBandNextXTL[69] = 1;\n isoBandNextYTL[101] = isoBandNextYTL[69] = 0;\n isoBandNextOTL[101] = isoBandNextOTL[69] = 0;\n\n isoBandNextXLB[149] = isoBandNextXLB[21] = 0;\n isoBandNextYLB[149] = isoBandNextYLB[21] = 1;\n isoBandNextOLB[149] = isoBandNextOLB[21] = 1;\n isoBandNextXTR[149] = isoBandNextXTR[21] = -1;\n isoBandNextYTR[149] = isoBandNextYTR[21] = 0;\n isoBandNextOTR[149] = isoBandNextOTR[21] = 0;\n\n isoBandNextXBR[86] = isoBandNextXBR[84] = -1;\n isoBandNextYBR[86] = isoBandNextYBR[84] = 0;\n isoBandNextOBR[86] = isoBandNextOBR[84] = 1;\n isoBandNextXLT[86] = isoBandNextXLT[84] = 0;\n isoBandNextYLT[86] = isoBandNextYLT[84] = -1;\n isoBandNextOLT[86] = isoBandNextOLT[84] = 1;\n\n isoBandNextXRT[89] = isoBandNextXRT[81] = 0;\n isoBandNextYRT[89] = isoBandNextYRT[81] = -1;\n isoBandNextORT[89] = isoBandNextORT[81] = 0;\n isoBandNextXBL[89] = isoBandNextXBL[81] = 1;\n isoBandNextYBL[89] = isoBandNextYBL[81] = 0;\n isoBandNextOBL[89] = isoBandNextOBL[81] = 1;\n\n isoBandNextXRT[96] = isoBandNextXRT[74] = 0;\n isoBandNextYRT[96] = isoBandNextYRT[74] = 1;\n isoBandNextORT[96] = isoBandNextORT[74] = 0;\n isoBandNextXRB[96] = isoBandNextXRB[74] = -1;\n isoBandNextYRB[96] = isoBandNextYRB[74] = 0;\n isoBandNextORB[96] = isoBandNextORB[74] = 1;\n isoBandNextXLT[96] = isoBandNextXLT[74] = 1;\n isoBandNextYLT[96] = isoBandNextYLT[74] = 0;\n isoBandNextOLT[96] = isoBandNextOLT[74] = 0;\n isoBandNextXTL[96] = isoBandNextXTL[74] = 1;\n isoBandNextYTL[96] = isoBandNextYTL[74] = 0;\n isoBandNextOTL[96] = isoBandNextOTL[74] = 1;\n\n isoBandNextXRT[24] = isoBandNextXRT[146] = 0;\n isoBandNextYRT[24] = isoBandNextYRT[146] = -1;\n isoBandNextORT[24] = isoBandNextORT[146] = 1;\n isoBandNextXBR[24] = isoBandNextXBR[146] = 1;\n isoBandNextYBR[24] = isoBandNextYBR[146] = 0;\n isoBandNextOBR[24] = isoBandNextOBR[146] = 1;\n isoBandNextXBL[24] = isoBandNextXBL[146] = 0;\n isoBandNextYBL[24] = isoBandNextYBL[146] = 1;\n isoBandNextOBL[24] = isoBandNextOBL[146] = 1;\n isoBandNextXTR[24] = isoBandNextXTR[146] = 0;\n isoBandNextYTR[24] = isoBandNextYTR[146] = -1;\n isoBandNextOTR[24] = isoBandNextOTR[146] = 0;\n\n isoBandNextXRB[6] = isoBandNextXRB[164] = -1;\n isoBandNextYRB[6] = isoBandNextYRB[164] = 0;\n isoBandNextORB[6] = isoBandNextORB[164] = 1;\n isoBandNextXBR[6] = isoBandNextXBR[164] = -1;\n isoBandNextYBR[6] = isoBandNextYBR[164] = 0;\n isoBandNextOBR[6] = isoBandNextOBR[164] = 0;\n isoBandNextXLB[6] = isoBandNextXLB[164] = 0;\n isoBandNextYLB[6] = isoBandNextYLB[164] = -1;\n isoBandNextOLB[6] = isoBandNextOLB[164] = 1;\n isoBandNextXLT[6] = isoBandNextXLT[164] = 1;\n isoBandNextYLT[6] = isoBandNextYLT[164] = 0;\n isoBandNextOLT[6] = isoBandNextOLT[164] = 0;\n\n isoBandNextXBL[129] = isoBandNextXBL[41] = 0;\n isoBandNextYBL[129] = isoBandNextYBL[41] = 1;\n isoBandNextOBL[129] = isoBandNextOBL[41] = 1;\n isoBandNextXLB[129] = isoBandNextXLB[41] = 0;\n isoBandNextYLB[129] = isoBandNextYLB[41] = 1;\n isoBandNextOLB[129] = isoBandNextOLB[41] = 0;\n isoBandNextXTL[129] = isoBandNextXTL[41] = -1;\n isoBandNextYTL[129] = isoBandNextYTL[41] = 0;\n isoBandNextOTL[129] = isoBandNextOTL[41] = 0;\n isoBandNextXTR[129] = isoBandNextXTR[41] = 0;\n isoBandNextYTR[129] = isoBandNextYTR[41] = -1;\n isoBandNextOTR[129] = isoBandNextOTR[41] = 0;\n\n isoBandNextXBR[66] = isoBandNextXBR[104] = 0;\n isoBandNextYBR[66] = isoBandNextYBR[104] = 1;\n isoBandNextOBR[66] = isoBandNextOBR[104] = 0;\n isoBandNextXBL[66] = isoBandNextXBL[104] = -1;\n isoBandNextYBL[66] = isoBandNextYBL[104] = 0;\n isoBandNextOBL[66] = isoBandNextOBL[104] = 1;\n isoBandNextXLT[66] = isoBandNextXLT[104] = 0;\n isoBandNextYLT[66] = isoBandNextYLT[104] = -1;\n isoBandNextOLT[66] = isoBandNextOLT[104] = 0;\n isoBandNextXTL[66] = isoBandNextXTL[104] = 0;\n isoBandNextYTL[66] = isoBandNextYTL[104] = -1;\n isoBandNextOTL[66] = isoBandNextOTL[104] = 1;\n\n isoBandNextXRT[144] = isoBandNextXRT[26] = -1;\n isoBandNextYRT[144] = isoBandNextYRT[26] = 0;\n isoBandNextORT[144] = isoBandNextORT[26] = 0;\n isoBandNextXLB[144] = isoBandNextXLB[26] = 1;\n isoBandNextYLB[144] = isoBandNextYLB[26] = 0;\n isoBandNextOLB[144] = isoBandNextOLB[26] = 1;\n isoBandNextXLT[144] = isoBandNextXLT[26] = 0;\n isoBandNextYLT[144] = isoBandNextYLT[26] = 1;\n isoBandNextOLT[144] = isoBandNextOLT[26] = 1;\n isoBandNextXTR[144] = isoBandNextXTR[26] = -1;\n isoBandNextYTR[144] = isoBandNextYTR[26] = 0;\n isoBandNextOTR[144] = isoBandNextOTR[26] = 1;\n\n isoBandNextXRB[36] = isoBandNextXRB[134] = 0;\n isoBandNextYRB[36] = isoBandNextYRB[134] = 1;\n isoBandNextORB[36] = isoBandNextORB[134] = 1;\n isoBandNextXBR[36] = isoBandNextXBR[134] = 0;\n isoBandNextYBR[36] = isoBandNextYBR[134] = 1;\n isoBandNextOBR[36] = isoBandNextOBR[134] = 0;\n isoBandNextXTL[36] = isoBandNextXTL[134] = 0;\n isoBandNextYTL[36] = isoBandNextYTL[134] = -1;\n isoBandNextOTL[36] = isoBandNextOTL[134] = 1;\n isoBandNextXTR[36] = isoBandNextXTR[134] = 1;\n isoBandNextYTR[36] = isoBandNextYTR[134] = 0;\n isoBandNextOTR[36] = isoBandNextOTR[134] = 0;\n\n isoBandNextXRT[9] = isoBandNextXRT[161] = -1;\n isoBandNextYRT[9] = isoBandNextYRT[161] = 0;\n isoBandNextORT[9] = isoBandNextORT[161] = 0;\n isoBandNextXRB[9] = isoBandNextXRB[161] = 0;\n isoBandNextYRB[9] = isoBandNextYRB[161] = -1;\n isoBandNextORB[9] = isoBandNextORB[161] = 0;\n isoBandNextXBL[9] = isoBandNextXBL[161] = 1;\n isoBandNextYBL[9] = isoBandNextYBL[161] = 0;\n isoBandNextOBL[9] = isoBandNextOBL[161] = 0;\n isoBandNextXLB[9] = isoBandNextXLB[161] = 1;\n isoBandNextYLB[9] = isoBandNextYLB[161] = 0;\n isoBandNextOLB[9] = isoBandNextOLB[161] = 1;\n\n /* 8-sided cases */\n isoBandNextXRT[136] = 0;\n isoBandNextYRT[136] = 1;\n isoBandNextORT[136] = 1;\n isoBandNextXRB[136] = 0;\n isoBandNextYRB[136] = 1;\n isoBandNextORB[136] = 0;\n isoBandNextXBR[136] = -1;\n isoBandNextYBR[136] = 0;\n isoBandNextOBR[136] = 1;\n isoBandNextXBL[136] = -1;\n isoBandNextYBL[136] = 0;\n isoBandNextOBL[136] = 0;\n isoBandNextXLB[136] = 0;\n isoBandNextYLB[136] = -1;\n isoBandNextOLB[136] = 0;\n isoBandNextXLT[136] = 0;\n isoBandNextYLT[136] = -1;\n isoBandNextOLT[136] = 1;\n isoBandNextXTL[136] = 1;\n isoBandNextYTL[136] = 0;\n isoBandNextOTL[136] = 0;\n isoBandNextXTR[136] = 1;\n isoBandNextYTR[136] = 0;\n isoBandNextOTR[136] = 1;\n\n isoBandNextXRT[34] = 0;\n isoBandNextYRT[34] = -1;\n isoBandNextORT[34] = 0;\n isoBandNextXRB[34] = 0;\n isoBandNextYRB[34] = -1;\n isoBandNextORB[34] = 1;\n isoBandNextXBR[34] = 1;\n isoBandNextYBR[34] = 0;\n isoBandNextOBR[34] = 0;\n isoBandNextXBL[34] = 1;\n isoBandNextYBL[34] = 0;\n isoBandNextOBL[34] = 1;\n isoBandNextXLB[34] = 0;\n isoBandNextYLB[34] = 1;\n isoBandNextOLB[34] = 1;\n isoBandNextXLT[34] = 0;\n isoBandNextYLT[34] = 1;\n isoBandNextOLT[34] = 0;\n isoBandNextXTL[34] = -1;\n isoBandNextYTL[34] = 0;\n isoBandNextOTL[34] = 1;\n isoBandNextXTR[34] = -1;\n isoBandNextYTR[34] = 0;\n isoBandNextOTR[34] = 0;\n\n isoBandNextXRT[35] = 0;\n isoBandNextYRT[35] = 1;\n isoBandNextORT[35] = 1;\n isoBandNextXRB[35] = 0;\n isoBandNextYRB[35] = -1;\n isoBandNextORB[35] = 1;\n isoBandNextXBR[35] = 1;\n isoBandNextYBR[35] = 0;\n isoBandNextOBR[35] = 0;\n isoBandNextXBL[35] = -1;\n isoBandNextYBL[35] = 0;\n isoBandNextOBL[35] = 0;\n isoBandNextXLB[35] = 0;\n isoBandNextYLB[35] = -1;\n isoBandNextOLB[35] = 0;\n isoBandNextXLT[35] = 0;\n isoBandNextYLT[35] = 1;\n isoBandNextOLT[35] = 0;\n isoBandNextXTL[35] = -1;\n isoBandNextYTL[35] = 0;\n isoBandNextOTL[35] = 1;\n isoBandNextXTR[35] = 1;\n isoBandNextYTR[35] = 0;\n isoBandNextOTR[35] = 1;\n\n /* 6-sided cases */\n isoBandNextXRT[153] = 0;\n isoBandNextYRT[153] = 1;\n isoBandNextORT[153] = 1;\n isoBandNextXBL[153] = -1;\n isoBandNextYBL[153] = 0;\n isoBandNextOBL[153] = 0;\n isoBandNextXLB[153] = 0;\n isoBandNextYLB[153] = -1;\n isoBandNextOLB[153] = 0;\n isoBandNextXTR[153] = 1;\n isoBandNextYTR[153] = 0;\n isoBandNextOTR[153] = 1;\n\n isoBandNextXRB[102] = 0;\n isoBandNextYRB[102] = -1;\n isoBandNextORB[102] = 1;\n isoBandNextXBR[102] = 1;\n isoBandNextYBR[102] = 0;\n isoBandNextOBR[102] = 0;\n isoBandNextXLT[102] = 0;\n isoBandNextYLT[102] = 1;\n isoBandNextOLT[102] = 0;\n isoBandNextXTL[102] = -1;\n isoBandNextYTL[102] = 0;\n isoBandNextOTL[102] = 1;\n\n isoBandNextXRT[155] = 0;\n isoBandNextYRT[155] = -1;\n isoBandNextORT[155] = 0;\n isoBandNextXBL[155] = 1;\n isoBandNextYBL[155] = 0;\n isoBandNextOBL[155] = 1;\n isoBandNextXLB[155] = 0;\n isoBandNextYLB[155] = 1;\n isoBandNextOLB[155] = 1;\n isoBandNextXTR[155] = -1;\n isoBandNextYTR[155] = 0;\n isoBandNextOTR[155] = 0;\n\n isoBandNextXRB[103] = 0;\n isoBandNextYRB[103] = 1;\n isoBandNextORB[103] = 0;\n isoBandNextXBR[103] = -1;\n isoBandNextYBR[103] = 0;\n isoBandNextOBR[103] = 1;\n isoBandNextXLT[103] = 0;\n isoBandNextYLT[103] = -1;\n isoBandNextOLT[103] = 1;\n isoBandNextXTL[103] = 1;\n isoBandNextYTL[103] = 0;\n isoBandNextOTL[103] = 0;\n\n /* 7-sided cases */\n isoBandNextXRT[152] = 0;\n isoBandNextYRT[152] = 1;\n isoBandNextORT[152] = 1;\n isoBandNextXBR[152] = -1;\n isoBandNextYBR[152] = 0;\n isoBandNextOBR[152] = 1;\n isoBandNextXBL[152] = -1;\n isoBandNextYBL[152] = 0;\n isoBandNextOBL[152] = 0;\n isoBandNextXLB[152] = 0;\n isoBandNextYLB[152] = -1;\n isoBandNextOLB[152] = 0;\n isoBandNextXLT[152] = 0;\n isoBandNextYLT[152] = -1;\n isoBandNextOLT[152] = 1;\n isoBandNextXTR[152] = 1;\n isoBandNextYTR[152] = 0;\n isoBandNextOTR[152] = 1;\n\n isoBandNextXRT[156] = 0;\n isoBandNextYRT[156] = -1;\n isoBandNextORT[156] = 1;\n isoBandNextXBR[156] = 1;\n isoBandNextYBR[156] = 0;\n isoBandNextOBR[156] = 1;\n isoBandNextXBL[156] = -1;\n isoBandNextYBL[156] = 0;\n isoBandNextOBL[156] = 0;\n isoBandNextXLB[156] = 0;\n isoBandNextYLB[156] = -1;\n isoBandNextOLB[156] = 0;\n isoBandNextXLT[156] = 0;\n isoBandNextYLT[156] = 1;\n isoBandNextOLT[156] = 1;\n isoBandNextXTR[156] = -1;\n isoBandNextYTR[156] = 0;\n isoBandNextOTR[156] = 1;\n\n isoBandNextXRT[137] = 0;\n isoBandNextYRT[137] = 1;\n isoBandNextORT[137] = 1;\n isoBandNextXRB[137] = 0;\n isoBandNextYRB[137] = 1;\n isoBandNextORB[137] = 0;\n isoBandNextXBL[137] = -1;\n isoBandNextYBL[137] = 0;\n isoBandNextOBL[137] = 0;\n isoBandNextXLB[137] = 0;\n isoBandNextYLB[137] = -1;\n isoBandNextOLB[137] = 0;\n isoBandNextXTL[137] = 1;\n isoBandNextYTL[137] = 0;\n isoBandNextOTL[137] = 0;\n isoBandNextXTR[137] = 1;\n isoBandNextYTR[137] = 0;\n isoBandNextOTR[137] = 1;\n\n isoBandNextXRT[139] = 0;\n isoBandNextYRT[139] = 1;\n isoBandNextORT[139] = 1;\n isoBandNextXRB[139] = 0;\n isoBandNextYRB[139] = -1;\n isoBandNextORB[139] = 0;\n isoBandNextXBL[139] = 1;\n isoBandNextYBL[139] = 0;\n isoBandNextOBL[139] = 0;\n isoBandNextXLB[139] = 0;\n isoBandNextYLB[139] = 1;\n isoBandNextOLB[139] = 0;\n isoBandNextXTL[139] = -1;\n isoBandNextYTL[139] = 0;\n isoBandNextOTL[139] = 0;\n isoBandNextXTR[139] = 1;\n isoBandNextYTR[139] = 0;\n isoBandNextOTR[139] = 1;\n\n isoBandNextXRT[98] = 0;\n isoBandNextYRT[98] = -1;\n isoBandNextORT[98] = 0;\n isoBandNextXRB[98] = 0;\n isoBandNextYRB[98] = -1;\n isoBandNextORB[98] = 1;\n isoBandNextXBR[98] = 1;\n isoBandNextYBR[98] = 0;\n isoBandNextOBR[98] = 0;\n isoBandNextXBL[98] = 1;\n isoBandNextYBL[98] = 0;\n isoBandNextOBL[98] = 1;\n isoBandNextXLT[98] = 0;\n isoBandNextYLT[98] = 1;\n isoBandNextOLT[98] = 0;\n isoBandNextXTL[98] = -1;\n isoBandNextYTL[98] = 0;\n isoBandNextOTL[98] = 1;\n\n isoBandNextXRT[99] = 0;\n isoBandNextYRT[99] = 1;\n isoBandNextORT[99] = 0;\n isoBandNextXRB[99] = 0;\n isoBandNextYRB[99] = -1;\n isoBandNextORB[99] = 1;\n isoBandNextXBR[99] = 1;\n isoBandNextYBR[99] = 0;\n isoBandNextOBR[99] = 0;\n isoBandNextXBL[99] = -1;\n isoBandNextYBL[99] = 0;\n isoBandNextOBL[99] = 1;\n isoBandNextXLT[99] = 0;\n isoBandNextYLT[99] = -1;\n isoBandNextOLT[99] = 0;\n isoBandNextXTL[99] = 1;\n isoBandNextYTL[99] = 0;\n isoBandNextOTL[99] = 1;\n\n isoBandNextXRB[38] = 0;\n isoBandNextYRB[38] = -1;\n isoBandNextORB[38] = 1;\n isoBandNextXBR[38] = 1;\n isoBandNextYBR[38] = 0;\n isoBandNextOBR[38] = 0;\n isoBandNextXLB[38] = 0;\n isoBandNextYLB[38] = 1;\n isoBandNextOLB[38] = 1;\n isoBandNextXLT[38] = 0;\n isoBandNextYLT[38] = 1;\n isoBandNextOLT[38] = 0;\n isoBandNextXTL[38] = -1;\n isoBandNextYTL[38] = 0;\n isoBandNextOTL[38] = 1;\n isoBandNextXTR[38] = -1;\n isoBandNextYTR[38] = 0;\n isoBandNextOTR[38] = 0;\n\n isoBandNextXRB[39] = 0;\n isoBandNextYRB[39] = 1;\n isoBandNextORB[39] = 1;\n isoBandNextXBR[39] = -1;\n isoBandNextYBR[39] = 0;\n isoBandNextOBR[39] = 0;\n isoBandNextXLB[39] = 0;\n isoBandNextYLB[39] = -1;\n isoBandNextOLB[39] = 1;\n isoBandNextXLT[39] = 0;\n isoBandNextYLT[39] = 1;\n isoBandNextOLT[39] = 0;\n isoBandNextXTL[39] = -1;\n isoBandNextYTL[39] = 0;\n isoBandNextOTL[39] = 1;\n isoBandNextXTR[39] = 1;\n isoBandNextYTR[39] = 0;\n isoBandNextOTR[39] = 0;\n\n\n /*\n Define helper functions for the polygon_table\n */\n\n /* triangle cases */\n var p00 = function (cell) {\n return [[cell.bottomleft, 0], [0, 0], [0, cell.leftbottom]];\n };\n var p01 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [cell.bottomright, 0]];\n };\n var p02 = function (cell) {\n return [[cell.topright, 1], [1, 1], [1, cell.righttop]];\n };\n var p03 = function (cell) {\n return [[0, cell.lefttop], [0, 1], [cell.topleft, 1]];\n };\n /* trapezoid cases */\n var p04 = function (cell) {\n return [[cell.bottomright, 0], [cell.bottomleft, 0], [0, cell.leftbottom], [0, cell.lefttop]];\n };\n var p05 = function (cell) {\n return [[cell.bottomright, 0], [cell.bottomleft, 0], [1, cell.righttop], [1, cell.rightbottom]];\n };\n var p06 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [cell.topleft, 1], [cell.topright, 1]];\n };\n var p07 = function (cell) {\n return [[0, cell.leftbottom], [0, cell.lefttop], [cell.topleft, 1], [cell.topright, 1]];\n };\n /* rectangle cases */\n var p08 = function (cell) {\n return [[0, 0], [0, cell.leftbottom], [1, cell.rightbottom], [1, 0]];\n };\n var p09 = function (cell) {\n return [[1, 0], [cell.bottomright, 0], [cell.topright, 1], [1, 1]];\n };\n var p10 = function (cell) {\n return [[1, 1], [1, cell.righttop], [0, cell.lefttop], [0, 1]];\n };\n var p11 = function (cell) {\n return [[cell.bottomleft, 0], [0, 0], [0, 1], [cell.topleft, 1]];\n };\n var p12 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [0, cell.leftbottom], [0, cell.lefttop]];\n };\n var p13 = function (cell) {\n return [[cell.topleft, 1], [cell.topright, 1], [cell.bottomright, 0], [cell.bottomleft, 0]];\n };\n /* square case */\n var p14 = function () {\n return [[0, 0], [0, 1], [1, 1], [1, 0]];\n };\n /* pentagon cases */\n var p15 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [0, 0], [0, 1], [cell.topleft, 1]];\n };\n /* 1211 || 1011 */\n var p16 = function (cell) {\n return [[cell.topright, 1], [1, 1], [1, 0], [0, 0], [0, cell.leftbottom]];\n };\n /* 2111 || 0111 */\n var p17 = function (cell) {\n return [[1, 0], [cell.bottomright, 0], [0, cell.lefttop], [0, 1], [1, 1]];\n };\n /* 1112 || 1110 */\n var p18 = function (cell) {\n return [[1, 1], [1, cell.righttop], [cell.bottomleft, 0], [0, 0], [0, 1]];\n };\n /* 1121 || 1101 */\n var p19 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [0, cell.lefttop], [0, 1], [cell.topleft, 1]];\n };\n /* 1200 || 1022 */\n var p20 = function (cell) {\n return [[1, 1], [1, cell.righttop], [cell.bottomright, 0], [cell.bottomleft, 0], [cell.topright, 1]];\n };\n /* 0120 || 2102 */\n var p21 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [cell.bottomright, 0], [0, cell.leftbottom], [0, cell.lefttop]];\n };\n /* 0012 || 2210 */\n var p22 = function (cell) {\n return [[cell.topright, 1], [cell.bottomleft, 0], [0, 0], [0, cell.leftbottom], [cell.topleft, 1]];\n };\n /* 2001 || 0221 */\n var p23 = function (cell) {\n return [[cell.bottomright, 0], [cell.bottomleft, 0], [0, cell.lefttop], [0, 1], [cell.topleft, 1]];\n };\n /* 1002 || 1220 */\n var p24 = function (cell) {\n return [[1, 1], [1, cell.righttop], [0, cell.leftbottom], [0, cell.lefttop], [cell.topright, 1]];\n };\n /* 2100 || 0122 */\n var p25 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [cell.bottomright, 0], [cell.topleft, 1], [cell.topright, 1]];\n };\n /* 0210 || 2012 */\n var p26 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [cell.bottomleft, 0], [0, 0], [0, cell.leftbottom]];\n };\n /* 0021 || 2201 */\n /*hexagon cases */\n var p27 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [0, 0], [0, cell.leftbottom], [cell.topleft, 1], [cell.topright, 1]];\n };\n /* 0211 || 2011 */\n var p28 = function (cell) {\n return [[1, 1], [1, 0], [cell.bottomright, 0], [0, cell.leftbottom], [0, cell.lefttop], [cell.topright, 1]];\n };\n /* 2110 || 0112 */\n var p29 = function (cell) {\n return [[1, 1], [1, cell.righttop], [cell.bottomright, 0], [cell.bottomleft, 0], [0, cell.lefttop], [0, 1]];\n };\n /* 1102 || 1120 */\n var p30 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [cell.bottomleft, 0], [0, 0], [0, 1], [cell.topleft, 1]];\n };\n /* 1021 || 1201 */\n var p31 = function (cell) {\n return [[1, 1], [1, cell.righttop], [cell.bottomleft, 0], [0, 0], [0, cell.leftbottom], [cell.topright, 1]];\n };\n /* 2101 || 0121 */\n var p32 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [cell.bottomright, 0], [0, cell.lefttop], [0, 1], [cell.topleft, 1]];\n };\n /* 1012 || 1210 */\n /* 8-sided cases */\n var p33 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [cell.bottomright, 0], [cell.bottomleft, 0], [0, cell.leftbottom], [0, cell.lefttop], [cell.topleft, 1], [cell.topright, 1]];\n };\n /* flipped == 1 state for 0202 and 2020 */\n /* 6-sided cases */\n var p34 = function (cell) {\n return [[1, 1], [1, cell.righttop], [cell.bottomleft, 0], [0, 0], [0, cell.leftbottom], [cell.topright, 1]];\n };\n /* 0101 with flipped == 1 || 2121 with flipped == 1 */\n var p35 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [cell.bottomright, 0], [0, cell.lefttop], [0, 1], [cell.topleft, 1]];\n };\n /* 1010 with flipped == 1 || 1212 with flipped == 1 */\n /* 7-sided cases */\n var p36 = function (cell) {\n return [[1, 1], [1, cell.righttop], [cell.bottomright, 0], [cell.bottomleft, 0], [0, cell.leftbottom], [0, cell.lefttop], [cell.topright, 1]];\n };\n /* 2120 with flipped == 1 || 0102 with flipped == 1 */\n var p37 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [cell.bottomleft, 0], [0, 0], [0, cell.leftbottom], [cell.topleft, 1], [cell.topright, 1]];\n };\n /* 2021 with flipped == 1 || 0201 with flipped == 1 */\n var p38 = function (cell) {\n return [[1, cell.righttop], [1, cell.rightbottom], [cell.bottomright, 0], [cell.bottomleft, 0], [0, cell.lefttop], [0, 1], [cell.topleft, 1]];\n };\n /* 1202 with flipped == 1 || 1020 with flipped == 1 */\n var p39 = function (cell) {\n return [[1, cell.rightbottom], [1, 0], [cell.bottomright, 0], [0, cell.leftbottom], [0, cell.lefttop], [cell.topleft, 1], [cell.topright, 1]];\n };\n /* 0212 with flipped == 1 || 2010 with flipped == 1 */\n\n\n\n /*\n The lookup tables for edge number given the polygon\n is entered at a specific location\n */\n\n var isoBandEdgeRT = [];\n var isoBandEdgeRB = [];\n var isoBandEdgeBR = [];\n var isoBandEdgeBL = [];\n var isoBandEdgeLB = [];\n var isoBandEdgeLT = [];\n var isoBandEdgeTL = [];\n var isoBandEdgeTR = [];\n\n /* triangle cases */\n isoBandEdgeBL[1] = isoBandEdgeLB[1] = 18;\n isoBandEdgeBL[169] = isoBandEdgeLB[169] = 18;\n isoBandEdgeBR[4] = isoBandEdgeRB[4] = 12;\n isoBandEdgeBR[166] = isoBandEdgeRB[166] = 12;\n isoBandEdgeRT[16] = isoBandEdgeTR[16] = 4;\n isoBandEdgeRT[154] = isoBandEdgeTR[154] = 4;\n isoBandEdgeLT[64] = isoBandEdgeTL[64] = 22;\n isoBandEdgeLT[106] = isoBandEdgeTL[106] = 22;\n\n /* trapezoid cases */\n isoBandEdgeBR[2] = isoBandEdgeLT[2] = 17;\n isoBandEdgeBL[2] = isoBandEdgeLB[2] = 18;\n isoBandEdgeBR[168] = isoBandEdgeLT[168] = 17;\n isoBandEdgeBL[168] = isoBandEdgeLB[168] = 18;\n isoBandEdgeRT[8] = isoBandEdgeBL[8] = 9;\n isoBandEdgeRB[8] = isoBandEdgeBR[8] = 12;\n isoBandEdgeRT[162] = isoBandEdgeBL[162] = 9;\n isoBandEdgeRB[162] = isoBandEdgeBR[162] = 12;\n isoBandEdgeRT[32] = isoBandEdgeTR[32] = 4;\n isoBandEdgeRB[32] = isoBandEdgeTL[32] = 1;\n isoBandEdgeRT[138] = isoBandEdgeTR[138] = 4;\n isoBandEdgeRB[138] = isoBandEdgeTL[138] = 1;\n isoBandEdgeLB[128] = isoBandEdgeTR[128] = 21;\n isoBandEdgeLT[128] = isoBandEdgeTL[128] = 22;\n isoBandEdgeLB[42] = isoBandEdgeTR[42] = 21;\n isoBandEdgeLT[42] = isoBandEdgeTL[42] = 22;\n\n /* rectangle cases */\n isoBandEdgeRB[5] = isoBandEdgeLB[5] = 14;\n isoBandEdgeRB[165] = isoBandEdgeLB[165] = 14;\n isoBandEdgeBR[20] = isoBandEdgeTR[20] = 6;\n isoBandEdgeBR[150] = isoBandEdgeTR[150] = 6;\n isoBandEdgeRT[80] = isoBandEdgeLT[80] = 11;\n isoBandEdgeRT[90] = isoBandEdgeLT[90] = 11;\n isoBandEdgeBL[65] = isoBandEdgeTL[65] = 3;\n isoBandEdgeBL[105] = isoBandEdgeTL[105] = 3;\n isoBandEdgeRT[160] = isoBandEdgeLT[160] = 11;\n isoBandEdgeRB[160] = isoBandEdgeLB[160] = 14;\n isoBandEdgeRT[10] = isoBandEdgeLT[10] = 11;\n isoBandEdgeRB[10] = isoBandEdgeLB[10] = 14;\n isoBandEdgeBR[130] = isoBandEdgeTR[130] = 6;\n isoBandEdgeBL[130] = isoBandEdgeTL[130] = 3;\n isoBandEdgeBR[40] = isoBandEdgeTR[40] = 6;\n isoBandEdgeBL[40] = isoBandEdgeTL[40] = 3;\n\n /* pentagon cases */\n isoBandEdgeRB[101] = isoBandEdgeTL[101] = 1;\n isoBandEdgeRB[69] = isoBandEdgeTL[69] = 1;\n isoBandEdgeLB[149] = isoBandEdgeTR[149] = 21;\n isoBandEdgeLB[21] = isoBandEdgeTR[21] = 21;\n isoBandEdgeBR[86] = isoBandEdgeLT[86] = 17;\n isoBandEdgeBR[84] = isoBandEdgeLT[84] = 17;\n isoBandEdgeRT[89] = isoBandEdgeBL[89] = 9;\n isoBandEdgeRT[81] = isoBandEdgeBL[81] = 9;\n isoBandEdgeRT[96] = isoBandEdgeTL[96] = 0;\n isoBandEdgeRB[96] = isoBandEdgeLT[96] = 15;\n isoBandEdgeRT[74] = isoBandEdgeTL[74] = 0;\n isoBandEdgeRB[74] = isoBandEdgeLT[74] = 15;\n isoBandEdgeRT[24] = isoBandEdgeBR[24] = 8;\n isoBandEdgeBL[24] = isoBandEdgeTR[24] = 7;\n isoBandEdgeRT[146] = isoBandEdgeBR[146] = 8;\n isoBandEdgeBL[146] = isoBandEdgeTR[146] = 7;\n isoBandEdgeRB[6] = isoBandEdgeLT[6] = 15;\n isoBandEdgeBR[6] = isoBandEdgeLB[6] = 16;\n isoBandEdgeRB[164] = isoBandEdgeLT[164] = 15;\n isoBandEdgeBR[164] = isoBandEdgeLB[164] = 16;\n isoBandEdgeBL[129] = isoBandEdgeTR[129] = 7;\n isoBandEdgeLB[129] = isoBandEdgeTL[129] = 20;\n isoBandEdgeBL[41] = isoBandEdgeTR[41] = 7;\n isoBandEdgeLB[41] = isoBandEdgeTL[41] = 20;\n isoBandEdgeBR[66] = isoBandEdgeTL[66] = 2;\n isoBandEdgeBL[66] = isoBandEdgeLT[66] = 19;\n isoBandEdgeBR[104] = isoBandEdgeTL[104] = 2;\n isoBandEdgeBL[104] = isoBandEdgeLT[104] = 19;\n isoBandEdgeRT[144] = isoBandEdgeLB[144] = 10;\n isoBandEdgeLT[144] = isoBandEdgeTR[144] = 23;\n isoBandEdgeRT[26] = isoBandEdgeLB[26] = 10;\n isoBandEdgeLT[26] = isoBandEdgeTR[26] = 23;\n isoBandEdgeRB[36] = isoBandEdgeTR[36] = 5;\n isoBandEdgeBR[36] = isoBandEdgeTL[36] = 2;\n isoBandEdgeRB[134] = isoBandEdgeTR[134] = 5;\n isoBandEdgeBR[134] = isoBandEdgeTL[134] = 2;\n isoBandEdgeRT[9] = isoBandEdgeLB[9] = 10;\n isoBandEdgeRB[9] = isoBandEdgeBL[9] = 13;\n isoBandEdgeRT[161] = isoBandEdgeLB[161] = 10;\n isoBandEdgeRB[161] = isoBandEdgeBL[161] = 13;\n\n /* hexagon cases */\n isoBandEdgeRB[37] = isoBandEdgeTR[37] = 5;\n isoBandEdgeLB[37] = isoBandEdgeTL[37] = 20;\n isoBandEdgeRB[133] = isoBandEdgeTR[133] = 5;\n isoBandEdgeLB[133] = isoBandEdgeTL[133] = 20;\n isoBandEdgeBR[148] = isoBandEdgeLB[148] = 16;\n isoBandEdgeLT[148] = isoBandEdgeTR[148] = 23;\n isoBandEdgeBR[22] = isoBandEdgeLB[22] = 16;\n isoBandEdgeLT[22] = isoBandEdgeTR[22] = 23;\n isoBandEdgeRT[82] = isoBandEdgeBR[82] = 8;\n isoBandEdgeBL[82] = isoBandEdgeLT[82] = 19;\n isoBandEdgeRT[88] = isoBandEdgeBR[88] = 8;\n isoBandEdgeBL[88] = isoBandEdgeLT[88] = 19;\n isoBandEdgeRT[73] = isoBandEdgeTL[73] = 0;\n isoBandEdgeRB[73] = isoBandEdgeBL[73] = 13;\n isoBandEdgeRT[97] = isoBandEdgeTL[97] = 0;\n isoBandEdgeRB[97] = isoBandEdgeBL[97] = 13;\n isoBandEdgeRT[145] = isoBandEdgeBL[145] = 9;\n isoBandEdgeLB[145] = isoBandEdgeTR[145] = 21;\n isoBandEdgeRT[25] = isoBandEdgeBL[25] = 9;\n isoBandEdgeLB[25] = isoBandEdgeTR[25] = 21;\n isoBandEdgeRB[70] = isoBandEdgeTL[70] = 1;\n isoBandEdgeBR[70] = isoBandEdgeLT[70] = 17;\n isoBandEdgeRB[100] = isoBandEdgeTL[100] = 1;\n isoBandEdgeBR[100] = isoBandEdgeLT[100] = 17;\n\n /* 8-sided cases */\n isoBandEdgeRT[34] = isoBandEdgeBL[34] = 9;\n isoBandEdgeRB[34] = isoBandEdgeBR[34] = 12;\n isoBandEdgeLB[34] = isoBandEdgeTR[34] = 21;\n isoBandEdgeLT[34] = isoBandEdgeTL[34] = 22;\n isoBandEdgeRT[136] = isoBandEdgeTR[136] = 4;\n isoBandEdgeRB[136] = isoBandEdgeTL[136] = 1;\n isoBandEdgeBR[136] = isoBandEdgeLT[136] = 17;\n isoBandEdgeBL[136] = isoBandEdgeLB[136] = 18;\n isoBandEdgeRT[35] = isoBandEdgeTR[35] = 4;\n isoBandEdgeRB[35] = isoBandEdgeBR[35] = 12;\n isoBandEdgeBL[35] = isoBandEdgeLB[35] = 18;\n isoBandEdgeLT[35] = isoBandEdgeTL[35] = 22;\n\n /* 6-sided cases */\n isoBandEdgeRT[153] = isoBandEdgeTR[153] = 4;\n isoBandEdgeBL[153] = isoBandEdgeLB[153] = 18;\n isoBandEdgeRB[102] = isoBandEdgeBR[102] = 12;\n isoBandEdgeLT[102] = isoBandEdgeTL[102] = 22;\n isoBandEdgeRT[155] = isoBandEdgeBL[155] = 9;\n isoBandEdgeLB[155] = isoBandEdgeTR[155] = 23;\n isoBandEdgeRB[103] = isoBandEdgeTL[103] = 1;\n isoBandEdgeBR[103] = isoBandEdgeLT[103] = 17;\n\n /* 7-sided cases */\n isoBandEdgeRT[152] = isoBandEdgeTR[152] = 4;\n isoBandEdgeBR[152] = isoBandEdgeLT[152] = 17;\n isoBandEdgeBL[152] = isoBandEdgeLB[152] = 18;\n isoBandEdgeRT[156] = isoBandEdgeBR[156] = 8;\n isoBandEdgeBL[156] = isoBandEdgeLB[156] = 18;\n isoBandEdgeLT[156] = isoBandEdgeTR[156] = 23;\n isoBandEdgeRT[137] = isoBandEdgeTR[137] = 4;\n isoBandEdgeRB[137] = isoBandEdgeTL[137] = 1;\n isoBandEdgeBL[137] = isoBandEdgeLB[137] = 18;\n isoBandEdgeRT[139] = isoBandEdgeTR[139] = 4;\n isoBandEdgeRB[139] = isoBandEdgeBL[139] = 13;\n isoBandEdgeLB[139] = isoBandEdgeTL[139] = 20;\n isoBandEdgeRT[98] = isoBandEdgeBL[98] = 9;\n isoBandEdgeRB[98] = isoBandEdgeBR[98] = 12;\n isoBandEdgeLT[98] = isoBandEdgeTL[98] = 22;\n isoBandEdgeRT[99] = isoBandEdgeTL[99] = 0;\n isoBandEdgeRB[99] = isoBandEdgeBR[99] = 12;\n isoBandEdgeBL[99] = isoBandEdgeLT[99] = 19;\n isoBandEdgeRB[38] = isoBandEdgeBR[38] = 12;\n isoBandEdgeLB[38] = isoBandEdgeTR[38] = 21;\n isoBandEdgeLT[38] = isoBandEdgeTL[38] = 22;\n isoBandEdgeRB[39] = isoBandEdgeTR[39] = 5;\n isoBandEdgeBR[39] = isoBandEdgeLB[39] = 16;\n isoBandEdgeLT[39] = isoBandEdgeTL[39] = 22;\n\n /*\n The lookup tables for all different polygons that\n may appear within a grid cell\n */\n\n var polygon_table = [];\n\n /* triangle cases */\n polygon_table[1] = polygon_table[169] = p00; /* 2221 || 0001 */\n polygon_table[4] = polygon_table[166] = p01; /* 2212 || 0010 */\n polygon_table[16] = polygon_table[154] = p02; /* 2122 || 0100 */\n polygon_table[64] = polygon_table[106] = p03; /* 1222 || 1000 */\n\n /* trapezoid cases */\n polygon_table[168] = polygon_table[2] = p04; /* 2220 || 0002 */\n polygon_table[162] = polygon_table[8] = p05; /* 2202 || 0020 */\n polygon_table[138] = polygon_table[32] = p06; /* 2022 || 0200 */\n polygon_table[42] = polygon_table[128] = p07; /* 0222 || 2000 */\n\n /* rectangle cases */\n polygon_table[5] = polygon_table[165] = p08; /* 0011 || 2211 */\n polygon_table[20] = polygon_table[150] = p09; /* 0110 || 2112 */\n polygon_table[80] = polygon_table[90] = p10; /* 1100 || 1122 */\n polygon_table[65] = polygon_table[105] = p11; /* 1001 || 1221 */\n polygon_table[160] = polygon_table[10] = p12; /* 2200 || 0022 */\n polygon_table[130] = polygon_table[40] = p13; /* 2002 || 0220 */\n\n /* square case */\n polygon_table[85] = p14; /* 1111 */\n\n /* pentagon cases */\n polygon_table[101] = polygon_table[69] = p15; /* 1211 || 1011 */\n polygon_table[149] = polygon_table[21] = p16; /* 2111 || 0111 */\n polygon_table[86] = polygon_table[84] = p17; /* 1112 || 1110 */\n polygon_table[89] = polygon_table[81] = p18; /* 1121 || 1101 */\n polygon_table[96] = polygon_table[74] = p19; /* 1200 || 1022 */\n polygon_table[24] = polygon_table[146] = p20; /* 0120 || 2102 */\n polygon_table[6] = polygon_table[164] = p21; /* 0012 || 2210 */\n polygon_table[129] = polygon_table[41] = p22; /* 2001 || 0221 */\n polygon_table[66] = polygon_table[104] = p23; /* 1002 || 1220 */\n polygon_table[144] = polygon_table[26] = p24; /* 2100 || 0122 */\n polygon_table[36] = polygon_table[134] = p25; /* 0210 || 2012 */\n polygon_table[9] = polygon_table[161] = p26; /* 0021 || 2201 */\n\n /* hexagon cases */\n polygon_table[37] = polygon_table[133] = p27; /* 0211 || 2011 */\n polygon_table[148] = polygon_table[22] = p28; /* 2110 || 0112 */\n polygon_table[82] = polygon_table[88] = p29; /* 1102 || 1120 */\n polygon_table[73] = polygon_table[97] = p30; /* 1021 || 1201 */\n polygon_table[145] = polygon_table[25] = p31; /* 2101 || 0121 */\n polygon_table[70] = polygon_table[100] = p32; /* 1012 || 1210 */\n\n /* 8-sided cases */\n polygon_table[34] = function(c){ return [ p07(c), p05(c) ];}; /* 0202 || 2020 with flipped == 0 */\n polygon_table[35] = p33; /* flipped == 1 state for 0202 and 2020 */\n polygon_table[136] = function(c){ return [ p06(c), p04(c) ];}; /* 2020 || 0202 with flipped == 0 */\n\n /* 6-sided cases */\n polygon_table[153] = function(c){ return [ p02(c), p00(c) ];}; /* 0101 with flipped == 0 || 2121 with flipped == 2 */\n polygon_table[102] = function(c){ return [ p01(c), p03(c) ];}; /* 1010 with flipped == 0 || 1212 with flipped == 2 */\n polygon_table[155] = p34; /* 0101 with flipped == 1 || 2121 with flipped == 1 */\n polygon_table[103] = p35; /* 1010 with flipped == 1 || 1212 with flipped == 1 */\n\n /* 7-sided cases */\n polygon_table[152] = function(c){ return [ p02(c), p04(c) ];}; /* 2120 with flipped == 2 || 0102 with flipped == 0 */\n polygon_table[156] = p36; /* 2120 with flipped == 1 || 0102 with flipped == 1 */\n polygon_table[137] = function(c){ return [ p06(c), p00(c) ];}; /* 2021 with flipped == 2 || 0201 with flipped == 0 */\n polygon_table[139] = p37; /* 2021 with flipped == 1 || 0201 with flipped == 1 */\n polygon_table[98] = function(c){ return [ p05(c), p03(c) ];}; /* 1202 with flipped == 2 || 1020 with flipped == 0 */\n polygon_table[99] = p38; /* 1202 with flipped == 1 || 1020 with flipped == 1 */\n polygon_table[38] = function(c){ return [ p01(c), p07(c) ];}; /* 0212 with flipped == 2 || 2010 with flipped == 0 */\n polygon_table[39] = p39; /* 0212 with flipped == 1 || 2010 with flipped == 1 */\n \n \n /*\n ####################################\n Some small helper functions\n ####################################\n */\n\n /* assume that x1 == 1 && x0 == 0 */\n function interpolateX(y, y0, y1){\n return (y - y0) / (y1 - y0);\n }\n\n function isArray(myArray) {\n return myArray.constructor.toString().indexOf(\"Array\") > -1;\n }\n\n /*\n ####################################\n Below is the actual Marching Squares implementation\n ####################################\n */\n\n function computeBandGrid(data, minV, bandwidth){\n var rows = data.length - 1;\n var cols = data[0].length - 1;\n var BandGrid = { rows: rows, cols: cols, cells: [] };\n\n var maxV = minV + Math.abs(bandwidth);\n\n for(var j = 0; j < rows; ++j){\n BandGrid.cells[j] = [];\n for(var i = 0; i < cols; ++i){\n /* compose the 4-trit corner representation */\n var cval = 0;\n\n var tl = data[j+1][i];\n var tr = data[j+1][i+1];\n var br = data[j][i+1];\n var bl = data[j][i];\n\n if(isNaN(tl) || isNaN(tr) || isNaN(br) || isNaN(bl)){\n continue;\n }\n\n cval |= (tl < minV) ? 0 : (tl > maxV) ? 128 : 64;\n cval |= (tr < minV) ? 0 : (tr > maxV) ? 32 : 16;\n cval |= (br < minV) ? 0 : (br > maxV) ? 8 : 4;\n cval |= (bl < minV) ? 0 : (bl > maxV) ? 2 : 1;\n\n var cval_real = +cval;\n\n /* resolve ambiguity via averaging */\n var flipped = 0;\n if( (cval === 17) /* 0101 */\n || (cval === 18) /* 0102 */\n || (cval === 33) /* 0201 */\n || (cval === 34) /* 0202 */\n || (cval === 38) /* 0212 */\n || (cval === 68) /* 1010 */\n || (cval === 72) /* 1020 */\n || (cval === 98) /* 1202 */\n || (cval === 102) /* 1212 */\n || (cval === 132) /* 2010 */\n || (cval === 136) /* 2020 */\n || (cval === 137) /* 2021 */\n || (cval === 152) /* 2120 */\n || (cval === 153) /* 2121 */\n ){\n var average = (tl + tr + br + bl) / 4;\n /* set flipped state */\n flipped = (average > maxV) ? 2 : (average < minV) ? 0 : 1;\n\n /* adjust cval for flipped cases */\n\n /* 8-sided cases */\n if(cval === 34){\n if(flipped === 1){\n cval = 35;\n } else if(flipped === 0){\n cval = 136;\n }\n } else if(cval === 136){\n if(flipped === 1){\n cval = 35;\n flipped = 4;\n } else if(flipped === 0){\n cval = 34;\n }\n }\n\n /* 6-sided polygon cases */\n else if(cval === 17){\n if(flipped === 1){\n cval = 155;\n flipped = 4;\n } else if(flipped === 0){\n cval = 153;\n }\n } else if(cval === 68){\n if(flipped === 1){\n cval = 103;\n flipped = 4;\n } else if(flipped === 0){\n cval = 102;\n }\n } else if(cval === 153){\n if(flipped === 1)\n cval = 155;\n } else if(cval === 102){\n if(flipped === 1)\n cval = 103;\n }\n\n /* 7-sided polygon cases */\n else if(cval === 152){\n if(flipped < 2){\n cval = 156;\n flipped = 1;\n }\n } else if(cval === 137){\n if(flipped < 2){\n cval = 139;\n flipped = 1;\n }\n } else if(cval === 98){\n if(flipped < 2){\n cval = 99;\n flipped = 1;\n }\n } else if(cval === 38){\n if(flipped < 2){\n cval = 39;\n flipped = 1;\n }\n } else if(cval === 18){\n if(flipped > 0){\n cval = 156;\n flipped = 4;\n } else {\n cval = 152;\n }\n } else if(cval === 33){\n if(flipped > 0){\n cval = 139;\n flipped = 4;\n } else {\n cval = 137;\n }\n } else if(cval === 72){\n if(flipped > 0){\n cval = 99;\n flipped = 4;\n } else {\n cval = 98;\n }\n } else if(cval === 132){\n if(flipped > 0){\n cval = 39;\n flipped = 4;\n } else {\n cval = 38;\n }\n }\n }\n\n /* add cell to BandGrid if it contains at least one polygon-side */\n if((cval != 0) && (cval != 170)){\n var topleft, topright, bottomleft, bottomright,\n righttop, rightbottom, lefttop, leftbottom;\n\n topleft = topright = bottomleft = bottomright = righttop\n = rightbottom = lefttop = leftbottom = 0.5;\n\n var edges = [];\n\n /* do interpolation here */\n /* 1st Triangles */\n if(cval === 1){ /* 0001 */\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 169){ /* 2221 */\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = interpolateX(maxV, bl, tl);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 4){ /* 0010 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = interpolateX(minV, bl, br);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 166){ /* 2212 */\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = 1 - interpolateX(maxV, br, bl);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 16){ /* 0100 */\n righttop = interpolateX(minV, br, tr);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n } else if(cval === 154){ /* 2122 */\n righttop = 1 - interpolateX(maxV, tr, br);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n } else if(cval === 64){ /* 1000 */\n lefttop = interpolateX(minV, bl, tl);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 106){ /* 1222 */\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeLT[cval]);\n }\n /* 2nd Trapezoids */\n else if(cval === 168){ /* 2220 */\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 2){ /* 0002 */\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 162){ /* 2202 */\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 8){ /* 0020 */\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 138){ /* 2022 */\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 32){ /* 0200 */\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 42){ /* 0222 */\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeLB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 128){ /* 2000 */\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeLB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n }\n\n /* 3rd rectangle cases */\n if(cval === 5){ /* 0011 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 165){ /* 2211 */\n rightbottom = interpolateX(maxV, br, tr);\n leftbottom = interpolateX(maxV, bl, tl);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 20){ /* 0110 */\n bottomright = interpolateX(minV, bl, br);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 150){ /* 2112 */\n bottomright = 1 - interpolateX(maxV, br, bl);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 80){ /* 1100 */\n righttop = interpolateX(minV, br, tr);\n lefttop = interpolateX(minV, bl, tl);\n edges.push(isoBandEdgeRT[cval]);\n } else if(cval === 90){ /* 1122 */\n righttop = 1 - interpolateX(maxV, tr, br);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n edges.push(isoBandEdgeRT[cval]);\n } else if(cval === 65){ /* 1001 */\n bottomleft = 1 - interpolateX(minV, br, bl);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 105){ /* 1221 */\n bottomleft = interpolateX(maxV, bl, br);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 160){ /* 2200 */\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 10){ /* 0022 */\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 130){ /* 2002 */\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 40){ /* 0220 */\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n }\n\n /* 4th single pentagon cases */\n else if(cval === 101){ /* 1211 */\n rightbottom = interpolateX(maxV, br, tr);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 69){ /* 1011 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 149){ /* 2111 */\n leftbottom = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 21){ /* 0111 */\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 86){ /* 1112 */\n bottomright = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 84){ /* 1110 */\n bottomright = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 89){ /* 1121 */\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 81){ /* 1101 */\n righttop = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 96){ /* 1200 */\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n lefttop = interpolateX(minV, bl, tl);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 74){ /* 1022 */\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1- interpolateX(maxV, tr, br);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 24){ /* 0120 */\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 146){ /* 2102 */\n righttop = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 6){ /* 0012 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 164){ /* 2210 */\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 129){ /* 2001 */\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeBL[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 41){ /* 0221 */\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeBL[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 66){ /* 1002 */\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 104){ /* 1220 */\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeBL[cval]);\n edges.push(isoBandEdgeTL[cval]);\n } else if(cval === 144){ /* 2100 */\n righttop = interpolateX(minV, br, tr);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 26){ /* 0122 */\n righttop = 1 - interpolateX(maxV, tr, br);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 36){ /* 0210 */\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = interpolateX(minV, bl, br);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 134){ /* 2012 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = 1 - interpolateX(maxV, br, bl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 9){ /* 0021 */\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 161){ /* 2201 */\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = interpolateX(maxV, bl, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n }\n\n /* 5th single hexagon cases */\n else if(cval === 37){ /* 0211 */\n rightbottom = interpolateX(maxV, br, tr);\n leftbottom = 1- interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 133){ /* 2011 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n leftbottom = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 148){ /* 2110 */\n bottomright = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 22){ /* 0112 */\n bottomright = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 82){ /* 1102 */\n righttop = interpolateX(minV, br, tr);\n bottomright = 1- interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 88){ /* 1120 */\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 73){ /* 1021 */\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 97){ /* 1201 */\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n } else if(cval === 145){ /* 2101 */\n righttop = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 25){ /* 0121 */\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 70){ /* 1012 */\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = 1 - interpolateX(minV, tr, tl);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n } else if(cval === 100){ /* 1210 */\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n topleft = interpolateX(maxV, tl, tr);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n }\n\n /* 8-sided cases */\n else if(cval === 34){ /* 0202 || 2020 with flipped == 0 */\n if(flipped === 0){\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n } else {\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 35){ /* flipped == 1 state for 0202, and 2020 with flipped == 4*/\n if(flipped === 4){\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n } else {\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBL[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 136){ /* 2020 || 0202 with flipped == 0 */\n if(flipped === 0){\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n } else {\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n }\n\n /* 6-sided polygon cases */\n else if(cval === 153){ /* 0101 with flipped == 0 || 2121 with flipped == 2 */\n if(flipped === 0){\n righttop = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n } else {\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 102){ /* 1010 with flipped == 0 || 1212 with flipped == 2 */\n if(flipped === 0){\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n topleft = 1 - interpolateX(minV, tr, tl);\n } else {\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 155){ /* 0101 with flipped == 4 || 2121 with flipped == 1 */\n if(flipped === 4){\n righttop = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n } else {\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 103){ /* 1010 with flipped == 4 || 1212 with flipped == 1 */\n if(flipped === 4){\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n topleft = 1 - interpolateX(minV, tr, tl);\n } else {\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n }\n\n /* 7-sided polygon cases */\n else if(cval === 152){ /* 2120 with flipped == 2 || 0102 with flipped == 0 */\n if(flipped === 0){\n righttop = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n } else {\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 156){ /* 2120 with flipped == 1 || 0102 with flipped == 4 */\n if(flipped === 4){\n righttop = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topright = interpolateX(minV, tl, tr);\n } else {\n righttop = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topright = 1 - interpolateX(maxV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeBL[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 137){ /* 2021 with flipped == 2 || 0201 with flipped == 0 */\n if(flipped === 0){\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n } else {\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 139){ /* 2021 with flipped == 1 || 0201 with flipped == 4 */\n if(flipped === 4){\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomleft = 1 - interpolateX(minV, br, bl);\n leftbottom = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n } else {\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomleft = interpolateX(maxV, bl, br);\n leftbottom = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLB[cval]);\n } else if(cval === 98){ /* 1202 with flipped == 2 || 1020 with flipped == 0 */\n if(flipped === 0){\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n topleft = 1 - interpolateX(minV, tr, tl);\n } else {\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 99){ /* 1202 with flipped == 1 || 1020 with flipped == 4 */\n if(flipped === 4){\n righttop = 1 - interpolateX(minV, tr, br);\n rightbottom = 1 - interpolateX(maxV, tr, br);\n bottomright = interpolateX(maxV, bl, br);\n bottomleft = interpolateX(minV, bl, br);\n lefttop = interpolateX(minV, bl, tl);\n topleft = 1 - interpolateX(minV, tr, tl);\n } else {\n righttop = interpolateX(maxV, br, tr);\n rightbottom = interpolateX(minV, br, tr);\n bottomright = 1 - interpolateX(minV, br, bl);\n bottomleft = 1 - interpolateX(maxV, br, bl);\n lefttop = 1 - interpolateX(maxV, tl, bl);\n topleft = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRT[cval]);\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBL[cval]);\n } else if(cval === 38){ /* 0212 with flipped == 2 || 2010 with flipped == 0 */\n if(flipped === 0){\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n } else {\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeLB[cval]);\n edges.push(isoBandEdgeLT[cval]);\n } else if(cval === 39){ /* 0212 with flipped == 1 || 2010 with flipped == 4 */\n if(flipped === 4){\n rightbottom = 1 - interpolateX(minV, tr, br);\n bottomright = interpolateX(minV, bl, br);\n leftbottom = interpolateX(minV, bl, tl);\n lefttop = interpolateX(maxV, bl, tl);\n topleft = 1 - interpolateX(maxV, tr, tl);\n topright = 1 - interpolateX(minV, tr, tl);\n } else {\n rightbottom = interpolateX(maxV, br, tr);\n bottomright = 1 - interpolateX(maxV, br, bl);\n leftbottom = 1 - interpolateX(maxV, tl, bl);\n lefttop = 1 - interpolateX(minV, tl, bl);\n topleft = interpolateX(minV, tl, tr);\n topright = interpolateX(maxV, tl, tr);\n }\n edges.push(isoBandEdgeRB[cval]);\n edges.push(isoBandEdgeBR[cval]);\n edges.push(isoBandEdgeLT[cval]);\n }\n\n else if(cval === 85){\n righttop = 1;\n rightbottom = 0;\n bottomright = 1;\n bottomleft = 0;\n leftbottom = 0;\n lefttop = 1;\n topleft = 0;\n topright = 1;\n }\n\n if(topleft < 0 || topleft > 1 || topright < 0 || topright > 1 || righttop < 0 || righttop > 1 || bottomright < 0 || bottomright > 1 || leftbottom < 0 || leftbottom > 1 || lefttop < 0 || lefttop > 1){\n console.log(\"MarchingSquaresJS-isoBands: \" + cval + \" \" + cval_real + \" \" + tl + \",\" + tr + \",\" + br + \",\" + bl + \" \" + flipped + \" \" + topleft + \" \" + topright + \" \" + righttop + \" \" + rightbottom + \" \" + bottomright + \" \" + bottomleft + \" \" + leftbottom + \" \" + lefttop);\n }\n\n BandGrid.cells[j][i] = {\n cval: cval,\n cval_real: cval_real,\n flipped: flipped,\n topleft: topleft,\n topright: topright,\n righttop: righttop,\n rightbottom: rightbottom,\n bottomright: bottomright,\n bottomleft: bottomleft,\n leftbottom: leftbottom,\n lefttop: lefttop,\n edges: edges\n };\n }\n }\n }\n\n return BandGrid;\n }\n\n function BandGrid2AreaPaths(grid){\n var areas = [];\n var rows = grid.rows;\n var cols = grid.cols;\n var currentPolygon = [];\n\n for(var j = 0; j < rows; j++){\n for(var i = 0; i < cols; i++){\n if((typeof grid.cells[j][i] !== 'undefined') && (grid.cells[j][i].edges.length > 0)){\n /* trace back polygon path starting from this cell */\n\n var cell = grid.cells[j][i];\n\n /* get start coordinates */\n\n var prev = getStartXY(cell),\n next = null,\n p = i,\n q = j;\n\n if(prev !== null){\n currentPolygon.push([ prev.p[0] + p, prev.p[1] + q ]);\n //console.log(cell);\n //console.log(\"coords: \" + (prev.p[0] + p) + \" \" + (prev.p[1] + q));\n }\n\n do{\n //console.log(p + \",\" + q);\n //console.log(grid.cells[q][p]);\n //console.log(grid.cells[q][p].edges);\n //console.log(\"from : \" + prev.x + \" \" + prev.y + \" \" + prev.o);\n\n next = getExitXY(grid.cells[q][p], prev.x, prev.y, prev.o);\n if(next !== null){\n //console.log(\"coords: \" + (next.p[0] + p) + \" \" + (next.p[1] + q));\n currentPolygon.push([ next.p[0] + p, next.p[1] + q ]);\n p += next.x;\n q += next.y;\n prev = next;\n } else {\n //console.log(\"getExitXY() returned null!\");\n break;\n }\n //console.log(\"to : \" + next.x + \" \" + next.y + \" \" + next.o);\n /* special case, where we've reached the grid boundaries */\n if((q < 0) || (q >= rows) || (p < 0) || (p >= cols) || (typeof grid.cells[q][p] === 'undefined')){\n /* to create a closed path, we need to trace our way\n arround the missing data, until we find an entry\n point again\n */\n\n /* set back coordinates of current cell */\n p -= next.x;\n q -= next.y;\n\n //console.log(\"reached boundary at \" + p + \" \" + q);\n\n var missing = traceOutOfGridPath(grid, p, q, next.x, next.y, next.o);\n if(missing !== null){\n missing.path.forEach(function(pp){\n //console.log(\"coords: \" + (pp[0]) + \" \" + (pp[1]));\n currentPolygon.push(pp);\n });\n p = missing.i;\n q = missing.j;\n prev = missing;\n } else {\n break;\n }\n //console.log(grid.cells[q][p]);\n }\n } while( (typeof grid.cells[q][p] !== 'undefined')\n && (grid.cells[q][p].edges.length > 0));\n\n areas.push(currentPolygon);\n //console.log(\"next polygon\");\n //console.log(currentPolygon);\n currentPolygon = [];\n if(grid.cells[j][i].edges.length > 0)\n i--;\n }\n }\n }\n return areas;\n }\n\n function traceOutOfGridPath(grid, i, j, d_x, d_y, d_o){\n var cell = grid.cells[j][i];\n var cval = cell.cval_real;\n var p = i + d_x,\n q = j + d_y;\n var path = [];\n var closed = false;\n\n while(!closed){\n //console.log(\"processing cell \" + p + \",\" + q + \" \" + d_x + \" \" + d_y + \" \" + d_o);\n if((typeof grid.cells[q] === 'undefined') || (typeof grid.cells[q][p] === 'undefined')){\n //console.log(\"which is undefined\");\n /* we can't move on, so we have to change direction to proceed further */\n\n /* go back to previous cell */\n q -= d_y;\n p -= d_x;\n cell = grid.cells[q][p];\n cval = cell.cval_real;\n\n /* check where we've left defined cells of the grid... */\n if(d_y === -1){ /* we came from top */\n if(d_o === 0){ /* exit left */\n if(cval & Node3){ /* lower left node is within range, so we move left */\n path.push([p, q]);\n d_x = -1;\n d_y = 0;\n d_o = 0;\n } else if(cval & Node2){ /* lower right node is within range, so we move right */\n path.push([p + 1, q]);\n d_x = 1;\n d_y = 0;\n d_o = 0;\n } else { /* close the path */\n path.push([p + cell.bottomright, q]);\n d_x = 0;\n d_y = 1;\n d_o = 1;\n closed = true;\n break;\n }\n } else {\n if(cval & Node3){\n path.push([p, q]);\n d_x = -1;\n d_y = 0;\n d_o = 0;\n } else if(cval & Node2){\n path.push([p + cell.bottomright, q]);\n d_x = 0;\n d_y = 1;\n d_o = 1;\n closed = true;\n break;\n } else {\n path.push([p + cell.bottomleft, q]);\n d_x = 0;\n d_y = 1;\n d_o = 0;\n closed = true;\n break;\n }\n }\n } else if(d_y === 1){ /* we came from bottom */\n //console.log(\"we came from bottom and hit a non-existing cell \" + (p + d_x) + \",\" + (q + d_y) + \"!\");\n if(d_o === 0){ /* exit left */\n if(cval & Node1){ /* top right node is within range, so we move right */\n path.push([p+1,q+1]);\n d_x = 1;\n d_y = 0;\n d_o = 1;\n } else if(!(cval & Node0)){ /* found entry within same cell */\n path.push([p + cell.topright, q + 1]);\n d_x = 0;\n d_y = -1;\n d_o = 1;\n closed = true;\n //console.log(\"found entry from bottom at \" + p + \",\" + q);\n break;\n } else {\n path.push([p + cell.topleft, q + 1]);\n d_x = 0;\n d_y = -1;\n d_o = 0;\n closed = true;\n break;\n }\n } else {\n if(cval & Node1){\n path.push([p+1, q+1]);\n d_x = 1;\n d_y = 0;\n d_o = 1;\n } else { /* move right */\n path.push([p+1, q+1]);\n d_x = 1;\n d_y = 0;\n d_o = 1;\n //console.log(\"wtf\");\n //break;\n }\n }\n } else if(d_x === -1){ /* we came from right */\n //console.log(\"we came from right and hit a non-existing cell at \" + (p + d_x) + \",\" + (q + d_y) + \"!\");\n if(d_o === 0){\n //console.log(\"continue at bottom\");\n if(cval & Node0){\n path.push([p,q+1]);\n d_x = 0;\n d_y = 1;\n d_o = 0;\n //console.log(\"moving upwards to \" + (p + d_x) + \",\" + (q + d_y) + \"!\");\n } else if(!(cval & Node3)){ /* there has to be an entry into the regular grid again! */\n //console.log(\"exiting top\");\n path.push([p, q + cell.lefttop]);\n d_x = 1;\n d_y = 0;\n d_o = 1;\n closed = true;\n break;\n } else {\n //console.log(\"exiting bottom\");\n path.push([p, q + cell.leftbottom]);\n d_x = 1;\n d_y = 0;\n d_o = 0;\n closed = true;\n break;\n }\n } else {\n //console.log(\"continue at top\");\n if(cval & Node0){\n path.push([p,q+1]);\n d_x = 0;\n d_y = 1;\n d_o = 0;\n //console.log(\"moving upwards to \" + (p + d_x) + \",\" + (q + d_y) + \"!\");\n } else { /* */\n console.log(\"MarchingSquaresJS-isoBands: wtf\");\n break;\n }\n }\n } else if(d_x === 1){ /* we came from left */\n //console.log(\"we came from left and hit a non-existing cell \" + (p + d_x) + \",\" + (q + d_y) + \"!\");\n if(d_o === 0){ /* exit bottom */\n if(cval & Node2){\n path.push([p+1,q]);\n d_x = 0;\n d_y = -1;\n d_o = 1;\n } else {\n path.push([p+1,q+cell.rightbottom]);\n d_x = -1;\n d_y = 0;\n d_o = 0;\n closed = true;\n break;\n }\n } else { /* exit top */\n if(cval & Node2){\n path.push([p+1,q]);\n d_x = 0;\n d_y = -1;\n d_o = 1;\n } else if(!(cval & Node1)){\n path.push([p + 1, q + cell.rightbottom]);\n d_x = -1;\n d_y = 0;\n d_o = 0;\n closed = true;\n break;\n } else {\n path.push([p+1,q+cell.righttop]);\n d_x = -1;\n d_y = 0;\n d_o = 1;\n break;\n }\n }\n } else { /* we came from the same cell */\n console.log(\"MarchingSquaresJS-isoBands: we came from nowhere!\");\n break;\n }\n\n } else { /* try to find an entry into the regular grid again! */\n cell = grid.cells[q][p];\n cval = cell.cval_real;\n //console.log(\"which is defined\");\n\n if(d_x === -1){\n if(d_o === 0){\n /* try to go downwards */\n if((typeof grid.cells[q - 1] !== 'undefined') && (typeof grid.cells[q - 1][p] !== 'undefined')){\n d_x = 0;\n d_y = -1;\n d_o = 1;\n } else if(cval & Node3){ /* proceed searching in x-direction */\n //console.log(\"proceeding in x-direction!\");\n path.push([p, q]);\n } else { /* we must have found an entry into the regular grid */\n path.push([p + cell.bottomright, q]);\n d_x = 0;\n d_y = 1;\n d_o = 1;\n closed = true;\n //console.log(\"found entry from bottom at \" + p + \",\" + q);\n break;\n }\n } else {\n if(cval & Node0) { /* proceed searchin in x-direction */\n console.log(\"MarchingSquaresJS-isoBands: proceeding in x-direction!\");\n } else { /* we must have found an entry into the regular grid */\n console.log(\"MarchingSquaresJS-isoBands: found entry from top at \" + p + \",\" + q);\n break;\n }\n }\n } else if(d_x === 1){\n if(d_o === 0){\n console.log(\"MarchingSquaresJS-isoBands: wtf\");\n break;\n } else {\n /* try to go upwards */\n if((typeof grid.cells[q+1] !== 'undefined') && (typeof grid.cells[q+1][p] !== 'undefined')){\n d_x = 0;\n d_y = 1;\n d_o = 0;\n } else if(cval & Node1){\n path.push([p+1,q+1]);\n d_x = 1;\n d_y = 0;\n d_o = 1;\n } else { /* found an entry point into regular grid! */\n path.push([p+cell.topleft, q + 1]);\n d_x = 0;\n d_y = -1;\n d_o = 0;\n closed = true;\n //console.log(\"found entry from bottom at \" + p + \",\" + q);\n break;\n }\n }\n } else if(d_y === -1){\n if(d_o === 1){\n /* try to go right */\n if(typeof grid.cells[q][p+1] !== 'undefined'){\n d_x = 1;\n d_y = 0;\n d_o = 1;\n } else if(cval & Node2){\n path.push([p+1,q]);\n d_x = 0;\n d_y = -1;\n d_o = 1;\n } else { /* found entry into regular grid! */\n path.push([p+1, q + cell.righttop]);\n d_x = -1;\n d_y = 0;\n d_o = 1;\n closed = true;\n //console.log(\"found entry from top at \" + p + \",\" + q);\n break;\n }\n } else {\n console.log(\"MarchingSquaresJS-isoBands: wtf\");\n break;\n }\n } else if(d_y === 1){\n if(d_o === 0){\n //console.log(\"we came from bottom left and proceed to the left\");\n /* try to go left */\n if(typeof grid.cells[q][p - 1] !== 'undefined'){\n d_x = -1;\n d_y = 0;\n d_o = 0;\n } else if(cval & Node0){\n path.push([p,q+1]);\n d_x = 0;\n d_y = 1;\n d_o = 0;\n } else { /* found an entry point into regular grid! */\n path.push([p, q + cell.leftbottom]);\n d_x = 1;\n d_y = 0;\n d_o = 0;\n closed = true;\n //console.log(\"found entry from bottom at \" + p + \",\" + q);\n break;\n }\n } else {\n //console.log(\"we came from bottom right and proceed to the right\");\n console.log(\"MarchingSquaresJS-isoBands: wtf\");\n break;\n }\n } else {\n console.log(\"MarchingSquaresJS-isoBands: where did we came from???\");\n break;\n }\n\n }\n\n p += d_x;\n q += d_y;\n //console.log(\"going on to \" + p + \",\" + q + \" via \" + d_x + \" \" + d_y + \" \" + d_o);\n\n if((p === i) && (q === j)){ /* bail out, once we've closed a circle path */\n break;\n }\n\n }\n\n //console.log(\"exit with \" + p + \",\" + q + \" \" + d_x + \" \" + d_y + \" \" + d_o);\n return { path: path, i: p, j: q, x: d_x, y: d_y, o: d_o };\n }\n\n function deleteEdge(cell, edgeIdx){\n delete cell.edges[edgeIdx];\n for(var k = edgeIdx + 1; k < cell.edges.length; k++){\n cell.edges[k-1] = cell.edges[k];\n }\n cell.edges.pop();\n }\n\n function getStartXY(cell){\n\n if(cell.edges.length > 0){\n var e = cell.edges[cell.edges.length - 1];\n //console.log(\"starting with edge \" + e);\n var cval = cell.cval_real;\n switch(e){\n case 0: if(cval & Node1){ /* node 1 within range */\n return {p: [1, cell.righttop], x: -1, y: 0, o: 1};\n } else { /* node 1 below or above threshold */\n return {p: [cell.topleft, 1], x: 0, y: -1, o: 0};\n }\n case 1: if(cval & Node2){\n return {p: [cell.topleft, 1], x: 0, y: -1, o: 0};\n } else {\n return {p: [1, cell.rightbottom], x: -1, y: 0, o: 0};\n }\n case 2: if(cval & Node2){\n return {p: [cell.bottomright, 0], x: 0, y: 1, o: 1};\n } else {\n return {p: [cell.topleft, 1], x: 0, y: -1, o: 0};\n }\n case 3: if(cval & Node3){\n return {p: [cell.topleft, 1], x: 0, y: -1, o: 0};\n } else {\n return {p: [cell.bottomleft, 0], x: 0, y: 1, o: 0};\n }\n case 4: if(cval & Node1){\n return {p: [1, cell.righttop], x: -1, y: 0, o: 1};\n } else {\n return {p: [cell.topright, 1], x: 0, y: -1, o: 1};\n }\n case 5: if(cval & Node2){\n return {p: [cell.topright, 1], x: 0, y: -1, o: 1};\n } else {\n return {p: [1, cell.rightbottom], x: -1, y: 0, o: 0};\n }\n case 6: if(cval & Node2){\n return {p: [cell.bottomright, 0], x: 0, y: 1, o: 1};\n } else {\n return {p: [cell.topright, 1], x: 0, y: -1, o: 1};\n }\n case 7: if(cval & Node3){\n return {p: [cell.topright, 1], x: 0, y: -1, o: 1};\n } else {\n return {p: [cell.bottomleft, 0], x: 0, y: 1, o: 0};\n }\n case 8: if(cval & Node2){\n return {p: [cell.bottomright, 0], x: 0, y: 1, o: 1};\n } else {\n return {p: [1, cell.righttop], x: -1, y: 0, o: 1};\n }\n case 9: if(cval & Node3){\n return {p: [1, cell.righttop], x: -1, y: 0, o: 1};\n } else {\n return {p: [cell.bottomleft, 0], x: 0, y: 1, o: 0};\n }\n case 10: if(cval & Node3){\n return {p: [0, cell.leftbottom], x: 1, y: 0, o: 0};\n } else {\n return {p: [1, cell.righttop], x: -1, y: 0, o: 1};\n }\n case 11: if(cval & Node0){\n return {p: [1, cell.righttop], x: -1, y: 0, o: 1};\n } else {\n return {p: [0, cell.lefttop], x: 1, y: 0, o: 1};\n }\n case 12: if(cval & Node2){\n return {p: [cell.bottomright, 0], x: 0, y: 1, o: 1};\n } else {\n return {p: [1, cell.rightbottom], x: -1, y: 0, o: 0};\n }\n case 13: if(cval & Node3){\n return {p: [1, cell.rightbottom], x: -1, y: 0, o: 0};\n } else {\n return {p: [cell.bottomleft, 0], x: 0, y: 1, o: 0};\n }\n case 14: if(cval & Node3){\n return {p: [0, cell.leftbottom], x: 1, y: 0, o: 0};\n } else {\n return {p: [1, cell.rightbottom], x: -1, y: 0, o: 0};\n }\n case 15: if(cval & Node0){\n return {p: [1, cell.rightbottom], x: -1, y: 0, o: 0};\n } else {\n return {p: [0, cell.lefttop], x: 1, y: 0, o: 1};\n }\n case 16: if(cval & Node2){\n return {p: [cell.bottomright, 0], x: 0, y: 1, o: 1};\n } else {\n return {p: [0, cell.leftbottom], x: 1, y: 0, o: 0};\n }\n case 17: if(cval & Node0){\n return {p: [cell.bottomright, 0], x: 0, y: 1, o: 1};\n } else {\n return {p: [0, cell.lefttop], x: 1, y: 0, o: 1};\n }\n case 18: if(cval & Node3){\n return {p: [0, cell.leftbottom], x: 1, y: 0, o: 0};\n } else {\n return {p: [cell.bottomleft, 0], x: 0, y: 1, o: 0};\n }\n case 19: if(cval & Node0){\n return {p: [cell.bottomleft, 0], x: 0, y: 1, o: 0};\n } else {\n return {p: [0, cell.lefttop], x: 1, y: 0, o: 1};\n }\n case 20: if(cval & Node0){\n return {p: [cell.topleft, 1], x: 0, y: -1, o: 0};\n } else {\n return {p: [0, cell.leftbottom], x: 1, y: 0, o: 0};\n }\n case 21: if(cval & Node1){\n return {p: [0, cell.leftbottom], x: 1, y: 0, o: 0};\n } else {\n return {p: [cell.topright, 1], x: 0, y: -1, o: 1};\n }\n case 22: if(cval & Node0){\n return {p: [cell.topleft, 1], x: 0, y: -1, o: 0};\n } else {\n return {p: [0, cell.lefttop], x: 1, y: 0, o: 1};\n }\n case 23: if(cval & Node1){\n return {p: [0, cell.lefttop], x: 1, y: 0, o: 1};\n } else {\n return {p: [cell.topright, 1], x: 0, y: -1, o: 1};\n }\n default: console.log(\"MarchingSquaresJS-isoBands: edge index out of range!\");\n console.log(cell);\n break;\n }\n }\n\n return null;\n }\n\n function getExitXY(cell, x, y, o){\n\n var e, id_x, d_x, d_y, cval = cell.cval;\n var d_o;\n\n switch(x){\n case -1: switch(o){\n case 0: e = isoBandEdgeRB[cval];\n d_x = isoBandNextXRB[cval];\n d_y = isoBandNextYRB[cval];\n d_o = isoBandNextORB[cval];\n break;\n default: e = isoBandEdgeRT[cval];\n d_x = isoBandNextXRT[cval];\n d_y = isoBandNextYRT[cval];\n d_o = isoBandNextORT[cval];\n break;\n }\n break;\n case 1: switch(o){\n case 0: e = isoBandEdgeLB[cval];\n d_x = isoBandNextXLB[cval];\n d_y = isoBandNextYLB[cval];\n d_o = isoBandNextOLB[cval];\n break;\n default: e = isoBandEdgeLT[cval];\n d_x = isoBandNextXLT[cval];\n d_y = isoBandNextYLT[cval];\n d_o = isoBandNextOLT[cval];\n break;\n }\n break;\n default: switch(y){\n case -1: switch(o){\n case 0: e = isoBandEdgeTL[cval];\n d_x = isoBandNextXTL[cval];\n d_y = isoBandNextYTL[cval];\n d_o = isoBandNextOTL[cval];\n break;\n default: e = isoBandEdgeTR[cval];\n d_x = isoBandNextXTR[cval];\n d_y = isoBandNextYTR[cval];\n d_o = isoBandNextOTR[cval];\n break;\n }\n break;\n case 1: switch(o){\n case 0: e = isoBandEdgeBL[cval];\n d_x = isoBandNextXBL[cval];\n d_y = isoBandNextYBL[cval];\n d_o = isoBandNextOBL[cval];\n break;\n default: e = isoBandEdgeBR[cval];\n d_x = isoBandNextXBR[cval];\n d_y = isoBandNextYBR[cval];\n d_o = isoBandNextOBR[cval];\n break;\n }\n break;\n default: break;\n }\n break;\n }\n\n id_x = cell.edges.indexOf(e);\n if(typeof cell.edges[id_x] !== 'undefined'){\n deleteEdge(cell, id_x);\n } else {\n //console.log(\"wrong edges...\");\n //console.log(x + \" \" + y + \" \" + o);\n //console.log(cell);\n return null;\n }\n\n cval = cell.cval_real;\n\n switch(e){\n case 0: if(cval & Node1){ /* node 1 within range */\n x = cell.topleft;\n y = 1;\n } else { /* node 1 below or above threshold */\n x = 1;\n y = cell.righttop;\n }\n break;\n case 1: if(cval & Node2){\n x = 1;\n y = cell.rightbottom;\n } else {\n x = cell.topleft;\n y = 1;\n }\n break;\n case 2: if(cval & Node2){\n x = cell.topleft;\n y = 1;\n } else {\n x = cell.bottomright;\n y = 0;\n }\n break;\n case 3: if(cval & Node3){\n x = cell.bottomleft;\n y = 0;\n } else {\n x = cell.topleft;\n y = 1;\n }\n break;\n case 4: if(cval & Node1){\n x = cell.topright;\n y = 1;\n } else {\n x = 1;\n y = cell.righttop;\n }\n break;\n case 5: if(cval & Node2){\n x = 1;\n y = cell.rightbottom;\n } else {\n x = cell.topright;\n y = 1;\n }\n break;\n case 6: if(cval & Node2){\n x = cell.topright;\n y = 1;\n } else {\n x = cell.bottomright;\n y = 0;\n }\n break;\n case 7: if(cval & Node3){\n x = cell.bottomleft;\n y = 0;\n } else {\n x = cell.topright;\n y = 1;\n }\n break;\n case 8: if(cval & Node2){\n x = 1;\n y = cell.righttop;\n } else {\n x = cell.bottomright;\n y = 0;\n }\n break;\n case 9: if(cval & Node3){\n x = cell.bottomleft;\n y = 0;\n } else {\n x = 1;\n y = cell.righttop;\n }\n break;\n case 10: if(cval & Node3){\n x = 1;\n y = cell.righttop;\n } else {\n x = 0;\n y = cell.leftbottom;\n }\n break;\n case 11: if(cval & Node0){\n x = 0;\n y = cell.lefttop;\n } else {\n x = 1;\n y = cell.righttop;\n }\n break;\n case 12: if(cval & Node2){\n x = 1;\n y = cell.rightbottom;\n } else {\n x = cell.bottomright;\n y = 0;\n }\n break;\n case 13: if(cval & Node3){\n x = cell.bottomleft;\n y = 0;\n } else {\n x = 1;\n y = cell.rightbottom;\n }\n break;\n case 14: if(cval & Node3){\n x = 1;\n y = cell.rightbottom;\n } else {\n x = 0;\n y = cell.leftbottom;\n }\n break;\n case 15: if(cval & Node0){\n x = 0;\n y = cell.lefttop;\n } else {\n x = 1;\n y = cell.rightbottom;\n }\n break;\n case 16: if(cval & Node2){\n x = 0;\n y = cell.leftbottom;\n } else {\n x = cell.bottomright;\n y = 0;\n }\n break;\n case 17: if(cval & Node0){\n x = 0;\n y = cell.lefttop;\n } else {\n x = cell.bottomright;\n y = 0;\n }\n break;\n case 18: if(cval & Node3){\n x = cell.bottomleft;\n y = 0;\n } else {\n x = 0;\n y = cell.leftbottom;\n }\n break;\n case 19: if(cval & Node0){\n x = 0;\n y = cell.lefttop;\n } else {\n x = cell.bottomleft;\n y = 0;\n }\n break;\n case 20: if(cval & Node0){\n x = 0;\n y = cell.leftbottom;\n } else {\n x = cell.topleft;\n y = 1;\n }\n break;\n case 21: if(cval & Node1){\n x = cell.topright;\n y = 1;\n } else {\n x = 0;\n y = cell.leftbottom;\n }\n break;\n case 22: if(cval & Node0){\n x = 0;\n y = cell.lefttop;\n } else {\n x = cell.topleft;\n y = 1;\n }\n break;\n case 23: if(cval & Node1){\n x = cell.topright;\n y = 1;\n } else {\n x = 0;\n y = cell.lefttop;\n }\n break;\n default: console.log(\"MarchingSquaresJS-isoBands: edge index out of range!\");\n console.log(cell);\n return null;\n }\n\n if((typeof x === 'undefined') || (typeof y === 'undefined') ||\n (typeof d_x === 'undefined') || (typeof d_y === 'undefined') ||\n (typeof d_o === 'undefined')){\n console.log(\"MarchingSquaresJS-isoBands: undefined value!\");\n console.log(cell);\n console.log(x + \" \" + y + \" \" + d_x + \" \" + d_y + \" \" + d_o);\n }\n return {p: [x, y], x: d_x, y: d_y, o: d_o};\n }\n\n function BandGrid2Areas(grid){\n var areas = [];\n var area_idx = 0;\n\n grid.cells.forEach(function(g, j){\n g.forEach(function(gg, i){\n if(typeof gg !== 'undefined'){\n var a = polygon_table[gg.cval](gg);\n if((typeof a === 'object') && isArray(a)){\n if((typeof a[0] === 'object') && isArray(a[0])){\n if((typeof a[0][0] === 'object') && isArray(a[0][0])){\n a.forEach(function(aa){\n aa.forEach(function(aaa){\n aaa[0] += i;\n aaa[1] += j;\n });\n areas[area_idx++] = aa;\n });\n } else {\n a.forEach(function(aa){\n aa[0] += i;\n aa[1] += j;\n });\n areas[area_idx++] = a;\n }\n } else {\n console.log(\"MarchingSquaresJS-isoBands: bandcell polygon with malformed coordinates\");\n }\n } else {\n console.log(\"MarchingSquaresJS-isoBands: bandcell polygon with null coordinates\");\n }\n }\n });\n });\n\n return areas;\n }\n\n return isoBands;\n\n}));\n","var polygon = require('@turf/helpers').polygon;\nvar earcut = require('earcut');\n\n\n/**\n * Tesselates a {@link Feature} into a {@link FeatureCollection} of triangles\n * using [earcut](https://github.com/mapbox/earcut).\n *\n * @name tesselate\n * @param {Feature} poly the polygon to tesselate\n * @returns {FeatureCollection} a geometrycollection feature\n * @example\n * var poly = turf.polygon([[[11, 0], [22, 4], [31, 0], [31, 11], [21, 15], [11, 11], [11, 0]]]);\n * var triangles = turf.tesselate(poly);\n *\n * //addToMap\n * var addToMap = [poly, triangles]\n */\nmodule.exports = function (poly) {\n if (!poly.geometry || (poly.geometry.type !== 'Polygon' && poly.geometry.type !== 'MultiPolygon')) {\n throw new Error('input must be a Polygon or MultiPolygon');\n }\n\n var fc = {type: 'FeatureCollection', features: []};\n\n if (poly.geometry.type === 'Polygon') {\n fc.features = processPolygon(poly.geometry.coordinates);\n } else {\n poly.geometry.coordinates.forEach(function (coordinates) {\n fc.features = fc.features.concat(processPolygon(coordinates));\n });\n }\n\n return fc;\n};\n\nfunction processPolygon(coordinates) {\n var data = flattenCoords(coordinates);\n var dim = 2;\n var result = earcut(data.vertices, data.holes, dim);\n\n var features = [];\n var vertices = [];\n\n result.forEach(function (vert, i) {\n var index = result[i];\n vertices.push([data.vertices[index * dim], data.vertices[index * dim + 1]]);\n });\n\n for (var i = 0; i < vertices.length; i += 3) {\n var coords = vertices.slice(i, i + 3);\n coords.push(vertices[i]);\n features.push(polygon([coords]));\n }\n\n return features;\n}\n\nfunction flattenCoords(data) {\n var dim = data[0][0].length,\n result = {vertices: [], holes: [], dimensions: dim},\n holeIndex = 0;\n\n for (var i = 0; i < data.length; i++) {\n for (var j = 0; j < data[i].length; j++) {\n for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);\n }\n if (i > 0) {\n holeIndex += data[i - 1].length;\n result.holes.push(holeIndex);\n }\n }\n\n return result;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"AutoMetaData_options_2LvWC\"};","var meta = require('@turf/meta');\nvar rbush = require('geojson-rbush');\nvar helpers = require('@turf/helpers');\nvar getCoords = require('@turf/invariant').getCoords;\nvar lineSegment = require('@turf/line-segment');\nvar point = helpers.point;\nvar featureEach = meta.featureEach;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes any LineString or Polygon GeoJSON and returns the intersecting point(s).\n *\n * @name lineIntersect\n * @param {Geometry|FeatureCollection|Feature} line1 any LineString or Polygon\n * @param {Geometry|FeatureCollection|Feature} line2 any LineString or Polygon\n * @returns {FeatureCollection} point(s) that intersect both\n * @example\n * var line1 = turf.lineString([[126, -11], [129, -21]]);\n * var line2 = turf.lineString([[123, -18], [131, -14]]);\n * var intersects = turf.lineIntersect(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, intersects]\n */\nmodule.exports = function (line1, line2) {\n var unique = {};\n var results = [];\n\n // First, normalize geometries to features\n // Then, handle simple 2-vertex segments\n if (line1.type === 'LineString') line1 = helpers.feature(line1);\n if (line2.type === 'LineString') line2 = helpers.feature(line2);\n if (line1.type === 'Feature' &&\n line2.type === 'Feature' &&\n line1.geometry.type === 'LineString' &&\n line2.geometry.type === 'LineString' &&\n line1.geometry.coordinates.length === 2 &&\n line2.geometry.coordinates.length === 2) {\n var intersect = intersects(line1, line2);\n if (intersect) results.push(intersect);\n return featureCollection(results);\n }\n\n // Handles complex GeoJSON Geometries\n var tree = rbush();\n tree.load(lineSegment(line2));\n featureEach(lineSegment(line1), function (segment) {\n featureEach(tree.search(segment), function (match) {\n var intersect = intersects(segment, match);\n if (intersect) {\n // prevent duplicate points https://github.com/Turfjs/turf/issues/688\n var key = getCoords(intersect).join(',');\n if (!unique[key]) {\n unique[key] = true;\n results.push(intersect);\n }\n }\n });\n });\n return featureCollection(results);\n};\n\n/**\n * Find a point that intersects LineStrings with two coordinates each\n *\n * @private\n * @param {Feature} line1 GeoJSON LineString (Must only contain 2 coordinates)\n * @param {Feature} line2 GeoJSON LineString (Must only contain 2 coordinates)\n * @returns {Feature} intersecting GeoJSON Point\n */\nfunction intersects(line1, line2) {\n var coords1 = getCoords(line1);\n var coords2 = getCoords(line2);\n if (coords1.length !== 2) {\n throw new Error(' line1 must only contain 2 coordinates');\n }\n if (coords2.length !== 2) {\n throw new Error(' line2 must only contain 2 coordinates');\n }\n var x1 = coords1[0][0];\n var y1 = coords1[0][1];\n var x2 = coords1[1][0];\n var y2 = coords1[1][1];\n var x3 = coords2[0][0];\n var y3 = coords2[0][1];\n var x4 = coords2[1][0];\n var y4 = coords2[1][1];\n var denom = ((y4 - y3) * (x2 - x1)) - ((x4 - x3) * (y2 - y1));\n var numeA = ((x4 - x3) * (y1 - y3)) - ((y4 - y3) * (x1 - x3));\n var numeB = ((x2 - x1) * (y1 - y3)) - ((y2 - y1) * (x1 - x3));\n\n if (denom === 0) {\n if (numeA === 0 && numeB === 0) {\n return null;\n }\n return null;\n }\n\n var uA = numeA / denom;\n var uB = numeB / denom;\n\n if (uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1) {\n var x = x1 + (uA * (x2 - x1));\n var y = y1 + (uA * (y2 - y1));\n return point([x, y]);\n }\n return null;\n}\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTableSortingButton.vue?vue&type=style&index=0&id=6c9a549e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTableSortingButton.vue?vue&type=style&index=0&id=6c9a549e&lang=scss&scoped=true&\"","/**\n * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.\n *\n * @param {Array|Geometry|Feature} obj any value\n * @returns {Array} coordinates\n */\nfunction getCoord(obj) {\n if (!obj) throw new Error('No obj passed');\n\n var coordinates = getCoords(obj);\n\n // getCoord() must contain at least two numbers (Point)\n if (coordinates.length > 1 &&\n typeof coordinates[0] === 'number' &&\n typeof coordinates[1] === 'number') {\n return coordinates;\n } else {\n throw new Error('Coordinate is not a valid Point');\n }\n}\n\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array of numbers\n *\n * @param {Array|Geometry|Feature} obj any value\n * @returns {Array} coordinates\n */\nfunction getCoords(obj) {\n if (!obj) throw new Error('No obj passed');\n var coordinates;\n\n // Array of numbers\n if (obj.length) {\n coordinates = obj;\n\n // Geometry Object\n } else if (obj.coordinates) {\n coordinates = obj.coordinates;\n\n // Feature\n } else if (obj.geometry && obj.geometry.coordinates) {\n coordinates = obj.geometry.coordinates;\n }\n // Checks if coordinates contains a number\n if (coordinates) {\n containsNumber(coordinates);\n return coordinates;\n }\n throw new Error('No valid coordinates');\n}\n\n/**\n * Checks if coordinates contains a number\n *\n * @private\n * @param {Array} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 &&\n typeof coordinates[0] === 'number' &&\n typeof coordinates[1] === 'number') {\n return true;\n }\n if (coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error('coordinates must only contain numbers');\n}\n\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @alias geojsonType\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction geojsonType(value, type, name) {\n if (!type || !name) throw new Error('type and name required');\n\n if (!value || value.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + value.type);\n }\n}\n\n/**\n * Enforce expectations about types of {@link Feature} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @alias featureOf\n * @param {Feature} feature a feature with an expected geometry type\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} error if value is not the expected type.\n */\nfunction featureOf(feature, type, name) {\n if (!feature) throw new Error('No feature passed');\n if (!name) throw new Error('.featureOf() requires a name');\n if (!feature || feature.type !== 'Feature' || !feature.geometry) {\n throw new Error('Invalid input to ' + name + ', Feature with geometry required');\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + feature.geometry.type);\n }\n}\n\n/**\n * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @alias collectionOf\n * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) throw new Error('No featureCollection passed');\n if (!name) throw new Error('.collectionOf() requires a name');\n if (!featureCollection || featureCollection.type !== 'FeatureCollection') {\n throw new Error('Invalid input to ' + name + ', FeatureCollection required');\n }\n for (var i = 0; i < featureCollection.features.length; i++) {\n var feature = featureCollection.features[i];\n if (!feature || feature.type !== 'Feature' || !feature.geometry) {\n throw new Error('Invalid input to ' + name + ', Feature with geometry required');\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error('Invalid input to ' + name + ': must be a ' + type + ', given ' + feature.geometry.type);\n }\n }\n}\n\nmodule.exports.geojsonType = geojsonType;\nmodule.exports.collectionOf = collectionOf;\nmodule.exports.featureOf = featureOf;\nmodule.exports.getCoord = getCoord;\nmodule.exports.getCoords = getCoords;\n","'use strict';\n\nvar defaults = require('./core.defaults');\nvar helpers = require('../helpers/index');\nvar layouts = require('./core.layouts');\n\nmodule.exports = {\n\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\n\t// use the new chart options to grab the correct scale\n\tconstructors: {},\n\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\n\t// old browsers\n\n\t// Scale config defaults\n\tdefaults: {},\n\tregisterScaleType: function(type, scaleConstructor, scaleDefaults) {\n\t\tthis.constructors[type] = scaleConstructor;\n\t\tthis.defaults[type] = helpers.clone(scaleDefaults);\n\t},\n\tgetScaleConstructor: function(type) {\n\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\n\t},\n\tgetScaleDefaults: function(type) {\n\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\n\t\treturn this.defaults.hasOwnProperty(type) ? helpers.merge({}, [defaults.scale, this.defaults[type]]) : {};\n\t},\n\tupdateScaleDefaults: function(type, additions) {\n\t\tvar me = this;\n\t\tif (me.defaults.hasOwnProperty(type)) {\n\t\t\tme.defaults[type] = helpers.extend(me.defaults[type], additions);\n\t\t}\n\t},\n\taddScalesToLayout: function(chart) {\n\t\t// Adds each scale to the chart.boxes array to be sized accordingly\n\t\thelpers.each(chart.scales, function(scale) {\n\t\t\t// Set ILayoutItem parameters for backwards compatibility\n\t\t\tscale.fullWidth = scale.options.fullWidth;\n\t\t\tscale.position = scale.options.position;\n\t\t\tscale.weight = scale.options.weight;\n\t\t\tlayouts.addBox(chart, scale);\n\t\t});\n\t}\n};\n","/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @name feature\n * @param {Geometry} geometry input geometry\n * @param {Object} properties properties\n * @returns {FeatureCollection} a FeatureCollection of input features\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [\n * 67.5,\n * 32.84267363195431\n * ]\n * }\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nfunction feature(geometry, properties) {\n if (!geometry) throw new Error('No geometry passed');\n\n return {\n type: 'Feature',\n properties: properties || {},\n geometry: geometry\n };\n}\nmodule.exports.feature = feature;\n\n/**\n * Takes coordinates and properties (optional) and returns a new {@link Point} feature.\n *\n * @name point\n * @param {Array} coordinates longitude, latitude position (each in decimal degrees)\n * @param {Object=} properties an Object that is used as the {@link Feature}'s\n * properties\n * @returns {Feature} a Point feature\n * @example\n * var pt1 = turf.point([-75.343, 39.984]);\n *\n * //=pt1\n */\nmodule.exports.point = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length === undefined) throw new Error('Coordinates must be an array');\n if (coordinates.length < 2) throw new Error('Coordinates must be at least 2 numbers long');\n if (typeof coordinates[0] !== 'number' || typeof coordinates[1] !== 'number') throw new Error('Coordinates must numbers');\n\n return feature({\n type: 'Point',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Takes an array of LinearRings and optionally an {@link Object} with properties and returns a {@link Polygon} feature.\n *\n * @name polygon\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object=} properties a properties object\n * @returns {Feature} a Polygon feature\n * @throws {Error} throw an error if a LinearRing of the polygon has too few positions\n * or if a LinearRing of the Polygon does not have matching Positions at the\n * beginning & end.\n * @example\n * var polygon = turf.polygon([[\n * [-2.275543, 53.464547],\n * [-2.275543, 53.489271],\n * [-2.215118, 53.489271],\n * [-2.215118, 53.464547],\n * [-2.275543, 53.464547]\n * ]], { name: 'poly1', population: 400});\n *\n * //=polygon\n */\nmodule.exports.polygon = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n for (var i = 0; i < coordinates.length; i++) {\n var ring = coordinates[i];\n if (ring.length < 4) {\n throw new Error('Each LinearRing of a Polygon must have 4 or more Positions.');\n }\n for (var j = 0; j < ring[ring.length - 1].length; j++) {\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error('First and last Position are not equivalent.');\n }\n }\n }\n\n return feature({\n type: 'Polygon',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Creates a {@link LineString} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name lineString\n * @param {Array>} coordinates an array of Positions\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a LineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var linestring1 = turf.lineString([\n * [-21.964416, 64.148203],\n * [-21.956176, 64.141316],\n * [-21.93901, 64.135924],\n * [-21.927337, 64.136673]\n * ]);\n * var linestring2 = turf.lineString([\n * [-21.929054, 64.127985],\n * [-21.912918, 64.134726],\n * [-21.916007, 64.141016],\n * [-21.930084, 64.14446]\n * ], {name: 'line 1', distance: 145});\n *\n * //=linestring1\n *\n * //=linestring2\n */\nmodule.exports.lineString = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'LineString',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @name featureCollection\n * @param {Feature[]} features input features\n * @returns {FeatureCollection} a FeatureCollection of input features\n * @example\n * var features = [\n * turf.point([-75.343, 39.984], {name: 'Location A'}),\n * turf.point([-75.833, 39.284], {name: 'Location B'}),\n * turf.point([-75.534, 39.123], {name: 'Location C'})\n * ];\n *\n * var fc = turf.featureCollection(features);\n *\n * //=fc\n */\nmodule.exports.featureCollection = function (features) {\n if (!features) throw new Error('No features passed');\n\n return {\n type: 'FeatureCollection',\n features: features\n };\n};\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiLineString\n * @param {Array>>} coordinates an array of LineStrings\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n *\n */\nmodule.exports.multiLineString = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiLineString',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPoint\n * @param {Array>} coordinates an array of Positions\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n *\n */\nmodule.exports.multiPoint = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPoint',\n coordinates: coordinates\n }, properties);\n};\n\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPolygon\n * @param {Array>>>} coordinates an array of Polygons\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nmodule.exports.multiPolygon = function (coordinates, properties) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPolygon',\n coordinates: coordinates\n }, properties);\n};\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name geometryCollection\n * @param {Array<{Geometry}>} geometries an array of GeoJSON Geometries\n * @param {Object=} properties an Object of key-value pairs to add as properties\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = {\n * \"type\": \"Point\",\n * \"coordinates\": [100, 0]\n * };\n * var line = {\n * \"type\": \"LineString\",\n * \"coordinates\": [ [101, 0], [102, 1] ]\n * };\n * var collection = turf.geometryCollection([pt, line]);\n *\n * //=collection\n */\nmodule.exports.geometryCollection = function (geometries, properties) {\n if (!geometries) throw new Error('No geometries passed');\n\n return feature({\n type: 'GeometryCollection',\n geometries: geometries\n }, properties);\n};\n\nvar factors = {\n miles: 3960,\n nauticalmiles: 3441.145,\n degrees: 57.2957795,\n radians: 1,\n inches: 250905600,\n yards: 6969600,\n meters: 6373000,\n metres: 6373000,\n kilometers: 6373,\n kilometres: 6373,\n feet: 20908792.65\n};\n\n/*\n * Convert a distance measurement from radians to a more friendly unit.\n *\n * @name radiansToDistance\n * @param {number} distance in radians across the sphere\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} distance\n */\nmodule.exports.radiansToDistance = function (radians, units) {\n var factor = factors[units || 'kilometers'];\n if (factor === undefined) throw new Error('Invalid unit');\n\n return radians * factor;\n};\n\n/*\n * Convert a distance measurement from a real-world unit into radians\n *\n * @name distanceToRadians\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} radians\n */\nmodule.exports.distanceToRadians = function (distance, units) {\n var factor = factors[units || 'kilometers'];\n if (factor === undefined) throw new Error('Invalid unit');\n\n return distance / factor;\n};\n\n/*\n * Convert a distance measurement from a real-world unit into degrees\n *\n * @name distanceToRadians\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nmodule.exports.distanceToDegrees = function (distance, units) {\n var factor = factors[units || 'kilometers'];\n if (factor === undefined) throw new Error('Invalid unit');\n\n return (distance / factor) * 57.2958;\n};\n","/* MIT license */\n\nmodule.exports = {\n rgb2hsl: rgb2hsl,\n rgb2hsv: rgb2hsv,\n rgb2hwb: rgb2hwb,\n rgb2cmyk: rgb2cmyk,\n rgb2keyword: rgb2keyword,\n rgb2xyz: rgb2xyz,\n rgb2lab: rgb2lab,\n rgb2lch: rgb2lch,\n\n hsl2rgb: hsl2rgb,\n hsl2hsv: hsl2hsv,\n hsl2hwb: hsl2hwb,\n hsl2cmyk: hsl2cmyk,\n hsl2keyword: hsl2keyword,\n\n hsv2rgb: hsv2rgb,\n hsv2hsl: hsv2hsl,\n hsv2hwb: hsv2hwb,\n hsv2cmyk: hsv2cmyk,\n hsv2keyword: hsv2keyword,\n\n hwb2rgb: hwb2rgb,\n hwb2hsl: hwb2hsl,\n hwb2hsv: hwb2hsv,\n hwb2cmyk: hwb2cmyk,\n hwb2keyword: hwb2keyword,\n\n cmyk2rgb: cmyk2rgb,\n cmyk2hsl: cmyk2hsl,\n cmyk2hsv: cmyk2hsv,\n cmyk2hwb: cmyk2hwb,\n cmyk2keyword: cmyk2keyword,\n\n keyword2rgb: keyword2rgb,\n keyword2hsl: keyword2hsl,\n keyword2hsv: keyword2hsv,\n keyword2hwb: keyword2hwb,\n keyword2cmyk: keyword2cmyk,\n keyword2lab: keyword2lab,\n keyword2xyz: keyword2xyz,\n\n xyz2rgb: xyz2rgb,\n xyz2lab: xyz2lab,\n xyz2lch: xyz2lch,\n\n lab2xyz: lab2xyz,\n lab2rgb: lab2rgb,\n lab2lch: lab2lch,\n\n lch2lab: lch2lab,\n lch2xyz: lch2xyz,\n lch2rgb: lch2rgb\n}\n\n\nfunction rgb2hsl(rgb) {\n var r = rgb[0]/255,\n g = rgb[1]/255,\n b = rgb[2]/255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n delta = max - min,\n h, s, l;\n\n if (max == min)\n h = 0;\n else if (r == max)\n h = (g - b) / delta;\n else if (g == max)\n h = 2 + (b - r) / delta;\n else if (b == max)\n h = 4 + (r - g)/ delta;\n\n h = Math.min(h * 60, 360);\n\n if (h < 0)\n h += 360;\n\n l = (min + max) / 2;\n\n if (max == min)\n s = 0;\n else if (l <= 0.5)\n s = delta / (max + min);\n else\n s = delta / (2 - max - min);\n\n return [h, s * 100, l * 100];\n}\n\nfunction rgb2hsv(rgb) {\n var r = rgb[0],\n g = rgb[1],\n b = rgb[2],\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n delta = max - min,\n h, s, v;\n\n if (max == 0)\n s = 0;\n else\n s = (delta/max * 1000)/10;\n\n if (max == min)\n h = 0;\n else if (r == max)\n h = (g - b) / delta;\n else if (g == max)\n h = 2 + (b - r) / delta;\n else if (b == max)\n h = 4 + (r - g) / delta;\n\n h = Math.min(h * 60, 360);\n\n if (h < 0)\n h += 360;\n\n v = ((max / 255) * 1000) / 10;\n\n return [h, s, v];\n}\n\nfunction rgb2hwb(rgb) {\n var r = rgb[0],\n g = rgb[1],\n b = rgb[2],\n h = rgb2hsl(rgb)[0],\n w = 1/255 * Math.min(r, Math.min(g, b)),\n b = 1 - 1/255 * Math.max(r, Math.max(g, b));\n\n return [h, w * 100, b * 100];\n}\n\nfunction rgb2cmyk(rgb) {\n var r = rgb[0] / 255,\n g = rgb[1] / 255,\n b = rgb[2] / 255,\n c, m, y, k;\n\n k = Math.min(1 - r, 1 - g, 1 - b);\n c = (1 - r - k) / (1 - k) || 0;\n m = (1 - g - k) / (1 - k) || 0;\n y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n}\n\nfunction rgb2keyword(rgb) {\n return reverseKeywords[JSON.stringify(rgb)];\n}\n\nfunction rgb2xyz(rgb) {\n var r = rgb[0] / 255,\n g = rgb[1] / 255,\n b = rgb[2] / 255;\n\n // assume sRGB\n r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n return [x * 100, y *100, z * 100];\n}\n\nfunction rgb2lab(rgb) {\n var xyz = rgb2xyz(rgb),\n x = xyz[0],\n y = xyz[1],\n z = xyz[2],\n l, a, b;\n\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n\n x = x > 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);\n y = y > 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);\n z = z > 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);\n\n l = (116 * y) - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n\n return [l, a, b];\n}\n\nfunction rgb2lch(args) {\n return lab2lch(rgb2lab(args));\n}\n\nfunction hsl2rgb(hsl) {\n var h = hsl[0] / 360,\n s = hsl[1] / 100,\n l = hsl[2] / 100,\n t1, t2, t3, rgb, val;\n\n if (s == 0) {\n val = l * 255;\n return [val, val, val];\n }\n\n if (l < 0.5)\n t2 = l * (1 + s);\n else\n t2 = l + s - l * s;\n t1 = 2 * l - t2;\n\n rgb = [0, 0, 0];\n for (var i = 0; i < 3; i++) {\n t3 = h + 1 / 3 * - (i - 1);\n t3 < 0 && t3++;\n t3 > 1 && t3--;\n\n if (6 * t3 < 1)\n val = t1 + (t2 - t1) * 6 * t3;\n else if (2 * t3 < 1)\n val = t2;\n else if (3 * t3 < 2)\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n else\n val = t1;\n\n rgb[i] = val * 255;\n }\n\n return rgb;\n}\n\nfunction hsl2hsv(hsl) {\n var h = hsl[0],\n s = hsl[1] / 100,\n l = hsl[2] / 100,\n sv, v;\n\n if(l === 0) {\n // no need to do calc on black\n // also avoids divide by 0 error\n return [0, 0, 0];\n }\n\n l *= 2;\n s *= (l <= 1) ? l : 2 - l;\n v = (l + s) / 2;\n sv = (2 * s) / (l + s);\n return [h, sv * 100, v * 100];\n}\n\nfunction hsl2hwb(args) {\n return rgb2hwb(hsl2rgb(args));\n}\n\nfunction hsl2cmyk(args) {\n return rgb2cmyk(hsl2rgb(args));\n}\n\nfunction hsl2keyword(args) {\n return rgb2keyword(hsl2rgb(args));\n}\n\n\nfunction hsv2rgb(hsv) {\n var h = hsv[0] / 60,\n s = hsv[1] / 100,\n v = hsv[2] / 100,\n hi = Math.floor(h) % 6;\n\n var f = h - Math.floor(h),\n p = 255 * v * (1 - s),\n q = 255 * v * (1 - (s * f)),\n t = 255 * v * (1 - (s * (1 - f))),\n v = 255 * v;\n\n switch(hi) {\n case 0:\n return [v, t, p];\n case 1:\n return [q, v, p];\n case 2:\n return [p, v, t];\n case 3:\n return [p, q, v];\n case 4:\n return [t, p, v];\n case 5:\n return [v, p, q];\n }\n}\n\nfunction hsv2hsl(hsv) {\n var h = hsv[0],\n s = hsv[1] / 100,\n v = hsv[2] / 100,\n sl, l;\n\n l = (2 - s) * v;\n sl = s * v;\n sl /= (l <= 1) ? l : 2 - l;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n}\n\nfunction hsv2hwb(args) {\n return rgb2hwb(hsv2rgb(args))\n}\n\nfunction hsv2cmyk(args) {\n return rgb2cmyk(hsv2rgb(args));\n}\n\nfunction hsv2keyword(args) {\n return rgb2keyword(hsv2rgb(args));\n}\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nfunction hwb2rgb(hwb) {\n var h = hwb[0] / 360,\n wh = hwb[1] / 100,\n bl = hwb[2] / 100,\n ratio = wh + bl,\n i, v, f, n;\n\n // wh + bl cant be > 1\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n\n i = Math.floor(6 * h);\n v = 1 - bl;\n f = 6 * h - i;\n if ((i & 0x01) != 0) {\n f = 1 - f;\n }\n n = wh + f * (v - wh); // linear interpolation\n\n switch (i) {\n default:\n case 6:\n case 0: r = v; g = n; b = wh; break;\n case 1: r = n; g = v; b = wh; break;\n case 2: r = wh; g = v; b = n; break;\n case 3: r = wh; g = n; b = v; break;\n case 4: r = n; g = wh; b = v; break;\n case 5: r = v; g = wh; b = n; break;\n }\n\n return [r * 255, g * 255, b * 255];\n}\n\nfunction hwb2hsl(args) {\n return rgb2hsl(hwb2rgb(args));\n}\n\nfunction hwb2hsv(args) {\n return rgb2hsv(hwb2rgb(args));\n}\n\nfunction hwb2cmyk(args) {\n return rgb2cmyk(hwb2rgb(args));\n}\n\nfunction hwb2keyword(args) {\n return rgb2keyword(hwb2rgb(args));\n}\n\nfunction cmyk2rgb(cmyk) {\n var c = cmyk[0] / 100,\n m = cmyk[1] / 100,\n y = cmyk[2] / 100,\n k = cmyk[3] / 100,\n r, g, b;\n\n r = 1 - Math.min(1, c * (1 - k) + k);\n g = 1 - Math.min(1, m * (1 - k) + k);\n b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n}\n\nfunction cmyk2hsl(args) {\n return rgb2hsl(cmyk2rgb(args));\n}\n\nfunction cmyk2hsv(args) {\n return rgb2hsv(cmyk2rgb(args));\n}\n\nfunction cmyk2hwb(args) {\n return rgb2hwb(cmyk2rgb(args));\n}\n\nfunction cmyk2keyword(args) {\n return rgb2keyword(cmyk2rgb(args));\n}\n\n\nfunction xyz2rgb(xyz) {\n var x = xyz[0] / 100,\n y = xyz[1] / 100,\n z = xyz[2] / 100,\n r, g, b;\n\n r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n // assume sRGB\n r = r > 0.0031308 ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n : r = (r * 12.92);\n\n g = g > 0.0031308 ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n : g = (g * 12.92);\n\n b = b > 0.0031308 ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n : b = (b * 12.92);\n\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n\n return [r * 255, g * 255, b * 255];\n}\n\nfunction xyz2lab(xyz) {\n var x = xyz[0],\n y = xyz[1],\n z = xyz[2],\n l, a, b;\n\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n\n x = x > 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);\n y = y > 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);\n z = z > 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);\n\n l = (116 * y) - 16;\n a = 500 * (x - y);\n b = 200 * (y - z);\n\n return [l, a, b];\n}\n\nfunction xyz2lch(args) {\n return lab2lch(xyz2lab(args));\n}\n\nfunction lab2xyz(lab) {\n var l = lab[0],\n a = lab[1],\n b = lab[2],\n x, y, z, y2;\n\n if (l <= 8) {\n y = (l * 100) / 903.3;\n y2 = (7.787 * (y / 100)) + (16 / 116);\n } else {\n y = 100 * Math.pow((l + 16) / 116, 3);\n y2 = Math.pow(y / 100, 1/3);\n }\n\n x = x / 95.047 <= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);\n\n z = z / 108.883 <= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);\n\n return [x, y, z];\n}\n\nfunction lab2lch(lab) {\n var l = lab[0],\n a = lab[1],\n b = lab[2],\n hr, h, c;\n\n hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n if (h < 0) {\n h += 360;\n }\n c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n}\n\nfunction lab2rgb(args) {\n return xyz2rgb(lab2xyz(args));\n}\n\nfunction lch2lab(lch) {\n var l = lch[0],\n c = lch[1],\n h = lch[2],\n a, b, hr;\n\n hr = h / 360 * 2 * Math.PI;\n a = c * Math.cos(hr);\n b = c * Math.sin(hr);\n return [l, a, b];\n}\n\nfunction lch2xyz(args) {\n return lab2xyz(lch2lab(args));\n}\n\nfunction lch2rgb(args) {\n return lab2rgb(lch2lab(args));\n}\n\nfunction keyword2rgb(keyword) {\n return cssKeywords[keyword];\n}\n\nfunction keyword2hsl(args) {\n return rgb2hsl(keyword2rgb(args));\n}\n\nfunction keyword2hsv(args) {\n return rgb2hsv(keyword2rgb(args));\n}\n\nfunction keyword2hwb(args) {\n return rgb2hwb(keyword2rgb(args));\n}\n\nfunction keyword2cmyk(args) {\n return rgb2cmyk(keyword2rgb(args));\n}\n\nfunction keyword2lab(args) {\n return rgb2lab(keyword2rgb(args));\n}\n\nfunction keyword2xyz(args) {\n return rgb2xyz(keyword2rgb(args));\n}\n\nvar cssKeywords = {\n aliceblue: [240,248,255],\n antiquewhite: [250,235,215],\n aqua: [0,255,255],\n aquamarine: [127,255,212],\n azure: [240,255,255],\n beige: [245,245,220],\n bisque: [255,228,196],\n black: [0,0,0],\n blanchedalmond: [255,235,205],\n blue: [0,0,255],\n blueviolet: [138,43,226],\n brown: [165,42,42],\n burlywood: [222,184,135],\n cadetblue: [95,158,160],\n chartreuse: [127,255,0],\n chocolate: [210,105,30],\n coral: [255,127,80],\n cornflowerblue: [100,149,237],\n cornsilk: [255,248,220],\n crimson: [220,20,60],\n cyan: [0,255,255],\n darkblue: [0,0,139],\n darkcyan: [0,139,139],\n darkgoldenrod: [184,134,11],\n darkgray: [169,169,169],\n darkgreen: [0,100,0],\n darkgrey: [169,169,169],\n darkkhaki: [189,183,107],\n darkmagenta: [139,0,139],\n darkolivegreen: [85,107,47],\n darkorange: [255,140,0],\n darkorchid: [153,50,204],\n darkred: [139,0,0],\n darksalmon: [233,150,122],\n darkseagreen: [143,188,143],\n darkslateblue: [72,61,139],\n darkslategray: [47,79,79],\n darkslategrey: [47,79,79],\n darkturquoise: [0,206,209],\n darkviolet: [148,0,211],\n deeppink: [255,20,147],\n deepskyblue: [0,191,255],\n dimgray: [105,105,105],\n dimgrey: [105,105,105],\n dodgerblue: [30,144,255],\n firebrick: [178,34,34],\n floralwhite: [255,250,240],\n forestgreen: [34,139,34],\n fuchsia: [255,0,255],\n gainsboro: [220,220,220],\n ghostwhite: [248,248,255],\n gold: [255,215,0],\n goldenrod: [218,165,32],\n gray: [128,128,128],\n green: [0,128,0],\n greenyellow: [173,255,47],\n grey: [128,128,128],\n honeydew: [240,255,240],\n hotpink: [255,105,180],\n indianred: [205,92,92],\n indigo: [75,0,130],\n ivory: [255,255,240],\n khaki: [240,230,140],\n lavender: [230,230,250],\n lavenderblush: [255,240,245],\n lawngreen: [124,252,0],\n lemonchiffon: [255,250,205],\n lightblue: [173,216,230],\n lightcoral: [240,128,128],\n lightcyan: [224,255,255],\n lightgoldenrodyellow: [250,250,210],\n lightgray: [211,211,211],\n lightgreen: [144,238,144],\n lightgrey: [211,211,211],\n lightpink: [255,182,193],\n lightsalmon: [255,160,122],\n lightseagreen: [32,178,170],\n lightskyblue: [135,206,250],\n lightslategray: [119,136,153],\n lightslategrey: [119,136,153],\n lightsteelblue: [176,196,222],\n lightyellow: [255,255,224],\n lime: [0,255,0],\n limegreen: [50,205,50],\n linen: [250,240,230],\n magenta: [255,0,255],\n maroon: [128,0,0],\n mediumaquamarine: [102,205,170],\n mediumblue: [0,0,205],\n mediumorchid: [186,85,211],\n mediumpurple: [147,112,219],\n mediumseagreen: [60,179,113],\n mediumslateblue: [123,104,238],\n mediumspringgreen: [0,250,154],\n mediumturquoise: [72,209,204],\n mediumvioletred: [199,21,133],\n midnightblue: [25,25,112],\n mintcream: [245,255,250],\n mistyrose: [255,228,225],\n moccasin: [255,228,181],\n navajowhite: [255,222,173],\n navy: [0,0,128],\n oldlace: [253,245,230],\n olive: [128,128,0],\n olivedrab: [107,142,35],\n orange: [255,165,0],\n orangered: [255,69,0],\n orchid: [218,112,214],\n palegoldenrod: [238,232,170],\n palegreen: [152,251,152],\n paleturquoise: [175,238,238],\n palevioletred: [219,112,147],\n papayawhip: [255,239,213],\n peachpuff: [255,218,185],\n peru: [205,133,63],\n pink: [255,192,203],\n plum: [221,160,221],\n powderblue: [176,224,230],\n purple: [128,0,128],\n rebeccapurple: [102, 51, 153],\n red: [255,0,0],\n rosybrown: [188,143,143],\n royalblue: [65,105,225],\n saddlebrown: [139,69,19],\n salmon: [250,128,114],\n sandybrown: [244,164,96],\n seagreen: [46,139,87],\n seashell: [255,245,238],\n sienna: [160,82,45],\n silver: [192,192,192],\n skyblue: [135,206,235],\n slateblue: [106,90,205],\n slategray: [112,128,144],\n slategrey: [112,128,144],\n snow: [255,250,250],\n springgreen: [0,255,127],\n steelblue: [70,130,180],\n tan: [210,180,140],\n teal: [0,128,128],\n thistle: [216,191,216],\n tomato: [255,99,71],\n turquoise: [64,224,208],\n violet: [238,130,238],\n wheat: [245,222,179],\n white: [255,255,255],\n whitesmoke: [245,245,245],\n yellow: [255,255,0],\n yellowgreen: [154,205,50]\n};\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n reverseKeywords[JSON.stringify(cssKeywords[key])] = key;\n}\n","var invariant = require('@turf/invariant');\nvar getCoords = invariant.getCoords;\n\n/**\n * Takes a ring and return true or false whether or not the ring is clockwise or counter-clockwise.\n *\n * @name booleanClockwise\n * @param {Geometry|Feature|Array>} line to be evaluated\n * @returns {Boolean} true/false\n * @example\n * var clockwiseRing = turf.lineString([[0,0],[1,1],[1,0],[0,0]]);\n * var counterClockwiseRing = turf.lineString([[0,0],[1,0],[1,1],[0,0]]);\n *\n * turf.booleanClockwise(clockwiseRing)\n * //=true\n * turf.booleanClockwise(counterClockwiseRing)\n * //=false\n */\nmodule.exports = function (line) {\n // validation\n if (!line) throw new Error('line is required');\n var type = (line.geometry) ? line.geometry.type : line.type;\n if (!Array.isArray(line) && type !== 'LineString') throw new Error('geometry must be a LineString');\n\n var ring = getCoords(line);\n var sum = 0;\n var i = 1;\n var prev, cur;\n while (i < ring.length) {\n prev = cur || ring[0];\n cur = ring[i];\n sum += ((cur[0] - prev[0]) * (cur[1] + prev[1]));\n i++;\n }\n return sum > 0;\n};\n","'use strict';\n\nvar D2R = Math.PI / 180;\nvar R2D = 180 / Math.PI;\n\nvar Coord = function (lon, lat) {\n this.lon = lon;\n this.lat = lat;\n this.x = D2R * lon;\n this.y = D2R * lat;\n};\n\nCoord.prototype.view = function () {\n return String(this.lon).slice(0, 4) + ',' + String(this.lat).slice(0, 4);\n};\n\nCoord.prototype.antipode = function () {\n var anti_lat = -1 * this.lat;\n var anti_lon = (this.lon < 0) ? 180 + this.lon : (180 - this.lon) * -1;\n return new Coord(anti_lon, anti_lat);\n};\n\nvar LineString = function () {\n this.coords = [];\n this.length = 0;\n};\n\nLineString.prototype.move_to = function (coord) {\n this.length++;\n this.coords.push(coord);\n};\n\nvar Arc = function (properties) {\n this.properties = properties || {};\n this.geometries = [];\n};\n\nArc.prototype.json = function () {\n if (this.geometries.length <= 0) {\n return {'geometry': {'type': 'LineString', 'coordinates': null},\n 'type': 'Feature', 'properties': this.properties\n };\n } else if (this.geometries.length === 1) {\n return {'geometry': {'type': 'LineString', 'coordinates': this.geometries[0].coords},\n 'type': 'Feature', 'properties': this.properties\n };\n } else {\n var multiline = [];\n for (var i = 0; i < this.geometries.length; i++) {\n multiline.push(this.geometries[i].coords);\n }\n return {'geometry': {'type': 'MultiLineString', 'coordinates': multiline},\n 'type': 'Feature', 'properties': this.properties\n };\n }\n};\n\n// TODO - output proper multilinestring\nArc.prototype.wkt = function () {\n var wkt_string = '';\n var wkt = 'LINESTRING(';\n var collect = function (c) { wkt += c[0] + ' ' + c[1] + ','; };\n for (var i = 0; i < this.geometries.length; i++) {\n if (this.geometries[i].coords.length === 0) {\n return 'LINESTRING(empty)';\n } else {\n var coords = this.geometries[i].coords;\n coords.forEach(collect);\n wkt_string += wkt.substring(0, wkt.length - 1) + ')';\n }\n }\n return wkt_string;\n};\n\n/*\n * http://en.wikipedia.org/wiki/Great-circle_distance\n *\n */\nvar GreatCircle = function (start, end, properties) {\n if (!start || start.x === undefined || start.y === undefined) {\n throw new Error('GreatCircle constructor expects two args: start and end objects with x and y properties');\n }\n if (!end || end.x === undefined || end.y === undefined) {\n throw new Error('GreatCircle constructor expects two args: start and end objects with x and y properties');\n }\n this.start = new Coord(start.x, start.y);\n this.end = new Coord(end.x, end.y);\n this.properties = properties || {};\n\n var w = this.start.x - this.end.x;\n var h = this.start.y - this.end.y;\n var z = Math.pow(Math.sin(h / 2.0), 2) +\n Math.cos(this.start.y) *\n Math.cos(this.end.y) *\n Math.pow(Math.sin(w / 2.0), 2);\n this.g = 2.0 * Math.asin(Math.sqrt(z));\n\n if (this.g === Math.PI) {\n throw new Error('it appears ' + start.view() + ' and ' + end.view() + ' are \\'antipodal\\', e.g diametrically opposite, thus there is no single route but rather infinite');\n } else if (isNaN(this.g)) {\n throw new Error('could not calculate great circle between ' + start + ' and ' + end);\n }\n};\n\n/*\n * http://williams.best.vwh.net/avform.htm#Intermediate\n */\nGreatCircle.prototype.interpolate = function (f) {\n var A = Math.sin((1 - f) * this.g) / Math.sin(this.g);\n var B = Math.sin(f * this.g) / Math.sin(this.g);\n var x = A * Math.cos(this.start.y) * Math.cos(this.start.x) + B * Math.cos(this.end.y) * Math.cos(this.end.x);\n var y = A * Math.cos(this.start.y) * Math.sin(this.start.x) + B * Math.cos(this.end.y) * Math.sin(this.end.x);\n var z = A * Math.sin(this.start.y) + B * Math.sin(this.end.y);\n var lat = R2D * Math.atan2(z, Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)));\n var lon = R2D * Math.atan2(y, x);\n return [lon, lat];\n};\n\n\n\n/*\n * Generate points along the great circle\n */\nGreatCircle.prototype.Arc = function (npoints, options) {\n var first_pass = [];\n if (!npoints || npoints <= 2) {\n first_pass.push([this.start.lon, this.start.lat]);\n first_pass.push([this.end.lon, this.end.lat]);\n } else {\n var delta = 1.0 / (npoints - 1);\n for (var i = 0; i < npoints; ++i) {\n var step = delta * i;\n var pair = this.interpolate(step);\n first_pass.push(pair);\n }\n }\n /* partial port of dateline handling from:\n gdal/ogr/ogrgeometryfactory.cpp\n\n TODO - does not handle all wrapping scenarios yet\n */\n var bHasBigDiff = false;\n var dfMaxSmallDiffLong = 0;\n // from http://www.gdal.org/ogr2ogr.html\n // -datelineoffset:\n // (starting with GDAL 1.10) offset from dateline in degrees (default long. = +/- 10deg, geometries within 170deg to -170deg will be splited)\n var dfDateLineOffset = options && options.offset ? options.offset : 10;\n var dfLeftBorderX = 180 - dfDateLineOffset;\n var dfRightBorderX = -180 + dfDateLineOffset;\n var dfDiffSpace = 360 - dfDateLineOffset;\n\n // https://github.com/OSGeo/gdal/blob/7bfb9c452a59aac958bff0c8386b891edf8154ca/gdal/ogr/ogrgeometryfactory.cpp#L2342\n for (var j = 1; j < first_pass.length; ++j) {\n var dfPrevX = first_pass[j - 1][0];\n var dfX = first_pass[j][0];\n var dfDiffLong = Math.abs(dfX - dfPrevX);\n if (dfDiffLong > dfDiffSpace &&\n ((dfX > dfLeftBorderX && dfPrevX < dfRightBorderX) || (dfPrevX > dfLeftBorderX && dfX < dfRightBorderX))) {\n bHasBigDiff = true;\n } else if (dfDiffLong > dfMaxSmallDiffLong) {\n dfMaxSmallDiffLong = dfDiffLong;\n }\n }\n\n var poMulti = [];\n if (bHasBigDiff && dfMaxSmallDiffLong < dfDateLineOffset) {\n var poNewLS = [];\n poMulti.push(poNewLS);\n for (var k = 0; k < first_pass.length; ++k) {\n var dfX0 = parseFloat(first_pass[k][0]);\n if (k > 0 && Math.abs(dfX0 - first_pass[k - 1][0]) > dfDiffSpace) {\n var dfX1 = parseFloat(first_pass[k - 1][0]);\n var dfY1 = parseFloat(first_pass[k - 1][1]);\n var dfX2 = parseFloat(first_pass[k][0]);\n var dfY2 = parseFloat(first_pass[k][1]);\n if (dfX1 > -180 && dfX1 < dfRightBorderX && dfX2 === 180 &&\n k + 1 < first_pass.length &&\n first_pass[k - 1][0] > -180 && first_pass[k - 1][0] < dfRightBorderX) {\n poNewLS.push([-180, first_pass[k][1]]);\n k++;\n poNewLS.push([first_pass[k][0], first_pass[k][1]]);\n continue;\n } else if (dfX1 > dfLeftBorderX && dfX1 < 180 && dfX2 === -180 &&\n k + 1 < first_pass.length &&\n first_pass[k - 1][0] > dfLeftBorderX && first_pass[k - 1][0] < 180) {\n poNewLS.push([180, first_pass[k][1]]);\n k++;\n poNewLS.push([first_pass[k][0], first_pass[k][1]]);\n continue;\n }\n\n if (dfX1 < dfRightBorderX && dfX2 > dfLeftBorderX) {\n // swap dfX1, dfX2\n var tmpX = dfX1;\n dfX1 = dfX2;\n dfX2 = tmpX;\n // swap dfY1, dfY2\n var tmpY = dfY1;\n dfY1 = dfY2;\n dfY2 = tmpY;\n }\n if (dfX1 > dfLeftBorderX && dfX2 < dfRightBorderX) {\n dfX2 += 360;\n }\n if (dfX1 <= 180 && dfX2 >= 180 && dfX1 < dfX2) {\n var dfRatio = (180 - dfX1) / (dfX2 - dfX1);\n var dfY = dfRatio * dfY2 + (1 - dfRatio) * dfY1;\n poNewLS.push([first_pass[k - 1][0] > dfLeftBorderX ? 180 : -180, dfY]);\n poNewLS = [];\n poNewLS.push([first_pass[k - 1][0] > dfLeftBorderX ? -180 : 180, dfY]);\n poMulti.push(poNewLS);\n } else {\n poNewLS = [];\n poMulti.push(poNewLS);\n }\n poNewLS.push([dfX0, first_pass[k][1]]);\n } else {\n poNewLS.push([first_pass[k][0], first_pass[k][1]]);\n }\n }\n } else {\n // add normally\n var poNewLS0 = [];\n poMulti.push(poNewLS0);\n for (var l = 0; l < first_pass.length; ++l) {\n poNewLS0.push([first_pass[l][0], first_pass[l][1]]);\n }\n }\n\n var arc = new Arc(this.properties);\n for (var m = 0; m < poMulti.length; ++m) {\n var line = new LineString();\n arc.geometries.push(line);\n var points = poMulti[m];\n for (var j0 = 0; j0 < points.length; ++j0) {\n line.move_to(points[j0]);\n }\n }\n return arc;\n};\n\nmodule.exports = {\n Coord: Coord,\n Arc: Arc,\n GreatCircle: GreatCircle\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"SatPicMeta_text_24Nu5\"};","/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @name feature\n * @param {Geometry} geometry input geometry\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nfunction feature(geometry, properties, bbox, id) {\n if (geometry === undefined) throw new Error('geometry is required');\n if (properties && properties.constructor !== Object) throw new Error('properties must be an Object');\n if (bbox && bbox.length !== 4) throw new Error('bbox must be an Array of 4 numbers');\n if (id && ['string', 'number'].indexOf(typeof id) === -1) throw new Error('id must be a number or a string');\n\n var feat = {type: 'Feature'};\n if (id) feat.id = id;\n if (bbox) feat.bbox = bbox;\n feat.properties = properties || {};\n feat.geometry = geometry;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @name geometry\n * @param {string} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = 'Point';\n * var coordinates = [110, 50];\n *\n * var geometry = turf.geometry(type, coordinates);\n *\n * //=geometry\n */\nfunction geometry(type, coordinates, bbox) {\n // Validation\n if (!type) throw new Error('type is required');\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n if (bbox && bbox.length !== 4) throw new Error('bbox must be an Array of 4 numbers');\n\n var geom;\n switch (type) {\n case 'Point': geom = point(coordinates).geometry; break;\n case 'LineString': geom = lineString(coordinates).geometry; break;\n case 'Polygon': geom = polygon(coordinates).geometry; break;\n case 'MultiPoint': geom = multiPoint(coordinates).geometry; break;\n case 'MultiLineString': geom = multiLineString(coordinates).geometry; break;\n case 'MultiPolygon': geom = multiPolygon(coordinates).geometry; break;\n default: throw new Error(type + ' is invalid');\n }\n if (bbox) geom.bbox = bbox;\n return geom;\n}\n\n/**\n * Takes coordinates and properties (optional) and returns a new {@link Point} feature.\n *\n * @name point\n * @param {Array} coordinates longitude, latitude position (each in decimal degrees)\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nfunction point(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length === undefined) throw new Error('Coordinates must be an array');\n if (coordinates.length < 2) throw new Error('Coordinates must be at least 2 numbers long');\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) throw new Error('Coordinates must contain numbers');\n\n return feature({\n type: 'Point',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Takes an array of LinearRings and optionally an {@link Object} with properties and returns a {@link Polygon} feature.\n *\n * @name polygon\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a Polygon feature\n * @throws {Error} throw an error if a LinearRing of the polygon has too few positions\n * or if a LinearRing of the Polygon does not have matching Positions at the beginning & end.\n * @example\n * var polygon = turf.polygon([[\n * [-2.275543, 53.464547],\n * [-2.275543, 53.489271],\n * [-2.215118, 53.489271],\n * [-2.215118, 53.464547],\n * [-2.275543, 53.464547]\n * ]], { name: 'poly1', population: 400});\n *\n * //=polygon\n */\nfunction polygon(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n for (var i = 0; i < coordinates.length; i++) {\n var ring = coordinates[i];\n if (ring.length < 4) {\n throw new Error('Each LinearRing of a Polygon must have 4 or more Positions.');\n }\n for (var j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (i === 0 && j === 0 && !isNumber(ring[0][0]) || !isNumber(ring[0][1])) throw new Error('Coordinates must contain numbers');\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error('First and last Position are not equivalent.');\n }\n }\n }\n\n return feature({\n type: 'Polygon',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link LineString} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name lineString\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a LineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var linestring1 = turf.lineString([\n * [-21.964416, 64.148203],\n * [-21.956176, 64.141316],\n * [-21.93901, 64.135924],\n * [-21.927337, 64.136673]\n * ]);\n * var linestring2 = turf.lineString([\n * [-21.929054, 64.127985],\n * [-21.912918, 64.134726],\n * [-21.916007, 64.141016],\n * [-21.930084, 64.14446]\n * ], {name: 'line 1', distance: 145});\n *\n * //=linestring1\n *\n * //=linestring2\n */\nfunction lineString(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length < 2) throw new Error('Coordinates must be an array of two or more positions');\n // Check if first point of LineString contains two numbers\n if (!isNumber(coordinates[0][1]) || !isNumber(coordinates[0][1])) throw new Error('Coordinates must contain numbers');\n\n return feature({\n type: 'LineString',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @name featureCollection\n * @param {Feature[]} features input features\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {FeatureCollection} a FeatureCollection of input features\n * @example\n * var features = [\n * turf.point([-75.343, 39.984], {name: 'Location A'}),\n * turf.point([-75.833, 39.284], {name: 'Location B'}),\n * turf.point([-75.534, 39.123], {name: 'Location C'})\n * ];\n *\n * var collection = turf.featureCollection(features);\n *\n * //=collection\n */\nfunction featureCollection(features, bbox, id) {\n if (!features) throw new Error('No features passed');\n if (!Array.isArray(features)) throw new Error('features must be an Array');\n if (bbox && bbox.length !== 4) throw new Error('bbox must be an Array of 4 numbers');\n if (id && ['string', 'number'].indexOf(typeof id) === -1) throw new Error('id must be a number or a string');\n\n var fc = {type: 'FeatureCollection'};\n if (id) fc.id = id;\n if (bbox) fc.bbox = bbox;\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiLineString\n * @param {Array>>} coordinates an array of LineStrings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nfunction multiLineString(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiLineString',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPoint\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nfunction multiPoint(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPoint',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPolygon\n * @param {Array>>>} coordinates an array of Polygons\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nfunction multiPolygon(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPolygon',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name geometryCollection\n * @param {Array} geometries an array of GeoJSON Geometries\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = {\n * \"type\": \"Point\",\n * \"coordinates\": [100, 0]\n * };\n * var line = {\n * \"type\": \"LineString\",\n * \"coordinates\": [ [101, 0], [102, 1] ]\n * };\n * var collection = turf.geometryCollection([pt, line]);\n *\n * //=collection\n */\nfunction geometryCollection(geometries, properties, bbox, id) {\n if (!geometries) throw new Error('geometries is required');\n if (!Array.isArray(geometries)) throw new Error('geometries must be an Array');\n\n return feature({\n type: 'GeometryCollection',\n geometries: geometries\n }, properties, bbox, id);\n}\n\n// https://en.wikipedia.org/wiki/Great-circle_distance#Radius_for_spherical_Earth\nvar factors = {\n miles: 3960,\n nauticalmiles: 3441.145,\n degrees: 57.2957795,\n radians: 1,\n inches: 250905600,\n yards: 6969600,\n meters: 6373000,\n metres: 6373000,\n centimeters: 6.373e+8,\n centimetres: 6.373e+8,\n kilometers: 6373,\n kilometres: 6373,\n feet: 20908792.65\n};\n\nvar areaFactors = {\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n centimetres: 10000,\n millimeter: 1000000,\n acres: 0.000247105,\n miles: 3.86e-7,\n yards: 1.195990046,\n feet: 10.763910417,\n inches: 1550.003100006\n};\n/**\n * Round number to precision\n *\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nfunction round(num, precision) {\n if (num === undefined || num === null || isNaN(num)) throw new Error('num is required');\n if (precision && !(precision >= 0)) throw new Error('precision must be a positive number');\n var multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name radiansToDistance\n * @param {number} radians in radians across the sphere\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} distance\n */\nfunction radiansToDistance(radians, units) {\n if (radians === undefined || radians === null) throw new Error('radians is required');\n\n var factor = factors[units || 'kilometers'];\n if (!factor) throw new Error('units is invalid');\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name distanceToRadians\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} radians\n */\nfunction distanceToRadians(distance, units) {\n if (distance === undefined || distance === null) throw new Error('distance is required');\n\n var factor = factors[units || 'kilometers'];\n if (!factor) throw new Error('units is invalid');\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @name distanceToDegrees\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nfunction distanceToDegrees(distance, units) {\n return radians2degrees(distanceToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @name bearingToAngle\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nfunction bearingToAngle(bearing) {\n if (bearing === null || bearing === undefined) throw new Error('bearing is required');\n\n var angle = bearing % 360;\n if (angle < 0) angle += 360;\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @name radians2degrees\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nfunction radians2degrees(radians) {\n if (radians === null || radians === undefined) throw new Error('radians is required');\n\n var degrees = radians % (2 * Math.PI);\n return degrees * 180 / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @name degrees2radians\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nfunction degrees2radians(degrees) {\n if (degrees === null || degrees === undefined) throw new Error('degrees is required');\n\n var radians = degrees % 360;\n return radians * Math.PI / 180;\n}\n\n\n/**\n * Converts a distance to the requested unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @param {number} distance to be converted\n * @param {string} originalUnit of the distance\n * @param {string} [finalUnit=kilometers] returned unit\n * @returns {number} the converted distance\n */\nfunction convertDistance(distance, originalUnit, finalUnit) {\n if (distance === null || distance === undefined) throw new Error('distance is required');\n if (!(distance >= 0)) throw new Error('distance must be a positive number');\n\n var convertedDistance = radiansToDistance(distanceToRadians(distance, originalUnit), finalUnit || 'kilometers');\n return convertedDistance;\n}\n\n/**\n * Converts a area to the requested unit.\n * Valid units: kilometers, kilometres, meters, metres, centimetres, millimeter, acre, mile, yard, foot, inch\n * @param {number} area to be converted\n * @param {string} [originalUnit=meters] of the distance\n * @param {string} [finalUnit=kilometers] returned unit\n * @returns {number} the converted distance\n */\nfunction convertArea(area, originalUnit, finalUnit) {\n if (area === null || area === undefined) throw new Error('area is required');\n if (!(area >= 0)) throw new Error('area must be a positive number');\n\n var startFactor = areaFactors[originalUnit || 'meters'];\n if (!startFactor) throw new Error('invalid original units');\n\n var finalFactor = areaFactors[finalUnit || 'kilometers'];\n if (!finalFactor) throw new Error('invalid final units');\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @param {*} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\nmodule.exports = {\n feature: feature,\n geometry: geometry,\n featureCollection: featureCollection,\n geometryCollection: geometryCollection,\n point: point,\n multiPoint: multiPoint,\n lineString: lineString,\n multiLineString: multiLineString,\n polygon: polygon,\n multiPolygon: multiPolygon,\n radiansToDistance: radiansToDistance,\n distanceToRadians: distanceToRadians,\n distanceToDegrees: distanceToDegrees,\n radians2degrees: radians2degrees,\n degrees2radians: degrees2radians,\n bearingToAngle: bearingToAngle,\n convertDistance: convertDistance,\n convertArea: convertArea,\n round: round,\n isNumber: isNumber\n};\n","var destination = require('@turf/destination');\nvar circle = require('@turf/circle');\nvar lineString = require('@turf/helpers').lineString;\n\n/**\n * Creates a circular arc, of a circle of the given radius and center point, between bearing1 and bearing2;\n * 0 bearing is North of center point, positive clockwise.\n *\n * @name lineArc\n * @param {Feature} center center point\n * @param {number} radius radius of the circle\n * @param {number} bearing1 angle, in decimal degrees, of the first radius of the arc\n * @param {number} bearing2 angle, in decimal degrees, of the second radius of the arc\n * @param {number} [steps=64] number of steps\n * @param {string} [units=kilometers] miles, kilometers, degrees, or radians\n * @returns {Feature} line arc\n * @example\n * var center = turf.point([-75, 40]);\n * var radius = 5;\n * var bearing1 = 25;\n * var bearing2 = 47;\n *\n * var arc = turf.lineArc(center, radius, bearing1, bearing2);\n *\n * //addToMap\n * var addToMap = [center, arc]\n */\nmodule.exports = function (center, radius, bearing1, bearing2, steps, units) {\n // validation\n if (!center) throw new Error('center is required');\n if (bearing1 === undefined || bearing1 === null) throw new Error('bearing1 is required');\n if (bearing2 === undefined || bearing2 === null) throw new Error('bearing2 is required');\n if (!radius) throw new Error('radius is required');\n\n // default params\n steps = steps || 64;\n\n var angle1 = convertAngleTo360(bearing1);\n var angle2 = convertAngleTo360(bearing2);\n var properties = center.properties;\n\n // handle angle parameters\n if (angle1 === angle2) {\n return lineString(circle(center, radius, steps, units).geometry.coordinates[0], properties);\n }\n var arcStartDegree = angle1;\n var arcEndDegree = (angle1 < angle2) ? angle2 : angle2 + 360;\n\n var alfa = arcStartDegree;\n var coordinates = [];\n var i = 0;\n\n while (alfa < arcEndDegree) {\n coordinates.push(destination(center, radius, alfa, units).geometry.coordinates);\n i++;\n alfa = arcStartDegree + i * 360 / steps;\n }\n if (alfa > arcEndDegree) {\n coordinates.push(destination(center, radius, arcEndDegree, units).geometry.coordinates);\n }\n return lineString(coordinates, properties);\n};\n\n\n/**\n * Takes any angle in degrees\n * and returns a valid angle between 0-360 degrees\n *\n * @private\n * @param {number} alfa angle between -180-180 degrees\n * @returns {number} angle between 0-360 degrees\n */\nfunction convertAngleTo360(alfa) {\n var beta = alfa % 360;\n if (beta < 0) {\n beta += 360;\n }\n return beta;\n}\n","var conversions = require(\"./conversions\");\n\nvar convert = function() {\n return new Converter();\n}\n\nfor (var func in conversions) {\n // export Raw versions\n convert[func + \"Raw\"] = (function(func) {\n // accept array or plain args\n return function(arg) {\n if (typeof arg == \"number\")\n arg = Array.prototype.slice.call(arguments);\n return conversions[func](arg);\n }\n })(func);\n\n var pair = /(\\w+)2(\\w+)/.exec(func),\n from = pair[1],\n to = pair[2];\n\n // export rgb2hsl and [\"rgb\"][\"hsl\"]\n convert[from] = convert[from] || {};\n\n convert[from][to] = convert[func] = (function(func) { \n return function(arg) {\n if (typeof arg == \"number\")\n arg = Array.prototype.slice.call(arguments);\n \n var val = conversions[func](arg);\n if (typeof val == \"string\" || val === undefined)\n return val; // keyword\n\n for (var i = 0; i < val.length; i++)\n val[i] = Math.round(val[i]);\n return val;\n }\n })(func);\n}\n\n\n/* Converter does lazy conversion and caching */\nvar Converter = function() {\n this.convs = {};\n};\n\n/* Either get the values for a space or\n set the values for a space, depending on args */\nConverter.prototype.routeSpace = function(space, args) {\n var values = args[0];\n if (values === undefined) {\n // color.rgb()\n return this.getValues(space);\n }\n // color.rgb(10, 10, 10)\n if (typeof values == \"number\") {\n values = Array.prototype.slice.call(args); \n }\n\n return this.setValues(space, values);\n};\n \n/* Set the values for a space, invalidating cache */\nConverter.prototype.setValues = function(space, values) {\n this.space = space;\n this.convs = {};\n this.convs[space] = values;\n return this;\n};\n\n/* Get the values for a space. If there's already\n a conversion for the space, fetch it, otherwise\n compute it */\nConverter.prototype.getValues = function(space) {\n var vals = this.convs[space];\n if (!vals) {\n var fspace = this.space,\n from = this.convs[fspace];\n vals = convert[fspace][space](from);\n\n this.convs[space] = vals;\n }\n return vals;\n};\n\n[\"rgb\", \"hsl\", \"hsv\", \"cmyk\", \"keyword\"].forEach(function(space) {\n Converter.prototype[space] = function(vals) {\n return this.routeSpace(space, arguments);\n }\n});\n\nmodule.exports = convert;","'use strict';\n\nvar helpers = require('./helpers.core');\n\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easingEffects\n * @see http://www.robertpenner.com/easing/\n */\nvar effects = {\n\tlinear: function(t) {\n\t\treturn t;\n\t},\n\n\teaseInQuad: function(t) {\n\t\treturn t * t;\n\t},\n\n\teaseOutQuad: function(t) {\n\t\treturn -t * (t - 2);\n\t},\n\n\teaseInOutQuad: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t;\n\t\t}\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\n\t},\n\n\teaseInCubic: function(t) {\n\t\treturn t * t * t;\n\t},\n\n\teaseOutCubic: function(t) {\n\t\treturn (t = t - 1) * t * t + 1;\n\t},\n\n\teaseInOutCubic: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\n\t},\n\n\teaseInQuart: function(t) {\n\t\treturn t * t * t * t;\n\t},\n\n\teaseOutQuart: function(t) {\n\t\treturn -((t = t - 1) * t * t * t - 1);\n\t},\n\n\teaseInOutQuart: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t * t;\n\t\t}\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\n\t},\n\n\teaseInQuint: function(t) {\n\t\treturn t * t * t * t * t;\n\t},\n\n\teaseOutQuint: function(t) {\n\t\treturn (t = t - 1) * t * t * t * t + 1;\n\t},\n\n\teaseInOutQuint: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\n\t},\n\n\teaseInSine: function(t) {\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\n\t},\n\n\teaseOutSine: function(t) {\n\t\treturn Math.sin(t * (Math.PI / 2));\n\t},\n\n\teaseInOutSine: function(t) {\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\n\t},\n\n\teaseInExpo: function(t) {\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\n\t},\n\n\teaseOutExpo: function(t) {\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\n\t},\n\n\teaseInOutExpo: function(t) {\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\n\t\t}\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\n\t},\n\n\teaseInCirc: function(t) {\n\t\tif (t >= 1) {\n\t\t\treturn t;\n\t\t}\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\n\t},\n\n\teaseOutCirc: function(t) {\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\n\t},\n\n\teaseInOutCirc: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\n\t\t}\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n\t},\n\n\teaseInElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t},\n\n\teaseOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\n\t},\n\n\teaseInOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif ((t /= 0.5) === 2) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.45;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\tif (t < 1) {\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t\t}\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\n\t},\n\teaseInBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn t * t * ((s + 1) * t - s);\n\t},\n\n\teaseOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\n\t},\n\n\teaseInOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n\t},\n\n\teaseInBounce: function(t) {\n\t\treturn 1 - effects.easeOutBounce(1 - t);\n\t},\n\n\teaseOutBounce: function(t) {\n\t\tif (t < (1 / 2.75)) {\n\t\t\treturn 7.5625 * t * t;\n\t\t}\n\t\tif (t < (2 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\n\t\t}\n\t\tif (t < (2.5 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\n\t\t}\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\n\t},\n\n\teaseInOutBounce: function(t) {\n\t\tif (t < 0.5) {\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\n\t\t}\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n\t}\n};\n\nmodule.exports = {\n\teffects: effects\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\n * @function Chart.helpers.easingEffects\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.easingEffects = effects;\n","var inside = require('@turf/inside');\n\n/**\n * Takes a set of {@link Point|points} and a set of {@link Polygon|polygons} and performs a spatial join.\n *\n * @name tag\n * @param {FeatureCollection} points input points\n * @param {FeatureCollection} polygons input polygons\n * @param {string} field property in `polygons` to add to joined {} features\n * @param {string} outField property in `points` in which to store joined property from `polygons`\n * @returns {FeatureCollection} points with `containingPolyId` property containing values from `polyId`\n * @example\n * var pt1 = turf.point([-77, 44]);\n * var pt2 = turf.point([-77, 38]);\n * var poly1 = turf.polygon([[\n * [-81, 41],\n * [-81, 47],\n * [-72, 47],\n * [-72, 41],\n * [-81, 41]\n * ]], {pop: 3000});\n * var poly2 = turf.polygon([[\n * [-81, 35],\n * [-81, 41],\n * [-72, 41],\n * [-72, 35],\n * [-81, 35]\n * ]], {pop: 1000});\n *\n * var points = turf.featureCollection([pt1, pt2]);\n * var polygons = turf.featureCollection([poly1, poly2]);\n *\n * var tagged = turf.tag(points, polygons, 'pop', 'population');\n *\n * //addToMap\n * var addToMap = [tagged, polygons]\n */\nmodule.exports = function (points, polygons, field, outField) {\n // prevent mutations\n points = JSON.parse(JSON.stringify(points));\n polygons = JSON.parse(JSON.stringify(polygons));\n points.features.forEach(function (pt) {\n if (!pt.properties) {\n pt.properties = {};\n }\n polygons.features.forEach(function (poly) {\n if (pt.properties[outField] === undefined) {\n var isInside = inside(pt, poly);\n if (isInside) {\n pt.properties[outField] = poly.properties[field];\n }\n }\n });\n });\n return points;\n};\n","/**\n * Plugin based on discussion from the following Chart.js issues:\n * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569\n * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897\n */\n\n'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\tplugins: {\n\t\tfiller: {\n\t\t\tpropagate: true\n\t\t}\n\t}\n});\n\nvar mappers = {\n\tdataset: function(source) {\n\t\tvar index = source.fill;\n\t\tvar chart = source.chart;\n\t\tvar meta = chart.getDatasetMeta(index);\n\t\tvar visible = meta && chart.isDatasetVisible(index);\n\t\tvar points = (visible && meta.dataset._children) || [];\n\t\tvar length = points.length || 0;\n\n\t\treturn !length ? null : function(point, i) {\n\t\t\treturn (i < length && points[i]._view) || null;\n\t\t};\n\t},\n\n\tboundary: function(source) {\n\t\tvar boundary = source.boundary;\n\t\tvar x = boundary ? boundary.x : null;\n\t\tvar y = boundary ? boundary.y : null;\n\n\t\treturn function(point) {\n\t\t\treturn {\n\t\t\t\tx: x === null ? point.x : x,\n\t\t\t\ty: y === null ? point.y : y,\n\t\t\t};\n\t\t};\n\t}\n};\n\n// @todo if (fill[0] === '#')\nfunction decodeFill(el, index, count) {\n\tvar model = el._model || {};\n\tvar fill = model.fill;\n\tvar target;\n\n\tif (fill === undefined) {\n\t\tfill = !!model.backgroundColor;\n\t}\n\n\tif (fill === false || fill === null) {\n\t\treturn false;\n\t}\n\n\tif (fill === true) {\n\t\treturn 'origin';\n\t}\n\n\ttarget = parseFloat(fill, 10);\n\tif (isFinite(target) && Math.floor(target) === target) {\n\t\tif (fill[0] === '-' || fill[0] === '+') {\n\t\t\ttarget = index + target;\n\t\t}\n\n\t\tif (target === index || target < 0 || target >= count) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn target;\n\t}\n\n\tswitch (fill) {\n\t// compatibility\n\tcase 'bottom':\n\t\treturn 'start';\n\tcase 'top':\n\t\treturn 'end';\n\tcase 'zero':\n\t\treturn 'origin';\n\t// supported boundaries\n\tcase 'origin':\n\tcase 'start':\n\tcase 'end':\n\t\treturn fill;\n\t// invalid fill values\n\tdefault:\n\t\treturn false;\n\t}\n}\n\nfunction computeBoundary(source) {\n\tvar model = source.el._model || {};\n\tvar scale = source.el._scale || {};\n\tvar fill = source.fill;\n\tvar target = null;\n\tvar horizontal;\n\n\tif (isFinite(fill)) {\n\t\treturn null;\n\t}\n\n\t// Backward compatibility: until v3, we still need to support boundary values set on\n\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\n\t// controllers might still use it (e.g. the Smith chart).\n\n\tif (fill === 'start') {\n\t\ttarget = model.scaleBottom === undefined ? scale.bottom : model.scaleBottom;\n\t} else if (fill === 'end') {\n\t\ttarget = model.scaleTop === undefined ? scale.top : model.scaleTop;\n\t} else if (model.scaleZero !== undefined) {\n\t\ttarget = model.scaleZero;\n\t} else if (scale.getBasePosition) {\n\t\ttarget = scale.getBasePosition();\n\t} else if (scale.getBasePixel) {\n\t\ttarget = scale.getBasePixel();\n\t}\n\n\tif (target !== undefined && target !== null) {\n\t\tif (target.x !== undefined && target.y !== undefined) {\n\t\t\treturn target;\n\t\t}\n\n\t\tif (typeof target === 'number' && isFinite(target)) {\n\t\t\thorizontal = scale.isHorizontal();\n\t\t\treturn {\n\t\t\t\tx: horizontal ? target : null,\n\t\t\t\ty: horizontal ? null : target\n\t\t\t};\n\t\t}\n\t}\n\n\treturn null;\n}\n\nfunction resolveTarget(sources, index, propagate) {\n\tvar source = sources[index];\n\tvar fill = source.fill;\n\tvar visited = [index];\n\tvar target;\n\n\tif (!propagate) {\n\t\treturn fill;\n\t}\n\n\twhile (fill !== false && visited.indexOf(fill) === -1) {\n\t\tif (!isFinite(fill)) {\n\t\t\treturn fill;\n\t\t}\n\n\t\ttarget = sources[fill];\n\t\tif (!target) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (target.visible) {\n\t\t\treturn fill;\n\t\t}\n\n\t\tvisited.push(fill);\n\t\tfill = target.fill;\n\t}\n\n\treturn false;\n}\n\nfunction createMapper(source) {\n\tvar fill = source.fill;\n\tvar type = 'dataset';\n\n\tif (fill === false) {\n\t\treturn null;\n\t}\n\n\tif (!isFinite(fill)) {\n\t\ttype = 'boundary';\n\t}\n\n\treturn mappers[type](source);\n}\n\nfunction isDrawable(point) {\n\treturn point && !point.skip;\n}\n\nfunction drawArea(ctx, curve0, curve1, len0, len1) {\n\tvar i;\n\n\tif (!len0 || !len1) {\n\t\treturn;\n\t}\n\n\t// building first area curve (normal)\n\tctx.moveTo(curve0[0].x, curve0[0].y);\n\tfor (i = 1; i < len0; ++i) {\n\t\thelpers.canvas.lineTo(ctx, curve0[i - 1], curve0[i]);\n\t}\n\n\t// joining the two area curves\n\tctx.lineTo(curve1[len1 - 1].x, curve1[len1 - 1].y);\n\n\t// building opposite area curve (reverse)\n\tfor (i = len1 - 1; i > 0; --i) {\n\t\thelpers.canvas.lineTo(ctx, curve1[i], curve1[i - 1], true);\n\t}\n}\n\nfunction doFill(ctx, points, mapper, view, color, loop) {\n\tvar count = points.length;\n\tvar span = view.spanGaps;\n\tvar curve0 = [];\n\tvar curve1 = [];\n\tvar len0 = 0;\n\tvar len1 = 0;\n\tvar i, ilen, index, p0, p1, d0, d1;\n\n\tctx.beginPath();\n\n\tfor (i = 0, ilen = (count + !!loop); i < ilen; ++i) {\n\t\tindex = i % count;\n\t\tp0 = points[index]._view;\n\t\tp1 = mapper(p0, index, view);\n\t\td0 = isDrawable(p0);\n\t\td1 = isDrawable(p1);\n\n\t\tif (d0 && d1) {\n\t\t\tlen0 = curve0.push(p0);\n\t\t\tlen1 = curve1.push(p1);\n\t\t} else if (len0 && len1) {\n\t\t\tif (!span) {\n\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\n\t\t\t\tlen0 = len1 = 0;\n\t\t\t\tcurve0 = [];\n\t\t\t\tcurve1 = [];\n\t\t\t} else {\n\t\t\t\tif (d0) {\n\t\t\t\t\tcurve0.push(p0);\n\t\t\t\t}\n\t\t\t\tif (d1) {\n\t\t\t\t\tcurve1.push(p1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tdrawArea(ctx, curve0, curve1, len0, len1);\n\n\tctx.closePath();\n\tctx.fillStyle = color;\n\tctx.fill();\n}\n\nmodule.exports = {\n\tid: 'filler',\n\n\tafterDatasetsUpdate: function(chart, options) {\n\t\tvar count = (chart.data.datasets || []).length;\n\t\tvar propagate = options.propagate;\n\t\tvar sources = [];\n\t\tvar meta, i, el, source;\n\n\t\tfor (i = 0; i < count; ++i) {\n\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\tel = meta.dataset;\n\t\t\tsource = null;\n\n\t\t\tif (el && el._model && el instanceof elements.Line) {\n\t\t\t\tsource = {\n\t\t\t\t\tvisible: chart.isDatasetVisible(i),\n\t\t\t\t\tfill: decodeFill(el, i, count),\n\t\t\t\t\tchart: chart,\n\t\t\t\t\tel: el\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tmeta.$filler = source;\n\t\t\tsources.push(source);\n\t\t}\n\n\t\tfor (i = 0; i < count; ++i) {\n\t\t\tsource = sources[i];\n\t\t\tif (!source) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsource.fill = resolveTarget(sources, i, propagate);\n\t\t\tsource.boundary = computeBoundary(source);\n\t\t\tsource.mapper = createMapper(source);\n\t\t}\n\t},\n\n\tbeforeDatasetDraw: function(chart, args) {\n\t\tvar meta = args.meta.$filler;\n\t\tif (!meta) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar ctx = chart.ctx;\n\t\tvar el = meta.el;\n\t\tvar view = el._view;\n\t\tvar points = el._children || [];\n\t\tvar mapper = meta.mapper;\n\t\tvar color = view.backgroundColor || defaults.global.defaultColor;\n\n\t\tif (mapper && color && points.length) {\n\t\t\thelpers.canvas.clipArea(ctx, chart.chartArea);\n\t\t\tdoFill(ctx, points, mapper, view, color, el._loop);\n\t\t\thelpers.canvas.unclipArea(ctx);\n\t\t}\n\t}\n};\n","'use strict';\n\nmodule.exports = {};\nmodule.exports.Arc = require('./element.arc');\nmodule.exports.Line = require('./element.line');\nmodule.exports.Point = require('./element.point');\nmodule.exports.Rectangle = require('./element.rectangle');\n","/**\n * @module ol/interaction/Property\n */\n\n/**\n * @enum {string}\n */\nexport default {\n ACTIVE: 'active'\n};\n\n//# sourceMappingURL=Property.js.map","\"use strict\"\n\nmodule.exports = twoProduct\n\nvar SPLITTER = +(Math.pow(2, 27) + 1.0)\n\nfunction twoProduct(a, b, result) {\n var x = a * b\n\n var c = SPLITTER * a\n var abig = c - a\n var ahi = c - abig\n var alo = a - ahi\n\n var d = SPLITTER * b\n var bbig = d - b\n var bhi = d - bbig\n var blo = b - bhi\n\n var err1 = x - (ahi * bhi)\n var err2 = err1 - (alo * bhi)\n var err3 = err2 - (ahi * blo)\n\n var y = alo * blo - err3\n\n if(result) {\n result[0] = y\n result[1] = x\n return result\n }\n\n return [ y, x ]\n}","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Geodesy representation conversion functions (c) Chris Veness 2002-2017 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-dms.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\n/* eslint no-irregular-whitespace: [2, { skipComments: true }] */\n\n\n/**\n * Latitude/longitude points may be represented as decimal degrees, or subdivided into sexagesimal\n * minutes and seconds.\n *\n * @module dms\n */\n\n\n/**\n * Functions for parsing and representing degrees / minutes / seconds.\n * @class Dms\n */\nvar Dms = {};\n\n// note Unicode Degree = U+00B0. Prime = U+2032, Double prime = U+2033\n\n\n/**\n * Parses string representing degrees/minutes/seconds into numeric degrees.\n *\n * This is very flexible on formats, allowing signed decimal degrees, or deg-min-sec optionally\n * suffixed by compass direction (NSEW). A variety of separators are accepted (eg 3° 37′ 09″W).\n * Seconds and minutes may be omitted.\n *\n * @param {string|number} dmsStr - Degrees or deg/min/sec in variety of formats.\n * @returns {number} Degrees as decimal number.\n *\n * @example\n * var lat = Dms.parseDMS('51° 28′ 40.12″ N');\n * var lon = Dms.parseDMS('000° 00′ 05.31″ W');\n * var p1 = new LatLon(lat, lon); // 51.4778°N, 000.0015°W\n */\nDms.parseDMS = function(dmsStr) {\n // check for signed decimal degrees without NSEW, if so return it directly\n if (typeof dmsStr == 'number' && isFinite(dmsStr)) return Number(dmsStr);\n\n // strip off any sign or compass dir'n & split out separate d/m/s\n var dms = String(dmsStr).trim().replace(/^-/, '').replace(/[NSEW]$/i, '').split(/[^0-9.,]+/);\n if (dms[dms.length-1]=='') dms.splice(dms.length-1); // from trailing symbol\n\n if (dms == '') return NaN;\n\n // and convert to decimal degrees...\n var deg;\n switch (dms.length) {\n case 3: // interpret 3-part result as d/m/s\n deg = dms[0]/1 + dms[1]/60 + dms[2]/3600;\n break;\n case 2: // interpret 2-part result as d/m\n deg = dms[0]/1 + dms[1]/60;\n break;\n case 1: // just d (possibly decimal) or non-separated dddmmss\n deg = dms[0];\n // check for fixed-width unseparated format eg 0033709W\n //if (/[NS]/i.test(dmsStr)) deg = '0' + deg; // - normalise N/S to 3-digit degrees\n //if (/[0-9]{7}/.test(deg)) deg = deg.slice(0,3)/1 + deg.slice(3,5)/60 + deg.slice(5)/3600;\n break;\n default:\n return NaN;\n }\n if (/^-|[WS]$/i.test(dmsStr.trim())) deg = -deg; // take '-', west and south as -ve\n\n return Number(deg);\n};\n\n\n/**\n * Separator character to be used to separate degrees, minutes, seconds, and cardinal directions.\n *\n * Set to '\\u202f' (narrow no-break space) for improved formatting.\n *\n * @example\n * var p = new LatLon(51.2, 0.33); // 51°12′00.0″N, 000°19′48.0″E\n * Dms.separator = '\\u202f'; // narrow no-break space\n * var pʹ = new LatLon(51.2, 0.33); // 51° 12′ 00.0″ N, 000° 19′ 48.0″ E\n */\nDms.separator = '';\n\n\n/**\n * Converts decimal degrees to deg/min/sec format\n * - degree, prime, double-prime symbols are added, but sign is discarded, though no compass\n * direction is added.\n *\n * @private\n * @param {number} deg - Degrees to be formatted as specified.\n * @param {string} [format=dms] - Return value as 'd', 'dm', 'dms' for deg, deg+min, deg+min+sec.\n * @param {number} [dp=0|2|4] - Number of decimal places to use – default 0 for dms, 2 for dm, 4 for d.\n * @returns {string} Degrees formatted as deg/min/secs according to specified format.\n */\nDms.toDMS = function(deg, format, dp) {\n if (isNaN(deg)) return null; // give up here if we can't make a number from deg\n\n // default values\n if (format === undefined) format = 'dms';\n if (dp === undefined) {\n switch (format) {\n case 'd': case 'deg': dp = 4; break;\n case 'dm': case 'deg+min': dp = 2; break;\n case 'dms': case 'deg+min+sec': dp = 0; break;\n default: format = 'dms'; dp = 0; // be forgiving on invalid format\n }\n }\n\n deg = Math.abs(deg); // (unsigned result ready for appending compass dir'n)\n\n var dms, d, m, s;\n switch (format) {\n default: // invalid format spec!\n case 'd': case 'deg':\n d = deg.toFixed(dp); // round/right-pad degrees\n if (d<100) d = '0' + d; // left-pad with leading zeros (note may include decimals)\n if (d<10) d = '0' + d;\n dms = d + '°';\n break;\n case 'dm': case 'deg+min':\n d = Math.floor(deg); // get component deg\n m = ((deg*60) % 60).toFixed(dp); // get component min & round/right-pad\n if (m == 60) { m = 0; d++; } // check for rounding up\n d = ('000'+d).slice(-3); // left-pad with leading zeros\n if (m<10) m = '0' + m; // left-pad with leading zeros (note may include decimals)\n dms = d + '°'+Dms.separator + m + '′';\n break;\n case 'dms': case 'deg+min+sec':\n d = Math.floor(deg); // get component deg\n m = Math.floor((deg*3600)/60) % 60; // get component min\n s = (deg*3600 % 60).toFixed(dp); // get component sec & round/right-pad\n if (s == 60) { s = (0).toFixed(dp); m++; } // check for rounding up\n if (m == 60) { m = 0; d++; } // check for rounding up\n d = ('000'+d).slice(-3); // left-pad with leading zeros\n m = ('00'+m).slice(-2); // left-pad with leading zeros\n if (s<10) s = '0' + s; // left-pad with leading zeros (note may include decimals)\n dms = d + '°'+Dms.separator + m + '′'+Dms.separator + s + '″';\n break;\n }\n\n return dms;\n};\n\n\n/**\n * Converts numeric degrees to deg/min/sec latitude (2-digit degrees, suffixed with N/S).\n *\n * @param {number} deg - Degrees to be formatted as specified.\n * @param {string} [format=dms] - Return value as 'd', 'dm', 'dms' for deg, deg+min, deg+min+sec.\n * @param {number} [dp=0|2|4] - Number of decimal places to use – default 0 for dms, 2 for dm, 4 for d.\n * @returns {string} Degrees formatted as deg/min/secs according to specified format.\n */\nDms.toLat = function(deg, format, dp) {\n var lat = Dms.toDMS(deg, format, dp);\n return lat===null ? '–' : lat.slice(1)+Dms.separator + (deg<0 ? 'S' : 'N'); // knock off initial '0' for lat!\n};\n\n\n/**\n * Convert numeric degrees to deg/min/sec longitude (3-digit degrees, suffixed with E/W)\n *\n * @param {number} deg - Degrees to be formatted as specified.\n * @param {string} [format=dms] - Return value as 'd', 'dm', 'dms' for deg, deg+min, deg+min+sec.\n * @param {number} [dp=0|2|4] - Number of decimal places to use – default 0 for dms, 2 for dm, 4 for d.\n * @returns {string} Degrees formatted as deg/min/secs according to specified format.\n */\nDms.toLon = function(deg, format, dp) {\n var lon = Dms.toDMS(deg, format, dp);\n return lon===null ? '–' : lon+Dms.separator + (deg<0 ? 'W' : 'E');\n};\n\n\n/**\n * Converts numeric degrees to deg/min/sec as a bearing (0°..360°)\n *\n * @param {number} deg - Degrees to be formatted as specified.\n * @param {string} [format=dms] - Return value as 'd', 'dm', 'dms' for deg, deg+min, deg+min+sec.\n * @param {number} [dp=0|2|4] - Number of decimal places to use – default 0 for dms, 2 for dm, 4 for d.\n * @returns {string} Degrees formatted as deg/min/secs according to specified format.\n */\nDms.toBrng = function(deg, format, dp) {\n deg = (Number(deg)+360) % 360; // normalise -ve values to 180°..360°\n var brng = Dms.toDMS(deg, format, dp);\n return brng===null ? '–' : brng.replace('360', '0'); // just in case rounding took us up to 360°!\n};\n\n\n/**\n * Returns compass point (to given precision) for supplied bearing.\n *\n * @param {number} bearing - Bearing in degrees from north.\n * @param {number} [precision=3] - Precision (1:cardinal / 2:intercardinal / 3:secondary-intercardinal).\n * @returns {string} Compass point for supplied bearing.\n *\n * @example\n * var point = Dms.compassPoint(24); // point = 'NNE'\n * var point = Dms.compassPoint(24, 1); // point = 'N'\n */\nDms.compassPoint = function(bearing, precision) {\n if (precision === undefined) precision = 3;\n // note precision could be extended to 4 for quarter-winds (eg NbNW), but I think they are little used\n\n bearing = ((bearing%360)+360)%360; // normalise to range 0..360°\n\n var cardinals = [\n 'N', 'NNE', 'NE', 'ENE',\n 'E', 'ESE', 'SE', 'SSE',\n 'S', 'SSW', 'SW', 'WSW',\n 'W', 'WNW', 'NW', 'NNW' ];\n var n = 4 * Math.pow(2, precision-1); // no of compass points at req’d precision (1=>4, 2=>8, 3=>16)\n var cardinal = cardinals[Math.round(bearing*n/360)%n * 16/n];\n\n return cardinal;\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = Dms; // ≡ export default Dms\n","module.exports = mergeViableLineStrings\n\n// [Number, Number] -> String\nfunction coordId (coord) {\n return coord[0].toString() + ',' + coord[1].toString()\n}\n\n// LineString, LineString -> LineString\nfunction mergeLineStrings (a, b) {\n var s1 = coordId(a.coordinates[0])\n var e1 = coordId(a.coordinates[a.coordinates.length - 1])\n var s2 = coordId(b.coordinates[0])\n var e2 = coordId(b.coordinates[b.coordinates.length - 1])\n\n // TODO: handle case where more than one of these is true!\n\n var coords\n if (s1 === e2) {\n coords = b.coordinates.concat(a.coordinates.slice(1))\n } else if (s2 === e1) {\n coords = a.coordinates.concat(b.coordinates.slice(1))\n } else if (s1 === s2) {\n coords = a.coordinates.slice(1).reverse().concat(b.coordinates)\n } else if (e1 === e2) {\n coords = a.coordinates.concat(b.coordinates.reverse().slice(1))\n } else {\n return null\n }\n\n return {\n type: 'LineString',\n coordinates: coords\n }\n}\n\n// Merges all connected (non-forking, non-junctioning) line strings into single\n// line strings.\n// [LineString] -> LineString|MultiLineString\nfunction mergeViableLineStrings (geoms) {\n // TODO: assert all are linestrings\n\n var lineStrings = geoms.slice()\n var result = []\n while (lineStrings.length > 0) {\n var ls = lineStrings.shift()\n\n // Attempt to merge this LineString with the other LineStrings, updating\n // the reference as it is merged with others and grows.\n lineStrings = lineStrings.reduce(function (accum, cur) {\n var merged = mergeLineStrings(ls, cur)\n if (merged) {\n // Accumulate the merged LineString\n ls = merged\n } else {\n // Put the unmerged LineString back into the list\n accum.push(cur)\n }\n return accum\n }, [])\n\n result.push(ls)\n }\n\n if (result.length === 1) {\n result = result[0]\n } else {\n result = {\n type: 'MultiLineString',\n coordinates: result.map(function (ls) { return ls.coordinates })\n }\n }\n return result\n}\n\n","var area = require('@mapbox/geojson-area').geometry;\nvar geomReduce = require('@turf/meta').geomReduce;\n\n/**\n * Takes one or more features and returns their area in square meters.\n *\n * @name area\n * @param {FeatureCollection|Feature} geojson input GeoJSON feature(s)\n * @returns {number} area in square meters\n * @addToMap polygon\n * @example\n * var polygon = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [\n * [\n * [125, -15],\n * [113, -22],\n * [117, -37],\n * [130, -33],\n * [148, -39],\n * [154, -27],\n * [144, -15],\n * [125, -15]\n * ]\n * ]\n * }\n * }\n * var area = turf.area(polygon);\n * //=area => square meters\n * //=polygon\n */\nmodule.exports = function (geojson) {\n return geomReduce(geojson, function (value, geometry) {\n return value + area(geometry);\n }, 0);\n};\n","var bbox = require('@turf/bbox');\nvar getCoords = require('@turf/invariant').getCoords;\nvar helpers = require('@turf/helpers');\nvar polygon = helpers.polygon;\nvar multiPolygon = helpers.multiPolygon;\nvar lineString = helpers.lineString;\n\n/**\n * Converts (Multi)LineString(s) to Polygon(s).\n *\n * @name lineStringToPolygon\n * @param {FeatureCollection|Feature} lines Features to convert\n * @param {Object} [properties] translates GeoJSON properties to Feature\n * @param {boolean} [autoComplete=true] auto complete linestrings (matches first & last coordinates)\n * @param {boolean} [orderCoords=true] sorts linestrings to place outer ring at the first position of the coordinates\n * @returns {Feature} converted to Polygons\n * @example\n * var line = turf.lineString([[125, -30], [145, -30], [145, -20], [125, -20], [125, -30]]);\n *\n * var polygon = turf.lineStringToPolygon(line);\n *\n * //addToMap\n * var addToMap = [polygon];\n */\nmodule.exports = function (lines, properties, autoComplete, orderCoords) {\n // validation\n if (!lines) throw new Error('lines is required');\n\n // default params\n autoComplete = (autoComplete !== undefined) ? autoComplete : true;\n orderCoords = (orderCoords !== undefined) ? orderCoords : true;\n var type = geomType(lines);\n\n switch (type) {\n case 'FeatureCollection':\n case 'GeometryCollection':\n var coords = [];\n var features = (lines.features) ? lines.features : lines.geometries;\n features.forEach(function (line) {\n coords.push(getCoords(lineStringToPolygon(line, {}, autoComplete, orderCoords)));\n });\n return multiPolygon(coords, properties);\n }\n return lineStringToPolygon(lines, properties, autoComplete, orderCoords);\n};\n\n/**\n * LineString to Polygon\n *\n * @private\n * @param {Feature} line line\n * @param {Object} [properties] translates GeoJSON properties to Feature\n * @param {boolean} [autoComplete=true] auto complete linestrings\n * @param {boolean} [orderCoords=true] sorts linestrings to place outer ring at the first position of the coordinates\n * @returns {Feature} line converted to Polygon\n */\nfunction lineStringToPolygon(line, properties, autoComplete, orderCoords) {\n properties = properties || line.properties || {};\n var coords = getCoords(line);\n var type = geomType(line);\n\n if (!coords.length) throw new Error('line must contain coordinates');\n\n switch (type) {\n case 'LineString':\n if (autoComplete) coords = autoCompleteCoords(coords);\n return polygon([coords], properties);\n case 'MultiLineString':\n var multiCoords = [];\n var largestArea = 0;\n\n coords.forEach(function (coord) {\n if (autoComplete) coord = autoCompleteCoords(coord);\n\n // Largest LineString to be placed in the first position of the coordinates array\n if (orderCoords) {\n var area = calculateArea(bbox(lineString(coord)));\n if (area > largestArea) {\n multiCoords.unshift(coord);\n largestArea = area;\n } else multiCoords.push(coord);\n } else {\n multiCoords.push(coord);\n }\n });\n return polygon(multiCoords, properties);\n default:\n throw new Error('geometry type ' + type + ' is not supported');\n }\n}\n\nfunction geomType(feature) {\n return (feature.geometry) ? feature.geometry.type : feature.type;\n}\n\n/**\n * Auto Complete Coords - matches first & last coordinates\n *\n * @private\n * @param {Array>} coords Coordinates\n * @returns {Array>} auto completed coordinates\n */\nfunction autoCompleteCoords(coords) {\n var first = coords[0];\n var x1 = first[0];\n var y1 = first[1];\n var last = coords[coords.length - 1];\n var x2 = last[0];\n var y2 = last[1];\n if (x1 !== x2 || y1 !== y2) {\n coords.push(first);\n }\n return coords;\n}\n\n/**\n * area - quick approximate area calculation (used to sort)\n *\n * @private\n * @param {[number, number, number, number]} bbox BBox [west, south, east, north]\n * @returns {number} very quick area calculation\n */\nfunction calculateArea(bbox) {\n var west = bbox[0];\n var south = bbox[1];\n var east = bbox[2];\n var north = bbox[3];\n return Math.abs(west - east) * Math.abs(south - north);\n}\n","'use strict';\n\nvar Graph = require('./Graph'),\n EdgeRing = require('./EdgeRing'),\n _require = require('@turf/helpers'),\n featureCollection = _require.featureCollection;\n\n/**\n * Polygonizes {@link LineString|(Multi)LineString(s)} into {@link Polygons}.\n *\n * Implementation of GEOSPolygonize function (`geos::operation::polygonize::Polygonizer`).\n *\n * Polygonizes a set of lines that represents edges in a planar graph. Edges must be correctly\n * noded, i.e., they must only meet at their endpoints.\n *\n * The implementation correctly handles:\n *\n * - Dangles: edges which have one or both ends which are not incident on another edge endpoint.\n * - Cut Edges (bridges): edges that are connected at both ends but which do not form part of a polygon.\n *\n * @name polygonize\n * @param {FeatureCollection|Geometry|Feature} geoJson Lines in order to polygonize\n * @returns {FeatureCollection} Polygons created\n * @throws {Error} if geoJson is invalid.\n */\nmodule.exports = function polygonize(geoJson) {\n var graph = Graph.fromGeoJson(geoJson);\n\n // 1. Remove dangle node\n graph.deleteDangles();\n\n // 2. Remove cut-edges (bridge edges)\n graph.deleteCutEdges();\n\n // 3. Get all holes and shells\n var holes = [],\n shells = [];\n\n graph.getEdgeRings().filter(function (edgeRing) {\n return edgeRing.isValid();\n }).forEach(function (edgeRing) {\n if (edgeRing.isHole()) holes.push(edgeRing);else shells.push(edgeRing);\n });\n\n // 4. Assign Holes to Shells\n holes.forEach(function (hole) {\n if (EdgeRing.findEdgeRingContaining(hole, shells)) shells.push(hole);\n });\n\n // 5. EdgeRings to Polygons\n return featureCollection(shells.map(function (shell) {\n return shell.toPolygon();\n }));\n};","import * as helpers from '@turf/helpers';\nimport {\n point,\n polygon,\n lineString,\n multiPoint,\n multiPolygon,\n multiLineString,\n feature,\n geometry,\n featureCollection,\n geometryCollection,\n radiansToDistance,\n distanceToRadians,\n distanceToDegrees,\n bearingToAngle,\n radians2degrees,\n degrees2radians,\n round,\n convertDistance,\n convertArea,\n isNumber} from '@turf/helpers';\nimport * as invariant from '@turf/invariant';\nimport {\n getGeom,\n getGeomType,\n getCoord,\n getCoords,\n geojsonType,\n featureOf,\n collectionOf,\n containsNumber} from '@turf/invariant';\nimport * as meta from '@turf/meta';\nimport {\n coordEach,\n coordReduce,\n propEach,\n propReduce,\n featureEach,\n featureReduce,\n coordAll,\n geomEach,\n geomReduce,\n flattenEach,\n flattenReduce,\n segmentEach,\n segmentReduce,\n lineEach, // v4.7.0\n lineReduce // v4.7.0\n} from '@turf/meta';\nimport * as isolines from '@turf/isolines';\nimport * as convex from '@turf/convex';\nimport * as within from '@turf/within';\nimport * as concave from '@turf/concave';\nimport * as difference from '@turf/difference';\nimport * as dissolve from '@turf/dissolve';\nimport * as collect from '@turf/collect';\nimport * as flip from '@turf/flip';\nimport * as simplify from '@turf/simplify';\nimport * as bezier from '@turf/bezier';\nimport * as tag from '@turf/tag';\nimport * as sample from '@turf/sample';\nimport * as envelope from '@turf/envelope';\nimport * as square from '@turf/square';\nimport * as circle from '@turf/circle';\nimport * as midpoint from '@turf/midpoint';\nimport * as buffer from '@turf/buffer';\nimport * as center from '@turf/center';\nimport * as centerOfMass from '@turf/center-of-mass';\nimport * as centroid from '@turf/centroid';\nimport * as combine from '@turf/combine';\nimport * as distance from '@turf/distance';\nimport * as explode from '@turf/explode';\nimport * as bbox from '@turf/bbox';\nimport * as tesselate from '@turf/tesselate';\nimport * as bboxPolygon from '@turf/bbox-polygon';\nimport * as inside from '@turf/inside';\nimport * as intersect from '@turf/intersect';\nimport * as nearest from '@turf/nearest';\nimport * as planepoint from '@turf/planepoint';\nimport * as random from '@turf/random';\nimport * as tin from '@turf/tin';\nimport * as union from '@turf/union';\nimport * as bearing from '@turf/bearing';\nimport * as destination from '@turf/destination';\nimport * as kinks from '@turf/kinks';\nimport * as pointOnSurface from '@turf/point-on-surface';\nimport * as area from '@turf/area';\nimport * as along from '@turf/along';\nimport * as lineDistance from '@turf/line-distance';\nimport * as lineSlice from '@turf/line-slice';\nimport * as lineSliceAlong from '@turf/line-slice-along';\nimport * as pointOnLine from '@turf/point-on-line';\nimport * as pointGrid from '@turf/point-grid';\nimport * as squareGrid from '@turf/square-grid';\nimport * as triangleGrid from '@turf/triangle-grid';\nimport * as hexGrid from '@turf/hex-grid';\nimport * as idw from '@turf/idw';\nimport * as truncate from '@turf/truncate';\nimport * as flatten from '@turf/flatten';\nimport * as lineIntersect from '@turf/line-intersect';\nimport * as mask from '@turf/mask';\nimport * as lineChunk from '@turf/line-chunk';\nimport * as unkinkPolygon from '@turf/unkink-polygon';\nimport * as greatCircle from '@turf/great-circle';\nimport * as lineSegment from '@turf/line-segment';\nimport * as lineSplit from '@turf/line-split';\nimport * as lineArc from '@turf/line-arc';\nimport * as polygonToLineString from '@turf/polygon-to-linestring';\nimport * as lineStringToPolygon from '@turf/linestring-to-polygon';\nimport * as bboxClip from '@turf/bbox-clip';\nimport * as lineOverlap from '@turf/line-overlap';\nimport * as sector from '@turf/sector';\nimport * as rhumbBearing from '@turf/rhumb-bearing';\nimport * as rhumbDistance from '@turf/rhumb-distance';\nimport * as rhumbDestination from '@turf/rhumb-destination';\nimport * as polygonTangents from '@turf/polygon-tangents';\nimport * as rewind from '@turf/rewind';\nimport * as isobands from '@turf/isobands';\nimport * as transformRotate from '@turf/transform-rotate';\nimport * as transformScale from '@turf/transform-scale';\nimport * as transformTranslate from '@turf/transform-translate';\nimport * as lineOffset from '@turf/line-offset';\nimport * as polygonize from '@turf/polygonize';\nimport * as booleanDisjoint from '@turf/boolean-disjoint';\nimport * as booleanContains from '@turf/boolean-contains';\nimport * as booleanCrosses from '@turf/boolean-crosses';\nimport * as booleanClockwise from '@turf/boolean-clockwise';\nimport * as booleanEqual from '@turf/boolean-equal';\nimport * as booleanWithin from '@turf/boolean-within'; // 4.7.0\nimport * as clone from '@turf/clone';\nimport * as cleanCoords from '@turf/clean-coords';\nimport * as pointToLineDistance from '@turf/point-to-line-distance'; // v4.7.0\nexport {\n isolines,\n convex,\n within,\n concave,\n difference,\n dissolve,\n collect,\n flip,\n simplify,\n bezier,\n tag,\n sample,\n envelope,\n square,\n circle,\n midpoint,\n buffer,\n center,\n centerOfMass,\n centroid,\n combine,\n distance,\n explode,\n bbox,\n tesselate,\n bboxPolygon,\n inside,\n intersect,\n nearest,\n planepoint,\n random,\n tin,\n union,\n bearing,\n destination,\n kinks,\n pointOnSurface,\n area,\n along,\n lineDistance,\n lineSlice,\n lineSliceAlong,\n pointOnLine,\n pointGrid,\n squareGrid,\n triangleGrid,\n hexGrid,\n idw,\n point,\n polygon,\n lineString,\n multiPoint,\n multiPolygon,\n multiLineString,\n feature,\n geometry,\n featureCollection,\n geometryCollection,\n radiansToDistance,\n distanceToRadians,\n distanceToDegrees,\n getCoord,\n getCoords,\n getGeom,\n getGeomType,\n geojsonType,\n featureOf,\n collectionOf,\n containsNumber,\n truncate,\n flatten,\n coordEach,\n coordReduce,\n propEach,\n propReduce,\n featureEach,\n coordAll,\n geomEach,\n lineIntersect,\n mask,\n lineChunk,\n unkinkPolygon,\n greatCircle,\n lineSegment,\n lineSplit,\n lineArc,\n polygonToLineString,\n lineStringToPolygon,\n bboxClip,\n lineOverlap,\n sector,\n rhumbBearing,\n rhumbDistance,\n rhumbDestination,\n polygonTangents,\n rewind,\n isobands,\n radians2degrees,\n degrees2radians,\n round,\n flattenEach,\n flattenReduce,\n convertDistance,\n convertArea,\n transformRotate,\n transformScale,\n transformTranslate,\n lineOffset,\n polygonize,\n bearingToAngle,\n featureReduce,\n geomReduce,\n booleanWithin,\n booleanDisjoint,\n booleanContains,\n booleanCrosses,\n booleanClockwise,\n booleanEqual,\n clone,\n segmentEach,\n segmentReduce,\n cleanCoords,\n isNumber,\n pointToLineDistance, // v4.7.0\n helpers,\n meta,\n invariant,\n lineEach, // v4.7.0\n lineReduce // v4.7.0\n};\n","var circle = require('@turf/circle');\nvar coordEach = require('@turf/meta').coordEach;\nvar helpers = require('@turf/helpers');\nvar getCoords = require('@turf/invariant').getCoords;\nvar polygon = helpers.polygon;\nvar lineArc = require('@turf/line-arc');\n\n/**\n * Creates a circular sector of a circle of given radius and center {@link Point},\n * between (clockwise) bearing1 and bearing2; 0 bearing is North of center point, positive clockwise.\n *\n * @name sector\n * @param {Feature} center center point\n * @param {number} radius radius of the circle\n * @param {number} bearing1 angle, in decimal degrees, of the first radius of the sector\n * @param {number} bearing2 angle, in decimal degrees, of the second radius of the sector\n * @param {number} [steps=64] number of steps\n * @param {string} [units=kilometers] miles, kilometers, degrees, or radians\n * @returns {Feature} sector polygon\n * @example\n * var center = turf.point([-75, 40]);\n * var radius = 5;\n * var bearing1 = 25;\n * var bearing2 = 45;\n *\n * var sector = turf.sector(center, radius, bearing1, bearing2);\n *\n * //addToMap\n * var addToMap = [center, sector];\n */\nmodule.exports = function (center, radius, bearing1, bearing2, steps, units) {\n // validation\n if (!center) throw new Error('center is required');\n if (bearing1 === undefined || bearing1 === null) throw new Error('bearing1 is required');\n if (bearing2 === undefined || bearing2 === null) throw new Error('bearing2 is required');\n if (!radius) throw new Error('radius is required');\n\n // default params\n steps = steps || 64;\n\n if (convertAngleTo360(bearing1) === convertAngleTo360(bearing2)) {\n return circle(center, radius, steps, units);\n }\n var coords = getCoords(center);\n var arc = lineArc(center, radius, bearing1, bearing2, steps, units);\n var sliceCoords = [[coords]];\n coordEach(arc, function (currentCoords) {\n sliceCoords[0].push(currentCoords);\n });\n sliceCoords[0].push(coords);\n\n return polygon(sliceCoords);\n};\n\n/**\n * Takes any angle in degrees\n * and returns a valid angle between 0-360 degrees\n *\n * @private\n * @param {number} alfa angle between -180-180 degrees\n * @returns {number} angle between 0-360 degrees\n */\nfunction convertAngleTo360(alfa) {\n var beta = alfa % 360;\n if (beta < 0) {\n beta += 360;\n }\n return beta;\n}\n","'use strict';\n\nvar defaults = require('./core.defaults');\nvar Element = require('./core.element');\nvar helpers = require('../helpers/index');\n\ndefaults._set('global', {\n\ttooltips: {\n\t\tenabled: true,\n\t\tcustom: null,\n\t\tmode: 'nearest',\n\t\tposition: 'average',\n\t\tintersect: true,\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\n\t\ttitleFontStyle: 'bold',\n\t\ttitleSpacing: 2,\n\t\ttitleMarginBottom: 6,\n\t\ttitleFontColor: '#fff',\n\t\ttitleAlign: 'left',\n\t\tbodySpacing: 2,\n\t\tbodyFontColor: '#fff',\n\t\tbodyAlign: 'left',\n\t\tfooterFontStyle: 'bold',\n\t\tfooterSpacing: 2,\n\t\tfooterMarginTop: 6,\n\t\tfooterFontColor: '#fff',\n\t\tfooterAlign: 'left',\n\t\tyPadding: 6,\n\t\txPadding: 6,\n\t\tcaretPadding: 2,\n\t\tcaretSize: 5,\n\t\tcornerRadius: 6,\n\t\tmultiKeyBackground: '#fff',\n\t\tdisplayColors: true,\n\t\tborderColor: 'rgba(0,0,0,0)',\n\t\tborderWidth: 0,\n\t\tcallbacks: {\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeTitle: helpers.noop,\n\t\t\ttitle: function(tooltipItems, data) {\n\t\t\t\t// Pick first xLabel for now\n\t\t\t\tvar title = '';\n\t\t\t\tvar labels = data.labels;\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\n\n\t\t\t\tif (tooltipItems.length > 0) {\n\t\t\t\t\tvar item = tooltipItems[0];\n\n\t\t\t\t\tif (item.xLabel) {\n\t\t\t\t\t\ttitle = item.xLabel;\n\t\t\t\t\t} else if (labelCount > 0 && item.index < labelCount) {\n\t\t\t\t\t\ttitle = labels[item.index];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn title;\n\t\t\t},\n\t\t\tafterTitle: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeBody: helpers.noop,\n\n\t\t\t// Args are: (tooltipItem, data)\n\t\t\tbeforeLabel: helpers.noop,\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n\t\t\t\tif (label) {\n\t\t\t\t\tlabel += ': ';\n\t\t\t\t}\n\t\t\t\tlabel += tooltipItem.yLabel;\n\t\t\t\treturn label;\n\t\t\t},\n\t\t\tlabelColor: function(tooltipItem, chart) {\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\n\t\t\t\tvar view = activeElement._view;\n\t\t\t\treturn {\n\t\t\t\t\tborderColor: view.borderColor,\n\t\t\t\t\tbackgroundColor: view.backgroundColor\n\t\t\t\t};\n\t\t\t},\n\t\t\tlabelTextColor: function() {\n\t\t\t\treturn this._options.bodyFontColor;\n\t\t\t},\n\t\t\tafterLabel: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tafterBody: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeFooter: helpers.noop,\n\t\t\tfooter: helpers.noop,\n\t\t\tafterFooter: helpers.noop\n\t\t}\n\t}\n});\n\nvar positioners = {\n\t/**\n\t * Average mode places the tooltip at the average position of the elements shown\n\t * @function Chart.Tooltip.positioners.average\n\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\n\t * @returns {Point} tooltip position\n\t */\n\taverage: function(elements) {\n\t\tif (!elements.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar i, len;\n\t\tvar x = 0;\n\t\tvar y = 0;\n\t\tvar count = 0;\n\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\n\t\t\tvar el = elements[i];\n\t\t\tif (el && el.hasValue()) {\n\t\t\t\tvar pos = el.tooltipPosition();\n\t\t\t\tx += pos.x;\n\t\t\t\ty += pos.y;\n\t\t\t\t++count;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tx: Math.round(x / count),\n\t\t\ty: Math.round(y / count)\n\t\t};\n\t},\n\n\t/**\n\t * Gets the tooltip position nearest of the item nearest to the event position\n\t * @function Chart.Tooltip.positioners.nearest\n\t * @param elements {Chart.Element[]} the tooltip elements\n\t * @param eventPosition {Point} the position of the event in canvas coordinates\n\t * @returns {Point} the tooltip position\n\t */\n\tnearest: function(elements, eventPosition) {\n\t\tvar x = eventPosition.x;\n\t\tvar y = eventPosition.y;\n\t\tvar minDistance = Number.POSITIVE_INFINITY;\n\t\tvar i, len, nearestElement;\n\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\n\t\t\tvar el = elements[i];\n\t\t\tif (el && el.hasValue()) {\n\t\t\t\tvar center = el.getCenterPoint();\n\t\t\t\tvar d = helpers.distanceBetweenPoints(eventPosition, center);\n\n\t\t\t\tif (d < minDistance) {\n\t\t\t\t\tminDistance = d;\n\t\t\t\t\tnearestElement = el;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (nearestElement) {\n\t\t\tvar tp = nearestElement.tooltipPosition();\n\t\t\tx = tp.x;\n\t\t\ty = tp.y;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t}\n};\n\n/**\n * Helper method to merge the opacity into a color\n */\nfunction mergeOpacity(colorString, opacity) {\n\tvar color = helpers.color(colorString);\n\treturn color.alpha(opacity * color.alpha()).rgbaString();\n}\n\n// Helper to push or concat based on if the 2nd parameter is an array or not\nfunction pushOrConcat(base, toPush) {\n\tif (toPush) {\n\t\tif (helpers.isArray(toPush)) {\n\t\t\t// base = base.concat(toPush);\n\t\t\tArray.prototype.push.apply(base, toPush);\n\t\t} else {\n\t\t\tbase.push(toPush);\n\t\t}\n\t}\n\n\treturn base;\n}\n\n/**\n * Returns array of strings split by newline\n * @param {String} value - The value to split by newline.\n * @returns {Array} value if newline present - Returned from String split() method\n * @function\n */\nfunction splitNewlines(str) {\n\tif ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n\t\treturn str.split('\\n');\n\t}\n\treturn str;\n}\n\n\n// Private helper to create a tooltip item model\n// @param element : the chart element (point, arc, bar) to create the tooltip item for\n// @return : new tooltip item\nfunction createTooltipItem(element) {\n\tvar xScale = element._xScale;\n\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\n\tvar index = element._index;\n\tvar datasetIndex = element._datasetIndex;\n\n\treturn {\n\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\n\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\n\t\tindex: index,\n\t\tdatasetIndex: datasetIndex,\n\t\tx: element._model.x,\n\t\ty: element._model.y\n\t};\n}\n\n/**\n * Helper to get the reset model for the tooltip\n * @param tooltipOpts {Object} the tooltip options\n */\nfunction getBaseModel(tooltipOpts) {\n\tvar globalDefaults = defaults.global;\n\tvar valueOrDefault = helpers.valueOrDefault;\n\n\treturn {\n\t\t// Positioning\n\t\txPadding: tooltipOpts.xPadding,\n\t\tyPadding: tooltipOpts.yPadding,\n\t\txAlign: tooltipOpts.xAlign,\n\t\tyAlign: tooltipOpts.yAlign,\n\n\t\t// Body\n\t\tbodyFontColor: tooltipOpts.bodyFontColor,\n\t\t_bodyFontFamily: valueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\n\t\t_bodyFontStyle: valueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\n\t\t_bodyAlign: tooltipOpts.bodyAlign,\n\t\tbodyFontSize: valueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\n\t\tbodySpacing: tooltipOpts.bodySpacing,\n\n\t\t// Title\n\t\ttitleFontColor: tooltipOpts.titleFontColor,\n\t\t_titleFontFamily: valueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\n\t\t_titleFontStyle: valueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\n\t\ttitleFontSize: valueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\n\t\t_titleAlign: tooltipOpts.titleAlign,\n\t\ttitleSpacing: tooltipOpts.titleSpacing,\n\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\n\n\t\t// Footer\n\t\tfooterFontColor: tooltipOpts.footerFontColor,\n\t\t_footerFontFamily: valueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\n\t\t_footerFontStyle: valueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\n\t\tfooterFontSize: valueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\n\t\t_footerAlign: tooltipOpts.footerAlign,\n\t\tfooterSpacing: tooltipOpts.footerSpacing,\n\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\n\n\t\t// Appearance\n\t\tcaretSize: tooltipOpts.caretSize,\n\t\tcornerRadius: tooltipOpts.cornerRadius,\n\t\tbackgroundColor: tooltipOpts.backgroundColor,\n\t\topacity: 0,\n\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\n\t\tdisplayColors: tooltipOpts.displayColors,\n\t\tborderColor: tooltipOpts.borderColor,\n\t\tborderWidth: tooltipOpts.borderWidth\n\t};\n}\n\n/**\n * Get the size of the tooltip\n */\nfunction getTooltipSize(tooltip, model) {\n\tvar ctx = tooltip._chart.ctx;\n\n\tvar height = model.yPadding * 2; // Tooltip Padding\n\tvar width = 0;\n\n\t// Count of all lines in the body\n\tvar body = model.body;\n\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\n\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\n\t}, 0);\n\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\n\n\tvar titleLineCount = model.title.length;\n\tvar footerLineCount = model.footer.length;\n\tvar titleFontSize = model.titleFontSize;\n\tvar bodyFontSize = model.bodyFontSize;\n\tvar footerFontSize = model.footerFontSize;\n\n\theight += titleLineCount * titleFontSize; // Title Lines\n\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\n\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\n\theight += combinedBodyLength * bodyFontSize; // Body Lines\n\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\n\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\n\theight += footerLineCount * (footerFontSize); // Footer Lines\n\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\n\n\t// Title width\n\tvar widthPadding = 0;\n\tvar maxLineWidth = function(line) {\n\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\n\t};\n\n\tctx.font = helpers.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\n\thelpers.each(model.title, maxLineWidth);\n\n\t// Body width\n\tctx.font = helpers.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\n\thelpers.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\n\n\t// Body lines may include some extra width due to the color box\n\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\n\thelpers.each(body, function(bodyItem) {\n\t\thelpers.each(bodyItem.before, maxLineWidth);\n\t\thelpers.each(bodyItem.lines, maxLineWidth);\n\t\thelpers.each(bodyItem.after, maxLineWidth);\n\t});\n\n\t// Reset back to 0\n\twidthPadding = 0;\n\n\t// Footer width\n\tctx.font = helpers.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\n\thelpers.each(model.footer, maxLineWidth);\n\n\t// Add padding\n\twidth += 2 * model.xPadding;\n\n\treturn {\n\t\twidth: width,\n\t\theight: height\n\t};\n}\n\n/**\n * Helper to get the alignment of a tooltip given the size\n */\nfunction determineAlignment(tooltip, size) {\n\tvar model = tooltip._model;\n\tvar chart = tooltip._chart;\n\tvar chartArea = tooltip._chart.chartArea;\n\tvar xAlign = 'center';\n\tvar yAlign = 'center';\n\n\tif (model.y < size.height) {\n\t\tyAlign = 'top';\n\t} else if (model.y > (chart.height - size.height)) {\n\t\tyAlign = 'bottom';\n\t}\n\n\tvar lf, rf; // functions to determine left, right alignment\n\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\n\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\n\tvar midX = (chartArea.left + chartArea.right) / 2;\n\tvar midY = (chartArea.top + chartArea.bottom) / 2;\n\n\tif (yAlign === 'center') {\n\t\tlf = function(x) {\n\t\t\treturn x <= midX;\n\t\t};\n\t\trf = function(x) {\n\t\t\treturn x > midX;\n\t\t};\n\t} else {\n\t\tlf = function(x) {\n\t\t\treturn x <= (size.width / 2);\n\t\t};\n\t\trf = function(x) {\n\t\t\treturn x >= (chart.width - (size.width / 2));\n\t\t};\n\t}\n\n\tolf = function(x) {\n\t\treturn x + size.width + model.caretSize + model.caretPadding > chart.width;\n\t};\n\torf = function(x) {\n\t\treturn x - size.width - model.caretSize - model.caretPadding < 0;\n\t};\n\tyf = function(y) {\n\t\treturn y <= midY ? 'top' : 'bottom';\n\t};\n\n\tif (lf(model.x)) {\n\t\txAlign = 'left';\n\n\t\t// Is tooltip too wide and goes over the right side of the chart.?\n\t\tif (olf(model.x)) {\n\t\t\txAlign = 'center';\n\t\t\tyAlign = yf(model.y);\n\t\t}\n\t} else if (rf(model.x)) {\n\t\txAlign = 'right';\n\n\t\t// Is tooltip too wide and goes outside left edge of canvas?\n\t\tif (orf(model.x)) {\n\t\t\txAlign = 'center';\n\t\t\tyAlign = yf(model.y);\n\t\t}\n\t}\n\n\tvar opts = tooltip._options;\n\treturn {\n\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\n\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\n\t};\n}\n\n/**\n * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\n */\nfunction getBackgroundPoint(vm, size, alignment, chart) {\n\t// Background Position\n\tvar x = vm.x;\n\tvar y = vm.y;\n\n\tvar caretSize = vm.caretSize;\n\tvar caretPadding = vm.caretPadding;\n\tvar cornerRadius = vm.cornerRadius;\n\tvar xAlign = alignment.xAlign;\n\tvar yAlign = alignment.yAlign;\n\tvar paddingAndSize = caretSize + caretPadding;\n\tvar radiusAndPadding = cornerRadius + caretPadding;\n\n\tif (xAlign === 'right') {\n\t\tx -= size.width;\n\t} else if (xAlign === 'center') {\n\t\tx -= (size.width / 2);\n\t\tif (x + size.width > chart.width) {\n\t\t\tx = chart.width - size.width;\n\t\t}\n\t\tif (x < 0) {\n\t\t\tx = 0;\n\t\t}\n\t}\n\n\tif (yAlign === 'top') {\n\t\ty += paddingAndSize;\n\t} else if (yAlign === 'bottom') {\n\t\ty -= size.height + paddingAndSize;\n\t} else {\n\t\ty -= (size.height / 2);\n\t}\n\n\tif (yAlign === 'center') {\n\t\tif (xAlign === 'left') {\n\t\t\tx += paddingAndSize;\n\t\t} else if (xAlign === 'right') {\n\t\t\tx -= paddingAndSize;\n\t\t}\n\t} else if (xAlign === 'left') {\n\t\tx -= radiusAndPadding;\n\t} else if (xAlign === 'right') {\n\t\tx += radiusAndPadding;\n\t}\n\n\treturn {\n\t\tx: x,\n\t\ty: y\n\t};\n}\n\n/**\n * Helper to build before and after body lines\n */\nfunction getBeforeAfterBodyLines(callback) {\n\treturn pushOrConcat([], splitNewlines(callback));\n}\n\nvar exports = module.exports = Element.extend({\n\tinitialize: function() {\n\t\tthis._model = getBaseModel(this._options);\n\t\tthis._lastActive = [];\n\t},\n\n\t// Get the title\n\t// Args are: (tooltipItem, data)\n\tgetTitle: function() {\n\t\tvar me = this;\n\t\tvar opts = me._options;\n\t\tvar callbacks = opts.callbacks;\n\n\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments);\n\t\tvar title = callbacks.title.apply(me, arguments);\n\t\tvar afterTitle = callbacks.afterTitle.apply(me, arguments);\n\n\t\tvar lines = [];\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeTitle));\n\t\tlines = pushOrConcat(lines, splitNewlines(title));\n\t\tlines = pushOrConcat(lines, splitNewlines(afterTitle));\n\n\t\treturn lines;\n\t},\n\n\t// Args are: (tooltipItem, data)\n\tgetBeforeBody: function() {\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this, arguments));\n\t},\n\n\t// Args are: (tooltipItem, data)\n\tgetBody: function(tooltipItems, data) {\n\t\tvar me = this;\n\t\tvar callbacks = me._options.callbacks;\n\t\tvar bodyItems = [];\n\n\t\thelpers.each(tooltipItems, function(tooltipItem) {\n\t\t\tvar bodyItem = {\n\t\t\t\tbefore: [],\n\t\t\t\tlines: [],\n\t\t\t\tafter: []\n\t\t\t};\n\t\t\tpushOrConcat(bodyItem.before, splitNewlines(callbacks.beforeLabel.call(me, tooltipItem, data)));\n\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\n\t\t\tpushOrConcat(bodyItem.after, splitNewlines(callbacks.afterLabel.call(me, tooltipItem, data)));\n\n\t\t\tbodyItems.push(bodyItem);\n\t\t});\n\n\t\treturn bodyItems;\n\t},\n\n\t// Args are: (tooltipItem, data)\n\tgetAfterBody: function() {\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this, arguments));\n\t},\n\n\t// Get the footer and beforeFooter and afterFooter lines\n\t// Args are: (tooltipItem, data)\n\tgetFooter: function() {\n\t\tvar me = this;\n\t\tvar callbacks = me._options.callbacks;\n\n\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\n\t\tvar footer = callbacks.footer.apply(me, arguments);\n\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\n\n\t\tvar lines = [];\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeFooter));\n\t\tlines = pushOrConcat(lines, splitNewlines(footer));\n\t\tlines = pushOrConcat(lines, splitNewlines(afterFooter));\n\n\t\treturn lines;\n\t},\n\n\tupdate: function(changed) {\n\t\tvar me = this;\n\t\tvar opts = me._options;\n\n\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\n\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\n\t\t// which breaks any animations.\n\t\tvar existingModel = me._model;\n\t\tvar model = me._model = getBaseModel(opts);\n\t\tvar active = me._active;\n\n\t\tvar data = me._data;\n\n\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\n\t\tvar alignment = {\n\t\t\txAlign: existingModel.xAlign,\n\t\t\tyAlign: existingModel.yAlign\n\t\t};\n\t\tvar backgroundPoint = {\n\t\t\tx: existingModel.x,\n\t\t\ty: existingModel.y\n\t\t};\n\t\tvar tooltipSize = {\n\t\t\twidth: existingModel.width,\n\t\t\theight: existingModel.height\n\t\t};\n\t\tvar tooltipPosition = {\n\t\t\tx: existingModel.caretX,\n\t\t\ty: existingModel.caretY\n\t\t};\n\n\t\tvar i, len;\n\n\t\tif (active.length) {\n\t\t\tmodel.opacity = 1;\n\n\t\t\tvar labelColors = [];\n\t\t\tvar labelTextColors = [];\n\t\t\ttooltipPosition = positioners[opts.position].call(me, active, me._eventPosition);\n\n\t\t\tvar tooltipItems = [];\n\t\t\tfor (i = 0, len = active.length; i < len; ++i) {\n\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\n\t\t\t}\n\n\t\t\t// If the user provided a filter function, use it to modify the tooltip items\n\t\t\tif (opts.filter) {\n\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\n\t\t\t\t\treturn opts.filter(a, data);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\n\t\t\tif (opts.itemSort) {\n\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\n\t\t\t\t\treturn opts.itemSort(a, b, data);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Determine colors for boxes\n\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\n\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\n\t\t\t\tlabelTextColors.push(opts.callbacks.labelTextColor.call(me, tooltipItem, me._chart));\n\t\t\t});\n\n\n\t\t\t// Build the Text Lines\n\t\t\tmodel.title = me.getTitle(tooltipItems, data);\n\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\n\t\t\tmodel.body = me.getBody(tooltipItems, data);\n\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\n\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\n\n\t\t\t// Initial positioning and colors\n\t\t\tmodel.x = Math.round(tooltipPosition.x);\n\t\t\tmodel.y = Math.round(tooltipPosition.y);\n\t\t\tmodel.caretPadding = opts.caretPadding;\n\t\t\tmodel.labelColors = labelColors;\n\t\t\tmodel.labelTextColors = labelTextColors;\n\n\t\t\t// data points\n\t\t\tmodel.dataPoints = tooltipItems;\n\n\t\t\t// We need to determine alignment of the tooltip\n\t\t\ttooltipSize = getTooltipSize(this, model);\n\t\t\talignment = determineAlignment(this, tooltipSize);\n\t\t\t// Final Size and Position\n\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment, me._chart);\n\t\t} else {\n\t\t\tmodel.opacity = 0;\n\t\t}\n\n\t\tmodel.xAlign = alignment.xAlign;\n\t\tmodel.yAlign = alignment.yAlign;\n\t\tmodel.x = backgroundPoint.x;\n\t\tmodel.y = backgroundPoint.y;\n\t\tmodel.width = tooltipSize.width;\n\t\tmodel.height = tooltipSize.height;\n\n\t\t// Point where the caret on the tooltip points to\n\t\tmodel.caretX = tooltipPosition.x;\n\t\tmodel.caretY = tooltipPosition.y;\n\n\t\tme._model = model;\n\n\t\tif (changed && opts.custom) {\n\t\t\topts.custom.call(me, model);\n\t\t}\n\n\t\treturn me;\n\t},\n\n\tdrawCaret: function(tooltipPoint, size) {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\n\n\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\n\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\n\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\n\t},\n\tgetCaretPosition: function(tooltipPoint, size, vm) {\n\t\tvar x1, x2, x3, y1, y2, y3;\n\t\tvar caretSize = vm.caretSize;\n\t\tvar cornerRadius = vm.cornerRadius;\n\t\tvar xAlign = vm.xAlign;\n\t\tvar yAlign = vm.yAlign;\n\t\tvar ptX = tooltipPoint.x;\n\t\tvar ptY = tooltipPoint.y;\n\t\tvar width = size.width;\n\t\tvar height = size.height;\n\n\t\tif (yAlign === 'center') {\n\t\t\ty2 = ptY + (height / 2);\n\n\t\t\tif (xAlign === 'left') {\n\t\t\t\tx1 = ptX;\n\t\t\t\tx2 = x1 - caretSize;\n\t\t\t\tx3 = x1;\n\n\t\t\t\ty1 = y2 + caretSize;\n\t\t\t\ty3 = y2 - caretSize;\n\t\t\t} else {\n\t\t\t\tx1 = ptX + width;\n\t\t\t\tx2 = x1 + caretSize;\n\t\t\t\tx3 = x1;\n\n\t\t\t\ty1 = y2 - caretSize;\n\t\t\t\ty3 = y2 + caretSize;\n\t\t\t}\n\t\t} else {\n\t\t\tif (xAlign === 'left') {\n\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\n\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\tx3 = x2 + caretSize;\n\t\t\t} else if (xAlign === 'right') {\n\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\n\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\tx3 = x2 + caretSize;\n\t\t\t} else {\n\t\t\t\tx2 = vm.caretX;\n\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\tx3 = x2 + caretSize;\n\t\t\t}\n\t\t\tif (yAlign === 'top') {\n\t\t\t\ty1 = ptY;\n\t\t\t\ty2 = y1 - caretSize;\n\t\t\t\ty3 = y1;\n\t\t\t} else {\n\t\t\t\ty1 = ptY + height;\n\t\t\t\ty2 = y1 + caretSize;\n\t\t\t\ty3 = y1;\n\t\t\t\t// invert drawing order\n\t\t\t\tvar tmp = x3;\n\t\t\t\tx3 = x1;\n\t\t\t\tx1 = tmp;\n\t\t\t}\n\t\t}\n\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\n\t},\n\n\tdrawTitle: function(pt, vm, ctx, opacity) {\n\t\tvar title = vm.title;\n\n\t\tif (title.length) {\n\t\t\tctx.textAlign = vm._titleAlign;\n\t\t\tctx.textBaseline = 'top';\n\n\t\t\tvar titleFontSize = vm.titleFontSize;\n\t\t\tvar titleSpacing = vm.titleSpacing;\n\n\t\t\tctx.fillStyle = mergeOpacity(vm.titleFontColor, opacity);\n\t\t\tctx.font = helpers.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\n\n\t\t\tvar i, len;\n\t\t\tfor (i = 0, len = title.length; i < len; ++i) {\n\t\t\t\tctx.fillText(title[i], pt.x, pt.y);\n\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\n\n\t\t\t\tif (i + 1 === title.length) {\n\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tdrawBody: function(pt, vm, ctx, opacity) {\n\t\tvar bodyFontSize = vm.bodyFontSize;\n\t\tvar bodySpacing = vm.bodySpacing;\n\t\tvar body = vm.body;\n\n\t\tctx.textAlign = vm._bodyAlign;\n\t\tctx.textBaseline = 'top';\n\t\tctx.font = helpers.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\n\n\t\t// Before Body\n\t\tvar xLinePadding = 0;\n\t\tvar fillLineOfText = function(line) {\n\t\t\tctx.fillText(line, pt.x + xLinePadding, pt.y);\n\t\t\tpt.y += bodyFontSize + bodySpacing;\n\t\t};\n\n\t\t// Before body lines\n\t\tctx.fillStyle = mergeOpacity(vm.bodyFontColor, opacity);\n\t\thelpers.each(vm.beforeBody, fillLineOfText);\n\n\t\tvar drawColorBoxes = vm.displayColors;\n\t\txLinePadding = drawColorBoxes ? (bodyFontSize + 2) : 0;\n\n\t\t// Draw body lines now\n\t\thelpers.each(body, function(bodyItem, i) {\n\t\t\tvar textColor = mergeOpacity(vm.labelTextColors[i], opacity);\n\t\t\tctx.fillStyle = textColor;\n\t\t\thelpers.each(bodyItem.before, fillLineOfText);\n\n\t\t\thelpers.each(bodyItem.lines, function(line) {\n\t\t\t\t// Draw Legend-like boxes if needed\n\t\t\t\tif (drawColorBoxes) {\n\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is < 1\n\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.legendColorBackground, opacity);\n\t\t\t\t\tctx.fillRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\n\n\t\t\t\t\t// Border\n\t\t\t\t\tctx.lineWidth = 1;\n\t\t\t\t\tctx.strokeStyle = mergeOpacity(vm.labelColors[i].borderColor, opacity);\n\t\t\t\t\tctx.strokeRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\n\n\t\t\t\t\t// Inner square\n\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.labelColors[i].backgroundColor, opacity);\n\t\t\t\t\tctx.fillRect(pt.x + 1, pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\n\t\t\t\t\tctx.fillStyle = textColor;\n\t\t\t\t}\n\n\t\t\t\tfillLineOfText(line);\n\t\t\t});\n\n\t\t\thelpers.each(bodyItem.after, fillLineOfText);\n\t\t});\n\n\t\t// Reset back to 0 for after body\n\t\txLinePadding = 0;\n\n\t\t// After body lines\n\t\thelpers.each(vm.afterBody, fillLineOfText);\n\t\tpt.y -= bodySpacing; // Remove last body spacing\n\t},\n\n\tdrawFooter: function(pt, vm, ctx, opacity) {\n\t\tvar footer = vm.footer;\n\n\t\tif (footer.length) {\n\t\t\tpt.y += vm.footerMarginTop;\n\n\t\t\tctx.textAlign = vm._footerAlign;\n\t\t\tctx.textBaseline = 'top';\n\n\t\t\tctx.fillStyle = mergeOpacity(vm.footerFontColor, opacity);\n\t\t\tctx.font = helpers.fontString(vm.footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\n\n\t\t\thelpers.each(footer, function(line) {\n\t\t\t\tctx.fillText(line, pt.x, pt.y);\n\t\t\t\tpt.y += vm.footerFontSize + vm.footerSpacing;\n\t\t\t});\n\t\t}\n\t},\n\n\tdrawBackground: function(pt, vm, ctx, tooltipSize, opacity) {\n\t\tctx.fillStyle = mergeOpacity(vm.backgroundColor, opacity);\n\t\tctx.strokeStyle = mergeOpacity(vm.borderColor, opacity);\n\t\tctx.lineWidth = vm.borderWidth;\n\t\tvar xAlign = vm.xAlign;\n\t\tvar yAlign = vm.yAlign;\n\t\tvar x = pt.x;\n\t\tvar y = pt.y;\n\t\tvar width = tooltipSize.width;\n\t\tvar height = tooltipSize.height;\n\t\tvar radius = vm.cornerRadius;\n\n\t\tctx.beginPath();\n\t\tctx.moveTo(x + radius, y);\n\t\tif (yAlign === 'top') {\n\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t}\n\t\tctx.lineTo(x + width - radius, y);\n\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n\t\tif (yAlign === 'center' && xAlign === 'right') {\n\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t}\n\t\tctx.lineTo(x + width, y + height - radius);\n\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n\t\tif (yAlign === 'bottom') {\n\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t}\n\t\tctx.lineTo(x + radius, y + height);\n\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n\t\tif (yAlign === 'center' && xAlign === 'left') {\n\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t}\n\t\tctx.lineTo(x, y + radius);\n\t\tctx.quadraticCurveTo(x, y, x + radius, y);\n\t\tctx.closePath();\n\n\t\tctx.fill();\n\n\t\tif (vm.borderWidth > 0) {\n\t\t\tctx.stroke();\n\t\t}\n\t},\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\n\t\tif (vm.opacity === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar tooltipSize = {\n\t\t\twidth: vm.width,\n\t\t\theight: vm.height\n\t\t};\n\t\tvar pt = {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\n\t\t// IE11/Edge does not like very small opacities, so snap to 0\n\t\tvar opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;\n\n\t\t// Truthy/falsey value for empty tooltip\n\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\n\n\t\tif (this._options.enabled && hasTooltipContent) {\n\t\t\t// Draw Background\n\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize, opacity);\n\n\t\t\t// Draw Title, Body, and Footer\n\t\t\tpt.x += vm.xPadding;\n\t\t\tpt.y += vm.yPadding;\n\n\t\t\t// Titles\n\t\t\tthis.drawTitle(pt, vm, ctx, opacity);\n\n\t\t\t// Body\n\t\t\tthis.drawBody(pt, vm, ctx, opacity);\n\n\t\t\t// Footer\n\t\t\tthis.drawFooter(pt, vm, ctx, opacity);\n\t\t}\n\t},\n\n\t/**\n\t * Handle an event\n\t * @private\n\t * @param {IEvent} event - The event to handle\n\t * @returns {Boolean} true if the tooltip changed\n\t */\n\thandleEvent: function(e) {\n\t\tvar me = this;\n\t\tvar options = me._options;\n\t\tvar changed = false;\n\n\t\tme._lastActive = me._lastActive || [];\n\n\t\t// Find Active Elements for tooltips\n\t\tif (e.type === 'mouseout') {\n\t\t\tme._active = [];\n\t\t} else {\n\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\n\t\t}\n\n\t\t// Remember Last Actives\n\t\tchanged = !helpers.arrayEquals(me._active, me._lastActive);\n\n\t\t// Only handle target event on tooltip change\n\t\tif (changed) {\n\t\t\tme._lastActive = me._active;\n\n\t\t\tif (options.enabled || options.custom) {\n\t\t\t\tme._eventPosition = {\n\t\t\t\t\tx: e.x,\n\t\t\t\t\ty: e.y\n\t\t\t\t};\n\n\t\t\t\tme.update(true);\n\t\t\t\tme.pivot();\n\t\t\t}\n\t\t}\n\n\t\treturn changed;\n\t}\n});\n\n/**\n * @namespace Chart.Tooltip.positioners\n */\nexports.positioners = positioners;\n\n","/**\n * @module ol/layer/Image\n */\nimport LayerType from '../LayerType.js';\nimport Layer from './Layer.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {import(\"../PluggableMap.js\").default} [map] Sets the layer as overlay on a map. The map will not manage\n * this layer in its layers collection, and the layer will be rendered on top. This is useful for\n * temporary layers. The standard way to add a layer to a map and have it managed by the map is to\n * use {@link module:ol/Map#addLayer}.\n * @property {import(\"../source/Image.js\").default} [source] Source for this layer.\n */\n\n\n/**\n * @classdesc\n * Server-rendered images that are available for arbitrary extents and\n * resolutions.\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @fires import(\"../render/Event.js\").RenderEvent\n * @api\n */\nvar ImageLayer = /*@__PURE__*/(function (Layer) {\n function ImageLayer(opt_options) {\n var options = opt_options ? opt_options : {};\n Layer.call(this, options);\n\n /**\n * The layer type.\n * @protected\n * @type {import(\"../LayerType.js\").default}\n */\n this.type = LayerType.IMAGE;\n\n }\n\n if ( Layer ) ImageLayer.__proto__ = Layer;\n ImageLayer.prototype = Object.create( Layer && Layer.prototype );\n ImageLayer.prototype.constructor = ImageLayer;\n\n return ImageLayer;\n}(Layer));\n\n\n/**\n * Return the associated {@link module:ol/source/Image source} of the image layer.\n * @function\n * @return {import(\"../source/Image.js\").default} Source.\n * @api\n */\nImageLayer.prototype.getSource;\nexport default ImageLayer;\n\n//# sourceMappingURL=Image.js.map","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTable.vue?vue&type=style&index=0&id=2728a880&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTable.vue?vue&type=style&index=0&id=2728a880&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoMetaData.vue?vue&type=style&index=0&lang=scss&module=true&\"","'use strict';\n\nvar defaults = require('./core.defaults');\n\ndefaults._set('global', {\n\tresponsive: true,\n\tresponsiveAnimationDuration: 0,\n\tmaintainAspectRatio: true,\n\tevents: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],\n\thover: {\n\t\tonHover: null,\n\t\tmode: 'nearest',\n\t\tintersect: true,\n\t\tanimationDuration: 400\n\t},\n\tonClick: null,\n\tdefaultColor: 'rgba(0,0,0,0.1)',\n\tdefaultFontColor: '#666',\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\tdefaultFontSize: 12,\n\tdefaultFontStyle: 'normal',\n\tshowLines: true,\n\n\t// Element defaults defined in element extensions\n\telements: {},\n\n\t// Layout options such as padding\n\tlayout: {\n\t\tpadding: {\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0\n\t\t}\n\t}\n});\n\nmodule.exports = function() {\n\n\t// Occupy the global variable of Chart, and create a simple base class\n\tvar Chart = function(item, config) {\n\t\tthis.construct(item, config);\n\t\treturn this;\n\t};\n\n\tChart.Chart = Chart;\n\n\treturn Chart;\n};\n","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('@turf/helpers'),\n lineString = _require.lineString,\n _require2 = require('./util'),\n orientationIndex = _require2.orientationIndex;\n\n/** This class is inspired by GEOS's geos::operation::polygonize::PolygonizeDirectedEdge\n */\n\n\nvar Edge = function () {\n _createClass(Edge, [{\n key: 'getSymetric',\n\n /** Creates or get the symetric Edge.\n *\n * @returns {Edge} - Symetric Edge.\n */\n value: function getSymetric() {\n if (!this.symetric) {\n this.symetric = new Edge(this.to, this.from);\n this.symetric.symetric = this;\n }\n\n return this.symetric;\n }\n\n /**\n * @param {Node} from - start node of the Edge\n * @param {Node} to - end node of the edge\n */\n\n }]);\n\n function Edge(from, to) {\n _classCallCheck(this, Edge);\n\n this.from = from; //< start\n this.to = to; //< End\n\n this.next = undefined; //< The edge to be computed after\n this.label = undefined; //< Used in order to detect Cut Edges (Bridges)\n this.symetric = undefined; //< The symetric edge of this\n this.ring = undefined; //< EdgeRing in which the Edge is\n\n this.from.addOuterEdge(this);\n this.to.addInnerEdge(this);\n }\n\n /** Removes edge from from and to nodes.\n */\n\n\n _createClass(Edge, [{\n key: 'deleteEdge',\n value: function deleteEdge() {\n this.from.removeOuterEdge(this);\n this.to.removeInnerEdge(this);\n }\n\n /** Compares Edge equallity.\n * An edge is equal to another, if the from and to nodes are the same.\n *\n * @param {Edge} edge - Another Edge\n * @returns {Boolean} - True if Edges are equal, False otherwise\n */\n\n }, {\n key: 'isEqual',\n value: function isEqual(edge) {\n return this.from.id === edge.from.id && this.to.id === edge.to.id;\n }\n }, {\n key: 'toString',\n value: function toString() {\n return 'Edge { ' + this.from.id + ' -> ' + this.to.id + ' }';\n }\n\n /** Returns a LineString representation of the Edge\n *\n * @returns {Feature} - LineString representation of the Edge\n */\n\n }, {\n key: 'toLineString',\n value: function toLineString() {\n return lineString([this.from.coordinates, this.to.coordinates]);\n }\n\n /** Comparator of two edges.\n * Implementation of geos::planargraph::DirectedEdge::compareTo.\n *\n * @param {Edge} edge - Another edge to compare with this one\n * @returns {Number} -1 if this Edge has a greater angle with the positive x-axis than b,\n * 0 if the Edges are colinear,\n * 1 otherwise\n */\n\n }, {\n key: 'compareTo',\n value: function compareTo(edge) {\n return orientationIndex(edge.from.coordinates, edge.to.coordinates, this.to.coordinates);\n }\n }]);\n\n return Edge;\n}();\n\nmodule.exports = Edge;","var bbox = require('@turf/bbox');\nvar area = require('@turf/area');\nvar inside = require('@turf/inside');\nvar helpers = require('@turf/helpers');\nvar explode = require('@turf/explode');\nvar invariant = require('@turf/invariant');\nvar gridToMatrix = require('grid-to-matrix');\nvar marchingsquares = require('marchingsquares');\nvar polygon = helpers.polygon;\nvar multiPolygon = helpers.multiPolygon;\nvar collectionOf = invariant.collectionOf;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Takes a grid {@link FeatureCollection} of {@link Point} features with z-values and an array of\n * value breaks and generates filled contour isobands.\n *\n * @name isobands\n * @param {FeatureCollection} pointGrid input points\n * @param {Array} breaks where to draw contours\n * @param {string} [zProperty='elevation'] the property name in `points` from which z-values will be pulled\n * @param {Object} [options={}] options on output\n * @param {Array} [options.isobandProperties=[]] GeoJSON properties passed, in order, to the correspondent isoband (order defined by breaks)\n * @param {Object} [options.commonProperties={}] GeoJSON properties passed to ALL isobands\n * @returns {FeatureCollection} a FeatureCollection of {@link MultiPolygon} features representing isobands\n * @example\n * // create a grid of points with random z-values in their properties\n * var extent = [-70.823364, -33.553984, -69.823364, -32.553984];\n * var cellWidth = 5;\n * var units = 'miles';\n * var pointGrid = turf.pointGrid(extent, cellWidth, units);\n * for (var i = 0; i < pointGrid.features.length; i++) {\n * pointGrid.features[i].properties.elevation = Math.random() * 10;\n * }\n * var breaks = [0, 5, 8.5];\n *\n * var isobands = turf.isobands(pointGrid, breaks);\n *\n * //addToMap\n * var addToMap = [isobands];\n */\nmodule.exports = function (pointGrid, breaks, zProperty, options) {\n // Input validation\n var isObject = function (input) {\n return (!!input) && (input.constructor === Object);\n };\n collectionOf(pointGrid, 'Point', 'Input must contain Points');\n if (!breaks || !Array.isArray(breaks)) throw new Error('breaks is required');\n options = options || {};\n if (options.commonProperties && !isObject(options.commonProperties)) {\n throw new Error('commonProperties is not an Object');\n }\n if (options.isobandProperties && !Array.isArray(options.isobandProperties)) {\n throw new Error('isobandProperties is not an Array');\n }\n if (zProperty && typeof zProperty !== 'string') { throw new Error('zProperty is not a string'); }\n\n zProperty = zProperty || 'elevation';\n var commonProperties = options.commonProperties || {};\n var isobandProperties = options.isobandProperties || [];\n\n // Isoband methods\n var matrix = gridToMatrix(pointGrid, zProperty, true);\n var contours = createContourLines(matrix, breaks, zProperty);\n contours = rescaleContours(contours, matrix, pointGrid);\n\n var multipolygons = contours.map(function (contour, index) {\n if (isobandProperties[index] && !isObject(isobandProperties[index])) {\n throw new Error('Each mappedProperty is required to be an Object');\n }\n // collect all properties\n var contourProperties = Object.assign(\n {},\n commonProperties,\n isobandProperties[index]\n );\n contourProperties[zProperty] = contour[zProperty];\n var multiP = multiPolygon(contour.groupedRings, contourProperties);\n return multiP;\n });\n\n return featureCollection(multipolygons);\n};\n\n/**\n * Creates the contours lines (featuresCollection of polygon features) from the 2D data grid\n *\n * Marchingsquares process the grid data as a 3D representation of a function on a 2D plane, therefore it\n * assumes the points (x-y coordinates) are one 'unit' distance. The result of the IsoBands function needs to be\n * rescaled, with turfjs, to the original area and proportions on the map\n *\n * @private\n * @param {Array>} matrix Grid Data\n * @param {Array} breaks Breaks\n * @param {string} [property='elevation'] Property\n * @returns {Array} contours\n */\nfunction createContourLines(matrix, breaks, property) {\n\n var contours = [];\n for (var i = 1; i < breaks.length; i++) {\n var lowerBand = +breaks[i - 1]; // make sure the breaks value is a number\n var upperBand = +breaks[i];\n\n var isobandsCoords = marchingsquares.isoBands(matrix, lowerBand, upperBand - lowerBand);\n // as per GeoJson rules for creating a Polygon, make sure the first element\n // in the array of LinearRings represents the exterior ring (i.e. biggest area),\n // and any subsequent elements represent interior rings (i.e. smaller area);\n // this avoids rendering issues of the MultiPolygons on the map\n var nestedRings = orderByArea(isobandsCoords);\n var groupedRings = groupNestedRings(nestedRings);\n var obj = {};\n obj['groupedRings'] = groupedRings;\n obj[property] = lowerBand + '-' + upperBand;\n contours.push(obj);\n }\n return contours;\n}\n\n/**\n * Transform isobands of 2D grid to polygons for the map\n *\n * @private\n * @param {Array} contours Contours\n * @param {Array>} matrix Grid Data\n * @param {Object} points Points by Latitude\n * @returns {Array} contours\n */\nfunction rescaleContours(contours, matrix, points) {\n\n // get dimensions (on the map) of the original grid\n var gridBbox = bbox(points); // [ minX, minY, maxX, maxY ]\n var originalWidth = gridBbox[2] - gridBbox[0];\n var originalHeigth = gridBbox[3] - gridBbox[1];\n\n // get origin, which is the first point of the last row on the rectangular data on the map\n var x0 = gridBbox[0];\n var y0 = gridBbox[1];\n // get number of cells per side\n var matrixWidth = matrix[0].length - 1;\n var matrixHeight = matrix.length - 1;\n // calculate the scaling factor between matrix and rectangular grid on the map\n var scaleX = originalWidth / matrixWidth;\n var scaleY = originalHeigth / matrixHeight;\n\n var resize = function (point) {\n point[0] = point[0] * scaleX + x0;\n point[1] = point[1] * scaleY + y0;\n };\n\n // resize and shift each point/line of the isobands\n contours.forEach(function (contour) {\n contour.groupedRings.forEach(function (lineRingSet) {\n lineRingSet.forEach(function (lineRing) {\n lineRing.forEach(resize);\n });\n });\n });\n return contours;\n}\n\n\n/* utility functions */\n\n\n/**\n * Returns an array of coordinates (of LinearRings) in descending order by area\n *\n * @private\n * @param {Array} ringsCoords array of closed LineString\n * @returns {Array} array of the input LineString ordered by area\n */\nfunction orderByArea(ringsCoords) {\n var ringsWithArea = [];\n var areas = [];\n ringsCoords.forEach(function (coords) {\n // var poly = polygon([points]);\n var ringArea = area(polygon([coords]));\n // create an array of areas value\n areas.push(ringArea);\n // associate each lineRing with its area\n ringsWithArea.push({ring: coords, area: ringArea});\n });\n areas.sort(function (a, b) { // bigger --> smaller\n return b - a;\n });\n // create a new array of linearRings coordinates ordered by their area\n var orderedByArea = [];\n areas.forEach(function (area) {\n for (var lr = 0; lr < ringsWithArea.length; lr++) {\n if (ringsWithArea[lr].area === area) {\n orderedByArea.push(ringsWithArea[lr].ring);\n ringsWithArea.splice(lr, 1);\n break;\n }\n }\n });\n return orderedByArea;\n}\n\n/**\n * Returns an array of arrays of coordinates, each representing\n * a set of (coordinates of) nested LinearRings,\n * i.e. the first ring contains all the others\n *\n * @private\n * @param {Array} orderedLinearRings array of coordinates (of LinearRings) in descending order by area\n * @returns {Array} Array of coordinates of nested LinearRings\n */\nfunction groupNestedRings(orderedLinearRings) {\n // create a list of the (coordinates of) LinearRings\n var lrList = orderedLinearRings.map(function (lr) {\n return {lrCoordinates: lr, grouped: false};\n });\n var groupedLinearRingsCoords = [];\n while (!allGrouped(lrList)) {\n for (var i = 0; i < lrList.length; i++) {\n if (!lrList[i].grouped) {\n // create new group starting with the larger not already grouped ring\n var group = [];\n group.push(lrList[i].lrCoordinates);\n lrList[i].grouped = true;\n var outerMostPoly = polygon([lrList[i].lrCoordinates]);\n // group all the rings contained by the outermost ring\n for (var j = i + 1; j < lrList.length; j++) {\n if (!lrList[j].grouped) {\n var lrPoly = polygon([lrList[j].lrCoordinates]);\n if (isInside(lrPoly, outerMostPoly)) {\n group.push(lrList[j].lrCoordinates);\n lrList[j].grouped = true;\n }\n }\n }\n // insert the new group\n groupedLinearRingsCoords.push(group);\n }\n }\n }\n return groupedLinearRingsCoords;\n}\n\n/**\n * @private\n * @param {Polygon} testPolygon polygon of interest\n * @param {Polygon} targetPolygon polygon you want to compare with\n * @returns {boolean} true if test-Polygon is inside target-Polygon\n */\nfunction isInside(testPolygon, targetPolygon) {\n var points = explode(testPolygon);\n for (var i = 0; i < points.features.length; i++) {\n if (!inside(points.features[i], targetPolygon)) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * @private\n * @param {Array} list list of objects which might contain the 'group' attribute\n * @returns {boolean} true if all the objects in the list are marked as grouped\n */\nfunction allGrouped(list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].grouped === false) {\n return false;\n }\n }\n return true;\n}\n","'use strict'\n\nmodule.exports = monotoneConvexHull2D\n\nvar orient = require('robust-orientation')[3]\n\nfunction monotoneConvexHull2D(points) {\n var n = points.length\n\n if(n < 3) {\n var result = new Array(n)\n for(var i=0; i 1 && orient(\n points[lower[m-2]], \n points[lower[m-1]], \n p) <= 0) {\n m -= 1\n lower.pop()\n }\n lower.push(idx)\n\n //Insert into upper list\n m = upper.length\n while(m > 1 && orient(\n points[upper[m-2]], \n points[upper[m-1]], \n p) >= 0) {\n m -= 1\n upper.pop()\n }\n upper.push(idx)\n }\n\n //Merge lists together\n var result = new Array(upper.length + lower.length - 2)\n var ptr = 0\n for(var i=0, nl=lower.length; i0; --j) {\n result[ptr++] = upper[j]\n }\n\n //Return result\n return result\n}","'use strict'\n\nmodule.exports = convexHullnD\n\nvar ich = require('incremental-convex-hull')\nvar aff = require('affine-hull')\n\nfunction permute(points, front) {\n var n = points.length\n var npoints = new Array(n)\n for(var i=0; i= front[k]) {\n x += 1\n }\n }\n c[j] = x\n }\n }\n }\n return cells\n}\n\nfunction convexHullnD(points, d) {\n try {\n return ich(points, true)\n } catch(e) {\n //If point set is degenerate, try to find a basis and rerun it\n var ah = aff(points)\n if(ah.length <= d) {\n //No basis, no try\n return []\n }\n var npoints = permute(points, ah)\n var nhull = ich(npoints, true)\n return invPermute(nhull, ah)\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LabelAndMessage',{attrs:{\"id\":_vm.id,\"label\":_vm.label,\"required\":_vm.required,\"feedback-classes\":_vm.feedbackClasses,\"description\":_vm.combinedDescription,\"message\":_vm.message},scopedSlots:_vm._u([(_vm.$slots.label)?{key:\"label\",fn:function(){return [_vm._t(\"label\")]},proxy:true}:null,(_vm.$slots.description)?{key:\"description\",fn:function(){return [_vm._t(\"description\")]},proxy:true}:null],null,true)},[_c('div',{ref:\"picker\",staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":_vm.name,\"placeholder\":_vm.placeholder,\"readonly\":_vm.readonly,\"tabindex\":_vm.tabindex}}),_c('span',{staticClass:\"input-group-addon\"},[_c('span',{staticClass:\"glyphicon glyphicon-calendar\"})]),_c('InputClearButton',{attrs:{\"show\":_vm.value && !_vm.readonly,\"right\":\"46px\"},on:{\"click\":_vm.clear}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueDateTimePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueDateTimePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VueDateTimePicker.vue?vue&type=template&id=2ad88520&scoped=true&lang=html&\"\nimport script from \"./VueDateTimePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./VueDateTimePicker.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ad88520\",\n null\n \n)\n\nexport default component.exports","var meta = require('@turf/meta');\nvar equal = require('deep-equal');\nvar rbush = require('geojson-rbush');\nvar invariant = require('@turf/invariant');\nvar lineSegment = require('@turf/line-segment');\nvar pointOnLine = require('@turf/point-on-line');\nvar booleanPointOnLine = require('@turf/boolean-point-on-line');\nvar featureCollection = require('@turf/helpers').featureCollection;\nvar getCoords = invariant.getCoords;\nvar featureEach = meta.featureEach;\nvar segmentEach = meta.segmentEach;\n\n/**\n * Takes any LineString or Polygon and returns the overlapping lines between both features.\n *\n * @name lineOverlap\n * @param {Geometry|Feature} line1 any LineString or Polygon\n * @param {Geometry|Feature} line2 any LineString or Polygon\n * @param {number} [tolerance=0] Tolerance distance to match overlapping line segments (in kilometers)\n * @returns {FeatureCollection} lines(s) that are overlapping between both features\n * @example\n * var line1 = turf.lineString([[115, -35], [125, -30], [135, -30], [145, -35]]);\n * var line2 = turf.lineString([[115, -25], [125, -30], [135, -30], [145, -25]]);\n *\n * var overlapping = turf.lineOverlap(line1, line2);\n *\n * //addToMap\n * var addToMap = [line1, line2, overlapping]\n */\nmodule.exports = function (line1, line2, tolerance) {\n var features = [];\n tolerance = tolerance || 0;\n\n // Create Spatial Index\n var tree = rbush();\n tree.load(lineSegment(line1));\n var overlapSegment;\n\n // Line Intersection\n\n // Iterate over line segments\n segmentEach(line2, function (segment) {\n var doesOverlaps = false;\n\n // Iterate over each segments which falls within the same bounds\n featureEach(tree.search(segment), function (match) {\n if (doesOverlaps === false) {\n var coordsSegment = getCoords(segment).sort();\n var coordsMatch = getCoords(match).sort();\n\n // Segment overlaps feature\n if (equal(coordsSegment, coordsMatch)) {\n doesOverlaps = true;\n // Overlaps already exists - only append last coordinate of segment\n if (overlapSegment) overlapSegment = concatSegment(overlapSegment, segment);\n else overlapSegment = segment;\n // Match segments which don't share nodes (Issue #901)\n } else if (\n (tolerance === 0) ?\n booleanPointOnLine(coordsSegment[0], match) && booleanPointOnLine(coordsSegment[1], match) :\n pointOnLine(match, coordsSegment[0]).properties.dist <= tolerance &&\n pointOnLine(match, coordsSegment[1]).properties.dist <= tolerance) {\n doesOverlaps = true;\n if (overlapSegment) overlapSegment = concatSegment(overlapSegment, segment);\n else overlapSegment = segment;\n } else if (\n (tolerance === 0) ?\n booleanPointOnLine(coordsMatch[0], segment) && booleanPointOnLine(coordsMatch[1], segment) :\n pointOnLine(segment, coordsMatch[0]).properties.dist <= tolerance &&\n pointOnLine(segment, coordsMatch[1]).properties.dist <= tolerance) {\n // Do not define (doesOverlap = true) since more matches can occur within the same segment\n // doesOverlaps = true;\n if (overlapSegment) overlapSegment = concatSegment(overlapSegment, match);\n else overlapSegment = match;\n }\n }\n });\n\n // Segment doesn't overlap - add overlaps to results & reset\n if (doesOverlaps === false && overlapSegment) {\n features.push(overlapSegment);\n overlapSegment = undefined;\n }\n });\n // Add last segment if exists\n if (overlapSegment) features.push(overlapSegment);\n\n return featureCollection(features);\n};\n\n\n/**\n * Concat Segment\n *\n * @private\n * @param {Feature} line LineString\n * @param {Feature} segment 2-vertex LineString\n * @returns {Feature} concat linestring\n */\nfunction concatSegment(line, segment) {\n var coords = getCoords(segment);\n var lineCoords = getCoords(line);\n var start = lineCoords[0];\n var end = lineCoords[lineCoords.length - 1];\n var geom = line.geometry.coordinates;\n\n if (equal(coords[0], start)) geom.unshift(coords[1]);\n else if (equal(coords[0], end)) geom.push(coords[1]);\n else if (equal(coords[1], start)) geom.unshift(coords[0]);\n else if (equal(coords[1], end)) geom.push(coords[0]);\n return line;\n}\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsPanel.vue?vue&type=style&index=0&id=5f5fb1b3&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapDetailsPanel.vue?vue&type=style&index=0&id=5f5fb1b3&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LabelAndMessage',{attrs:{\"required\":_vm.required,\"label\":_vm.label,\"feedback-classes\":_vm.feedbackClasses,\"description\":_vm.combinedDescription,\"message\":_vm.message}},[_c('div',{staticClass:\"vue-selectize\"},[_c('select',{ref:\"select\",attrs:{\"name\":_vm.name}})]),_vm._t(\"label\",null,{\"slot\":\"label\"}),_vm._t(\"description\",null,{\"slot\":\"description\"})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueSelectize.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueSelectize.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VueSelectize.vue?vue&type=template&id=10288aca&scoped=true&lang=html&\"\nimport script from \"./VueSelectize.vue?vue&type=script&lang=js&\"\nexport * from \"./VueSelectize.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10288aca\",\n null\n \n)\n\nexport default component.exports","\"use strict\"\n\nmodule.exports = fastTwoSum\n\nfunction fastTwoSum(a, b, result) {\n\tvar x = a + b\n\tvar bv = x - a\n\tvar av = x - bv\n\tvar br = b - bv\n\tvar ar = a - av\n\tif(result) {\n\t\tresult[0] = ar + br\n\t\tresult[1] = x\n\t\treturn result\n\t}\n\treturn [ar+br, x]\n}","import Overlay from 'ol/Overlay'\r\nimport {transform} from 'ol/proj'\r\n\r\nexport default {\r\n inject: [\r\n 'getMap'\r\n ],\r\n props: {\r\n position: {},\r\n centered: Boolean\r\n },\r\n computed: {\r\n olPosition () {\r\n return this.position\r\n ? transform(this.position, 'EPSG:4326', 'EPSG:3857')\r\n : null\r\n }\r\n },\r\n created () {\r\n this.getMap().then(map => {\r\n this.map = map\r\n\r\n this.overlay = new Overlay({\r\n position: this.olPosition,\r\n positioning: this.centered ? 'center-center' : 'bottom-left',\r\n stopEvent: this.stopEvent === undefined ? true : this.stopEvent\r\n })\r\n\r\n if (this.$el) {\r\n this.$el.remove()\r\n this.overlay.setElement(this.$el)\r\n }\r\n\r\n this.map.addOverlay(this.overlay)\r\n })\r\n },\r\n mounted () {\r\n this.$el.style.whiteSpace = 'nowrap'\r\n\r\n if (!this.overlay) {\r\n this.$el.remove()\r\n } else if (!this.overlay.getElement()) {\r\n this.$el.remove()\r\n this.overlay.setElement(this.$el)\r\n }\r\n },\r\n updated () {\r\n\r\n },\r\n watch: {\r\n olPosition (position) {\r\n if (this.overlay) {\r\n this.overlay.setPosition(position)\r\n }\r\n }\r\n },\r\n beforeDestroy () {\r\n if (this.map) {\r\n this.map.removeOverlay(this.overlay)\r\n }\r\n }\r\n}\r\n","var helpers = require('@turf/helpers');\nvar invariant = require('@turf/invariant');\nvar getCoords = invariant.getCoords;\nvar getGeomType = invariant.getGeomType;\n\n/**\n * Removes redundant coordinates from any GeoJSON Geometry.\n *\n * @name cleanCoords\n * @param {Geometry|Feature} geojson Feature or Geometry\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated\n * @returns {Geometry|Feature} the cleaned input Feature/Geometry\n * @example\n * var line = turf.lineString([[0, 0], [0, 2], [0, 5], [0, 8], [0, 8], [0, 10]]);\n * var multiPoint = turf.multiPoint([[0, 0], [0, 0], [2, 2]]);\n *\n * turf.cleanCoords(line).geometry.coordinates;\n * //= [[0, 0], [0, 10]]\n *\n * turf.cleanCoords(multiPoint).geometry.coordinates;\n * //= [[0, 0], [2, 2]]\n */\nmodule.exports = function (geojson, mutate) {\n if (!geojson) throw new Error('geojson is required');\n var type = getGeomType(geojson);\n\n // Store new \"clean\" points in this Array\n var newCoords = [];\n\n switch (type) {\n case 'LineString':\n newCoords = cleanCoords(geojson);\n break;\n case 'MultiLineString':\n case 'Polygon':\n getCoords(geojson).forEach(function (line) {\n newCoords.push(cleanCoords(line));\n });\n break;\n case 'MultiPolygon':\n getCoords(geojson).forEach(function (polygons) {\n var polyPoints = [];\n polygons.forEach(function (ring) {\n polyPoints.push(cleanCoords(ring));\n });\n newCoords.push(polyPoints);\n });\n break;\n case 'Point':\n return geojson;\n case 'MultiPoint':\n var existing = {};\n getCoords(geojson).forEach(function (coord) {\n var key = coord.join('-');\n if (!existing.hasOwnProperty(key)) {\n newCoords.push(coord);\n existing[key] = true;\n }\n });\n break;\n default:\n throw new Error(type + ' geometry not supported');\n }\n\n // Support input mutation\n if (geojson.coordinates) {\n if (mutate === true) {\n geojson.coordinates = newCoords;\n return geojson;\n }\n return geometry(geojson, type, newCoords);\n } else {\n if (mutate === true) {\n geojson.geometry.coordinates = newCoords;\n return geojson;\n }\n return feature(geojson, type, newCoords);\n }\n};\n\n/**\n * Create Geometry from existing Geometry\n *\n * @private\n * @param {Geometry} geojson Existing Geometry\n * @param {string} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @returns {Geometry} Geometry\n */\nfunction geometry(geojson, type, coordinates) {\n var geom = {\n type: type,\n coordinates: coordinates\n };\n if (geojson.bbox) geom.bbox = geojson.bbox;\n return geom;\n}\n\n/**\n * Create Feature from existing Feature\n *\n * @private\n * @param {Feature} geojson Existing Feature\n * @param {string} type Feature Type\n * @param {Array} coordinates Coordinates\n * @returns {Feature} Feature\n */\nfunction feature(geojson, type, coordinates) {\n var feat = helpers.feature(geometry(geojson.geometry, type, coordinates), geojson.properties);\n if (geojson.id) feat.id = geojson.id;\n if (geojson.bbox) feat.bbox = geojson.bbox;\n return feat;\n}\n\n/**\n * Clean Coords\n *\n * @private\n * @param {Array|LineString} line Line\n * @returns {Array} Cleaned coordinates\n */\nfunction cleanCoords(line) {\n var points = getCoords(line);\n // handle \"clean\" segment\n if (points.length === 2 && !equals(points[0], points[1])) return points;\n\n var prevPoint, point, nextPoint;\n var newPoints = [];\n var secondToLast = points.length - 1;\n\n newPoints.push(points[0]);\n for (var i = 1; i < secondToLast; i++) {\n prevPoint = points[i - 1];\n point = points[i];\n nextPoint = points[i + 1];\n\n if (!isPointOnLineSegment(prevPoint, nextPoint, point)) {\n newPoints.push(point);\n }\n }\n newPoints.push(nextPoint);\n return newPoints;\n}\n\n/**\n * Compares two points and returns if they are equals\n *\n * @private\n * @param {Array} pt1 point\n * @param {Array} pt2 point\n * @returns {boolean} true if they are equals\n */\nfunction equals(pt1, pt2) {\n return pt1[0] === pt2[0] && pt1[1] === pt2[1];\n}\n\n/**\n * Returns if `point` is on the segment between `start` and `end`.\n * Borrowed from `@turf/boolean-point-on-line` to speed up the evaluation (instead of using the module as dependency)\n *\n * @private\n * @param {Array} start coord pair of start of line\n * @param {Array} end coord pair of end of line\n * @param {Array} point coord pair of point to check\n * @returns {boolean} true/false\n */\nfunction isPointOnLineSegment(start, end, point) {\n var x = point[0], y = point[1];\n var startX = start[0], startY = start[1];\n var endX = end[0], endY = end[1];\n\n var dxc = x - startX;\n var dyc = y - startY;\n var dxl = endX - startX;\n var dyl = endY - startY;\n var cross = dxc * dyl - dyc * dxl;\n\n if (cross !== 0) return false;\n else if (Math.abs(dxl) >= Math.abs(dyl)) return dxl > 0 ? startX <= x && x <= endX : endX <= x && x <= startX;\n else return dyl > 0 ? startY <= y && y <= endY : endY <= y && y <= startY;\n}\n","/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Latitude/longitude spherical geodesy tools (c) Chris Veness 2002-2017 */\n/* MIT Licence */\n/* www.movable-type.co.uk/scripts/latlong.html */\n/* www.movable-type.co.uk/scripts/geodesy/docs/module-latlon-spherical.html */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\nif (typeof module!='undefined' && module.exports) var Dms = require('./dms'); // ≡ import Dms from 'dms.js'\n\n\n/**\n * Library of geodesy functions for operations on a spherical earth model.\n *\n * @module latlon-spherical\n * @requires dms\n */\n\n\n/**\n * Creates a LatLon point on the earth's surface at the specified latitude / longitude.\n *\n * @constructor\n * @param {number} lat - Latitude in degrees.\n * @param {number} lon - Longitude in degrees.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n */\nfunction LatLon(lat, lon) {\n // allow instantiation without 'new'\n if (!(this instanceof LatLon)) return new LatLon(lat, lon);\n\n this.lat = Number(lat);\n this.lon = Number(lon);\n}\n\n\n/**\n * Returns the distance from ‘this’ point to destination point (using haversine formula).\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance between this point and destination point, in same units as radius.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var d = p1.distanceTo(p2); // 404.3 km\n */\nLatLon.prototype.distanceTo = function(point, radius) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n radius = (radius === undefined) ? 6371e3 : Number(radius);\n\n // a = sin²(Δφ/2) + cos(φ1)⋅cos(φ2)⋅sin²(Δλ/2)\n // tanδ = √(a) / √(1−a)\n // see mathforum.org/library/drmath/view/51879.html for derivation\n\n var R = radius;\n var φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();\n var φ2 = point.lat.toRadians(), λ2 = point.lon.toRadians();\n var Δφ = φ2 - φ1;\n var Δλ = λ2 - λ1;\n\n var a = Math.sin(Δφ/2) * Math.sin(Δφ/2)\n + Math.cos(φ1) * Math.cos(φ2)\n * Math.sin(Δλ/2) * Math.sin(Δλ/2);\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));\n var d = R * c;\n\n return d;\n};\n\n\n/**\n * Returns the (initial) bearing from ‘this’ point to destination point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {number} Initial bearing in degrees from north.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var b1 = p1.bearingTo(p2); // 156.2°\n */\nLatLon.prototype.bearingTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n // tanθ = sinΔλ⋅cosφ2 / cosφ1⋅sinφ2 − sinφ1⋅cosφ2⋅cosΔλ\n // see mathforum.org/library/drmath/view/55417.html for derivation\n\n var φ1 = this.lat.toRadians(), φ2 = point.lat.toRadians();\n var Δλ = (point.lon-this.lon).toRadians();\n var y = Math.sin(Δλ) * Math.cos(φ2);\n var x = Math.cos(φ1)*Math.sin(φ2) -\n Math.sin(φ1)*Math.cos(φ2)*Math.cos(Δλ);\n var θ = Math.atan2(y, x);\n\n return (θ.toDegrees()+360) % 360;\n};\n\n\n/**\n * Returns final bearing arriving at destination destination point from ‘this’ point; the final bearing\n * will differ from the initial bearing by varying degrees according to distance and latitude.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {number} Final bearing in degrees from north.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var b2 = p1.finalBearingTo(p2); // 157.9°\n */\nLatLon.prototype.finalBearingTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n // get initial bearing from destination point to this point & reverse it by adding 180°\n return ( point.bearingTo(this)+180 ) % 360;\n};\n\n\n/**\n * Returns the midpoint between ‘this’ point and the supplied point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {LatLon} Midpoint between this point and the supplied point.\n *\n * @example\n * var p1 = new LatLon(52.205, 0.119);\n * var p2 = new LatLon(48.857, 2.351);\n * var pMid = p1.midpointTo(p2); // 50.5363°N, 001.2746°E\n */\nLatLon.prototype.midpointTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n // φm = atan2( sinφ1 + sinφ2, √( (cosφ1 + cosφ2⋅cosΔλ) ⋅ (cosφ1 + cosφ2⋅cosΔλ) ) + cos²φ2⋅sin²Δλ )\n // λm = λ1 + atan2(cosφ2⋅sinΔλ, cosφ1 + cosφ2⋅cosΔλ)\n // see mathforum.org/library/drmath/view/51822.html for derivation\n\n var φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();\n var φ2 = point.lat.toRadians();\n var Δλ = (point.lon-this.lon).toRadians();\n\n var Bx = Math.cos(φ2) * Math.cos(Δλ);\n var By = Math.cos(φ2) * Math.sin(Δλ);\n\n var x = Math.sqrt((Math.cos(φ1) + Bx) * (Math.cos(φ1) + Bx) + By * By);\n var y = Math.sin(φ1) + Math.sin(φ2);\n var φ3 = Math.atan2(y, x);\n\n var λ3 = λ1 + Math.atan2(By, Math.cos(φ1) + Bx);\n\n return new LatLon(φ3.toDegrees(), (λ3.toDegrees()+540)%360-180); // normalise to −180..+180°\n};\n\n\n/**\n * Returns the point at given fraction between ‘this’ point and specified point.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @param {number} fraction - Fraction between the two points (0 = this point, 1 = specified point).\n * @returns {LatLon} Intermediate point between this point and destination point.\n *\n * @example\n * let p1 = new LatLon(52.205, 0.119);\n * let p2 = new LatLon(48.857, 2.351);\n * let pMid = p1.intermediatePointTo(p2, 0.25); // 51.3721°N, 000.7073°E\n */\nLatLon.prototype.intermediatePointTo = function(point, fraction) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n var φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();\n var φ2 = point.lat.toRadians(), λ2 = point.lon.toRadians();\n var sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), sinλ1 = Math.sin(λ1), cosλ1 = Math.cos(λ1);\n var sinφ2 = Math.sin(φ2), cosφ2 = Math.cos(φ2), sinλ2 = Math.sin(λ2), cosλ2 = Math.cos(λ2);\n\n // distance between points\n var Δφ = φ2 - φ1;\n var Δλ = λ2 - λ1;\n var a = Math.sin(Δφ/2) * Math.sin(Δφ/2)\n + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ/2) * Math.sin(Δλ/2);\n var δ = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));\n\n var A = Math.sin((1-fraction)*δ) / Math.sin(δ);\n var B = Math.sin(fraction*δ) / Math.sin(δ);\n\n var x = A * cosφ1 * cosλ1 + B * cosφ2 * cosλ2;\n var y = A * cosφ1 * sinλ1 + B * cosφ2 * sinλ2;\n var z = A * sinφ1 + B * sinφ2;\n\n var φ3 = Math.atan2(z, Math.sqrt(x*x + y*y));\n var λ3 = Math.atan2(y, x);\n\n return new LatLon(φ3.toDegrees(), (λ3.toDegrees()+540)%360-180); // normalise lon to −180..+180°\n};\n\n\n/**\n * Returns the destination point from ‘this’ point having travelled the given distance on the\n * given initial bearing (bearing normally varies around path followed).\n *\n * @param {number} distance - Distance travelled, in same units as earth radius (default: metres).\n * @param {number} bearing - Initial bearing in degrees from north.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {LatLon} Destination point.\n *\n * @example\n * var p1 = new LatLon(51.4778, -0.0015);\n * var p2 = p1.destinationPoint(7794, 300.7); // 51.5135°N, 000.0983°W\n */\nLatLon.prototype.destinationPoint = function(distance, bearing, radius) {\n radius = (radius === undefined) ? 6371e3 : Number(radius);\n\n // sinφ2 = sinφ1⋅cosδ + cosφ1⋅sinδ⋅cosθ\n // tanΔλ = sinθ⋅sinδ⋅cosφ1 / cosδ−sinφ1⋅sinφ2\n // see mathforum.org/library/drmath/view/52049.html for derivation\n\n var δ = Number(distance) / radius; // angular distance in radians\n var θ = Number(bearing).toRadians();\n\n var φ1 = this.lat.toRadians();\n var λ1 = this.lon.toRadians();\n\n var sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1);\n var sinδ = Math.sin(δ), cosδ = Math.cos(δ);\n var sinθ = Math.sin(θ), cosθ = Math.cos(θ);\n\n var sinφ2 = sinφ1*cosδ + cosφ1*sinδ*cosθ;\n var φ2 = Math.asin(sinφ2);\n var y = sinθ * sinδ * cosφ1;\n var x = cosδ - sinφ1 * sinφ2;\n var λ2 = λ1 + Math.atan2(y, x);\n\n return new LatLon(φ2.toDegrees(), (λ2.toDegrees()+540)%360-180); // normalise to −180..+180°\n};\n\n\n/**\n * Returns the point of intersection of two paths defined by point and bearing.\n *\n * @param {LatLon} p1 - First point.\n * @param {number} brng1 - Initial bearing from first point.\n * @param {LatLon} p2 - Second point.\n * @param {number} brng2 - Initial bearing from second point.\n * @returns {LatLon|null} Destination point (null if no unique intersection defined).\n *\n * @example\n * var p1 = LatLon(51.8853, 0.2545), brng1 = 108.547;\n * var p2 = LatLon(49.0034, 2.5735), brng2 = 32.435;\n * var pInt = LatLon.intersection(p1, brng1, p2, brng2); // 50.9078°N, 004.5084°E\n */\nLatLon.intersection = function(p1, brng1, p2, brng2) {\n if (!(p1 instanceof LatLon)) throw new TypeError('p1 is not LatLon object');\n if (!(p2 instanceof LatLon)) throw new TypeError('p2 is not LatLon object');\n\n // see www.edwilliams.org/avform.htm#Intersection\n\n var φ1 = p1.lat.toRadians(), λ1 = p1.lon.toRadians();\n var φ2 = p2.lat.toRadians(), λ2 = p2.lon.toRadians();\n var θ13 = Number(brng1).toRadians(), θ23 = Number(brng2).toRadians();\n var Δφ = φ2-φ1, Δλ = λ2-λ1;\n\n // angular distance p1-p2\n var δ12 = 2*Math.asin( Math.sqrt( Math.sin(Δφ/2)*Math.sin(Δφ/2)\n + Math.cos(φ1)*Math.cos(φ2)*Math.sin(Δλ/2)*Math.sin(Δλ/2) ) );\n if (δ12 == 0) return null;\n\n // initial/final bearings between points\n var θa = Math.acos( ( Math.sin(φ2) - Math.sin(φ1)*Math.cos(δ12) ) / ( Math.sin(δ12)*Math.cos(φ1) ) );\n if (isNaN(θa)) θa = 0; // protect against rounding\n var θb = Math.acos( ( Math.sin(φ1) - Math.sin(φ2)*Math.cos(δ12) ) / ( Math.sin(δ12)*Math.cos(φ2) ) );\n\n var θ12 = Math.sin(λ2-λ1)>0 ? θa : 2*Math.PI-θa;\n var θ21 = Math.sin(λ2-λ1)>0 ? 2*Math.PI-θb : θb;\n\n var α1 = θ13 - θ12; // angle 2-1-3\n var α2 = θ21 - θ23; // angle 1-2-3\n\n if (Math.sin(α1)==0 && Math.sin(α2)==0) return null; // infinite intersections\n if (Math.sin(α1)*Math.sin(α2) < 0) return null; // ambiguous intersection\n\n var α3 = Math.acos( -Math.cos(α1)*Math.cos(α2) + Math.sin(α1)*Math.sin(α2)*Math.cos(δ12) );\n var δ13 = Math.atan2( Math.sin(δ12)*Math.sin(α1)*Math.sin(α2), Math.cos(α2)+Math.cos(α1)*Math.cos(α3) );\n var φ3 = Math.asin( Math.sin(φ1)*Math.cos(δ13) + Math.cos(φ1)*Math.sin(δ13)*Math.cos(θ13) );\n var Δλ13 = Math.atan2( Math.sin(θ13)*Math.sin(δ13)*Math.cos(φ1), Math.cos(δ13)-Math.sin(φ1)*Math.sin(φ3) );\n var λ3 = λ1 + Δλ13;\n\n return new LatLon(φ3.toDegrees(), (λ3.toDegrees()+540)%360-180); // normalise to −180..+180°\n};\n\n\n/**\n * Returns (signed) distance from ‘this’ point to great circle defined by start-point and end-point.\n *\n * @param {LatLon} pathStart - Start point of great circle path.\n * @param {LatLon} pathEnd - End point of great circle path.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance to great circle (-ve if to left, +ve if to right of path).\n *\n * @example\n * var pCurrent = new LatLon(53.2611, -0.7972);\n * var p1 = new LatLon(53.3206, -1.7297);\n * var p2 = new LatLon(53.1887, 0.1334);\n * var d = pCurrent.crossTrackDistanceTo(p1, p2); // -307.5 m\n */\nLatLon.prototype.crossTrackDistanceTo = function(pathStart, pathEnd, radius) {\n if (!(pathStart instanceof LatLon)) throw new TypeError('pathStart is not LatLon object');\n if (!(pathEnd instanceof LatLon)) throw new TypeError('pathEnd is not LatLon object');\n var R = (radius === undefined) ? 6371e3 : Number(radius);\n\n var δ13 = pathStart.distanceTo(this, R) / R;\n var θ13 = pathStart.bearingTo(this).toRadians();\n var θ12 = pathStart.bearingTo(pathEnd).toRadians();\n\n var δxt = Math.asin(Math.sin(δ13) * Math.sin(θ13-θ12));\n\n return δxt * R;\n};\n\n\n/**\n * Returns how far ‘this’ point is along a path from from start-point, heading towards end-point.\n * That is, if a perpendicular is drawn from ‘this’ point to the (great circle) path, the along-track\n * distance is the distance from the start point to where the perpendicular crosses the path.\n *\n * @param {LatLon} pathStart - Start point of great circle path.\n * @param {LatLon} pathEnd - End point of great circle path.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance along great circle to point nearest ‘this’ point.\n *\n * @example\n * var pCurrent = new LatLon(53.2611, -0.7972);\n * var p1 = new LatLon(53.3206, -1.7297);\n * var p2 = new LatLon(53.1887, 0.1334);\n * var d = pCurrent.alongTrackDistanceTo(p1, p2); // 62.331 km\n */\nLatLon.prototype.alongTrackDistanceTo = function(pathStart, pathEnd, radius) {\n if (!(pathStart instanceof LatLon)) throw new TypeError('pathStart is not LatLon object');\n if (!(pathEnd instanceof LatLon)) throw new TypeError('pathEnd is not LatLon object');\n var R = (radius === undefined) ? 6371e3 : Number(radius);\n\n var δ13 = pathStart.distanceTo(this, R) / R;\n var θ13 = pathStart.bearingTo(this).toRadians();\n var θ12 = pathStart.bearingTo(pathEnd).toRadians();\n\n var δxt = Math.asin(Math.sin(δ13) * Math.sin(θ13-θ12));\n\n var δat = Math.acos(Math.cos(δ13) / Math.abs(Math.cos(δxt)));\n\n return δat*Math.sign(Math.cos(θ12-θ13)) * R;\n};\n\n\n/**\n * Returns maximum latitude reached when travelling on a great circle on given bearing from this\n * point ('Clairaut's formula'). Negate the result for the minimum latitude (in the Southern\n * hemisphere).\n *\n * The maximum latitude is independent of longitude; it will be the same for all points on a given\n * latitude.\n *\n * @param {number} bearing - Initial bearing.\n * @param {number} latitude - Starting latitude.\n */\nLatLon.prototype.maxLatitude = function(bearing) {\n var θ = Number(bearing).toRadians();\n\n var φ = this.lat.toRadians();\n\n var φMax = Math.acos(Math.abs(Math.sin(θ)*Math.cos(φ)));\n\n return φMax.toDegrees();\n};\n\n\n/**\n * Returns the pair of meridians at which a great circle defined by two points crosses the given\n * latitude. If the great circle doesn't reach the given latitude, null is returned.\n *\n * @param {LatLon} point1 - First point defining great circle.\n * @param {LatLon} point2 - Second point defining great circle.\n * @param {number} latitude - Latitude crossings are to be determined for.\n * @returns {Object|null} Object containing { lon1, lon2 } or null if given latitude not reached.\n */\nLatLon.crossingParallels = function(point1, point2, latitude) {\n var φ = Number(latitude).toRadians();\n\n var φ1 = point1.lat.toRadians();\n var λ1 = point1.lon.toRadians();\n var φ2 = point2.lat.toRadians();\n var λ2 = point2.lon.toRadians();\n\n var Δλ = λ2 - λ1;\n\n var x = Math.sin(φ1) * Math.cos(φ2) * Math.cos(φ) * Math.sin(Δλ);\n var y = Math.sin(φ1) * Math.cos(φ2) * Math.cos(φ) * Math.cos(Δλ) - Math.cos(φ1) * Math.sin(φ2) * Math.cos(φ);\n var z = Math.cos(φ1) * Math.cos(φ2) * Math.sin(φ) * Math.sin(Δλ);\n\n if (z*z > x*x + y*y) return null; // great circle doesn't reach latitude\n\n var λm = Math.atan2(-y, x); // longitude at max latitude\n var Δλi = Math.acos(z / Math.sqrt(x*x+y*y)); // Δλ from λm to intersection points\n\n var λi1 = λ1 + λm - Δλi;\n var λi2 = λ1 + λm + Δλi;\n\n return { lon1: (λi1.toDegrees()+540)%360-180, lon2: (λi2.toDegrees()+540)%360-180 }; // normalise to −180..+180°\n};\n\n\n/* Rhumb - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n/**\n * Returns the distance travelling from ‘this’ point to destination point along a rhumb line.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} Distance in km between this point and destination point (same units as radius).\n *\n * @example\n * var p1 = new LatLon(51.127, 1.338);\n * var p2 = new LatLon(50.964, 1.853);\n * var d = p1.distanceTo(p2); // 40.31 km\n */\nLatLon.prototype.rhumbDistanceTo = function(point, radius) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n radius = (radius === undefined) ? 6371e3 : Number(radius);\n\n // see www.edwilliams.org/avform.htm#Rhumb\n\n var R = radius;\n var φ1 = this.lat.toRadians(), φ2 = point.lat.toRadians();\n var Δφ = φ2 - φ1;\n var Δλ = Math.abs(point.lon-this.lon).toRadians();\n // if dLon over 180° take shorter rhumb line across the anti-meridian:\n if (Δλ > Math.PI) Δλ -= 2*Math.PI;\n\n // on Mercator projection, longitude distances shrink by latitude; q is the 'stretch factor'\n // q becomes ill-conditioned along E-W line (0/0); use empirical tolerance to avoid it\n var Δψ = Math.log(Math.tan(φ2/2+Math.PI/4)/Math.tan(φ1/2+Math.PI/4));\n var q = Math.abs(Δψ) > 10e-12 ? Δφ/Δψ : Math.cos(φ1);\n\n // distance is pythagoras on 'stretched' Mercator projection\n var δ = Math.sqrt(Δφ*Δφ + q*q*Δλ*Δλ); // angular distance in radians\n var dist = δ * R;\n\n return dist;\n};\n\n\n/**\n * Returns the bearing from ‘this’ point to destination point along a rhumb line.\n *\n * @param {LatLon} point - Latitude/longitude of destination point.\n * @returns {number} Bearing in degrees from north.\n *\n * @example\n * var p1 = new LatLon(51.127, 1.338);\n * var p2 = new LatLon(50.964, 1.853);\n * var d = p1.rhumbBearingTo(p2); // 116.7 m\n */\nLatLon.prototype.rhumbBearingTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n var φ1 = this.lat.toRadians(), φ2 = point.lat.toRadians();\n var Δλ = (point.lon-this.lon).toRadians();\n // if dLon over 180° take shorter rhumb line across the anti-meridian:\n if (Δλ > Math.PI) Δλ -= 2*Math.PI;\n if (Δλ < -Math.PI) Δλ += 2*Math.PI;\n\n var Δψ = Math.log(Math.tan(φ2/2+Math.PI/4)/Math.tan(φ1/2+Math.PI/4));\n\n var θ = Math.atan2(Δλ, Δψ);\n\n return (θ.toDegrees()+360) % 360;\n};\n\n\n/**\n * Returns the destination point having travelled along a rhumb line from ‘this’ point the given\n * distance on the given bearing.\n *\n * @param {number} distance - Distance travelled, in same units as earth radius (default: metres).\n * @param {number} bearing - Bearing in degrees from north.\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {LatLon} Destination point.\n *\n * @example\n * var p1 = new LatLon(51.127, 1.338);\n * var p2 = p1.rhumbDestinationPoint(40300, 116.7); // 50.9642°N, 001.8530°E\n */\nLatLon.prototype.rhumbDestinationPoint = function(distance, bearing, radius) {\n radius = (radius === undefined) ? 6371e3 : Number(radius);\n\n var δ = Number(distance) / radius; // angular distance in radians\n var φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();\n var θ = Number(bearing).toRadians();\n\n var Δφ = δ * Math.cos(θ);\n var φ2 = φ1 + Δφ;\n\n // check for some daft bugger going past the pole, normalise latitude if so\n if (Math.abs(φ2) > Math.PI/2) φ2 = φ2>0 ? Math.PI-φ2 : -Math.PI-φ2;\n\n var Δψ = Math.log(Math.tan(φ2/2+Math.PI/4)/Math.tan(φ1/2+Math.PI/4));\n var q = Math.abs(Δψ) > 10e-12 ? Δφ / Δψ : Math.cos(φ1); // E-W course becomes ill-conditioned with 0/0\n\n var Δλ = δ*Math.sin(θ)/q;\n var λ2 = λ1 + Δλ;\n\n return new LatLon(φ2.toDegrees(), (λ2.toDegrees()+540) % 360 - 180); // normalise to −180..+180°\n};\n\n\n/**\n * Returns the loxodromic midpoint (along a rhumb line) between ‘this’ point and second point.\n *\n * @param {LatLon} point - Latitude/longitude of second point.\n * @returns {LatLon} Midpoint between this point and second point.\n *\n * @example\n * var p1 = new LatLon(51.127, 1.338);\n * var p2 = new LatLon(50.964, 1.853);\n * var pMid = p1.rhumbMidpointTo(p2); // 51.0455°N, 001.5957°E\n */\nLatLon.prototype.rhumbMidpointTo = function(point) {\n if (!(point instanceof LatLon)) throw new TypeError('point is not LatLon object');\n\n // see mathforum.org/kb/message.jspa?messageID=148837\n\n var φ1 = this.lat.toRadians(), λ1 = this.lon.toRadians();\n var φ2 = point.lat.toRadians(), λ2 = point.lon.toRadians();\n\n if (Math.abs(λ2-λ1) > Math.PI) λ1 += 2*Math.PI; // crossing anti-meridian\n\n var φ3 = (φ1+φ2)/2;\n var f1 = Math.tan(Math.PI/4 + φ1/2);\n var f2 = Math.tan(Math.PI/4 + φ2/2);\n var f3 = Math.tan(Math.PI/4 + φ3/2);\n var λ3 = ( (λ2-λ1)*Math.log(f3) + λ1*Math.log(f2) - λ2*Math.log(f1) ) / Math.log(f2/f1);\n\n if (!isFinite(λ3)) λ3 = (λ1+λ2)/2; // parallel of latitude\n\n var p = LatLon(φ3.toDegrees(), (λ3.toDegrees()+540)%360-180); // normalise to −180..+180°\n\n return p;\n};\n\n\n/* Area - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n\n/**\n * Calculates the area of a spherical polygon where the sides of the polygon are great circle\n * arcs joining the vertices.\n *\n * @param {LatLon[]} polygon - Array of points defining vertices of the polygon\n * @param {number} [radius=6371e3] - (Mean) radius of earth (defaults to radius in metres).\n * @returns {number} The area of the polygon, in the same units as radius.\n *\n * @example\n * var polygon = [new LatLon(0,0), new LatLon(1,0), new LatLon(0,1)];\n * var area = LatLon.areaOf(polygon); // 6.18e9 m²\n */\nLatLon.areaOf = function(polygon, radius) {\n // uses method due to Karney: osgeo-org.1560.x6.nabble.com/Area-of-a-spherical-polygon-td3841625.html;\n // for each edge of the polygon, tan(E/2) = tan(Δλ/2)·(tan(φ1/2) + tan(φ2/2)) / (1 + tan(φ1/2)·tan(φ2/2))\n // where E is the spherical excess of the trapezium obtained by extending the edge to the equator\n\n var R = (radius === undefined) ? 6371e3 : Number(radius);\n\n // close polygon so that last point equals first point\n var closed = polygon[0].equals(polygon[polygon.length-1]);\n if (!closed) polygon.push(polygon[0]);\n\n var nVertices = polygon.length - 1;\n\n var S = 0; // spherical excess in steradians\n for (var v=0; v|Array} start starting Point\n * @param {Geometry|Feature|Array} end ending Point\n * @param {boolean} [final=false] calculates the final bearing if true\n * @returns {number} bearing from north in decimal degrees, between -180 and 180 degrees (positive clockwise)\n * @example\n * var point1 = turf.point([-75.343, 39.984], {\"marker-color\": \"#F00\"});\n * var point2 = turf.point([-75.534, 39.123], {\"marker-color\": \"#00F\"});\n *\n * var bearing = turf.rhumbBearing(point1, point2);\n *\n * //addToMap\n * var addToMap = [point1, point2]\n * point1.properties.bearing = bearing\n * point2.properties.bearing = bearing\n */\nmodule.exports = function (start, end, final) {\n // validation\n if (!start) throw new Error('start point is required');\n if (!end) throw new Error('end point is required');\n\n var coordsStart = getCoord(start);\n var coordsEnd = getCoord(end);\n var origin = new GeodesyLatLon(coordsStart[1], coordsStart[0]);\n var destination = new GeodesyLatLon(coordsEnd[1], coordsEnd[0]);\n var bear360;\n\n if (final) bear360 = destination.rhumbBearingTo(origin);\n else bear360 = origin.rhumbBearingTo(destination);\n\n var bear180 = (bear360 > 180) ? -(360 - bear360) : bear360;\n\n return bear180;\n};\n","var meta = require('@turf/meta');\nvar rbush = require('geojson-rbush');\nvar helpers = require('@turf/helpers');\nvar flatten = require('@turf/flatten');\nvar truncate = require('@turf/truncate');\nvar invariant = require('@turf/invariant');\nvar lineSegment = require('@turf/line-segment');\nvar pointOnLine = require('@turf/point-on-line');\nvar lineIntersect = require('@turf/line-intersect');\nvar getCoords = invariant.getCoords;\nvar lineString = helpers.lineString;\nvar getGeomType = invariant.getGeomType;\nvar featureEach = meta.featureEach;\nvar featureReduce = meta.featureReduce;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Split a LineString by another GeoJSON Feature.\n *\n * @name lineSplit\n * @param {Feature} line LineString Feature to split\n * @param {Feature} splitter Feature used to split line\n * @returns {FeatureCollection} Split LineStrings\n * @example\n * var line = turf.lineString([[120, -25], [145, -25]]);\n * var splitter = turf.lineString([[130, -15], [130, -35]]);\n *\n * var split = turf.lineSplit(line, splitter);\n *\n * //addToMap\n * var addToMap = [line, splitter]\n */\nmodule.exports = function (line, splitter) {\n if (!line) throw new Error('line is required');\n if (!splitter) throw new Error('splitter is required');\n\n var lineType = getGeomType(line);\n var splitterType = getGeomType(splitter);\n\n if (lineType !== 'LineString') throw new Error('line must be LineString');\n if (splitterType === 'FeatureCollection') throw new Error('splitter cannot be a FeatureCollection');\n if (splitterType === 'GeometryCollection') throw new Error('splitter cannot be a GeometryCollection');\n\n // remove excessive decimals from splitter\n // to avoid possible approximation issues in rbush\n var truncatedSplitter = truncate(splitter, 7);\n\n switch (splitterType) {\n case 'Point':\n return splitLineWithPoint(line, truncatedSplitter);\n case 'MultiPoint':\n return splitLineWithPoints(line, flatten(truncatedSplitter));\n case 'LineString':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n return splitLineWithPoints(line, lineIntersect(line, truncatedSplitter));\n }\n};\n\n/**\n * Split LineString with MultiPoint\n *\n * @private\n * @param {Feature} line LineString\n * @param {FeatureCollection} splitter Point\n * @returns {FeatureCollection} split LineStrings\n */\nfunction splitLineWithPoints(line, splitter) {\n var results = [];\n var tree = rbush();\n\n featureEach(splitter, function (point) {\n // Add index/id to features (needed for filter)\n results.forEach(function (feature, index) {\n feature.id = index;\n });\n // First Point - doesn't need to handle any previous line results\n if (!results.length) {\n results = splitLineWithPoint(line, point).features;\n tree.load(featureCollection(results));\n // Split with remaining points - lines might needed to be split multiple times\n } else {\n // Find all lines that are within the splitter's bbox\n var search = tree.search(point);\n\n // RBush might return multiple lines - only process the closest line to splitter\n var closestLine = findClosestFeature(point, search);\n\n // Remove closest line from results since this will be split into two lines\n // This removes any duplicates inside the results & index\n results = results.filter(function (feature) { return feature.id !== closestLine.id; });\n tree.remove(closestLine);\n\n // Append the two newly split lines into the results\n featureEach(splitLineWithPoint(closestLine, point), function (line) {\n results.push(line);\n tree.insert(line);\n });\n }\n });\n return featureCollection(results);\n}\n\n/**\n * Split LineString with Point\n *\n * @private\n * @param {Feature} line LineString\n * @param {Feature} splitter Point\n * @returns {FeatureCollection} split LineStrings\n */\nfunction splitLineWithPoint(line, splitter) {\n var results = [];\n\n // handle endpoints\n var startPoint = getCoords(line)[0];\n var endPoint = getCoords(line)[line.geometry.coordinates.length - 1];\n if (pointsEquals(startPoint, getCoords(splitter)) ||\n pointsEquals(endPoint, getCoords(splitter))) return featureCollection([line]);\n\n // Create spatial index\n var tree = rbush();\n var segments = lineSegment(line);\n tree.load(segments);\n\n // Find all segments that are within bbox of splitter\n var search = tree.search(splitter);\n\n // Return itself if point is not within spatial index\n if (!search.features.length) return featureCollection([line]);\n\n // RBush might return multiple lines - only process the closest line to splitter\n var closestSegment = findClosestFeature(splitter, search);\n\n // Initial value is the first point of the first segments (beginning of line)\n var initialValue = [startPoint];\n var lastCoords = featureReduce(segments, function (previous, current, index) {\n var currentCoords = getCoords(current)[1];\n var splitterCoords = getCoords(splitter);\n\n // Location where segment intersects with line\n if (index === closestSegment.id) {\n previous.push(splitterCoords);\n results.push(lineString(previous));\n // Don't duplicate splitter coordinate (Issue #688)\n if (pointsEquals(splitterCoords, currentCoords)) return [splitterCoords];\n return [splitterCoords, currentCoords];\n\n // Keep iterating over coords until finished or intersection is found\n } else {\n previous.push(currentCoords);\n return previous;\n }\n }, initialValue);\n // Append last line to final split results\n if (lastCoords.length > 1) {\n results.push(lineString(lastCoords));\n }\n return featureCollection(results);\n}\n\n\n/**\n * Find Closest Feature\n *\n * @private\n * @param {Feature} point Feature must be closest to this point\n * @param {FeatureCollection} lines Collection of Features\n * @returns {Feature} closest LineString\n */\nfunction findClosestFeature(point, lines) {\n if (!lines.features) throw new Error(' must contain features');\n // Filter to one segment that is the closest to the line\n if (lines.features.length === 1) return lines.features[0];\n\n var closestFeature;\n var closestDistance = Infinity;\n featureEach(lines, function (segment) {\n var pt = pointOnLine(segment, point);\n var dist = pt.properties.dist;\n if (dist < closestDistance) {\n closestFeature = segment;\n closestDistance = dist;\n }\n });\n return closestFeature;\n}\n\n/**\n * Compares two points and returns if they are equals\n *\n * @private\n * @param {Array} pt1 point\n * @param {Array} pt2 point\n * @returns {boolean} true if they are equals\n */\nfunction pointsEquals(pt1, pt2) {\n return pt1[0] === pt2[0] && pt1[1] === pt2[1];\n}\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapActivationStatus.vue?vue&type=style&index=0&id=16a8fb28&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapActivationStatus.vue?vue&type=style&index=0&id=16a8fb28&lang=scss&scoped=true&\"","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar Element = require('../core/core.element');\n\ndefaults._set('global', {\n\telements: {\n\t\trectangle: {\n\t\t\tbackgroundColor: defaults.global.defaultColor,\n\t\t\tborderColor: defaults.global.defaultColor,\n\t\t\tborderSkipped: 'bottom',\n\t\t\tborderWidth: 0\n\t\t}\n\t}\n});\n\nfunction isVertical(bar) {\n\treturn bar._view.width !== undefined;\n}\n\n/**\n * Helper function to get the bounds of the bar regardless of the orientation\n * @param bar {Chart.Element.Rectangle} the bar\n * @return {Bounds} bounds of the bar\n * @private\n */\nfunction getBarBounds(bar) {\n\tvar vm = bar._view;\n\tvar x1, x2, y1, y2;\n\n\tif (isVertical(bar)) {\n\t\t// vertical\n\t\tvar halfWidth = vm.width / 2;\n\t\tx1 = vm.x - halfWidth;\n\t\tx2 = vm.x + halfWidth;\n\t\ty1 = Math.min(vm.y, vm.base);\n\t\ty2 = Math.max(vm.y, vm.base);\n\t} else {\n\t\t// horizontal bar\n\t\tvar halfHeight = vm.height / 2;\n\t\tx1 = Math.min(vm.x, vm.base);\n\t\tx2 = Math.max(vm.x, vm.base);\n\t\ty1 = vm.y - halfHeight;\n\t\ty2 = vm.y + halfHeight;\n\t}\n\n\treturn {\n\t\tleft: x1,\n\t\ttop: y1,\n\t\tright: x2,\n\t\tbottom: y2\n\t};\n}\n\nmodule.exports = Element.extend({\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar left, right, top, bottom, signX, signY, borderSkipped;\n\t\tvar borderWidth = vm.borderWidth;\n\n\t\tif (!vm.horizontal) {\n\t\t\t// bar\n\t\t\tleft = vm.x - vm.width / 2;\n\t\t\tright = vm.x + vm.width / 2;\n\t\t\ttop = vm.y;\n\t\t\tbottom = vm.base;\n\t\t\tsignX = 1;\n\t\t\tsignY = bottom > top ? 1 : -1;\n\t\t\tborderSkipped = vm.borderSkipped || 'bottom';\n\t\t} else {\n\t\t\t// horizontal bar\n\t\t\tleft = vm.base;\n\t\t\tright = vm.x;\n\t\t\ttop = vm.y - vm.height / 2;\n\t\t\tbottom = vm.y + vm.height / 2;\n\t\t\tsignX = right > left ? 1 : -1;\n\t\t\tsignY = 1;\n\t\t\tborderSkipped = vm.borderSkipped || 'left';\n\t\t}\n\n\t\t// Canvas doesn't allow us to stroke inside the width so we can\n\t\t// adjust the sizes to fit if we're setting a stroke on the line\n\t\tif (borderWidth) {\n\t\t\t// borderWidth shold be less than bar width and bar height.\n\t\t\tvar barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n\t\t\tborderWidth = borderWidth > barSize ? barSize : borderWidth;\n\t\t\tvar halfStroke = borderWidth / 2;\n\t\t\t// Adjust borderWidth when bar top position is near vm.base(zero).\n\t\t\tvar borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\n\t\t\tvar borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\n\t\t\tvar borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\n\t\t\tvar borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\n\t\t\t// not become a vertical line?\n\t\t\tif (borderLeft !== borderRight) {\n\t\t\t\ttop = borderTop;\n\t\t\t\tbottom = borderBottom;\n\t\t\t}\n\t\t\t// not become a horizontal line?\n\t\t\tif (borderTop !== borderBottom) {\n\t\t\t\tleft = borderLeft;\n\t\t\t\tright = borderRight;\n\t\t\t}\n\t\t}\n\n\t\tctx.beginPath();\n\t\tctx.fillStyle = vm.backgroundColor;\n\t\tctx.strokeStyle = vm.borderColor;\n\t\tctx.lineWidth = borderWidth;\n\n\t\t// Corner points, from bottom-left to bottom-right clockwise\n\t\t// | 1 2 |\n\t\t// | 0 3 |\n\t\tvar corners = [\n\t\t\t[left, bottom],\n\t\t\t[left, top],\n\t\t\t[right, top],\n\t\t\t[right, bottom]\n\t\t];\n\n\t\t// Find first (starting) corner with fallback to 'bottom'\n\t\tvar borders = ['bottom', 'left', 'top', 'right'];\n\t\tvar startCorner = borders.indexOf(borderSkipped, 0);\n\t\tif (startCorner === -1) {\n\t\t\tstartCorner = 0;\n\t\t}\n\n\t\tfunction cornerAt(index) {\n\t\t\treturn corners[(startCorner + index) % 4];\n\t\t}\n\n\t\t// Draw rectangle from 'startCorner'\n\t\tvar corner = cornerAt(0);\n\t\tctx.moveTo(corner[0], corner[1]);\n\n\t\tfor (var i = 1; i < 4; i++) {\n\t\t\tcorner = cornerAt(i);\n\t\t\tctx.lineTo(corner[0], corner[1]);\n\t\t}\n\n\t\tctx.fill();\n\t\tif (borderWidth) {\n\t\t\tctx.stroke();\n\t\t}\n\t},\n\n\theight: function() {\n\t\tvar vm = this._view;\n\t\treturn vm.base - vm.y;\n\t},\n\n\tinRange: function(mouseX, mouseY) {\n\t\tvar inRange = false;\n\n\t\tif (this._view) {\n\t\t\tvar bounds = getBarBounds(this);\n\t\t\tinRange = mouseX >= bounds.left && mouseX <= bounds.right && mouseY >= bounds.top && mouseY <= bounds.bottom;\n\t\t}\n\n\t\treturn inRange;\n\t},\n\n\tinLabelRange: function(mouseX, mouseY) {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar inRange = false;\n\t\tvar bounds = getBarBounds(me);\n\n\t\tif (isVertical(me)) {\n\t\t\tinRange = mouseX >= bounds.left && mouseX <= bounds.right;\n\t\t} else {\n\t\t\tinRange = mouseY >= bounds.top && mouseY <= bounds.bottom;\n\t\t}\n\n\t\treturn inRange;\n\t},\n\n\tinXRange: function(mouseX) {\n\t\tvar bounds = getBarBounds(this);\n\t\treturn mouseX >= bounds.left && mouseX <= bounds.right;\n\t},\n\n\tinYRange: function(mouseY) {\n\t\tvar bounds = getBarBounds(this);\n\t\treturn mouseY >= bounds.top && mouseY <= bounds.bottom;\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar x, y;\n\t\tif (isVertical(this)) {\n\t\t\tx = vm.x;\n\t\t\ty = (vm.y + vm.base) / 2;\n\t\t} else {\n\t\t\tx = (vm.x + vm.base) / 2;\n\t\t\ty = vm.y;\n\t\t}\n\n\t\treturn {x: x, y: y};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\t\treturn vm.width * Math.abs(vm.y - vm.base);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t}\n});\n","'use strict';\n\nvar inside = require('@turf/inside'),\n _require = require('@turf/helpers'),\n point = _require.point;\n\n/** Returns the direction of the point q relative to the vector p1 -> p2.\n * Implementation of geos::algorithm::CGAlgorithm::orientationIndex()\n * (same as geos::algorithm::CGAlgorithm::computeOrientation())\n *\n * @param {Number[]} p1 - the origin point of the vector\n * @param {Number[]} p2 - the final point of the vector\n * @param {Number[]} q - the point to compute the direction to\n *\n * @returns {Number} - 1 if q is ccw (left) from p1->p2,\n * -1 if q is cw (right) from p1->p2,\n * 0 if q is colinear with p1->p2\n */\nfunction orientationIndex(p1, p2, q) {\n var dx1 = p2[0] - p1[0],\n dy1 = p2[1] - p1[1],\n dx2 = q[0] - p2[0],\n dy2 = q[1] - p2[1];\n\n return Math.sign(dx1 * dy2 - dx2 * dy1);\n}\n\n/** Checks if two envelopes are equal.\n * The function assumes that the arguments are envelopes, i.e.: Rectangular polygon\n *\n * @param {Feature} env1 - Envelope\n * @param {Feature} env2 - Envelope\n * @returns {Boolean} - True if the envelopes are equal\n */\nfunction envelopeIsEqual(env1, env2) {\n var envX1 = env1.geometry.coordinates.map(function (c) {\n return c[0];\n }),\n envY1 = env1.geometry.coordinates.map(function (c) {\n return c[1];\n }),\n envX2 = env2.geometry.coordinates.map(function (c) {\n return c[0];\n }),\n envY2 = env2.geometry.coordinates.map(function (c) {\n return c[1];\n });\n\n return Math.max(null, envX1) === Math.max(null, envX2) && Math.max(null, envY1) === Math.max(null, envY2) && Math.min(null, envX1) === Math.min(null, envX2) && Math.min(null, envY1) === Math.min(null, envY2);\n}\n\n/** Check if a envelope is contained in other one.\n * The function assumes that the arguments are envelopes, i.e.: Convex polygon\n * XXX: Envelopes are rectangular, checking if a point is inside a rectangule is something easy,\n * this could be further improved.\n *\n * @param {Feature} self - Envelope\n * @param {Feature} env - Envelope\n * @returns {Boolean} - True if env is contained in self\n */\nfunction envelopeContains(self, env) {\n return env.geometry.coordinates[0].every(function (c) {\n return inside(point(c), self);\n });\n}\n\n/** Checks if two coordinates are equal.\n *\n * @param {Number[]} coord1 - First coordinate\n * @param {Number[]} coord2 - Second coordinate\n * @returns {Boolean} - True if coordinates are equal\n */\nfunction coordinatesEqual(coord1, coord2) {\n return coord1[0] === coord2[0] && coord1[1] === coord2[1];\n}\n\nmodule.exports = {\n orientationIndex: orientationIndex,\n envelopeIsEqual: envelopeIsEqual,\n envelopeContains: envelopeContains,\n coordinatesEqual: coordinatesEqual\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LabelAndMessage',{attrs:{\"id\":_vm.id,\"label\":_vm.label,\"required\":_vm.required,\"placement\":_vm.placement,\"feedback-classes\":_vm.feedbackClasses,\"description\":_vm.combinedDescription,\"message\":_vm.message}},[_c('div',{staticClass:\"input-field\",class:{'input-group': _vm.addon || _vm.unit || _vm.usePercent || _vm.$slots.inputGroup}},[_c('div',{staticClass:\"input-wrapper\",attrs:{\"title\":_vm.title}},[_c('input',{ref:\"input\",staticClass:\"form-control\",class:{faded: _vm.faded, 'has-input': _vm.inputText, centered: _vm.centered},attrs:{\"id\":_vm.id,\"name\":_vm.name,\"readonly\":_vm.readonly || _vm.disabled,\"disabled\":_vm.readonly || _vm.disabled,\"type\":\"text\",\"aria-describedby\":(_vm.id + \"-sr-status\"),\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.displayValue},on:{\"input\":function($event){return _vm.onInput($event.target.value)},\"blur\":_vm.updateText}}),(_vm.clearButton)?_c('InputClearButton',{attrs:{\"show\":!!_vm.value,\"right\":\"6px\"},on:{\"click\":_vm.clear}}):_c('div',{staticClass:\"icon\"},[_vm._t(\"icon\")],2)],1),(_vm.state)?_c('span',{staticClass:\"sr-only\",attrs:{\"id\":(_vm.id + \"-status-sr\")}},[_vm._v(_vm._s(_vm.srState))]):_vm._e(),(_vm.addon || _vm.unit || _vm.usePercent)?_c('span',{staticClass:\"input-group-addon\"},[(_vm.usePercent)?_c('span',[_vm._v(_vm._s(_vm.$i18n.translateUnit('%')))]):_vm._e(),(_vm.unit && _vm.unit !== '%')?_c('span',[_vm._v(_vm._s(_vm.$i18n.translateUnit(_vm.unit)))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.addon)+\"\\n \")]):_vm._e(),_vm._t(\"inputGroup\")],2),_vm._t(\"label\",null,{\"slot\":\"label\"}),(_vm.$slots.description)?_vm._t(\"description\",null,{\"slot\":\"description\"}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumericInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NumericInput.vue?vue&type=template&id=505bcb48&scoped=true&lang=html&\"\nimport script from \"./NumericInput.vue?vue&type=script&lang=js&\"\nexport * from \"./NumericInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NumericInput.vue?vue&type=style&index=0&id=505bcb48&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"505bcb48\",\n null\n \n)\n\nexport default component.exports","\"use strict\"; \"use restrict\";\n\nmodule.exports = UnionFind;\n\nfunction UnionFind(count) {\n this.roots = new Array(count);\n this.ranks = new Array(count);\n \n for(var i=0; i} points representing the exploded input features\n * @throws {Error} if it encounters an unknown geometry type\n * @example\n * var poly = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Polygon\",\n * \"coordinates\": [[\n * [177.434692, -17.77517],\n * [177.402076, -17.779093],\n * [177.38079, -17.803937],\n * [177.40242, -17.826164],\n * [177.438468, -17.824857],\n * [177.454948, -17.796746],\n * [177.434692, -17.77517]\n * ]]\n * }\n * };\n *\n * var points = turf.explode(poly);\n *\n * //=poly\n *\n * //=points\n */\nmodule.exports = function (geojson) {\n var points = [];\n if (geojson.type === 'FeatureCollection') {\n featureEach(geojson, function (feature) {\n coordEach(feature, function (coord) {\n points.push(point(coord, feature.properties));\n });\n });\n } else {\n coordEach(geojson, function (coord) {\n points.push(point(coord, geojson.properties));\n });\n }\n return featureCollection(points);\n};\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\n\ndefaults._set('scatter', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\n\t\t\ttype: 'linear', // scatter should not use a category axis\n\t\t\tposition: 'bottom'\n\t\t}],\n\t\tyAxes: [{\n\t\t\tid: 'y-axis-1',\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left'\n\t\t}]\n\t},\n\n\tshowLines: false,\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\n\t\t\t},\n\t\t\tlabel: function(item) {\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\t// Scatter charts use line controllers\n\tChart.controllers.scatter = Chart.controllers.line;\n\n};\n","export default function(x) {\n return x;\n}\n","import identity from \"./identity\";\n\nexport default function(transform) {\n if (transform == null) return identity;\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2, n = input.length, output = new Array(n);\n output[0] = (x0 += input[0]) * kx + dx;\n output[1] = (y0 += input[1]) * ky + dy;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n}\n","import transform from \"./transform\";\n\nexport default function(topology) {\n var t = transform(topology.transform), key,\n x0 = Infinity, y0 = x0, x1 = -x0, y1 = -x0;\n\n function bboxPoint(p) {\n p = t(p);\n if (p[0] < x0) x0 = p[0];\n if (p[0] > x1) x1 = p[0];\n if (p[1] < y0) y0 = p[1];\n if (p[1] > y1) y1 = p[1];\n }\n\n function bboxGeometry(o) {\n switch (o.type) {\n case \"GeometryCollection\": o.geometries.forEach(bboxGeometry); break;\n case \"Point\": bboxPoint(o.coordinates); break;\n case \"MultiPoint\": o.coordinates.forEach(bboxPoint); break;\n }\n }\n\n topology.arcs.forEach(function(arc) {\n var i = -1, n = arc.length, p;\n while (++i < n) {\n p = t(arc[i], i);\n if (p[0] < x0) x0 = p[0];\n if (p[0] > x1) x1 = p[0];\n if (p[1] < y0) y0 = p[1];\n if (p[1] > y1) y1 = p[1];\n }\n });\n\n for (key in topology.objects) {\n bboxGeometry(topology.objects[key]);\n }\n\n return [x0, y0, x1, y1];\n}\n","export default function(array, n) {\n var t, j = array.length, i = j - n;\n while (i < --j) t = array[i], array[i++] = array[j], array[j] = t;\n}\n","import reverse from \"./reverse\";\nimport transform from \"./transform\";\n\nexport default function(topology, o) {\n return o.type === \"GeometryCollection\"\n ? {type: \"FeatureCollection\", features: o.geometries.map(function(o) { return feature(topology, o); })}\n : feature(topology, o);\n}\n\nexport function feature(topology, o) {\n var id = o.id,\n bbox = o.bbox,\n properties = o.properties == null ? {} : o.properties,\n geometry = object(topology, o);\n return id == null && bbox == null ? {type: \"Feature\", properties: properties, geometry: geometry}\n : bbox == null ? {type: \"Feature\", id: id, properties: properties, geometry: geometry}\n : {type: \"Feature\", id: id, bbox: bbox, properties: properties, geometry: geometry};\n}\n\nexport function object(topology, o) {\n var transformPoint = transform(topology.transform),\n arcs = topology.arcs;\n\n function arc(i, points) {\n if (points.length) points.pop();\n for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) {\n points.push(transformPoint(a[k], k));\n }\n if (i < 0) reverse(points, n);\n }\n\n function point(p) {\n return transformPoint(p);\n }\n\n function line(arcs) {\n var points = [];\n for (var i = 0, n = arcs.length; i < n; ++i) arc(arcs[i], points);\n if (points.length < 2) points.push(points[0]); // This should never happen per the specification.\n return points;\n }\n\n function ring(arcs) {\n var points = line(arcs);\n while (points.length < 4) points.push(points[0]); // This may happen if an arc has only two points.\n return points;\n }\n\n function polygon(arcs) {\n return arcs.map(ring);\n }\n\n function geometry(o) {\n var type = o.type, coordinates;\n switch (type) {\n case \"GeometryCollection\": return {type: type, geometries: o.geometries.map(geometry)};\n case \"Point\": coordinates = point(o.coordinates); break;\n case \"MultiPoint\": coordinates = o.coordinates.map(point); break;\n case \"LineString\": coordinates = line(o.arcs); break;\n case \"MultiLineString\": coordinates = o.arcs.map(line); break;\n case \"Polygon\": coordinates = polygon(o.arcs); break;\n case \"MultiPolygon\": coordinates = o.arcs.map(polygon); break;\n default: return null;\n }\n return {type: type, coordinates: coordinates};\n }\n\n return geometry(o);\n}\n","export default function(topology, arcs) {\n var stitchedArcs = {},\n fragmentByStart = {},\n fragmentByEnd = {},\n fragments = [],\n emptyIndex = -1;\n\n // Stitch empty arcs first, since they may be subsumed by other arcs.\n arcs.forEach(function(i, j) {\n var arc = topology.arcs[i < 0 ? ~i : i], t;\n if (arc.length < 3 && !arc[1][0] && !arc[1][1]) {\n t = arcs[++emptyIndex], arcs[emptyIndex] = i, arcs[j] = t;\n }\n });\n\n arcs.forEach(function(i) {\n var e = ends(i),\n start = e[0],\n end = e[1],\n f, g;\n\n if (f = fragmentByEnd[start]) {\n delete fragmentByEnd[f.end];\n f.push(i);\n f.end = end;\n if (g = fragmentByStart[end]) {\n delete fragmentByStart[g.start];\n var fg = g === f ? f : f.concat(g);\n fragmentByStart[fg.start = f.start] = fragmentByEnd[fg.end = g.end] = fg;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else if (f = fragmentByStart[end]) {\n delete fragmentByStart[f.start];\n f.unshift(i);\n f.start = start;\n if (g = fragmentByEnd[start]) {\n delete fragmentByEnd[g.end];\n var gf = g === f ? f : g.concat(f);\n fragmentByStart[gf.start = g.start] = fragmentByEnd[gf.end = f.end] = gf;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else {\n f = [i];\n fragmentByStart[f.start = start] = fragmentByEnd[f.end = end] = f;\n }\n });\n\n function ends(i) {\n var arc = topology.arcs[i < 0 ? ~i : i], p0 = arc[0], p1;\n if (topology.transform) p1 = [0, 0], arc.forEach(function(dp) { p1[0] += dp[0], p1[1] += dp[1]; });\n else p1 = arc[arc.length - 1];\n return i < 0 ? [p1, p0] : [p0, p1];\n }\n\n function flush(fragmentByEnd, fragmentByStart) {\n for (var k in fragmentByEnd) {\n var f = fragmentByEnd[k];\n delete fragmentByStart[f.start];\n delete f.start;\n delete f.end;\n f.forEach(function(i) { stitchedArcs[i < 0 ? ~i : i] = 1; });\n fragments.push(f);\n }\n }\n\n flush(fragmentByEnd, fragmentByStart);\n flush(fragmentByStart, fragmentByEnd);\n arcs.forEach(function(i) { if (!stitchedArcs[i < 0 ? ~i : i]) fragments.push([i]); });\n\n return fragments;\n}\n","import {object} from \"./feature\";\nimport stitch from \"./stitch\";\n\nexport default function(topology) {\n return object(topology, meshArcs.apply(this, arguments));\n}\n\nexport function meshArcs(topology, object, filter) {\n var arcs, i, n;\n if (arguments.length > 1) arcs = extractArcs(topology, object, filter);\n else for (i = 0, arcs = new Array(n = topology.arcs.length); i < n; ++i) arcs[i] = i;\n return {type: \"MultiLineString\", arcs: stitch(topology, arcs)};\n}\n\nfunction extractArcs(topology, object, filter) {\n var arcs = [],\n geomsByArc = [],\n geom;\n\n function extract0(i) {\n var j = i < 0 ? ~i : i;\n (geomsByArc[j] || (geomsByArc[j] = [])).push({i: i, g: geom});\n }\n\n function extract1(arcs) {\n arcs.forEach(extract0);\n }\n\n function extract2(arcs) {\n arcs.forEach(extract1);\n }\n\n function extract3(arcs) {\n arcs.forEach(extract2);\n }\n\n function geometry(o) {\n switch (geom = o, o.type) {\n case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n case \"LineString\": extract1(o.arcs); break;\n case \"MultiLineString\": case \"Polygon\": extract2(o.arcs); break;\n case \"MultiPolygon\": extract3(o.arcs); break;\n }\n }\n\n geometry(object);\n\n geomsByArc.forEach(filter == null\n ? function(geoms) { arcs.push(geoms[0].i); }\n : function(geoms) { if (filter(geoms[0].g, geoms[geoms.length - 1].g)) arcs.push(geoms[0].i); });\n\n return arcs;\n}\n","import {object} from \"./feature\";\nimport stitch from \"./stitch\";\n\nfunction planarRingArea(ring) {\n var i = -1, n = ring.length, a, b = ring[n - 1], area = 0;\n while (++i < n) a = b, b = ring[i], area += a[0] * b[1] - a[1] * b[0];\n return Math.abs(area); // Note: doubled area!\n}\n\nexport default function(topology) {\n return object(topology, mergeArcs.apply(this, arguments));\n}\n\nexport function mergeArcs(topology, objects) {\n var polygonsByArc = {},\n polygons = [],\n groups = [];\n\n objects.forEach(geometry);\n\n function geometry(o) {\n switch (o.type) {\n case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n case \"Polygon\": extract(o.arcs); break;\n case \"MultiPolygon\": o.arcs.forEach(extract); break;\n }\n }\n\n function extract(polygon) {\n polygon.forEach(function(ring) {\n ring.forEach(function(arc) {\n (polygonsByArc[arc = arc < 0 ? ~arc : arc] || (polygonsByArc[arc] = [])).push(polygon);\n });\n });\n polygons.push(polygon);\n }\n\n function area(ring) {\n return planarRingArea(object(topology, {type: \"Polygon\", arcs: [ring]}).coordinates[0]);\n }\n\n polygons.forEach(function(polygon) {\n if (!polygon._) {\n var group = [],\n neighbors = [polygon];\n polygon._ = 1;\n groups.push(group);\n while (polygon = neighbors.pop()) {\n group.push(polygon);\n polygon.forEach(function(ring) {\n ring.forEach(function(arc) {\n polygonsByArc[arc < 0 ? ~arc : arc].forEach(function(polygon) {\n if (!polygon._) {\n polygon._ = 1;\n neighbors.push(polygon);\n }\n });\n });\n });\n }\n }\n });\n\n polygons.forEach(function(polygon) {\n delete polygon._;\n });\n\n return {\n type: \"MultiPolygon\",\n arcs: groups.map(function(polygons) {\n var arcs = [], n;\n\n // Extract the exterior (unique) arcs.\n polygons.forEach(function(polygon) {\n polygon.forEach(function(ring) {\n ring.forEach(function(arc) {\n if (polygonsByArc[arc < 0 ? ~arc : arc].length < 2) {\n arcs.push(arc);\n }\n });\n });\n });\n\n // Stitch the arcs into one or more rings.\n arcs = stitch(topology, arcs);\n\n // If more than one ring is returned,\n // at most one of these rings can be the exterior;\n // choose the one with the greatest absolute area.\n if ((n = arcs.length) > 1) {\n for (var i = 1, k = area(arcs[0]), ki, t; i < n; ++i) {\n if ((ki = area(arcs[i])) > k) {\n t = arcs[0], arcs[0] = arcs[i], arcs[i] = t, k = ki;\n }\n }\n }\n\n return arcs;\n })\n };\n}\n","export default function(a, x) {\n var lo = 0, hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (a[mid] < x) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n}\n","import bisect from \"./bisect\";\n\nexport default function(objects) {\n var indexesByArc = {}, // arc index -> array of object indexes\n neighbors = objects.map(function() { return []; });\n\n function line(arcs, i) {\n arcs.forEach(function(a) {\n if (a < 0) a = ~a;\n var o = indexesByArc[a];\n if (o) o.push(i);\n else indexesByArc[a] = [i];\n });\n }\n\n function polygon(arcs, i) {\n arcs.forEach(function(arc) { line(arc, i); });\n }\n\n function geometry(o, i) {\n if (o.type === \"GeometryCollection\") o.geometries.forEach(function(o) { geometry(o, i); });\n else if (o.type in geometryType) geometryType[o.type](o.arcs, i);\n }\n\n var geometryType = {\n LineString: line,\n MultiLineString: polygon,\n Polygon: polygon,\n MultiPolygon: function(arcs, i) { arcs.forEach(function(arc) { polygon(arc, i); }); }\n };\n\n objects.forEach(geometry);\n\n for (var i in indexesByArc) {\n for (var indexes = indexesByArc[i], m = indexes.length, j = 0; j < m; ++j) {\n for (var k = j + 1; k < m; ++k) {\n var ij = indexes[j], ik = indexes[k], n;\n if ((n = neighbors[ij])[i = bisect(n, ik)] !== ik) n.splice(i, 0, ik);\n if ((n = neighbors[ik])[i = bisect(n, ij)] !== ij) n.splice(i, 0, ij);\n }\n }\n }\n\n return neighbors;\n}\n","import identity from \"./identity\";\n\nexport default function(transform) {\n if (transform == null) return identity;\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2,\n n = input.length,\n output = new Array(n),\n x1 = Math.round((input[0] - dx) / kx),\n y1 = Math.round((input[1] - dy) / ky);\n output[0] = x1 - x0, x0 = x1;\n output[1] = y1 - y0, y0 = y1;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n}\n","import bbox from \"./bbox\";\nimport untransform from \"./untransform\";\n\nexport default function(topology, transform) {\n if (topology.transform) throw new Error(\"already quantized\");\n\n if (!transform || !transform.scale) {\n if (!((n = Math.floor(transform)) >= 2)) throw new Error(\"n must be ≥2\");\n box = topology.bbox || bbox(topology);\n var x0 = box[0], y0 = box[1], x1 = box[2], y1 = box[3], n;\n transform = {scale: [x1 - x0 ? (x1 - x0) / (n - 1) : 1, y1 - y0 ? (y1 - y0) / (n - 1) : 1], translate: [x0, y0]};\n } else {\n box = topology.bbox;\n }\n\n var t = untransform(transform), box, key, inputs = topology.objects, outputs = {};\n\n function quantizePoint(point) {\n return t(point);\n }\n\n function quantizeGeometry(input) {\n var output;\n switch (input.type) {\n case \"GeometryCollection\": output = {type: \"GeometryCollection\", geometries: input.geometries.map(quantizeGeometry)}; break;\n case \"Point\": output = {type: \"Point\", coordinates: quantizePoint(input.coordinates)}; break;\n case \"MultiPoint\": output = {type: \"MultiPoint\", coordinates: input.coordinates.map(quantizePoint)}; break;\n default: return input;\n }\n if (input.id != null) output.id = input.id;\n if (input.bbox != null) output.bbox = input.bbox;\n if (input.properties != null) output.properties = input.properties;\n return output;\n }\n\n function quantizeArc(input) {\n var i = 0, j = 1, n = input.length, p, output = new Array(n); // pessimistic\n output[0] = t(input[0], 0);\n while (++i < n) if ((p = t(input[i], i))[0] || p[1]) output[j++] = p; // non-coincident points\n if (j === 1) output[j++] = [0, 0]; // an arc must have at least two points\n output.length = j;\n return output;\n }\n\n for (key in inputs) outputs[key] = quantizeGeometry(inputs[key]);\n\n return {\n type: \"Topology\",\n bbox: box,\n transform: transform,\n objects: outputs,\n arcs: topology.arcs.map(quantizeArc)\n };\n}\n","export {default as bbox} from \"./src/bbox\";\nexport {default as feature} from \"./src/feature\";\nexport {default as mesh, meshArcs} from \"./src/mesh\";\nexport {default as merge, mergeArcs} from \"./src/merge\";\nexport {default as neighbors} from \"./src/neighbors\";\nexport {default as quantize} from \"./src/quantize\";\nexport {default as transform} from \"./src/transform\";\nexport {default as untransform} from \"./src/untransform\";\n","var arc = require('./arc');\nvar getCoord = require('@turf/invariant').getCoord;\n\n/**\n * Calculate great circles routes as {@link LineString}\n *\n * @name greatCircle\n * @param {Geometry|Feature|Array} start source point feature\n * @param {Geometry|Feature|Array} end destination point feature\n * @param {Object} [properties={}] line feature properties\n * @param {number} [npoints=100] number of points\n * @param {number} [offset=10] offset controls the likelyhood that lines will\n * be split which cross the dateline. The higher the number the more likely.\n * @returns {Feature} great circle line feature\n * @example\n * var start = turf.point([-122, 48]);\n * var end = turf.point([-77, 39]);\n *\n * var greatCircle = turf.greatCircle(start, end, {'name': 'Seattle to DC'});\n *\n * //addToMap\n * var addToMap = [start, end, greatCircle]\n */\nmodule.exports = function (start, end, properties, npoints, offset) {\n start = getCoord(start);\n end = getCoord(end);\n properties = properties || {};\n npoints = npoints || 100;\n offset = offset || 10;\n\n var generator = new arc.GreatCircle({x: start[0], y: start[1]}, {x: end[0], y: end[1]}, properties);\n /* eslint-disable */\n var line = generator.Arc(npoints, {offset: offset});\n /* eslint-enable */\n\n return line.json();\n};\n","\"use strict\"\n\nmodule.exports = robustSubtract\n\n//Easy case: Add two scalars\nfunction scalarScalar(a, b) {\n var x = a + b\n var bv = x - a\n var av = x - bv\n var br = b - bv\n var ar = a - av\n var y = ar + br\n if(y) {\n return [y, x]\n }\n return [x]\n}\n\nfunction robustSubtract(e, f) {\n var ne = e.length|0\n var nf = f.length|0\n if(ne === 1 && nf === 1) {\n return scalarScalar(e[0], -f[0])\n }\n var n = ne + nf\n var g = new Array(n)\n var count = 0\n var eptr = 0\n var fptr = 0\n var abs = Math.abs\n var ei = e[eptr]\n var ea = abs(ei)\n var fi = -f[fptr]\n var fa = abs(fi)\n var a, b\n if(ea < fa) {\n b = ei\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n ea = abs(ei)\n }\n } else {\n b = fi\n fptr += 1\n if(fptr < nf) {\n fi = -f[fptr]\n fa = abs(fi)\n }\n }\n if((eptr < ne && ea < fa) || (fptr >= nf)) {\n a = ei\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n ea = abs(ei)\n }\n } else {\n a = fi\n fptr += 1\n if(fptr < nf) {\n fi = -f[fptr]\n fa = abs(fi)\n }\n }\n var x = a + b\n var bv = x - a\n var y = b - bv\n var q0 = y\n var q1 = x\n var _x, _bv, _av, _br, _ar\n while(eptr < ne && fptr < nf) {\n if(ea < fa) {\n a = ei\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n ea = abs(ei)\n }\n } else {\n a = fi\n fptr += 1\n if(fptr < nf) {\n fi = -f[fptr]\n fa = abs(fi)\n }\n }\n b = q0\n x = a + b\n bv = x - a\n y = b - bv\n if(y) {\n g[count++] = y\n }\n _x = q1 + x\n _bv = _x - q1\n _av = _x - _bv\n _br = x - _bv\n _ar = q1 - _av\n q0 = _ar + _br\n q1 = _x\n }\n while(eptr < ne) {\n a = ei\n b = q0\n x = a + b\n bv = x - a\n y = b - bv\n if(y) {\n g[count++] = y\n }\n _x = q1 + x\n _bv = _x - q1\n _av = _x - _bv\n _br = x - _bv\n _ar = q1 - _av\n q0 = _ar + _br\n q1 = _x\n eptr += 1\n if(eptr < ne) {\n ei = e[eptr]\n }\n }\n while(fptr < nf) {\n a = fi\n b = q0\n x = a + b\n bv = x - a\n y = b - bv\n if(y) {\n g[count++] = y\n } \n _x = q1 + x\n _bv = _x - q1\n _av = _x - _bv\n _br = x - _bv\n _ar = q1 - _av\n q0 = _ar + _br\n q1 = _x\n fptr += 1\n if(fptr < nf) {\n fi = -f[fptr]\n }\n }\n if(q0) {\n g[count++] = q0\n }\n if(q1) {\n g[count++] = q1\n }\n if(!count) {\n g[count++] = 0.0 \n }\n g.length = count\n return g\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('IxImageLayer',{attrs:{\"url\":_vm.url,\"extent\":_vm.extent}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.debug)?_c('div',{staticClass:\"debug-info\"},[_c('p',[_c('strong',[_vm._v(\"URL: \")]),_vm._v(_vm._s(_vm.url))])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @module ol/source/ImageStatic\n */\n\nimport ImageWrapper from '../Image.js';\nimport ImageState from '../ImageState.js';\nimport {createCanvasContext2D} from '../dom.js';\nimport {listen} from '../events.js';\nimport EventType from '../events/EventType.js';\nimport {intersects, getHeight, getWidth} from '../extent.js';\nimport {get as getProjection} from '../proj.js';\nimport ImageSource, {defaultImageLoadFunction} from './Image.js';\n\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to\n * access pixel data with the Canvas renderer. See\n * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {import(\"../extent.js\").Extent} [imageExtent] Extent of the image in map coordinates.\n * This is the [left, bottom, right, top] map coordinates of your image.\n * @property {import(\"../Image.js\").LoadFunction} [imageLoadFunction] Optional function to load an image given a URL.\n * @property {import(\"../proj.js\").ProjectionLike} projection Projection.\n * @property {import(\"../size.js\").Size} [imageSize] Size of the image in pixels. Usually the image size is auto-detected, so this\n * only needs to be set if auto-detection fails for some reason.\n * @property {string} url Image URL.\n */\n\n\n/**\n * @classdesc\n * A layer source for displaying a single, static image.\n * @api\n */\nvar Static = /*@__PURE__*/(function (ImageSource) {\n function Static(options) {\n var crossOrigin = options.crossOrigin !== undefined ?\n options.crossOrigin : null;\n\n var /** @type {import(\"../Image.js\").LoadFunction} */ imageLoadFunction =\n options.imageLoadFunction !== undefined ?\n options.imageLoadFunction : defaultImageLoadFunction;\n\n ImageSource.call(this, {\n attributions: options.attributions,\n projection: getProjection(options.projection)\n });\n\n /**\n * @private\n * @type {string}\n */\n this.url_ = options.url;\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.imageExtent_ = options.imageExtent;\n\n /**\n * @private\n * @type {import(\"../Image.js\").default}\n */\n this.image_ = new ImageWrapper(this.imageExtent_, undefined, 1, this.url_, crossOrigin, imageLoadFunction);\n\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.imageSize_ = options.imageSize ? options.imageSize : null;\n\n listen(this.image_, EventType.CHANGE,\n this.handleImageChange, this);\n\n }\n\n if ( ImageSource ) Static.__proto__ = ImageSource;\n Static.prototype = Object.create( ImageSource && ImageSource.prototype );\n Static.prototype.constructor = Static;\n\n /**\n * Returns the image extent\n * @return {import(\"../extent.js\").Extent} image extent.\n * @api\n */\n Static.prototype.getImageExtent = function getImageExtent () {\n return this.imageExtent_;\n };\n\n /**\n * @inheritDoc\n */\n Static.prototype.getImageInternal = function getImageInternal (extent, resolution, pixelRatio, projection) {\n if (intersects(extent, this.image_.getExtent())) {\n return this.image_;\n }\n return null;\n };\n\n /**\n * Return the URL used for this image source.\n * @return {string} URL.\n * @api\n */\n Static.prototype.getUrl = function getUrl () {\n return this.url_;\n };\n\n /**\n * @inheritDoc\n */\n Static.prototype.handleImageChange = function handleImageChange (evt) {\n if (this.image_.getState() == ImageState.LOADED) {\n var imageExtent = this.image_.getExtent();\n var image = this.image_.getImage();\n var imageWidth, imageHeight;\n if (this.imageSize_) {\n imageWidth = this.imageSize_[0];\n imageHeight = this.imageSize_[1];\n } else {\n imageWidth = image.width;\n imageHeight = image.height;\n }\n var resolution = getHeight(imageExtent) / imageHeight;\n var targetWidth = Math.ceil(getWidth(imageExtent) / resolution);\n if (targetWidth != imageWidth) {\n var context = createCanvasContext2D(targetWidth, imageHeight);\n var canvas = context.canvas;\n context.drawImage(image, 0, 0, imageWidth, imageHeight,\n 0, 0, canvas.width, canvas.height);\n this.image_.setImage(canvas);\n }\n }\n ImageSource.prototype.handleImageChange.call(this, evt);\n };\n\n return Static;\n}(ImageSource));\n\n\nexport default Static;\n\n//# sourceMappingURL=ImageStatic.js.map","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IxImageLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IxImageLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IxImageLayer.vue?vue&type=template&id=f1cf7566&scoped=true&\"\nimport script from \"./IxImageLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./IxImageLayer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IxImageLayer.vue?vue&type=style&index=0&id=f1cf7566&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f1cf7566\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterpolationMapLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterpolationMapLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterpolationMapLayer.vue?vue&type=template&id=128084ae&scoped=true&\"\nimport script from \"./InterpolationMapLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./InterpolationMapLayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"128084ae\",\n null\n \n)\n\nexport default component.exports","var coordEach = require('@turf/meta').coordEach;\n\n/**\n * Takes a set of features, calculates the bbox of all input features, and returns a bounding box.\n *\n * @name bbox\n * @param {FeatureCollection|Feature} geojson input features\n * @returns {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @example\n * var line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]]);\n * var bbox = turf.bbox(line);\n * var bboxPolygon = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [line, bboxPolygon]\n */\nmodule.exports = function (geojson) {\n var bbox = [Infinity, Infinity, -Infinity, -Infinity];\n coordEach(geojson, function (coord) {\n if (bbox[0] > coord[0]) bbox[0] = coord[0];\n if (bbox[1] > coord[1]) bbox[1] = coord[1];\n if (bbox[2] < coord[0]) bbox[2] = coord[0];\n if (bbox[3] < coord[1]) bbox[3] = coord[1];\n });\n return bbox;\n};\n","import mod from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatelliteImageReference.vue?vue&type=style&index=0&lang=scss&module=true&\"; export default mod; export * from \"-!../../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-0-0!../../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-0-1!../../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-0-2!../../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-0-3!../../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SatelliteImageReference.vue?vue&type=style&index=0&lang=scss&module=true&\"","var GeojsonEquality = require('geojson-equality');\nvar cleanCoords = require('@turf/clean-coords');\nvar invariant = require('@turf/invariant');\nvar getGeomType = invariant.getGeomType;\n\n/**\n * Determine whether two geometries of the same type have identical X,Y coordinate values.\n * See http://edndoc.esri.com/arcsde/9.0/general_topics/understand_spatial_relations.htm\n *\n * @name booleanEqual\n * @param {Geometry|Feature} feature1 GeoJSON input\n * @param {Geometry|Feature} feature2 GeoJSON input\n * @returns {boolean} true if the objects are equal, false otherwise\n * @example\n * var pt1 = turf.point([0, 0]);\n * var pt2 = turf.point([0, 0]);\n * var pt3 = turf.point([1, 1]);\n *\n * turf.booleanEqual(pt1, pt2);\n * //= true\n * turf.booleanEqual(pt2, pt3);\n * //= false\n */\nmodule.exports = function (feature1, feature2) {\n // validation\n if (!feature1) throw new Error('feature1 is required');\n if (!feature2) throw new Error('feature2 is required');\n var type1 = getGeomType(feature1);\n var type2 = getGeomType(feature2);\n if (type1 !== type2) return false;\n\n var equality = new GeojsonEquality({precision: 6});\n return equality.compare(cleanCoords(feature1), cleanCoords(feature2));\n};\n","var render, staticRenderFns\nimport script from \"./GradientScale.vue?vue&type=script&lang=js&\"\nexport * from \"./GradientScale.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GradientScale.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GradientScale.vue?vue&type=script&lang=js&\"","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar elements = require('../elements/index');\nvar helpers = require('../helpers/index');\n\ndefaults._set('polarArea', {\n\tscale: {\n\t\ttype: 'radialLinear',\n\t\tangleLines: {\n\t\t\tdisplay: false\n\t\t},\n\t\tgridLines: {\n\t\t\tcircular: true\n\t\t},\n\t\tpointLabels: {\n\t\t\tdisplay: false\n\t\t},\n\t\tticks: {\n\t\t\tbeginAtZero: true\n\t\t}\n\t},\n\n\t// Boolean - Whether to animate the rotation of the chart\n\tanimation: {\n\t\tanimateRotate: true,\n\t\tanimateScale: true\n\t},\n\n\tstartAngle: -0.5 * Math.PI,\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('
    ');\n\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\n\t\tif (datasets.length) {\n\t\t\tfor (var i = 0; i < datasets[0].data.length; ++i) {\n\t\t\t\ttext.push('
  • ');\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\ttext.push(labels[i]);\n\t\t\t\t}\n\t\t\t\ttext.push('
  • ');\n\t\t\t}\n\t\t}\n\n\t\ttext.push('
');\n\t\treturn text.join('');\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar ds = data.datasets[0];\n\t\t\t\t\t\tvar arc = meta.data[i];\n\t\t\t\t\t\tvar custom = arc.custom || {};\n\t\t\t\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\n\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\n\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: fill,\n\t\t\t\t\t\t\tstrokeStyle: stroke,\n\t\t\t\t\t\t\tlineWidth: bw,\n\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.polarArea = Chart.DatasetController.extend({\n\n\t\tdataElementType: elements.Arc,\n\n\t\tlinkScales: helpers.noop,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar start = me.chart.options.startAngle || 0;\n\t\t\tvar starts = me._starts = [];\n\t\t\tvar angles = me._angles = [];\n\t\t\tvar i, ilen, angle;\n\n\t\t\tme._updateRadius();\n\n\t\t\tmeta.count = me.countVisibleElements();\n\n\t\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\n\t\t\t\tstarts[i] = start;\n\t\t\t\tangle = me._computeAngle(i);\n\t\t\t\tangles[i] = angle;\n\t\t\t\tstart += angle;\n\t\t\t}\n\n\t\t\thelpers.each(meta.data, function(arc, index) {\n\t\t\t\tme.updateElement(arc, index, reset);\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\t_updateRadius: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar opts = chart.options;\n\t\t\tvar arcOpts = opts.elements.arc;\n\t\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\n\t\t\tchart.outerRadius = Math.max((minSize - arcOpts.borderWidth / 2) / 2, 0);\n\t\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\n\t\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\n\t\t},\n\n\t\tupdateElement: function(arc, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar opts = chart.options;\n\t\t\tvar animationOpts = opts.animation;\n\t\t\tvar scale = chart.scale;\n\t\t\tvar labels = chart.data.labels;\n\n\t\t\tvar centerX = scale.xCenter;\n\t\t\tvar centerY = scale.yCenter;\n\n\t\t\t// var negHalfPI = -0.5 * Math.PI;\n\t\t\tvar datasetStartAngle = opts.startAngle;\n\t\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\t\tvar startAngle = me._starts[index];\n\t\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\n\n\t\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\n\t\t\thelpers.extend(arc, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\t\t\t\t_scale: scale,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: centerX,\n\t\t\t\t\ty: centerY,\n\t\t\t\t\tinnerRadius: 0,\n\t\t\t\t\touterRadius: reset ? resetRadius : distance,\n\t\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\n\t\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\n\t\t\t\t\tlabel: helpers.valueAtIndexOrDefault(labels, index, labels[index])\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Apply border and fill style\n\t\t\tvar elementOpts = this.chart.options.elements.arc;\n\t\t\tvar custom = arc.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar model = arc._model;\n\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);\n\n\t\t\tarc.pivot();\n\t\t},\n\n\t\tcountVisibleElements: function() {\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar count = 0;\n\n\t\t\thelpers.each(meta.data, function(element, index) {\n\t\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn count;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\t_computeAngle: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar count = this.getMeta().count;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar meta = me.getMeta();\n\n\t\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// Scriptable options\n\t\t\tvar context = {\n\t\t\t\tchart: me.chart,\n\t\t\t\tdataIndex: index,\n\t\t\t\tdataset: dataset,\n\t\t\t\tdatasetIndex: me.index\n\t\t\t};\n\n\t\t\treturn helpers.options.resolve([\n\t\t\t\tme.chart.options.elements.arc.angle,\n\t\t\t\t(2 * Math.PI) / count\n\t\t\t], context, index);\n\t\t}\n\t});\n};\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoOverlay.vue?vue&type=style&index=0&id=282babc8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoOverlay.vue?vue&type=style&index=0&id=282babc8&lang=scss&scoped=true&\"","var meta = require('@turf/meta');\nvar helpers = require('@turf/helpers');\nvar bearing = require('@turf/bearing');\nvar distance = require('@turf/distance');\nvar invariant = require('@turf/invariant');\nvar destination = require('@turf/destination');\nvar lineIntersects = require('@turf/line-intersect');\nvar point = helpers.point;\nvar getCoords = invariant.getCoords;\nvar lineString = helpers.lineString;\nvar flattenEach = meta.flattenEach;\n\n/**\n * Takes a {@link Point} and a {@link LineString} and calculates the closest Point on the (Multi)LineString.\n *\n * @name pointOnLine\n * @param {Geometry|Feature} lines lines to snap to\n * @param {Geometry|Feature|number[]} pt point to snap from\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers\n * @returns {Feature} closest point on the `line` to `point`. The properties object will contain three values: `index`: closest point was found on nth line part, `dist`: distance between pt and the closest point, `location`: distance along the line between start and the closest point.\n * @example\n * var line = turf.lineString([\n * [-77.031669, 38.878605],\n * [-77.029609, 38.881946],\n * [-77.020339, 38.884084],\n * [-77.025661, 38.885821],\n * [-77.021884, 38.889563],\n * [-77.019824, 38.892368]\n * ]);\n * var pt = turf.point([-77.037076, 38.884017]);\n *\n * var snapped = turf.pointOnLine(line, pt, 'miles');\n *\n * //addToMap\n * var addToMap = [line, pt, snapped];\n * snapped.properties['marker-color'] = '#00f';\n */\nmodule.exports = function (lines, pt, units) {\n // validation\n var type = (lines.geometry) ? lines.geometry.type : lines.type;\n if (type !== 'LineString' && type !== 'MultiLineString') {\n throw new Error('lines must be LineString or MultiLineString');\n }\n\n var closestPt = point([Infinity, Infinity], {\n dist: Infinity\n });\n\n var length = 0.0;\n flattenEach(lines, function (line) {\n var coords = getCoords(line);\n\n for (var i = 0; i < coords.length - 1; i++) {\n //start\n var start = point(coords[i]);\n start.properties.dist = distance(pt, start, units);\n //stop\n var stop = point(coords[i + 1]);\n stop.properties.dist = distance(pt, stop, units);\n // sectionLength\n var sectionLength = distance(start, stop, units);\n //perpendicular\n var heightDistance = Math.max(start.properties.dist, stop.properties.dist);\n var direction = bearing(start, stop);\n var perpendicularPt1 = destination(pt, heightDistance, direction + 90, units);\n var perpendicularPt2 = destination(pt, heightDistance, direction - 90, units);\n var intersect = lineIntersects(lineString([perpendicularPt1.geometry.coordinates, perpendicularPt2.geometry.coordinates]), lineString([start.geometry.coordinates, stop.geometry.coordinates]));\n var intersectPt = null;\n if (intersect.features.length > 0) {\n intersectPt = intersect.features[0];\n intersectPt.properties.dist = distance(pt, intersectPt, units);\n intersectPt.properties.location = length + distance(start, intersectPt, units);\n }\n\n if (start.properties.dist < closestPt.properties.dist) {\n closestPt = start;\n closestPt.properties.index = i;\n closestPt.properties.location = length;\n }\n if (stop.properties.dist < closestPt.properties.dist) {\n closestPt = stop;\n closestPt.properties.index = i + 1;\n closestPt.properties.location = length + sectionLength;\n }\n if (intersectPt && intersectPt.properties.dist < closestPt.properties.dist) {\n closestPt = intersectPt;\n closestPt.properties.index = i;\n }\n // update length\n length += sectionLength;\n }\n\n });\n\n return closestPt;\n};\n","'use strict';\n\nvar Animation = require('./core.animation');\nvar animations = require('./core.animations');\nvar defaults = require('./core.defaults');\nvar helpers = require('../helpers/index');\nvar Interaction = require('./core.interaction');\nvar layouts = require('./core.layouts');\nvar platform = require('../platforms/platform');\nvar plugins = require('./core.plugins');\nvar scaleService = require('../core/core.scaleService');\nvar Tooltip = require('./core.tooltip');\n\nmodule.exports = function(Chart) {\n\n\t// Create a dictionary of chart types, to allow for extension of existing types\n\tChart.types = {};\n\n\t// Store a reference to each instance - allowing us to globally resize chart instances on window resize.\n\t// Destroy method on the chart will remove the instance of the chart from this reference.\n\tChart.instances = {};\n\n\t// Controllers available for dataset visualization eg. bar, line, slice, etc.\n\tChart.controllers = {};\n\n\t/**\n\t * Initializes the given config with global and chart default values.\n\t */\n\tfunction initConfig(config) {\n\t\tconfig = config || {};\n\n\t\t// Do NOT use configMerge() for the data object because this method merges arrays\n\t\t// and so would change references to labels and datasets, preventing data updates.\n\t\tvar data = config.data = config.data || {};\n\t\tdata.datasets = data.datasets || [];\n\t\tdata.labels = data.labels || [];\n\n\t\tconfig.options = helpers.configMerge(\n\t\t\tdefaults.global,\n\t\t\tdefaults[config.type],\n\t\t\tconfig.options || {});\n\n\t\treturn config;\n\t}\n\n\t/**\n\t * Updates the config of the chart\n\t * @param chart {Chart} chart to update the options for\n\t */\n\tfunction updateConfig(chart) {\n\t\tvar newOptions = chart.options;\n\n\t\thelpers.each(chart.scales, function(scale) {\n\t\t\tlayouts.removeBox(chart, scale);\n\t\t});\n\n\t\tnewOptions = helpers.configMerge(\n\t\t\tChart.defaults.global,\n\t\t\tChart.defaults[chart.config.type],\n\t\t\tnewOptions);\n\n\t\tchart.options = chart.config.options = newOptions;\n\t\tchart.ensureScalesHaveIDs();\n\t\tchart.buildOrUpdateScales();\n\t\t// Tooltip\n\t\tchart.tooltip._options = newOptions.tooltips;\n\t\tchart.tooltip.initialize();\n\t}\n\n\tfunction positionIsHorizontal(position) {\n\t\treturn position === 'top' || position === 'bottom';\n\t}\n\n\thelpers.extend(Chart.prototype, /** @lends Chart */ {\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tconstruct: function(item, config) {\n\t\t\tvar me = this;\n\n\t\t\tconfig = initConfig(config);\n\n\t\t\tvar context = platform.acquireContext(item, config);\n\t\t\tvar canvas = context && context.canvas;\n\t\t\tvar height = canvas && canvas.height;\n\t\t\tvar width = canvas && canvas.width;\n\n\t\t\tme.id = helpers.uid();\n\t\t\tme.ctx = context;\n\t\t\tme.canvas = canvas;\n\t\t\tme.config = config;\n\t\t\tme.width = width;\n\t\t\tme.height = height;\n\t\t\tme.aspectRatio = height ? width / height : null;\n\t\t\tme.options = config.options;\n\t\t\tme._bufferedRender = false;\n\n\t\t\t/**\n\t\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\n\t\t\t * the \"instance\" still need to be defined since it might be called from plugins.\n\t\t\t * @prop Chart#chart\n\t\t\t * @deprecated since version 2.6.0\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tme.chart = me;\n\t\t\tme.controller = me; // chart.chart.controller #inception\n\n\t\t\t// Add the chart instance to the global namespace\n\t\t\tChart.instances[me.id] = me;\n\n\t\t\t// Define alias to the config data: `chart.data === chart.config.data`\n\t\t\tObject.defineProperty(me, 'data', {\n\t\t\t\tget: function() {\n\t\t\t\t\treturn me.config.data;\n\t\t\t\t},\n\t\t\t\tset: function(value) {\n\t\t\t\t\tme.config.data = value;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!context || !canvas) {\n\t\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\n\t\t\t\t// the chart initialization but after setting basic chart / controller properties that\n\t\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\n\t\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\n\t\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tme.initialize();\n\t\t\tme.update();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinitialize: function() {\n\t\t\tvar me = this;\n\n\t\t\t// Before init plugin notification\n\t\t\tplugins.notify(me, 'beforeInit');\n\n\t\t\thelpers.retinaScale(me, me.options.devicePixelRatio);\n\n\t\t\tme.bindEvents();\n\n\t\t\tif (me.options.responsive) {\n\t\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\n\t\t\t\tme.resize(true);\n\t\t\t}\n\n\t\t\t// Make sure scales have IDs and are built before we build any controllers.\n\t\t\tme.ensureScalesHaveIDs();\n\t\t\tme.buildOrUpdateScales();\n\t\t\tme.initToolTip();\n\n\t\t\t// After init plugin notification\n\t\t\tplugins.notify(me, 'afterInit');\n\n\t\t\treturn me;\n\t\t},\n\n\t\tclear: function() {\n\t\t\thelpers.canvas.clear(this);\n\t\t\treturn this;\n\t\t},\n\n\t\tstop: function() {\n\t\t\t// Stops any current animation loop occurring\n\t\t\tanimations.cancelAnimation(this);\n\t\t\treturn this;\n\t\t},\n\n\t\tresize: function(silent) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar canvas = me.canvas;\n\t\t\tvar aspectRatio = (options.maintainAspectRatio && me.aspectRatio) || null;\n\n\t\t\t// the canvas render width and height will be casted to integers so make sure that\n\t\t\t// the canvas display style uses the same integer values to avoid blurring effect.\n\n\t\t\t// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collapsed\n\t\t\tvar newWidth = Math.max(0, Math.floor(helpers.getMaximumWidth(canvas)));\n\t\t\tvar newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers.getMaximumHeight(canvas)));\n\n\t\t\tif (me.width === newWidth && me.height === newHeight) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcanvas.width = me.width = newWidth;\n\t\t\tcanvas.height = me.height = newHeight;\n\t\t\tcanvas.style.width = newWidth + 'px';\n\t\t\tcanvas.style.height = newHeight + 'px';\n\n\t\t\thelpers.retinaScale(me, options.devicePixelRatio);\n\n\t\t\tif (!silent) {\n\t\t\t\t// Notify any plugins about the resize\n\t\t\t\tvar newSize = {width: newWidth, height: newHeight};\n\t\t\t\tplugins.notify(me, 'resize', [newSize]);\n\n\t\t\t\t// Notify of resize\n\t\t\t\tif (me.options.onResize) {\n\t\t\t\t\tme.options.onResize(me, newSize);\n\t\t\t\t}\n\n\t\t\t\tme.stop();\n\t\t\t\tme.update({\n\t\t\t\t\tduration: me.options.responsiveAnimationDuration\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tensureScalesHaveIDs: function() {\n\t\t\tvar options = this.options;\n\t\t\tvar scalesOptions = options.scales || {};\n\t\t\tvar scaleOptions = options.scale;\n\n\t\t\thelpers.each(scalesOptions.xAxes, function(xAxisOptions, index) {\n\t\t\t\txAxisOptions.id = xAxisOptions.id || ('x-axis-' + index);\n\t\t\t});\n\n\t\t\thelpers.each(scalesOptions.yAxes, function(yAxisOptions, index) {\n\t\t\t\tyAxisOptions.id = yAxisOptions.id || ('y-axis-' + index);\n\t\t\t});\n\n\t\t\tif (scaleOptions) {\n\t\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Builds a map of scale ID to scale object for future lookup.\n\t\t */\n\t\tbuildOrUpdateScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar scales = me.scales || {};\n\t\t\tvar items = [];\n\t\t\tvar updated = Object.keys(scales).reduce(function(obj, id) {\n\t\t\t\tobj[id] = false;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\n\t\t\tif (options.scales) {\n\t\t\t\titems = items.concat(\n\t\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\n\t\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\n\t\t\t\t\t}),\n\t\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\n\t\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (options.scale) {\n\t\t\t\titems.push({\n\t\t\t\t\toptions: options.scale,\n\t\t\t\t\tdtype: 'radialLinear',\n\t\t\t\t\tisDefault: true,\n\t\t\t\t\tdposition: 'chartArea'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thelpers.each(items, function(item) {\n\t\t\t\tvar scaleOptions = item.options;\n\t\t\t\tvar id = scaleOptions.id;\n\t\t\t\tvar scaleType = helpers.valueOrDefault(scaleOptions.type, item.dtype);\n\n\t\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\n\t\t\t\t\tscaleOptions.position = item.dposition;\n\t\t\t\t}\n\n\t\t\t\tupdated[id] = true;\n\t\t\t\tvar scale = null;\n\t\t\t\tif (id in scales && scales[id].type === scaleType) {\n\t\t\t\t\tscale = scales[id];\n\t\t\t\t\tscale.options = scaleOptions;\n\t\t\t\t\tscale.ctx = me.ctx;\n\t\t\t\t\tscale.chart = me;\n\t\t\t\t} else {\n\t\t\t\t\tvar scaleClass = scaleService.getScaleConstructor(scaleType);\n\t\t\t\t\tif (!scaleClass) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tscale = new scaleClass({\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\ttype: scaleType,\n\t\t\t\t\t\toptions: scaleOptions,\n\t\t\t\t\t\tctx: me.ctx,\n\t\t\t\t\t\tchart: me\n\t\t\t\t\t});\n\t\t\t\t\tscales[scale.id] = scale;\n\t\t\t\t}\n\n\t\t\t\tscale.mergeTicksOptions();\n\n\t\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\n\t\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\n\t\t\t\t// make the logic easier and remove some useless? custom code.\n\t\t\t\tif (item.isDefault) {\n\t\t\t\t\tme.scale = scale;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// clear up discarded scales\n\t\t\thelpers.each(updated, function(hasUpdated, id) {\n\t\t\t\tif (!hasUpdated) {\n\t\t\t\t\tdelete scales[id];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tme.scales = scales;\n\n\t\t\tscaleService.addScalesToLayout(this);\n\t\t},\n\n\t\tbuildOrUpdateControllers: function() {\n\t\t\tvar me = this;\n\t\t\tvar types = [];\n\t\t\tvar newControllers = [];\n\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tvar meta = me.getDatasetMeta(datasetIndex);\n\t\t\t\tvar type = dataset.type || me.config.type;\n\n\t\t\t\tif (meta.type && meta.type !== type) {\n\t\t\t\t\tme.destroyDatasetMeta(datasetIndex);\n\t\t\t\t\tmeta = me.getDatasetMeta(datasetIndex);\n\t\t\t\t}\n\t\t\t\tmeta.type = type;\n\n\t\t\t\ttypes.push(meta.type);\n\n\t\t\t\tif (meta.controller) {\n\t\t\t\t\tmeta.controller.updateIndex(datasetIndex);\n\t\t\t\t\tmeta.controller.linkScales();\n\t\t\t\t} else {\n\t\t\t\t\tvar ControllerClass = Chart.controllers[meta.type];\n\t\t\t\t\tif (ControllerClass === undefined) {\n\t\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\n\t\t\t\t\t}\n\n\t\t\t\t\tmeta.controller = new ControllerClass(me, datasetIndex);\n\t\t\t\t\tnewControllers.push(meta.controller);\n\t\t\t\t}\n\t\t\t}, me);\n\n\t\t\treturn newControllers;\n\t\t},\n\n\t\t/**\n\t\t * Reset the elements of all datasets\n\t\t * @private\n\t\t */\n\t\tresetElements: function() {\n\t\t\tvar me = this;\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\n\t\t\t}, me);\n\t\t},\n\n\t\t/**\n\t\t* Resets the chart back to it's state before the initial animation\n\t\t*/\n\t\treset: function() {\n\t\t\tthis.resetElements();\n\t\t\tthis.tooltip.initialize();\n\t\t},\n\n\t\tupdate: function(config) {\n\t\t\tvar me = this;\n\n\t\t\tif (!config || typeof config !== 'object') {\n\t\t\t\t// backwards compatibility\n\t\t\t\tconfig = {\n\t\t\t\t\tduration: config,\n\t\t\t\t\tlazy: arguments[1]\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tupdateConfig(me);\n\n\t\t\t// plugins options references might have change, let's invalidate the cache\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n\t\t\tplugins._invalidate(me);\n\n\t\t\tif (plugins.notify(me, 'beforeUpdate') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In case the entire data object changed\n\t\t\tme.tooltip._data = me.data;\n\n\t\t\t// Make sure dataset controllers are updated and new controllers are reset\n\t\t\tvar newControllers = me.buildOrUpdateControllers();\n\n\t\t\t// Make sure all dataset controllers have correct meta data counts\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements();\n\t\t\t}, me);\n\n\t\t\tme.updateLayout();\n\n\t\t\t// Can only reset the new controllers after the scales have been updated\n\t\t\tif (me.options.animation && me.options.animation.duration) {\n\t\t\t\thelpers.each(newControllers, function(controller) {\n\t\t\t\t\tcontroller.reset();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme.updateDatasets();\n\n\t\t\t// Need to reset tooltip in case it is displayed with elements that are removed\n\t\t\t// after update.\n\t\t\tme.tooltip.initialize();\n\n\t\t\t// Last active contains items that were previously in the tooltip.\n\t\t\t// When we reset the tooltip, we need to clear it\n\t\t\tme.lastActive = [];\n\n\t\t\t// Do this before render so that any plugins that need final scale updates can use it\n\t\t\tplugins.notify(me, 'afterUpdate');\n\n\t\t\tif (me._bufferedRender) {\n\t\t\t\tme._bufferedRequest = {\n\t\t\t\t\tduration: config.duration,\n\t\t\t\t\teasing: config.easing,\n\t\t\t\t\tlazy: config.lazy\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tme.render(config);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\n\t\t * hook, in which case, plugins will not be called on `afterLayout`.\n\t\t * @private\n\t\t */\n\t\tupdateLayout: function() {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeLayout') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlayouts.update(this, this.width, this.height);\n\n\t\t\t/**\n\t\t\t * Provided for backward compatibility, use `afterLayout` instead.\n\t\t\t * @method IPlugin#afterScaleUpdate\n\t\t\t * @deprecated since version 2.5.0\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tplugins.notify(me, 'afterScaleUpdate');\n\t\t\tplugins.notify(me, 'afterLayout');\n\t\t},\n\n\t\t/**\n\t\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\n\t\t * @private\n\t\t */\n\t\tupdateDatasets: function() {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetsUpdate') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tme.updateDataset(i);\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterDatasetsUpdate');\n\t\t},\n\n\t\t/**\n\t\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\n\t\t * @private\n\t\t */\n\t\tupdateDataset: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getDatasetMeta(index);\n\t\t\tvar args = {\n\t\t\t\tmeta: meta,\n\t\t\t\tindex: index\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmeta.controller.update();\n\n\t\t\tplugins.notify(me, 'afterDatasetUpdate', [args]);\n\t\t},\n\n\t\trender: function(config) {\n\t\t\tvar me = this;\n\n\t\t\tif (!config || typeof config !== 'object') {\n\t\t\t\t// backwards compatibility\n\t\t\t\tconfig = {\n\t\t\t\t\tduration: config,\n\t\t\t\t\tlazy: arguments[1]\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar duration = config.duration;\n\t\t\tvar lazy = config.lazy;\n\n\t\t\tif (plugins.notify(me, 'beforeRender') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar animationOptions = me.options.animation;\n\t\t\tvar onComplete = function(animation) {\n\t\t\t\tplugins.notify(me, 'afterRender');\n\t\t\t\thelpers.callback(animationOptions && animationOptions.onComplete, [animation], me);\n\t\t\t};\n\n\t\t\tif (animationOptions && ((typeof duration !== 'undefined' && duration !== 0) || (typeof duration === 'undefined' && animationOptions.duration !== 0))) {\n\t\t\t\tvar animation = new Animation({\n\t\t\t\t\tnumSteps: (duration || animationOptions.duration) / 16.66, // 60 fps\n\t\t\t\t\teasing: config.easing || animationOptions.easing,\n\n\t\t\t\t\trender: function(chart, animationObject) {\n\t\t\t\t\t\tvar easingFunction = helpers.easing.effects[animationObject.easing];\n\t\t\t\t\t\tvar currentStep = animationObject.currentStep;\n\t\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\n\n\t\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\n\t\t\t\t\t},\n\n\t\t\t\t\tonAnimationProgress: animationOptions.onProgress,\n\t\t\t\t\tonAnimationComplete: onComplete\n\t\t\t\t});\n\n\t\t\t\tanimations.addAnimation(me, animation, duration, lazy);\n\t\t\t} else {\n\t\t\t\tme.draw();\n\n\t\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\n\t\t\t\tonComplete(new Animation({numSteps: 0, chart: me}));\n\t\t\t}\n\n\t\t\treturn me;\n\t\t},\n\n\t\tdraw: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tme.clear();\n\n\t\t\tif (helpers.isNullOrUndef(easingValue)) {\n\t\t\t\teasingValue = 1;\n\t\t\t}\n\n\t\t\tme.transition(easingValue);\n\n\t\t\tif (me.width <= 0 || me.height <= 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Draw all the scales\n\t\t\thelpers.each(me.boxes, function(box) {\n\t\t\t\tbox.draw(me.chartArea);\n\t\t\t}, me);\n\n\t\t\tif (me.scale) {\n\t\t\t\tme.scale.draw();\n\t\t\t}\n\n\t\t\tme.drawDatasets(easingValue);\n\t\t\tme._drawTooltip(easingValue);\n\n\t\t\tplugins.notify(me, 'afterDraw', [easingValue]);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\ttransition: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tfor (var i = 0, ilen = (me.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tif (me.isDatasetVisible(i)) {\n\t\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.tooltip.transition(easingValue);\n\t\t},\n\n\t\t/**\n\t\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\n\t\t * @private\n\t\t */\n\t\tdrawDatasets: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Draw datasets reversed to support proper line stacking\n\t\t\tfor (var i = (me.data.datasets || []).length - 1; i >= 0; --i) {\n\t\t\t\tif (me.isDatasetVisible(i)) {\n\t\t\t\t\tme.drawDataset(i, easingValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterDatasetsDraw', [easingValue]);\n\t\t},\n\n\t\t/**\n\t\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\n\t\t * @private\n\t\t */\n\t\tdrawDataset: function(index, easingValue) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getDatasetMeta(index);\n\t\t\tvar args = {\n\t\t\t\tmeta: meta,\n\t\t\t\tindex: index,\n\t\t\t\teasingValue: easingValue\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmeta.controller.draw(easingValue);\n\n\t\t\tplugins.notify(me, 'afterDatasetDraw', [args]);\n\t\t},\n\n\t\t/**\n\t\t * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`\n\t\t * hook, in which case, plugins will not be called on `afterTooltipDraw`.\n\t\t * @private\n\t\t */\n\t\t_drawTooltip: function(easingValue) {\n\t\t\tvar me = this;\n\t\t\tvar tooltip = me.tooltip;\n\t\t\tvar args = {\n\t\t\t\ttooltip: tooltip,\n\t\t\t\teasingValue: easingValue\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeTooltipDraw', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttooltip.draw();\n\n\t\t\tplugins.notify(me, 'afterTooltipDraw', [args]);\n\t\t},\n\n\t\t// Get the single element that was clicked on\n\t\t// @return : An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\n\t\tgetElementAtEvent: function(e) {\n\t\t\treturn Interaction.modes.single(this, e);\n\t\t},\n\n\t\tgetElementsAtEvent: function(e) {\n\t\t\treturn Interaction.modes.label(this, e, {intersect: true});\n\t\t},\n\n\t\tgetElementsAtXAxis: function(e) {\n\t\t\treturn Interaction.modes['x-axis'](this, e, {intersect: true});\n\t\t},\n\n\t\tgetElementsAtEventForMode: function(e, mode, options) {\n\t\t\tvar method = Interaction.modes[mode];\n\t\t\tif (typeof method === 'function') {\n\t\t\t\treturn method(this, e, options);\n\t\t\t}\n\n\t\t\treturn [];\n\t\t},\n\n\t\tgetDatasetAtEvent: function(e) {\n\t\t\treturn Interaction.modes.dataset(this, e, {intersect: true});\n\t\t},\n\n\t\tgetDatasetMeta: function(datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.data.datasets[datasetIndex];\n\t\t\tif (!dataset._meta) {\n\t\t\t\tdataset._meta = {};\n\t\t\t}\n\n\t\t\tvar meta = dataset._meta[me.id];\n\t\t\tif (!meta) {\n\t\t\t\tmeta = dataset._meta[me.id] = {\n\t\t\t\t\ttype: null,\n\t\t\t\t\tdata: [],\n\t\t\t\t\tdataset: null,\n\t\t\t\t\tcontroller: null,\n\t\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\n\t\t\t\t\txAxisID: null,\n\t\t\t\t\tyAxisID: null\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn meta;\n\t\t},\n\n\t\tgetVisibleDatasetCount: function() {\n\t\t\tvar count = 0;\n\t\t\tfor (var i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tif (this.isDatasetVisible(i)) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t},\n\n\t\tisDatasetVisible: function(datasetIndex) {\n\t\t\tvar meta = this.getDatasetMeta(datasetIndex);\n\n\t\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\n\t\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\n\t\t\treturn typeof meta.hidden === 'boolean' ? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\n\t\t},\n\n\t\tgenerateLegend: function() {\n\t\t\treturn this.options.legendCallback(this);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tdestroyDatasetMeta: function(datasetIndex) {\n\t\t\tvar id = this.id;\n\t\t\tvar dataset = this.data.datasets[datasetIndex];\n\t\t\tvar meta = dataset._meta && dataset._meta[id];\n\n\t\t\tif (meta) {\n\t\t\t\tmeta.controller.destroy();\n\t\t\t\tdelete dataset._meta[id];\n\t\t\t}\n\t\t},\n\n\t\tdestroy: function() {\n\t\t\tvar me = this;\n\t\t\tvar canvas = me.canvas;\n\t\t\tvar i, ilen;\n\n\t\t\tme.stop();\n\n\t\t\t// dataset controllers need to cleanup associated data\n\t\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tme.destroyDatasetMeta(i);\n\t\t\t}\n\n\t\t\tif (canvas) {\n\t\t\t\tme.unbindEvents();\n\t\t\t\thelpers.canvas.clear(me);\n\t\t\t\tplatform.releaseContext(me.ctx);\n\t\t\t\tme.canvas = null;\n\t\t\t\tme.ctx = null;\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'destroy');\n\n\t\t\tdelete Chart.instances[me.id];\n\t\t},\n\n\t\ttoBase64Image: function() {\n\t\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\n\t\t},\n\n\t\tinitToolTip: function() {\n\t\t\tvar me = this;\n\t\t\tme.tooltip = new Tooltip({\n\t\t\t\t_chart: me,\n\t\t\t\t_chartInstance: me, // deprecated, backward compatibility\n\t\t\t\t_data: me.data,\n\t\t\t\t_options: me.options.tooltips\n\t\t\t}, me);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tbindEvents: function() {\n\t\t\tvar me = this;\n\t\t\tvar listeners = me._listeners = {};\n\t\t\tvar listener = function() {\n\t\t\t\tme.eventHandler.apply(me, arguments);\n\t\t\t};\n\n\t\t\thelpers.each(me.options.events, function(type) {\n\t\t\t\tplatform.addEventListener(me, type, listener);\n\t\t\t\tlisteners[type] = listener;\n\t\t\t});\n\n\t\t\t// Elements used to detect size change should not be injected for non responsive charts.\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/2210\n\t\t\tif (me.options.responsive) {\n\t\t\t\tlistener = function() {\n\t\t\t\t\tme.resize();\n\t\t\t\t};\n\n\t\t\t\tplatform.addEventListener(me, 'resize', listener);\n\t\t\t\tlisteners.resize = listener;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tunbindEvents: function() {\n\t\t\tvar me = this;\n\t\t\tvar listeners = me._listeners;\n\t\t\tif (!listeners) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdelete me._listeners;\n\t\t\thelpers.each(listeners, function(listener, type) {\n\t\t\t\tplatform.removeEventListener(me, type, listener);\n\t\t\t});\n\t\t},\n\n\t\tupdateHoverStyle: function(elements, mode, enabled) {\n\t\t\tvar method = enabled ? 'setHoverStyle' : 'removeHoverStyle';\n\t\t\tvar element, i, ilen;\n\n\t\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\n\t\t\t\telement = elements[i];\n\t\t\t\tif (element) {\n\t\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[method](element);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\teventHandler: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar tooltip = me.tooltip;\n\n\t\t\tif (plugins.notify(me, 'beforeEvent', [e]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Buffer any update calls so that renders do not occur\n\t\t\tme._bufferedRender = true;\n\t\t\tme._bufferedRequest = null;\n\n\t\t\tvar changed = me.handleEvent(e);\n\t\t\t// for smooth tooltip animations issue #4989\n\t\t\t// the tooltip should be the source of change\n\t\t\t// Animation check workaround:\n\t\t\t// tooltip._start will be null when tooltip isn't animating\n\t\t\tif (tooltip) {\n\t\t\t\tchanged = tooltip._start\n\t\t\t\t\t? tooltip.handleEvent(e)\n\t\t\t\t\t: changed | tooltip.handleEvent(e);\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterEvent', [e]);\n\n\t\t\tvar bufferedRequest = me._bufferedRequest;\n\t\t\tif (bufferedRequest) {\n\t\t\t\t// If we have an update that was triggered, we need to do a normal render\n\t\t\t\tme.render(bufferedRequest);\n\t\t\t} else if (changed && !me.animating) {\n\t\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\n\t\t\t\tme.stop();\n\n\t\t\t\t// We only need to render at this point. Updating will cause scales to be\n\t\t\t\t// recomputed generating flicker & using more memory than necessary.\n\t\t\t\tme.render({\n\t\t\t\t\tduration: me.options.hover.animationDuration,\n\t\t\t\t\tlazy: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme._bufferedRender = false;\n\t\t\tme._bufferedRequest = null;\n\n\t\t\treturn me;\n\t\t},\n\n\t\t/**\n\t\t * Handle an event\n\t\t * @private\n\t\t * @param {IEvent} event the event to handle\n\t\t * @return {Boolean} true if the chart needs to re-render\n\t\t */\n\t\thandleEvent: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options || {};\n\t\t\tvar hoverOptions = options.hover;\n\t\t\tvar changed = false;\n\n\t\t\tme.lastActive = me.lastActive || [];\n\n\t\t\t// Find Active Elements for hover and tooltips\n\t\t\tif (e.type === 'mouseout') {\n\t\t\t\tme.active = [];\n\t\t\t} else {\n\t\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\n\t\t\t}\n\n\t\t\t// Invoke onHover hook\n\t\t\t// Need to call with native event here to not break backwards compatibility\n\t\t\thelpers.callback(options.onHover || options.hover.onHover, [e.native, me.active], me);\n\n\t\t\tif (e.type === 'mouseup' || e.type === 'click') {\n\t\t\t\tif (options.onClick) {\n\t\t\t\t\t// Use e.native here for backwards compatibility\n\t\t\t\t\toptions.onClick.call(me, e.native, me.active);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove styling for last active (even if it may still be active)\n\t\t\tif (me.lastActive.length) {\n\t\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\n\t\t\t}\n\n\t\t\t// Built in hover styling\n\t\t\tif (me.active.length && hoverOptions.mode) {\n\t\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\n\t\t\t}\n\n\t\t\tchanged = !helpers.arrayEquals(me.active, me.lastActive);\n\n\t\t\t// Remember Last Actives\n\t\t\tme.lastActive = me.active;\n\n\t\t\treturn changed;\n\t\t}\n\t});\n\n\t/**\n\t * Provided for backward compatibility, use Chart instead.\n\t * @class Chart.Controller\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t * @private\n\t */\n\tChart.Controller = Chart;\n};\n","/* MIT license */\nvar convert = require('color-convert');\nvar string = require('chartjs-color-string');\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = string.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = string.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = string.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn string.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn string.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn string.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn string.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn string.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn string.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn string.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn string.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = convert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nmodule.exports = Color;\n","var each = require('@turf/meta').coordEach;\n\n/**\n * Takes a set of features, calculates the bbox of all input features, and returns a bounding box.\n *\n * @name bbox\n * @param {(Feature|FeatureCollection)} geojson input features\n * @returns {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @addToMap features, bboxPolygon\n * @example\n * var pt1 = turf.point([114.175329, 22.2524])\n * var pt2 = turf.point([114.170007, 22.267969])\n * var pt3 = turf.point([114.200649, 22.274641])\n * var pt4 = turf.point([114.200649, 22.274641])\n * var pt5 = turf.point([114.186744, 22.265745])\n * var features = turf.featureCollection([pt1, pt2, pt3, pt4, pt5])\n *\n * var bbox = turf.bbox(features);\n *\n * var bboxPolygon = turf.bboxPolygon(bbox);\n *\n * //=bbox\n *\n * //=bboxPolygon\n */\nmodule.exports = function (geojson) {\n var bbox = [Infinity, Infinity, -Infinity, -Infinity];\n each(geojson, function (coord) {\n if (bbox[0] > coord[0]) bbox[0] = coord[0];\n if (bbox[1] > coord[1]) bbox[1] = coord[1];\n if (bbox[2] < coord[0]) bbox[2] = coord[0];\n if (bbox[3] < coord[1]) bbox[3] = coord[1];\n });\n return bbox;\n};\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapAdditionalActions.vue?vue&type=style&index=0&id=ad91b49a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneMapAdditionalActions.vue?vue&type=style&index=0&id=ad91b49a&lang=scss&scoped=true&\"","var inside = require('@turf/inside');\nvar calcBbox = require('@turf/bbox');\nvar invariant = require('@turf/invariant');\nvar isPointOnLine = require('@turf/boolean-point-on-line');\nvar getGeom = invariant.getGeom;\nvar getGeomType = invariant.getGeomType;\n\n/**\n * Boolean-within returns true if the first geometry is completely within the second geometry.\n * The interiors of both geometries must intersect and, the interior and boundary of the primary (geometry a)\n * must not intersect the exterior of the secondary (geometry b).\n * Boolean-within returns the exact opposite result of the `@turf/boolean-contains`.\n *\n * @name booleanWithin\n * @param {Geometry|Feature} feature1 GeoJSON Feature or Geometry\n * @param {Geometry|Feature} feature2 GeoJSON Feature or Geometry\n * @returns {boolean} true/false\n * @example\n * const line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);\n * const point = turf.point([1, 2]);\n *\n * turf.booleanWithin(point, line);\n * //=true\n */\nmodule.exports = function (feature1, feature2) {\n var type1 = getGeomType(feature1);\n var type2 = getGeomType(feature2);\n var geom1 = getGeom(feature1);\n var geom2 = getGeom(feature2);\n\n switch (type1) {\n case 'Point':\n switch (type2) {\n case 'MultiPoint':\n return isPointInMultiPoint(geom1, geom2);\n case 'LineString':\n return isPointOnLine(geom1, geom2, true);\n case 'Polygon':\n return inside(geom1, geom2, true);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'MultiPoint':\n switch (type2) {\n case 'MultiPoint':\n return isMultiPointInMultiPoint(geom1, geom2);\n case 'LineString':\n return isMultiPointOnLine(geom1, geom2);\n case 'Polygon':\n return isMultiPointInPoly(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'LineString':\n switch (type2) {\n case 'LineString':\n return isLineOnLine(geom1, geom2);\n case 'Polygon':\n return isLineInPoly(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'Polygon':\n switch (type2) {\n case 'Polygon':\n return isPolyInPoly(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n default:\n throw new Error('feature1 ' + type1 + ' geometry not supported');\n }\n};\n\nfunction isPointInMultiPoint(point, multiPoint) {\n var i;\n var output = false;\n for (i = 0; i < multiPoint.coordinates.length; i++) {\n if (compareCoords(multiPoint.coordinates[i], point.coordinates)) {\n output = true;\n break;\n }\n }\n return output;\n}\n\nfunction isMultiPointInMultiPoint(multiPoint1, multiPoint2) {\n for (var i = 0; i < multiPoint1.coordinates.length; i++) {\n var anyMatch = false;\n for (var i2 = 0; i2 < multiPoint2.coordinates.length; i2++) {\n if (compareCoords(multiPoint1.coordinates[i], multiPoint2.coordinates[i2])) {\n anyMatch = true;\n }\n }\n if (!anyMatch) {\n return false;\n }\n }\n return true;\n}\n\nfunction isMultiPointOnLine(multiPoint, lineString) {\n var foundInsidePoint = false;\n\n for (var i = 0; i < multiPoint.coordinates.length; i++) {\n if (!isPointOnLine(multiPoint.coordinates[i], lineString)) {\n return false;\n }\n if (!foundInsidePoint) {\n foundInsidePoint = isPointOnLine(multiPoint.coordinates[i], lineString, true);\n }\n }\n return foundInsidePoint;\n}\n\nfunction isMultiPointInPoly(multiPoint, polygon) {\n var output = true;\n var oneInside = false;\n for (var i = 0; i < multiPoint.coordinates.length; i++) {\n var isInside = inside(multiPoint.coordinates[1], polygon);\n if (!isInside) {\n output = false;\n break;\n }\n if (!oneInside) {\n isInside = inside(multiPoint.coordinates[1], polygon, true);\n }\n }\n return output && isInside;\n}\n\nfunction isLineOnLine(lineString1, lineString2) {\n for (var i = 0; i < lineString1.coordinates.length; i++) {\n if (!isPointOnLine(lineString1.coordinates[i], lineString2)) {\n return false;\n }\n }\n return true;\n}\n\nfunction isLineInPoly(linestring, polygon) {\n var polyBbox = calcBbox(polygon);\n var lineBbox = calcBbox(linestring);\n if (!doBBoxOverlap(polyBbox, lineBbox)) {\n return false;\n }\n var foundInsidePoint = false;\n\n for (var i = 0; i < linestring.coordinates.length - 1; i++) {\n if (!inside(linestring.coordinates[i], polygon)) {\n return false;\n }\n if (!foundInsidePoint) {\n foundInsidePoint = inside(linestring.coordinates[i], polygon, true);\n }\n if (!foundInsidePoint) {\n var midpoint = getMidpoint(linestring.coordinates[i], linestring.coordinates[i + 1]);\n foundInsidePoint = inside(midpoint, polygon, true);\n\n }\n }\n return foundInsidePoint;\n}\n\n/**\n * Is Polygon2 in Polygon1\n * Only takes into account outer rings\n *\n * @private\n * @param {Geometry|Feature} feature1 Polygon1\n * @param {Geometry|Feature} feature2 Polygon2\n * @returns {boolean} true/false\n */\nfunction isPolyInPoly(feature1, feature2) {\n var poly1Bbox = calcBbox(feature1);\n var poly2Bbox = calcBbox(feature2);\n if (!doBBoxOverlap(poly2Bbox, poly1Bbox)) {\n return false;\n }\n for (var i = 0; i < feature1.coordinates[0].length; i++) {\n if (!inside(feature1.coordinates[0][i], feature2)) {\n return false;\n }\n }\n return true;\n}\n\nfunction doBBoxOverlap(bbox1, bbox2) {\n if (bbox1[0] > bbox2[0]) return false;\n if (bbox1[2] < bbox2[2]) return false;\n if (bbox1[1] > bbox2[1]) return false;\n if (bbox1[3] < bbox2[3]) return false;\n return true;\n}\n\n/**\n * compareCoords\n *\n * @private\n * @param {[number, number]} pair1 point [x,y]\n * @param {[number, number]} pair2 point [x,y]\n * @returns {boolean} true/false if coord pairs match\n */\nfunction compareCoords(pair1, pair2) {\n return pair1[0] === pair2[0] && pair1[1] === pair2[1];\n}\n\n/**\n * getMidpoint\n *\n * @private\n * @param {[number, number]} pair1 point [x,y]\n * @param {[number, number]} pair2 point [x,y]\n * @returns {[number, number]} midpoint of pair1 and pair2\n */\nfunction getMidpoint(pair1, pair2) {\n return [(pair1[0] + pair2[0]) / 2, (pair1[1] + pair2[1]) / 2];\n}\n","'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Line = function(context, config) {\n\t\tconfig.type = 'line';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n","var distance = require('@turf/distance');\nvar helpers = require('@turf/helpers');\nvar point = helpers.point;\nvar polygon = helpers.polygon;\nvar featureCollection = helpers.featureCollection;\n\n// Precompute cosines and sines of angles used in hexagon creation\n// for performance gain\nvar cosines = [];\nvar sines = [];\nfor (var i = 0; i < 6; i++) {\n var angle = 2 * Math.PI / 6 * i;\n cosines.push(Math.cos(angle));\n sines.push(Math.sin(angle));\n}\n\n/**\n * Takes a bounding box and the diameter of the cell and returns a {@link FeatureCollection} of flat-topped\n * hexagons or triangles ({@link Polygon} features) aligned in an \"odd-q\" vertical grid as\n * described in [Hexagonal Grids](http://www.redblobgames.com/grids/hexagons/).\n *\n * @name hexGrid\n * @param {Array} bbox extent in [minX, minY, maxX, maxY] order\n * @param {number} cellDiameter diameter of the circumcircle of the hexagons, in specified units\n * @param {string} [units=kilometers] used in calculating cell size, can be degrees, radians, miles, or kilometers\n * @param {boolean} [triangles=false] whether to return as triangles instead of hexagons\n * @returns {FeatureCollection} a hexagonal grid\n * @example\n * var bbox = [-96,31,-84,40];\n * var cellDiameter = 50;\n * var units = 'miles';\n *\n * var hexgrid = turf.hexGrid(bbox, cellDiameter, units);\n *\n * //addToMap\n * var addToMap = [hexgrid];\n */\nmodule.exports = function hexGrid(bbox, cellDiameter, units, triangles) {\n var west = bbox[0];\n var south = bbox[1];\n var east = bbox[2];\n var north = bbox[3];\n var centerY = (south + north) / 2;\n var centerX = (west + east) / 2;\n\n // https://github.com/Turfjs/turf/issues/758\n var xFraction = cellDiameter / (distance(point([west, centerY]), point([east, centerY]), units));\n var cellWidth = xFraction * (east - west);\n var yFraction = cellDiameter / (distance(point([centerX, south]), point([centerX, north]), units));\n var cellHeight = yFraction * (north - south);\n var radius = cellWidth / 2;\n\n var hex_width = radius * 2;\n var hex_height = Math.sqrt(3) / 2 * cellHeight;\n\n var box_width = east - west;\n var box_height = north - south;\n\n var x_interval = 3 / 4 * hex_width;\n var y_interval = hex_height;\n\n var x_span = box_width / (hex_width - radius / 2);\n var x_count = Math.ceil(x_span);\n if (Math.round(x_span) === x_count) {\n x_count++;\n }\n\n var x_adjust = ((x_count * x_interval - radius / 2) - box_width) / 2 - radius / 2;\n\n var y_count = Math.ceil(box_height / hex_height);\n\n var y_adjust = (box_height - y_count * hex_height) / 2;\n\n var hasOffsetY = y_count * hex_height - box_height > hex_height / 2;\n if (hasOffsetY) {\n y_adjust -= hex_height / 4;\n }\n\n var fc = featureCollection([]);\n for (var x = 0; x < x_count; x++) {\n for (var y = 0; y <= y_count; y++) {\n\n var isOdd = x % 2 === 1;\n if (y === 0 && isOdd) {\n continue;\n }\n\n if (y === 0 && hasOffsetY) {\n continue;\n }\n\n var center_x = x * x_interval + west - x_adjust;\n var center_y = y * y_interval + south + y_adjust;\n\n if (isOdd) {\n center_y -= hex_height / 2;\n }\n if (triangles) {\n fc.features.push.apply(fc.features, hexTriangles([center_x, center_y], cellWidth / 2, cellHeight / 2));\n } else {\n fc.features.push(hexagon([center_x, center_y], cellWidth / 2, cellHeight / 2));\n }\n }\n }\n\n return fc;\n};\n\n//Center should be [x, y]\nfunction hexagon(center, rx, ry) {\n var vertices = [];\n for (var i = 0; i < 6; i++) {\n var x = center[0] + rx * cosines[i];\n var y = center[1] + ry * sines[i];\n vertices.push([x, y]);\n }\n //first and last vertex must be the same\n vertices.push(vertices[0].slice());\n return polygon([vertices]);\n}\n\n//Center should be [x, y]\nfunction hexTriangles(center, rx, ry) {\n var triangles = [];\n for (var i = 0; i < 6; i++) {\n var vertices = [];\n vertices.push(center);\n vertices.push([\n center[0] + rx * cosines[i],\n center[1] + ry * sines[i]\n ]);\n vertices.push([\n center[0] + rx * cosines[(i + 1) % 6],\n center[1] + ry * sines[(i + 1) % 6]\n ]);\n vertices.push(center);\n triangles.push(polygon([vertices]));\n }\n return triangles;\n}\n","var meta = require('@turf/meta');\nvar invariant = require('@turf/invariant');\nvar rhumbDestination = require('@turf/rhumb-destination');\nvar coordEach = meta.coordEach;\nvar getCoords = invariant.getCoords;\n\n/**\n * Moves any geojson Feature or Geometry of a specified distance along a Rhumb Line\n * on the provided direction angle.\n *\n * @name transformTranslate\n * @param {GeoJSON} geojson object to be translated\n * @param {number} distance length of the motion; negative values determine motion in opposite direction\n * @param {number} direction of the motion; angle from North in decimal degrees, positive clockwise\n * @param {string} [units=kilometers] in which `distance` will be express; miles, kilometers, degrees, or radians\n * @param {number} [zTranslation=0] length of the vertical motion, same unit of distance\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {GeoJSON} the translated GeoJSON object\n * @example\n * var poly = turf.polygon([[[0,29],[3.5,29],[2.5,32],[0,29]]]);\n * var translatedPoly = turf.transformTranslate(poly, 100, 35);\n *\n * //addToMap\n * var addToMap = [poly, translatedPoly];\n * translatedPoly.properties = {stroke: '#F00', 'stroke-width': 4};\n */\nmodule.exports = function (geojson, distance, direction, units, zTranslation, mutate) {\n // Input validation\n if (!geojson) throw new Error('geojson is required');\n if (distance === undefined || distance === null || isNaN(distance)) throw new Error('distance is required');\n if (zTranslation && typeof zTranslation !== 'number' && isNaN(zTranslation)) throw new Error('zTranslation is not a number');\n\n // Shortcut no-motion\n zTranslation = (zTranslation !== undefined) ? zTranslation : 0;\n if (distance === 0 && zTranslation === 0) return geojson;\n\n if (direction === undefined || direction === null || isNaN(direction)) throw new Error('direction is required');\n\n // Invert with negative distances\n if (distance < 0) {\n distance = -distance;\n direction = -direction;\n }\n\n // Clone geojson to avoid side effects\n if (mutate === false || mutate === undefined) geojson = JSON.parse(JSON.stringify(geojson));\n\n // Translate each coordinate\n coordEach(geojson, function (pointCoords) {\n var newCoords = getCoords(rhumbDestination(pointCoords, distance, direction, units));\n pointCoords[0] = newCoords[0];\n pointCoords[1] = newCoords[1];\n if (zTranslation && pointCoords.length === 3) pointCoords[2] += zTranslation;\n });\n return geojson;\n};\n","var helpers = require('@turf/helpers');\nvar inside = require('@turf/inside');\nvar lineIntersect = require('@turf/line-intersect');\nvar polyToLinestring = require('@turf/polygon-to-linestring');\nvar invariant = require('@turf/invariant');\nvar getGeom = invariant.getGeom;\nvar getGeomType = invariant.getGeomType;\n\n/**\n * Boolean-Crosses returns True if the intersection results in a geometry whose dimension is one less than\n * the maximum dimension of the two source geometries and the intersection set is interior to\n * both source geometries.\n *\n * Boolean-Crosses returns t (TRUE) for only multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, and linestring/multipolygon comparisons.\n *\n * @name booleanCrosses\n * @param {Geometry|Feature} feature1 GeoJSON Feature or Geometry\n * @param {Geometry|Feature} feature2 GeoJSON Feature or Geometry\n * @returns {boolean} true/false\n * @example\n * var line1 = turf.lineString([[-2, 2], [4, 2]]);\n * var line2 = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);\n *\n * var cross = turf.booleanCrosses(line1, line2);\n * //=true\n */\nmodule.exports = function (feature1, feature2) {\n var type1 = getGeomType(feature1);\n var type2 = getGeomType(feature2);\n var geom1 = getGeom(feature1);\n var geom2 = getGeom(feature2);\n\n switch (type1) {\n case 'MultiPoint':\n switch (type2) {\n case 'LineString':\n return doMultiPointAndLineStringCross(geom1, geom2);\n case 'Polygon':\n return doesMultiPointCrossPoly(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'LineString':\n switch (type2) {\n case 'MultiPoint': // An inverse operation\n return doMultiPointAndLineStringCross(geom2, geom1);\n case 'LineString':\n return doLineStringsCross(geom1, geom2);\n case 'Polygon':\n return doLineStringAndPolygonCross(geom1, geom2);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n case 'Polygon':\n switch (type2) {\n case 'MultiPoint': // An inverse operation\n return doesMultiPointCrossPoly(geom2, geom1);\n case 'LineString': // An inverse operation\n return doLineStringAndPolygonCross(geom2, geom1);\n default:\n throw new Error('feature2 ' + type2 + ' geometry not supported');\n }\n default:\n throw new Error('feature1 ' + type1 + ' geometry not supported');\n }\n};\n\nfunction doMultiPointAndLineStringCross(multiPoint, lineString) {\n var foundIntPoint = false;\n var foundExtPoint = false;\n var pointLength = multiPoint.coordinates.length;\n var i = 0;\n while (i < pointLength && !foundIntPoint && !foundExtPoint) {\n for (var i2 = 0; i2 < lineString.coordinates.length - 1; i2++) {\n var incEndVertices = true;\n if (i2 === 0 || i2 === lineString.coordinates.length - 2) {\n incEndVertices = false;\n }\n if (isPointOnLineSegment(lineString.coordinates[i2], lineString.coordinates[i2 + 1], multiPoint.coordinates[i], incEndVertices)) {\n foundIntPoint = true;\n } else {\n foundExtPoint = true;\n }\n }\n i++;\n }\n return foundIntPoint && foundExtPoint;\n}\n\nfunction doLineStringsCross(lineString1, lineString2) {\n var doLinesIntersect = lineIntersect(lineString1, lineString2);\n if (doLinesIntersect.features.length > 0) {\n for (var i = 0; i < lineString1.coordinates.length - 1; i++) {\n for (var i2 = 0; i2 < lineString2.coordinates.length - 1; i2++) {\n var incEndVertices = true;\n if (i2 === 0 || i2 === lineString2.coordinates.length - 2) {\n incEndVertices = false;\n }\n if (isPointOnLineSegment(lineString1.coordinates[i], lineString1.coordinates[i + 1], lineString2.coordinates[i2], incEndVertices)) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nfunction doLineStringAndPolygonCross(lineString, polygon) {\n var doLinesIntersect = lineIntersect(lineString, polyToLinestring(polygon));\n if (doLinesIntersect.features.length > 0) {\n return true;\n }\n return false;\n}\n\nfunction isPointInPoly(polygon, point) {\n return inside(point, polygon);\n}\n\nfunction doesMultiPointCrossPoly(multiPoint, polygon) {\n var foundIntPoint = false;\n var foundExtPoint = false;\n var pointLength = multiPoint.coordinates[0].length;\n var i = 0;\n while (i < pointLength && foundIntPoint && foundExtPoint) {\n if (isPointInPoly(polygon, helpers.point(multiPoint.coordinates[0][i]), true)) {\n foundIntPoint = true;\n } else {\n foundExtPoint = true;\n }\n i++;\n }\n\n return foundExtPoint && foundExtPoint;\n}\n\n/**\n * Is a point on a line segment\n * Only takes into account outer rings\n * See http://stackoverflow.com/a/4833823/1979085\n *\n * @private\n * @param {Array} lineSegmentStart coord pair of start of line\n * @param {Array} lineSegmentEnd coord pair of end of line\n * @param {Array} point coord pair of point to check\n * @param {boolean} incEnd whether the point is allowed to fall on the line ends\n * @returns {boolean} true/false\n */\nfunction isPointOnLineSegment(lineSegmentStart, lineSegmentEnd, point, incEnd) {\n var dxc = point[0] - lineSegmentStart[0];\n var dyc = point[1] - lineSegmentStart[1];\n var dxl = lineSegmentEnd[0] - lineSegmentStart[0];\n var dyl = lineSegmentEnd[1] - lineSegmentStart[1];\n var cross = dxc * dyl - dyc * dxl;\n if (cross !== 0) {\n return false;\n }\n if (incEnd) {\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n return dxl > 0 ? lineSegmentStart[0] <= point[0] && point[0] <= lineSegmentEnd[0] : lineSegmentEnd[0] <= point[0] && point[0] <= lineSegmentStart[0];\n }\n return dyl > 0 ? lineSegmentStart[1] <= point[1] && point[1] <= lineSegmentEnd[1] : lineSegmentEnd[1] <= point[1] && point[1] <= lineSegmentStart[1];\n } else {\n if (Math.abs(dxl) >= Math.abs(dyl)) {\n return dxl > 0 ? lineSegmentStart[0] < point[0] && point[0] < lineSegmentEnd[0] : lineSegmentEnd[0] < point[0] && point[0] < lineSegmentStart[0];\n }\n return dyl > 0 ? lineSegmentStart[1] < point[1] && point[1] < lineSegmentEnd[1] : lineSegmentEnd[1] < point[1] && point[1] < lineSegmentStart[1];\n }\n}\n","/**\n* @license get-closest https://github.com/cosmosio/get-closest\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2017 Olivier Scherrer \n*/\n\"use strict\";\n\n/**\n * Get the closest number in an array\n * @param {Number} item the base number\n * @param {Array} array the array to search into\n * @param {Function} getDiff returns the difference between the base number and\n * and the currently read item in the array. The item which returned the smallest difference wins.\n * @private\n */\nfunction _getClosest(item, array, getDiff) {\n var closest,\n diff;\n\n if (!Array.isArray(array)) {\n throw new Error(\"Get closest expects an array as second argument\");\n }\n\n array.forEach(function (comparedItem, comparedItemIndex) {\n var thisDiff = getDiff(comparedItem, item);\n\n if (thisDiff >= 0 && (typeof diff == \"undefined\" || thisDiff < diff)) {\n diff = thisDiff;\n closest = comparedItemIndex;\n }\n });\n\n return closest;\n}\n\nmodule.exports = {\n\n /**\n * Get the closest number in an array given a base number\n * Example: closest(30, [20, 0, 50, 29]) will return 3 as 29 is the closest item\n * @param {Number} item the base number\n * @param {Array} array the array of numbers to search into\n * @returns {Number} the index of the closest item in the array\n */\n number: function closestNumber(item, array) {\n return _getClosest(item, array, function (comparedItem, item) {\n return Math.abs(comparedItem - item);\n });\n },\n\n /**\n * Get the closest greater number in an array given a base number\n * Example: closest(30, [20, 0, 50, 29]) will return 2 as 50 is the closest greater item\n * @param {Number} item the base number\n * @param {Array} array the array of numbers to search into\n * @returns {Number} the index of the closest item in the array\n */\n greaterNumber: function closestGreaterNumber(item, array) {\n return _getClosest(item, array, function (comparedItem, item) {\n return comparedItem - item;\n });\n },\n\n /**\n * Get the closest lower number in an array given a base number\n * Example: closest(30, [20, 0, 50, 29]) will return 0 as 20 is the closest lower item\n * @param {Number} item the base number\n * @param {Array} array the array of numbers to search into\n * @returns {Number} the index of the closest item in the array\n */\n lowerNumber: function closestLowerNumber(item, array) {\n return _getClosest(item, array, function (comparedItem, item) {\n return item - comparedItem;\n });\n },\n\n /**\n * Get the closest item in an array given a base item and a comparator function\n * Example (closest(\"lundi\", [\"mundi\", \"mardi\"], getLevenshteinDistance)) will return 0 for \"lundi\"\n * @param {*} item the base item\n * @param {Array} array an array of items\n * @param {Function} comparator a comparatof function to compare the items\n *\n * The function looks like:\n *\n * // comparedItem comes from the array\n * // baseItem is the item to compare the others to\n * // It returns a number\n * function comparator(comparedItem, baseItem) {\n * return comparedItem - baseItem;\n * }\n */\n custom: function closestCustom(item, array, comparator) {\n return _getClosest(item, array, comparator);\n }\n\n};\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('i',{staticClass:\"fa\",class:[_vm.props.value === null ? 'fa-question' : _vm.props.value ? 'fa-check' : 'fa-close']})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTableBoolean.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTableBoolean.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleTableBoolean.vue?vue&type=template&id=376a24ea&lang=html&functional=true&\"\nimport script from \"./SimpleTableBoolean.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleTableBoolean.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\r\n props: {\r\n value: {},\r\n type: String\r\n },\r\n functional: true,\r\n render (h, context) {\r\n return h('span', context.props.value.map(value => value.name || value).join(', '))\r\n }\r\n}\r\n","import SimpleTableBoolean from './SimpleTableBoolean'\r\nimport SimpleTableStringArray from './SimpleTableStringArray'\r\nimport {format} from 'src/js/i18n/conversion'\r\n\r\nexport default {\r\n props: {\r\n value: {},\r\n type: String,\r\n formatString: String\r\n },\r\n functional: true,\r\n render (h, context) {\r\n const {value, type, formatString} = context.props\r\n\r\n if (Array.isArray(value)) {\r\n return h(SimpleTableStringArray, {props: {value, type}})\r\n } else if (typeof value === 'boolean' || type === 'boolean') {\r\n return h(SimpleTableBoolean, {props: {value}})\r\n } else if (value !== null && (typeof value === 'number' || type === 'number')) {\r\n return h('span', format(value, formatString))\r\n } else if (value !== null && (type === 'date' || type === 'datetime')) {\r\n return h('span', format(value, type))\r\n } else if (value && value.name) {\r\n return h('span', value.name)\r\n } else {\r\n return h('span', (value !== null && value !== undefined) ? value.toString() : '')\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LabelAndMessage',{scopedSlots:_vm._u([(_vm.$slots.label)?{key:\"label\",fn:function(){return [_vm._t(\"label\")]},proxy:true}:null,(_vm.$slots.description)?{key:\"description\",fn:function(){return [_vm._t(\"description\")]},proxy:true}:null],null,true)},[_c('div',{staticClass:\"inputs\"},[_vm._l((_vm.sortedZones),function(zone,index){return [_c('div',{key:zone.id,staticClass:\"input-row\",class:{'hide-zone-labels': _vm.hideZoneLabels}},[(!_vm.hideZoneLabels)?_c('label',{staticClass:\"zone-label\"},[_c('i',{staticClass:\"fa fa-square\",style:({color: _vm.zoneColors[zone.id]})}),_c('span',[_vm._v(\"Zone \"+_vm._s(zone.number))]),_c('small',{staticClass:\"area-stats\"},[_vm._v(\"(\"+_vm._s(_vm.$i18n.format(zone.area, 'area'))+\" = \"+_vm._s(_vm.$i18n.format(zone.area / _vm.totalArea, 'percent'))+\")\")])]):_vm._e(),_vm._t(\"default\",null,{\"zone\":zone,\"index\":index,\"value\":_vm.value && _vm.value[zone.id] !== undefined ? _vm.value[zone.id] : null,\"onInput\":function (x) { return _vm.onInput(zone.id, x); }})],2)]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ZoneInput.vue?vue&type=template&id=4937a748&scoped=true&lang=html&\"\nimport script from \"./ZoneInput.vue?vue&type=script&lang=js&\"\nexport * from \"./ZoneInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZoneInput.vue?vue&type=style&index=0&id=4937a748&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4937a748\",\n null\n \n)\n\nexport default component.exports","'use strict';\n\nvar Scale = require('../core/core.scale');\nvar scaleService = require('../core/core.scaleService');\n\nmodule.exports = function() {\n\n\t// Default config for a category scale\n\tvar defaultConfig = {\n\t\tposition: 'bottom'\n\t};\n\n\tvar DatasetScale = Scale.extend({\n\t\t/**\n\t\t* Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those\n\t\t* else fall back to data.labels\n\t\t* @private\n\t\t*/\n\t\tgetLabels: function() {\n\t\t\tvar data = this.chart.data;\n\t\t\treturn this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels;\n\t\t},\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar labels = me.getLabels();\n\t\t\tme.minIndex = 0;\n\t\t\tme.maxIndex = labels.length - 1;\n\t\t\tvar findIndex;\n\n\t\t\tif (me.options.ticks.min !== undefined) {\n\t\t\t\t// user specified min value\n\t\t\t\tfindIndex = labels.indexOf(me.options.ticks.min);\n\t\t\t\tme.minIndex = findIndex !== -1 ? findIndex : me.minIndex;\n\t\t\t}\n\n\t\t\tif (me.options.ticks.max !== undefined) {\n\t\t\t\t// user specified max value\n\t\t\t\tfindIndex = labels.indexOf(me.options.ticks.max);\n\t\t\t\tme.maxIndex = findIndex !== -1 ? findIndex : me.maxIndex;\n\t\t\t}\n\n\t\t\tme.min = labels[me.minIndex];\n\t\t\tme.max = labels[me.maxIndex];\n\t\t},\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar labels = me.getLabels();\n\t\t\t// If we are viewing some subset of labels, slice the original array\n\t\t\tme.ticks = (me.minIndex === 0 && me.maxIndex === labels.length - 1) ? labels : labels.slice(me.minIndex, me.maxIndex + 1);\n\t\t},\n\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar data = me.chart.data;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tif (data.yLabels && !isHorizontal) {\n\t\t\t\treturn me.getRightValue(data.datasets[datasetIndex].data[index]);\n\t\t\t}\n\t\t\treturn me.ticks[index - me.minIndex];\n\t\t},\n\n\t\t// Used to get data value locations. Value can either be an index or a numerical value\n\t\tgetPixelForValue: function(value, index) {\n\t\t\tvar me = this;\n\t\t\tvar offset = me.options.offset;\n\t\t\t// 1 is added because we need the length but we have the indexes\n\t\t\tvar offsetAmt = Math.max((me.maxIndex + 1 - me.minIndex - (offset ? 0 : 1)), 1);\n\n\t\t\t// If value is a data object, then index is the index in the data array,\n\t\t\t// not the index of the scale. We need to change that.\n\t\t\tvar valueCategory;\n\t\t\tif (value !== undefined && value !== null) {\n\t\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\n\t\t\t}\n\t\t\tif (valueCategory !== undefined || (value !== undefined && isNaN(index))) {\n\t\t\t\tvar labels = me.getLabels();\n\t\t\t\tvalue = valueCategory || value;\n\t\t\t\tvar idx = labels.indexOf(value);\n\t\t\t\tindex = idx !== -1 ? idx : index;\n\t\t\t}\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar valueWidth = me.width / offsetAmt;\n\t\t\t\tvar widthOffset = (valueWidth * (index - me.minIndex));\n\n\t\t\t\tif (offset) {\n\t\t\t\t\twidthOffset += (valueWidth / 2);\n\t\t\t\t}\n\n\t\t\t\treturn me.left + Math.round(widthOffset);\n\t\t\t}\n\t\t\tvar valueHeight = me.height / offsetAmt;\n\t\t\tvar heightOffset = (valueHeight * (index - me.minIndex));\n\n\t\t\tif (offset) {\n\t\t\t\theightOffset += (valueHeight / 2);\n\t\t\t}\n\n\t\t\treturn me.top + Math.round(heightOffset);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.ticks[index], index + this.minIndex, null);\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar offset = me.options.offset;\n\t\t\tvar value;\n\t\t\tvar offsetAmt = Math.max((me._ticks.length - (offset ? 0 : 1)), 1);\n\t\t\tvar horz = me.isHorizontal();\n\t\t\tvar valueDimension = (horz ? me.width : me.height) / offsetAmt;\n\n\t\t\tpixel -= horz ? me.left : me.top;\n\n\t\t\tif (offset) {\n\t\t\t\tpixel -= (valueDimension / 2);\n\t\t\t}\n\n\t\t\tif (pixel <= 0) {\n\t\t\t\tvalue = 0;\n\t\t\t} else {\n\t\t\t\tvalue = Math.round(pixel / valueDimension);\n\t\t\t}\n\n\t\t\treturn value + me.minIndex;\n\t\t},\n\t\tgetBasePixel: function() {\n\t\t\treturn this.bottom;\n\t\t}\n\t});\n\n\tscaleService.registerScaleType('category', DatasetScale, defaultConfig);\n};\n","/**\n * Returns a cloned copy of the passed GeoJSON Object, including possible 'Foreign Members'.\n * ~3-5x faster than the common JSON.parse + JSON.stringify combo method.\n *\n * @name clone\n * @param {GeoJSON} geojson GeoJSON Object\n * @returns {GeoJSON} cloned GeoJSON Object\n * @example\n * var line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]], {color: 'red'});\n *\n * var lineCloned = turf.clone(line);\n */\nmodule.exports = function (geojson) {\n if (!geojson) throw new Error('geojson is required');\n\n switch (geojson.type) {\n case 'Feature':\n return cloneFeature(geojson);\n case 'FeatureCollection':\n return cloneFeatureCollection(geojson);\n case 'Point':\n case 'LineString':\n case 'Polygon':\n case 'MultiPoint':\n case 'MultiLineString':\n case 'MultiPolygon':\n case 'GeometryCollection':\n return cloneGeometry(geojson);\n default:\n throw new Error('unknown GeoJSON type');\n }\n};\n\n/**\n * Clone Feature\n *\n * @private\n * @param {Feature} geojson GeoJSON Feature\n * @returns {Feature} cloned Feature\n */\nfunction cloneFeature(geojson) {\n var cloned = {type: 'Feature'};\n // Preserve Foreign Members\n Object.keys(geojson).forEach(function (key) {\n switch (key) {\n case 'type':\n case 'properties':\n case 'geometry':\n return;\n default:\n cloned[key] = geojson[key];\n }\n });\n // Add properties & geometry last\n cloned.properties = cloneProperties(geojson.properties);\n cloned.geometry = cloneGeometry(geojson.geometry);\n return cloned;\n}\n\n/**\n * Clone Properties\n *\n * @private\n * @param {Object} properties GeoJSON Properties\n * @returns {Object} cloned Properties\n */\nfunction cloneProperties(properties) {\n var cloned = {};\n if (!properties) return cloned;\n Object.keys(properties).forEach(function (key) {\n var value = properties[key];\n if (typeof value === 'object') {\n // handle Array\n if (value.length) cloned[key] = value.map(function (item) {\n return item;\n });\n // handle Object\n cloned[key] = cloneProperties(value);\n } else cloned[key] = value;\n });\n return cloned;\n}\n\n/**\n * Clone Feature Collection\n *\n * @private\n * @param {FeatureCollection} geojson GeoJSON Feature Collection\n * @returns {FeatureCollection} cloned Feature Collection\n */\nfunction cloneFeatureCollection(geojson) {\n var cloned = {type: 'FeatureCollection'};\n\n // Preserve Foreign Members\n Object.keys(geojson).forEach(function (key) {\n switch (key) {\n case 'type':\n case 'features':\n return;\n default:\n cloned[key] = geojson[key];\n }\n });\n // Add features\n cloned.features = geojson.features.map(function (feature) {\n return cloneFeature(feature);\n });\n return cloned;\n}\n\n/**\n * Clone Geometry\n *\n * @private\n * @param {Geometry} geometry GeoJSON Geometry\n * @returns {Geometry} cloned Geometry\n */\nfunction cloneGeometry(geometry) {\n var geom = {type: geometry.type};\n if (geometry.bbox) geom.bbox = geometry.bbox;\n\n if (geometry.type === 'GeometryCollection') {\n geom.geometries = geometry.geometries.map(function (geom) {\n return cloneGeometry(geom);\n });\n return geom;\n }\n geom.coordinates = deepSlice(geometry.coordinates);\n return geom;\n}\n\n/**\n * Deep Slice coordinates\n *\n * @private\n * @param {Coordinates} coords Coordinates\n * @returns {Coordinates} all coordinates sliced\n */\nfunction deepSlice(coords) {\n if (typeof coords[0] !== 'object') { return coords.slice(); }\n return coords.map(function (coord) {\n return deepSlice(coord);\n });\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABWCAMAAABM4XISAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAPNQTFRFAAAAAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuTAEuT875pMwAAAFF0Uk5TAL//QFGq7PfWcwtfz++fIMaVRyXD/GEQYHbAM1BCTanf6yylErBX6k6AbmZ/5fHdGrJvoOBwMPA/XrEmenLESwr4VJBdnNy6KJuGeAE6RhUdkFalwQAAAgNJREFUeJztmudSwkAUhZfFLoI9FkTsRrCi2Hvvvv/TiMwkbJSye++qS+Z8v3PO3G+Gnc3NIAQAAAAAAPhGQtZI/vcwDODhFvBwC3i4BTzcAh5uwfbo6OyShnT39PZFS/pTph1SDqQzDTwMGBwarsZHRmn5sXFlBo9gUWWC7VFh8is+RY5P25gha6FDzgiRo6dnwxEm6CV5Gx5z82KBnpaLwQhLjJKsBQ+5LFYY6dVgBOrp+MK34bEmGGFZCEbglFjxKMJDwiMCPBSiHusabCjP1/XQeTXyW3noTLLZ0GNLY4TtP/HIGZbAg+WR9GuEz7ehR13gAY8mHumiNjvqOuiahxFpLx4eMlUTaWsPWYqJhwzPiAMeuwyPPYc86N9cLL2X+HY89mLi4TF+WC55iPJ+PDxEpkQ1ccujQjmpTcllDwOs71HwiKXHgYLXLO24h1ryL98Z4ulR0OBvPHQmaexhSl2PVKI1+VYepvyCh/kI8FBKOCPAIzKCFY9uRvowGIGz14YeR6ySHkb6OBiBs9eG/2g4YZQUxCk9fBbeB5y9NvxekmWUnIuLS3L4KvTw6Ovgde12pB+QYiV9Qw3fKhc0ea+dUkrEHbHkvpp+eCRlV9UJRJl0RPb9SIl4yrfO/CD1HMRfXnOGvL2L73j6a21A+UeJ+DAu0dkTAAAAAAAAaG8+AaC6joL8vVQdAAAAAElFTkSuQmCC\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[(!_vm.inline)?_c('div',{staticClass:\"radio bs-radio radio-button\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modelProxy),expression:\"modelProxy\"}],attrs:{\"type\":\"radio\",\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value,\"checked\":_vm._q(_vm.modelProxy,_vm.value)},on:{\"change\":function($event){_vm.modelProxy=_vm.value}}}),_vm._t(\"default\")],2)]):_c('label',{staticClass:\"bs-radio inline radio-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modelProxy),expression:\"modelProxy\"}],attrs:{\"type\":\"radio\",\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value,\"checked\":_vm._q(_vm.modelProxy,_vm.value)},on:{\"change\":function($event){_vm.modelProxy=_vm.value}}}),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsRadio.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BsRadio.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BsRadio.vue?vue&type=template&id=4d68e839&scoped=true&lang=html&\"\nimport script from \"./BsRadio.vue?vue&type=script&lang=js&\"\nexport * from \"./BsRadio.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BsRadio.vue?vue&type=style&index=0&id=4d68e839&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d68e839\",\n null\n \n)\n\nexport default component.exports","var point = require('@turf/helpers').point;\nvar convex = require('@turf/convex');\nvar explode = require('@turf/explode');\nvar centroid = require('@turf/centroid');\nvar getCoord = require('@turf/invariant').getCoord;\nvar coordEach = require('@turf/meta').coordEach;\n\n/**\n * Takes any {@link Feature} or a {@link FeatureCollection} and returns its [center of mass](https://en.wikipedia.org/wiki/Center_of_mass) using this formula: [Centroid of Polygon](https://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon).\n *\n * @name centerOfMass\n * @param {GeoJSON} geojson GeoJSON to be centered\n * @param {Object} [properties] an Object that is used as the {@link Feature}'s properties\n * @returns {Feature} the center of mass\n * @example\n * var polygon = turf.polygon([[[-81, 41], [-88, 36], [-84, 31], [-80, 33], [-77, 39], [-81, 41]]]);\n *\n * var center = turf.centerOfMass(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, center]\n */\nfunction centerOfMass(geojson, properties) {\n var type = (geojson.geometry) ? geojson.geometry.type : geojson.type;\n\n switch (type) {\n case 'Point':\n return point(getCoord(geojson), properties);\n case 'Polygon':\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n\n // First, we neutralize the feature (set it around coordinates [0,0]) to prevent rounding errors\n // We take any point to translate all the points around 0\n var centre = centroid(geojson, properties);\n var translation = centre.geometry.coordinates;\n var sx = 0;\n var sy = 0;\n var sArea = 0;\n var i, pi, pj, xi, xj, yi, yj, a;\n\n var neutralizedPoints = coords.map(function (point) {\n return [\n point[0] - translation[0],\n point[1] - translation[1]\n ];\n });\n\n for (i = 0; i < coords.length - 1; i++) {\n // pi is the current point\n pi = neutralizedPoints[i];\n xi = pi[0];\n yi = pi[1];\n\n // pj is the next point (pi+1)\n pj = neutralizedPoints[i + 1];\n xj = pj[0];\n yj = pj[1];\n\n // a is the common factor to compute the signed area and the final coordinates\n a = xi * yj - xj * yi;\n\n // sArea is the sum used to compute the signed area\n sArea += a;\n\n // sx and sy are the sums used to compute the final coordinates\n sx += (xi + xj) * a;\n sy += (yi + yj) * a;\n }\n\n // Shape has no area: fallback on turf.centroid\n if (sArea === 0) {\n return centre;\n } else {\n // Compute the signed area, and factorize 1/6A\n var area = sArea * 0.5;\n var areaFactor = 1 / (6 * area);\n\n // Compute the final coordinates, adding back the values that have been neutralized\n return point([\n translation[0] + areaFactor * sx,\n translation[1] + areaFactor * sy\n ], properties);\n }\n default:\n // Not a polygon: Compute the convex hull and work with that\n var hull = convex(explode(geojson));\n\n if (hull) {\n return centerOfMass(hull, properties);\n } else {\n // Hull is empty: fallback on the centroid\n return centroid(geojson, properties);\n }\n }\n}\n\nmodule.exports = centerOfMass;\n","'use strict';\n\nvar defaults = require('../core/core.defaults');\nvar helpers = require('../helpers/index');\nvar scaleService = require('../core/core.scaleService');\nvar Ticks = require('../core/core.ticks');\n\nmodule.exports = function(Chart) {\n\n\tvar globalDefaults = defaults.global;\n\n\tvar defaultConfig = {\n\t\tdisplay: true,\n\n\t\t// Boolean - Whether to animate scaling the chart from the centre\n\t\tanimate: true,\n\t\tposition: 'chartArea',\n\n\t\tangleLines: {\n\t\t\tdisplay: true,\n\t\t\tcolor: 'rgba(0, 0, 0, 0.1)',\n\t\t\tlineWidth: 1\n\t\t},\n\n\t\tgridLines: {\n\t\t\tcircular: false\n\t\t},\n\n\t\t// label settings\n\t\tticks: {\n\t\t\t// Boolean - Show a backdrop to the scale label\n\t\t\tshowLabelBackdrop: true,\n\n\t\t\t// String - The colour of the label backdrop\n\t\t\tbackdropColor: 'rgba(255,255,255,0.75)',\n\n\t\t\t// Number - The backdrop padding above & below the label in pixels\n\t\t\tbackdropPaddingY: 2,\n\n\t\t\t// Number - The backdrop padding to the side of the label in pixels\n\t\t\tbackdropPaddingX: 2,\n\n\t\t\tcallback: Ticks.formatters.linear\n\t\t},\n\n\t\tpointLabels: {\n\t\t\t// Boolean - if true, show point labels\n\t\t\tdisplay: true,\n\n\t\t\t// Number - Point label font size in pixels\n\t\t\tfontSize: 10,\n\n\t\t\t// Function - Used to convert point labels\n\t\t\tcallback: function(label) {\n\t\t\t\treturn label;\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction getValueCount(scale) {\n\t\tvar opts = scale.options;\n\t\treturn opts.angleLines.display || opts.pointLabels.display ? scale.chart.data.labels.length : 0;\n\t}\n\n\tfunction getPointLabelFontOptions(scale) {\n\t\tvar pointLabelOptions = scale.options.pointLabels;\n\t\tvar fontSize = helpers.valueOrDefault(pointLabelOptions.fontSize, globalDefaults.defaultFontSize);\n\t\tvar fontStyle = helpers.valueOrDefault(pointLabelOptions.fontStyle, globalDefaults.defaultFontStyle);\n\t\tvar fontFamily = helpers.valueOrDefault(pointLabelOptions.fontFamily, globalDefaults.defaultFontFamily);\n\t\tvar font = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\treturn {\n\t\t\tsize: fontSize,\n\t\t\tstyle: fontStyle,\n\t\t\tfamily: fontFamily,\n\t\t\tfont: font\n\t\t};\n\t}\n\n\tfunction measureLabelSize(ctx, fontSize, label) {\n\t\tif (helpers.isArray(label)) {\n\t\t\treturn {\n\t\t\t\tw: helpers.longestText(ctx, ctx.font, label),\n\t\t\t\th: (label.length * fontSize) + ((label.length - 1) * 1.5 * fontSize)\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tw: ctx.measureText(label).width,\n\t\t\th: fontSize\n\t\t};\n\t}\n\n\tfunction determineLimits(angle, pos, size, min, max) {\n\t\tif (angle === min || angle === max) {\n\t\t\treturn {\n\t\t\t\tstart: pos - (size / 2),\n\t\t\t\tend: pos + (size / 2)\n\t\t\t};\n\t\t} else if (angle < min || angle > max) {\n\t\t\treturn {\n\t\t\t\tstart: pos - size - 5,\n\t\t\t\tend: pos\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tstart: pos,\n\t\t\tend: pos + size + 5\n\t\t};\n\t}\n\n\t/**\n\t * Helper function to fit a radial linear scale with point labels\n\t */\n\tfunction fitWithPointLabels(scale) {\n\t\t/*\n\t\t * Right, this is really confusing and there is a lot of maths going on here\n\t\t * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\n\t\t *\n\t\t * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\n\t\t *\n\t\t * Solution:\n\t\t *\n\t\t * We assume the radius of the polygon is half the size of the canvas at first\n\t\t * at each index we check if the text overlaps.\n\t\t *\n\t\t * Where it does, we store that angle and that index.\n\t\t *\n\t\t * After finding the largest index and angle we calculate how much we need to remove\n\t\t * from the shape radius to move the point inwards by that x.\n\t\t *\n\t\t * We average the left and right distances to get the maximum shape radius that can fit in the box\n\t\t * along with labels.\n\t\t *\n\t\t * Once we have that, we can find the centre point for the chart, by taking the x text protrusion\n\t\t * on each side, removing that from the size, halving it and adding the left x protrusion width.\n\t\t *\n\t\t * This will mean we have a shape fitted to the canvas, as large as it can be with the labels\n\t\t * and position it in the most space efficient manner\n\t\t *\n\t\t * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\n\t\t */\n\n\t\tvar plFont = getPointLabelFontOptions(scale);\n\n\t\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\n\t\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\n\t\tvar furthestLimits = {\n\t\t\tr: scale.width,\n\t\t\tl: 0,\n\t\t\tt: scale.height,\n\t\t\tb: 0\n\t\t};\n\t\tvar furthestAngles = {};\n\t\tvar i, textSize, pointPosition;\n\n\t\tscale.ctx.font = plFont.font;\n\t\tscale._pointLabelSizes = [];\n\n\t\tvar valueCount = getValueCount(scale);\n\t\tfor (i = 0; i < valueCount; i++) {\n\t\t\tpointPosition = scale.getPointPosition(i, largestPossibleRadius);\n\t\t\ttextSize = measureLabelSize(scale.ctx, plFont.size, scale.pointLabels[i] || '');\n\t\t\tscale._pointLabelSizes[i] = textSize;\n\n\t\t\t// Add quarter circle to make degree 0 mean top of circle\n\t\t\tvar angleRadians = scale.getIndexAngle(i);\n\t\t\tvar angle = helpers.toDegrees(angleRadians) % 360;\n\t\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n\t\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n\n\t\t\tif (hLimits.start < furthestLimits.l) {\n\t\t\t\tfurthestLimits.l = hLimits.start;\n\t\t\t\tfurthestAngles.l = angleRadians;\n\t\t\t}\n\n\t\t\tif (hLimits.end > furthestLimits.r) {\n\t\t\t\tfurthestLimits.r = hLimits.end;\n\t\t\t\tfurthestAngles.r = angleRadians;\n\t\t\t}\n\n\t\t\tif (vLimits.start < furthestLimits.t) {\n\t\t\t\tfurthestLimits.t = vLimits.start;\n\t\t\t\tfurthestAngles.t = angleRadians;\n\t\t\t}\n\n\t\t\tif (vLimits.end > furthestLimits.b) {\n\t\t\t\tfurthestLimits.b = vLimits.end;\n\t\t\t\tfurthestAngles.b = angleRadians;\n\t\t\t}\n\t\t}\n\n\t\tscale.setReductions(largestPossibleRadius, furthestLimits, furthestAngles);\n\t}\n\n\t/**\n\t * Helper function to fit a radial linear scale with no point labels\n\t */\n\tfunction fit(scale) {\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\n\t\tscale.drawingArea = Math.round(largestPossibleRadius);\n\t\tscale.setCenterPoint(0, 0, 0, 0);\n\t}\n\n\tfunction getTextAlignForAngle(angle) {\n\t\tif (angle === 0 || angle === 180) {\n\t\t\treturn 'center';\n\t\t} else if (angle < 180) {\n\t\t\treturn 'left';\n\t\t}\n\n\t\treturn 'right';\n\t}\n\n\tfunction fillText(ctx, text, position, fontSize) {\n\t\tif (helpers.isArray(text)) {\n\t\t\tvar y = position.y;\n\t\t\tvar spacing = 1.5 * fontSize;\n\n\t\t\tfor (var i = 0; i < text.length; ++i) {\n\t\t\t\tctx.fillText(text[i], position.x, y);\n\t\t\t\ty += spacing;\n\t\t\t}\n\t\t} else {\n\t\t\tctx.fillText(text, position.x, position.y);\n\t\t}\n\t}\n\n\tfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\n\t\tif (angle === 90 || angle === 270) {\n\t\t\tposition.y -= (textSize.h / 2);\n\t\t} else if (angle > 270 || angle < 90) {\n\t\t\tposition.y -= textSize.h;\n\t\t}\n\t}\n\n\tfunction drawPointLabels(scale) {\n\t\tvar ctx = scale.ctx;\n\t\tvar opts = scale.options;\n\t\tvar angleLineOpts = opts.angleLines;\n\t\tvar pointLabelOpts = opts.pointLabels;\n\n\t\tctx.lineWidth = angleLineOpts.lineWidth;\n\t\tctx.strokeStyle = angleLineOpts.color;\n\n\t\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\n\n\t\t// Point Label Font\n\t\tvar plFont = getPointLabelFontOptions(scale);\n\n\t\tctx.textBaseline = 'top';\n\n\t\tfor (var i = getValueCount(scale) - 1; i >= 0; i--) {\n\t\t\tif (angleLineOpts.display) {\n\t\t\t\tvar outerPosition = scale.getPointPosition(i, outerDistance);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(scale.xCenter, scale.yCenter);\n\t\t\t\tctx.lineTo(outerPosition.x, outerPosition.y);\n\t\t\t\tctx.stroke();\n\t\t\t\tctx.closePath();\n\t\t\t}\n\n\t\t\tif (pointLabelOpts.display) {\n\t\t\t\t// Extra 3px out for some label spacing\n\t\t\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + 5);\n\n\t\t\t\t// Keep this in loop since we may support array properties here\n\t\t\t\tvar pointLabelFontColor = helpers.valueAtIndexOrDefault(pointLabelOpts.fontColor, i, globalDefaults.defaultFontColor);\n\t\t\t\tctx.font = plFont.font;\n\t\t\t\tctx.fillStyle = pointLabelFontColor;\n\n\t\t\t\tvar angleRadians = scale.getIndexAngle(i);\n\t\t\t\tvar angle = helpers.toDegrees(angleRadians);\n\t\t\t\tctx.textAlign = getTextAlignForAngle(angle);\n\t\t\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\n\t\t\t\tfillText(ctx, scale.pointLabels[i] || '', pointLabelPosition, plFont.size);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\n\t\tvar ctx = scale.ctx;\n\t\tctx.strokeStyle = helpers.valueAtIndexOrDefault(gridLineOpts.color, index - 1);\n\t\tctx.lineWidth = helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);\n\n\t\tif (scale.options.gridLines.circular) {\n\t\t\t// Draw circular arcs between the points\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t} else {\n\t\t\t// Draw straight lines connecting each index\n\t\t\tvar valueCount = getValueCount(scale);\n\n\t\t\tif (valueCount === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tctx.beginPath();\n\t\t\tvar pointPosition = scale.getPointPosition(0, radius);\n\t\t\tctx.moveTo(pointPosition.x, pointPosition.y);\n\n\t\t\tfor (var i = 1; i < valueCount; i++) {\n\t\t\t\tpointPosition = scale.getPointPosition(i, radius);\n\t\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\n\t\t\t}\n\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t}\n\t}\n\n\tfunction numberOrZero(param) {\n\t\treturn helpers.isNumber(param) ? param : 0;\n\t}\n\n\tvar LinearRadialScale = Chart.LinearScaleBase.extend({\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.height = me.maxHeight;\n\t\t\tme.xCenter = Math.round(me.width / 2);\n\t\t\tme.yCenter = Math.round(me.height / 2);\n\n\t\t\tvar minSize = helpers.min([me.height, me.width]);\n\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\tme.drawingArea = opts.display ? (minSize / 2) - (tickFontSize / 2 + tickOpts.backdropPaddingY) : (minSize / 2);\n\t\t},\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar min = Number.POSITIVE_INFINITY;\n\t\t\tvar max = Number.NEGATIVE_INFINITY;\n\n\t\t\thelpers.each(chart.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\n\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmin = Math.min(value, min);\n\t\t\t\t\t\tmax = Math.max(value, max);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\n\t\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\n\t\t\tme.handleTickRangeOptions();\n\t\t},\n\t\tgetTickLimit: function() {\n\t\t\tvar tickOpts = this.options.ticks;\n\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\treturn Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * tickFontSize)));\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\n\t\t\tChart.LinearScaleBase.prototype.convertTicksToLabels.call(me);\n\n\t\t\t// Point labels\n\t\t\tme.pointLabels = me.chart.data.labels.map(me.options.pointLabels.callback, me);\n\t\t},\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\tfit: function() {\n\t\t\tif (this.options.pointLabels.display) {\n\t\t\t\tfitWithPointLabels(this);\n\t\t\t} else {\n\t\t\t\tfit(this);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Set radius reductions and determine new radius and center point\n\t\t * @private\n\t\t */\n\t\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\n\t\t\tvar me = this;\n\t\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\n\t\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\n\t\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\n\t\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - me.height, 0) / Math.cos(furthestAngles.b);\n\n\t\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\n\t\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\n\t\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\n\t\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\n\n\t\t\tme.drawingArea = Math.min(\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\n\t\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\n\t\t},\n\t\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\n\t\t\tvar me = this;\n\t\t\tvar maxRight = me.width - rightMovement - me.drawingArea;\n\t\t\tvar maxLeft = leftMovement + me.drawingArea;\n\t\t\tvar maxTop = topMovement + me.drawingArea;\n\t\t\tvar maxBottom = me.height - bottomMovement - me.drawingArea;\n\n\t\t\tme.xCenter = Math.round(((maxLeft + maxRight) / 2) + me.left);\n\t\t\tme.yCenter = Math.round(((maxTop + maxBottom) / 2) + me.top);\n\t\t},\n\n\t\tgetIndexAngle: function(index) {\n\t\t\tvar angleMultiplier = (Math.PI * 2) / getValueCount(this);\n\t\t\tvar startAngle = this.chart.options && this.chart.options.startAngle ?\n\t\t\t\tthis.chart.options.startAngle :\n\t\t\t\t0;\n\n\t\t\tvar startAngleRadians = startAngle * Math.PI * 2 / 360;\n\n\t\t\t// Start from the top instead of right, so remove a quarter of the circle\n\t\t\treturn index * angleMultiplier + startAngleRadians;\n\t\t},\n\t\tgetDistanceFromCenterForValue: function(value) {\n\t\t\tvar me = this;\n\n\t\t\tif (value === null) {\n\t\t\t\treturn 0; // null always in center\n\t\t\t}\n\n\t\t\t// Take into account half font size + the yPadding of the top value\n\t\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\n\t\t\tif (me.options.ticks.reverse) {\n\t\t\t\treturn (me.max - value) * scalingFactor;\n\t\t\t}\n\t\t\treturn (value - me.min) * scalingFactor;\n\t\t},\n\t\tgetPointPosition: function(index, distanceFromCenter) {\n\t\t\tvar me = this;\n\t\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\n\t\t\treturn {\n\t\t\t\tx: Math.round(Math.cos(thisAngle) * distanceFromCenter) + me.xCenter,\n\t\t\t\ty: Math.round(Math.sin(thisAngle) * distanceFromCenter) + me.yCenter\n\t\t\t};\n\t\t},\n\t\tgetPointPositionForValue: function(index, value) {\n\t\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n\t\t},\n\n\t\tgetBasePosition: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\n\t\t\treturn me.getPointPositionForValue(0,\n\t\t\t\tme.beginAtZero ? 0 :\n\t\t\t\tmin < 0 && max < 0 ? max :\n\t\t\t\tmin > 0 && max > 0 ? min :\n\t\t\t\t0);\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar gridLineOpts = opts.gridLines;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\n\n\t\t\tif (opts.display) {\n\t\t\t\tvar ctx = me.ctx;\n\t\t\t\tvar startAngle = this.getIndexAngle(0);\n\n\t\t\t\t// Tick Font\n\t\t\t\tvar tickFontSize = valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\t\tvar tickFontStyle = valueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);\n\t\t\t\tvar tickFontFamily = valueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);\n\t\t\t\tvar tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);\n\n\t\t\t\thelpers.each(me.ticks, function(label, index) {\n\t\t\t\t\t// Don't draw a centre value (if it is minimum)\n\t\t\t\t\tif (index > 0 || tickOpts.reverse) {\n\t\t\t\t\t\tvar yCenterOffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\n\n\t\t\t\t\t\t// Draw circular lines around the scale\n\t\t\t\t\t\tif (gridLineOpts.display && index !== 0) {\n\t\t\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, yCenterOffset, index);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (tickOpts.display) {\n\t\t\t\t\t\t\tvar tickFontColor = valueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);\n\t\t\t\t\t\t\tctx.font = tickLabelFont;\n\n\t\t\t\t\t\t\tctx.save();\n\t\t\t\t\t\t\tctx.translate(me.xCenter, me.yCenter);\n\t\t\t\t\t\t\tctx.rotate(startAngle);\n\n\t\t\t\t\t\t\tif (tickOpts.showLabelBackdrop) {\n\t\t\t\t\t\t\t\tvar labelWidth = ctx.measureText(label).width;\n\t\t\t\t\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\n\t\t\t\t\t\t\t\tctx.fillRect(\n\t\t\t\t\t\t\t\t\t-labelWidth / 2 - tickOpts.backdropPaddingX,\n\t\t\t\t\t\t\t\t\t-yCenterOffset - tickFontSize / 2 - tickOpts.backdropPaddingY,\n\t\t\t\t\t\t\t\t\tlabelWidth + tickOpts.backdropPaddingX * 2,\n\t\t\t\t\t\t\t\t\ttickFontSize + tickOpts.backdropPaddingY * 2\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t\t\tctx.textBaseline = 'middle';\n\t\t\t\t\t\t\tctx.fillStyle = tickFontColor;\n\t\t\t\t\t\t\tctx.fillText(label, 0, -yCenterOffset);\n\t\t\t\t\t\t\tctx.restore();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (opts.angleLines.display || opts.pointLabels.display) {\n\t\t\t\t\tdrawPointLabels(me);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tscaleService.registerScaleType('radialLinear', LinearRadialScale, defaultConfig);\n};\n","import mod from \"-!../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyMetaData.vue?vue&type=style&index=0&id=fdc18ad2&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyMetaData.vue?vue&type=style&index=0&id=fdc18ad2&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('IxButton',{attrs:{\"disabled\":_vm.disabled || _vm.loading,\"large\":\"\",\"icon\":\"print\"},on:{\"click\":_vm.print},scopedSlots:_vm._u([(_vm.loading)?{key:\"icon\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":_vm.icons.spinner,\"spin\":\"\"}})]},proxy:true}:null],null,true)},[_c('IxRes',[_vm._v(\"frs.mapManagement.details.print\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPrint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapPrint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapPrint.vue?vue&type=template&id=5efe4173&scoped=true&\"\nimport script from \"./MapPrint.vue?vue&type=script&lang=js&\"\nexport * from \"./MapPrint.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5efe4173\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('IxVectorLayer',{attrs:{\"features\":_vm.nutrientMapFeatures,\"vector-style\":_vm.styles.nutrientMap,\"z-index\":1,\"layer-id\":\"nutrientMap\",\"auto-focus\":\"\"}}),_c('IxVectorLayer',{attrs:{\"features\":_vm.nutrientClassificationFeatures,\"vector-style\":_vm.styles.classification,\"z-index\":2,\"layer-id\":\"points\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsNutrientMapLayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FrsNutrientMapLayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FrsNutrientMapLayer.vue?vue&type=template&id=80862878&scoped=true&lang=html&\"\nimport script from \"./FrsNutrientMapLayer.vue?vue&type=script&lang=js&\"\nexport * from \"./FrsNutrientMapLayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"80862878\",\n null\n \n)\n\nexport default component.exports","var invariant = require('@turf/invariant');\nvar getCoords = invariant.getCoords;\nvar featureEach = require('@turf/meta').featureEach;\n\n/**\n * Takes a {@link Point} grid and returns a correspondent matrix {Array>}\n * of the 'property' values\n *\n * @name gridToMatrix\n * @param {FeatureCollection} grid of points\n * @param {string} [property='elevation'] the property name in `points` from which z-values will be pulled\n * @param {boolean} [flip=false] returns the matrix upside-down\n * @returns {Array>} matrix of property values\n * @example\n * var pointGrid = require('@turf/point-grid');\n * var extent = [-70.823364, -33.553984, -70.473175, -33.302986];\n * var cellSize = 3;\n * var grid = pointGrid(extent, cellSize);\n * // add a random property to each point between 0 and 60\n * for (var i = 0; i < grid.features.length; i++) {\n * grid.features[i].properties.elevation = (Math.random() * 60);\n * }\n * gridToMatrix(grid);\n * //= [\n * [ 1, 13, 10, 9, 10, 13, 18],\n * [34, 8, 5, 4, 5, 8, 13],\n * [10, 5, 2, 1, 2, 5, 4],\n * [ 0, 4, 56, 19, 1, 4, 9],\n * [10, 5, 2, 1, 2, 5, 10],\n * [57, 8, 5, 4, 5, 0, 57],\n * [ 3, 13, 10, 9, 5, 13, 18],\n * [18, 13, 10, 9, 78, 13, 18]\n * ]\n */\nmodule.exports = function (grid, property, flip) {\n // validation\n invariant.collectionOf(grid, 'Point', 'input must contain Points');\n property = property || 'elevation';\n\n var pointsMatrix = sortPointsByLatLng(grid, flip);\n\n var matrix = [];\n\n // create property matrix from sorted points\n // looping order matters here\n for (var r = 0; r < pointsMatrix.length; r++) {\n var pointRow = pointsMatrix[r];\n var row = [];\n for (var c = 0; c < pointRow.length; c++) {\n var point = pointRow[c];\n // property exist\n if (point.properties[property]) {\n row.push(point.properties[property]);\n } else {\n row.push(0);\n }\n }\n matrix.push(row);\n }\n\n return matrix;\n};\n\n/**\n * Sorts points by latitude and longitude, creating a 2-dimensional array of points\n *\n * @private\n * @param {FeatureCollection} points GeoJSON Point features\n * @param {boolean} [flip=false] returns the matrix upside-down\n * @returns {Array>} points by latitude and longitude\n */\nfunction sortPointsByLatLng(points, flip) {\n var pointsByLatitude = {};\n\n // divide points by rows with the same latitude\n featureEach(points, function (point) {\n var lat = getCoords(point)[1];\n if (!pointsByLatitude[lat]) { pointsByLatitude[lat] = []; }\n pointsByLatitude[lat].push(point);\n });\n\n // sort points (with the same latitude) by longitude\n var orderedRowsByLatitude = Object.keys(pointsByLatitude).map(function (lat) {\n var row = pointsByLatitude[lat];\n var rowOrderedByLongitude = row.sort(function (a, b) {\n return getCoords(a)[0] - getCoords(b)[0];\n });\n return rowOrderedByLongitude;\n });\n\n // sort rows (of points with the same latitude) by latitude\n var pointMatrix = orderedRowsByLatitude.sort(function (a, b) {\n if (flip) {\n return getCoords(a[0])[1] - getCoords(b[0])[1];\n } else {\n return getCoords(b[0])[1] - getCoords(a[0])[1];\n }\n });\n return pointMatrix;\n}\n","var helpers = require('@turf/helpers');\nvar getCoords = require('@turf/invariant').getCoords;\nvar flattenEach = require('@turf/meta').flattenEach;\nvar lineString = helpers.lineString;\nvar featureCollection = helpers.featureCollection;\n\n/**\n * Creates a {@link FeatureCollection} of 2-vertex {@link LineString} segments from a {@link LineString|(Multi)LineString} or {@link Polygon|(Multi)Polygon}.\n *\n * @name lineSegment\n * @param {Geometry|FeatureCollection|Feature} geojson GeoJSON Polygon or LineString\n * @returns {FeatureCollection} 2-vertex line segments\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n * var segments = turf.lineSegment(polygon);\n *\n * //addToMap\n * var addToMap = [polygon, segments]\n */\nmodule.exports = function (geojson) {\n if (!geojson) throw new Error('geojson is required');\n\n var results = [];\n flattenEach(geojson, function (feature) {\n lineSegment(feature, results);\n });\n return featureCollection(results);\n};\n\n/**\n * Line Segment\n *\n * @private\n * @param {Feature} geojson Line or polygon feature\n * @param {Array} results push to results\n * @returns {void}\n */\nfunction lineSegment(geojson, results) {\n var coords = [];\n var geometry = geojson.geometry;\n switch (geometry.type) {\n case 'Polygon':\n coords = getCoords(geometry);\n break;\n case 'LineString':\n coords = [getCoords(geometry)];\n }\n coords.forEach(function (coord) {\n var segments = createSegments(coord, geojson.properties);\n segments.forEach(function (segment) {\n segment.id = results.length;\n results.push(segment);\n });\n });\n}\n\n/**\n * Create Segments from LineString coordinates\n *\n * @private\n * @param {LineString} coords LineString coordinates\n * @param {*} properties GeoJSON properties\n * @returns {Array>} line segments\n */\nfunction createSegments(coords, properties) {\n var segments = [];\n coords.reduce(function (previousCoords, currentCoords) {\n var segment = lineString([previousCoords, currentCoords], properties);\n segment.bbox = bbox(previousCoords, currentCoords);\n segments.push(segment);\n return currentCoords;\n });\n return segments;\n}\n\n/**\n * Create BBox between two coordinates (faster than @turf/bbox)\n *\n * @private\n * @param {[number, number]} coords1 Point coordinate\n * @param {[number, number]} coords2 Point coordinate\n * @returns {BBox} [west, south, east, north]\n */\nfunction bbox(coords1, coords2) {\n var x1 = coords1[0];\n var y1 = coords1[1];\n var x2 = coords2[0];\n var y2 = coords2[1];\n var west = (x1 < x2) ? x1 : x2;\n var south = (y1 < y2) ? y1 : y2;\n var east = (x1 > x2) ? x1 : x2;\n var north = (y1 > y2) ? y1 : y2;\n return [west, south, east, north];\n}\n","/*!\n* @license GNU Affero General Public License.\n* Copyright (c) 2015, 2015 Ronny Lorenz \n* v. 1.2.0\n* https://github.com/RaumZeit/MarchingSquares.js\n*/\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['./marchingsquares-isobands', './marchingsquares-isocontours'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory(require('./marchingsquares-isobands'),require('./marchingsquares-isocontours'));\n } else {\n // Browser globals (root is window)\n root.MarchingSquaresJS = factory(\n (root.MarchingSquaresJS) ? root.MarchingSquaresJS.isoBands : null,\n (root.MarchingSquaresJS) ? root.MarchingSquaresJS.isoContours : null\n );\n }\n}(this, function (isoBands, isoContours) {\n return {\n isoBands : (typeof isoBands === 'function') ? isoBands : (((typeof isoBands === 'object') && (typeof isoBands.isoBands === 'function')) ? isoBands.isoBands : null),\n isoContours: (typeof isoContours === 'function') ? isoContours : (((typeof isoContours === 'object') && (typeof isoContours.isoContours === 'function')) ? isoContours.isoContours : null)\n };\n}));\n","import mod from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditing.vue?vue&type=style&index=0&id=3f88188d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoneEditing.vue?vue&type=style&index=0&id=3f88188d&lang=scss&scoped=true&\"","var isects = require('geojson-polygon-self-intersections');\nvar helpers = require('@turf/helpers');\nvar inside = require('@turf/inside');\nvar area = require('@turf/area');\nvar rbush = require('rbush');\nvar debug = require('debug')('simplepolygon');\nvar debugAll = require('debug')('simplepolygon:all');\n\n/**\n* Takes a complex (i.e. self-intersecting) geojson polygon, and breaks it down into its composite simple, non-self-intersecting one-ring polygons.\n*\n* @module simplepolygon\n* @param {Feature} feature Input polygon. This polygon may be unconform the {@link https://en.wikipedia.org/wiki/Simple_Features|Simple Features standard} in the sense that it's inner and outer rings may cross-intersect or self-intersect, that the outer ring must not contain the optional inner rings and that the winding number must not be positive for the outer and negative for the inner rings.\n* @return {FeatureCollection} Feature collection containing the simple, non-self-intersecting one-ring polygon features that the complex polygon is composed of. These simple polygons have properties such as their parent polygon, winding number and net winding number.\n*\n* @example\n* var poly = {\n* \"type\": \"Feature\",\n* \"geometry\": {\n* \"type\": \"Polygon\",\n* \"coordinates\": [[[0,0],[2,0],[0,2],[2,2],[0,0]]]\n* }\n* };\n*\n* var result = simplepolygon(poly);\n*\n* // =result\n* // which will be a featureCollection of two polygons, one with coordinates [[[0,0],[2,0],[1,1],[0,0]]], parent -1, winding 1 and net winding 1, and one with coordinates [[[1,1],[0,2],[2,2],[1,1]]], parent -1, winding -1 and net winding -1\n*/\n\nmodule.exports = function(feature) {\n // Check input\n if (feature.type != \"Feature\") throw new Error(\"The input must a geojson object of type Feature\");\n if ((feature.geometry === undefined) || (feature.geometry == null)) throw new Error(\"The input must a geojson object with a non-empty geometry\");\n if (feature.geometry.type != \"Polygon\") throw new Error(\"The input must be a geojson Polygon\");\n\n // Process input\n var numRings = feature.geometry.coordinates.length;\n var vertices = [];\n for (var i = 0; i < numRings; i++) {\n var ring = feature.geometry.coordinates[i];\n if (!equalArrays(ring[0],ring[ring.length-1])) {\n ring.push(ring[0]) // Close input ring if it is not\n }\n vertices.push.apply(vertices,ring.slice(0,ring.length-1));\n }\n if (!isUnique(vertices)) throw new Error(\"The input polygon may not have duplicate vertices (except for the first and last vertex of each ring)\");\n var numvertices = vertices.length; // number of input ring vertices, with the last closing vertices not counted\n debug(\"Processing input\");\n\n // Compute self-intersections\n var selfIsectsData = isects(feature, function filterFn(isect, ring0, edge0, start0, end0, frac0, ring1, edge1, start1, end1, frac1, unique){\n return [isect, ring0, edge0, start0, end0, frac0, ring1, edge1, start1, end1, frac1, unique];\n });\n var numSelfIsect = selfIsectsData.length;\n debug(\"Computing self-intersections\");\n\n // If no self-intersections are found, the input rings are the output rings. Hence, we must only compute their winding numbers, net winding numbers and (since ohers rings could lie outside the first ring) parents.\n if (numSelfIsect == 0) {\n var outputFeatureArray = [];\n for(var i = 0; i < numRings; i++) {\n outputFeatureArray.push(helpers.polygon([feature.geometry.coordinates[i]],{parent: -1, winding: windingOfRing(feature.geometry.coordinates[i])}));\n }\n var output = helpers.featureCollection(outputFeatureArray)\n determineParents();\n setNetWinding();\n debugAll(\"No self-intersections found. Input rings are output rings. Computed winding numbers, net winding numbers and parents\");\n debug(\"Finishing without self-intersections\");\n return output;\n }\n\n // If self-intersections are found, we will compute the output rings with the help of two intermediate variables\n // First, we build the pseudo vertex list and intersection list\n // The Pseudo vertex list is an array with for each ring an array with for each edge an array containing the pseudo-vertices (as made by their constructor) that have this ring and edge as ringAndEdgeIn, sorted for each edge by their fractional distance on this edge. It's length hence equals numRings.\n var pseudoVtxListByRingAndEdge = [];\n // The intersection list is an array containing intersections (as made by their constructor). First all numvertices ring-vertex-intersections, then all self-intersections (intra- and inter-ring). The order of the latter is not important but is permanent once given.\n var isectList = [];\n // Adding ring-pseudo-vertices to pseudoVtxListByRingAndEdge and ring-vertex-intersections to isectList\n for (var i = 0; i < numRings; i++) {\n pseudoVtxListByRingAndEdge.push([]);\n for (var j = 0; j < feature.geometry.coordinates[i].length-1; j++) {\n // Each edge will feature one ring-pseudo-vertex in its array, on the last position. i.e. edge j features the ring-pseudo-vertex of the ring vertex j+1, which has ringAndEdgeIn = [i,j], on the last position.\n pseudoVtxListByRingAndEdge[i].push([new PseudoVtx(feature.geometry.coordinates[i][(j+1).modulo(feature.geometry.coordinates[i].length-1)], 1, [i, j], [i, (j+1).modulo(feature.geometry.coordinates[i].length-1)], undefined)]);\n // The first numvertices elements in isectList correspond to the ring-vertex-intersections\n isectList.push(new Isect(feature.geometry.coordinates[i][j], [i, (j-1).modulo(feature.geometry.coordinates[i].length-1)], [i, j], undefined, undefined, false, true));\n }\n }\n // Adding intersection-pseudo-vertices to pseudoVtxListByRingAndEdge and self-intersections to isectList\n for (var i = 0; i < numSelfIsect; i++) {\n // Adding intersection-pseudo-vertices made using selfIsectsData to pseudoVtxListByRingAndEdge's array corresponding to the incomming ring and edge\n pseudoVtxListByRingAndEdge[selfIsectsData[i][1]][selfIsectsData[i][2]].push(new PseudoVtx(selfIsectsData[i][0], selfIsectsData[i][5], [selfIsectsData[i][1], selfIsectsData[i][2]], [selfIsectsData[i][6], selfIsectsData[i][7]], undefined));\n // selfIsectsData contains double mentions of each intersection, but we only want to add them once to isectList\n if (selfIsectsData[i][11]) isectList.push(new Isect(selfIsectsData[i][0], [selfIsectsData[i][1], selfIsectsData[i][2]], [selfIsectsData[i][6], selfIsectsData[i][7]], undefined, undefined, true, true));\n }\n var numIsect = isectList.length;\n // Sort edge arrays of pseudoVtxListByRingAndEdge by the fractional distance 'param'\n for (var i = 0; i < pseudoVtxListByRingAndEdge.length; i++) {\n for (var j = 0; j < pseudoVtxListByRingAndEdge[i].length; j++) {\n pseudoVtxListByRingAndEdge[i][j].sort(function(a, b){ return (a.param < b.param) ? -1 : 1 ; } );\n }\n }\n debug(\"Setting up pseudoVtxListByRingAndEdge and isectList\");\n\n // Make a spatial index of intersections, in preperation for the following two steps\n allIsectsAsIsectRbushTreeItem = [];\n for (var i = 0; i < numIsect; i++) {\n allIsectsAsIsectRbushTreeItem.push({minX: isectList[i].coord[0], minY: isectList[i].coord[1], maxX: isectList[i].coord[0], maxY: isectList[i].coord[1], index: i}); // could pass isect: isectList[i], but not necessary\n }\n var isectRbushTree = rbush();\n isectRbushTree.load(allIsectsAsIsectRbushTreeItem);\n\n // Now we will teach each intersection in isectList which is the next intersection along both it's [ring, edge]'s, in two steps.\n // First, we find the next intersection for each pseudo-vertex in pseudoVtxListByRingAndEdge:\n // For each pseudovertex in pseudoVtxListByRingAndEdge (3 loops) look at the next pseudovertex on that edge and find the corresponding intersection by comparing coordinates\n for (var i = 0; i < pseudoVtxListByRingAndEdge.length; i++){\n for (var j = 0; j < pseudoVtxListByRingAndEdge[i].length; j++){\n for (var k = 0; k < pseudoVtxListByRingAndEdge[i][j].length; k++){\n var coordToFind;\n if (k == pseudoVtxListByRingAndEdge[i][j].length-1) { // If it's the last pseudoVertex on that edge, then the next pseudoVertex is the first one on the next edge of that ring.\n coordToFind = pseudoVtxListByRingAndEdge[i][(j+1).modulo(feature.geometry.coordinates[i].length-1)][0].coord;\n } else {\n coordToFind = pseudoVtxListByRingAndEdge[i][j][k+1].coord;\n }\n var IsectRbushTreeItemFound = isectRbushTree.search({minX: coordToFind[0], minY: coordToFind[1], maxX: coordToFind[0], maxY: coordToFind[1]})[0]; // We can take [0] of the result, because there is only one isect correponding to a pseudo-vertex\n pseudoVtxListByRingAndEdge[i][j][k].nxtIsectAlongEdgeIn = IsectRbushTreeItemFound.index;\n }\n }\n }\n debug(\"Computing nextIsect for pseudoVtxListByRingAndEdge\");\n\n // Second, we port this knowledge of the next intersection over to the intersections in isectList, by finding the intersection corresponding to each pseudo-vertex and copying the pseudo-vertex' knownledge of the next-intersection over to the intersection\n for (var i = 0; i < pseudoVtxListByRingAndEdge.length; i++){\n for (var j = 0; j < pseudoVtxListByRingAndEdge[i].length; j++){\n for (var k = 0; k < pseudoVtxListByRingAndEdge[i][j].length; k++){\n var coordToFind = pseudoVtxListByRingAndEdge[i][j][k].coord;\n var IsectRbushTreeItemFound = isectRbushTree.search({minX: coordToFind[0], minY: coordToFind[1], maxX: coordToFind[0], maxY: coordToFind[1]})[0]; // We can take [0] of the result, because there is only one isect correponding to a pseudo-vertex\n var l = IsectRbushTreeItemFound.index;\n if (l < numvertices) { // Special treatment at ring-vertices: we correct the misnaming that happened in the previous block, since ringAndEdgeOut = ringAndEdge2 for ring vertices.\n isectList[l].nxtIsectAlongRingAndEdge2 = pseudoVtxListByRingAndEdge[i][j][k].nxtIsectAlongEdgeIn;\n } else { // Port the knowledge of the next intersection from the pseudo-vertices to the intersections, depending on how the edges are labeled in the pseudo-vertex and intersection.\n if (equalArrays(isectList[l].ringAndEdge1, pseudoVtxListByRingAndEdge[i][j][k].ringAndEdgeIn)) {\n isectList[l].nxtIsectAlongRingAndEdge1 = pseudoVtxListByRingAndEdge[i][j][k].nxtIsectAlongEdgeIn;\n } else {\n isectList[l].nxtIsectAlongRingAndEdge2 = pseudoVtxListByRingAndEdge[i][j][k].nxtIsectAlongEdgeIn;\n }\n }\n }\n }\n }\n // This explains why, eventhough when we will walk away from an intersection, we will walk way from the corresponding pseudo-vertex along edgeOut, pseudo-vertices have the property 'nxtIsectAlongEdgeIn' in stead of some propery 'nxtPseudoVtxAlongEdgeOut'. This is because this property (which is easy to find out) is used in the above for nxtIsectAlongRingAndEdge1 and nxtIsectAlongRingAndEdge2!\n debug(\"Porting nextIsect to isectList\");\n\n // Before we start walking over the intersections to build the output rings, we prepare a queue that stores information on intersections we still have to deal with, and put at least one intersection in it.\n // This queue will contain information on intersections where we can start walking from once the current walk is finished, and its parent output ring (the smallest output ring it lies within, -1 if no parent or parent unknown yet) and its winding number (which we can already determine).\n var queue = []\n // For each output ring, add the ring-vertex-intersection with the smalles x-value (i.e. the left-most) as a start intersection. By choosing such an extremal intersections, we are sure to start at an intersection that is a convex vertex of its output ring. By adding them all to the queue, we are sure that no rings will be forgotten. If due to ring-intersections such an intersection will be encountered while walking, it will be removed from the queue.\n var i = 0;\n for (var j = 0; j < numRings; j++) {\n var leftIsect = i;\n for (var k = 0; k < feature.geometry.coordinates[j].length-1; k++) {\n if (isectList[i].coord[0] < isectList[leftIsect].coord[0]) {\n leftIsect = i;\n }\n i++;\n }\n // Compute winding at this left-most ring-vertex-intersection. We thus this by using our knowledge that this extremal vertex must be a convex vertex.\n // We first find the intersection before and after it, and then use them to determine the winding number of the corresponding output ring, since we know that an extremal vertex of a simple, non-self-intersecting ring is always convex, so the only reason it would not be is because the winding number we use to compute it is wrong\n var isectAfterLeftIsect = isectList[leftIsect].nxtIsectAlongRingAndEdge2;\n for (var k = 0; k < isectList.length; k++) {\n if ((isectList[k].nxtIsectAlongRingAndEdge1 == leftIsect) || (isectList[k].nxtIsectAlongRingAndEdge2 == leftIsect)) {\n var isectBeforeLeftIsect = k;\n break\n }\n }\n var windingAtIsect = isConvex([isectList[isectBeforeLeftIsect].coord,isectList[leftIsect].coord,isectList[isectAfterLeftIsect].coord],true) ? 1 : -1;\n\n queue.push({isect: leftIsect, parent: -1, winding: windingAtIsect})\n }\n // Sort the queue by the same criterion used to find the leftIsect: the left-most leftIsect must be last in the queue, such that it will be popped first, such that we will work from out to in regarding input rings. This assumtion is used when predicting the winding number and parent of a new queue member.\n queue.sort(function(a, b){ return (isectList[a.isect].coord > isectList[b.isect].coord) ? -1 : 1 });\n debugAll(\"Initial state of the queue: \" + JSON.stringify(queue));\n debug(\"Setting up queue\");\n\n // Initialise output\n var outputFeatureArray = [];\n\n // While the queue is not empty, take the last object (i.e. its intersection) out and start making an output ring by walking in the direction that has not been walked away over yet.\n while (queue.length>0) {\n // Get the last object out of the queue\n var popped = queue.pop();\n var startIsect = popped.isect;\n var currentOutputRingParent = popped.parent;\n var currentOutputRingWinding = popped.winding;\n // Make new output ring and add vertex from starting intersection\n var currentOutputRing = outputFeatureArray.length;\n var currentOutputRingCoords = [isectList[startIsect].coord];\n debugAll(\"# Starting output ring number \" + outputFeatureArray.length + \" with winding \" + currentOutputRingWinding + \" from intersection \" + startIsect);\n if (startIsect < numvertices) debugAll(\"This is a ring-vertex-intersections, which means this output ring does not touch existing output rings\");\n // Set up the variables used while walking over intersections: 'currentIsect', 'nxtIsect' and 'walkingRingAndEdge'\n var currentIsect = startIsect;\n if (isectList[startIsect].ringAndEdge1Walkable) {\n var walkingRingAndEdge = isectList[startIsect].ringAndEdge1;\n var nxtIsect = isectList[startIsect].nxtIsectAlongRingAndEdge1;\n } else {\n var walkingRingAndEdge = isectList[startIsect].ringAndEdge2;\n var nxtIsect = isectList[startIsect].nxtIsectAlongRingAndEdge2;\n }\n // While we have not arrived back at the same intersection, keep walking\n while (!equalArrays(isectList[startIsect].coord,isectList[nxtIsect].coord)){\n debugAll(\"Walking from intersection \" + currentIsect + \" to \" + nxtIsect + \" over ring \" + walkingRingAndEdge[0] + \" and edge \" + walkingRingAndEdge[1]);\n currentOutputRingCoords.push(isectList[nxtIsect].coord);\n debugAll(\"Adding intersection \" + nxtIsect + \" to current output ring\");\n // If the next intersection is queued, we can remove it, because we will go there now.\n var nxtIsectInQueue = undefined;\n for(var i = 0; i < queue.length; i++) { if (queue[i].isect == nxtIsect) {nxtIsectInQueue = i; break; } }\n if (nxtIsectInQueue != undefined) {\n debugAll(\"Removing intersection \" + nxtIsect + \" from queue\");\n queue.splice(nxtIsectInQueue,1);\n }\n // Arriving at this new intersection, we know which will be our next walking ring and edge (if we came from 1 we will walk away from 2 and vice versa),\n // So we can set it as our new walking ring and intersection and remember that we (will) have walked over it\n // If we have never walked away from this new intersection along the other ring and edge then we will soon do, add the intersection (and the parent wand winding number) to the queue\n // (We can predict the winding number and parent as follows: if the edge is convex, the other output ring started from there will have the alternate winding and lie outside of the current one, and thus have the same parent ring as the current ring. Otherwise, it will have the same winding number and lie inside of the current ring. We are, however, only sure of this of an output ring started from there does not enclose the current ring. This is why the initial queue's intersections must be sorted such that outer ones come out first.)\n // We then update the other two walking variables.\n if (equalArrays(walkingRingAndEdge,isectList[nxtIsect].ringAndEdge1)) {\n walkingRingAndEdge = isectList[nxtIsect].ringAndEdge2;\n isectList[nxtIsect].ringAndEdge2Walkable = false;\n if (isectList[nxtIsect].ringAndEdge1Walkable) {\n debugAll(\"Adding intersection \" + nxtIsect + \" to queue\");\n var pushing = {isect: nxtIsect};\n if (isConvex([isectList[currentIsect].coord, isectList[nxtIsect].coord, isectList[isectList[nxtIsect].nxtIsectAlongRingAndEdge2].coord],currentOutputRingWinding == 1)) {\n pushing.parent = currentOutputRingParent;\n pushing.winding = -currentOutputRingWinding;\n } else {\n pushing.parent = currentOutputRing;\n pushing.winding = currentOutputRingWinding;\n }\n queue.push(pushing);\n }\n currentIsect = nxtIsect;\n nxtIsect = isectList[nxtIsect].nxtIsectAlongRingAndEdge2;\n } else {\n walkingRingAndEdge = isectList[nxtIsect].ringAndEdge1;\n isectList[nxtIsect].ringAndEdge1Walkable = false;\n if (isectList[nxtIsect].ringAndEdge2Walkable) {\n debugAll(\"Adding intersection \" + nxtIsect + \" to queue\");\n var pushing = {isect: nxtIsect};\n if (isConvex([isectList[currentIsect].coord, isectList[nxtIsect].coord, isectList[isectList[nxtIsect].nxtIsectAlongRingAndEdge1].coord],currentOutputRingWinding == 1)) {\n pushing.parent = currentOutputRingParent;\n pushing.winding = -currentOutputRingWinding;\n } else {\n pushing.parent = currentOutputRing;\n pushing.winding = currentOutputRingWinding;\n }\n queue.push(pushing);\n }\n currentIsect = nxtIsect;\n nxtIsect = isectList[nxtIsect].nxtIsectAlongRingAndEdge1;\n }\n debugAll(\"Current state of the queue: \" + JSON.stringify(queue));\n }\n debugAll(\"Walking from intersection \" + currentIsect + \" to \" + nxtIsect + \" over ring \" + walkingRingAndEdge[0] + \" and edge \" + walkingRingAndEdge[1] + \" and closing ring\");\n // Close output ring\n currentOutputRingCoords.push(isectList[nxtIsect].coord);\n // Push output ring to output\n outputFeatureArray.push(helpers.polygon([currentOutputRingCoords],{index: currentOutputRing, parent: currentOutputRingParent, winding: currentOutputRingWinding, netWinding: undefined}));\n }\n\n var output = helpers.featureCollection(outputFeatureArray);\n debug(\"Walking\");\n\n determineParents();\n debug(\"Determining parents\");\n\n setNetWinding();\n debug(\"Setting winding number\");\n\n // These functions are also used if no intersections are found\n function determineParents() {\n var featuresWithoutParent = [];\n for (var i = 0; i < output.features.length; i++) {\n debugAll(\"Output ring \" + i + \" has parent \" + output.features[i].properties.parent);\n if (output.features[i].properties.parent == -1) featuresWithoutParent.push(i);\n }\n debugAll(\"The following output ring(s) have no parent: \" + featuresWithoutParent);\n if (featuresWithoutParent.length > 1) {\n for (var i = 0; i < featuresWithoutParent.length; i++) {\n var parent = -1;\n var parentArea = Infinity;\n for (var j = 0; j < output.features.length; j++) {\n if (featuresWithoutParent[i] == j) continue\n if (inside(helpers.point(output.features[featuresWithoutParent[i]].geometry.coordinates[0][0]), output.features[j], true)) {\n if (area(output.features[j]) < parentArea) {\n parent = j;\n debugAll(\"Ring \"+featuresWithoutParent[i]+\" lies inside output ring \"+j);\n }\n }\n }\n output.features[featuresWithoutParent[i]].properties.parent = parent;\n debugAll(\"Ring \"+featuresWithoutParent[i]+\" is assigned parent \"+parent);\n }\n }\n }\n\n function setNetWinding() {\n for (var i = 0; i < output.features.length; i++) {\n if (output.features[i].properties.parent == -1) {\n var netWinding = output.features[i].properties.winding\n output.features[i].properties.netWinding = netWinding;\n setNetWindingOfChildren(i,netWinding)\n }\n }\n }\n\n function setNetWindingOfChildren(parent,ParentNetWinding){\n for (var i = 0; i < output.features.length; i++) {\n if (output.features[i].properties.parent == parent){\n var netWinding = ParentNetWinding + output.features[i].properties.winding\n output.features[i].properties.netWinding = netWinding;\n setNetWindingOfChildren(i,netWinding)\n }\n }\n }\n\n debugAll(\"# Total of \" + output.features.length + \" rings\");\n\n return output;\n}\n\n\n\n// Constructor for (ring- or intersection-) pseudo-vertices.\nvar PseudoVtx = function (coord, param, ringAndEdgeIn, ringAndEdgeOut, nxtIsectAlongEdgeIn) {\n this.coord = coord; // [x,y] of this pseudo-vertex\n this.param = param; // fractional distance of this intersection on incomming edge\n this.ringAndEdgeIn = ringAndEdgeIn; // [ring index, edge index] of incomming edge\n this.ringAndEdgeOut = ringAndEdgeOut; // [ring index, edge index] of outgoing edge\n this.nxtIsectAlongEdgeIn = nxtIsectAlongEdgeIn; // The next intersection when following the incomming edge (so not when following ringAndEdgeOut!)\n}\n\n// Constructor for an intersection. There are two intersection-pseudo-vertices per self-intersection and one ring-pseudo-vertex per ring-vertex-intersection. Their labels 1 and 2 are not assigned a particular meaning but are permanent once given.\nvar Isect = function (coord, ringAndEdge1, ringAndEdge2, nxtIsectAlongRingAndEdge1, nxtIsectAlongRingAndEdge2, ringAndEdge1Walkable, ringAndEdge2Walkable) {\n this.coord = coord; // [x,y] of this intersection\n this.ringAndEdge1 = ringAndEdge1; // first edge of this intersection\n this.ringAndEdge2 = ringAndEdge2; // second edge of this intersection\n this.nxtIsectAlongRingAndEdge1 = nxtIsectAlongRingAndEdge1; // the next intersection when following ringAndEdge1\n this.nxtIsectAlongRingAndEdge2 = nxtIsectAlongRingAndEdge2; // the next intersection when following ringAndEdge2\n this.ringAndEdge1Walkable = ringAndEdge1Walkable; // May we (still) walk away from this intersection over ringAndEdge1?\n this.ringAndEdge2Walkable = ringAndEdge2Walkable; // May we (still) walk away from this intersection over ringAndEdge2?\n}\n\n// Function to determine if three consecutive points of a simple, non-self-intersecting ring make up a convex vertex, assuming the ring is right- or lefthanded\nfunction isConvex(pts, righthanded){\n // 'pts' is an [x,y] pair\n // 'righthanded' is a boolean\n if (typeof(righthanded) === 'undefined') righthanded = true;\n if (pts.length != 3) throw new Error(\"This function requires an array of three points [x,y]\");\n var d = (pts[1][0] - pts[0][0]) * (pts[2][1] - pts[0][1]) - (pts[1][1] - pts[0][1]) * (pts[2][0] - pts[0][0]);\n return (d >= 0) == righthanded;\n}\n\n// Function to compute winding of simple, non-self-intersecting ring\nfunction windingOfRing(ring){\n // 'ring' is an array of [x,y] pairs with the last equal to the first\n // Compute the winding number based on the vertex with the smallest x-value, it precessor and successor. An extremal vertex of a simple, non-self-intersecting ring is always convex, so the only reason it is not is because the winding number we use to compute it is wrong\n var leftVtx = 0;\n for (var i = 0; i < ring.length-1; i++) { if (ring[i][0] < ring[leftVtx][0]) leftVtx = i; }\n if (isConvex([ring[(leftVtx-1).modulo(ring.length-1)],ring[leftVtx],ring[(leftVtx+1).modulo(ring.length-1)]],true)) {\n var winding = 1;\n } else {\n var winding = -1;\n }\n return winding\n}\n\n// Function to compare Arrays of numbers. From http://stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript\nfunction equalArrays(array1, array2) {\n // if the other array is a falsy value, return\n if (!array1 || !array2)\n return false;\n\n // compare lengths - can save a lot of time\n if (array1.length != array2.length)\n return false;\n\n for (var i = 0, l=array1.length; i < l; i++) {\n // Check if we have nested arrays\n if (array1[i] instanceof Array && array2[i] instanceof Array) {\n // recurse into the nested arrays\n if (!equalArrays(array1[i],array2[i]))\n return false;\n }\n else if (array1[i] != array2[i]) {\n // Warning - two different object instances will never be equal: {x:20} != {x:20}\n return false;\n }\n }\n return true;\n}\n\n// Fix Javascript modulo for negative number. From http://stackoverflow.com/questions/4467539/javascript-modulo-not-behaving\nNumber.prototype.modulo = function(n) {\n return ((this % n) + n) % n;\n}\n\n// Function to get array with only unique elements. From http://stackoverflow.com/questions/1960473/unique-values-in-an-array\nfunction getUnique(array) {\n var u = {}, a = [];\n for(var i = 0, l = array.length; i < l; ++i){\n if(u.hasOwnProperty(array[i])) {\n continue;\n }\n a.push(array[i]);\n u[array[i]] = 1;\n }\n return a;\n}\n\n// Function to check if array is unique (i.e. all unique elements, i.e. no duplicate elements)\nfunction isUnique(array) {\n var u = {}, a = [];\n var isUnique = 1;\n for(var i = 0, l = array.length; i < l; ++i){\n if(u.hasOwnProperty(array[i])) {\n isUnique = 0;\n break;\n }\n u[array[i]] = 1;\n }\n return isUnique;\n}\n","var meta = require('@turf/meta');\nvar centroid = require('@turf/centroid');\nvar invariant = require('@turf/invariant');\nvar rhumbBearing = require('@turf/rhumb-bearing');\nvar rhumbDistance = require('@turf/rhumb-distance');\nvar rhumbDestination = require('@turf/rhumb-destination');\nvar coordEach = meta.coordEach;\nvar getCoords = invariant.getCoords;\n\n/**\n * Rotates any geojson Feature or Geometry of a specified angle, around its `centroid` or a given `pivot` point;\n * all rotations follow the right-hand rule: https://en.wikipedia.org/wiki/Right-hand_rule\n *\n * @name transformRotate\n * @param {GeoJSON} geojson object to be rotated\n * @param {number} angle of rotation (along the vertical axis), from North in decimal degrees, negative clockwise\n * @param {Geometry|Feature|Array} [pivot=`centroid`] point around which the rotation will be performed\n * @param {boolean} [mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)\n * @returns {GeoJSON} the rotated GeoJSON feature\n * @example\n * var poly = turf.polygon([[[0,29],[3.5,29],[2.5,32],[0,29]]]);\n * var rotatedPoly = turf.transformRotate(poly, 10, [0, 25]);\n *\n * //addToMap\n * var addToMap = [poly, rotatedPoly];\n * rotatedPoly.properties = {stroke: '#F00', 'stroke-width': 4};\n */\nmodule.exports = function (geojson, angle, pivot, mutate) {\n // Input validation\n if (!geojson) throw new Error('geojson is required');\n if (angle === undefined || angle === null || isNaN(angle)) throw new Error('angle is required');\n\n // Shortcut no-rotation\n if (angle === 0) return geojson;\n\n // Use centroid of GeoJSON if pivot is not provided\n if (!pivot) pivot = centroid(geojson);\n\n // Clone geojson to avoid side effects\n if (mutate === false || mutate === undefined) geojson = JSON.parse(JSON.stringify(geojson));\n\n // Rotate each coordinate\n coordEach(geojson, function (pointCoords) {\n var initialAngle = rhumbBearing(pivot, pointCoords);\n var finalAngle = initialAngle + angle;\n var distance = rhumbDistance(pivot, pointCoords);\n var newCoords = getCoords(rhumbDestination(pivot, distance, finalAngle));\n pointCoords[0] = newCoords[0];\n pointCoords[1] = newCoords[1];\n });\n return geojson;\n};\n","/**\n * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.\n *\n * @name feature\n * @param {Geometry} geometry input geometry\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a GeoJSON Feature\n * @example\n * var geometry = {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 50]\n * };\n *\n * var feature = turf.feature(geometry);\n *\n * //=feature\n */\nfunction feature(geometry, properties, bbox, id) {\n if (geometry === undefined) throw new Error('geometry is required');\n if (properties && properties.constructor !== Object) throw new Error('properties must be an Object');\n if (bbox && bbox.length !== 4) throw new Error('bbox must be an Array of 4 numbers');\n if (id && ['string', 'number'].indexOf(typeof id) === -1) throw new Error('id must be a number or a string');\n\n var feat = {type: 'Feature'};\n if (id) feat.id = id;\n if (bbox) feat.bbox = bbox;\n feat.properties = properties || {};\n feat.geometry = geometry;\n return feat;\n}\n\n/**\n * Creates a GeoJSON {@link Geometry} from a Geometry string type & coordinates.\n * For GeometryCollection type use `helpers.geometryCollection`\n *\n * @name geometry\n * @param {string} type Geometry Type\n * @param {Array} coordinates Coordinates\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @returns {Geometry} a GeoJSON Geometry\n * @example\n * var type = 'Point';\n * var coordinates = [110, 50];\n *\n * var geometry = turf.geometry(type, coordinates);\n *\n * //=geometry\n */\nfunction geometry(type, coordinates, bbox) {\n // Validation\n if (!type) throw new Error('type is required');\n if (!coordinates) throw new Error('coordinates is required');\n if (!Array.isArray(coordinates)) throw new Error('coordinates must be an Array');\n if (bbox && bbox.length !== 4) throw new Error('bbox must be an Array of 4 numbers');\n\n var geom;\n switch (type) {\n case 'Point': geom = point(coordinates).geometry; break;\n case 'LineString': geom = lineString(coordinates).geometry; break;\n case 'Polygon': geom = polygon(coordinates).geometry; break;\n case 'MultiPoint': geom = multiPoint(coordinates).geometry; break;\n case 'MultiLineString': geom = multiLineString(coordinates).geometry; break;\n case 'MultiPolygon': geom = multiPolygon(coordinates).geometry; break;\n default: throw new Error(type + ' is invalid');\n }\n if (bbox) geom.bbox = bbox;\n return geom;\n}\n\n/**\n * Takes coordinates and properties (optional) and returns a new {@link Point} feature.\n *\n * @name point\n * @param {Array} coordinates longitude, latitude position (each in decimal degrees)\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a Point feature\n * @example\n * var point = turf.point([-75.343, 39.984]);\n *\n * //=point\n */\nfunction point(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length === undefined) throw new Error('Coordinates must be an array');\n if (coordinates.length < 2) throw new Error('Coordinates must be at least 2 numbers long');\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) throw new Error('Coordinates must contain numbers');\n\n return feature({\n type: 'Point',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Takes an array of LinearRings and optionally an {@link Object} with properties and returns a {@link Polygon} feature.\n *\n * @name polygon\n * @param {Array>>} coordinates an array of LinearRings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a Polygon feature\n * @throws {Error} throw an error if a LinearRing of the polygon has too few positions\n * or if a LinearRing of the Polygon does not have matching Positions at the beginning & end.\n * @example\n * var polygon = turf.polygon([[\n * [-2.275543, 53.464547],\n * [-2.275543, 53.489271],\n * [-2.215118, 53.489271],\n * [-2.215118, 53.464547],\n * [-2.275543, 53.464547]\n * ]], { name: 'poly1', population: 400});\n *\n * //=polygon\n */\nfunction polygon(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n for (var i = 0; i < coordinates.length; i++) {\n var ring = coordinates[i];\n if (ring.length < 4) {\n throw new Error('Each LinearRing of a Polygon must have 4 or more Positions.');\n }\n for (var j = 0; j < ring[ring.length - 1].length; j++) {\n // Check if first point of Polygon contains two numbers\n if (i === 0 && j === 0 && !isNumber(ring[0][0]) || !isNumber(ring[0][1])) throw new Error('Coordinates must contain numbers');\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error('First and last Position are not equivalent.');\n }\n }\n }\n\n return feature({\n type: 'Polygon',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link LineString} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name lineString\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a LineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var linestring1 = turf.lineString([\n * [-21.964416, 64.148203],\n * [-21.956176, 64.141316],\n * [-21.93901, 64.135924],\n * [-21.927337, 64.136673]\n * ]);\n * var linestring2 = turf.lineString([\n * [-21.929054, 64.127985],\n * [-21.912918, 64.134726],\n * [-21.916007, 64.141016],\n * [-21.930084, 64.14446]\n * ], {name: 'line 1', distance: 145});\n *\n * //=linestring1\n *\n * //=linestring2\n */\nfunction lineString(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n if (coordinates.length < 2) throw new Error('Coordinates must be an array of two or more positions');\n // Check if first point of LineString contains two numbers\n if (!isNumber(coordinates[0][1]) || !isNumber(coordinates[0][1])) throw new Error('Coordinates must contain numbers');\n\n return feature({\n type: 'LineString',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.\n *\n * @name featureCollection\n * @param {Feature[]} features input features\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {FeatureCollection} a FeatureCollection of input features\n * @example\n * var features = [\n * turf.point([-75.343, 39.984], {name: 'Location A'}),\n * turf.point([-75.833, 39.284], {name: 'Location B'}),\n * turf.point([-75.534, 39.123], {name: 'Location C'})\n * ];\n *\n * var collection = turf.featureCollection(features);\n *\n * //=collection\n */\nfunction featureCollection(features, bbox, id) {\n if (!features) throw new Error('No features passed');\n if (!Array.isArray(features)) throw new Error('features must be an Array');\n if (bbox && bbox.length !== 4) throw new Error('bbox must be an Array of 4 numbers');\n if (id && ['string', 'number'].indexOf(typeof id) === -1) throw new Error('id must be a number or a string');\n\n var fc = {type: 'FeatureCollection'};\n if (id) fc.id = id;\n if (bbox) fc.bbox = bbox;\n fc.features = features;\n return fc;\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiLineString\n * @param {Array>>} coordinates an array of LineStrings\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a MultiLineString feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);\n *\n * //=multiLine\n */\nfunction multiLineString(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiLineString',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPoint\n * @param {Array>} coordinates an array of Positions\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a MultiPoint feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPt = turf.multiPoint([[0,0],[10,10]]);\n *\n * //=multiPt\n */\nfunction multiPoint(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPoint',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name multiPolygon\n * @param {Array>>>} coordinates an array of Polygons\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a multipolygon feature\n * @throws {Error} if no coordinates are passed\n * @example\n * var multiPoly = turf.multiPolygon([[[[0,0],[0,10],[10,10],[10,0],[0,0]]]]);\n *\n * //=multiPoly\n *\n */\nfunction multiPolygon(coordinates, properties, bbox, id) {\n if (!coordinates) throw new Error('No coordinates passed');\n\n return feature({\n type: 'MultiPolygon',\n coordinates: coordinates\n }, properties, bbox, id);\n}\n\n/**\n * Creates a {@link Feature} based on a\n * coordinate array. Properties can be added optionally.\n *\n * @name geometryCollection\n * @param {Array} geometries an array of GeoJSON Geometries\n * @param {Object} [properties={}] an Object of key-value pairs to add as properties\n * @param {Array} [bbox] BBox [west, south, east, north]\n * @param {string|number} [id] Identifier\n * @returns {Feature} a GeoJSON GeometryCollection Feature\n * @example\n * var pt = {\n * \"type\": \"Point\",\n * \"coordinates\": [100, 0]\n * };\n * var line = {\n * \"type\": \"LineString\",\n * \"coordinates\": [ [101, 0], [102, 1] ]\n * };\n * var collection = turf.geometryCollection([pt, line]);\n *\n * //=collection\n */\nfunction geometryCollection(geometries, properties, bbox, id) {\n if (!geometries) throw new Error('geometries is required');\n if (!Array.isArray(geometries)) throw new Error('geometries must be an Array');\n\n return feature({\n type: 'GeometryCollection',\n geometries: geometries\n }, properties, bbox, id);\n}\n\n// https://en.wikipedia.org/wiki/Great-circle_distance#Radius_for_spherical_Earth\nvar factors = {\n miles: 3960,\n nauticalmiles: 3441.145,\n degrees: 57.2957795,\n radians: 1,\n inches: 250905600,\n yards: 6969600,\n meters: 6373000,\n metres: 6373000,\n centimeters: 6.373e+8,\n centimetres: 6.373e+8,\n kilometers: 6373,\n kilometres: 6373,\n feet: 20908792.65\n};\n\nvar areaFactors = {\n kilometers: 0.000001,\n kilometres: 0.000001,\n meters: 1,\n metres: 1,\n centimetres: 10000,\n millimeter: 1000000,\n acres: 0.000247105,\n miles: 3.86e-7,\n yards: 1.195990046,\n feet: 10.763910417,\n inches: 1550.003100006\n};\n/**\n * Round number to precision\n *\n * @param {number} num Number\n * @param {number} [precision=0] Precision\n * @returns {number} rounded number\n * @example\n * turf.round(120.4321)\n * //=120\n *\n * turf.round(120.4321, 2)\n * //=120.43\n */\nfunction round(num, precision) {\n if (num === undefined || num === null || isNaN(num)) throw new Error('num is required');\n if (precision && !(precision >= 0)) throw new Error('precision must be a positive number');\n var multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name radiansToDistance\n * @param {number} radians in radians across the sphere\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} distance\n */\nfunction radiansToDistance(radians, units) {\n if (radians === undefined || radians === null) throw new Error('radians is required');\n\n var factor = factors[units || 'kilometers'];\n if (!factor) throw new Error('units is invalid');\n return radians * factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into radians\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @name distanceToRadians\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} radians\n */\nfunction distanceToRadians(distance, units) {\n if (distance === undefined || distance === null) throw new Error('distance is required');\n\n var factor = factors[units || 'kilometers'];\n if (!factor) throw new Error('units is invalid');\n return distance / factor;\n}\n\n/**\n * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, feet\n *\n * @name distanceToDegrees\n * @param {number} distance in real units\n * @param {string} [units=kilometers] can be degrees, radians, miles, or kilometers inches, yards, metres, meters, kilometres, kilometers.\n * @returns {number} degrees\n */\nfunction distanceToDegrees(distance, units) {\n return radians2degrees(distanceToRadians(distance, units));\n}\n\n/**\n * Converts any bearing angle from the north line direction (positive clockwise)\n * and returns an angle between 0-360 degrees (positive clockwise), 0 being the north line\n *\n * @name bearingToAngle\n * @param {number} bearing angle, between -180 and +180 degrees\n * @returns {number} angle between 0 and 360 degrees\n */\nfunction bearingToAngle(bearing) {\n if (bearing === null || bearing === undefined) throw new Error('bearing is required');\n\n var angle = bearing % 360;\n if (angle < 0) angle += 360;\n return angle;\n}\n\n/**\n * Converts an angle in radians to degrees\n *\n * @name radians2degrees\n * @param {number} radians angle in radians\n * @returns {number} degrees between 0 and 360 degrees\n */\nfunction radians2degrees(radians) {\n if (radians === null || radians === undefined) throw new Error('radians is required');\n\n var degrees = radians % (2 * Math.PI);\n return degrees * 180 / Math.PI;\n}\n\n/**\n * Converts an angle in degrees to radians\n *\n * @name degrees2radians\n * @param {number} degrees angle between 0 and 360 degrees\n * @returns {number} angle in radians\n */\nfunction degrees2radians(degrees) {\n if (degrees === null || degrees === undefined) throw new Error('degrees is required');\n\n var radians = degrees % 360;\n return radians * Math.PI / 180;\n}\n\n\n/**\n * Converts a distance to the requested unit.\n * Valid units: miles, nauticalmiles, inches, yards, meters, metres, kilometers, centimeters, feet\n *\n * @param {number} distance to be converted\n * @param {string} originalUnit of the distance\n * @param {string} [finalUnit=kilometers] returned unit\n * @returns {number} the converted distance\n */\nfunction convertDistance(distance, originalUnit, finalUnit) {\n if (distance === null || distance === undefined) throw new Error('distance is required');\n if (!(distance >= 0)) throw new Error('distance must be a positive number');\n\n var convertedDistance = radiansToDistance(distanceToRadians(distance, originalUnit), finalUnit || 'kilometers');\n return convertedDistance;\n}\n\n/**\n * Converts a area to the requested unit.\n * Valid units: kilometers, kilometres, meters, metres, centimetres, millimeter, acre, mile, yard, foot, inch\n * @param {number} area to be converted\n * @param {string} [originalUnit=meters] of the distance\n * @param {string} [finalUnit=kilometers] returned unit\n * @returns {number} the converted distance\n */\nfunction convertArea(area, originalUnit, finalUnit) {\n if (area === null || area === undefined) throw new Error('area is required');\n if (!(area >= 0)) throw new Error('area must be a positive number');\n\n var startFactor = areaFactors[originalUnit || 'meters'];\n if (!startFactor) throw new Error('invalid original units');\n\n var finalFactor = areaFactors[finalUnit || 'kilometers'];\n if (!finalFactor) throw new Error('invalid final units');\n\n return (area / startFactor) * finalFactor;\n}\n\n/**\n * isNumber\n *\n * @param {*} num Number to validate\n * @returns {boolean} true/false\n * @example\n * turf.isNumber(123)\n * //=true\n * turf.isNumber('foo')\n * //=false\n */\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\n\nmodule.exports = {\n feature: feature,\n geometry: geometry,\n featureCollection: featureCollection,\n geometryCollection: geometryCollection,\n point: point,\n multiPoint: multiPoint,\n lineString: lineString,\n multiLineString: multiLineString,\n polygon: polygon,\n multiPolygon: multiPolygon,\n radiansToDistance: radiansToDistance,\n distanceToRadians: distanceToRadians,\n distanceToDegrees: distanceToDegrees,\n radians2degrees: radians2degrees,\n degrees2radians: degrees2radians,\n bearingToAngle: bearingToAngle,\n convertDistance: convertDistance,\n convertArea: convertArea,\n round: round,\n isNumber: isNumber\n};\n","var meta = require('@turf/meta');\nvar helpers = require('@turf/helpers');\nvar getCoords = require('@turf/invariant').getCoords;\nvar intersection = require('./intersection');\nvar flattenEach = meta.flattenEach;\nvar lineString = helpers.lineString;\nvar multiLineString = helpers.multiLineString;\nvar distanceToDegrees = helpers.distanceToDegrees;\n\n/**\n * Takes a {@link LineString|line} and returns a {@link LineString|line} at offset by the specified distance.\n *\n * @name lineOffset\n * @param {Geometry|Feature} geojson input GeoJSON\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {string} [units=kilometers] can be degrees, radians, miles, kilometers, inches, yards, meters\n * @returns {Feature} Line offset from the input line\n * @example\n * var line = turf.lineString([[-83, 30], [-84, 36], [-78, 41]], { \"stroke\": \"#F00\" });\n *\n * var offsetLine = turf.lineOffset(line, 2, \"miles\");\n *\n * //addToMap\n * var addToMap = [offsetLine, line]\n * offsetLine.properties.stroke = \"#00F\"\n */\nmodule.exports = function (geojson, distance, units) {\n if (!geojson) throw new Error('geojson is required');\n if (distance === undefined || distance === null || isNaN(distance)) throw new Error('distance is required');\n var type = (geojson.type === 'Feature') ? geojson.geometry.type : geojson.type;\n var properties = geojson.properties;\n\n switch (type) {\n case 'LineString':\n return lineOffset(geojson, distance, units);\n case 'MultiLineString':\n var coords = [];\n flattenEach(geojson, function (feature) {\n coords.push(lineOffset(feature, distance, units).geometry.coordinates);\n });\n return multiLineString(coords, properties);\n default:\n throw new Error('geometry ' + type + ' is not supported');\n }\n};\n\n/**\n * Line Offset\n *\n * @private\n * @param {Geometry|Feature} line input line\n * @param {number} distance distance to offset the line (can be of negative value)\n * @param {string} [units=kilometers] units\n * @returns {Feature} Line offset from the input line\n */\nfunction lineOffset(line, distance, units) {\n var segments = [];\n var offsetDegrees = distanceToDegrees(distance, units);\n var coords = getCoords(line);\n var finalCoords = [];\n coords.forEach(function (currentCoords, index) {\n if (index !== coords.length - 1) {\n var segment = processSegment(currentCoords, coords[index + 1], offsetDegrees);\n segments.push(segment);\n if (index > 0) {\n var seg2Coords = segments[index - 1];\n var intersects = intersection(segment, seg2Coords);\n\n // Handling for line segments that aren't straight\n if (intersects !== false) {\n seg2Coords[1] = intersects;\n segment[0] = intersects;\n }\n\n finalCoords.push(seg2Coords[0]);\n if (index === coords.length - 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n // Handling for lines that only have 1 segment\n if (coords.length === 2) {\n finalCoords.push(segment[0]);\n finalCoords.push(segment[1]);\n }\n }\n });\n return lineString(finalCoords, line.properties);\n}\n\n/**\n * Process Segment\n * Inspiration taken from http://stackoverflow.com/questions/2825412/draw-a-parallel-line\n *\n * @private\n * @param {Array} point1 Point coordinates\n * @param {Array} point2 Point coordinates\n * @param {number} offset Offset\n * @returns {Array>} offset points\n */\nfunction processSegment(point1, point2, offset) {\n var L = Math.sqrt((point1[0] - point2[0]) * (point1[0] - point2[0]) + (point1[1] - point2[1]) * (point1[1] - point2[1]));\n\n var out1x = point1[0] + offset * (point2[1] - point1[1]) / L;\n var out2x = point2[0] + offset * (point2[1] - point1[1]) / L;\n var out1y = point1[1] + offset * (point1[0] - point2[0]) / L;\n var out2y = point2[1] + offset * (point1[0] - point2[0]) / L;\n return [[out1x, out1y], [out2x, out2y]];\n}\n"],"sourceRoot":""}