@tangram.gl/tangram-renderer 0.0.0-stage → 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -2
- package/dist/core.js +36923 -0
- package/dist/core.js.map +6 -0
- package/dist/index.js +32 -0
- package/dist/loaders-gl-worker.js +82 -0
- package/dist/loaders-gl-worker.js.map +6 -0
- package/dist/map-logic.js +2 -0
- package/dist/map-logic.js.map +6 -0
- package/dist/projected-basemaps-worker.js +3 -0
- package/dist/projected-basemaps-worker.js.map +6 -0
- package/dist/shader-modules.js +141 -0
- package/dist/shader-modules.js.map +6 -0
- package/dist/style-schema.js +126 -0
- package/dist/style-schema.js.map +6 -0
- package/dist/tangram-style.schema.json +882 -0
- package/dist/tangram.debug.mjs +37139 -0
- package/dist/tangram.debug.mjs.map +6 -0
- package/dist/tangram.min.mjs +4950 -0
- package/dist/types/builders/earcut.d.ts +15 -0
- package/dist/types/core.d.ts +29 -0
- package/dist/types/gl/constants.d.ts +2 -0
- package/dist/types/gl/globe_mesh.d.ts +48 -0
- package/dist/types/gl/glsl.d.ts +17 -0
- package/dist/types/gl/vertex-constants.d.ts +4 -0
- package/dist/types/gl/vertex-types.d.ts +34 -0
- package/dist/types/gl/vertex_data.d.ts +32 -0
- package/dist/types/gl/vertex_elements.d.ts +8 -0
- package/dist/types/gl/vertex_layout.d.ts +32 -0
- package/dist/types/glsl.d.ts +14 -0
- package/dist/types/gpu/luma_device_renderer.d.ts +66 -0
- package/dist/types/gpu/resource_lifecycle.d.ts +4 -0
- package/dist/types/gpu/tangram_gpu_backend.d.ts +151 -0
- package/dist/types/index.d.ts +155 -0
- package/dist/types/lights/light-definitions.d.ts +121 -0
- package/dist/types/map-logic/draped-terrain-bounds.d.ts +41 -0
- package/dist/types/map-logic/globe-terrain-preparation.d.ts +85 -0
- package/dist/types/map-logic/globe-terrain.d.ts +54 -0
- package/dist/types/map-logic/index.d.ts +33 -0
- package/dist/types/map-logic/label-identity.d.ts +22 -0
- package/dist/types/map-logic/label-placement.d.ts +32 -0
- package/dist/types/map-logic/screen-bounds.d.ts +15 -0
- package/dist/types/map-logic/terrain-data.d.ts +55 -0
- package/dist/types/map-logic/terrain-error.d.ts +51 -0
- package/dist/types/map-logic/terrain-ground-topology.d.ts +26 -0
- package/dist/types/map-logic/terrain-height-field.d.ts +59 -0
- package/dist/types/map-logic/terrain-navigation.d.ts +27 -0
- package/dist/types/map-logic/terrain-neighborhood.d.ts +5 -0
- package/dist/types/map-logic/terrain-query.d.ts +33 -0
- package/dist/types/map-logic/terrain-resource-budget.d.ts +51 -0
- package/dist/types/map-logic/terrain-transition-topology.d.ts +23 -0
- package/dist/types/map-logic/tile-build-queue.d.ts +51 -0
- package/dist/types/map-logic/tile-cache-policy.d.ts +46 -0
- package/dist/types/map-logic/tile-residency.d.ts +17 -0
- package/dist/types/map-logic/triangle-query-index.d.ts +87 -0
- package/dist/types/procedures/js-yaml.d.ts +15 -0
- package/dist/types/procedures/mesh-projector.d.ts +107 -0
- package/dist/types/procedures/mvt-dependencies.d.ts +20 -0
- package/dist/types/procedures/projected-coordinate-transform.d.ts +27 -0
- package/dist/types/procedures/projection-batch-executor.d.ts +53 -0
- package/dist/types/procedures/scene-yaml-legacy.d.ts +6 -0
- package/dist/types/procedures/terrain-draping.d.ts +165 -0
- package/dist/types/procedures/terrain-globe.d.ts +6 -0
- package/dist/types/procedures/terrain-styled-topology.d.ts +34 -0
- package/dist/types/procedures/web-mercator-legacy.d.ts +4 -0
- package/dist/types/procedures/web-mercator-math.d.ts +4 -0
- package/dist/types/scene/globals.d.ts +11 -0
- package/dist/types/scene/ground_footprint.d.ts +16 -0
- package/dist/types/scene/host_frame.d.ts +54 -0
- package/dist/types/scene/projection_math.d.ts +52 -0
- package/dist/types/scene/scene-resource-types.d.ts +177 -0
- package/dist/types/scene/scene_bundle.d.ts +69 -0
- package/dist/types/scene/visibility_adapter.d.ts +106 -0
- package/dist/types/selection/draped-terrain-surface.d.ts +78 -0
- package/dist/types/selection/terrain_surface.d.ts +149 -0
- package/dist/types/shader-modules/globe-horizon.d.ts +15 -0
- package/dist/types/shader-modules/height-decode.d.ts +13 -0
- package/dist/types/shader-modules/hillshade.d.ts +13 -0
- package/dist/types/shader-modules/index.d.ts +6 -0
- package/dist/types/shader-modules/planar.d.ts +12 -0
- package/dist/types/shader-modules/sphere-map.d.ts +13 -0
- package/dist/types/shader-modules/triplanar.d.ts +15 -0
- package/dist/types/sources/decoded_tile_store.d.ts +95 -0
- package/dist/types/sources/tile_source_metadata.d.ts +32 -0
- package/dist/types/styles/text/fontfaceobserver.d.ts +10 -0
- package/dist/types/tile/tile_id.d.ts +37 -0
- package/dist/types/tile/tile_traversal_adapter.d.ts +63 -0
- package/dist/types/types.d.ts +293 -0
- package/dist/types/utils/geo.d.ts +57 -0
- package/dist/types/utils/hash.d.ts +1 -0
- package/dist/types/utils/log.d.ts +27 -0
- package/dist/types/utils/props.d.ts +6 -0
- package/dist/types/utils/subscribe.d.ts +10 -0
- package/dist/types/utils/thread.d.ts +6 -0
- package/dist/types/utils/urls.d.ts +26 -0
- package/dist/types/utils/utils.d.ts +26 -0
- package/dist/types/utils/version.d.ts +2 -0
- package/dist/types/utils/worker-types.d.ts +68 -0
- package/dist/types/utils/worker_broker.d.ts +3 -0
- package/package.json +103 -3
- package/src/builders/common.ts +41 -0
- package/src/builders/earcut.d.ts +15 -0
- package/src/builders/geometry-types.ts +60 -0
- package/src/builders/points.ts +115 -0
- package/src/builders/polygons.ts +225 -0
- package/src/builders/polylines.ts +682 -0
- package/src/builders/wireframe.ts +31 -0
- package/src/core.d.ts +29 -0
- package/src/core.ts +33 -0
- package/src/experimental/loaders-gl-worker.ts +19 -0
- package/src/experimental/projected-basemaps-worker.ts +13 -0
- package/src/experimental/projected-mesh-cache.ts +137 -0
- package/src/experimental/projected-mesh-domain.ts +110 -0
- package/src/experimental/projected-mesh-refinement.ts +193 -0
- package/src/experimental/projected-mesh.ts +399 -0
- package/src/experimental/projected-normal.ts +26 -0
- package/src/experimental/projected-symbol-mesh.ts +74 -0
- package/src/gl/constants.ts +18 -0
- package/src/gl/context.ts +103 -0
- package/src/gl/extensions.ts +30 -0
- package/src/gl/globe_mesh.ts +285 -0
- package/src/gl/glsl.ts +257 -0
- package/src/gl/mesh-types.ts +56 -0
- package/src/gl/render_state.ts +111 -0
- package/src/gl/shader_program.ts +1310 -0
- package/src/gl/texture.ts +814 -0
- package/src/gl/uniform_buffer.ts +340 -0
- package/src/gl/vao.ts +154 -0
- package/src/gl/vbo_mesh.ts +349 -0
- package/src/gl/vertex-constants.ts +19 -0
- package/src/gl/vertex-types.ts +35 -0
- package/src/gl/vertex_data.ts +126 -0
- package/src/gl/vertex_elements.ts +54 -0
- package/src/gl/vertex_layout.ts +241 -0
- package/src/glsl.d.ts +14 -0
- package/src/gpu/luma_device_renderer.ts +579 -0
- package/src/gpu/pixel_readback.ts +51 -0
- package/src/gpu/resource_lifecycle.ts +32 -0
- package/src/gpu/tangram_gpu_backend.ts +195 -0
- package/src/index.d.ts +155 -0
- package/src/index.ts +105 -0
- package/src/labels/collision-types.ts +94 -0
- package/src/labels/collision.ts +273 -0
- package/src/labels/collision_grid.ts +61 -0
- package/src/labels/intersect.ts +30 -0
- package/src/labels/label-types.ts +91 -0
- package/src/labels/label.ts +207 -0
- package/src/labels/label_line.ts +801 -0
- package/src/labels/label_point.ts +131 -0
- package/src/labels/main-pass-types.ts +73 -0
- package/src/labels/main_pass.ts +221 -0
- package/src/labels/point_anchor.ts +100 -0
- package/src/labels/point_placement.ts +150 -0
- package/src/labels/projected-pass.ts +259 -0
- package/src/labels/repeat_group.ts +72 -0
- package/src/lights/ambient_light.glsl +18 -0
- package/src/lights/directional_light.glsl +39 -0
- package/src/lights/geographic-lights.ts +21 -0
- package/src/lights/light-definitions.ts +285 -0
- package/src/lights/light.ts +590 -0
- package/src/lights/lighting-uniforms.ts +80 -0
- package/src/lights/lighting-wgsl.ts +116 -0
- package/src/lights/material.glsl +237 -0
- package/src/lights/material.ts +145 -0
- package/src/lights/native-falloff.ts +37 -0
- package/src/lights/point_light.glsl +96 -0
- package/src/lights/spot_light.glsl +111 -0
- package/src/map-logic/draped-terrain-bounds.ts +71 -0
- package/src/map-logic/globe-terrain-preparation.ts +217 -0
- package/src/map-logic/globe-terrain.ts +296 -0
- package/src/map-logic/index.ts +37 -0
- package/src/map-logic/label-identity.ts +36 -0
- package/src/map-logic/label-placement.ts +117 -0
- package/src/map-logic/screen-bounds.ts +34 -0
- package/src/map-logic/terrain-data.ts +107 -0
- package/src/map-logic/terrain-error.ts +134 -0
- package/src/map-logic/terrain-ground-topology.ts +164 -0
- package/src/map-logic/terrain-height-field.ts +254 -0
- package/src/map-logic/terrain-navigation.ts +50 -0
- package/src/map-logic/terrain-neighborhood.ts +43 -0
- package/src/map-logic/terrain-query.ts +51 -0
- package/src/map-logic/terrain-resource-budget.ts +124 -0
- package/src/map-logic/terrain-transition-topology.ts +164 -0
- package/src/map-logic/tile-build-queue.ts +110 -0
- package/src/map-logic/tile-cache-policy.ts +89 -0
- package/src/map-logic/tile-residency.ts +50 -0
- package/src/map-logic/triangle-query-index.ts +265 -0
- package/src/procedures/js-yaml.d.ts +15 -0
- package/src/procedures/mesh-projector.ts +191 -0
- package/src/procedures/mlt-loaders.ts +55 -0
- package/src/procedures/mvt-dependencies.d.ts +20 -0
- package/src/procedures/mvt-legacy.ts +150 -0
- package/src/procedures/mvt-loaders.ts +53 -0
- package/src/procedures/mvt-parser.ts +48 -0
- package/src/procedures/mvt-properties.ts +36 -0
- package/src/procedures/mvt-tile-provider.ts +72 -0
- package/src/procedures/pmtiles-loader.ts +75 -0
- package/src/procedures/projected-coordinate-transform.ts +79 -0
- package/src/procedures/projection-batch-executor.ts +140 -0
- package/src/procedures/scene-yaml-legacy.ts +16 -0
- package/src/procedures/scene-yaml-loaders.ts +10 -0
- package/src/procedures/terrain-draping.ts +713 -0
- package/src/procedures/terrain-globe.ts +32 -0
- package/src/procedures/terrain-styled-topology.ts +184 -0
- package/src/procedures/web-mercator-legacy.ts +24 -0
- package/src/procedures/web-mercator-math.ts +50 -0
- package/src/scene/camera.ts +298 -0
- package/src/scene/camera_base.ts +116 -0
- package/src/scene/classic_scene.ts +20 -0
- package/src/scene/external_camera.ts +101 -0
- package/src/scene/globals.ts +120 -0
- package/src/scene/ground_footprint.ts +139 -0
- package/src/scene/host_frame.ts +326 -0
- package/src/scene/projected_tile_lod.ts +125 -0
- package/src/scene/projection_math.ts +142 -0
- package/src/scene/projection_shaders.ts +183 -0
- package/src/scene/renderer.ts +516 -0
- package/src/scene/scene-resource-types.ts +174 -0
- package/src/scene/scene.ts +2378 -0
- package/src/scene/scene_bundle.ts +304 -0
- package/src/scene/scene_debug.ts +129 -0
- package/src/scene/scene_loader.ts +402 -0
- package/src/scene/scene_worker.ts +528 -0
- package/src/scene/view.ts +683 -0
- package/src/scene/visibility_adapter.ts +319 -0
- package/src/scene/worker_url.ts +15 -0
- package/src/selection/draped-terrain-surface.ts +377 -0
- package/src/selection/selection-types.ts +79 -0
- package/src/selection/selection.ts +542 -0
- package/src/selection/selection_fragment.glsl +18 -0
- package/src/selection/selection_globals.glsl +9 -0
- package/src/selection/selection_pixels.ts +59 -0
- package/src/selection/selection_vertex.glsl +15 -0
- package/src/selection/terrain_surface.ts +298 -0
- package/src/shader-modules/globe-horizon.ts +52 -0
- package/src/shader-modules/height-decode.ts +41 -0
- package/src/shader-modules/hillshade.ts +70 -0
- package/src/shader-modules/index.ts +10 -0
- package/src/shader-modules/planar.ts +24 -0
- package/src/shader-modules/sphere-map.ts +38 -0
- package/src/shader-modules/triplanar.ts +45 -0
- package/src/sources/aligned_tile_source.ts +122 -0
- package/src/sources/data_source.ts +655 -0
- package/src/sources/decoded_tile_store.ts +245 -0
- package/src/sources/geojson.ts +300 -0
- package/src/sources/mvt.ts +247 -0
- package/src/sources/raster.ts +341 -0
- package/src/sources/shared_tile_source_adapter.ts +117 -0
- package/src/sources/sources.ts +10 -0
- package/src/sources/tile_source_adapter.ts +84 -0
- package/src/sources/tile_source_metadata.ts +65 -0
- package/src/sources/tile_source_state.ts +112 -0
- package/src/sources/topojson.ts +90 -0
- package/src/styles/feature_annotations.ts +16 -0
- package/src/styles/filter.ts +190 -0
- package/src/styles/geometry-style-types.ts +209 -0
- package/src/styles/globe_visibility_wgsl.ts +22 -0
- package/src/styles/layer-types.ts +45 -0
- package/src/styles/layer.ts +586 -0
- package/src/styles/lines/dasharray.ts +49 -0
- package/src/styles/lines/lines.ts +707 -0
- package/src/styles/lines/lines_wgsl.ts +224 -0
- package/src/styles/points/point-runtime-types.ts +125 -0
- package/src/styles/points/points.ts +1079 -0
- package/src/styles/points/points_fragment.glsl +126 -0
- package/src/styles/points/points_vertex.glsl +230 -0
- package/src/styles/points/points_wgsl.ts +189 -0
- package/src/styles/polygons/polygons.ts +268 -0
- package/src/styles/polygons/polygons_fragment.glsl +173 -0
- package/src/styles/polygons/polygons_vertex.glsl +213 -0
- package/src/styles/polygons/polygons_wgsl.ts +127 -0
- package/src/styles/property-types.ts +125 -0
- package/src/styles/raster/raster.ts +33 -0
- package/src/styles/raster/raster_globals.glsl +46 -0
- package/src/styles/style-mixing-types.ts +101 -0
- package/src/styles/style-runtime-types.ts +220 -0
- package/src/styles/style-schema.ts +133 -0
- package/src/styles/style.ts +1033 -0
- package/src/styles/style_globals.glsl +69 -0
- package/src/styles/style_manager.ts +464 -0
- package/src/styles/style_parser.ts +620 -0
- package/src/styles/text/font_manager.ts +180 -0
- package/src/styles/text/fontfaceobserver.d.ts +10 -0
- package/src/styles/text/text-types.ts +220 -0
- package/src/styles/text/text.ts +378 -0
- package/src/styles/text/text_canvas.ts +773 -0
- package/src/styles/text/text_labels.ts +436 -0
- package/src/styles/text/text_segments.ts +142 -0
- package/src/styles/text/text_settings.ts +228 -0
- package/src/styles/text/text_wgsl.ts +159 -0
- package/src/styles/text/text_wrap.ts +194 -0
- package/src/tile/globe_tile_preload.ts +40 -0
- package/src/tile/tangram_tileset_2d.ts +108 -0
- package/src/tile/tile-build-types.ts +155 -0
- package/src/tile/tile.ts +807 -0
- package/src/tile/tile_id.ts +172 -0
- package/src/tile/tile_manager.ts +889 -0
- package/src/tile/tile_pyramid.ts +119 -0
- package/src/tile/tile_resource_cache.ts +91 -0
- package/src/tile/tile_traversal_adapter.ts +132 -0
- package/src/types.ts +332 -0
- package/src/utils/debounce.ts +17 -0
- package/src/utils/debug_settings.ts +43 -0
- package/src/utils/errors.ts +12 -0
- package/src/utils/functions.ts +95 -0
- package/src/utils/geo.ts +364 -0
- package/src/utils/hash.ts +14 -0
- package/src/utils/log.ts +108 -0
- package/src/utils/media_capture.ts +193 -0
- package/src/utils/merge.ts +44 -0
- package/src/utils/obb.ts +134 -0
- package/src/utils/props.ts +43 -0
- package/src/utils/slice.ts +14 -0
- package/src/utils/subscribe.ts +58 -0
- package/src/utils/task.ts +154 -0
- package/src/utils/thread.ts +26 -0
- package/src/utils/urls.ts +223 -0
- package/src/utils/utils.ts +310 -0
- package/src/utils/vector.ts +197 -0
- package/src/utils/version.ts +8 -0
- package/src/utils/worker-types.ts +79 -0
- package/src/utils/worker_broker.ts +523 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../node_modules/@math.gl/projection/src/experimental/rendering-profile/geographic-bounds.ts", "../../../node_modules/@math.gl/projection/src/experimental/rendering-profile/rendering-profile.ts", "../../../node_modules/@math.gl/projection/src/experimental/rendering-profile/identity-rendering-profile.ts", "../../../node_modules/@math.gl/projection/src/experimental/projection-descriptor.ts", "../../../node_modules/@math.gl/projection/src/experimental/projection-scratch.ts", "../../../node_modules/@math.gl/projection/src/experimental/mutable-projection.ts", "../../../node_modules/@math.gl/projection/src/experimental/scalar-output.ts", "../../../node_modules/@math.gl/crs/src/spatial-reference.ts", "../../../node_modules/@math.gl/crs/src/proj-string.ts", "../../../node_modules/@math.gl/projection/src/experimental/crs/types.ts", "../../../node_modules/@math.gl/projection/src/experimental/crs/spatial-reference.ts", "../../../node_modules/@math.gl/projection/src/experimental/parameters.ts", "../../../node_modules/@math.gl/projection/src/experimental/crs/datum-catalog.ts", "../../../node_modules/@math.gl/projection/src/experimental/crs/ellipsoid-table.ts", "../../../node_modules/@math.gl/projection/src/experimental/crs/primemeridian-table.ts", "../../../node_modules/@math.gl/crs/src/units-table.ts", "../../../node_modules/@math.gl/projection/src/experimental/crs/normalize.ts", "../../../node_modules/@math.gl/core/src/spheroid.ts", "../../../node_modules/@math.gl/projection/src/experimental/datum.ts", "../../../node_modules/@math.gl/projection/src/experimental/rendering-profile/rectangular-rendering-profile.ts", "../../../node_modules/@math.gl/projection/src/experimental/rendering-profile/rendering-bounds.ts", "../../../node_modules/@math.gl/projection/src/experimental/rendering-profile/geographic-rendering-profile.ts", "../../../node_modules/@math.gl/projection/src/experimental/vertical-datum.ts", "../../../node_modules/@math.gl/projection/src/experimental/typescript-projection.ts", "../../../node_modules/@math.gl/projection/src/experimental/kernel.ts", "../../../node_modules/@math.gl/projection/src/experimental/catalogue-kernel.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/constants.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/sign.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/adjust_lon.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/qsfnz.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/authset.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/authlat.ts", "../../../node_modules/@math.gl/projection/src/experimental/kernels/eqearth.ts", "../../../node_modules/@math.gl/projection/src/experimental/projections/eqearth.ts", "../../../node_modules/@math.gl/projection/src/experimental/flat-projection.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/msfnz.ts", "../../../node_modules/@math.gl/projection/src/experimental/common/asinz.ts", "../../../node_modules/@math.gl/projection/src/experimental/kernels/aea.ts", "../../../node_modules/@math.gl/projection/src/experimental/projections/aea.ts", "../../../node_modules/@math.gl/projection/src/experimental/projections/equidistant-cylindrical.ts", "../../../node_modules/@math.gl/projection/src/experimental/projections/mercator.ts", "../src/gl/globe_mesh.ts", "../src/procedures/mesh-projector.ts", "../src/procedures/projected-coordinate-transform.ts", "../src/experimental/projected-normal.ts", "../src/experimental/projected-mesh-cache.ts", "../src/experimental/projected-mesh-domain.ts", "../src/experimental/projected-mesh-refinement.ts", "../src/experimental/projected-symbol-mesh.ts", "../src/experimental/projected-mesh.ts", "../src/experimental/projected-basemaps-worker.ts"],
|
|
4
|
+
"mappings": "gDAMA,IAAMA,EAAU,KAAK,GAAK,IASpB,SAAUC,GACdC,EACAC,EACAC,EACAC,EAAa,CAEb,MAAO,CACL,CAACH,EAAMC,CAAK,EACZ,CAACC,EAAMC,CAAK,EAEhB,CAGM,SAAUC,GAAmBC,EAAiB,CAClD,OAAOA,GAAa,MAAQA,EAAY,IACpCA,IACIA,EAAY,KAAO,IAAO,KAAO,IAAO,GAClD,CAGM,SAAUC,GACdN,EACAC,EACAC,EACAC,EAAa,CAEb,GACE,CAAC,CAACH,EAAMC,EAAOC,EAAMC,CAAK,EAAE,MAAM,OAAO,QAAQ,GACjDF,EAAQ,KACRE,EAAQ,IACRF,EAAQE,GACRD,EAAOF,EAAO,MACdE,EAAOF,EAAO,IAAM,MAEpB,MAAM,IAAI,MAAM,6BAA6B,EAC/C,GAAIE,EAAOF,GAAQ,IAAM,MAAO,MAAO,CAAC,KAAMC,EAAO,IAAKE,CAAK,EAC/D,IAAMI,EAAcH,GAAmBF,CAAI,EAC3C,MAAO,CACLE,GAAmBJ,CAAI,EACvBC,EACAM,IAAgB,MAAQL,EAAOF,EAAO,IAAMO,EAC5CJ,EAEJ,CAGM,SAAUK,GAAiBC,EAAwB,CACvD,IAAMC,EAAOD,EAAO,CAAC,EAAIA,EAAO,CAAC,EAEjC,OAAOC,EAAO,EAAIA,EAAO,IAAMA,CACjC,CAGM,SAAUC,GAAsBF,EAAwB,CAC5D,GAAM,CAACT,EAAMC,EAAOC,EAAMC,CAAK,EAAIM,EACnC,OAAOT,GAAQE,EACX,CAACO,CAAM,EACP,CACE,CAACT,EAAMC,EAAO,IAAKE,CAAK,EACxB,CAAC,KAAMF,EAAOC,EAAMC,CAAK,EAEjC,CAGM,SAAUS,GACdH,EACAI,EAAgC,CAEhC,GAAM,CAACb,EAAMC,EAAOC,EAAMC,CAAK,EAAIM,EAC7BJ,EAAYD,GAAmBS,EAAM,CAAC,CAAC,EAC7C,OACEA,EAAM,CAAC,GAAKZ,GACZY,EAAM,CAAC,GAAKV,IACXH,GAAQE,EACJG,GAAaL,GAAQK,GAAaH,GAAUG,IAAc,MAAQH,IAAS,IAC5EG,GAAaL,GAAQK,GAAaH,EAE1C,CAGM,SAAUY,GACdC,EACAC,EAAmB,CAEnB,IAAMf,EAAQ,KAAK,IAAIc,EAAE,CAAC,EAAGC,EAAE,CAAC,CAAC,EAC/Bb,EAAQ,KAAK,IAAIY,EAAE,CAAC,EAAGC,EAAE,CAAC,CAAC,EAC7B,GAAIf,EAAQE,EAAO,MAAO,CAAA,EAC1B,IAAMc,EAAgC,CAAA,EACtC,QAAWC,KAAQP,GAAsBI,CAAC,EACxC,QAAWI,KAASR,GAAsBK,CAAC,EAAG,CAC5C,IAAMhB,EAAO,KAAK,IAAIkB,EAAK,CAAC,EAAGC,EAAM,CAAC,CAAC,EACrCjB,EAAO,KAAK,IAAIgB,EAAK,CAAC,EAAGC,EAAM,CAAC,CAAC,EAC/BnB,GAAQE,EAAMe,EAAU,KAAK,CAACjB,EAAME,CAAI,CAAC,GACnCgB,EAAK,CAAC,IAAM,KAAOC,EAAM,CAAC,IAAM,MAAUA,EAAM,CAAC,IAAM,KAAOD,EAAK,CAAC,IAAM,OAClFD,EAAU,KAAK,CAAC,KAAM,IAAI,CAAC,CAC/B,CACFA,EAAU,KAAK,CAACC,EAAMC,IAAUD,EAAK,CAAC,EAAIC,EAAM,CAAC,CAAC,EAClD,IAAMC,EAA6B,CAAA,EACnC,QAAWC,KAAYJ,EAAW,CAChC,IAAMK,EAAOF,EAAOA,EAAO,OAAS,CAAC,EACjCE,GAAQD,EAAS,CAAC,GAAKC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAI,KAAK,IAAIA,EAAK,CAAC,EAAGD,EAAS,CAAC,CAAC,EACtED,EAAO,KAAK,CAAC,GAAGC,CAAQ,CAAC,CAChC,CACA,GAAID,EAAO,OAAS,GAAKA,EAAO,CAAC,EAAE,CAAC,IAAM,MAAQA,EAAOA,EAAO,OAAS,CAAC,EAAE,CAAC,IAAM,IAAK,CACtF,IAAMG,EAAQH,EAAO,MAAK,EAE1B,MAAO,CACL,CAFOA,EAAO,IAAG,EAEX,CAAC,EAAGnB,EAAOsB,EAAM,CAAC,EAAGpB,CAAK,EAChC,GAAGiB,EAAO,IAAI,CAAC,CAACpB,EAAME,CAAI,IAAM,CAACF,EAAMC,EAAOC,EAAMC,CAAK,CAAqB,EAElF,CACA,OAAOiB,EAAO,IAAI,CAAC,CAACpB,EAAME,CAAI,IAAM,CAACF,EAAMC,EAAOC,EAAMC,CAAK,CAAC,CAChE,CAGM,SAAUqB,GACdf,EACAI,EAAgC,CAEhC,IAAIR,EAAYD,GAAmBS,EAAM,CAAC,CAAC,EACrCY,EAAW,KAAK,IAAIhB,EAAO,CAAC,EAAG,KAAK,IAAIA,EAAO,CAAC,EAAGI,EAAM,CAAC,CAAC,CAAC,EAClE,GAAI,CAACD,GAAwBH,EAAQ,CAACJ,EAAWoB,CAAQ,CAAC,EAAG,CAC3D,IAAMC,EAAe,KAAK,IAAItB,GAAmBC,EAAYI,EAAO,CAAC,CAAC,CAAC,EACjEkB,EAAe,KAAK,IAAIvB,GAAmBC,EAAYI,EAAO,CAAC,CAAC,CAAC,EACvEJ,EAAYqB,GAAgBC,EAAelB,EAAO,CAAC,EAAIA,EAAO,CAAC,CACjE,CACA,MAAO,CAACJ,EAAWoB,CAAQ,CAC7B,CAGM,SAAUG,GACdnB,EACAoB,EAAgB,EAChBC,EAAS,EAAC,CAEV,IAAMC,EAAQvB,GAAiBC,CAAM,EAC/BT,EAAOS,EAAO,CAAC,EAAIX,EAAU+B,EAC7BG,EAAShC,EAAQ+B,EAAQjC,EAAW,EACpCmC,EAAQ,KAAK,OAAOH,EAASE,IAAW,EAAI,KAAK,GAAG,EAAI,EAAI,KAAK,GACvE,OAAOjC,GACLgC,IAAU,IAAMD,EAAS,KAAK,GAAK9B,EAAOiC,EAC1CxB,EAAO,CAAC,EAAIX,EACZiC,IAAU,IAAMD,EAAS,KAAK,GAAK9B,EAAOiC,EAAQF,EAAQjC,EAC1DW,EAAO,CAAC,EAAIX,CAAO,CAEvB,CAGM,SAAUoC,GAAoBC,EAAuBN,EAAgB,EAAC,CAC1E,OAAOvB,IACJ6B,EAAO,CAAC,EAAE,CAAC,EAAIN,GAAiB/B,EACjCqC,EAAO,CAAC,EAAE,CAAC,EAAIrC,GACdqC,EAAO,CAAC,EAAE,CAAC,EAAIN,GAAiB/B,EACjCqC,EAAO,CAAC,EAAE,CAAC,EAAIrC,CAAO,CAE1B,CAGM,SAAUsC,GACd3B,EAAuD,CAEvD,GAAI,CAACA,EAAO,OAAQ,MAAM,IAAI,MAAM,sDAAsD,EAC1F,MAAO,CACL,CAAC,EAAG,EAAG,CAAC,EAAE,IAAI4B,GAAQ,KAAK,IAAI,GAAG5B,EAAO,IAAI6B,GAAQA,EAAK,CAAC,EAAED,CAAI,CAAC,CAAC,CAAC,EAKpE,CAAC,EAAG,EAAG,CAAC,EAAE,IAAIA,GAAQ,KAAK,IAAI,GAAG5B,EAAO,IAAI6B,GAAQA,EAAK,CAAC,EAAED,CAAI,CAAC,CAAC,CAAC,EAMxE,CCjLM,SAAUE,GACdC,EACAC,EAA2B,CAE3B,GAAIA,EACF,GAAI,CACF,IAAMC,EAAUF,EAAoBC,CAAQ,EAE5C,OAAOE,GAAcD,CAAO,CAC9B,MAAQ,CAER,CAEF,IAAMA,EAAUF,EAAmB,EACnC,OAAOG,GAAcD,CAAO,CAC9B,CAGA,SAASC,GAAcD,EAAmC,CACxD,IAAME,EAASF,EAAQ,OACvB,GAAIE,EAAO,KAAKC,GAAUA,EAAO,KAAKC,GAAS,CAAC,OAAO,SAASA,CAAK,CAAC,CAAC,EACrE,MAAM,IAAI,MAAM,4CAA4C,EAC9D,MAAO,CAAC,OAAAF,EAAQ,UAAWF,EAAQ,WAAW,KAAKA,CAAO,CAAC,CAC7D,CAuBM,SAAUK,GACdC,EACAC,EAA2E,CAE3E,IAAMC,EAAyC,CAAA,EAC/C,QAAWC,KAAUH,EAAS,CAC5B,IAAMI,EAAUH,EAAWE,CAAM,EAC7BC,IAAY,MAAMF,EAAS,KAAKG,GAAcD,CAAO,CAAC,CAC5D,CACA,OAAKF,EAAS,OACVA,EAAS,SAAW,EAAUA,EAAS,CAAC,EACrC,CACL,OAAQI,GAAqBJ,EAAS,IAAIE,GAAWA,EAAQ,MAAM,CAAC,EACpE,UAAUG,EAAK,CACb,IAAIC,EAAQD,EAAM,EAChBE,EAAQF,EAAM,EACdG,EAAO,IACT,QAAWN,KAAWF,EAAU,CAC9B,IAAMS,EAAY,CAAC,EAAGJ,EAAM,EAAG,EAAGA,EAAM,EAAG,EAAGA,EAAM,CAAC,EACrDH,EAAQ,YAAYO,CAAS,EAG7B,IAAMC,EACJ,KAAK,KAAMD,EAAU,EAAIJ,EAAM,GAAK,KAAK,GAAM,GAAG,GAAK,EACvD,KAAK,IAAKA,EAAM,EAAI,KAAK,GAAM,GAAG,EAChC,KAAK,IAAKI,EAAU,EAAI,KAAK,GAAM,GAAG,EACtC,KAAK,KAAMA,EAAU,EAAIJ,EAAM,GAAK,KAAK,GAAM,GAAG,GAAK,EACvDK,EAAWF,IACbA,EAAOE,EACPJ,EAAQG,EAAU,EAClBF,EAAQE,EAAU,EAEtB,CACAJ,EAAM,EAAIC,EACVD,EAAM,EAAIE,CACZ,GA1B2B,IA4B/B,CCxFM,SAAUI,IAA2B,CACzC,MAAO,CACL,OAAQ,CACN,CAAC,GAAI,GAAI,CAAC,EACV,CAAC,EAAG,EAAG,CAAC,GAGd,CCIA,IAAMC,GAAY,OAAO,IAAI,gDAAgD,EAC7E,SAASC,IAAK,CACZ,IAAMC,EAAQ,WAGd,OAAAA,EAAMF,EAAS,IAAfE,EAAMF,EAAS,EAAM,IAAI,SAClBE,EAAMF,EAAS,CACxB,CAGM,SAAUG,GACdC,EAAmD,CAEnD,MAAO,WAAYA,EAAaA,EAAaH,GAAK,EAAG,IAAIG,CAAU,GAAG,cACxE,CAGM,SAAUC,GACdD,EAAmD,CAEnD,GAAI,WAAYA,EAAY,OAAO,QAAQ,QAAQA,CAAU,EAC7D,IAAIE,EAAQL,GAAK,EAAG,IAAIG,CAAU,EAKlC,GAJKE,IACHA,EAAQ,CAAC,KAAM,IAAMF,EAAW,QAAO,CAAE,EACzCH,GAAK,EAAG,IAAIG,EAAYE,CAAK,GAE3BA,EAAM,eAAgB,OAAO,QAAQ,QAAQA,EAAM,cAAc,EACrE,IAAMC,EAAQD,EACd,OAAAC,EAAM,UAANA,EAAM,QAAY,QAAQ,QAAO,EAC9B,KAAKA,EAAM,IAAI,EACf,KAAKC,GAAS,CACb,IAAMC,EAAOC,GAAkBA,EAAM,YAAW,EAAG,QAAQ,UAAW,EAAE,EAClEC,EAAY,IAAI,IAAI,CAACH,EAAO,KAAM,GAAIA,EAAO,SAAW,CAAA,CAAG,EAAE,IAAIC,CAAG,CAAC,EAC3E,GACE,OAAOD,EAAO,QAAW,YACzB,CAAC,CAACJ,EAAW,KAAM,GAAIA,EAAW,SAAW,CAAA,CAAG,EAAE,MAAMQ,GAAQD,EAAU,IAAIF,EAAIG,CAAI,CAAC,CAAC,EAExF,MAAM,IAAI,MAAM,gDAAkDR,EAAW,IAAI,EACnF,OAAAG,EAAM,eAAiBC,EAChBA,CACT,CAAC,EACA,MAAMK,GAAQ,CACb,MAAAN,EAAM,QAAU,OACVM,CACR,CAAC,GACIN,EAAM,OACf,CC1DA,SAASO,IAAW,CAClB,MAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC1B,CAEM,IAAOC,GAAP,KAAwB,CAA9B,aAAA,CACW,KAAA,MAAyBD,GAAW,EAC5B,KAAA,OAA4B,CAAC,KAAK,KAAK,EAChD,KAAA,OAAS,CAYnB,CAXE,IAAI,OAAK,CACP,OAAO,KAAK,MACd,CACA,SAAO,OACL,IAAME,EAAQ,KAAK,SACnB,OAAAC,EAAA,KAAK,QAAOD,CAAK,IAAAC,EAALD,CAAK,EAAMF,GAAW,GAC3B,KAAK,OAAOE,CAAK,CAC1B,CACA,QAAQE,EAAsB,CACxB,KAAK,OAAS,GAAK,KAAK,OAAO,KAAK,OAAS,CAAC,IAAMA,GAAO,KAAK,QACtE,GCjBI,SAAUC,GACdC,EACAC,EAAyC,CAEzC,IAAMC,EAAU,IAAIC,GACdC,EAAS,CACbC,EACAC,EACAC,IACoB,CACpB,IAAMC,EAAQN,EAAQ,QAAO,EAC7B,GAAI,CACF,OAAAM,EAAM,EAAIH,EACVG,EAAM,EAAIF,EACVE,EAAM,EAAI,EACVD,EAAUC,CAAK,EACR,CAACA,EAAM,EAAGA,EAAM,CAAC,CAC1B,SACEN,EAAQ,QAAQM,CAAK,CACvB,CACF,EACA,MAAO,CACL,QAAQH,EAAGC,EAAC,CACV,OAAOF,EAAOC,EAAGC,EAAGN,CAAO,CAC7B,EACA,QAAQK,EAAGC,EAAC,CACV,OAAOF,EAAOC,EAAGC,EAAGL,CAAO,CAC7B,EACA,eAAgBD,EAChB,eAAgBC,EAEpB,CAEM,SAAUQ,GACdC,EACAT,EACAU,EAAa,GAAK,CAElB,IAAMC,EAAUX,EAAUS,EAAe,eAAiBA,EAAe,eACzE,GAAIE,EAAS,OAAOA,EAAQ,KAAKF,CAAc,EAC/C,GAAIC,EAAY,CACd,IAAMJ,EAAYN,EAAUS,EAAe,UAAYA,EAAe,UACtE,OAAOF,GAAQ,CACb,IAAMK,EAASN,EAAU,KAAKG,EAAgB,CAACF,EAAM,EAAGA,EAAM,EAAGA,EAAM,CAAC,CAAC,EACzEA,EAAM,EAAIK,EAAO,CAAC,EAClBL,EAAM,EAAIK,EAAO,CAAC,EAClBL,EAAM,EAAIK,EAAO,CAAC,CACpB,CACF,CACA,IAAMN,EAAYN,EAAUS,EAAe,QAAUA,EAAe,QACpE,OAAOF,GAAQ,CACb,IAAMK,EAASN,EAAU,KAAKG,EAAgBF,EAAM,EAAGA,EAAM,CAAC,EAC9DA,EAAM,EAAIK,EAAO,CAAC,EAClBL,EAAM,EAAIK,EAAO,CAAC,CACpB,CACF,CCtDA,IAAMC,GAAc,qBAGd,SAAUC,GACdC,EACAC,EACAC,EAAc,CAEd,GACE,EACE,MAAM,QAAQF,CAAU,GACxBA,aAAsB,cACtBA,aAAsB,cAGxB,MAAM,IAAI,MAAM,oEAAoE,EACtF,GACE,EAAE,MAAM,QAAQC,CAAM,GAAKA,aAAkB,cAAgBA,aAAkB,eAC/EA,EAAO,OAASC,EAEhB,MAAM,IAAI,MACR,2GAA2G,EAE/G,GAAIF,IAAeC,GAAU,MAAM,QAAQD,CAAU,GAAK,MAAM,QAAQC,CAAM,EAAG,OACjF,IAAME,EAAQH,EACRI,EAASH,EACTI,EACJ,OAAO,kBAAsB,KAC7BF,EAAM,kBAAkB,mBACxBC,EAAO,kBAAkB,kBAE3B,IACGD,EAAM,SAAWC,EAAO,QAAUC,IACnCF,EAAM,WAAaC,EAAO,WAAaF,EAASE,EAAO,mBACvDA,EAAO,WAAaD,EAAM,WAAaA,EAAM,WAE7C,MAAM,IAAI,MAAM,8EAA8E,CAClG,CAGM,SAAUG,GACdN,EACAC,EACAM,EACAL,EAAc,CAEd,GAAID,aAAkB,aAAc,CAClC,GACE,KAAK,IAAIM,EAAM,CAAC,EAAIT,IACpB,KAAK,IAAIS,EAAM,CAAC,EAAIT,IACnBI,GAAU,GAAK,KAAK,IAAIK,EAAM,CAAC,EAAIT,GAEpC,MAAM,IAAI,MAAM,4CAA4C,EAC9D,QAASU,EAAI,EAAGA,EAAIR,EAAW,OAAQQ,IAAK,CAC1C,IAAMC,EAAQT,EAAWQ,CAAC,EAC1B,GAAI,OAAO,SAASC,CAAK,GAAK,KAAK,IAAIA,CAAK,EAAIX,GAC9C,MAAM,IAAI,MAAM,yCAAyC,CAC7D,CACF,CAEA,QAASU,EAAI,EAAGA,EAAIR,EAAW,OAAQQ,IAAKP,EAAOO,CAAC,EAAIR,EAAWQ,CAAC,EACpE,OAAAP,EAAO,CAAC,EAAIM,EAAM,EAClBN,EAAO,CAAC,EAAIM,EAAM,EACdL,GAAU,IAAGD,EAAO,CAAC,EAAIM,EAAM,GAC5BN,CACT,CCiFM,SAAUS,GACdC,EAAiC,CAEjC,GAAI,OAAOA,GAAe,SACxB,MAAO,WAGT,IAAMC,EAAOD,EAAW,KAAI,EAC5B,MAAI,4BAA4B,KAAKC,CAAI,EAChC,MAEL,oBAAoB,KAAKA,CAAI,EACxB,cAGP,yCAAyC,KAAKA,CAAI,GAClD,qBAAqB,KAAKA,CAAI,GAC9B,gBAAgB,KAAKA,CAAI,GACzB,uBAAuB,KAAKA,CAAI,EAEzB,aAEF,QACT,CCtJM,IAAOC,GAAP,cAAqC,WAAW,CAMpD,YAAYC,EAAiBC,EAAgBC,EAAc,CACzD,IAAMC,EAAWC,GAAkBH,EAAQC,CAAM,EACjD,MAAM,GAAGF,CAAO,OAAOG,EAAS,IAAI,IAAIA,EAAS,MAAM,EAAE,EACzD,KAAK,KAAO,wBACZ,KAAK,OAASD,EACd,KAAK,KAAOC,EAAS,KACrB,KAAK,OAASA,EAAS,MACzB,GAII,SAAUE,GAAgBC,EAAY,CAC1C,IAAMC,EAASC,GAAmBF,CAAI,EACtC,GAAIC,EAAO,SAAW,EACpB,MAAM,IAAIR,GAAsB,uBAAwBO,EAAM,CAAC,EAIjE,MAAO,CAAC,KAAM,cAAe,WADVC,EAAO,IAAIE,GAASC,GAAeD,EAAM,IAAKA,EAAM,OAAQH,CAAI,CAAC,CAC7C,CACzC,CA6BA,IAAMK,GAAY,sEA2ClB,SAASC,GAAeC,EAAkBC,EAAgBC,EAAc,CACtE,IAAMC,EAAQH,EAAS,WAAW,GAAG,EAAIA,EAAS,MAAM,CAAC,EAAIA,EAC7D,GAAI,CAACG,EACH,MAAM,IAAIC,GAAsB,iCAAkCF,EAAQD,CAAM,EAElF,IAAMI,EAAcF,EAAM,QAAQ,GAAG,EAC/BG,EAAOD,EAAc,EAAIF,EAAQA,EAAM,MAAM,EAAGE,CAAW,EACjE,GAAI,CAACC,GAAQ,SAAS,KAAKA,CAAI,EAC7B,MAAM,IAAIF,GAAsB,gCAAgCE,CAAI,IAAKJ,EAAQD,CAAM,EAEzF,GAAII,EAAc,EAChB,MAAO,CAAC,KAAM,YAAa,KAAAC,CAAI,EAGjC,IAAMC,EAAWJ,EAAM,MAAME,EAAc,CAAC,EACtCG,EAAQC,GAAqBF,EAAUL,EAAQD,EAASI,EAAc,CAAC,EAC7E,MAAO,CAAC,KAAM,YAAa,KAAAC,EAAM,MAAAE,EAAO,SAAAD,CAAQ,CAClD,CAEA,SAASG,GAAmBR,EAAc,CACxC,IAAMS,EAA0C,CAAA,EAC5CV,EAAS,EACb,KAAOA,EAASC,EAAO,QAAQ,CAC7B,KAAOD,EAASC,EAAO,QAAU,KAAK,KAAKA,EAAOD,CAAM,CAAC,GACvDA,IAEF,GAAIA,GAAUC,EAAO,OACnB,MAEF,IAAMU,EAAQX,EACVY,EAA0B,KAC1BC,EAAU,GACd,KAAOb,EAASC,EAAO,QAAQ,CAC7B,IAAMa,EAAYb,EAAOD,CAAM,EAC/B,GAAIa,EAAS,CACXA,EAAU,GACVb,IACA,QACF,CACA,GAAIc,IAAc,MAAQF,EAAO,CAC/BC,EAAU,GACVb,IACA,QACF,CACA,GAAIY,EAAO,CACLE,IAAcF,IAChBA,EAAQ,MAEVZ,IACA,QACF,CACA,IAAKc,IAAc,KAAOA,IAAc,MAAQb,EAAOD,EAAS,CAAC,IAAM,IAAK,CAC1EY,EAAQE,EACRd,IACA,QACF,CACA,GAAI,KAAK,KAAKc,CAAS,EACrB,MAEFd,GACF,CACA,GAAIY,EACF,MAAM,IAAIT,GAAsB,iCAAkCF,EAAQU,CAAK,EAEjFD,EAAO,KAAK,CAAC,IAAKT,EAAO,MAAMU,EAAOX,CAAM,EAAG,OAAQW,CAAK,CAAC,CAC/D,CACA,OAAOD,CACT,CAEA,SAASF,GAAqBF,EAAkBL,EAAgBD,EAAc,CAC5E,GAAI,CAACM,EACH,MAAO,GAET,IAAMS,EAAQT,EAAS,CAAC,EACxB,GAAIS,IAAU,KAAOA,IAAU,IAAK,CAClC,IAAKT,EAAS,SAAS,GAAG,GAAKA,EAAS,SAAS,GAAG,IAAM,CAACU,GAAU,KAAKV,CAAQ,EAChF,MAAM,IAAIH,GAAsB,0CAA2CF,EAAQD,CAAM,EAE3F,OAAOM,CACT,CACA,GAAIA,EAASA,EAAS,OAAS,CAAC,IAAMS,EACpC,MAAM,IAAIZ,GAAsB,iCAAkCF,EAAQD,CAAM,EAElF,IAAIO,EAAQ,GACZ,QAASU,EAAQ,EAAGA,EAAQX,EAAS,OAAS,EAAGW,IAAS,CACxD,IAAMH,EAAYR,EAASW,CAAK,EAC5BH,IAAc,MAAQG,EAAQ,EAAIX,EAAS,OAAS,EACtDC,GAASD,EAAS,EAAEW,CAAK,EAEzBV,GAASO,CAEb,CACA,OAAOP,CACT,CASA,SAASW,GAAkBC,EAAgBC,EAAc,CACvD,IAAIC,EAAO,EACPC,EAAS,EACb,QAASC,EAAQ,EAAGA,EAAQH,GAAUG,EAAQJ,EAAO,OAAQI,IACvDJ,EAAOI,CAAK,IAAM;GACpBF,IACAC,EAAS,GAETA,IAGJ,MAAO,CAAC,KAAAD,EAAM,OAAAC,CAAM,CACtB,QCjKME,GAAY,OAAO,IAAI,wCAAwC,EACxDC,EAAP,MAAOC,UAA2B,KAAK,CAE3C,QAAgBC,GADNH,GACO,OAAO,YAAW,EAAEI,EAAc,CACjD,OAAI,OAASF,EACJ,SAAS,UAAU,OAAO,WAAW,EAAE,KAAK,KAAME,CAAK,EACzDA,aAAiB,OAAUA,EAA6BJ,EAAS,IAAM,EAChF,CAEA,YACWK,EACTC,EAAe,CAEf,MAAMA,CAAO,EAHJ,KAAA,OAAAD,EARF,KAAAF,EAAA,EAAc,GAYrB,KAAK,KAAO,oBACd,GAEI,SAAUI,EAAiBD,EAAe,CAC9C,MAAM,IAAIL,EAAmB,0BAA2BK,CAAO,CACjE,CCxFM,SAAUE,GACdC,EACAC,EAAgC,CAMhC,GAAI,OAAOD,GAAU,UAAY,SAAUA,EAAO,MAAO,CAAC,WAAYA,EAAO,MAAO,EAAK,EACzF,IAAME,EAAWF,EACXG,EAAmB,QAASD,EAAWA,EAAW,OAClDE,EAAY,QAASF,EAAWA,EAAS,IAAMA,EACrD,GAAIE,EAAU,QAAU,YAAcA,EAAU,QAAU,UACxD,MAAM,IAAIC,EACR,iBACA,uBAAyBD,EAAU,MAAQ,gBAAgB,EAE/D,IAAIE,EAAQ,GACZ,OAAIH,GAAkB,kBAAoB,QACxCI,EAAiB,2DAA2D,EAC1EJ,GAAkB,UAAYA,EAAiB,SAAS,QAAU,WAChEF,EAAQ,OAAS,cACnBM,EACE,4EAA4E,EAEhFD,EAAQ,IAEH,CAAC,WAAYF,EAAU,WAAY,iBAAAD,EAAkB,MAAAG,CAAK,CACnE,CAEM,SAAUE,GACdC,EACAL,EAA4B,CAE5B,GAAI,CAACA,EAAW,OAAOK,EACvB,GAAIL,EAAU,kBAAoB,WAAaA,EAAU,kBAAoBK,EAAI,KAC/E,MAAM,IAAI,MAAM,0DAA0D,EAC5E,IAAMC,EAAQN,EAAU,gBAClBO,EACJF,EAAI,OAAS,aACT,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,GAAG,EACvB,CACE,UAAW,IACX,IAAK,IACL,SAAU,IACV,IAAK,IACL,QAAS,IACT,SAAU,IACV,OAAQ,IACR,SAAU,IACV,EAAG,IACH,EAAG,IACH,EAAG,KAEPG,EAkBJ,GAjBIF,EAAM,SACRE,EAAaF,EACV,MAAM,EAAG,CAAC,EACV,IAAIG,GAAQF,EAAME,EAAK,YAAW,CAAE,GAAK,GAAG,EAC5C,KAAK,EAAE,EACND,EAAW,SAAW,IAAGA,GAAc,MAEzCA,EAAW,SAAW,GACtB,CAACA,EAAW,SAAS,GAAG,GACxB,CAACA,EAAW,SAAS,GAAG,GACxB,CAACA,EAAW,SAAS,GAAG,IAExBL,EAAiB,+CAA+C,GAC9DG,EAAM,OAAS,GAAMA,EAAM,OAAS,GAAK,CAAC,CAAC,IAAK,SAAS,EAAE,SAASA,EAAM,CAAC,CAAC,IAC9EH,EAAiB,yCAAyC,GAG1DH,EAAU,OAAO,OAAQ,CAC3B,IAAMU,EAAgC,CACpC,EAAG,EACH,MAAO,EACP,MAAO,EACP,OAAQ,EACR,OAAQ,EACR,GAAI,IACJ,GAAI,MACJ,QAAS,kBACT,OAAQ,KAAK,GAAK,IAClB,QAAS,KAAK,GAAK,IACnB,OAAQ,EACR,QAAS,EACT,KAAM,KAAK,GAAK,KAElB,QAASC,EAAI,EAAGA,EAAI,KAAK,IAAIX,EAAU,MAAM,OAAQ,CAAC,EAAGW,IAAK,CAC5D,IAAMC,GAAYJ,GAAc,OAAOG,CAAC,IAAM,IACxCE,EACJR,EAAI,OAAS,aACTA,EAAI,QACJO,EACEP,EAAI,aACJA,EAAI,OAAS,aACXA,EAAI,YACJA,EAAI,SAEZ,KAAK,KAAKK,EAAMV,EAAU,MAAMW,CAAC,CAAC,GAAK,KAAOE,CAAQ,EAAI,OAC1DH,EAAMV,EAAU,MAAMW,CAAC,CAAC,IAAM,SAE9BR,EAAiB,8CAA8C,CACnE,CACF,CACA,OAAO,OAAO,OAAO,CAAC,GAAGE,EAAK,WAAAG,CAAU,CAAC,CAC3C,CC5GO,IAAMM,EAAqB,KAAK,GAAK,IAGtC,SAAUC,EACdC,EACAC,EACAC,EAAgB,CAEhB,GAAI,CAAC,OAAO,UAAU,eAAe,KAAKF,EAAYC,CAAI,EAAG,OAAOC,EACpE,IAAMC,EAAQH,EAAWC,CAAI,EAC7B,GAAI,OAAOE,GAAU,UAAY,CAAC,4CAA4C,KAAKA,CAAK,EACtF,MAAM,IAAI,MAAM,oCAAoCF,CAAI,EAAE,EAE5D,IAAMG,EAAS,OAAOD,CAAK,EAC3B,GAAI,CAAC,OAAO,SAASC,CAAM,EAAG,MAAM,IAAI,MAAM,oCAAoCH,CAAI,EAAE,EACxF,OAAOG,CACT,CAEM,SAAUC,GAAkBL,EAAkCC,EAAY,CAC9E,IAAMK,EAAUP,EAAgBC,EAAYC,EAAM,CAAC,EACnD,GAAI,KAAK,IAAIK,CAAO,GAAK,GAAI,MAAM,IAAI,MAAM,IAAIL,CAAI,qCAAqC,EAC1F,OAAOK,EAAUR,CACnB,CAGM,SAAUS,EAAcC,EAAmBC,EAAO,GAAK,CAC3D,GAAIA,GAAQ,KAAK,IAAID,CAAS,GAAK,KAAK,GAAI,OAAOA,EACnD,IAAME,EAAS,EAAI,KAAK,GACxB,QAAWF,EAAY,KAAK,IAAME,EAAUA,GAAUA,EAAU,KAAK,EACvE,CC9BA,IAAMC,GAAyB,CAAC,QAAS,QAAS,QAAS,OAAO,EAC5DC,GAAyB,CAAC,QAAS,QAAS,QAAS,OAAO,EAC5DC,GAAsD,CAC1D,MAAAF,GACA,MAAOA,GACP,MAAAC,GACA,0BAA2BA,IAEvBE,GAAW,IAAI,QAORC,GAAgBC,GAAyBA,EAAK,YAAW,EAAG,QAAQ,UAAW,EAAE,EAGxF,SAAUC,GACdC,EAAgC,CAEhC,GAAI,CAACA,EAAQ,eAAe,OAAQ,OAAOL,GAC3C,IAAMM,EAASL,GAAS,IAAII,CAAO,EACnC,GAAIC,GAAQ,WAAaD,EAAQ,cAAe,OAAOC,EAAO,YAC9D,IAAMC,EAA+C,OAAO,OAAO,OAAO,OAAO,IAAI,EAAGP,EAAQ,EAC1FQ,EAAQ,IAAI,IAChB,OAAO,QAAQR,EAAQ,EAAE,IAAI,CAAC,CAACG,EAAMM,CAAU,IAAM,CACnDP,GAAaC,CAAI,EACjB,CAAC,WAAAM,EAAY,MAAO,EAAE,EACvB,CAAC,EAEJ,OAAAJ,EAAQ,cAAc,QAAQ,CAACK,EAASC,IAAS,CAC/C,GAAI,CAACD,EAAQ,MAAQ,CAACA,EAAQ,OAAQ,MAAM,IAAI,MAAM,gCAAgC,EACtF,OAAW,CAACP,EAAMM,CAAU,IAAK,OAAO,QAAQC,EAAQ,MAAM,EAAG,CAC/D,IAAME,EAAMV,GAAaC,CAAI,EAC7B,GACE,CAACS,GACDA,IAAQ,QACR,CAACH,GACD,CAAC,UAAW,UAAW,UAAU,EAAE,KACjCI,GAASJ,EAAWI,CAAK,IAAM,QAAa,OAAOJ,EAAWI,CAAK,GAAM,QAAQ,EAGnF,MAAM,IAAI,MAAM,6BAA+BV,CAAI,EACrD,IAAMW,EAAWN,EAAM,IAAII,CAAG,EAC9B,GACEE,IACCA,EAAS,QAAUH,GAClBG,EAAS,WAAW,UAAYL,EAAW,SAC3CK,EAAS,WAAW,UAAYL,EAAW,SAC3CK,EAAS,WAAW,WAAaL,EAAW,UAE9C,MAAM,IAAI,MAAM,mCAAqCN,CAAI,EAC3DK,EAAM,IAAII,EAAK,CAAC,WAAAH,EAAY,MAAAE,CAAK,CAAC,EAClCJ,EAAYJ,CAAI,EAAIM,CACtB,CACF,CAAC,EACDR,GAAS,IAAII,EAAS,CAAC,SAAUA,EAAQ,cAAe,YAAAE,CAAW,CAAC,EAC7DA,CACT,CC3DA,IAAMQ,GAAwF,CAC5F,MAAO,CACL,EAAG,QACH,GAAI,QACJ,YAAa,cAEf,MAAO,CACL,EAAG,QACH,GAAI,QACJ,YAAa,6BAEf,MAAO,CACL,EAAG,QACH,GAAI,cACJ,YAAa,wBAEf,MAAO,CACL,EAAG,QACH,GAAI,QACJ,YAAa,YAEf,KAAM,CACJ,EAAG,cACH,EAAG,aACH,YAAa,aAEf,KAAM,CACJ,EAAG,QACH,GAAI,OACJ,YAAa,uBAEf,MAAO,CACL,EAAG,QACH,GAAI,OACJ,YAAa,4BAEf,SAAU,CACR,EAAG,cACH,EAAG,cACH,YAAa,iBAEf,OAAQ,CACN,EAAG,aACH,GAAI,IACJ,YAAa,8BAEf,QAAS,CACP,EAAG,QACH,GAAI,OACJ,YAAa,mCAEf,MAAO,CACL,EAAG,QACH,GAAI,cACJ,YAAa,qBAEf,OAAQ,CACN,EAAG,cACH,GAAI,YACJ,YAAa,eAEf,SAAU,CACR,EAAG,cACH,GAAI,YACJ,YAAa,yBAEf,OAAQ,CACN,EAAG,YACH,EAAG,YACH,YAAa,eAEf,OAAQ,CACN,EAAG,cACH,GAAI,SACJ,YAAa,oBAEf,UAAW,CACT,EAAG,YACH,EAAG,QACH,GAAI,YACJ,YAAa,qBAEf,OAAQ,CACN,EAAG,oBACH,GAAI,kBACJ,YAAa,eAEf,IAAK,CACH,EAAG,YACH,GAAI,OACJ,YAAa,mCAEf,OAAQ,CACN,EAAG,QACH,GAAI,MACJ,YAAa,2BAEf,QAAS,CACP,EAAG,aACH,GAAI,SACJ,YAAa,gBAEf,QAAS,CACP,EAAG,cACH,GAAI,SACJ,YAAa,gBAEf,QAAS,CACP,EAAG,cACH,GAAI,SACJ,YAAa,gBAEf,QAAS,CACP,EAAG,cACH,GAAI,SACJ,YAAa,gBAEf,QAAS,CACP,EAAG,cACH,GAAI,SACJ,YAAa,gBAEf,QAAS,CACP,EAAG,cACH,GAAI,SACJ,YAAa,6BAEf,QAAS,CACP,EAAG,QACH,GAAI,MACJ,YAAa,gCAEf,SAAU,CACR,EAAG,QACH,GAAI,MACJ,YAAa,gBAEf,QAAS,CACP,EAAG,QACH,GAAI,MACJ,YAAa,gBAEf,QAAS,CACP,EAAG,QACH,GAAI,MACJ,YAAa,gBAEf,MAAO,CACL,EAAG,QACH,GAAI,IACJ,YAAa,SAEf,KAAM,CACJ,EAAG,QACH,GAAI,IACJ,YAAa,gCAEf,MAAO,CACL,EAAG,QACH,GAAI,OACJ,YAAa,cAEf,MAAO,CACL,EAAG,QACH,GAAI,QACJ,YAAa,cAEf,MAAO,CACL,EAAG,QACH,GAAI,IACJ,YAAa,mBAEf,SAAU,CACR,EAAG,YACH,EAAG,YACH,YAAa,0BAEf,QAAS,CACP,EAAG,QACH,EAAG,QACH,YAAa,yBAEf,MAAO,CACL,EAAG,QACH,GAAI,MACJ,YAAa,oBAEf,OAAQ,CACN,EAAG,QACH,EAAG,eACH,YAAa,kBAEf,QAAS,CACP,EAAG,QACH,EAAG,eACH,YAAa,WAEf,MAAO,CACL,EAAG,QACH,GAAI,MACJ,YAAa,UAEf,MAAO,CACL,EAAG,QACH,GAAI,OACJ,YAAa,UAEf,MAAO,CACL,EAAG,QACH,GAAI,OACJ,YAAa,UAEf,MAAO,CACL,EAAG,QACH,GAAI,cACJ,YAAa,UAEf,OAAQ,CACN,EAAG,QACH,EAAG,QACH,YAAa,8BAIjBC,GAAeD,GChOf,IAAME,EAAwC,CAAA,EAE9CA,EAAc,UAAe,EAC7BA,EAAc,OAAY,gBAC1BA,EAAc,MAAW,eACzBA,EAAc,OAAY,iBAC1BA,EAAc,OAAY,gBAC1BA,EAAc,KAAU,gBACxBA,EAAc,KAAU,eACxBA,EAAc,QAAa,iBAC3BA,EAAc,MAAW,iBACzBA,EAAc,SAAc,SAC5BA,EAAc,UAAe,gBAC7BA,EAAc,OAAY,WAC1BA,EAAc,KAAU,gBAExB,IAAAC,GAAeD,ECOR,IAAME,GAAiD,CAC5D,EAAG,CAAC,KAAM,SAAU,cAAe,CAAC,EACpC,GAAI,CAAC,KAAM,cAAe,cAAe,IAAK,EAC9C,GAAI,CAAC,KAAM,cAAe,cAAe,GAAI,EAC7C,GAAI,CAAC,KAAM,OAAQ,cAAe,KAAM,EACxC,QAAS,CAAC,KAAM,iBAAkB,cAAe,iBAAW,EAC5D,KAAM,CAAC,KAAM,UAAW,cAAe,MAAM,EAC7C,IAAK,CAAC,KAAM,iBAAkB,cAAe,IAAI,EACjD,QAAS,CAAC,KAAM,mBAAoB,cAAe,gBAAgB,EACnE,QAAS,CAAC,KAAM,kBAAmB,cAAe,gBAAgB,EAClE,GAAI,CAAC,KAAM,aAAc,cAAe,GAAI,EAC5C,SAAU,CAAC,KAAM,cAAe,cAAe,SAAU,EACzD,SAAU,CAAC,KAAM,eAAgB,cAAe,SAAU,EAC1D,GAAI,CAAC,KAAM,QAAS,cAAe,QAAQ,EAC3C,GAAI,CAAC,KAAM,QAAS,cAAe,KAAM,EACzC,GAAI,CAAC,KAAM,SAAU,cAAe,OAAO,EAC3C,KAAM,CAAC,KAAM,QAAS,cAAe,OAAQ,EAC7C,GAAI,CAAC,KAAM,aAAc,cAAe,EAAG,EAC3C,GAAI,CAAC,KAAM,SAAU,cAAe,KAAM,EAC1C,SAAU,CAAC,KAAM,gBAAiB,cAAe,WAAW,EAC5D,QAAS,CAAC,KAAM,mBAAoB,cAAe,gBAAiB,EACpE,QAAS,CAAC,KAAM,kBAAmB,cAAe,gBAAiB,GCjCrE,IAAMC,GAA4C,CAChD,MAAO,6BACP,YAAa,6BACb,YAAa,6BACb,YAAa,6BACb,YAAa,6BACb,YAAa,4DACb,YAAa,YACb,OAAQ,YACR,cAAe,YACf,cAAe,aAEJC,GAAkB,CAC7B,OACA,QACA,QACA,IACA,IACA,KACA,IACA,IACA,QACA,WACA,SACA,YACA,UACA,OACA,QACA,UACA,WACA,aACA,OACA,KACA,OACA,YAEWC,GAAa,CAAC,UAAW,MAAM,EACtCC,EAAM,CAACC,EAAgBC,IAC3B,OAAO,UAAU,eAAe,KAAKD,EAAQC,CAAG,EAC5CC,GAASC,GAA0BA,EAAM,YAAW,EAAG,QAAQ,UAAW,EAAE,EAClF,SAASC,GAAUC,EAA0BC,EAAY,CACvD,IAAML,EAAM,OAAO,KAAKI,CAAK,EAAE,KAAKJ,GAAOC,GAAMD,CAAG,IAAMC,GAAMI,CAAI,CAAC,EACrE,OAAOL,IAAQ,OAAY,OAAYI,EAAMJ,CAAG,CAClD,CAGM,SAAUM,GAAWC,EAAY,CACrC,GAAI,gDAAgD,KAAKA,CAAI,EAAG,CAC9D,IAAML,EAAQ,OAAOK,CAAI,EACzB,GAAI,OAAO,SAASL,CAAK,EAAG,OAAOA,CACrC,CACA,GAAI,iDAAiD,KAAKK,CAAI,EAAG,CAC/D,IAAML,EAAQ,OAAOK,EAAK,MAAM,EAAG,EAAE,CAAC,EAAIC,EAC1C,GAAI,OAAO,SAASN,CAAK,EAAG,OAAOA,CACrC,CACA,IAAMO,EACJ,qFAAqF,KAAKF,CAAI,EAChG,GAAIE,IAAQ,KAAK,KAAKF,CAAI,GAAKE,EAAI,CAAC,GAAI,CACtC,IAAMC,EAAU,OAAOD,EAAI,CAAC,GAAK,CAAC,EAChCE,EAAU,OAAOF,EAAI,CAAC,GAAK,CAAC,EAC9B,GAAIC,EAAU,IAAMC,EAAU,GAAI,CAChC,IAAMC,EAAOH,EAAI,CAAC,IAAM,IAAM,GAAK,EAC7BI,EAAY,QAAQ,KAAKJ,EAAI,CAAC,GAAK,EAAE,EAAI,GAAK,EAC9CP,EAAQU,EAAOC,GAAa,OAAOJ,EAAI,CAAC,CAAC,EAAIC,EAAU,GAAKC,EAAU,MAC5E,GAAI,OAAO,SAAST,CAAK,EAAG,OAAOA,CACrC,CACF,CACA,MAAM,IAAI,MAAM,8BAAgCK,CAAI,CACtD,CAEM,SAAUO,GACdC,EACAC,EAAmC,CAAA,EAAE,CAErC,IAAMC,EAASC,GAAoBF,CAAO,EACpCG,EAAWC,GAAgBL,EAAOC,CAAO,EAC3CK,EAAaF,EAAS,WACpBG,EAAUN,EAAQ,SAAW,CAAA,EAC7BO,EAAU,IAAI,IACpB,KAAO,OAAOF,GAAe,WAAavB,EAAIwB,EAASD,CAAU,GAAKvB,EAAIH,GAAS0B,CAAU,IAAI,CAC/F,GAAIE,EAAQ,IAAIF,CAAU,EAAG,MAAM,IAAI,MAAM,uBAAyBA,CAAU,EAChFE,EAAQ,IAAIF,CAAU,EACtBA,EAAavB,EAAIwB,EAASD,CAAU,EAAIC,EAAQD,CAAU,EAAI1B,GAAQ0B,CAAU,CAClF,CACA,GAAI,OAAOA,GAAe,SAAU,CAClC,IAAMG,EAAM,0BAA0B,KAAKH,CAAU,EACjDG,GAAO,OAAOA,EAAI,CAAC,CAAC,GAAK,GAAK,OAAOA,EAAI,CAAC,CAAC,GAAK,KAClDH,EACE,gCAAkC,OAAOG,EAAI,CAAC,CAAC,GAAKA,EAAI,CAAC,IAAM,MAAQ,UAAY,MAEnFH,IAAe,aAAeA,IAAe,eAC/CA,EACE,oCACCA,IAAe,YAAc,GAAK,KACnC,wCAEN,CACA,IAAII,EACJ,GAAIC,GAAuBL,CAAU,IAAM,eAAiB,OAAOA,GAAe,SAAU,CAC1F,IAAMM,EAAiD,OAAO,OAAO,IAAI,EACzE,QAAWC,KAAaC,GAAgBR,CAAU,EAAE,WAAY,CAC9D,GAAIvB,EAAI6B,EAAYC,EAAU,IAAI,EAChC,MAAM,IAAI,MAAM,8BAAgCA,EAAU,IAAI,EAChED,EAAWC,EAAU,IAAI,EAAIA,EAAU,KACzC,CACAH,EAAS,CAAC,WAAAE,CAAU,CACtB,KAAO,CACL,IAAMG,EAASd,EAAQ,SAAS,KAAKe,GAAaA,EAAU,SAASV,CAAU,CAAC,EAChF,GAAI,CAACS,EAAQ,CACX,IAAME,EAAa,CAAC,MAAO,UAAU,EAAE,SAASN,GAAuBL,CAAU,CAAC,EAClF,MAAM,IAAIY,EACRD,EAAa,iBAAmB,iBAChC,0FAA0F,CAE9F,CACAP,EAASK,EAAO,MAAMT,EAAYL,CAAO,CAC3C,CACA,IAAMW,EAAa,CAAC,GAAGF,EAAO,UAAU,EACxC,QAAWpB,IAAQ,CACjB,QACA,QACA,QACA,QACA,SACA,WACA,QACA,QACA,OACA,QACA,QACA,OACA,MACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEIsB,EAAWtB,CAAI,IAAM,SAAWsB,EAAWtB,CAAI,EAAI,OAAOC,GAAWqB,EAAWtB,CAAI,CAAC,CAAC,GAE5F,IAAM6B,EAAeP,EAAW,KAC1BQ,EAAYD,GAAc,YAAW,EACrC7B,EACJ8B,IAAc,aACV,UACA,CAAC,UAAW,UAAW,SAAU,SAAU,WAAY,SAAS,EAAE,SAASA,CAAS,EAClFA,EACAD,EACR,GAAI,CAAC7B,EAAM,MAAM,IAAI,MAAM,oBAAoB,EAC/C,IAAM+B,EAAO,CAAC,UAAW,UAAW,SAAU,QAAQ,EAAE,SAAS/B,CAAI,EACjE,aACAA,IAAS,UACP,aACAA,IAAS,WACP,WACA,YACFgC,EAAYV,EAAW,MACvBW,EAAQD,GAAaA,IAAc,OAASlC,GAAOc,EAAQoB,CAAS,EAAI,OAC1EA,GAAaA,IAAc,QAAU,CAACC,GACxCC,EAAiB,kBAAoBF,EAAY,mCAAmC,EACtF,IAAMG,EAAYC,GAAad,EAAYW,GAAO,OAAO,EACnDI,EAAQf,EAAW,UAAeW,GAAO,SACzCK,EACJD,IAAU,OACN,OACAA,EAAM,MAAM,GAAG,EAAE,IAAIE,GAAQ,CAC3B,IAAMC,EAAWD,EAAM,WAAW,GAAG,EAC/BvC,EAAOwC,EAAWD,EAAM,MAAM,CAAC,EAAIA,EACzC,GAAI,CAACvC,GAAQ,KAAK,KAAKA,CAAI,EAAG,MAAM,IAAI,MAAM,yBAAyB,EACvE,OAAO,OAAO,OAAO,CAAC,KAAAA,EAAM,SAAAwC,CAAQ,CAAC,CACvC,CAAC,EACDC,EAAWnB,EAAW,SAAcW,GAAO,QAC7CS,EACJ,GAAID,IAAa,SACfC,EAAQD,EAAS,MAAM,GAAG,EAAE,IAAI5C,GAAS8C,EAAgB,CAAC,MAAA9C,CAAK,EAAG,QAAS,GAAG,CAAC,EAE7E,CAAC,CAAC,EAAG,CAAC,EAAE,SAAS6C,EAAM,MAAM,GAC7BA,EAAM,KAAK7C,GAAS,CAAC,OAAO,SAASA,CAAK,CAAC,GAC1C6C,EAAM,SAAW,GAAKA,EAAM,CAAC,GAAK,MAEnC,MAAM,IAAI,MAAM,mEAAmE,EAGnFV,IAAc,SAAQU,EAAQ,QAC9BJ,GAAkBN,IAAc,SAAQU,EAAQ,CAAC,EAAG,EAAG,CAAC,GAC5D,IAAME,EACJP,IAAU,SAAWA,IAAU,OAASD,GAAa,CAAC,MAAO,OAAO,CAAC,EAAID,EACrEU,EAAOvB,EAAW,MAAW,MACnC,GAAIuB,EAAK,SAAW,GAAK,CAAC,OAAO,KAAKA,CAAI,GAAK,CAAC,OAAO,KAAKA,CAAI,GAAK,CAAC,OAAO,KAAKA,CAAI,EACpF,MAAM,IAAI,MAAM,iBAAmBA,CAAI,EACzC,IAAMC,EAAc1B,EAAO,aAAejB,EAC1C,GACE4B,IAAS,eACPT,EAAW,OAAYA,EAAW,QAAa,WAAc7B,EAAI6B,EAAY,UAAU,GAEzF,MAAM,IAAI,MAAM,+CAA+C,EACjE,GAAIS,IAAS,cAAgBT,EAAW,QAAa,UACnD,MAAM,IAAI,MAAM,yCAAyC,EAC3D,IAAMyB,EAAUC,GAAW1B,EAAY,QAAS,UAAU,EACpD2B,EAAe7B,EAAO,cAAgB4B,GAAW1B,EAAY,SAAU,WAAW,EACxF,GAAI,EAAE2B,EAAe,IAAM,CAAC,OAAO,SAASA,CAAY,EACtD,MAAM,IAAI,MAAM,uBAAuB,EACzC,GAAI,EAAEH,EAAc,IAAM,CAAC,OAAO,SAASA,CAAW,EAAG,MAAM,IAAI,MAAM,sBAAsB,EAC/F,IAAMI,EAAK5B,EAAW,GAChB6B,EACJD,IAAO,OAAY,GAAKpD,GAAOsD,GAAgBF,CAAE,GAAKjD,GAAWiD,CAAE,GAAK/C,EAC1E,OAAOkD,GACL,OAAO,OAAO,CACZ,KAAAtB,EACA,WAAY/B,EACZ,WAAY,OAAO,OAAOsB,CAAU,EACpC,UAAAa,EACA,MAAO,OAAO,OAAO,CACnB,UAAWS,EACX,QAASF,GAAS,OAAO,OAAOA,CAAK,EACrC,MACEV,IAAc,QAAUK,IAAU,SAAWA,IAAU,OACnD,OACAC,GAAkB,OAAO,OAAOA,CAAc,EACrD,EACD,UAAWlB,EAAO,UAClB,YAAA0B,EACA,QAAAC,EACA,aAAAE,EACA,cAAAE,EACA,KAAAN,EACA,cACEvB,EAAW,WAAgB,OACvB,OACA,OAAOA,EAAW,QAAW,EAAInB,EACvC,MAAO,GAAQiB,EAAO,OAASN,EAAS,OACzC,EACDA,EAAS,gBAAgB,CAE7B,CACA,SAASkC,GAAW1B,EAAkCgC,EAAiBC,EAAiB,CACtF,IAAMC,EAAOlC,EAAWgC,CAAO,EACzBvD,EAAQ0D,GACd,GAAIH,IAAY,UAAYE,IAAS,UAAW,MAAM,IAAI,MAAM,8BAA8B,EAC9F,GAAIA,GAAQ,CAAC,CAAC,IAAK,SAAS,EAAE,SAASA,CAAI,GAAK,CAAC/D,EAAIM,EAAOyD,CAAI,EAC9D,MAAM,IAAI,MAAM,sBAAwBA,CAAI,EAC9C,IAAME,EAASf,EACbrB,EACAiC,EACAC,GAAQzD,EAAMyD,CAAI,EAAIzD,EAAMyD,CAAI,EAAE,cAAgB,CAAC,EAErD,GAAI,EAAEE,EAAS,GAAI,MAAM,IAAI,MAAM,IAAMH,EAAY,mBAAmB,EACxE,OAAOG,CACT,CACA,SAAStB,GAAad,EAAkCsB,EAAuB,CAC7E,IAAM5C,EAAO4C,GAAkBtB,EAAW,OAAY,QAChDN,EAAalB,GAAO6D,GAAY3D,CAAI,EAC1C,GAAI,CAACgB,EAAY,MAAM,IAAI,MAAM,0BAA4BhB,CAAI,EACjE,IAAM4D,EAAIjB,EAAgBrB,EAAY,IAAKN,EAAW,CAAC,EACjD6C,EAAIlB,EAAgBrB,EAAY,IAAK,GAAG,EACxCwC,EAAKnB,EACTrB,EACA,KACA,OAAO,MAAMuC,CAAC,EAAI7C,EAAW,IAAM,EAAI6C,IAAM,EAAI,EAAI,EAAIA,CAAC,EAEtDE,EAAIpB,EACRrB,EACA,IACAwC,EACIF,GAAK,EAAI,EAAIE,GACbrE,EAAI6B,EAAY,GAAG,GAAK7B,EAAI6B,EAAY,IAAI,GAAK7B,EAAI6B,EAAY,GAAG,EAClEsC,EACA5C,EAAW,GAAK4C,CAAC,EAEnBI,EAASrB,EAAgBrB,EAAY,IAAK,CAAC,EACjD,GACEsC,GAAK,GACLG,GAAK,GACLA,EAAIH,GACJE,EAAK,GACJA,EAAK,GAAKA,GAAM,GAChBrE,EAAI6B,EAAY,GAAG,GAAK0C,GAAU,GAClC,CAAC,OAAO,MAAMH,CAAC,IAAMA,EAAI,GAAKA,GAAK,GAEpC,MAAM,IAAI,MAAM,8BAA8B,EAChD,OAAO,OAAO,OAAO,CACnB,cAAeG,GAAUJ,EACzB,cAAeI,GAAUD,EACzB,oBAAqBC,EAAS,EAAI,GAAKD,EAAIH,IAAM,EAClD,CACH,CCrSM,SAAUK,GACdC,EACAC,EACAC,EAAwBF,EAAK,CAE7B,IAAMG,EAAYH,EAAM,EACtBI,EAAWJ,EAAM,EACjBK,EAASL,EAAM,EACX,CAAC,cAAeM,EAAG,cAAeC,EAAG,oBAAqBC,CAAE,EAAIP,EAChEQ,EAAM,KAAK,IAAIL,CAAQ,EAC3BM,EAAM,KAAK,IAAIN,CAAQ,EAEnBO,EAAQJ,EAAID,EACZM,EAASJ,EAAK,GAAMF,EAAI,KAAK,KAAK,EAAIE,EAAKC,EAAMA,CAAG,EAAIH,EAAI,KAAK,MAAMI,EAAKC,EAAQF,CAAG,EACvFI,GAAKD,EAASP,GAAUK,EAAM,KAAK,IAAIP,CAAS,EAChDW,GAAKF,EAASP,GAAUK,EAAM,KAAK,IAAIP,CAAS,EAChDY,GAAKH,GAAUJ,EAAK,GAAM,EAAIA,EAAKG,EAAQA,GAASN,GAAUI,EACpE,OAAOO,GAAOd,EAAQW,EAAGC,EAAGC,CAAC,CAC/B,CASM,SAAUE,GACdjB,EACAC,EACAC,EAAwBF,EAAK,CAE7B,IAAMa,EAAIb,EAAM,EACdc,EAAId,EAAM,EACVe,EAAIf,EAAM,EACN,CAAC,cAAeM,EAAG,cAAeC,EAAG,oBAAqBC,CAAE,EAAIP,EAChEiB,EAAI,KAAK,MAAML,EAAGC,CAAC,EACvBK,EAAK,KAAK,MAAMN,EAAGC,EAAGC,CAAC,EACzB,GAAI,EAAEI,EAAK,IAAM,CAAC,OAAO,SAASA,CAAE,EAAG,MAAO,GAC9C,GAAIX,IAAO,EAAG,OAAOQ,GAAOd,EAAQgB,IAAM,EAAI,EAAI,KAAK,MAAMJ,EAAGD,CAAC,EAAG,KAAK,MAAME,EAAGG,CAAC,EAAGC,EAAKb,CAAC,EAC5F,GAAIY,IAAM,EAAG,OAAOF,GAAOd,EAAQ,EAAI,KAAK,KAAKa,CAAC,EAAI,KAAK,GAAM,EAAG,KAAK,IAAIA,CAAC,EAAIR,CAAC,EACnF,IAAMa,EAAaF,EAAIZ,EACrBe,EAAWN,EAAIR,EACjB,GAAIa,EAAaA,EAAaC,EAAWA,EAAW,EAAI,GAAK,OAAO,QAClE,OAAOC,GAAgBT,EAAGC,EAAGC,EAAGG,EAAGZ,EAAGC,EAAGL,CAAM,EACjD,GAAIM,GAAM,GAAK,OAAOe,GAAgBV,EAAGC,EAAGC,EAAGG,EAAGZ,EAAGC,EAAGL,CAAM,EAC9D,IAAMsB,EAAKT,EAAII,EACbM,EAAKP,EAAIC,EACPO,EAAK,EAAI,KAAK,KAAK,EAAIlB,GAAM,EAAIA,GAAMiB,EAAKA,CAAE,EAC9Cf,EAAMe,GAAM,EAAIjB,GAAMkB,EACxBjB,EAAMe,EAAKE,EACb,QAASC,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAMC,EAAKtB,EAAI,KAAK,KAAK,EAAIE,EAAKC,EAAMA,CAAG,EACrCJ,EAASa,EAAIR,EAAMK,EAAIN,EAAMmB,GAAM,EAAIpB,EAAKC,EAAMA,GAClDoB,EAAMrB,EAAKoB,GAAOA,EAAKvB,GAC7BqB,EAAK,EAAI,KAAK,KAAK,EAAIG,GAAM,EAAIA,GAAMJ,EAAKA,CAAE,EAC9C,IAAMK,EAAUL,GAAM,EAAII,GAAMH,EAC9BK,EAAUP,EAAKE,EACjB,GAAI,KAAK,IAAIK,EAAUrB,EAAMoB,EAAUrB,CAAG,GAAK,MAAO,CACpD,GAAI,CAAC,OAAO,SAASJ,CAAM,GAAK,CAAC,OAAO,SAAS0B,CAAO,GAAK,CAAC,OAAO,SAASD,CAAO,EAAG,MACxF,OAAOd,GAAOd,EAAQ,KAAK,MAAMY,EAAGD,CAAC,EAAG,KAAK,MAAMkB,EAAS,KAAK,IAAID,CAAO,CAAC,EAAGzB,CAAM,CACxF,CACAK,EAAMoB,EACNrB,EAAMsB,CACR,CACA,OAAOR,GAAgBV,EAAGC,EAAGC,EAAGG,EAAGZ,EAAGC,EAAGL,CAAM,CACjD,CAKA,SAASoB,GACPT,EACAC,EACAC,EACAG,EACAZ,EACAC,EACAL,EAAqB,CAErB,IAAMS,EAAQJ,EAAID,EAChB0B,EAASrB,EAAQA,EACbS,EAAaF,EAAIZ,EACrBe,EAAWN,EAAIT,EACf2B,EAAQ,EAAID,EACd,GAAI,EAAEA,EAAS,IAAMrB,EAAQ,EAAG,MAAO,GACvC,GAAII,IAAM,EACR,OAAIK,EAAaa,EAAc,GACxBjB,GAAOd,EAAQ,KAAK,MAAMY,EAAGD,CAAC,EAAG,EAAGK,EAAIZ,CAAC,EAElD,IAAM4B,EAAK5B,EAAIA,EACb6B,EAAK5B,EAAIA,EACL6B,EACJ,OAAO,SAASF,CAAE,GAAKA,EAAK,GACvBC,EACCH,EAASE,EACTG,GAAa9B,EAAGA,EAAG4B,CAAE,EACrBH,EAASK,GAAa/B,EAAGA,EAAG4B,CAAE,EAC9BG,GAAaL,EAAQE,EAAIF,EAASE,CAAE,GACtCA,EACA,EACAI,EAAKpB,EAAIA,EACbqB,EAAK1B,EAAIA,EACT2B,EAAK1B,EAAIA,EACT2B,EAAMF,EAAKC,EACPE,EACJ,OAAO,SAASJ,CAAE,GAAKA,EAAK,GACvBG,EACCH,EACAK,GAASJ,EAAIC,EAAIC,CAAG,EACpBJ,GAAaxB,EAAGA,EAAG0B,CAAE,EACrBF,GAAavB,EAAGA,EAAG0B,CAAE,EACrBH,GAAanB,EAAGA,EAAGoB,CAAE,IACtB,EAAIpB,GACL,EACA0B,EAAQtC,EAAI0B,EAChBa,EAAO3B,EAAIZ,EAAIsC,EACXE,EACJJ,EAAcC,GAASzB,EAAIZ,EAAGsC,EAAOC,CAAI,EAAIR,GAAa/B,EAAG0B,EAAQY,CAAK,EAAItC,EAAI8B,EAC9EW,EAAW,KAAK,IAAI1B,CAAQ,EAAIV,EACtC,GAAI,EAAEoC,EAAW,GAAI,MAAO,GAC5B,IAAIC,EAAQ,EACVC,EAAQjB,EAGNkB,EAAI,KAAK,IAAIH,EAAU3B,EAAaa,CAAK,EACvCiB,EAAIF,GAASE,EAAID,IAAQC,EAAID,EAAQ,GAC3C,QAAStB,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAC5B,IAAMwB,EAAalB,EAAQiB,EACrBE,EAAIhC,EAAa+B,EACrBE,EAAIN,EAAWG,EACXI,EAAKhD,EAAI4C,EACbK,EAAaV,EAAOS,EAIhBE,GAFHD,GAAcZ,GAASE,EAAM,CAACS,EAAIC,CAAU,EAAIT,EAAaT,GAAa/B,EAAG4C,EAAGI,CAAE,KAClFhD,EAAI6C,IACgBC,EAAI,GACrBK,EAAWD,EAAOH,EAAIA,EAC5B,GACE,KAAK,IAAII,CAAQ,GAAK,EAAI,OAAO,SAAW,KAAK,IAAID,CAAI,EAAIH,EAAIA,IACjEJ,EAAQD,GAAS,EAAI,OAAO,QAAUE,EACtC,CACA,IAAM9C,EAAW,KAAK,MAAMiB,EAAW6B,EAAG9B,EAAa+B,CAAU,EAC3D1C,EAAM,KAAK,IAAIL,CAAQ,EAC3BM,EAAM,KAAK,IAAIN,CAAQ,EACzB,OAAOY,GACLd,EACA,KAAK,MAAMY,EAAGD,CAAC,EACfT,EACAc,EAAIR,EAAMK,EAAIN,EAAMH,EAAI,KAAK,MAAMI,EAAKC,EAAQF,CAAG,CAAC,CAExD,CACIgD,EAAW,EAAGT,EAAQE,EACrBD,EAAQC,EACb,IAAMQ,EAAa,IAAON,EAAIA,EAAKD,EAAcE,EAAIA,EAAKH,GACpDS,EAAOT,EAAIO,EAAWC,EACtBE,EACJ,OAAO,SAASD,CAAI,GAAKA,EAAOX,GAASW,EAAOV,EAAQU,EAAOX,GAASC,EAAQD,GAAS,EAC3F,GAAIY,IAAcV,EAAG,CACnB,IAAM9C,EAAW,KAAK,MAAMiB,EAAW6B,EAAG9B,EAAa+B,CAAU,EACjE,OAAOnC,GACLd,EACA,KAAK,MAAMY,EAAGD,CAAC,EACfT,EACAc,EAAI,KAAK,IAAId,CAAQ,EACnBW,EAAI,KAAK,IAAIX,CAAQ,EACrBE,EAAI,KAAK,MAAM,KAAK,IAAIF,CAAQ,EAAGO,EAAQ,KAAK,IAAIP,CAAQ,CAAC,CAAC,CAEpE,CACA8C,EAAIU,CACN,CACA,MAAO,EACT,CAGA,SAASjB,GAAS9B,EAAWC,EAAW2B,EAAW,CACjD,IAAMoB,EAAOpB,EAAM5B,EACnB,OAAOA,GAAK4B,EAAMoB,IAAS/C,EAAI+C,EACjC,CACA,SAASxB,GAAaxB,EAAWC,EAAWgD,EAAe,CACzD,IAAMC,EAAK,UAAYlD,EACrBmD,EAAK,UAAYlD,EACnB,GAAI,CAAC,OAAO,SAASiD,CAAE,GAAK,CAAC,OAAO,SAASC,CAAE,EAAG,MAAO,GACzD,IAAMC,EAAKF,GAAMA,EAAKlD,GACpBqD,EAAKF,GAAMA,EAAKlD,GAChBqD,EAAKtD,EAAIoD,EACTG,EAAKtD,EAAIoD,EACX,OAAOD,EAAKC,EAAKJ,EAAUG,EAAKG,EAAKD,EAAKD,EAAKC,EAAKC,CACtD,CAGA,SAAS7C,GACPV,EACAC,EACAC,EACAG,EACAZ,EACAC,EACAL,EAAqB,CAErB,IAAMS,EAAQJ,EAAID,EAChB0B,EAASrB,EAAQA,EACjBS,EAAaF,EAAIZ,EACjBe,EAAWN,EAAIT,EACX+D,EAAO,KAAK,MAAMjD,EAAYL,EAAIR,CAAC,EACzC,GAAI,CAAC,OAAO,SAAS8D,CAAI,GAAKA,EAAO,EAAI,EAAI,OAAO,SAAW,EAAErC,EAAS,GAAI,MAAO,GACrF,IAAIgB,EAAQ,EACVC,EAAQ,KAAK,MAAM7B,EAAYC,EAAWV,CAAK,EACjD,GAAI,CAAC,OAAO,SAASsC,CAAK,EAAG,MAAO,GACpC,IAAIqB,EAAaD,GAAQ,EAAI,EAAI,OAAO,QAAU,EAAIpB,EAAQ,EAC9D,QAAStB,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAMwB,EAAa,EAAImB,EACrBC,EAAQvC,EAASsC,EACblB,EAAIhC,EAAa+B,EACrBE,EAAKhC,EAAWV,EAAS4D,EACrBC,EAAS,KAAK,MAAMpB,EAAGC,CAAC,EACxBI,EAAWe,EAAS,EAC1B,GAAI,KAAK,IAAIf,CAAQ,GAAK,EAAI,OAAO,QAAS,CAC5C,IAAMrD,EAAW,KAAK,MAAMiB,EAAWkD,EAAOnD,EAAa+B,CAAU,EAC/D1C,EAAM,KAAK,IAAIL,CAAQ,EAC3BM,EAAM,KAAK,IAAIN,CAAQ,EACnBC,EAASa,EAAIR,EAAMK,EAAIN,EAAMH,EAAI,KAAK,MAAMI,EAAKC,EAAQF,CAAG,EAClE,OAAOO,GAAOd,EAAQ,KAAK,MAAMY,EAAGD,CAAC,EAAGT,EAAUC,CAAM,CAC1D,CACIoD,EAAW,EAAGT,EAAQsB,EACrBrB,EAAQqB,EACb,IAAMZ,EAAa,EAAGN,EAAIA,EAAKD,EAAcE,EAAIA,EAAKkB,GAASC,EACzDb,EAAOW,EAAab,EAAWC,EACrCY,EAAa,OAAO,SAASX,CAAI,GAAKA,EAAOX,GAASW,EAAOV,EAAQU,GAAQX,EAAQC,GAAS,CAChG,CACA,MAAO,EACT,CAGA,SAASjC,GAAOd,EAAuBW,EAAWC,EAAWC,EAAS,CACpE,MAAI,CAAC,OAAO,SAASF,CAAC,GAAK,CAAC,OAAO,SAASC,CAAC,GAAK,CAAC,OAAO,SAASC,CAAC,EAAU,IAC9Eb,EAAO,EAAIW,EACXX,EAAO,EAAIY,EACXZ,EAAO,EAAIa,EACJ,GACT,CCnPA,IAAM0D,GAAa,KAAK,IAAM,IAAM,MAC9BC,GAAe,CACnB,UAAW,CACT,cAAe,QACf,cAAe,oBACf,oBAAqB,sBAEvB,QAAS,CAAC,EAAG,EAAG,CAAC,GAGb,SAAUC,GAA4BC,EAAwBC,EAAoB,CACtF,GAAI,KAAK,IAAID,EAAM,CAAC,EAAI,KAAK,GAAK,EAAG,MAAM,IAAI,MAAM,oCAAoC,EACzF,GAAI,CAACE,GAAoBF,EAAOC,CAAS,EACvC,MAAM,IAAI,MAAM,sCAAsC,CAC1D,CAGM,SAAUE,GAA4BH,EAAwBC,EAAoB,CACtF,IAAMG,EAAIJ,EAAM,EACdK,EAAIL,EAAM,EACVM,EAAIN,EAAM,EACN,CAAC,cAAeO,EAAG,cAAeC,EAAG,oBAAqBC,CAAE,EAAIR,EACtE,GAAIG,IAAM,GAAKC,IAAM,GAAKC,IAAM,EAC9B,MAAM,IAAI,MAAM,wDAAwD,EAC1E,GACEG,IAAO,GACP,KAAK,IAAIL,CAAC,EAAI,MAAQG,GACtB,KAAK,IAAIF,CAAC,EAAI,MAAQE,GACtB,KAAK,MAAMH,EAAGC,CAAC,EAAI,MAAQE,EAC3B,CACA,GAAI,CAAC,OAAO,SAAS,KAAK,MAAMH,EAAGC,EAAGC,CAAC,CAAC,EAAG,MAAM,IAAI,MAAM,kCAAkC,EAC7FN,EAAM,EAAI,EACVA,EAAM,EAAK,KAAK,KAAKM,CAAC,EAAI,KAAK,GAAM,EACrCN,EAAM,EAAI,KAAK,IAAIM,CAAC,EAAIE,EACxB,MACF,CACA,GAAI,CAACE,GAAoBV,EAAOC,CAAS,EACvC,MAAK,OAAO,SAAS,KAAK,MAAMG,EAAGC,EAAGC,CAAC,CAAC,EAClC,IAAI,MAAM,qCAAqC,EADJ,IAAI,MAAM,kCAAkC,CAGjG,CAGM,SAAUK,GAAcC,EAA2BC,EAAgB,CACvE,IAAMC,EAAKF,EAAO,CAAC,EACjBG,EAAKH,EAAO,CAAC,EACbI,EAAKJ,EAAO,CAAC,EACTK,GAAML,EAAO,CAAC,GAAK,GAAKf,GAC5BqB,GAAMN,EAAO,CAAC,GAAK,GAAKf,GACxBsB,GAAMP,EAAO,CAAC,GAAK,GAAKf,GACpBuB,EAAQ,GAAKR,EAAO,CAAC,GAAK,GAAK,IACrC,OAAOC,EACHb,GAAQ,CACN,IAAMI,GAAKJ,EAAM,EAAIc,GAAMM,EACzBf,GAAKL,EAAM,EAAIe,GAAMK,EACrBd,GAAKN,EAAM,EAAIgB,GAAMI,EACvBpB,EAAM,EAAII,EAAIe,EAAKd,EAAIa,EAAKZ,EAC5BN,EAAM,EAAI,CAACmB,EAAKf,EAAIC,EAAIY,EAAKX,EAC7BN,EAAM,EAAIkB,EAAKd,EAAIa,EAAKZ,EAAIC,CAC9B,EACAN,GAAQ,CACN,IAAMI,EAAIJ,EAAM,EACdK,EAAIL,EAAM,EACVM,EAAIN,EAAM,EACZA,EAAM,EAAIoB,GAAShB,EAAIe,EAAKd,EAAIa,EAAKZ,GAAKQ,EAC1Cd,EAAM,EAAIoB,GAASD,EAAKf,EAAIC,EAAIY,EAAKX,GAAKS,EAC1Cf,EAAM,EAAIoB,GAAS,CAACF,EAAKd,EAAIa,EAAKZ,EAAIC,GAAKU,CAC7C,CACN,CACA,SAASK,GAAQC,EAAY,CAC3B,MAAO,EAAQA,EAAM,SAAS,KAAKC,GAASA,IAAU,CAAC,CACzD,CAGM,SAAUC,GACdC,EACAC,EAAkB,CAGlB,GAAI,GAACD,EAAO,SAAW,CAACC,EAAY,SACpC,IAAID,EAAO,OAASC,EAAY,MAAO,CACrC,GACED,EAAO,OACPC,EAAY,OACZD,EAAO,UAAU,gBAAkBC,EAAY,UAAU,eACzDD,EAAO,UAAU,sBAAwBC,EAAY,UAAU,qBAC/DD,EAAO,MAAM,SAAWC,EAAY,MAAM,QAC1CD,EAAO,MAAM,MACX,CAACE,EAAOC,IACND,EAAM,OAASD,EAAY,MAAME,CAAC,EAAE,MACpCD,EAAM,WAAaD,EAAY,MAAME,CAAC,EAAE,UACxCD,EAAM,OAASD,EAAY,MAAME,CAAC,EAAE,IAAI,EAG5C,OACF,IAAMC,EAASL,GACbC,EAAO,MAAQ3B,GAAQ2B,EACvBC,EAAY,MAAQ5B,GAAQ4B,CAAW,EAEzC,OAAO1B,GAAQ,CACTyB,EAAO,OAAOK,GAAgB9B,EAAOyB,EAAQ,EAAK,EACtDI,IAAS7B,CAAK,EACV0B,EAAY,OAAOI,GAAgB9B,EAAO0B,EAAa,EAAI,CACjE,CACF,CACA,GAAIL,GAAQI,CAAM,GAAKJ,GAAQK,CAAW,EAAG,CAC3C,IAAMK,EAAQC,GAAaP,EAAQ3B,EAAK,EACtCmC,EAASD,GAAalC,GAAO4B,CAAW,EAC1C,OAAO1B,GAAQ,CACb+B,IAAQ/B,CAAK,EACbiC,IAASjC,CAAK,CAChB,CACF,CACA,OAAOgC,GAAaP,EAAQC,CAAW,EACzC,CACA,SAASM,GAAaE,EAAaC,EAAS,CAC1C,GAAI,CAACD,EAAK,SAAW,CAACC,EAAG,QAAS,OAClC,IAAM5B,EAAI2B,EAAK,UACb1B,EAAI2B,EAAG,UACLC,EAAiB,GACrB,QAASR,EAAI,EAAGA,EAAI,EAAGA,KAChBM,EAAK,QAAQN,CAAC,GAAK,MAAQO,EAAG,QAAQP,CAAC,GAAK,KAAIQ,EAAiB,IACxE,GACE7B,EAAE,gBAAkBC,EAAE,eACtB,KAAK,IAAID,EAAE,oBAAsBC,EAAE,mBAAmB,GAAK,OAC3D4B,EAEA,OACF,IAAMC,EAAchB,GAAQa,CAAI,EAAIvB,GAAcuB,EAAK,QAAS,EAAK,EAAI,OACvEI,EAAcjB,GAAQc,CAAE,EAAIxB,GAAcwB,EAAG,QAAS,EAAI,EAAI,OAChE,OAAOnC,GAAQ,CACbD,GAA4BC,EAAOO,CAAC,EACpC8B,IAAcrC,CAAK,EACnBsC,IAActC,CAAK,EACnBG,GAA4BH,EAAOQ,CAAC,CACtC,CACF,CAEM,SAAUsB,GAAgB9B,EAAwBsB,EAAcT,EAAgB,CACpF,QAAW0B,KAAajB,EAAM,MAAO,CACnC,GAAIiB,EAAU,OAAS,OAAQ,OAC/B,GAAI,CAACA,EAAU,KAAM,CACnB,GAAIA,EAAU,SAAU,SACxB,MAAM,IAAI,MAAM,0CAA4CA,EAAU,IAAI,CAC5E,CACA,IAAIC,EAAQ,GACZ,GAAID,EAAU,KAAK,aAAcC,EAAQD,EAAU,KAAK,aAAavC,EAAOa,CAAO,MAC9E,CACH,IAAM4B,EAASF,EAAU,KAAK,MAAMvC,EAAM,EAAGA,EAAM,EAAGa,CAAO,EACzD4B,IACFzC,EAAM,EAAIyC,EAAO,CAAC,EAClBzC,EAAM,EAAIyC,EAAO,CAAC,EAClBD,EAAQ,GAEZ,CACA,GAAIA,EAAO,CACT,GAAI,CAAC,OAAO,SAASxC,EAAM,CAAC,GAAK,CAAC,OAAO,SAASA,EAAM,CAAC,GAAK,KAAK,IAAIA,EAAM,CAAC,EAAI,KAAK,GAAK,EAC1F,MAAM,IAAI,MAAM,gEAAgE,EAClF,MACF,CACF,CACA,MAAM,IAAI,MACR,oCAAsCsB,EAAM,MAAM,IAAIoB,GAAQA,EAAK,IAAI,EAAE,KAAK,GAAG,CAAC,CAEtF,CCpJM,SAAUC,GACdC,EACAC,EACAC,EAAS,EACTC,EAAO,GAAK,CAEZ,IAAMC,EAAOC,GAAiBJ,CAAQ,EAChCK,EACJF,IAAS,IACLF,EAAS,IACTD,EAAS,CAAC,EAAI,KAAK,OAAOC,EAASD,EAAS,CAAC,EAAIG,EAAO,GAAK,GAAG,EAAI,IACpEG,EAAOD,EAAOF,EAGpB,GAAID,EAAM,CACRH,EAAM,EAAI,KAAK,IAAIM,EAAM,KAAK,IAAIC,EAAMP,EAAM,CAAC,CAAC,EAChDA,EAAM,EAAI,KAAK,IAAIC,EAAS,CAAC,EAAG,KAAK,IAAIA,EAAS,CAAC,EAAGD,EAAM,CAAC,CAAC,EAC9D,MACF,CACA,IAAMQ,EAAOC,GAAqBR,EAAU,CAACD,EAAM,EAAGA,EAAM,CAAC,CAAC,EAC1DU,EAAYF,EAAK,CAAC,EAClBA,EAAK,CAAC,IAAMG,GAAmBX,EAAM,CAAC,GAAKA,EAAM,GAAKM,GAAQN,EAAM,GAAKO,EAC3EG,EAAYV,EAAM,GACXU,EAAYJ,GAAQI,EAAYH,KACvCG,GAAa,KAAK,QAAQJ,EAAOC,GAAQ,EAAIG,GAAa,GAAG,EAAI,KACnE,IAAME,EAASF,EAAYR,EAC3BF,EAAM,EAAI,KAAK,IAAIY,CAAM,GAAK,IAAMF,EAAYR,EAASS,GAAmBC,CAAM,EAClFZ,EAAM,EAAIQ,EAAK,CAAC,CAClB,CAGM,SAAUK,EACdC,EACAb,EACAc,EAAS,EACTC,EAAgB,EAChBb,EAAO,GAAK,CAEZ,IAAMD,GAAWa,EAASC,GAAiB,IAAO,KAAK,GACvD,MAAO,CACL,IAAI,QAAM,CACR,OAAOF,EAAcG,GAAiBhB,EAAUe,EAAeD,CAAM,CAAC,CACxE,EACA,UAAUf,EAAK,CACbD,GAAkBC,EAAOC,EAAUC,EAAQC,CAAI,CACjD,EAEJ,CAEA,SAASe,GACPJ,EACAK,EACAJ,EACAC,EACAb,EAAa,CAEb,IAAMiB,EAAUC,GAAyBF,EAASG,GAChDT,EAAgCC,EAAeQ,EAAQP,EAAQC,EAAeb,CAAI,CAAC,EAErF,GAAI,CAACiB,EAAS,MAAM,IAAI,MAAM,sDAAsD,EACpF,OAAOA,CACT,CAGM,SAAUG,GACdC,EACAC,EACAX,EACAE,EAAgB,EAChBb,EAAO,GAAK,CAEZ,IAAMY,GAAUU,EAAW,CAAC,EAAE,CAAC,EAAIA,EAAW,CAAC,EAAE,CAAC,GAAK,EACjDC,EAAWC,GAAoBF,EAAYT,CAAa,EACxDd,GAAWa,EAASC,GAAiB,IAAO,KAAK,GACvD,MAAO,CACL,GAAGQ,EACH,gBAAiBT,EACjB,oBAAoBd,EAAQ,CAC1B,GAAI,CAACA,EACH,MAAO,CACL,OAAQa,EAAcW,CAAU,EAChC,UAAUzB,EAAK,CACbD,GAAkBC,EAAO0B,EAAUxB,EAAQC,CAAI,CACjD,GAEJ,GAAI,CACF,IAAMiB,EAAUP,EACdC,EACAb,EACAc,EACAC,EACAb,CAAI,EAGN,MAAO,CAAC,OADOiB,EAAQ,OACP,UAAWA,EAAQ,SAAS,CAC9C,MAAQ,CAEN,OAAOF,GACLJ,EACAc,GAA0B3B,EAAUyB,CAAQ,EAC5CX,EACAC,EACAb,CAAI,CAER,CACF,EAEJ,CC3HO,IAAM0B,GAAU,CAACC,EAAWC,IAAgC,CAAC,KAAK,IAAID,EAAGC,CAAC,EAAG,KAAK,IAAID,EAAGC,CAAC,CAAC,EACrFC,GAAM,CAACF,EAAUC,IAA+B,CAACD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAGD,EAAE,CAAC,EAAIC,EAAE,CAAC,CAAC,EACzEE,GAAQ,CAACH,EAAUI,IAC9BL,GAAQC,EAAE,CAAC,EAAII,EAAOJ,EAAE,CAAC,EAAII,CAAK,EAC9B,SAAUC,GAASL,EAAUC,EAAQ,CACzC,IAAMK,EAAS,CAACN,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAGD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAGD,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAGD,EAAE,CAAC,EAAIC,EAAE,CAAC,CAAC,EAClE,MAAO,CAAC,KAAK,IAAI,GAAGK,CAAM,EAAG,KAAK,IAAI,GAAGA,CAAM,CAAC,CAClD,CACM,SAAUC,GAAK,CAACC,EAAKC,CAAI,EAAQ,CACrC,IAAMH,EAAS,CAAC,KAAK,IAAIE,CAAG,EAAG,KAAK,IAAIC,CAAI,CAAC,EAC7C,OAAW,CAACC,EAAON,CAAK,GAAK,CAC3B,CAAC,KAAK,GAAK,EAAG,CAAC,EACf,CAAC,CAAC,KAAK,GAAK,EAAG,EAAE,GAEb,KAAK,MAAMI,EAAME,IAAU,EAAI,KAAK,GAAG,GAAK,KAAK,OAAOD,EAAOC,IAAU,EAAI,KAAK,GAAG,GACvFJ,EAAO,KAAKF,CAAK,EAErB,MAAO,CAAC,KAAK,IAAI,GAAGE,CAAM,EAAG,KAAK,IAAI,GAAGA,CAAM,CAAC,CAClD,CACO,IAAMK,GAAUX,GACrBO,GAAK,CAACP,EAAE,CAAC,EAAI,KAAK,GAAK,EAAGA,EAAE,CAAC,EAAI,KAAK,GAAK,CAAC,CAAC,EAClCY,GAAUZ,GAAqB,KAAK,IAAI,KAAK,IAAIA,EAAE,CAAC,CAAC,EAAG,KAAK,IAAIA,EAAE,CAAC,CAAC,CAAC,EAC7E,SAAUa,GAASC,EAAUC,EAAQ,CACzC,IAAMC,EAAWC,GAAiB,KAAK,IAAI,EAAGL,GAAOK,CAAK,CAAC,EAAI,MAC/D,GAAI,CAAC,CAAC,GAAGH,EAAG,GAAGC,CAAC,EAAE,MAAM,OAAO,QAAQ,EACrC,MAAM,IAAI,MAAM,4CAA4C,EAC9D,MAAO,CACL,CAACD,EAAE,CAAC,EAAIE,EAAQF,CAAC,EAAGC,EAAE,CAAC,EAAIC,EAAQD,CAAC,EAAG,CAAC,EACxC,CAACD,EAAE,CAAC,EAAIE,EAAQF,CAAC,EAAGC,EAAE,CAAC,EAAIC,EAAQD,CAAC,EAAG,CAAC,EAE5C,CAGM,SAAUG,GACdC,EACAC,EACAC,EAAO,GAAK,CAEZ,IAAMb,EAAMW,EAAW,CAAC,EAAE,CAAC,EAAIC,EAC7BX,EAAOU,EAAW,CAAC,EAAE,CAAC,EAAIC,EAC5B,GAAIC,EAAM,MAAO,CAACb,EAAKC,CAAI,EAE3B,IAAMa,EAAOb,EAAOD,EACpB,GAAIc,GAAQ,EAAI,KAAK,GAAK,MAAO,MAAO,CAAC,CAAC,KAAK,GAAI,KAAK,EAAE,EAC1D,IAAIC,EAAOC,EAAchB,CAAG,EAGxBc,EAAO,GAAK,KAAK,IAAIC,EAAO,KAAK,EAAE,EAAI,QAAOA,EAAO,CAAC,KAAK,IAC/D,IAAME,EAAOF,EAAOD,EACpB,OAAOG,EAAO,KAAK,GAAK,MAAQ,CAAC,CAAC,KAAK,GAAI,KAAK,EAAE,EAAI,CAACF,EAAM,KAAK,IAAIE,EAAM,KAAK,EAAE,CAAC,CACtF,CAKM,SAAUC,GACdC,EACAR,EACAC,EACAC,EAAO,GAAK,CAEZ,IAAMO,EAAYV,GAAeC,EAAYC,EAAQC,CAAI,EACnDQ,EAAY,CAChBV,EAAW,CAAC,EAAE,CAAC,EACfA,EAAW,CAAC,EAAE,CAAC,EACf,KAAK,IAAIA,EAAW,CAAC,EAAE,CAAC,EAAG,KAAK,IAAIA,EAAW,CAAC,EAAE,CAAC,EAAG,CAAC,CAAC,GAEpDW,EAASF,EAAU,QAAQd,GAAKe,EAAU,IAAId,GAAKY,EAAQP,EAASN,EAAGC,CAAC,CAAC,CAAC,EAChF,OAAOF,GACL,CAAC,KAAK,IAAI,GAAGiB,EAAO,IAAIC,GAAKA,EAAE,CAAC,CAAC,CAAC,EAAG,KAAK,IAAI,GAAGD,EAAO,IAAIC,GAAKA,EAAE,CAAC,CAAC,CAAC,CAAC,EACvE,CAAC,KAAK,IAAI,GAAGD,EAAO,IAAIC,GAAKA,EAAE,CAAC,CAAC,CAAC,EAAG,KAAK,IAAI,GAAGD,EAAO,IAAIC,GAAKA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAE5E,CA+DM,SAAUC,GACdC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAO,GAAK,CAEZ,IAAMC,EAASC,GAAMC,GAAeR,EAAYC,EAAQI,CAAI,EAAGH,CAAI,EAC7DO,EAAQC,GACZN,EAAUL,EAAQE,EAAQD,EAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAC7CI,EAAUL,EAAQE,EAAQD,EAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAEhD,OAAOW,GACLC,GAAI,CAACT,EAAIA,CAAE,EAAGU,GAASJ,EAAOK,GAAKR,CAAM,CAAC,CAAC,EAC3CM,GAAI,CAACR,EAASA,CAAO,EAAGG,GAAMM,GAASJ,EAAOM,GAAOT,CAAM,CAAC,EAAG,EAAE,CAAC,CAAC,CAEvE,CCxJM,SAAUU,GACdC,EACAC,EAAgB,EAAC,CAEjB,IAAMC,EAASC,EAAgBH,EAAY,WAAY,CAAC,EAAII,EAC5D,OAAOC,GACLC,EACEC,GAAS,CACP,IAAMC,EAAYC,GAAeF,EAAQL,CAAM,EAC/C,MAAO,CACL,CAACA,EAASM,EAAU,CAAC,EAAGD,EAAO,CAAC,EAAE,CAAC,EAAG,CAAC,EACvC,CAACL,EAASM,EAAU,CAAC,EAAGD,EAAO,CAAC,EAAE,CAAC,EAAG,CAAC,EAE3C,EACAF,GAAY,CAAC,KAAM,IAAK,IAAK,EAAE,EAC/BH,EACAD,CAAa,CAEnB,CCpBM,SAAUS,GACdC,EACAC,EAAgC,CAAA,EAAE,CAElC,GAAID,IAAU,OAAW,OACzB,IAAME,EAAoF,CAAA,EAC1F,QAAWC,KAASH,EAAM,MAAM,GAAG,EAAG,CACpC,IAAMI,EAAWD,EAAM,WAAW,GAAG,EAC/BE,EAAOD,EAAWD,EAAM,MAAM,CAAC,EAAIA,EACzC,GAAI,CAACE,GAAQ,KAAK,KAAKA,CAAI,EAAG,MAAM,IAAI,MAAM,4BAA4B,EAC1E,GAAIA,IAAS,OAAQ,CACnBH,EAAQ,KAAK,IAAI,EACjB,KACF,CACA,IAAMI,EAAO,OAAO,UAAU,eAAe,KAAKL,EAAOI,CAAI,EAAIJ,EAAMI,CAAI,EAAI,OAC/E,GAAIC,EAAM,CACR,GAAI,OAAOA,EAAK,WAAc,WAAY,MAAM,IAAI,MAAM,0BAA4BD,CAAI,EAC1FH,EAAQ,KAAKI,EAAK,UAAU,KAAKA,CAAI,CAAC,CACxC,MAAYF,GAAUG,EAAiB,6CAA+CF,CAAI,CAC5F,CACA,MAAO,CAACG,EAAWC,IAAY,CAC7B,QAAWC,KAAUR,EAAS,CAC5B,GAAI,CAACQ,EAAQ,MAAO,GACpB,IAAMC,EAASD,EAAOF,EAAWC,CAAQ,EACzC,GAAIE,IAAW,OACf,IAAI,CAAC,OAAO,SAASA,CAAM,EAAG,MAAM,IAAI,MAAM,4CAA4C,EAC1F,OAAOA,EACT,CACA,MAAM,IAAI,MAAM,yCAAyC,CAC3D,CACF,CCsBM,IAAOC,GAAP,MAAOC,CAAmB,CAE9B,aAAa,OACXC,EAA4C,CAAA,EAAE,CAE9C,IAAMC,EAAc,MAAM,QAAQ,IAAIC,GAAoBF,CAAO,EAAE,IAAIG,EAAiB,CAAC,EACzF,OAAO,IAAIJ,EAAoB,CAAC,GAAGC,EAAS,YAAAC,CAAW,CAAC,CAC1D,CAaA,IAAI,eAAa,CACf,OAAO,KAAK,0BAA0B,KAAK,cAAc,CAC3D,CAEA,0BAA0BG,EAA2B,CACnD,OACE,KAAK,wBAA0BC,GAAwB,KAAK,uBAAwBD,CAAQ,CAEhG,CAIA,YAAYJ,EAAyC,CAAA,EAAE,CAvBtC,KAAA,kBAAoB,IAAIM,GAqBhC,KAAA,sBAAgC,EAGvC,IAAMC,EAAgBP,EAAQ,aAAe,CAAA,EACvCQ,EAAUC,GAASF,CAAa,EACtC,GAAIA,EAAc,KAAKG,GAAc,EAAE,WAAYA,EAAW,EAAG,CAG/D,IAAMC,EAAOC,GAAaZ,EAAQ,MAAQ,QAASA,CAAO,EACpDa,EAAKD,GAAaZ,EAAQ,IAAM,QAASA,CAAO,EACtD,KAAK,MAAQW,EAAK,OAASE,EAAG,MAC9B,KAAK,SAAW,CAAC,QAAS,CAAC,GAAGb,EAAS,YAAa,CAAC,GAAGO,CAAa,CAAC,CAAC,CACzE,KAAO,CACL,IAAMO,EAAQd,EACRe,EAAeP,EACfG,EAAOK,GAAWF,EAAM,MAAQ,QAASC,EAAcD,CAAK,EAC5DD,EAAKG,GAAWF,EAAM,IAAM,QAASC,EAAcD,CAAK,EAC9D,KAAK,uBACHD,EAAG,gBAAgB,qBAAqB,KAAKA,EAAG,cAAc,IAC7DA,EAAG,OAAS,aACTI,GAAwBJ,EAAG,WAAYA,EAAG,aAAa,EACvDA,EAAG,OAAS,WACVK,GACA,QACR,KAAK,eAAiBL,EAAG,UACzB,KAAK,sBACHA,EAAG,gBAAgB,kBAClBA,EAAG,OAAS,aAAgBA,EAAG,eAAiB,EAAK,GACxD,KAAK,MAAQF,EAAK,OAASE,EAAG,MAC1B,KAAK,QAAUF,EAAK,OAAS,cAAgBE,EAAG,OAAS,eAC3DM,EACE,mFAAmF,EAEnF,KAAK,QAAUR,EAAK,cAAgBE,EAAG,eACzCM,EAAiB,8DAA8D,EACjF,KAAK,iBAAmBC,GAAiBT,EAAME,EAAI,EAAQb,EAAQ,WAAY,EAC/E,KAAK,iBAAmBoB,GAAiBP,EAAIF,EAAM,EAAQX,EAAQ,WAAY,CACjF,CACA,KAAK,QAAU,KAAK,QAAQ,KAAK,IAAI,EACrC,KAAK,UAAY,KAAK,UAAU,KAAK,IAAI,EACzC,KAAK,UAAY,KAAK,UAAU,KAAK,IAAI,EACzC,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,EACjD,KAAK,gBAAkB,KAAK,gBAAgB,KAAK,IAAI,EACrD,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,EACjD,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,EACjD,KAAK,gBAAkB,KAAK,gBAAgB,KAAK,IAAI,EACrD,KAAK,kBAAoB,KAAK,kBAAkB,KAAK,IAAI,CAC3D,CACQ,MAAI,CACV,IAAMqB,EAAQ,KAAK,SACnB,OAAKA,EACDA,EAAM,eAAuB,QAAQ,QAAQA,EAAM,cAAc,GACrEA,EAAM,UAANA,EAAM,QAAYtB,EAAoB,OAAOsB,EAAM,OAAO,EACvD,KAAKX,IACJW,EAAM,eAAiBX,EAChBA,EACR,EACA,MAAMY,GAAQ,CACb,MAAAD,EAAM,QAAU,OACVC,CACR,CAAC,GACID,EAAM,SAXM,QAAQ,QAAQ,IAAsC,CAY3E,CACQ,UAAQ,CACd,IAAMA,EAAQ,KAAK,SACnB,GAAI,CAACA,EAAO,OAAO,KACnB,GAAI,CAACA,EAAM,eAAgB,CACzB,IAAMpB,EAAcC,GAAoBmB,EAAM,OAAO,EAAE,IAAIE,GAAa,CACtE,IAAMC,EAASC,GAAoBF,CAAU,EAC7C,GAAI,CAACC,EACH,MAAM,IAAI,MACR,gCAAkCD,EAAW,KAAO,yBAAyB,EAEjF,OAAOC,CACT,CAAC,EACDH,EAAM,eAAiB,IAAItB,EAAoB,CAAC,GAAGsB,EAAM,QAAS,YAAApB,CAAW,CAAC,CAChF,CACA,OAAOoB,EAAM,cACf,CAEA,YAAYK,EAA6B,CACvC,OAAO,KAAK,SACR,KAAK,SAAQ,EAAG,QAAQA,CAAU,EAClCC,GAAgBD,EAAY,KAAK,iBAAkB,KAAK,iBAAiB,CAC/E,CACA,cAAcA,EAA6B,CACzC,OAAO,KAAK,SACR,KAAK,SAAQ,EAAG,UAAUA,CAAU,EACpCC,GAAgBD,EAAY,KAAK,iBAAkB,KAAK,iBAAiB,CAC/E,CACA,gBAA2CE,EAAgBC,EAAY,EAAC,CACtE,OAAO,KAAK,SACR,KAAK,SAAQ,EAAG,YAAYD,EAAaC,CAAS,EAClDC,GAAiBF,EAAaC,EAAW,KAAK,iBAAkB,KAAK,iBAAiB,CAC5F,CACA,kBAA6CD,EAAgBC,EAAY,EAAC,CACxE,OAAO,KAAK,SACR,KAAK,SAAQ,EAAG,cAAcD,EAAaC,CAAS,EACpDC,GAAiBF,EAAaC,EAAW,KAAK,iBAAkB,KAAK,iBAAiB,CAC5F,CAEA,MAAM,SAAO,CACX,MAAM,KAAK,KAAI,CACjB,CAEA,QAAQH,EAA6B,CAInC,OAHe,KAAK,SAChB,KAAK,cAAcA,EAAY,EAAK,EACpCC,GAAgBD,EAAY,KAAK,iBAAkB,KAAK,iBAAiB,CAE/E,CACA,UAAUA,EAA6B,CAIrC,OAHe,KAAK,SAChB,KAAK,cAAcA,EAAY,EAAI,EACnCC,GAAgBD,EAAY,KAAK,iBAAkB,KAAK,iBAAiB,CAE/E,CAEA,UACEA,EACAK,EAAS,CAET,OACE,KAAK,SACD,KAAK,gBAAgBL,EAAYK,EAAQ,EAAK,EAC9C,KAAK,cAAcL,EAAYK,CAAM,CAE7C,CACA,YACEL,EACAK,EAAS,CAET,OACE,KAAK,SACD,KAAK,gBAAgBL,EAAYK,EAAQ,EAAI,EAC7C,KAAK,gBAAgBL,EAAYK,CAAM,CAE/C,CACA,cAA0CL,EAAkCK,EAAS,CACnF,OAAI,KAAK,SAAiB,KAAK,SAAQ,EAAG,UAAUL,EAAYK,CAAM,GACtEC,GACEN,EACAK,EACA,KAAK,IAAIL,EAAW,OAAQ,KAAK,iBAAiB,iBAAmB,EAAI,CAAC,CAAC,EAEtEC,GAAgBD,EAAY,KAAK,iBAAkB,KAAK,kBAAmBK,CAAM,EAC1F,CACA,gBAA4CL,EAAkCK,EAAS,CACrF,OAAI,KAAK,SAAiB,KAAK,SAAQ,EAAG,YAAYL,EAAYK,CAAM,GACxEC,GACEN,EACAK,EACA,KAAK,IAAIL,EAAW,OAAQ,KAAK,iBAAiB,iBAAmB,EAAI,CAAC,CAAC,EAEtEC,GAAgBD,EAAY,KAAK,iBAAkB,KAAK,kBAAmBK,CAAM,EAC1F,CACQ,gBACNL,EACAK,EACAE,EAAgB,CAEhBD,GAAqBN,EAAYK,EAAQL,EAAW,MAAM,EAC1D,IAAMQ,EAAQR,EAAW,MAAK,EAC9B,OAAO,KAAK,KAAI,EAAG,KAAKhB,GACtBuB,EAAUvB,EAAW,YAAYwB,EAAOH,CAAM,EAAIrB,EAAW,UAAUwB,EAAOH,CAAM,CAAC,CAEzF,CACQ,cAAcL,EAA+BO,EAAgB,CACnE,IAAMC,EAAQR,EAAW,MAAK,EAC9B,OAAO,KAAK,KAAI,EAAG,KAAKhB,GACtBuB,EAAUvB,EAAW,UAAUwB,CAAK,EAAIxB,EAAW,QAAQwB,CAAK,CAAC,CAErE,CAEA,YAAuCN,EAAgBC,EAAY,EAAC,CAIlE,OAHe,KAAK,SAChB,KAAK,KAAI,EAAG,KAAKnB,GAAcA,EAAW,YAAYkB,EAAaC,CAAS,CAAC,EAC7EC,GAAiBF,EAAaC,EAAW,KAAK,iBAAkB,KAAK,iBAAiB,CAE5F,CACA,cAAyCD,EAAgBC,EAAY,EAAC,CAIpE,OAHe,KAAK,SAChB,KAAK,KAAI,EAAG,KAAKnB,GAAcA,EAAW,cAAckB,EAAaC,CAAS,CAAC,EAC/EC,GAAiBF,EAAaC,EAAW,KAAK,iBAAkB,KAAK,iBAAiB,CAE5F,GAEF,SAAS3B,GAAoBF,EAAyC,CACpE,IAAMmC,EAAY1B,GAAST,EAAQ,aAAe,CAAA,CAAE,EAC9CoC,EAAW,IAAI,IACrB,QAAWC,IAAc,CAACrC,EAAQ,MAAQ,QAASA,EAAQ,IAAM,OAAO,EAAG,CACzE,IAAMsC,EAAM1B,GAAayB,EAAYrC,CAAO,EAC5C,GAAI,CAAC,aAAc,UAAU,EAAE,SAASsC,EAAI,IAAI,EAAG,SACnD,IAAM5B,EAAayB,EAAU,IAAII,GAAUD,EAAI,UAAU,CAAC,EAC1D,GAAI,CAAC5B,EACH,MAAM,IAAI8B,EACR,iBACA,wCAA0CF,EAAI,UAAU,EAE5DF,EAAS,IAAI1B,CAAU,CACzB,CACA,MAAO,CAAC,GAAG0B,CAAQ,CACrB,CAyBA,IAAMK,GAAaC,GAAyBA,EAAK,YAAW,EAAG,QAAQ,UAAW,EAAE,EACpF,SAASC,GACPC,EAAyB,CAEzB,IAAMC,EAAU,IAAI,IACpB,QAAWC,KAAUF,EACnB,QAAWF,KAAQ,IAAI,IAAI,CAACI,EAAO,KAAM,GAAIA,EAAO,SAAW,CAAA,CAAG,EAAE,IAAIL,EAAS,CAAC,EAAG,CACnF,GACE,CAACC,GACD,CAAC,UAAW,UAAW,SAAU,SAAU,UAAU,EAAE,SAASA,CAAI,GACpEG,EAAQ,IAAIH,CAAI,EAEhB,MAAM,IAAI,MAAM,4CAA8CA,CAAI,EACpEG,EAAQ,IAAIH,EAAMI,CAAM,CAC1B,CAEF,OAAOD,CACT,CACA,SAASE,GACPC,EACAH,EACAI,EAAmC,CAEnC,IAAMC,EAAMC,GAAaH,EAAYC,CAAO,EACtCH,EAASD,EAAQ,IAAIJ,GAAUS,EAAI,UAAU,CAAC,EACpD,GAAI,CAAC,CAAC,aAAc,UAAU,EAAE,SAASA,EAAI,IAAI,GAAK,CAACJ,EACrD,MAAM,IAAIM,EACR,iBACA,wCAA0CF,EAAI,UAAU,EAE5D,IAAMG,EAAU,IAAI,IAAI,CAAC,GAAGC,GAAiB,GAAIR,GAAQ,YAAc,CAAA,CAAG,CAAC,EAC3E,QAAWS,KAAO,OAAO,KAAKL,EAAI,UAAU,EAAG,CAC7C,GAAI,CAACG,EAAQ,IAAIE,CAAG,EAClB,MAAM,IAAIH,EACR,0BACA,gCAAkCG,CAAG,EAEzC,IAAMC,EAAOC,GAAW,SAASF,CAAG,GAAKT,GAAQ,OAAO,SAASS,CAAG,EACpE,GAAIC,GAAQN,EAAI,WAAWK,CAAG,IAAM,OAClC,MAAM,IAAI,MAAM,qCAAuCA,CAAG,EAC5D,GAAI,CAACC,GAAQ,CAACN,EAAI,WAAWK,CAAG,EAAG,MAAM,IAAI,MAAM,qCAAuCA,CAAG,CAC/F,CACA,GAAIL,EAAI,WAAW,MAAWA,EAAI,WAAW,OAAY,MACvD,MAAM,IAAI,MAAM,6BAA6B,EAC/C,IAAMQ,EACJjB,GAAUS,EAAI,UAAU,IAAM,yBAC1B,OAAO,OAAO,CAAC,GAAGA,EAAI,WAAY,OAAQ,MAAS,CAAC,EACpDA,EAAI,WACJS,EAAiBb,GAAQ,OAAO,CACpC,GAAGI,EAAI,UACP,WAAAQ,EACA,cAAeR,EAAI,cACpB,EACD,GAAIA,EAAI,OAAS,eAAiB,CAACS,GAAgB,WAAa,CAACA,GAAgB,WAC/E,MAAM,IAAI,MAAM,gDAAgD,EAClE,IAAMC,EAAaV,EAAI,MAAM,MACvBW,EAAYD,GAAY,UAAUE,GAAaA,EAAU,OAAS,MAAM,GAAK,GAC7EC,EAAQH,GAAY,MAAM,EAAGC,EAAY,EAAI,OAAYA,EAAY,CAAC,EAAE,IAAIC,GAAY,CAC5F,IAAME,EAAO,OAAO,UAAU,eAAe,KAAKf,EAAQ,YAAc,CAAA,EAAIa,EAAU,IAAI,EACtFb,EAAQ,WAAWa,EAAU,IAAI,EACjC,OACJ,GAAIE,GAAQ,OAAOA,EAAK,OAAU,WAChC,MAAM,IAAI,MAAM,gCAAkCF,EAAU,IAAI,EAClE,OAAO,OAAO,OAAO,CAAC,GAAGA,EAAW,KAAAE,CAAI,CAAC,CAC3C,CAAC,EAED,QAAWF,KAAaC,GAAS,CAAA,EAAI,CACnC,GAAID,EAAU,OAAS,OAAQ,MAC3B,CAACA,EAAU,UAAY,CAACA,EAAU,MACpCG,EAAiB,0CAA4CH,EAAU,IAAI,CAC/E,CACA,IAAMI,EAAQH,EAAQ,OAAO,OAAO,CAAC,GAAGb,EAAI,MAAO,MAAO,OAAO,OAAOa,CAAK,CAAC,CAAC,EAAIb,EAAI,MACjFiB,EAAeC,GAAoBlB,EAAI,WAAW,WAAeD,EAAQ,aAAa,EAC5F,OAAIkB,IAAiBjB,EAAI,OAAS,cAAgBA,EAAI,OAAS,YAAcA,EAAI,QAC/Ee,EAAiB,gEAAgE,EAC5E,CAAC,GAAGf,EAAK,MAAAgB,EAAO,eAAAP,EAAgB,aAAAQ,CAAY,CACrD,CAEA,SAASE,GAAOC,EAAsB,CACpC,OAAO,OAAO,SAASA,EAAM,CAAC,GAAK,OAAO,SAASA,EAAM,CAAC,GAAK,OAAO,SAASA,EAAM,CAAC,CACxF,CACA,SAASC,GACPC,EACAC,EAAgB,CAEhB,GAAID,IAAS,MAAO,OACpB,IAAME,EAAU,CAAC,EAAG,EAAG,CAAC,EACtBC,EAAQ,CAAC,EAAG,EAAG,CAAC,EAClB,QAASC,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,IAAMC,EAAOL,EAAKI,CAAC,EACjBE,EAAY,KAAK,SAASD,CAAI,EAAI,EAAI,KAAK,SAASA,CAAI,EAAI,EAAI,EAClEH,EAAQD,EAAUG,EAAIE,CAAS,EAAIL,EAAUK,EAAYF,EACzDD,EAAMF,EAAUG,EAAIE,CAAS,EAAI,MAAM,SAASD,CAAI,EAAI,GAAK,CAC/D,CACA,OAAOP,GAAQ,CACb,IAAMS,EAAIT,EAAM,EACdU,EAAIV,EAAM,EACVW,EAAIX,EAAM,EACZA,EAAM,EAAIK,EAAM,CAAC,GAAKD,EAAQ,CAAC,IAAM,EAAIK,EAAIL,EAAQ,CAAC,IAAM,EAAIM,EAAIC,GACpEX,EAAM,EAAIK,EAAM,CAAC,GAAKD,EAAQ,CAAC,IAAM,EAAIK,EAAIL,EAAQ,CAAC,IAAM,EAAIM,EAAIC,GACpEX,EAAM,EAAIK,EAAM,CAAC,GAAKD,EAAQ,CAAC,IAAM,EAAIK,EAAIL,EAAQ,CAAC,IAAM,EAAIM,EAAIC,EACtE,CACF,CACA,SAASC,GACPC,EACAC,EACAC,EAAoB,CAEpB,IAAMC,EAAWH,EAAK,aAAeE,EAAcF,EAAK,KAAO,OACzDI,EAASH,EAAG,aAAeC,EAAcD,EAAG,KAAO,OACnDI,EAAYjB,GAAYe,EAAU,EAAK,EAC3CG,EAAalB,GAAYgB,EAAQ,EAAI,EACjCG,EACJP,EAAK,gBACLQ,GAAoBR,EAAK,eAAgB,GAAMA,EAAK,OAAS,YAAY,EACrES,EACJR,EAAG,gBAAkBO,GAAoBP,EAAG,eAAgB,GAAOA,EAAG,OAAS,YAAY,EACvFlB,EAAQ2B,GAAqBV,EAAK,MAAOC,EAAG,KAAK,EACjDU,EAAiBX,EAAK,OAASC,EAAG,MAElCW,EAAiBZ,EAAK,OAAS,aAC/Ba,EAAab,EAAK,OAAS,aAAeA,EAAK,YAAcA,EAAK,QAClEc,EAAcb,EAAG,OAAS,aAAeA,EAAG,YAAcA,EAAG,QAC7Dc,EAAqBH,EAAiB,EAAIZ,EAAK,aACnDgB,EAAsBf,EAAG,OAAS,aAAea,EAAcb,EAAG,aAC9DgB,EAAYjB,EAAK,cACrBkB,EAAUjB,EAAG,cACTkB,EAAgBlB,EAAG,OAAS,aAAeA,EAAG,cAAgB,OAChEmB,EACJ,GACE,CAACrC,GACD,CAACiB,EAAK,cACN,CAACC,EAAG,cACJ,CAACU,GACD,CAACN,GACD,CAACC,GACD,CAACW,GACD,CAACC,GACDlB,EAAK,eAAiB,GACtBC,EAAG,eAAiB,GACpBkB,IAAkB,OAClB,CACA,IAAME,EAAU,OAAO,OAAO,CAAC,WAAAR,EAAY,YAAAC,CAAW,CAAC,EACnDd,EAAK,OAAS,cAAgBC,EAAG,OAAS,cAC5CmB,EAAOnB,EAAG,gBAAgB,oBAAoBoB,CAAO,GACnDrB,EAAK,OAAS,aAAeC,EAAG,OAAS,eAC3CmB,EAAOpB,EAAK,gBAAgB,oBAAoBqB,CAAO,EAC3D,CACA,MAAO,CACL,KAAAD,EACA,eACE,GAAQpB,EAAK,cAAgBC,EAAG,eAChCD,EAAK,OAAS,cACd,OAAO,KAAKG,EAAS,MAAM,EAAG,CAAC,CAAC,GAChC,OAAO,KAAKC,EAAO,MAAM,EAAG,CAAC,CAAC,EAChC,iBAAkBH,EAAG,OAAS,aAC9B,IAAId,EAAK,CACP,GAAI,CAACD,GAAOC,CAAK,EACf,MAAM,IAAI,MAAM,4DAA4D,EAC9EkB,IAAYlB,CAAK,EACjB,IAAMmC,EAAkBnC,EAAM,EAS9B,GARIwB,IAAgBxB,EAAM,EAAI,GAC1B0B,IAAe,IACjB1B,EAAM,GAAK0B,EACX1B,EAAM,GAAK0B,EACPD,IAAgBzB,EAAM,GAAK0B,IAEjCN,IAASpB,CAAK,EACV4B,IAAuB,IAAG5B,EAAM,GAAK4B,GACrC,KAAK,IAAI5B,EAAM,CAAC,EAAI,KAAK,GAAK,GAAK,CAACD,GAAOC,CAAK,EAClD,MAAM,IAAI,MAAM,6CAA6C,EAkB/D,GAjBAA,EAAM,GAAK8B,EAGPjB,EAAK,eAAcb,EAAM,GAAKa,EAAK,aAAab,EAAM,EAAGA,EAAM,CAAC,GACpEJ,IAAQI,CAAK,EACTc,EAAG,eAAcd,EAAM,GAAKc,EAAG,aAAad,EAAM,EAAGA,EAAM,CAAC,GAChEA,EAAM,GAAK+B,EACPC,IAAkB,SACpBhC,EAAM,EAAIgC,EAAgBI,EAAcpC,EAAM,EAAIgC,CAAa,GACjEV,IAAStB,CAAK,EACV2B,IAAgB,IAClB3B,EAAM,GAAK2B,EACX3B,EAAM,GAAK2B,GAETE,IAAwB,IAAG7B,EAAM,GAAK6B,GACtCL,IAAgBxB,EAAM,EAAImC,GAC9BhB,IAAanB,CAAK,EACd,CAACD,GAAOC,CAAK,EAAG,MAAM,IAAI,MAAM,4CAA4C,CAClF,EAEJ,CACA,SAASqC,GACPC,EACAC,EACAC,EACAC,EAAU,CAEV,GAAIH,EAAW,OAAS,EACtB,MAAM,IAAI,MAAM,4DAA4D,EAC9E,GAAIA,EAAW,OAAS,GAAKC,EAAU,eACrC,MAAM,IAAI,MAAM,yCAAyC,EAC3D,IAAMG,EAAS,KAAK,IAAIJ,EAAW,OAAQC,EAAU,iBAAmB,EAAI,CAAC,EACvEvC,EAAQwC,EAAQ,QAAO,EAC7B,GAAI,CAKF,GAJAxC,EAAM,EAAIsC,EAAW,CAAC,EACtBtC,EAAM,EAAIsC,EAAW,CAAC,EACtBtC,EAAM,EAAIsC,EAAW,QAAU,EAAIA,EAAW,CAAC,EAAI,EACnDC,EAAU,IAAIvC,CAAK,EACfyC,EAAQ,OAAOE,GAAkBL,EAAYG,EAAQzC,EAAO0C,CAAM,EAEtE,IAAME,EAAUN,EAAiC,MAAK,EACtD,OAAAM,EAAO,CAAC,EAAI5C,EAAM,EAClB4C,EAAO,CAAC,EAAI5C,EAAM,GACdsC,EAAW,QAAU,GAAKC,EAAU,oBAAkBK,EAAO,CAAC,EAAI5C,EAAM,GACrE4C,CACT,SACEJ,EAAQ,QAAQxC,CAAK,CACvB,CACF,CACA,SAAS6C,GACPC,EACAC,EACAR,EACAC,EAA0B,CAE1B,GAAI,EAAEM,aAAuB,cAAgBA,aAAuB,cAClE,MAAM,IAAI,MAAM,6DAA6D,EAC/E,GAAI,CAAC,OAAO,cAAcC,CAAS,GAAKA,EAAY,GAAKD,EAAY,OAASC,IAAc,EAC1F,MAAM,IAAI,MAAM,qEAAqE,EACvF,GAAIA,EAAY,IAAMR,EAAU,gBAAkBA,EAAU,kBAC1D,MAAM,IAAI,MAAM,mDAAmD,EACrE,GAAIA,EAAU,KACZ,OAAAA,EAAU,KAAKO,EAAaC,CAAS,EAC9BD,EAET,IAAM9C,EAAQwC,EAAQ,QAAO,EAC7B,GAAI,CACF,IAAMQ,EAAUF,aAAuB,aACvC,QAASG,EAAS,EAAGA,EAASH,EAAY,OAAQG,GAAUF,EAAW,CAMrE,GALA/C,EAAM,EAAI8C,EAAYG,CAAM,EAC5BjD,EAAM,EAAI8C,EAAYG,EAAS,CAAC,EAChCjD,EAAM,EAAI+C,GAAa,EAAID,EAAYG,EAAS,CAAC,EAAI,EACrDV,EAAU,IAAIvC,CAAK,EAGjBgD,IACC,KAAK,IAAIhD,EAAM,CAAC,EAAI,sBACnB,KAAK,IAAIA,EAAM,CAAC,EAAI,sBACnB+C,GAAa,GAAK,KAAK,IAAI/C,EAAM,CAAC,EAAI,sBAEzC,MAAM,IAAI,MAAM,4CAA4C,EAC9D8C,EAAYG,CAAM,EAAIjD,EAAM,EAC5B8C,EAAYG,EAAS,CAAC,EAAIjD,EAAM,EAC5B+C,GAAa,IAAGD,EAAYG,EAAS,CAAC,EAAIjD,EAAM,EACtD,CACA,OAAO8C,CACT,SACEN,EAAQ,QAAQxC,CAAK,CACvB,CACF,CCriBO,IAAMkD,GAAoB,CAAC,QAAS,QAAS,MAAO,KAAK,EAG1D,SAAUC,GACdC,EACAC,EACAC,EAAW,EAAC,CAEZ,IAAMC,EAAUC,EAAgBJ,EAAYC,EAAMC,CAAQ,EAC1D,GAAID,IAAS,SAAW,KAAK,IAAIE,CAAO,EAAI,GAC1C,MAAM,IAAI,MAAM,2DAA6DF,CAAI,EAEnF,OAAOE,EAAUE,CACnB,CAEM,SAAUC,GAAcN,EAAkCC,EAAY,CAC1E,IAAMM,EAAU,OAAO,UAAU,eAAe,KAAKP,EAAYC,CAAI,EACrE,GAAIM,GAAWP,EAAWC,CAAI,IAAM,OAClC,MAAM,IAAI,MAAM,qCAAuCA,CAAI,EAC7D,OAAOM,CACT,CAEM,SAAUC,GAAiB,CAC/B,cAAeC,EACf,oBAAqBC,EACrB,WAAAV,EACA,cAAAW,EAAgB,CAAC,EACC,CAClB,IAAMC,EAAKR,EAAgBJ,EAAY,MAAOI,EAAgBJ,EAAY,IAAK,CAAC,CAAC,EACjF,GAAIY,GAAM,EAAG,MAAM,IAAI,MAAM,mCAAmC,EAChE,MAAO,CACL,cAAAD,EACA,EAAAF,EACA,EAAGA,EAAI,KAAK,KAAK,EAAIC,CAAE,EACvB,GAAAA,EACA,EAAG,KAAK,KAAKA,CAAE,EACf,IAAKA,GAAM,EAAIA,GACf,OAAQA,IAAO,EACf,KAAMJ,GAAcN,EAAY,MAAM,EACtC,MAAOD,GAAeC,EAAY,OAAO,EACzC,KAAMD,GAAeC,EAAY,OAAO,EACxC,KAAMD,GAAeC,EAAY,OAAO,EACxC,KAAMD,GAAeC,EAAY,QAASI,EAAgBJ,EAAY,QAAS,CAAC,CAAC,EACjF,OAAQD,GAAeC,EAAY,SAAU,GAAG,EAChD,GAAII,EAAgBJ,EAAY,MAAO,CAAC,EACxC,GAAII,EAAgBJ,EAAY,MAAO,CAAC,EACxC,GAAAY,EAEJ,CAEM,SAAUC,GAAcC,EAAwBd,EAAgC,CACpF,GAAI,CAAC,OAAO,UAAU,eAAe,KAAKA,EAAY,OAAO,EAC3D,MAAM,IAAI,MAAM,kCAAkC,EAEpD,GACE,KAAK,IAAIc,EAAK,KAAOA,EAAK,IAAI,EAAI,OAClC,KAAK,IAAIA,EAAK,IAAI,GAAK,KAAK,GAAK,GACjC,KAAK,IAAIA,EAAK,IAAI,GAAK,KAAK,GAAK,EAEjC,MAAM,IAAI,MAAM,4DAA4D,CAEhF,CAGM,SAAUC,GACdd,EACAe,EACAC,EACAC,EACAC,EAAQC,GAAgB,CAExB,IAAMC,EAAM,CAACC,EAA2BC,IAAsB,CAC5D,IAAMC,EAASF,EAAUN,EAAOO,CAAK,EACrC,GACE,CAACC,GACD,OAAOA,GAAW,UAClB,CAAC,OAAO,SAASA,EAAO,CAAC,GACzB,CAAC,OAAO,SAASA,EAAO,CAAC,EAEzB,MAAM,IAAI,MAAMvB,EAAO,oEAAoE,EAC7FsB,EAAM,EAAIC,EAAO,EACjBD,EAAM,EAAIC,EAAO,CACnB,EACA,OAAOL,EACLI,GAASF,EAAIJ,EAASM,CAAK,EAC3BA,GAASF,EAAIH,EAASK,CAAK,CAAC,CAEhC,CC5GM,SAAUE,GAAoBC,EAA0B,CAC5D,IAAMC,EAAOC,GAAiBF,CAAO,EAErC,MAAO,CAAC,GAAGC,EAAM,GAAI,EAAG,GAAI,EAAG,OAAQ,OAAO,MAAMA,EAAK,MAAM,EAAI,EAAIA,EAAK,MAAM,CACpF,CAYM,SAAUE,GACdC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAqD,CAErD,IAAMC,EAASC,GAAWP,EAAME,EAAOC,EAASC,CAAO,EACjDI,EAAKC,EAAgBR,EAAQ,WAAY,MAAO,CAAC,EACrDS,EAAKD,EAAgBR,EAAQ,WAAY,MAAO,CAAC,EACnD,OAAOU,GACLC,GAAQ,CACNP,IAAQO,EAAM,EAAGA,EAAM,CAAC,EACxBN,EAAO,eAAeM,CAAK,EAC3BA,EAAM,GAAKJ,EACXI,EAAM,GAAKF,CACb,EACAE,GAAQ,CACNA,EAAM,GAAKJ,EACXI,EAAM,GAAKF,EACXJ,EAAO,eAAeM,CAAK,CAC7B,CAAC,CAEL,CC5CO,IAAMC,GAAU,KAAK,GAAK,EACpBC,GAAS,KAAK,GAAK,EACnBC,GAAS,KAAK,GAAK,EAEnBC,GAAM,cAENC,GAAM,KAAK,GAAK,IAChBC,GAAM,IAAM,KAAK,GACjBC,GAAa,KAAK,IAAM,IAAM,MCT7B,SAAPC,GAAkBC,EAAS,CAChC,OAAOA,EAAI,EAAI,GAAK,CACtB,CCCc,SAAPC,GAAkBC,EAAWC,EAAmB,CACrD,OAAIA,GAGG,KAAK,IAAID,CAAC,GAAKE,GAFbF,EAEuBA,EAAIG,GAAKH,CAAC,EAAII,EAChD,CCRc,SAAPC,GAAkBC,EAAgBC,EAAc,CACrD,IAAIC,EACJ,OAAIF,EAAS,MACXE,EAAMF,EAASC,GAEZ,EAAID,EAASA,IACbC,GAAU,EAAIC,EAAMA,GAAQ,GAAMF,EAAU,KAAK,KAAK,EAAIE,IAAQ,EAAIA,EAAI,IAGtE,EAAID,CAEf,CCXA,IAAIE,GAAM,kBACNC,GAAM,mBACNC,GAAM,mBACNC,GAAM,mBACNC,GAAM,kBACNC,GAAM,oBAEI,SAAPC,GAAyBC,EAAU,CACxC,IAAI,EACAC,EAAM,CAAA,EACV,OAAAA,EAAI,CAAC,EAAID,EAAKP,GACd,EAAIO,EAAKA,EACTC,EAAI,CAAC,GAAK,EAAIP,GACdO,EAAI,CAAC,EAAI,EAAIL,GACb,GAAKI,EACLC,EAAI,CAAC,GAAK,EAAIN,GACdM,EAAI,CAAC,GAAK,EAAIJ,GACdI,EAAI,CAAC,EAAI,EAAIH,GACNG,CACT,CCnBc,SAAPC,GAAyBC,EAAcC,EAAsB,CAClE,IAAIC,EAAIF,EAAOA,EACf,OAAOA,EAAOC,EAAI,CAAC,EAAI,KAAK,IAAIC,CAAC,EAAID,EAAI,CAAC,EAAI,KAAK,IAAIC,EAAIA,CAAC,EAAID,EAAI,CAAC,EAAI,KAAK,IAAIC,EAAIA,EAAIA,CAAC,CAC7F,CCqCA,IAAIC,GAAK,SACPC,GAAK,SACLC,GAAK,OACLC,GAAK,QACLC,GAAI,KAAK,KAAK,CAAC,EAAI,EAErB,SAASC,GAAWC,EAAY,CAC9BA,EAAM,MAAQA,EAAM,QAAU,OAAYA,EAAM,MAAQ,EACxDA,EAAM,GAAKA,EAAM,KAAO,OAAYA,EAAM,GAAK,EAC/CA,EAAM,GAAKA,EAAM,KAAO,OAAYA,EAAM,GAAK,EAC3CA,EAAM,KAAO,IACfA,EAAM,IAAMC,GAAQD,EAAM,EAAE,EAC5BA,EAAM,GAAKE,GAAMF,EAAM,EAAG,CAAC,EAC3BA,EAAM,KAAO,KAAK,KAAK,GAAMA,EAAM,EAAE,EAEzC,CAEM,SAAUG,GAAQH,EAAcI,EAAQ,CAC5C,IAAIC,EAAMC,GAAWF,EAAE,EAAIJ,EAAM,MAAOA,EAAM,IAAI,EAC9CO,EAAMH,EAAE,EACRI,EAAS,KAAK,IAAID,CAAG,EACrBP,EAAM,KAAO,IACfQ,EAASN,GAAMF,EAAM,EAAGQ,CAAM,EAAIR,EAAM,IAE1C,IAAIS,EAAW,KAAK,KAAKX,GAAIU,CAAM,EACjCE,EAAaD,EAAWA,EACxBE,EAAeD,EAAaA,EAAaA,EAC3C,OAAAN,EAAE,EACCC,EAAM,KAAK,IAAII,CAAQ,GACvBX,IAAKJ,GAAK,EAAIC,GAAKe,EAAaC,GAAgB,EAAIf,GAAK,EAAIC,GAAKa,KACrEN,EAAE,EAAIK,GAAYf,GAAKC,GAAKe,EAAaC,GAAgBf,GAAKC,GAAKa,IAE/DV,EAAM,KAAO,IACfI,EAAE,GAAKJ,EAAM,KACbI,EAAE,GAAKJ,EAAM,MAGfI,EAAE,EAAIJ,EAAM,EAAII,EAAE,EAAIJ,EAAM,GAC5BI,EAAE,EAAIJ,EAAM,EAAII,EAAE,EAAIJ,EAAM,GACrBI,CACT,CAEM,SAAUQ,GAAQZ,EAAcI,EAAQ,CAC5CA,EAAE,GAAKA,EAAE,EAAIJ,EAAM,IAAMA,EAAM,EAC/BI,EAAE,GAAKA,EAAE,EAAIJ,EAAM,IAAMA,EAAM,EAE3BA,EAAM,KAAO,IACfI,EAAE,GAAKJ,EAAM,KACbI,EAAE,GAAKJ,EAAM,MAGf,IAAIa,EAAM,KACRC,EAAQ,GACRL,EAAWL,EAAE,EACbM,EACAC,EACAI,EACAC,EACAC,EACAC,EAEF,IAAKA,EAAI,EAAGA,EAAIJ,IACdJ,EAAaD,EAAWA,EACxBE,EAAeD,EAAaA,EAAaA,EACzCK,EAAKN,GAAYf,GAAKC,GAAKe,EAAaC,GAAgBf,GAAKC,GAAKa,IAAeN,EAAE,EACnFY,EAAMtB,GAAK,EAAIC,GAAKe,EAAaC,GAAgB,EAAIf,GAAK,EAAIC,GAAKa,GACnED,GAAYQ,EAAOF,EAAKC,EACpB,OAAK,IAAIC,CAAI,EAAIJ,IANA,EAAEK,EAMvB,CAIF,OAAAR,EAAaD,EAAWA,EACxBE,EAAeD,EAAaA,EAAaA,EACzCN,EAAE,EACCN,GAAIM,EAAE,GAAKV,GAAK,EAAIC,GAAKe,EAAaC,GAAgB,EAAIf,GAAK,EAAIC,GAAKa,IACzE,KAAK,IAAID,CAAQ,EACnBL,EAAE,EAAI,KAAK,KAAK,KAAK,IAAIK,CAAQ,EAAIX,EAAC,EAElCE,EAAM,KAAO,IACfI,EAAE,EAAIe,GAAQf,EAAE,EAAGJ,EAAM,GAAG,GAG9BI,EAAE,EAAIE,GAAWF,EAAE,EAAIJ,EAAM,MAAOA,EAAM,IAAI,EACvCI,CACT,CAEM,SAAUgB,GAAYC,EAAwBC,EAA0B,CAAA,EAAE,CAC9E,IAAMtB,EAAe,CAAC,GAAGqB,EAAM,IAAK,CAAA,EAAI,GAAI,EAAG,KAAM,EAAG,GAAGC,CAAO,EAClE,OAAAvB,GAAWC,CAAK,EACTA,CACT,CC3HO,IAAMuB,GAA+B,CAC1C,KAAM,UACN,QAAS,CAAC,cAAe,aAAa,EACtC,WAAY,CAAC,QAAS,MAAO,KAAK,EAClC,OAAOC,EAAO,CACZ,IAAMC,EAAOC,GAAoBF,CAAO,EAClCG,EAAgBH,EAAQ,eAAiB,EAEzCI,EAAQC,GAAYJ,CAAI,EACxBK,EAAaC,GAAoB,UAAWP,EAASI,EAAOI,GAASC,EAAO,EAG5EC,EAAI,KAAK,KAAKV,EAAQ,mBAAmB,EACzCW,EACJX,EAAQ,eAAiBU,EAAI,KAAK,MAAM,GAAM,EAAIA,EAAIA,GAAK,KAAK,MAAMA,CAAC,EAAKA,GAAK,CAAC,EAAI,GAClFE,EAAQ,KAAK,GAAK,EACtBC,EAAKD,EAAQA,EACbE,EAAKD,GAAM,EACPE,EAASJ,EAAS,KAAK,IAAQ,KAAK,KAAK,CAAC,EAAI,EAAK,UACnDK,EAAKC,EAAgBjB,EAAQ,WAAY,MAAO,CAAC,EACjDkB,EAAKD,EAAgBjB,EAAQ,WAAY,MAAO,CAAC,EACjDmB,EAASR,EAASC,GAAS,SAAW,QAAWC,EAAKC,GAAM,OAAW,QAAWD,IACxF,MAAO,CACL,GAAGP,EACH,gBAAiBL,EAAK,MACtB,oBAAoBmB,EAAQ,CAC1B,GAAIA,EACF,OAAOC,EACLC,GAAUC,GAAkBjB,EAAW,QAASgB,EAAQrB,EAAK,MAAOA,EAAK,IAAI,EAC7EmB,EACAnB,EAAK,MACLE,EACAF,EAAK,IAAI,EAEb,IAAMuB,EAAgB,CACpB,CAACR,EAAKD,EAAOG,EAAKC,EAAQ,CAAC,EAC3B,CAACH,EAAKD,EAAOG,EAAKC,EAAQ,CAAC,GAE7B,MAAO,CACL,OAAQK,EACR,UAAWH,EACT,IAAMG,EACNC,GACEC,GACEzB,EAAK,MAAQ,KAAK,GAClB,EAAE,KAAK,GAAK,GACZA,EAAK,MAAQ,KAAK,GAClB,KAAK,GAAK,CAAC,EAEbE,CAAa,EAEfF,EAAK,MACLE,EACAF,EAAK,IAAI,EACT,UAEN,EAEJ,GC7DI,SAAU0B,GACdC,EACAC,EAAyC,CAEzC,MAAO,CACL,GAAGC,GAAiBF,EAASC,CAAO,EACpC,kBAAkBE,EAA8B,CAE9C,OAAO,KAAK,iBAAmBH,EAC3BI,GAAoBJ,EAAS,GAAOG,CAAO,EAC3C,MACN,EACA,kBAAkBA,EAA8B,CAC9C,OAAO,KAAK,iBAAmBF,EAC3BG,GAAoBH,EAAS,GAAME,CAAO,EAC1C,MACN,EAEJ,CAEA,SAASC,GACPC,EACAJ,EACA,CAAC,WAAAK,EAAY,YAAAC,CAAW,EAAwB,CAEhD,IAAMC,EAAU,IAAIC,GACpB,MAAO,CAACC,EAAaC,IAAa,CAChC,IAAMC,EAAQJ,EAAQ,QAAO,EAC7B,GAAI,CACF,IAAMK,EAAUH,aAAuB,aACvC,QAASI,EAAS,EAAGA,EAASJ,EAAY,OAAQI,GAAUH,EAAW,CAIrE,GAHAC,EAAM,EAAIF,EAAYI,CAAM,EAC5BF,EAAM,EAAIF,EAAYI,EAAS,CAAC,EAChCF,EAAM,EAAID,GAAa,EAAID,EAAYI,EAAS,CAAC,EAAI,EACjD,CAAC,OAAO,SAASF,EAAM,CAAC,GAAK,CAAC,OAAO,SAASA,EAAM,CAAC,GAAK,CAAC,OAAO,SAASA,EAAM,CAAC,EACpF,MAAM,IAAI,MAAM,4DAA4D,EAM9E,GALIN,IAAe,IACjBM,EAAM,GAAKN,EACXM,EAAM,GAAKN,GAETL,GAASI,EAAQO,CAAK,EAExB,KAAK,IAAIA,EAAM,CAAC,EAAI,KAAK,GAAK,GAC9B,CAAC,OAAO,SAASA,EAAM,CAAC,GACxB,CAAC,OAAO,SAASA,EAAM,CAAC,EAExB,MAAM,IAAI,MAAM,6CAA6C,EAS/D,GAPAA,EAAM,GAAK,EACXA,EAAM,GAAK,EACNX,GAASI,EAAQO,CAAK,EACvBL,IAAgB,IAClBK,EAAM,GAAKL,EACXK,EAAM,GAAKL,GAET,CAAC,OAAO,SAASK,EAAM,CAAC,GAAK,CAAC,OAAO,SAASA,EAAM,CAAC,EACvD,MAAM,IAAI,MAAM,4CAA4C,EAC9D,GACEC,IACC,KAAK,IAAID,EAAM,CAAC,EAAI,sBAAyB,KAAK,IAAIA,EAAM,CAAC,EAAI,sBAElE,MAAM,IAAI,MAAM,4CAA4C,EAE9DF,EAAYI,CAAM,EAAIF,EAAM,EAC5BF,EAAYI,EAAS,CAAC,EAAIF,EAAM,CAClC,CACF,SACEJ,EAAQ,QAAQI,CAAK,CACvB,CACF,CACF,CC1Ec,SAAPG,GAAkBC,EAAgBC,EAAgBC,EAAc,CACrE,IAAIC,EAAMH,EAASC,EACnB,OAAOC,EAAS,KAAK,KAAK,EAAIC,EAAMA,CAAG,CACzC,CCHc,SAAPC,GAAkBC,EAAS,CAChC,OAAI,KAAK,IAAIA,CAAC,EAAI,IAChBA,EAAIA,EAAI,EAAI,EAAI,IAEX,KAAK,KAAKA,CAAC,CACpB,CCsBA,SAASC,GAAWC,EAAY,CAC1B,KAAK,IAAIA,EAAM,KAAOA,EAAM,IAAI,EAAI,QAGxCA,EAAM,KAAOA,EAAM,EAAIA,EAAM,EAC7BA,EAAM,GAAK,EAAI,KAAK,IAAIA,EAAM,KAAM,CAAC,EACrCA,EAAM,GAAK,KAAK,KAAKA,EAAM,EAAE,EAE7BA,EAAM,OAAS,KAAK,IAAIA,EAAM,IAAI,EAClCA,EAAM,OAAS,KAAK,IAAIA,EAAM,IAAI,EAClCA,EAAM,GAAKA,EAAM,OACjBA,EAAM,IAAMA,EAAM,OAClBA,EAAM,IAAMC,GAAMD,EAAM,GAAIA,EAAM,OAAQA,EAAM,MAAM,EACtDA,EAAM,IAAME,GAAMF,EAAM,GAAIA,EAAM,MAAM,EAExCA,EAAM,OAAS,KAAK,IAAIA,EAAM,IAAI,EAClCA,EAAM,OAAS,KAAK,IAAIA,EAAM,IAAI,EAClCA,EAAM,GAAKA,EAAM,OACjBA,EAAM,IAAMC,GAAMD,EAAM,GAAIA,EAAM,OAAQA,EAAM,MAAM,EACtDA,EAAM,IAAME,GAAMF,EAAM,GAAIA,EAAM,MAAM,EAExCA,EAAM,OAAS,KAAK,IAAIA,EAAM,IAAI,EAClCA,EAAM,OAAS,KAAK,IAAIA,EAAM,IAAI,EAClCA,EAAM,GAAKA,EAAM,OACjBA,EAAM,IAAME,GAAMF,EAAM,GAAIA,EAAM,MAAM,EAEpC,KAAK,IAAIA,EAAM,KAAOA,EAAM,IAAI,EAAI,MACtCA,EAAM,KAAOA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,MAAQA,EAAM,IAAMA,EAAM,KAEjFA,EAAM,IAAMA,EAAM,IAEpBA,EAAM,EAAIA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IACpDA,EAAM,GAAMA,EAAM,EAAI,KAAK,KAAKA,EAAM,EAAIA,EAAM,IAAMA,EAAM,GAAG,EAAKA,EAAM,IAC5E,CAKM,SAAUG,GAAQH,EAAcI,EAAQ,CAC5C,IAAIC,EAAMD,EAAE,EACRE,EAAMF,EAAE,EAEZJ,EAAM,QAAU,KAAK,IAAIM,CAAG,EAC5BN,EAAM,QAAU,KAAK,IAAIM,CAAG,EAE5B,IAAIC,EAAKL,GAAMF,EAAM,GAAIA,EAAM,OAAO,EAClCQ,EAAOR,EAAM,EAAI,KAAK,KAAKA,EAAM,EAAIA,EAAM,IAAMO,CAAE,EAAKP,EAAM,IAC9DS,EAAQT,EAAM,IAAMU,GAAWL,EAAML,EAAM,MAAOA,EAAM,IAAI,EAC5DW,EAAIH,EAAM,KAAK,IAAIC,CAAK,EAAIT,EAAM,GAClCY,EAAIZ,EAAM,GAAKQ,EAAM,KAAK,IAAIC,CAAK,EAAIT,EAAM,GAEjD,OAAAI,EAAE,EAAIO,EACNP,EAAE,EAAIQ,EACCR,CACT,CAEM,SAAUS,GAAQb,EAAcI,EAAQ,CAC5C,IAAII,EAAKD,EAAIO,EAAKL,EAAOJ,EAAKC,EAE9B,OAAAF,EAAE,GAAKJ,EAAM,GACbI,EAAE,EAAIJ,EAAM,GAAKI,EAAE,EAAIJ,EAAM,GACzBA,EAAM,KAAO,GACfQ,EAAM,KAAK,KAAKJ,EAAE,EAAIA,EAAE,EAAIA,EAAE,EAAIA,EAAE,CAAC,EACrCU,EAAM,IAENN,EAAM,CAAC,KAAK,KAAKJ,EAAE,EAAIA,EAAE,EAAIA,EAAE,EAAIA,EAAE,CAAC,EACtCU,EAAM,IAERL,EAAQ,EACJD,IAAQ,IACVC,EAAQ,KAAK,MAAMK,EAAMV,EAAE,EAAGU,EAAMV,EAAE,CAAC,GAEzCU,EAAON,EAAMR,EAAM,IAAOA,EAAM,EAC5BA,EAAM,OACRM,EAAM,KAAK,MAAMN,EAAM,EAAIc,EAAMA,IAAQ,EAAId,EAAM,IAAI,GAEvDO,GAAMP,EAAM,EAAIc,EAAMA,GAAOd,EAAM,IACnCM,EAAMS,GAAMf,EAAM,GAAIO,CAAE,GAG1BF,EAAMK,GAAWD,EAAQT,EAAM,IAAMA,EAAM,MAAOA,EAAM,IAAI,EAC5DI,EAAE,EAAIC,EACND,EAAE,EAAIE,EACCF,CACT,CAKA,SAASW,GAAMC,EAAgBT,EAAU,CACvC,IAAIU,EAAQC,EAAQJ,EAAKK,EAAKC,EAC1BC,EAAMC,GAAM,GAAMf,CAAE,EACxB,GAAIS,EAAS,MACX,OAAOK,EAIT,QADIE,EAASP,EAASA,EACbQ,EAAI,EAAGA,GAAK,GAAIA,IASvB,GARAP,EAAS,KAAK,IAAII,CAAG,EACrBH,EAAS,KAAK,IAAIG,CAAG,EACrBP,EAAME,EAASC,EACfE,EAAM,EAAIL,EAAMA,EAChBM,EACI,GAAMD,EAAMA,EAAOD,GACpBX,GAAM,EAAIgB,GAAUN,EAASE,EAAO,GAAMH,EAAU,KAAK,KAAK,EAAIF,IAAQ,EAAIA,EAAI,GACrFO,EAAMA,EAAMD,EACR,KAAK,IAAIA,CAAI,GAAK,KACpB,OAAOC,EAGX,OAAO,IACT,CAEM,SAAUI,GAAYC,EAAsB,CAChD,IAAM1B,EAAe,CACnB,GAAG0B,EACH,KAAM,EACN,GAAI,EACJ,OAAQ,EACR,OAAQ,EACR,GAAI,EACJ,IAAK,EACL,IAAK,EACL,IAAK,EACL,GAAI,EACJ,IAAK,EACL,IAAK,EACL,GAAI,EACJ,IAAK,EACL,IAAK,EACL,EAAG,EACH,GAAI,EACJ,QAAS,EACT,QAAS,GAEX,OAAA3B,GAAWC,CAAK,EACTA,CACT,CC7JO,IAAM2B,GAAoC,CAC/C,KAAM,MACN,QAAS,CAAC,0BAA2B,oBAAqB,QAAQ,EAClE,WAAY,CAAC,GAAGC,GAAmB,QAAS,OAAO,EACnD,OAAOC,EAAO,CACZ,IAAMC,EAAOC,GAAiBF,CAAO,EACrCG,GAAcF,EAAMD,EAAQ,UAAU,EACtC,IAAMI,EAAQC,GAAYJ,CAAI,EACxBK,EAAa,CACjB,GAAGC,GAAW,MAAOH,EAAOI,GAASC,GAASC,EAAoB,GAEpE,OAAOC,GACLL,EACAM,GAAoBX,EAAK,MAAQ,KAAK,GAAI,CAAC,KAAK,GAAK,EAAGA,EAAK,MAAQ,KAAK,GAAI,KAAK,GAAK,CAAC,EACzFY,GACEC,GACER,EAAW,QACXO,EACAZ,EAAK,MACLG,EAAM,IACNA,EAAM,GACNA,EAAM,GAAKA,EAAM,GACjBH,EAAK,IAAI,EAEbA,EAAK,cACLA,EAAK,IAAI,CAEb,GC1BK,IAAMc,GAA2C,CACtD,KAAM,MACN,QAAS,CAAC,kBAAmB,0BAA2B,mCAAmC,EAC3F,WAAY,CAAC,QAAS,QAAS,SAAU,MAAO,KAAK,EACrD,OAAO,CAAC,cAAeC,EAAG,WAAAC,EAAY,cAAAC,EAAgB,CAAC,EAAC,CACtD,IAAMC,EAAO,OAAO,UAAU,eAAe,KAAKF,EAAY,MAAM,EAC9DG,EAAkBC,EAAgBJ,EAAY,QAAS,CAAC,EAAIK,EAC5DC,EAAiBC,GAAkBP,EAAY,OAAO,EACtDQ,EAAgB,KAAK,IAAID,GAAkBP,EAAY,QAAQ,CAAC,EAChES,EAAKL,EAAgBJ,EAAY,MAAO,CAAC,EACzCU,EAAKN,EAAgBJ,EAAY,MAAO,CAAC,EACzCW,EAAQZ,EAAI,KAAK,IAAIS,CAAa,EAAI,KAAK,GACjD,MAAO,CACL,gBAAAL,EACA,oBAAoBS,EAAQ,CAC1B,GAAIA,EACF,OAAOC,EACLC,GACEC,GACEC,GACE,CAACP,EAAIA,CAAE,EACPQ,GAAMC,GAAeJ,EAAQX,EAAiBD,CAAI,EAAGH,EAAIS,CAAa,CAAC,EAEzE,CAACE,EAAKX,GAAKe,EAAO,CAAC,EAAE,CAAC,EAAIR,GAAiBI,EAAKX,GAAKe,EAAO,CAAC,EAAE,CAAC,EAAIR,EAAe,CAAC,EAExFM,EACAT,EACAF,EACAC,CAAI,EAER,IAAMiB,EAAgB,CACpB,CAACV,EAAKE,EAAOD,EAAKX,GAAK,CAAC,KAAK,GAAK,EAAIO,GAAiB,CAAC,EACxD,CAACG,EAAKE,EAAOD,EAAKX,GAAK,KAAK,GAAK,EAAIO,GAAiB,CAAC,GAEzD,MAAO,CACL,OAAQa,EACR,UAAWN,EACT,IAAMM,EACNC,GACEC,GACElB,EAAkB,KAAK,GACvB,EAAE,KAAK,GAAK,GACZA,EAAkB,KAAK,GACvB,KAAK,GAAK,CAAC,EAEbF,CAAa,EAEfE,EACAF,EACAC,CAAI,EACJ,UAEN,EACA,GAAGoB,GACDC,GAAQ,CACNA,EAAM,EAAId,EAAKV,EAAIS,EAAgBgB,EAAcD,EAAM,EAAIpB,EAAiBD,CAAI,EAChFqB,EAAM,EAAIb,EAAKX,GAAKwB,EAAM,EAAIjB,EAChC,EACAiB,GAAQ,CACNA,EAAM,EAAIC,EAAcrB,GAAmBoB,EAAM,EAAId,IAAOV,EAAIS,GAAgBN,CAAI,EACpFqB,EAAM,EAAIjB,GAAkBiB,EAAM,EAAIb,GAAMX,CAC9C,CAAC,EAGP,GC3DK,IAAM0B,GAA6B,CACxC,KAAM,OACN,QAAS,CACP,WACA,wCACA,eACA,4BACA,sBAEF,WAAY,CAAC,QAAS,SAAU,IAAK,MAAO,MAAO,KAAK,EACxD,OAAO,CAAC,cAAeC,EAAG,oBAAqBC,EAAI,WAAAC,EAAY,cAAAC,EAAgB,CAAC,EAAC,CAC/E,IAAMC,EAAI,KAAK,KAAKH,CAAE,EAChBI,EAAO,OAAO,UAAU,eAAe,KAAKH,EAAY,MAAM,EAC9DI,EAAkBC,EAAgBL,EAAY,QAAS,CAAC,EAAIM,EAC5DC,EAAKF,EAAgBL,EAAY,MAAO,CAAC,EACzCQ,EAAKH,EAAgBL,EAAY,MAAO,CAAC,EAC3CS,EAAQJ,EAAgBL,EAAY,MAAOK,EAAgBL,EAAY,IAAK,CAAC,CAAC,EAClF,GAAI,OAAO,UAAU,eAAe,KAAKA,EAAY,QAAQ,EAAG,CAC9D,IAAMU,EAAWC,GAAkBX,EAAY,QAAQ,EACvDS,EAAQ,KAAK,IAAIC,CAAQ,EAAI,KAAK,KAAK,EAAIX,EAAK,KAAK,IAAIW,CAAQ,GAAK,CAAC,CACzE,CACA,GAAID,GAAS,EAAG,MAAM,IAAI,MAAM,iCAAiC,EACjE,IAAMG,EAASd,EAAIW,EAEbI,EAAc,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,EAC1CC,EAAQF,EAAS,KAAK,GACtBG,EAASH,GAAU,KAAK,GAAKV,EAAI,KAAK,MAAMA,EAAI,KAAK,IAAIW,CAAW,CAAC,GAC3E,MAAO,CACL,gBAAAT,EACA,oBAAoBY,EAAQ,CAC1B,GAAIA,EAAU,CAGZ,IAAMC,EAAUD,EAAS,CAAC,GAAK,KAAOA,EAAS,CAAC,GAAK,GAC/CE,EAAS,CACbF,EAAS,CAAC,EACVC,EACI,KAAK,IACF,CAACJ,EAAc,IAAO,KAAK,GAC5B,KAAK,IAAKA,EAAc,IAAO,KAAK,GAAIG,EAAS,CAAC,CAAC,CAAC,EAEtDA,EAAS,CAAC,EACdA,EAAS,CAAC,EACVC,EACI,KAAK,IACF,CAACJ,EAAc,IAAO,KAAK,GAC5B,KAAK,IAAKA,EAAc,IAAO,KAAK,GAAIG,EAAS,CAAC,CAAC,CAAC,EAEtDA,EAAS,CAAC,GAEVG,EAAYT,GAChBF,EAAKI,GAAU,KAAK,MAAM,KAAK,IAAIF,CAAQ,CAAC,EAAIR,EAAI,KAAK,MAAMA,EAAI,KAAK,IAAIQ,CAAQ,CAAC,GACvF,OAAOU,EACLC,GACEC,GACEC,GAAI,CAAChB,EAAIA,CAAE,EAAGE,GAAWe,GAAeH,EAAQjB,EAAiBD,CAAI,EAAGS,CAAM,CAAC,EAC/E,CAACO,EAASE,EAAO,CAAC,EAAE,CAAC,CAAC,EAAGF,EAASE,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAEpDH,EACAd,EACAH,EACAE,CAAI,CAER,CACA,IAAMsB,EAAgB,CACpB,CAAClB,EAAKO,EAAON,EAAKO,EAAQ,CAAC,EAC3B,CAACR,EAAKO,EAAON,EAAKO,EAAQ,CAAC,GAE7B,MAAO,CACL,OAAQU,EACR,UAAWL,EACT,IAAMK,EACNC,GACEC,GACEvB,EAAkB,KAAK,GACvB,CAACS,EACDT,EAAkB,KAAK,GACvBS,CAAW,EAEbZ,CAAa,EAEfG,EACAH,EACAE,CAAI,EACJ,UAEN,EACA,GAAGyB,GACDC,GAAQ,CACN,IAAMC,EAAYD,EAAM,EACtBnB,EAAWmB,EAAM,EACnB,GAAI,KAAK,IAAInB,CAAQ,GAAK,KAAK,GAAK,EAClC,MAAM,IAAI,MAAM,oCAAoC,EAEtD,IAAMqB,EAAoB,KAAK,MAAM,KAAK,IAAIrB,CAAQ,CAAC,EACvDmB,EAAM,EAAItB,EAAKK,EAASoB,EAAcF,EAAY1B,EAAiBD,CAAI,EAEvE0B,EAAM,EACJrB,EACAI,GACGV,IAAM,EACH6B,EAAoB,EACpBA,EAAoB7B,EAAI,KAAK,MAAMA,EAAI,KAAK,IAAIQ,CAAQ,CAAC,EACnE,EACAmB,GAAQ,CACN,IAAMI,EAAIJ,EAAM,EAEVE,GADAF,EAAM,EACmBrB,GAAMI,EACjCF,EAAW,KAAK,KAAK,KAAK,KAAKqB,CAAiB,CAAC,EAErD,GAAI7B,IAAM,EAAG,CACX2B,EAAM,EAAIG,EAAc5B,GAAmB6B,EAAI1B,GAAMK,EAAQT,CAAI,EACjE0B,EAAM,EAAInB,EAAW,EACrB,MACF,CACA,QAASwB,EAAY,EAAGA,EAAY,GAAIA,IAAa,CACnD,IAAMC,EAAO,KAAK,KAChB,KAAK,KAAKJ,EAAoB7B,EAAI,KAAK,MAAMA,EAAI,KAAK,IAAIQ,CAAQ,CAAC,CAAC,CAAC,EAEvE,GAAI,KAAK,IAAIyB,EAAOzB,CAAQ,EAAI,MAAO,CACrCmB,EAAM,EAAIG,EAAc5B,GAAmB6B,EAAI1B,GAAMK,EAAQT,CAAI,EACjE0B,EAAM,EAAIM,EACV,MACF,CACAzB,EAAWyB,CACb,CACA,MAAM,IAAI,MAAM,mCAAmC,CACrD,CAAC,EAGP,GC9GF,IAAMC,GAA0B,IAAI,IAAI,CACpC,aAAc,WAAY,UAAW,aAAc,YAAa,WAChE,uBAAwB,uBAAwB,qBAAsB,qBAAsB,sBAAuB,oBACvH,CAAC,EAQM,SAASC,GACZC,EACAC,EACAC,EACAC,EACa,CACb,IAAMC,EAAYD,EAAQ,WAAa,KACjCE,EAAcF,EAAQ,gBAAkB,EACxCG,EAASH,EAAQ,uBAAyB,OAChD,GAAI,CAAC,OAAO,UAAUA,EAAQ,QAAQ,GAAKA,EAAQ,SAAW,GAAKA,EAAQ,SAAW,IAClF,CAAC,OAAO,SAASC,CAAS,GAAKA,GAAa,GAC5C,CAAC,OAAO,SAASC,CAAW,GAAKA,GAAe,GAAKA,EAAc,KACnE,CAAC,OAAO,UAAUC,CAAM,GAAKA,EAAS,EACtC,MAAM,IAAI,WAAW,uCAAuC,EAEhE,IAAMC,EAAcH,EAAY,GAAKD,EAAQ,SAAWE,EAAc,IACtE,GAAIE,EAAc,EACd,MAAM,IAAI,WAAW,0DAA0D,EAEnF,IAAMC,EAAWN,EAAO,gBAAgB,KAAKO,GAAaA,EAAU,OAAS,YAAY,EACzF,GAAI,CAACD,GAAYA,EAAS,KAAO,GAAKA,EAAS,SAAW,QACtDN,EAAO,QAAU,GAAKF,EAAS,WAAaE,EAAO,SAAW,EAC9D,MAAM,IAAI,MAAM,oDAAoD,EAExE,IAAMQ,EAAgBV,EAAS,WAAaE,EAAO,OAC7CS,EAAkBV,GAAW,YAAY,KAAK,CAAC,OAAQS,CAAa,EAAG,CAACE,EAAGC,IAAUA,CAAK,EAChG,GAAIF,EAAgB,OAAS,IAAM,GAAKA,EAAgB,KAAKE,GAASA,GAASH,CAAa,EACxF,MAAM,IAAI,MAAM,sCAAsC,EAE1D,IAAMI,EAAwB,CAAC,EACzBC,EAAgC,CAAC,EACvC,QAASF,EAAQ,EAAGA,EAAQH,EAAeG,IAAS,CAChD,IAAMG,EAAShB,EAAS,SAASa,EAAQX,EAAO,QAASW,EAAQ,GAAKX,EAAO,MAAM,EACnFY,EAAQ,KAAKE,CAAM,EACnB,IAAMC,EAAO,IAAI,SAASD,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,EACvEE,EAA0Bf,EAAQ,YAAcA,EAAQ,YAAYc,CAAI,EAC1E,CAACE,GAAcF,EAAMT,EAAU,CAAC,EAAGW,GAAcF,EAAMT,EAAU,CAAC,CAAC,EACvE,GAAI,CAACU,EAAM,MAAM,OAAO,QAAQ,EAC5B,MAAM,IAAI,MAAM,gCAAgC,EAEpDH,EAAU,KAAKG,CAAK,CACxB,CACA,IAAME,EAAY,IAAI,IAChBC,EAAmB,CAAC,EACpBC,EAAsB,CAAC,EACvBC,EAAmBZ,EAAgB,OAAS,EAAIL,EAAS,EAE/D,QAASO,EAAQF,EAAgB,OAAS,EAAGE,GAAS,EAAGA,GAAS,EAC9DS,EAAQ,KAAK,CAACX,EAAgBE,CAAK,EAAGF,EAAgBE,EAAQ,CAAC,EAAGF,EAAgBE,EAAQ,CAAC,CAAC,CAAC,EAEjG,IAAMW,EAAS,CAACC,EAAeC,IAA4B,CACvD,IAAMC,EAAW,KAAK,MAAMZ,EAAUU,CAAK,EAAE,CAAC,EAAIV,EAAUW,CAAM,EAAE,CAAC,EAAGX,EAAUU,CAAK,EAAE,CAAC,EAAIV,EAAUW,CAAM,EAAE,CAAC,CAAC,EAClH,OAAOC,EAAWpB,GAAgBoB,GAAY,GAAK,EAAQxB,EAAQ,kBAC/D,IAAI,SAASW,EAAQW,CAAK,EAAE,OAAQX,EAAQW,CAAK,EAAE,WAAYvB,EAAO,MAAM,EAC5E,IAAI,SAASY,EAAQY,CAAM,EAAE,OAAQZ,EAAQY,CAAM,EAAE,WAAYxB,EAAO,MAAM,CAAC,CACvF,EACM0B,EAAc,CAACH,EAAeC,IAA2B,CAC3D,IAAMG,EAAM,GAAG,KAAK,IAAIJ,EAAOC,CAAM,CAAC,IAAI,KAAK,IAAID,EAAOC,CAAM,CAAC,GAC3DI,EAASV,EAAU,IAAIS,CAAG,EAChC,GAAIC,IAAW,OACX,OAAOA,EAEX,GAAIhB,EAAQ,QAAUJ,EAAgBJ,EAClC,MAAM,IAAI,WAAW,+CAA+C,EAExE,IAAMU,EAASe,GAAwBjB,EAAQW,CAAK,EAAGX,EAAQY,CAAM,EAAGxB,EAAQ,EAAG,EAC7E8B,EAAa,IAAI,SAAShB,EAAO,MAAM,EACvCiB,EAAWnB,EAAQ,OACzB,OAAAA,EAAQ,KAAKE,CAAM,EACnBD,EAAU,KAAKZ,EAAQ,YAAcA,EAAQ,YAAY6B,CAAU,EAC/D,CAACb,GAAca,EAAYxB,EAAU,CAAC,EAAGW,GAAca,EAAYxB,EAAU,CAAC,CAAC,CAAC,EACpFY,EAAU,IAAIS,EAAKI,CAAQ,EACpBA,CACX,EACA,KAAOX,EAAQ,QAAQ,CACnB,IAAMY,EAAWZ,EAAQ,IAAI,EACvB,CAACG,EAAOC,EAAQS,CAAK,EAAID,EACzBE,EAAQ,CAACZ,EAAOC,EAAOC,CAAM,EAAGF,EAAOE,EAAQS,CAAK,EAAGX,EAAOW,EAAOV,CAAK,CAAC,EAC3EY,EAAQD,EAAM,OAAO,OAAO,EAAE,OACpC,GAAIC,IAAU,EACVhB,EAAO,KAAKI,EAAOC,EAAQS,CAAK,UAE3BE,IAAU,EAAG,CAClB,IAAMC,EAAgBV,EAAYH,EAAOC,CAAM,EACzCa,EAAiBX,EAAYF,EAAQS,CAAK,EAC1CK,EAAgBZ,EAAYO,EAAOV,CAAK,EAC9CH,EAAQ,KAAK,CAACG,EAAOa,EAAeE,CAAa,EAAG,CAACF,EAAeZ,EAAQa,CAAc,EACtF,CAACC,EAAeD,EAAgBJ,CAAK,EAAG,CAACG,EAAeC,EAAgBC,CAAa,CAAC,CAC9F,KACK,CAED,IAAMC,EAAOL,EAAM,UAAUM,GAASA,KAAWL,IAAU,EAAE,EACvDM,EAAQT,EAASO,CAAI,EACrBG,EAAMV,GAAUO,EAAO,GAAK,CAAC,EAC7BI,EAAWX,GAAUO,EAAO,GAAK,CAAC,EACxC,GAAItC,EAAQ,uBAAwB,CAIhC,IAAM2C,EAAW,CAACH,CAAK,EAMvB,GALIP,EAAMK,CAAI,GAAGK,EAAS,KAAKlB,EAAYe,EAAOC,CAAG,CAAC,EACtDE,EAAS,KAAKF,CAAG,EACbR,GAAOK,EAAO,GAAK,CAAC,GAAGK,EAAS,KAAKlB,EAAYgB,EAAKC,CAAQ,CAAC,EACnEC,EAAS,KAAKD,CAAQ,EAClBT,GAAOK,EAAO,GAAK,CAAC,GAAGK,EAAS,KAAKlB,EAAYiB,EAAUF,CAAK,CAAC,EACjE7B,EAAQ,QAAUJ,EAAgBJ,EAClC,MAAM,IAAI,WAAW,+CAA+C,EAExE,IAAMU,EAASe,GACXA,GAAwBjB,EAAQ6B,CAAK,EAAG7B,EAAQ8B,CAAG,EAAG1C,EAAQ,EAAG,EACjEY,EAAQ+B,CAAQ,EAAG3C,EAAQ,EAAI,CAAC,EAC9Be,EAAO,IAAI,SAASD,EAAO,MAAM,EACjCE,EAA0Bf,EAAQ,YAAcA,EAAQ,YAAYc,CAAI,EAC1E,CAACE,GAAcF,EAAMT,EAAU,CAAC,EAAGW,GAAcF,EAAMT,EAAU,CAAC,CAAC,EACjEuC,EAAQ,CAACtB,EAAiBC,EAAkBS,KAC7CT,EAAO,CAAC,EAAID,EAAM,CAAC,IAAMU,EAAM,CAAC,EAAIV,EAAM,CAAC,IAAMC,EAAO,CAAC,EAAID,EAAM,CAAC,IAAMU,EAAM,CAAC,EAAIV,EAAM,CAAC,GAC3FuB,EAAoBnC,GAA4C,CAClE,GAAGE,EAAUF,CAAK,EAAGV,EAAQ,eAAe,IAAI,SAASW,EAAQD,CAAK,EAAE,OACpEC,EAAQD,CAAK,EAAE,WAAYX,EAAO,MAAM,CAAC,GAAK,CAAC,EACjD+C,EAAU,CAACN,EAAOC,EAAKC,CAAQ,EAAE,IAAIG,CAAgB,EACrDE,EAAOC,GAAoBF,CAAO,EAClCG,EAAW5C,GACb,CAACA,EAAS0C,EAAK,CAAC,CAAC,EAAG1C,EAAS0C,EAAK,CAAC,CAAC,CAAC,EACnCG,EAAcD,EAAQ,CAAC,GAAGlC,EAAOf,EAAQ,eAAec,CAAI,GAAK,CAAC,CAAC,EACnEqC,EAAcP,EAAMK,EAAQH,EAAQ,CAAC,CAAC,EAAGG,EAAQH,EAAQ,CAAC,CAAC,EAAGG,EAAQH,EAAQ,CAAC,CAAC,CAAC,EACvF,GAAIH,EAAS,KAAK,CAACS,EAAQC,IACvBT,EAAMK,EAAQJ,EAAiBO,CAAM,CAAC,EAAGH,EAAQJ,EAAiBF,GAAUU,EAAe,GAAKV,EAAS,MAAM,CAAC,CAAC,EAAGO,CAAW,EAAIC,GAAe,CAAC,EACnJ,MAAM,IAAI,WAAW,0DAA0D,EAEnF,IAAMG,EAAS3C,EAAQ,OACvBA,EAAQ,KAAKE,CAAM,EACnBD,EAAU,KAAKG,CAAK,EACpB,QAASsC,EAAe,EAAGA,EAAeV,EAAS,OAAQU,IACvDlC,EAAQ,KAAK,CAACwB,EAASU,CAAY,EAAGV,GAAUU,EAAe,GAAKV,EAAS,MAAM,EAAGW,CAAM,CAAC,CAErG,SACSpB,IAAU,EAAG,CAClB,IAAMJ,EAAWL,EAAYe,EAAOC,CAAG,EACvCtB,EAAQ,KAAK,CAACqB,EAAOV,EAAUY,CAAQ,EAAG,CAACZ,EAAUW,EAAKC,CAAQ,CAAC,CACvE,KACK,CACD,IAAMa,EAAc9B,EAAYgB,EAAKC,CAAQ,EACvCc,EAAgB/B,EAAYiB,EAAUF,CAAK,EAC3ChB,EAAW,CAACF,EAAeC,IAAmB,KAAK,MAAMX,EAAUU,CAAK,EAAE,CAAC,EAAIV,EAAUW,CAAM,EAAE,CAAC,EAAGX,EAAUU,CAAK,EAAE,CAAC,EAAIV,EAAUW,CAAM,EAAE,CAAC,CAAC,EACrJJ,EAAQ,KAAK,CAACuB,EAAUc,EAAeD,CAAW,CAAC,EAC/CvD,EAAQ,wBAA0BwB,EAASgB,EAAOe,CAAW,EAAI/B,EAASiB,EAAKe,CAAa,EAC5FrC,EAAQ,KAAK,CAACqB,EAAOC,EAAKc,CAAW,EAAG,CAACf,EAAOe,EAAaC,CAAa,CAAC,EAE3ErC,EAAQ,KAAK,CAACqB,EAAOC,EAAKe,CAAa,EAAG,CAACf,EAAKc,EAAaC,CAAa,CAAC,CAEnF,CACJ,CACA,GAAIrC,EAAQ,OAASD,EAAO,OAAS,EAAIE,EACrC,MAAM,IAAI,WAAW,iDAAiD,CAE9E,CACA,GAAIT,EAAQ,SAAWJ,EACnB,MAAO,CAAC,SAAAV,EAAU,QAASW,CAAe,EAE9C,IAAMiD,EAAkB,IAAI,WAAW9C,EAAQ,OAASZ,EAAO,MAAM,EACrE,OAAAY,EAAQ,QAAQ,CAACE,EAAQH,IAAU+C,EAAgB,IAAI5C,EAAQH,EAAQX,EAAO,MAAM,CAAC,EAC9E,CACH,SAAU0D,EACV,QAAS9C,EAAQ,QAAU,MAAQ,IAAI,YAAYO,CAAM,EAAI,IAAI,YAAYA,CAAM,CACvF,CACJ,CAGO,SAAS8B,GAAoBU,EAAyF,CACzH,IAAMC,EAAS,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAClCC,EAAkCD,EAAO,CAAC,EAC1CE,EAAc,EAClB,QAAWC,KAASH,EAAQ,CACxB,GAAM,CAACrC,EAAOC,CAAM,EAAIuC,EAClBC,EAAO,KAAK,KAAKL,EAAO,CAAC,EAAEpC,CAAK,EAAIoC,EAAO,CAAC,EAAEpC,CAAK,IAAMoC,EAAO,CAAC,EAAEnC,CAAM,EAAImC,EAAO,CAAC,EAAEnC,CAAM,IAC9FmC,EAAO,CAAC,EAAEnC,CAAM,EAAImC,EAAO,CAAC,EAAEnC,CAAM,IAAMmC,EAAO,CAAC,EAAEpC,CAAK,EAAIoC,EAAO,CAAC,EAAEpC,CAAK,EAAE,EAC/EyC,EAAOF,IAAcA,EAAcE,EAAMH,EAAWE,EAC5D,CACA,OAAOF,CACX,CAGO,SAAShC,GAAwBN,EAAmBC,EACvDxB,EAA8DiE,EAA8B,CAC5F,IAAMnD,EAASS,EAAM,MAAM,EACrB2C,EAAY,IAAI,SAAS3C,EAAM,OAAQA,EAAM,WAAYvB,EAAO,MAAM,EACtEmE,EAAa,IAAI,SAAS3C,EAAO,OAAQA,EAAO,WAAYxB,EAAO,MAAM,EACzE8B,EAAa,IAAI,SAAShB,EAAO,MAAM,EAC7C,QAAWP,KAAaP,EAAO,gBAC3B,QAASoE,EAAY,EAAGA,EAAY7D,EAAU,KAAM6D,IAAa,CAC7D,IAAMC,EAAapD,GAAciD,EAAW3D,EAAW6D,CAAS,EAC1DE,EAAcrD,GAAckD,EAAY5D,EAAW6D,CAAS,EAElE,GADa7D,EAAU,OAAS,qBAAwBA,EAAU,OAAS,cAAgB6D,IAAc,GAC7F,CAACxE,GAAwB,IAAIW,EAAU,IAAI,GACnD,GAAI8D,IAAeC,EAAa,MAAM,IAAI,MAAM,sCAAsC/D,EAAU,IAAI,iBAAiB,OAIrHgE,GAAezC,EAAYvB,EAAW6D,EAAWH,IAAa,IACzDI,EAAaC,GAAe,EAAID,GAAc,EAAIJ,GAAYK,EAAcL,CAAQ,CAEjG,CAEJ,OAAOnD,CACX,CAGA,SAASG,GAAcF,EAAgBR,EAA4B6D,EAA2B,CAC1F,IAAMI,EAASjE,EAAU,QAAU,EACnC,OAAQA,EAAU,KAAM,CACxB,IAAK,MAAQ,OAAOQ,EAAK,QAAQyD,EAASJ,CAAS,EACnD,IAAK,MAAQ,OAAOrD,EAAK,SAASyD,EAASJ,CAAS,EACpD,IAAK,MAAQ,OAAOrD,EAAK,SAASyD,EAASJ,EAAY,EAAG,EAAI,EAC9D,IAAK,MAAQ,OAAOrD,EAAK,UAAUyD,EAASJ,EAAY,EAAG,EAAI,EAC/D,IAAK,MAAQ,OAAOrD,EAAK,SAASyD,EAASJ,EAAY,EAAG,EAAI,EAC9D,IAAK,MAAQ,OAAOrD,EAAK,UAAUyD,EAASJ,EAAY,EAAG,EAAI,EAC/D,IAAK,MAAQ,OAAOrD,EAAK,WAAWyD,EAASJ,EAAY,EAAG,EAAI,EAChE,QAAS,MAAM,IAAI,MAAM,0CAA0C7D,EAAU,IAAI,EAAE,CACnF,CACJ,CAGA,SAASgE,GAAexD,EAAgBR,EAA4B6D,EAAmB5B,EAAqB,CACxG,IAAMgC,EAASjE,EAAU,QAAU,EAC7BkE,EAAU,KAAK,MAAMjC,CAAK,EAChC,OAAQjC,EAAU,KAAM,CACxB,IAAK,MAAQQ,EAAK,QAAQyD,EAASJ,EAAWK,CAAO,EAAG,MACxD,IAAK,MAAQ1D,EAAK,SAASyD,EAASJ,EAAWK,CAAO,EAAG,MACzD,IAAK,MAAQ1D,EAAK,SAASyD,EAASJ,EAAY,EAAGK,EAAS,EAAI,EAAG,MACnE,IAAK,MAAQ1D,EAAK,UAAUyD,EAASJ,EAAY,EAAGK,EAAS,EAAI,EAAG,MACpE,IAAK,MAAQ1D,EAAK,SAASyD,EAASJ,EAAY,EAAGK,EAAS,EAAI,EAAG,MACnE,IAAK,MAAQ1D,EAAK,UAAUyD,EAASJ,EAAY,EAAGK,EAAS,EAAI,EAAG,MACpE,IAAK,MAAQ1D,EAAK,WAAWyD,EAASJ,EAAY,EAAG5B,EAAO,EAAI,EAAG,MACnE,QAAS,MAAM,IAAI,MAAM,0CAA0CjC,EAAU,IAAI,EAAE,CACnF,CACJ,CCvHO,SAASmE,GAAiCC,EAAyC,CACtF,GAAI,CAACA,GAAS,OAAOA,GAAU,UAAY,EAAE,SAAUA,IACnD,CAAC,CAAC,cAAe,SAAU,kBAAmB,WAAY,cAAc,EAAE,SAAS,OAAOA,EAAM,IAAI,CAAC,EACrG,MAAM,IAAI,MAAM,wFAAwF,EAE5G,IAAMC,EAAiB,mBAAoBD,EAAQA,EAAM,eAAiB,EACpEE,EAAwB,0BAA2BF,EAAQA,EAAM,sBAAwB,MACzFG,EAAoB,sBAAuBH,EAAQA,EAAM,kBAAoB,OAC7EI,EAAuB,yBAA0BJ,EAAQA,EAAM,qBAAuB,GACtFK,EAAiB,mBAAoBL,EAAQA,EAAM,eAAiB,GAC1E,GAAI,OAAOK,GAAmB,UAAW,MAAM,IAAI,MAAM,0CAA0C,EACnG,GAAI,OAAOD,GAAyB,UAAW,MAAM,IAAI,MAAM,6CAA6C,EAC5G,GAAID,IAAsB,SAAc,OAAOA,GAAsB,UAAY,CAAC,OAAO,SAASA,CAAiB,GAAKA,GAAqB,GACzI,MAAM,IAAI,MAAM,2DAA2D,EAE/E,GAAI,OAAOF,GAAmB,UAAY,CAAC,OAAO,SAASA,CAAc,GAAKA,EAAiB,GAAKA,EAAiB,IACjH,OAAOC,GAA0B,UAAY,CAAC,OAAO,cAAcA,CAAqB,GACxFA,EAAwB,GAAKA,EAAwB,OACrD,MAAM,IAAI,MAAM,kFAAkF,EAEtG,IAAMI,EAAON,EAAM,KACnB,GAAIM,IAAS,eAAiBA,IAAS,UAAYA,IAAS,mBACxDA,IAAS,YAAcA,IAAS,eAAgB,MAAM,IAAI,MAAM,wBAAwB,EAC5F,MAAO,CAAC,KAAAA,EAAM,eAAAL,EAAgB,sBAAAC,EAAuB,GAAIC,IAAsB,OAAY,CAAC,EAAI,CAAC,kBAAAA,CAAiB,EAC9G,GAAIC,EAAuB,CAAC,qBAAsB,EAAI,EAAI,CAAC,EAAI,GAAIC,EAAiB,CAAC,eAAgB,EAAI,EAAI,CAAC,CAAE,CACxH,CCnLO,IAAME,GAAyB,IAAM,QAGrC,SAASC,GAA8BC,EAAgE,CAC1GC,GAAiC,CAAC,KAAAD,CAAI,CAAC,EACvC,IAAME,EAAaF,IAAS,cAAgB,yBACxCA,IAAS,SAAW,2DAChBA,IAAS,YAAcA,IAAS,eAAiB,mCAC7C,wCACNG,EAAWH,IAAS,WAAa,eAAiB,aACxD,MAAO,CAAC,KAAM,iBAAiBG,CAAQ,GAAI,GAAI,GAAGD,CAAU,IAAIC,CAAQ,WAAW,CACvF,CCXO,SAASC,GAAqBC,EACjCC,EAAiCC,EAA4D,CAC7F,IAAMC,EAAcF,EAAK,CAAC,EAAIC,EAAM,CAAC,EAAIA,EAAM,CAAC,EAAID,EAAK,CAAC,EACpDG,EAAY,KAAK,MAAM,GAAGH,CAAI,EAAI,KAAK,MAAM,GAAGC,CAAK,EAC3D,GAAI,CAAC,CAAC,GAAGF,EAAQ,GAAGC,EAAM,GAAGC,CAAK,EAAE,MAAM,OAAO,QAAQ,GAAKE,IAAc,GACxE,KAAK,IAAID,CAAW,GAAKC,EAAY,MAAO,MAAM,IAAI,MAAM,iEAAiE,EACjI,IAAMC,EAAwC,EACzCH,EAAM,CAAC,EAAIF,EAAO,CAAC,EAAIC,EAAK,CAAC,EAAID,EAAO,CAAC,GAAKG,GAC9CF,EAAK,CAAC,EAAID,EAAO,CAAC,EAAIE,EAAM,CAAC,EAAIF,EAAO,CAAC,GAAKG,EAC/CH,EAAO,CAAC,EAAIM,EAChB,EACMC,EAAS,KAAK,MAAM,GAAGF,CAAW,EACxC,GAAI,CAAC,OAAO,SAASE,CAAM,GAAKA,IAAW,EAAG,MAAM,IAAI,MAAM,qDAAqD,EACnH,MAAO,CAACF,EAAY,CAAC,EAAIE,EAAQF,EAAY,CAAC,EAAIE,EAAQF,EAAY,CAAC,EAAIE,CAAM,CACrF,CCEO,IAAMC,GAAN,KAAoC,CAavC,YAA6BC,EAAW,GAAK,KAAO,KAAuBC,EAAa,GAAI,CAA/D,cAAAD,EAA8C,gBAAAC,EACvE,GAAI,CAAC,OAAO,cAAcD,CAAQ,GAAKA,EAAW,GAC9C,CAAC,OAAO,cAAcC,CAAU,GAAKA,EAAa,EAClD,MAAM,IAAI,WAAW,kEAAkE,CAE/F,CAL6B,SAA8C,WAX1D,QAA8B,CAAC,EAExC,MAAQ,EAER,KAAO,EAEP,OAAS,EAET,MAAQ,EAWhB,YAAYC,EAAkBC,EAAsBC,EAChDC,EAA6D,CAE7D,OADe,KAAK,KAAKH,EAAUC,EAAUC,CAAO,GACnC,KAAK,OAAOF,EAAUC,EAAUC,EAASC,EAAQ,CAAC,CACvE,CAGA,MAAM,iBAAiBH,EAAkBC,EAAsBC,EAC3DC,EAA+E,CAC/E,IAAMC,EAAS,KAAK,KAAKJ,EAAUC,EAAUC,CAAO,EACpD,GAAIE,EAAQ,OAAOA,EACnB,IAAMC,EAAQ,KAAK,MACbC,EAASL,EAAS,MAAM,EACxBM,EAAWL,IAAY,GAAQ,GAAQA,EAAQ,MAAM,EACrDM,EAAS,MAAML,EAAQ,EAC7B,OAAOE,IAAU,KAAK,MAAQ,KAAK,OAAOL,EAAUM,EAAQC,EAAUC,CAAM,EAAIA,CACpF,CAGQ,KAAKR,EAAkBC,EAAsBC,EAA+E,CAChI,IAAMO,EAAM,GAAGT,CAAQ,IAAIU,GAAUT,CAAQ,CAAC,IAAIC,IAAY,GAAQ,SAAWQ,GAAUC,GAAQT,CAAO,CAAC,CAAC,GACtGU,EAAQ,KAAK,QAAQ,UAAUC,GAASA,EAAM,MAAQJ,GAAOK,GAAWD,EAAM,OAAQZ,CAAQ,IAC/FY,EAAM,WAAa,IAASX,IAAY,GAAQW,EAAM,WAAaX,EAChEW,EAAM,SAAS,cAAgBX,EAAQ,aAAeY,GAAWH,GAAQE,EAAM,QAAQ,EAAGF,GAAQT,CAAO,CAAC,EAAE,EACpH,GAAIU,GAAS,EAAG,CACZ,GAAM,CAACC,CAAK,EAAI,KAAK,QAAQ,OAAOD,EAAO,CAAC,EAC5C,YAAK,QAAQ,KAAKC,CAAK,EACvB,KAAK,OACEA,EAAM,MACjB,CACA,KAAK,QAET,CAGQ,OAAOb,EAAkBC,EAAsBC,EACnDa,EAAwD,CACxD,IAAMN,EAAM,GAAGT,CAAQ,IAAIU,GAAUT,CAAQ,CAAC,IAAIC,IAAY,GAAQ,SAAWQ,GAAUC,GAAQT,CAAO,CAAC,CAAC,GAEtGc,EAAW,KAAK,QAAQ,KAAKH,GAASA,EAAM,MAAQJ,GAAOK,GAAWD,EAAM,OAAQZ,CAAQ,IAC7FY,EAAM,WAAa,IAASX,IAAY,GAAQW,EAAM,WAAaX,EAChEW,EAAM,SAAS,cAAgBX,EAAQ,aAAeY,GAAWH,GAAQE,EAAM,QAAQ,EAAGF,GAAQT,CAAO,CAAC,EAAE,EACpH,GAAIc,EAAU,OAAOA,EAAS,OAC9B,IAAMC,EAAQhB,EAAS,YAAcC,IAAY,GAAQ,EAAIA,EAAQ,YACjEa,EAAS,SAAS,WAAaA,EAAS,QAAQ,WACpD,GAAI,KAAK,WAAa,GAAKE,GAAS,KAAK,SAAU,CAC/C,KAAO,KAAK,QAAQ,QAAU,KAAK,YAAc,KAAK,MAAQA,EAAQ,KAAK,UACvE,KAAK,OAAS,KAAK,QAAQ,MAAM,EAAG,MAGxC,IAAMT,EAAS,CAAC,SAAUO,EAAS,SAAS,MAAM,EAAG,QAASA,EAAS,QAAQ,MAAM,CAAC,EACtF,YAAK,QAAQ,KAAK,CAAC,IAAAN,EAAK,OAAQR,EAAS,MAAM,EAAG,SAAUC,IAAY,GAAQ,GAAQA,EAAQ,MAAM,EAAG,OAAAM,EAAQ,MAAAS,CAAK,CAAC,EACvH,KAAK,OAASA,EACPT,CACX,CACA,OAAOO,CACX,CAGA,eAAgF,CAC5E,MAAO,CAAC,QAAS,KAAK,QAAQ,OAAQ,MAAO,KAAK,MAAO,KAAM,KAAK,KAAM,OAAQ,KAAK,MAAM,CACjG,CAGA,OAAc,CACV,KAAK,QACL,KAAK,QAAQ,OAAS,EACtB,KAAK,MAAQ,KAAK,KAAO,KAAK,OAAS,CAC3C,CACJ,EAGA,SAASJ,GAAQO,EAA+C,CAC5D,OAAO,IAAI,WAAWA,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,CAC7E,CAGA,SAASR,GAAUQ,EAA4B,CAC3C,IAAIC,EAAO,WACX,QAAWC,KAASF,EAAQC,EAAO,KAAK,KAAKA,EAAOC,EAAO,QAAQ,EACnE,OAAOD,IAAS,CACpB,CAGA,SAASL,GAAWO,EAAmBC,EAA6B,CAChE,GAAID,EAAM,SAAWC,EAAO,OAAQ,MAAO,GAC3C,QAASV,EAAQ,EAAGA,EAAQS,EAAM,OAAQT,IAAS,GAAIS,EAAMT,CAAK,IAAMU,EAAOV,CAAK,EAAG,MAAO,GAC9F,MAAO,EACX,CC9HA,IAAMW,GAAmB,KAAK,GAAK,QAG5B,SAASC,GAAyBC,EAA8F,CACnI,GAAIA,IAAS,SAAU,CACnB,IAAMC,EAAoBC,GAAqB,QAAU,KAAK,MAAM,KAAK,IAAIA,EAAW,KAAK,GAAK,GAAG,CAAC,EACtG,MAAO,CAAC,KAAO,IAAMJ,GAAkBG,EAAiB,CAAC,EACrD,IAAM,IAAMH,GAAkBG,EAAiB,EAAE,CAAC,CAC1D,CACA,MAAO,CAAC,CAACH,GAAkB,CAACA,GAAkBA,GAAkBA,EAAgB,CACpF,CAGO,SAASK,GAAkBC,EAAqBC,EACnDC,EAA+DC,EAA0C,CACzG,GAAM,CAAC,OAAAC,EAAQ,KAAAC,CAAI,EAAIJ,EACjBK,EAAgB,KAAO,GAAKD,EAAK,OAAO,GAAK,EAAIX,IACjDa,EAASZ,GAAyBM,EAAQ,WAAW,IAAI,EACzDO,EAAS,EAAED,EAAO,CAAC,EAAIF,EAAK,IAAI,GAAKC,GAAgBC,EAAO,CAAC,EAAIF,EAAK,IAAI,GAAKC,GAChFC,EAAO,CAAC,EAAIF,EAAK,IAAI,GAAKC,GAAgBC,EAAO,CAAC,EAAIF,EAAK,IAAI,GAAKC,CAAa,EAChFG,EAAwB,CAAC,EACzBC,EAA2C,CAAC,EAClD,QAASC,EAAS,EAAGA,EAASX,EAAK,SAAS,WAAYW,GAAUP,EAAO,OAAQ,CAC7E,IAAMQ,EAASZ,EAAK,SAAS,SAASW,EAAQA,EAASP,EAAO,MAAM,EACpEK,EAAQ,KAAKG,CAAM,EACnBF,EAAU,KAAKR,EAAa,IAAI,SAASU,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,CAAC,CAAC,CAClG,CACA,IAAMC,EAAgBJ,EAAQ,OACxBK,EAAUC,GAAkBL,EAAUK,CAAK,EAAE,CAAC,GAAKP,EAAO,CAAC,GAAKE,EAAUK,CAAK,EAAE,CAAC,GAAKP,EAAO,CAAC,GACjGE,EAAUK,CAAK,EAAE,CAAC,GAAKP,EAAO,CAAC,GAAKE,EAAUK,CAAK,EAAE,CAAC,GAAKP,EAAO,CAAC,EACvE,GAAIR,EAAK,QAAQ,MAAMc,CAAM,EAAG,OAAOd,EACvC,IAAMgB,EAAgB,IAAI,IACpBC,EAAsB,CAAC,EACvBC,EAAiBd,EAAO,gBAAgB,KAAKe,GAAaA,EAAU,OAAS,YAAY,GAAG,OAC5FC,EAAUC,GAAmB,CAC/B,GAAIH,IAAmB,OAAW,MAAM,IAAI,MAAM,6CAA6C,EAC/F,OAAO,IAAI,SAAST,EAAQY,CAAM,EAAE,OAAQZ,EAAQY,CAAM,EAAE,WAAYjB,EAAO,MAAM,EAAE,SAASc,EAAiB,EAAG,EAAI,CAC5H,EACA,QAASP,EAAS,EAAGA,EAASX,EAAK,QAAQ,OAAQW,GAAU,EAAG,CAC5D,IAAIW,EAAU,MAAM,KAAKtB,EAAK,QAAQ,SAASW,EAAQA,EAAS,CAAC,CAAC,EAGlE,GAAI,CAAAH,EAAO,KAAK,CAACe,EAAUC,IAAUF,EAAQ,MAAMP,IAC9CL,EAAUK,CAAK,EAAES,EAAQ,CAAC,EAAID,IAAaC,EAAQ,EAAI,EAAI,IAAM,CAAC,CAAC,EACxE,SAASA,EAAQ,EAAGA,EAAQ,GAAKF,EAAQ,OAAQE,IAAS,CACtD,IAAMC,EAAOD,EAAQ,EACfD,EAAWf,EAAOgB,CAAK,EACvBE,EAAYX,IAAmBL,EAAUK,CAAK,EAAEU,CAAI,EAAIF,IAAaC,EAAQ,EAAI,EAAI,IACrFG,EAAoB,CAAC,EACvBC,EAAWN,EAAQA,EAAQ,OAAS,CAAC,EACzC,QAAWO,KAAWP,EAAS,CAC3B,IAAMQ,EAAmBJ,EAASE,CAAQ,EAAGG,EAAkBL,EAASG,CAAO,EAC/E,GAAKC,GAAoB,GAAQC,GAAmB,EAAI,CACpD,IAAMC,EAAQ,KAAK,IAAIJ,EAAUC,CAAO,EAAGI,EAAS,KAAK,IAAIL,EAAUC,CAAO,EACxEK,EAAM,GAAGV,CAAK,IAAIQ,CAAK,IAAIC,CAAM,GACnCE,EAAenB,EAAc,IAAIkB,CAAG,EACxC,GAAIC,IAAiB,OAAW,CAC5B,IAAMC,EAAWV,EAASM,CAAK,GAAKN,EAASM,CAAK,EAAIN,EAASO,CAAM,GACrE,GAAIG,IAAa,GAAKA,IAAa,EAAGD,EAAeC,IAAa,EAAIJ,EAAQC,MACzE,CACD,GAAIxB,EAAQ,OAASI,GAAiBV,EAClC,MAAM,IAAI,WAAW,gDAAgD,EAEzEgC,EAAe1B,EAAQ,OACvBA,EAAQ,KAAK4B,GAAwB5B,EAAQuB,CAAK,EAAGvB,EAAQwB,CAAM,EAAG7B,EAAQgC,CAAQ,CAAC,EACvF1B,EAAU,KAAKe,IAAS,EAAI,CAACF,EAAUb,EAAUsB,CAAK,EAAE,CAAC,GAAK,EAAII,GAAY1B,EAAUuB,CAAM,EAAE,CAAC,EAAIG,CAAQ,EACzG,CAAC1B,EAAUsB,CAAK,EAAE,CAAC,GAAK,EAAII,GAAY1B,EAAUuB,CAAM,EAAE,CAAC,EAAIG,EAAUb,CAAQ,CAAC,CAC1F,CACAP,EAAc,IAAIkB,EAAKC,CAAY,CACvC,CACIR,EAAQA,EAAQ,OAAS,CAAC,IAAMQ,GAAcR,EAAQ,KAAKQ,CAAY,CAC/E,CACIJ,GAAmB,GAAKJ,EAAQA,EAAQ,OAAS,CAAC,IAAME,GAASF,EAAQ,KAAKE,CAAO,EACzFD,EAAWC,CACf,CACIF,EAAQ,OAAS,GAAKA,EAAQ,CAAC,IAAMA,EAAQA,EAAQ,OAAS,CAAC,GAAGA,EAAQ,IAAI,EAClFL,EAAUK,CACd,CACA,QAASZ,EAAQ,EAAGA,EAAQO,EAAQ,OAAS,EAAGP,IAAS,CACrD,IAAMiB,EAAQtB,EAAUY,EAAQ,CAAC,CAAC,EAAGW,EAASvB,EAAUY,EAAQP,CAAK,CAAC,EAAGuB,EAAQ5B,EAAUY,EAAQP,EAAQ,CAAC,CAAC,EACvGwB,GAAQN,EAAO,CAAC,EAAID,EAAM,CAAC,IAAMM,EAAM,CAAC,EAAIN,EAAM,CAAC,IACpDC,EAAO,CAAC,EAAID,EAAM,CAAC,IAAMM,EAAM,CAAC,EAAIN,EAAM,CAAC,GAE1CQ,EAAWvC,EAAQ,WAAW,gBAAkBA,EAAQ,WAAa,WACrEgC,EAAO,CAAC,EAAID,EAAM,CAAC,IAAMZ,EAAOE,EAAQP,EAAQ,CAAC,CAAC,EAAIK,EAAOE,EAAQ,CAAC,CAAC,IACpEF,EAAOE,EAAQP,CAAK,CAAC,EAAIK,EAAOE,EAAQ,CAAC,CAAC,IAAMgB,EAAM,CAAC,EAAIN,EAAM,CAAC,KAAO,IAC5EC,EAAO,CAAC,EAAID,EAAM,CAAC,IAAMZ,EAAOE,EAAQP,EAAQ,CAAC,CAAC,EAAIK,EAAOE,EAAQ,CAAC,CAAC,IACpEF,EAAOE,EAAQP,CAAK,CAAC,EAAIK,EAAOE,EAAQ,CAAC,CAAC,IAAMgB,EAAM,CAAC,EAAIN,EAAM,CAAC,KAAO,IAC9EO,IAAS,GAAKC,IAAUvB,EAAU,KAAKK,EAAQ,CAAC,EAAGA,EAAQP,CAAK,EAAGO,EAAQP,EAAQ,CAAC,CAAC,CAC7F,EACJ,CAEA,IAAM0B,EAAQ,IAAI,IAClB,QAAW1B,KAASE,EAAgBwB,EAAM,IAAI1B,CAAK,GAAG0B,EAAM,IAAI1B,EAAO0B,EAAM,IAAI,EACjF,IAAMC,EAAW,IAAI,WAAWD,EAAM,KAAOrC,EAAO,MAAM,EAC1D,OAAW,CAACuC,EAAU5B,CAAK,IAAK0B,EAAOC,EAAS,IAAIjC,EAAQkC,CAAQ,EAAG5B,EAAQX,EAAO,MAAM,EAC5F,IAAMwC,EAAUH,EAAM,MAAQ,MAAQ,IAAI,YAAYxB,EAAU,MAAM,EAAI,IAAI,YAAYA,EAAU,MAAM,EAC1G,OAAAA,EAAU,QAAQ,CAACF,EAAOJ,IAAW,CAACiC,EAAQjC,CAAM,EAAI8B,EAAM,IAAI1B,CAAK,CAAG,CAAC,EACpE,CAAC,SAAA2B,EAAU,QAAAE,CAAO,CAC7B,CC9FA,IAAMC,GAAmB,CAAC,CAAC,EAAI,EAAG,EAAI,EAAG,EAAI,CAAC,EAAG,CAAC,GAAK,IAAM,GAAI,EAC7D,CAAC,IAAM,GAAK,GAAI,EAAG,CAAC,IAAM,IAAM,EAAG,CAAC,EAMjC,SAAUC,GAAoBC,EAAqBC,EACtDC,EACAC,EACAC,EAAgC,CAAC,WAAY,EAAG,eAAgB,CAAC,EAAyD,CAC1H,IAAMC,EAAYJ,EAAQ,WAAW,kBACrC,GAAII,IAAc,QAAaL,EAAK,QAAQ,SAAW,EAAG,OAAOA,EACjE,GAAM,CAAC,OAAAM,CAAM,EAAIL,EACXM,EAAgBN,EAAQ,SAAS,WAAaK,EAAO,OACrDE,EAASP,EAAQ,WAAW,uBAAyB,MACvDQ,EAAST,EACPU,EAAOC,GAA6B,MAAM,KAAK,IAAI,WAAWA,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,CAAC,EAAE,KAAK,GAAG,EAC5HC,EAAU,CAACC,EAAiBC,IAA6B,CAC3D,IAAMC,EAAWL,EAAIG,CAAK,EAAGG,EAAYN,EAAII,CAAM,EACnD,OAAOC,EAAWC,EAAY,GAAGD,CAAQ,IAAIC,CAAS,GAAK,GAAGA,CAAS,IAAID,CAAQ,EACvF,EACA,QAASE,EAAY,EAAGA,EAAY,GAAIA,IAAa,CACjD,IAAMC,EAAQ,IAAI,IAClB,QAASC,EAAQ,EAAGA,EAAQV,EAAO,QAAQ,OAAQU,GAAS,EAAG,QAASC,EAAO,EAAGA,EAAO,EAAGA,IAAQ,CAChG,IAAMP,EAAQJ,EAAO,SAAS,SAASA,EAAO,QAAQU,EAAQC,CAAI,EAAId,EAAO,QACxEG,EAAO,QAAQU,EAAQC,CAAI,EAAI,GAAKd,EAAO,MAAM,EAChDe,EAAcZ,EAAO,QAAQU,GAASC,EAAO,GAAK,CAAC,EACnDN,EAASL,EAAO,SAAS,SAASY,EAAcf,EAAO,QAASe,EAAc,GAAKf,EAAO,MAAM,EACtGY,EAAM,IAAIN,EAAQ,IAAI,SAASC,EAAM,OAAQA,EAAM,WAAYA,EAAM,UAAU,EAC3E,IAAI,SAASC,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,CAAC,EAAG,CAACD,EAAOC,CAAM,CAAC,CAC3F,CACA,IAAMQ,EAAwB,CAAC,EAC/B,OAAW,CAACT,EAAOC,CAAM,IAAKI,EAAM,OAAO,EAAG,CAC1C,IAAMK,EAAQpB,EAAa,IAAI,SAASU,EAAM,OAAQA,EAAM,WAAYA,EAAM,UAAU,CAAC,EACnFW,EAAMrB,EAAa,IAAI,SAASW,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,CAAC,EAC1F,QAAWW,IAAY,CAAC,EAAG,IAAM,GAAK,IAAM,CAAC,EAAG,CAC5C,IAAMC,EAASD,IAAa,EAAIZ,EAAQY,IAAa,EAAIX,EAASa,GAAwBd,EAAOC,EAAQR,EAAQmB,CAAQ,EACnHG,EAAO,IAAI,SAASF,EAAO,OAAQA,EAAO,WAAYA,EAAO,UAAU,EACvEG,EAAS1B,EAAayB,CAAI,EAGhCN,EAAY,KAAK,GAAGpB,EAAmB0B,EAAM,CAACL,EAAM,CAAC,GAAK,EAAIE,GAAYD,EAAI,CAAC,EAAIC,EAAWI,EAAO,CAAC,EAClGN,EAAM,CAAC,GAAK,EAAIE,GAAYD,EAAI,CAAC,EAAIC,EAAWI,EAAO,CAAC,CAAC,CAAC,CAAC,CACnE,CACJ,CACA,IAAMC,EAAsBR,EAAY,OAGlCS,EAAmB9B,EAAQ,WAAa,QAC9C,GAAI8B,EAAkB,QAASZ,EAAQ,EAAGA,EAAQV,EAAO,QAAQ,OAAQU,GAAS,EAAG,CACjF,IAAMa,EAAU,CAAC,EAAG,EAAG,CAAC,EAAE,IAAIC,GAAaxB,EAAO,SAAS,SACvDA,EAAO,QAAQU,EAAQc,CAAS,EAAI3B,EAAO,QAASG,EAAO,QAAQU,EAAQc,CAAS,EAAI,GAAK3B,EAAO,MAAM,CAAC,EACzG4B,EAASF,EAAQ,IAAIG,GAAUhC,EAAa,IAAI,SAASgC,EAAO,OAAQA,EAAO,WAAY7B,EAAO,MAAM,CAAC,CAAC,EAChH,QAAW8B,KAAUJ,EAASV,EAAY,KAAK,GAAGpB,EAAmB,IAAI,SAASkC,EAAO,OAAQA,EAAO,WAAY9B,EAAO,MAAM,CAAC,CAAC,EACnI,QAAW+B,KAAWvC,GAAkB,CACpC,IAAM4B,EAASY,GAAoBN,EAAS/B,EAASoC,CAAO,EACtDT,EAAO,IAAI,SAASF,EAAO,OAAQA,EAAO,WAAYpB,EAAO,MAAM,EACnEuB,EAAS1B,EAAayB,CAAI,EAChCN,EAAY,KAAK,GAAGpB,EAAmB0B,EAAM,CACzCM,EAAO,OAAO,CAACK,EAAKC,EAAOP,IAAcM,EAAMC,EAAM,CAAC,EAAIH,EAAQJ,CAAS,EAAG,CAAC,EAAIJ,EAAO,CAAC,EAC3FK,EAAO,OAAO,CAACK,EAAKC,EAAOP,IAAcM,EAAMC,EAAM,CAAC,EAAIH,EAAQJ,CAAS,EAAG,CAAC,EAAIJ,EAAO,CAAC,CAAC,CAAC,CAAC,CACtG,CACJ,CACA,IAAMY,EAAY,MAAM,IAAI,aAAanB,CAAW,EACpD,GAAI,EAAEmB,aAAqB,eAAiBA,EAAU,SAAWnB,EAAY,QAAU,CAACmB,EAAU,MAAM,OAAO,QAAQ,EACnH,MAAM,IAAI,MAAM,iEAAiE,EAErF,IAAMC,EAAQ,IAAI,IACdC,EAAS,EACb,QAAWvB,KAAQF,EAAM,KAAK,EAAG,CAC7B,IAAM0B,EAAcH,EAAUE,EAAS,CAAC,EAAIF,EAAUE,CAAM,EACtDE,EAAcJ,EAAUE,EAAS,CAAC,EAAIF,EAAUE,EAAS,CAAC,EAC1DG,EAAgBF,GAAe,EAAIC,GAAe,EACxD,QAASnB,EAAS,EAAGA,EAAS,EAAGA,IAAU,CAGvC,IAAMD,EAAWxB,EAAQ,WAAa,QAAUyB,EAAS,EAAIoB,IAAkB,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,IACtGL,EAAUE,EAASjB,EAAS,CAAC,EAAIe,EAAUE,CAAM,GAAKC,GACvDH,EAAUE,EAASjB,EAAS,EAAI,CAAC,EAAIe,EAAUE,EAAS,CAAC,GAAKE,GAAeC,CAAa,CAAC,EAIlF,KAAK,MAAML,EAAUE,EAASjB,EAAS,CAAC,GACjDe,EAAUE,CAAM,GAAK,EAAIlB,GAAYgB,EAAUE,EAAS,CAAC,EAAIlB,GAClEgB,EAAUE,EAASjB,EAAS,EAAI,CAAC,GAC5Be,EAAUE,EAAS,CAAC,GAAK,EAAIlB,GAAYgB,EAAUE,EAAS,CAAC,EAAIlB,EAAS,EACnEpB,GAAWqC,EAAM,IAAItB,CAAI,CACzC,CACAuB,GAAU,EACd,CACA,GAAID,EAAM,OAAS,EAAG,CAClB,IAAMK,EAAY,IAAI,IAEtB,GADAJ,EAASb,EACLC,EAAkB,QAASZ,EAAQ,EAAGA,EAAQV,EAAO,QAAQ,OAAQU,GAAS,EAAG,CACjF,OAAW,CAACO,EAAQW,CAAO,IAAKvC,GAAiB,QAAQ,EAAG,CACxD,IAAMkD,EAAW,CAAC,EAAG,CAAC,EAAE,IAAIf,GAAaI,EAAQ,OAAO,CAACE,EAAKU,EAAQb,IAClEG,EAAMU,EAASR,EAAUE,EAASP,EAAS,EAAIH,CAAS,EAAG,CAAC,CAAC,EAC3DiB,EAASP,EAAS,EAAIjB,EAAS,EACjC,KAAK,MAAMe,EAAUS,CAAM,EAAIF,EAAS,CAAC,EAAGP,EAAUS,EAAS,CAAC,EAAIF,EAAS,CAAC,CAAC,EAAI3C,GACnF0C,EAAU,IAAI5B,CAAK,CAE3B,CACAwB,GAAU,EACd,CACA,GAAII,EAAU,OAAS,EAAG,OAAOtC,EACjCA,EAAS0C,GAAuB1C,EAAQR,EAAS8C,EAAW5C,EACxDK,GAAUC,EAAO,SAAS,WAAaH,EAAO,OAASC,EAAc,EACzEH,EAAK,iBACL,QACJ,CACA,IAAMgD,EAAUC,GAAgB5C,EAAO,SAAUA,EAAO,QAASH,EAAQ,CAAC,SAAUL,EAAQ,KAAK,OAAO,EACpG,eAAgB,IAAK,sBAAuBO,GAAUC,EAAO,SAAS,WAAaH,EAAO,OAASC,GACnG,uBAAwBwB,EACxB,aAAcuB,GAAyBrD,CAAO,EAC9C,YAAaE,EAAc,gBAAiB,CAACU,EAAOC,IAAW4B,EAAM,IAAI9B,EAAQC,EAAOC,CAAM,CAAC,CAAC,CAAC,EACrG,GAAIsC,EAAQ,SAAS,aAAe3C,EAAO,SAAS,WAChD,MAAM,IAAI,WAAW,+DAA+D,EAExFA,EAAS2C,EACThD,EAAK,YACT,CACA,MAAM,IAAI,WAAW,gDAAgD,CACzE,CAGA,SAASkC,GAAoBN,EAAuB/B,EAAgCoC,EAAwC,CACxH,OAAOV,GAAwBA,GAAwBK,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAG/B,EAAQ,OACnFoC,EAAQ,CAAC,GAAKA,EAAQ,CAAC,EAAIA,EAAQ,CAAC,EAAE,EAAGL,EAAQ,CAAC,EAAG/B,EAAQ,OAAQoC,EAAQ,CAAC,CAAC,CACvF,CAGA,SAASc,GAAuBnD,EAAqBC,EAAgCsD,EACjFpD,EAAsDqD,EAAwC,CAC9F,GAAID,EAAS,KAAOC,EAAiB,MAAM,IAAI,WAAW,sDAAsD,EAChH,GAAM,CAAC,OAAAC,CAAM,EAAIxD,EAAQ,OACnByD,EAAc1D,EAAK,SAAS,WAAayD,EACzCE,EAAW,IAAI,WAAW3D,EAAK,SAAS,WAAauD,EAAS,KAAOE,CAAM,EACjFE,EAAS,IAAI3D,EAAK,QAAQ,EAC1B,IAAM4D,EAAoB,CAAC,EACvBC,EAAW,EACf,QAAS1C,EAAQ,EAAGA,EAAQnB,EAAK,QAAQ,OAAQmB,GAAS,EAAG,CACzD,IAAM2C,EAAW,CAAC9D,EAAK,QAAQmB,CAAK,EAAGnB,EAAK,QAAQmB,EAAQ,CAAC,EAAGnB,EAAK,QAAQmB,EAAQ,CAAC,CAAC,EACvF,GAAI,CAACoC,EAAS,IAAIpC,CAAK,EAAG,CAACyC,EAAQ,KAAK,GAAGE,CAAQ,EAAG,QAAS,CAC/D,IAAM9B,EAAU8B,EAAS,IAAInD,GAAUX,EAAK,SAAS,SAASW,EAAS8C,GAAS9C,EAAS,GAAK8C,CAAM,CAAC,EAC/FM,EAASzB,GAAoBN,EAAS/B,EAASH,GAAiB,CAAC,CAAC,EAClEkE,EAAgBV,GAAyBrD,CAAO,EAChDgE,EAAoBtD,GAAiD,CACvE,IAAMiB,EAAO,IAAI,SAASjB,EAAO,OAAQA,EAAO,WAAY8C,CAAM,EAClE,MAAO,CAAC,GAAGtD,EAAayB,CAAI,EAAGoC,IAAgBpC,CAAI,GAAK,CAAC,CAC7D,EACMsC,EAAYlC,EAAQ,IAAIiC,CAAgB,EACxCE,EAAOC,GAAoBF,CAAS,EACpCG,EAAWC,GAAkE,CAACA,EAASH,EAAK,CAAC,CAAC,EAAGG,EAASH,EAAK,CAAC,CAAC,CAAC,EAClH3B,EAAQ6B,EAAQJ,EAAiBF,CAAM,CAAC,EACxC7B,EAASgC,EAAU,IAAIG,CAAO,EAC9BE,EAAQ,CAAC1D,EAAiBC,EAAkB0D,KAC7C1D,EAAO,CAAC,EAAID,EAAM,CAAC,IAAM2D,EAAM,CAAC,EAAI3D,EAAM,CAAC,IAAMC,EAAO,CAAC,EAAID,EAAM,CAAC,IAAM2D,EAAM,CAAC,EAAI3D,EAAM,CAAC,GAC3F4D,EAAcF,EAAMrC,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EACzD,GAAIA,EAAO,KAAK,CAACX,EAAOH,IAASmD,EAAMhD,EAAOW,GAAQd,EAAO,GAAK,CAAC,EAAGoB,CAAK,EAAIiC,GAAe,CAAC,EAC3F,MAAM,IAAI,WAAW,kEAAkE,EAE3F,IAAMC,EAAchB,EAAcG,IAClCF,EAAS,IAAII,EAAQW,EAAcjB,CAAM,EACzCG,EAAQ,KAAKE,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAGY,EAAaZ,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAGY,EAC1EZ,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAGY,CAAW,CAC7C,CACA,MAAO,CAAC,SAAAf,EAAU,QAASD,EAAcH,EAAS,MAAQ,MAAQ,IAAI,YAAYK,CAAO,EAAI,IAAI,YAAYA,CAAO,CAAC,CACzH,CAGA,SAASN,GAAyBrD,EAA4E,CAC1G,GAAI,CAACA,EAAQ,WAAW,gBAAkBA,EAAQ,WAAa,QAAS,OACxE,IAAMqE,EAAWrE,EAAQ,OAAO,gBAAgB,KAAK0E,GAAaA,EAAU,OAAS,YAAY,EACjG,GAAI,CAACL,GAAYA,EAAS,SAAW,QAAaA,EAAS,KAAO,EAAG,MAAM,IAAI,MAAM,gDAAgD,EACrI,IAAM3B,EAAS2B,EAAS,OACxB,OAAO3D,GAAUA,EAAO,SAASgC,EAAS,EAAG,EAAI,CACrD,CCtLO,SAAUiC,GAAkBC,EAAsF,CACrH,GAAM,CAAC,OAAAC,EAAQ,KAAAC,CAAI,EAAIF,EACjBG,EAAWF,EAAO,gBAAgB,KAAKG,GAAaA,EAAU,OAAS,YAAY,EACnFC,EAAYJ,EAAO,gBAAgB,KAAKG,GAAaA,EAAU,OAAS,sBAAsB,EAC9FE,EAAQL,EAAO,gBAAgB,KAAKG,GAAaA,EAAU,OAAS,SAAS,EACnF,GAAI,CAAC,OAAO,cAAcH,EAAO,MAAM,GAAKA,EAAO,QAAU,GAAKD,EAAQ,SAAS,WAAaC,EAAO,QACnG,CAACE,GAAYA,EAAS,OAAS,MAAQA,EAAS,OAAS,GAAKA,EAAS,SAAW,QAClFA,EAAS,OAAS,GAAKA,EAAS,OAAS,EAAIF,EAAO,QACpD,CAACK,GAASA,EAAM,OAAS,MAAQA,EAAM,OAAS,GAAKA,EAAM,SAAW,QACtEA,EAAM,OAAS,GAAKA,EAAM,OAAS,EAAIL,EAAO,QAC9C,CAACI,GAAaA,EAAU,OAAS,MAAQA,EAAU,OAAS,GAAKA,EAAU,SAAW,QACtFA,EAAU,OAAS,GAAKA,EAAU,OAAS,GAAKJ,EAAO,QACvD,CAAC,CAACC,EAAK,IAAI,EAAGA,EAAK,IAAI,CAAC,EAAE,MAAM,OAAO,QAAQ,GAAK,CAAC,OAAO,cAAcA,EAAK,OAAO,CAAC,GACvFA,EAAK,OAAO,EAAI,GAAKA,EAAK,OAAO,EAAI,GAAI,MAAM,IAAI,MAAM,8EAA8E,EAC3I,IAAMK,EAAkBF,EAAU,OAC5BG,EAAiBL,EAAS,OAC1BM,EAAQT,EAAQ,SAAS,WAAaC,EAAO,OAC7CS,EAAUV,EAAQ,UAAY,GAAQ,IAAI,YAAY,MAAM,KAAK,CAAC,OAAQS,CAAK,EAAG,CAACE,EAAGC,IAAUA,CAAK,CAAC,EAAIZ,EAAQ,QAAQ,MAAM,EACtI,GAAIU,EAAQ,OAAS,GAAKA,EAAQ,KAAKE,GAASA,GAASH,CAAK,EAAG,MAAM,IAAI,MAAM,kDAAkD,EACnI,IAAMI,EAAWb,EAAQ,SAAS,MAAM,EAClCc,EAAO,IAAI,SAASD,EAAS,OAAQA,EAAS,WAAYA,EAAS,UAAU,EAC7EE,EAAgB,KAAO,GAAKb,EAAK,OAAO,GAAK,EAAI,KAAK,GAAK,SAC3Dc,EAASC,GAAyBjB,EAAQ,WAAW,IAAI,EACzDkB,EAAwB,CAAC,EACzBC,EAAU,IAAI,IACdC,EAA0B,CAAC,EACjC,QAASR,EAAQ,EAAGA,EAAQH,EAAOG,IAAS,CACxC,IAAMS,EAAST,EAAQX,EAAO,OAC9B,GAAIa,EAAK,SAASO,EAASlB,EAAS,OAAS,EAAG,EAAI,IAAM,GAAK,CAACH,EAAQ,WAAW,eAC/E,MAAM,IAAI,MAAM,2EAA2E,EAE/F,IAAMsB,EAAIpB,EAAK,IAAI,EAAIY,EAAK,SAASO,EAASlB,EAAS,OAAQ,EAAI,EAAIY,EACjEQ,EAAIrB,EAAK,IAAI,EAAIY,EAAK,SAASO,EAASlB,EAAS,OAAS,EAAG,EAAI,EAAIY,EAC3E,GAAIO,EAAIN,EAAO,CAAC,GAAKM,EAAIN,EAAO,CAAC,GAAKO,EAAIP,EAAO,CAAC,GAAKO,EAAIP,EAAO,CAAC,EAAG,CAClEF,EAAK,SAASO,EAASf,EAAM,OAAS,EAAG,EAAG,EAAI,EAChD,QAASkB,EAAY,EAAGA,EAAY,EAAGA,IAAaV,EAAK,WAAWO,EAAShB,EAAU,OAASmB,EAAY,EAAG,EAAG,EAAI,EACtHJ,EAAc,KAAK,EAAE,EACrB,QACJ,CACA,IAAMK,EAAM,GAAGH,CAAC,IAAIC,CAAC,GACjBG,EAASP,EAAQ,IAAIM,CAAG,EACxBC,IAAW,SACXA,EAASR,EAAY,OAAS,EAC9BC,EAAQ,IAAIM,EAAKC,CAAM,EACvBR,EAAY,KAAKI,EAAI,QAAU,IAAM,KAAK,IACrC,EAAI,KAAK,KAAK,KAAK,IAAIC,EAAI,OAAO,CAAC,EAAI,KAAK,GAAK,GAAK,IAAM,KAAK,EAAE,GAE5EH,EAAc,KAAKM,CAAM,CAC7B,CACA,IAAMC,EAAYT,EAAY,OAAS,MAAM,IAAI,aAAaA,CAAW,EAAI,IAAI,aACjF,GAAI,EAAES,aAAqB,eAAiBA,EAAU,SAAWT,EAAY,QACzE,CAACS,EAAU,MAAMC,GAAS,OAAO,SAASA,CAAK,GAAK,KAAK,IAAIA,CAAK,GAAK,oBAAqB,EAC5F,MAAM,IAAI,MAAM,6DAA6D,EAEjF,OAAAR,EAAc,QAAQ,CAACM,EAAQd,IAAU,CACrC,GAAIc,EAAS,EAAG,OAChB,IAAML,EAAST,EAAQX,EAAO,OAASM,EACvCO,EAAK,WAAWO,EAAQM,EAAUD,EAAS,CAAC,EAAG,EAAI,EACnDZ,EAAK,WAAWO,EAAS,EAAGM,EAAUD,EAAS,EAAI,CAAC,EAAG,EAAI,EAC3D,IAAMG,EAASf,EAAK,SAASF,EAAQX,EAAO,OAASO,EAAiB,EAAG,EAAI,EAAI,GACjFM,EAAK,WAAWO,EAAS,EAAGQ,EAASC,GAAwB,EAAI,CACrE,CAAC,EACM,CAAC,SAAAjB,EAAU,QAAAH,CAAO,CAC7B,CCpDA,IAAMqB,GAAgB,QAChBC,GAAa,IAAI,IACjBC,GAAmB,IAAIC,GACzBC,GAAuB,IAAID,GAA8B,GAAK,KAAO,KAAM,EAAE,EAC7EE,GAAuBC,GAA2B,EAGtD,SAASA,IAAuD,CAC5D,MAAO,CAAC,gBAAiB,EAAG,aAAc,EAAG,eAAgB,EAAG,eAAgB,EAC5E,gBAAiB,EAAG,kBAAmB,EAAG,mBAAoB,EAAG,WAAY,EAAG,eAAgB,CAAC,CACzG,CAGO,SAASC,IAAsC,CAClDL,GAAiB,MAAM,EACvBE,GAAqB,MAAM,EAC3BA,GAAuB,IAAID,GAA8B,GAAK,KAAO,KAAM,EAAE,EAC7EF,GAAW,MAAM,EACjBI,GAAuBC,GAA2B,CACtD,CAGO,SAASE,IAA2D,CACvE,MAAO,CAAC,GAAGH,EAAoB,CACnC,CAGO,SAASI,IAA0G,CACtH,IAAMC,EAAmBN,GAAqB,cAAc,EAC5D,MAAO,CAAC,GAAGF,GAAiB,cAAc,EAAG,GAAIQ,EAAiB,OAAS,CAAC,iBAAAA,CAAgB,EAAI,CAAC,CAAE,CACvG,CAGA,SAASC,GAA2BC,EAAwC,CACxE,OAAO,KAAK,UAAU,CAAC,WAAYC,GAAiCD,EAAQ,UAAU,EAClF,SAAUA,EAAQ,SAAU,SAAUA,EAAQ,KAAK,OAAO,EAC1D,IAAK,CAACA,EAAQ,KAAK,IAAI,EAAGA,EAAQ,KAAK,IAAI,CAAC,EAAG,SAAUA,EAAQ,KAAK,WAAa,EACnF,UAAWA,EAAQ,KAAK,QACxB,OAAQA,EAAQ,iBAAmBA,EAAQ,mBAAqB,gBAChE,OAAQA,EAAQ,OAAO,OAAQ,WAAYA,EAAQ,OAAO,gBAAgB,IAAIE,GAC1E,CAACA,EAAU,KAAMA,EAAU,KAAMA,EAAU,KAAMA,EAAU,OAAQA,EAAU,UAAU,CAAC,CAAC,CAAC,CACtG,CAGO,SAASC,GAAuBC,EAAqCC,EAAiE,CACzI,GAAI,CAACD,EAAS,MAAM,OAAO,QAAQ,GAAK,KAAK,IAAIA,EAAS,CAAC,CAAC,EAAI,KAAO,KAAK,IAAIA,EAAS,CAAC,CAAC,EAAI,iBAC3F,MAAM,IAAI,MAAM,8DAA8D,EAElFH,GAAiC,CAAC,KAAAI,CAAI,CAAC,EACvC,IAAIC,EAAYjB,GAAW,IAAIgB,CAAI,EAC9BC,IAGDA,EAAY,IAAIC,GAAoB,CAAC,YAAa,CAACC,GAAYC,GAAiBC,GAAwBC,EAAQ,EAC5G,GAAGC,GAA8BP,CAAI,CAAC,CAAC,EAC3ChB,GAAW,IAAIgB,EAAMC,CAAS,GAElC,IAAMO,EAAYP,EAAU,YAAY,CAACF,EAAS,CAAC,EAAGA,EAAS,CAAC,CAAC,CAAC,EAClE,GAAI,CAACS,EAAU,MAAM,OAAO,QAAQ,EAAG,MAAM,IAAI,MAAM,iDAAiD,EACxG,MAAO,CAACA,EAAU,CAAC,EAAIC,GAAwBD,EAAU,CAAC,EAAIC,GAAwB,CAAC,CAC3F,CAGO,SAASC,GAAmBf,EAA+C,CAC9E,GAAIA,EAAQ,WAAW,qBAAsB,CACzC,IAAMgB,EAASxB,GAAqB,YAAYO,GAA2BC,CAAO,EAAGA,EAAQ,SAAUA,EAAQ,QAC3G,IAAMe,GAAmB,CAAC,GAAGf,EAAS,WAAY,CAAC,GAAGA,EAAQ,WAAY,qBAAsB,EAAK,CAAC,CAAC,CAAC,EAC5G,MAAO,CAAC,SAAUgB,EAAO,SAAS,MAAM,EAAG,QAASA,EAAO,QAAQ,MAAM,CAAC,CAC9E,CACA,IAAMC,EAAO,CAAC,WAAY,EAAG,eAAgB,CAAC,EACxCC,EAAazB,GACnB,GAAI,CACA,IAAM0B,EAAaC,GAAqBpB,EAASiB,CAAI,EACjDI,EAAOF,EAAW,KAAK,EAC3B,KAAO,CAACE,EAAK,MAAM,CACfC,GAAqBD,EAAK,MAAOH,CAAU,EAC3C,IAAMK,EAAYF,EAAK,MAAM,MAAM,EACnC,QAASG,EAAQ,EAAGA,EAAQD,EAAU,OAAQC,GAAS,EAAG,CACtD,IAAMC,EAAQtB,GAAuB,CAACoB,EAAUC,CAAK,EAAGD,EAAUC,EAAQ,CAAC,CAAC,EAAGxB,EAAQ,WAAW,IAAI,EACtGuB,EAAUC,CAAK,EAAIC,EAAM,CAAC,EAAGF,EAAUC,EAAQ,CAAC,EAAIC,EAAM,CAAC,CAC/D,CACAJ,EAAOF,EAAW,KAAKI,CAAS,CACpC,CACA,OAAAG,GAA0B1B,EAASqB,EAAK,MAAOJ,EAAMC,CAAU,EACxDG,EAAK,KAChB,OAASM,EAAO,CACZ,MAAAT,EAAW,eACLS,CACV,CACJ,CAGA,eAAsBC,GAA6B5B,EAAwD,CACvG,GAAIA,EAAQ,kBAAoBA,EAAQ,WAAW,sBAAwBA,EAAQ,mBAAoB,CACnG,IAAMgB,EAAS,MAAMxB,GAAqB,iBAAiBO,GAA2BC,CAAO,EAAGA,EAAQ,SAAUA,EAAQ,QACtH,IAAM4B,GAA6B,CAAC,GAAG5B,EAAS,WAAY,CAAC,GAAGA,EAAQ,WAAY,qBAAsB,EAAK,CAAC,CAAC,CAAC,EACtH,MAAO,CAAC,SAAUgB,EAAO,SAAS,MAAM,EAAG,QAASA,EAAO,QAAQ,MAAM,CAAC,CAC9E,CACA,IAAMC,EAAO,CAAC,WAAY,EAAG,eAAgB,CAAC,EACxCC,EAAazB,GACnB,GAAI,CACA,GAAI,CAACO,EAAQ,iBAAkB,MAAM,IAAI,MAAM,oDAAoD,EACnG,IAAMmB,EAAaC,GAAqBpB,EAASiB,CAAI,EACjDI,EAAOF,EAAW,KAAK,EAC3B,KAAO,CAACE,EAAK,MACTC,GAAqBD,EAAK,MAAOH,CAAU,EAC3CG,EAAOF,EAAW,KAAK,MAAMnB,EAAQ,iBAAiBqB,EAAK,KAAK,CAAC,EAErE,OAAAK,GAA0B1B,EAASqB,EAAK,MAAOJ,EAAMC,CAAU,EACxDG,EAAK,KAChB,OAASM,EAAO,CACZ,MAAAT,EAAW,eACLS,CACV,CACJ,CAGA,SAASL,GAAqBO,EAA2BX,EAA4C,CACjGA,EAAW,oBACXA,EAAW,oBAAsBW,EAAY,OAAS,CAC1D,CAGA,SAASH,GAA0B1B,EAAgCgB,EAAuBC,EACtFC,EAA4C,CAC5CA,EAAW,kBACXA,EAAW,gBAAkBlB,EAAQ,SAAS,WAAaA,EAAQ,OAAO,OAC1EkB,EAAW,gBAAkBF,EAAO,SAAS,WAAahB,EAAQ,OAAO,OACzEkB,EAAW,iBAAmBF,EAAO,QAAQ,OAAS,EACtDE,EAAW,YAAcD,EAAK,WAC9BC,EAAW,gBAAkBD,EAAK,cACtC,CAGA,SAAUG,GAAqBpB,EAAgCiB,EAAqF,CAChJ,IAAMa,EAAa7B,GAAiCD,EAAQ,UAAU,EACtE,GAAIA,EAAQ,WAAa,UAAYA,EAAQ,WAAa,OAAQ,OAAO,MAAO+B,GAAkB/B,CAAO,EACzG,GAAM,CAAC,KAAAgC,EAAM,OAAAC,CAAM,EAAIjC,EACjBkC,EAAgB,KAAO,GAAKF,EAAK,OAAO,GAAK,EAAI,KAAK,GAAK5C,IAC3DgB,EAAW6B,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,YAAY,EACnFW,EAAYoB,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,sBAAsB,EAC9FiC,EAAYF,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,WAAW,EACnFkC,EAAOpC,EAAQ,WAAa,QAC5BqC,EAAgBJ,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,UAAU,EACtFoC,EAAkBL,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,oBAAoB,EACxG,GAAIoC,IAAoBA,EAAgB,OAAS,MAAQA,EAAgB,OAAS,GAC9EA,EAAgB,SAAW,QAAaA,EAAgB,OAAS,GAAKA,EAAgB,OAAS,GAAKL,EAAO,QAC3G,MAAM,IAAI,MAAM,yDAAyD,EAE7E,GAAII,IAAkBA,EAAc,OAAS,MAAQA,EAAc,KAAO,GACtEA,EAAc,SAAW,QAAaA,EAAc,OAAS,GAAKA,EAAc,OAAS,EAAIJ,EAAO,QACpG,MAAM,IAAI,MAAM,iDAAiD,EAErE,IAAMM,EAAWP,EAAK,WAAa,EACnC,GAAI,CAAC5B,GAAYA,EAAS,OAAS,MAAQA,EAAS,OAAS,GAAKA,EAAS,SAAW,QAClF,CAACS,GAAaA,EAAU,OAAS,MAAQA,EAAU,OAAS,GAAKA,EAAU,SAAW,QACtF,CAAC,OAAO,cAAcoB,EAAO,MAAM,GAAKA,EAAO,QAAU,GACzDjC,EAAQ,SAAS,WAAaiC,EAAO,SAAW,GAChD7B,EAAS,OAAS,GAAKA,EAAS,OAAS,EAAI6B,EAAO,QACpDpB,EAAU,OAAS,GAAKA,EAAU,OAAS,GAAKoB,EAAO,QACvD,CAAC,CAACD,EAAK,IAAI,EAAGA,EAAK,IAAI,EAAGE,CAAa,EAAE,MAAM,OAAO,QAAQ,GAAKA,GAAiB,EACpF,MAAM,IAAI,MAAM,yEAAyE,EAE7F,GAAIE,IAAS,CAACD,GAAaA,EAAU,OAAS,MAAQA,EAAU,OAAS,GACrEA,EAAU,SAAW,QAAaA,EAAU,OAAS,GAAKA,EAAU,OAAS,EAAIF,EAAO,QACxF,CAAC,OAAO,SAASM,CAAQ,GAAKA,EAAW,GACzC,MAAM,IAAI,MAAM,kEAAkE,EAEtF,IAAMC,EAAsBJ,EAAOH,EAAO,gBAAgB,OAAO/B,GAC7D,CAAC,WAAY,sBAAsB,EAAE,SAASA,EAAU,IAAI,CAAC,EAAE,IAAIA,GAAa,CAChF,GAAIA,EAAU,OAAS,MAAQA,EAAU,OAAS,GAAKA,EAAU,SAAW,QACxEA,EAAU,OAAS,GAAKA,EAAU,OAAS,EAAI+B,EAAO,OACtD,MAAM,IAAI,MAAM,sDAAsD,EAE1E,OAAO/B,EAAU,MACrB,CAAC,EAAI,CAAC,EACN,OAAW,CAACuC,EAAMC,CAAI,GAAK,CAAC,CAAC,qBAAsB,CAAC,EAAG,CAAC,sBAAuB,CAAC,EAAG,CAAC,qBAAsB,CAAC,CAAC,EAAY,CACpH,IAAMxC,EAAY+B,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAASuC,CAAI,EAClF,GAAIvC,IAAcA,EAAU,OAAS,MAAQA,EAAU,OAASwC,GAAQxC,EAAU,SAAW,QACzFA,EAAU,OAAS,GAAKA,EAAU,OAASwC,EAAO,EAAIT,EAAO,QAC7D,MAAM,IAAI,MAAM,8DAA8D,CAEtF,CACA,IAAMU,EAAS,IAAI,SAAS3C,EAAQ,SAAS,OAAQA,EAAQ,SAAS,WAAYA,EAAQ,SAAS,UAAU,EAC7G,QAAS4C,EAAS,EAAGA,EAASD,EAAO,WAAYC,GAAUX,EAAO,OAAQ,CACtE,IAAMY,EAAeT,EAAOH,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,sBAAsB,GAAG,OAASE,EAAS,OAAS,EAC5I,GAAIyC,IAAiB,QAAaF,EAAO,SAASC,EAASC,EAAc,EAAI,IAAM,IAC9ET,GAAQ,CAACN,EAAW,gBAAiB,MAAM,IAAI,MAAM,4EAA4E,CAC1I,CAGA,IAAMgB,EAAiB1C,EAAS,OAC1B2C,EAAkBZ,GAAW,QAAU,EACvCa,EAAkBf,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,UAAU,EAC1F+C,EAAQ,KAAK,IAAI,EAAG,KAAK,IAAI,GAAIjB,EAAK,SAAWA,EAAK,OAAO,GAAKA,EAAK,OAAO,CAAC,CAAC,EACpFiB,IAAUA,GAAS,EAAI,EAAIA,EAAQ,GAAK,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,GAAIA,EAAQ,GAAK,CAAC,CAAC,EACpF,IAAMC,EAAeC,GAA6B,EAAIA,EAAO,SAASL,EAAiB,EAAG,EAAI,EAAI,MAAQG,EAAQ,IAAO,EACnHG,EAAgBD,GAAuC,CACzDA,EAAO,SAASL,EAAgB,EAAI,GAAKV,GAAQe,EAAO,SAASJ,EAAiB,EAAI,EAAIG,EAAYC,CAAM,GACvGH,GAAiB,SAAW,OAAY,EAAIG,EAAO,SAASH,EAAgB,OAAQ,EAAI,IAAMT,EAAW,GAC9GY,EAAO,SAASL,EAAiB,EAAG,EAAI,GAAKV,GAAQe,EAAO,SAASJ,EAAkB,EAAG,EAAI,EAAIG,EAAYC,CAAM,GAC/GH,GAAiB,SAAW,OAAY,EAAIG,EAAO,SAASH,EAAgB,OAAS,EAAG,EAAI,IAAMT,EAAW,EACtH,EACMc,EAAW,KAAK,UAAU,CAAC,SAAUrD,EAAQ,SAAU,SAAUgC,EAAK,OAAO,EAAG,IAAKA,EAAK,IAAK,SAAAO,EAAU,UAAWP,EAAK,QAC3H,OAAQC,EAAO,OAAQ,WAAYA,EAAO,gBAAgB,IAAI/B,GAC1D,CAACA,EAAU,KAAMA,EAAU,KAAMA,EAAU,KAAMA,EAAU,OAAQA,EAAU,UAAU,CAAC,EAC5F,eAAgB4B,EAAW,eAAgB,sBAAuBA,EAAW,qBAAqB,CAAC,EACjGwB,EAAWhE,GAAiB,YAAY+D,EAAUrD,EAAQ,SAAUA,EAAQ,QAAS,IACvFuD,GAAgBvD,EAAQ,SAAUA,EAAQ,QAASiC,EAAQ,CACvD,SAAUD,EAAK,OAAO,EAAG,eAAgBF,EAAW,eACpD,sBAAuBA,EAAW,sBAClC,GAAIM,EAAO,CAAC,YAAagB,CAAY,EAAI,CAAC,CAC9C,CAAC,CAAC,EACAI,EAAUC,GAAkBH,EAAUtD,EAASoD,EAActB,EAAW,uBACzEwB,EAAS,SAAS,WAAatD,EAAQ,SAAS,YAAciC,EAAO,MAAM,EAE1EyB,EAASC,GAAyB7B,EAAW,IAAI,EACjD8B,EAAqB,CAACT,EAAkBU,EAAS,GAAOC,EAA0C,CAAC,EAAG,CAAC,IAAwB,CACjI,GAAI,CAACC,EAAQC,CAAM,EAAIH,EAAS,CAACV,EAAO,SAASL,EAAgB,EAAI,EAAGK,EAAO,SAASL,EAAiB,EAAG,EAAI,CAAC,EAAIM,EAAaD,CAAM,EACxIY,GAAUD,EAAa,CAAC,EAAGE,GAAUF,EAAa,CAAC,EAEnD,IAAMG,EAAI,KAAK,IAAIP,EAAO,CAAC,EAAG,KAAK,IAAIA,EAAO,CAAC,EAAG1B,EAAK,IAAI,EAAI+B,EAAS7B,CAAa,CAAC,EAChFgC,EAAI,KAAK,IAAIR,EAAO,CAAC,EAAG,KAAK,IAAIA,EAAO,CAAC,EAAG1B,EAAK,IAAI,EAAIgC,EAAS9B,CAAa,CAAC,EAChFiC,EAAY,KAAK,IAAI,KAAM,KAAK,IAAI,IAAKF,EAAI7E,GAAgB,IAAM,KAAK,EAAE,CAAC,EAC3EgF,GAAW,KAAK,IAAI,kBAAmB,KAAK,IAAI,kBACjD,EAAI,KAAK,KAAK,KAAK,IAAIF,EAAI9E,EAAa,CAAC,EAAI,KAAK,GAAK,GAAK,IAAM,KAAK,EAAE,CAAC,EAC/E,MAAO,CAAC+E,EAAWC,EAAQ,CAC/B,EACMC,EAAU,MAAOC,GAAoBd,EAASxD,EAChD,CAACmD,EAAQW,IAAiBF,EAAmBT,EAAQ,GAAOW,CAAY,EAAGV,EAAcnC,CAAI,EAC3FD,EAAS,CAAC,SAAUqD,EAAQ,SAAS,MAAM,EAAG,QAASA,EAAQ,QAAQ,MAAM,CAAC,EAC9ExC,EAAwB,CAAC,EAC/B,QAASe,EAAS,EAAGA,EAAS5B,EAAO,SAAS,WAAY4B,GAAUX,EAAO,OACvEJ,EAAY,KAAK,GAAG+B,EAAmB,IAAI,SAAS5C,EAAO,SAAS,OAAQA,EAAO,SAAS,WAAa4B,EAAQX,EAAO,MAAM,CAAC,CAAC,EAEpI,IAAMsC,EAAStC,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,oBAAoB,EACzFsE,EAAUvC,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,qBAAqB,EAC3FuE,EAASxC,EAAO,gBAAgB,KAAK/B,GAAaA,EAAU,OAAS,oBAAoB,EACzFwE,EAAc1D,EAAO,SAAS,WAAaiB,EAAO,OAGlD0C,EAAgB,IAAI,IAC1B,GAAI,CAACvC,GAAQE,GAAiB,SAAW,QAAaD,GAAe,SAAW,OAC5E,QAASb,EAAQ,EAAGA,EAAQkD,EAAalD,IAAS,CAC9C,IAAM2B,EAAS,IAAI,SAASnC,EAAO,SAAS,OAAQA,EAAO,SAAS,WAAaQ,EAAQS,EAAO,OAAQA,EAAO,MAAM,EACrH,GAAIkB,EAAO,QAAQd,EAAc,MAAM,IAAM,GAAKc,EAAO,QAAQd,EAAc,OAAS,CAAC,IAAM,EAAG,SAClG,IAAMuC,EAAU,CAAC,CAAC,GAAI,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,CAAC,EAAG,CAAC,CAAC,EAAE,IAAId,GACnDF,EAAmBT,EAAQ,GAAO,CAACW,EAAa,CAAC,EAAGA,EAAa,CAAC,CAAC,CAAC,CAAC,EACnEe,EAAgB,KAAK,IAAIjB,EAAmBT,CAAM,EAAE,CAAC,EAAI,KAAK,GAAK,GAAG,EACtE2B,EAAaV,GAAqBhF,GAAgB,KAAK,MAAM,KAAK,IAAIgF,EAAW,KAAK,GAAK,GAAG,CAAC,EACrGO,EAAc,IAAInD,EAAO,CAAC,OAAQK,EAAY,OAC1C,UAAW+C,EAAQ,CAAC,EAAE,CAAC,EAAIA,EAAQ,CAAC,EAAE,CAAC,GAAK,KAAK,GAAK,IAAMxF,GAAgByF,EAC5E,WAAYC,EAAUF,EAAQ,CAAC,EAAE,CAAC,CAAC,EAAIE,EAAUF,EAAQ,CAAC,EAAE,CAAC,CAAC,GAAKC,CAAa,CAAC,EACrF,QAAWE,KAAUH,EAAS/C,EAAY,KAAK,GAAGkD,CAAM,CAC5D,CAEJ,IAAMC,EAAoBnD,EAAY,OAAS,EAC/C,GAAIO,GAAQmC,GAAQ,SAAW,OAAW,QAAS3B,EAAS,EAAGA,EAAS5B,EAAO,SAAS,WAAY4B,GAAUX,EAAO,OACjHJ,EAAY,KAAK,GAAG+B,EAAmB,IAAI,SAAS5C,EAAO,SAAS,OAAQA,EAAO,SAAS,WAAa4B,EAAQX,EAAO,MAAM,EAAG,EAAI,CAAC,EAI1I,GAAIG,GAAQmC,GAAQ,SAAW,QAAaC,GAAS,SAAW,QAAaC,GAAQ,SAAW,OAC5F,QAAS7B,EAAS,EAAGA,EAAS5B,EAAO,SAAS,WAAY4B,GAAUX,EAAO,OAAQ,CAC/E,IAAMkB,EAAS,IAAI,SAASnC,EAAO,SAAS,OAAQA,EAAO,SAAS,WAAa4B,EAAQX,EAAO,MAAM,EACtG,QAASgD,EAAS,EAAGA,EAAS,EAAGA,IAAU,CACvC,IAAMC,EAAU/B,EAAO,WAAWqB,EAAQ,OAASS,EAAS,EAAG,EAAI,EAC7DE,EAAUhC,EAAO,WAAWqB,EAAQ,OAASS,EAAS,EAAI,EAAG,EAAI,EACvE,QAAWG,IAAa,CAAC,GAAI,CAAC,EAAGvD,EAAY,KAAK,GAAG+B,EAAmBT,EAAQ,GAC5E,CAACgC,EAAUC,EAAW,CAACF,EAAUE,CAAS,CAAC,CAAC,CACpD,CACJ,CAEJ,IAAM7D,EAAY,MAAM,IAAI,aAAaM,CAAW,EACpD,GAAI,EAAEN,aAAqB,eAAiBA,EAAU,SAAWM,EAAY,QACzE,CAACN,EAAU,MAAM8D,GAAS,OAAO,SAASA,CAAK,GAAK,KAAK,IAAIA,CAAK,GAAK,oBAAqB,EAC5F,MAAM,IAAI,MAAM,6DAA6D,EAEjF,IAAMC,EAAS,IAAI,SAAStE,EAAO,SAAS,OAAQA,EAAO,SAAS,WAAYA,EAAO,SAAS,UAAU,EAC1G,QAASQ,EAAQ,EAAGA,EAAQkD,EAAalD,IAAS,CAC9C,IAAMoB,EAASpB,EAAQS,EAAO,OAASpB,EAAU,OAKjD,GAJAyE,EAAO,WAAW1C,EAAQrB,EAAUC,EAAQ,CAAC,EAAG,EAAI,EACpD8D,EAAO,WAAW1C,EAAS,EAAGrB,EAAUC,EAAQ,EAAI,CAAC,EAAG,EAAI,EAC5D8D,EAAO,WAAW1C,EAAS,EAAGR,EAAO,EACjCkD,EAAO,SAAS9D,EAAQS,EAAO,OAAS7B,EAAS,OAAS,EAAG,EAAI,EAAI,GAAsBU,GAAwB,EAAI,EACvHwB,GAAiB,SAAW,OAAW,CACvC,IAAMiD,EAAejD,EAAgB,OAC/BkD,EAAenD,GAAe,OAC9B4C,EAAmCO,IAAiB,OAAY,CAAC,EAAG,EAAG,CAAC,EAAI,CAC9EF,EAAO,QAAQ9D,EAAQS,EAAO,OAASuD,CAAY,EAAI,IACvDF,EAAO,QAAQ9D,EAAQS,EAAO,OAASuD,EAAe,CAAC,EAAI,IAC3DF,EAAO,QAAQ9D,EAAQS,EAAO,OAASuD,EAAe,CAAC,EAAI,GAAG,EAC5DT,EAASJ,EAAc,IAAInD,CAAK,EAChCiE,EAAcV,EAASW,GAAqBT,EAC9C,EAAE1D,EAAUwD,EAAO,OAAS,CAAC,EAAIxD,EAAUwD,EAAO,MAAM,GAAKA,EAAO,UAC/DxD,EAAUwD,EAAO,OAAS,CAAC,EAAIxD,EAAUwD,EAAO,OAAS,CAAC,GAAKA,EAAO,QAAQ,EACnF,EAAExD,EAAUwD,EAAO,OAAS,CAAC,EAAIxD,EAAUwD,EAAO,OAAS,CAAC,GAAKA,EAAO,WACnExD,EAAUwD,EAAO,OAAS,CAAC,EAAIxD,EAAUwD,EAAO,OAAS,CAAC,GAAKA,EAAO,SAAS,CAAC,EAAIE,EACvFU,EAAS,KAAK,MAAM,GAAGF,CAAW,EACxC,GAAI,CAAC,OAAO,SAASE,CAAM,GAAKA,IAAW,EAAG,MAAM,IAAI,MAAM,qDAAqD,EACnHF,EAAY,QAAQ,CAACJ,GAAOO,KAAcN,EAAO,WAAW9D,EAAQS,EAAO,OAASsD,EAAeK,GAAY,EAAGP,GAAQM,EAAQ,EAAI,CAAC,CAC3I,CACA,GAAIvD,GAAQmC,GAAQ,SAAW,OAAW,CACtC,IAAMpB,EAAS,IAAI,SAASnC,EAAO,SAAS,OAAQA,EAAO,SAAS,WAAaQ,EAAQS,EAAO,OAAQA,EAAO,MAAM,EAC/G4D,EAAa1C,EAAO,WAAWoB,EAAO,OAAS,GAAI,EAAI,EACzDuB,EAAS,KAAK,MAAM1C,EAAaD,CAAM,EAAE,CAAC,EAAIA,EAAO,SAASL,EAAgB,EAAI,EAClFM,EAAaD,CAAM,EAAE,CAAC,EAAIA,EAAO,SAASL,EAAiB,EAAG,EAAI,CAAC,EAAIP,EAAWsD,EACtF,GAAIA,EAAa,GAAKrB,GAAS,SAAW,QAAaC,GAAQ,SAAW,OAAW,CACjF,IAAMsB,EAAgBvB,EAAQ,OACxBwB,EAAgB,CAAC,EAAG,CAAC,EAAE,IAAIf,IAAU,CAAC9B,EAAO,WAAW4C,EAAgBd,GAAS,EAAG,EAAI,EAC1F9B,EAAO,WAAW4C,EAAgBd,GAAS,EAAI,EAAG,EAAI,CAAC,CAAC,EACtDgB,EAAmB,CAAC,EAAG,CAAC,EAAE,IAAIhB,IAAU,CAC1C,IAAMF,IAAUC,EAAoBN,EAAclD,EAAQ,EAAIyD,GAAS,GAAK,EACtEiB,GAAW3E,EAAUwD,GAAS,CAAC,EAAIxD,EAAUwD,EAAM,EACnDoB,GAAW5E,EAAUwD,GAAS,CAAC,EAAIxD,EAAUwD,GAAS,CAAC,EACvDY,GAAS,KAAK,MAAMO,GAAUC,EAAQ,EAC5C,OAAOR,KAAW,EAAI,CAAC,EAAG,CAAC,EAAI,CAAC,CAACQ,GAAWR,GAAQO,GAAWP,EAAM,CACzE,CAAC,EACKS,GAAYjD,EAAO,WAAWsB,EAAO,OAAQ,EAAI,EACjD4B,GAAclD,EAAO,WAAWsB,EAAO,OAAS,EAAG,EAAI,EACvDtC,GAAY,CAACgB,EAAO,SAASJ,EAAiB,EAAI,EAAGI,EAAO,SAASJ,EAAkB,EAAG,EAAI,CAAC,EAC/FuD,GAAQC,GAAwBpE,GAAWiE,GAAWJ,EAAeC,CAAgB,EACrFO,GAAcD,GAAwB,CACvCvD,GAAiB,SAAW,OAAY,EAAIG,EAAO,SAASH,EAAgB,OAAQ,EAAI,EACxFA,GAAiB,SAAW,OAAY,EAAIG,EAAO,SAASH,EAAgB,OAAS,EAAG,EAAI,CAAE,EACnG,KAAK,IAAIqD,EAAW,EAAGL,EAAeC,CAAgB,EAChDnC,GAAewC,GAAM,IAAI,CAACjB,GAAOO,MAClCP,GAAQnC,EAAYC,CAAM,EAAIqD,GAAYZ,EAAS,GAAKC,CAAU,EACjEY,IAAgB/B,EAAclD,GAAS,EAC7C8D,EAAO,WAAW1C,EAAQrB,EAAUkF,EAAY,EAAI3C,GAAa,CAAC,EAAG,EAAI,EACzEwB,EAAO,WAAW1C,EAAS,EAAGrB,EAAUkF,GAAe,CAAC,EAAI3C,GAAa,CAAC,EAAG,EAAI,EACjFgC,EAAS,KAAK,MAAM,GAAGhC,EAAY,CACvC,CACAwB,EAAO,WAAW9D,EAAQS,EAAO,OAASsC,EAAO,OAAQhD,GAAWmD,EAAclD,GAAS,CAAC,EAAG,EAAI,EACnG8D,EAAO,WAAW9D,EAAQS,EAAO,OAASsC,EAAO,OAAS,EAAGhD,GAAWmD,EAAclD,GAAS,EAAI,CAAC,EAAG,EAAI,EAC3G8D,EAAO,WAAW9D,EAAQS,EAAO,OAASsC,EAAO,OAAS,EAAGuB,EAAQ,EAAI,CAC7E,CACJ,CACA,OAAO9E,CACX,CAGA,SAASuF,GAAwBG,EAAkBN,EAAmBJ,EAClEC,EAAwC,CACxC,IAAMN,EAAS,KAAK,MAAM,GAAGe,CAAM,EACnC,GAAIf,IAAW,GAAKS,IAAc,EAAG,MAAO,CAAC,EAAG,CAAC,EACjD,IAAMO,EAAa1B,GAAqB,CACpC,IAAM2B,EAAY,KAAK,MAAM,GAAG3B,CAAM,EACtC,OAAO2B,IAAc,EAAI,CAAC,EAAG,CAAC,EAAI3B,EAAO,IAAII,GAASA,EAAQuB,CAAS,CAC3E,EACM,CAACC,EAAOC,CAAM,EAAId,EAAc,IAAIW,CAAS,EAC7C,CAACI,EAAgBC,CAAe,EAAIf,EACpCgB,EAAQ,CAACJ,EAAiBC,IAAqBD,EAAM,CAAC,EAAIC,EAAO,CAAC,EAAID,EAAM,CAAC,EAAIC,EAAO,CAAC,EACzFI,EAAM,CAACL,EAAiBC,IAAqBD,EAAM,CAAC,EAAIC,EAAO,CAAC,EAAID,EAAM,CAAC,EAAIC,EAAO,CAAC,EACvFK,EAAQ,KAAK,MAAMF,EAAMJ,EAAOC,CAAM,EAAGI,EAAIL,EAAOC,CAAM,CAAC,EACjE,GAAI,KAAK,IAAIK,CAAK,EAAI,KAAQ,CAG1B,IAAMC,EAAQC,GAAqB,KAAK,IAAI,KAAK,IAAIA,CAAQ,EAAIjB,CAAS,GAAK,EAC3E,KAAK,KAAKiB,CAAQ,EAAIjB,EAAY,KAAK,IAAIiB,CAAQ,GAAK,EAAI,EAAIA,EAC9DC,EAAiBF,EAAKF,EAAIR,EAAQG,CAAK,CAAC,EACxCU,EAAkBH,EAAKV,EAAO,CAAC,EAAIG,EAAM,CAAC,EAAIH,EAAO,CAAC,EAAIG,EAAM,CAAC,CAAC,EACxE,MAAO,CAACE,EAAe,CAAC,EAAIO,EAAiBP,EAAe,CAAC,EAAIQ,EAC7DR,EAAe,CAAC,EAAIO,EAAiBP,EAAe,CAAC,EAAIQ,CAAe,CAChF,CACA,IAAMC,EAAO,KAAK,KAAKN,EAAIR,EAAQ,CAACG,EAAM,CAAC,EAAIC,EAAO,CAAC,EAAGD,EAAM,CAAC,EAAIC,EAAO,CAAC,CAAC,CAAC,CAAC,EAChF,GAAInB,EAASS,EAAY,KAAM,CAC3B,IAAMqB,EAAWd,EAAU,CAACI,EAAe,CAAC,EAAIC,EAAgB,CAAC,EAAGD,EAAe,CAAC,EAAIC,EAAgB,CAAC,CAAC,CAAC,EACrGU,EAAQ,GAAK,EAAI,KAAK,IAAIR,EAAIH,EAAgBU,CAAQ,CAAC,GAC7D,OAAOA,EAAS,IAAIpC,GAASA,EAAQqC,GAAS,EAAItB,EAAYoB,CAAI,CACtE,CACA,IAAMpC,EAAYsB,EAAO,IAAIrB,GAASA,EAAQmC,EAAO7B,CAAM,EACrDgC,EAAW,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,KAAK,MAAMV,EAAMJ,EAAOzB,CAAS,EAAG8B,EAAIL,EAAOzB,CAAS,CAAC,EAAI+B,CAAK,CAAC,EACtGS,EAAiB,KAAK,MAAMX,EAAMF,EAAgBC,CAAe,EAAGE,EAAIH,EAAgBC,CAAe,CAAC,EAAIW,EAC5GE,EAAS,KAAK,IAAID,CAAc,EAAGE,EAAO,KAAK,IAAIF,CAAc,EACvE,MAAO,EAAEb,EAAe,CAAC,EAAIc,EAASd,EAAe,CAAC,EAAIe,GAAQnC,EAAS6B,GACtET,EAAe,CAAC,EAAIe,EAAOf,EAAe,CAAC,EAAIc,GAAUlC,EAAS6B,CAAI,CAC/E,CCvYA,GAAI,EAAE,0BAA2B,OAAS,OAAO,KAAK,uBAA0B,WAC5E,MAAM,IAAI,MAAM,iEAAiE,EAErF,KAAK,sBAAuBO,GAAmCA,EAAQ,iBACnEC,GAA6BD,CAAO,EAAIE,GAAmBF,CAAO,EAAGG,GACrEC,GAAuCC,EAA8B",
|
|
5
|
+
"names": ["RADIANS", "createAngularRanges", "west", "south", "east", "north", "normalizeLongitude", "longitude", "createGeographicBounds", "wrappedEast", "getLongitudeSpan", "bounds", "span", "splitGeographicBounds", "containsGeographicPoint", "point", "intersectGeographicBounds", "a", "b", "intervals", "left", "right", "merged", "interval", "last", "first", "clampGeographicPoint", "latitude", "westDistance", "eastDistance", "getAngularRanges", "primeMeridian", "origin", "width", "middle", "shift", "getGeographicBounds", "ranges", "unionRenderingBounds", "axis", "pair", "resolveRenderingProfile", "getRenderingProfile", "coverage", "profile", "resolveBounds", "bounds", "corner", "value", "combineRenderingProfiles", "regions", "getProfile", "profiles", "region", "profile", "resolveBounds", "unionRenderingBounds", "point", "bestX", "bestY", "best", "candidate", "distance", "getIdentityRenderingProfile", "CACHE_KEY", "cache", "scope", "getLoadedProjection", "projection", "preloadProjection", "state", "entry", "plugin", "key", "value", "supported", "name", "error", "createPoint", "ProjectionScratch", "index", "_a", "point", "createProjection", "forward", "inverse", "scratch", "ProjectionScratch", "scalar", "x", "y", "operation", "point", "projectionOperation", "implementation", "geocentric", "mutable", "output", "FLOAT32_MAX", "validateScalarOutput", "coordinate", "output", "length", "input", "result", "shared", "writeScalarOutput", "point", "i", "value", "inferCRSRepresentation", "definition", "text", "PROJStringSyntaxError", "message", "source", "offset", "location", "getSourceLocation", "parsePROJString", "text", "tokens", "tokenizePROJString", "token", "parseParameter", "DMS_VALUE", "parseParameter", "rawToken", "offset", "source", "token", "PROJStringSyntaxError", "equalsIndex", "name", "rawValue", "value", "decodeParameterValue", "tokenizePROJString", "tokens", "start", "quote", "escaped", "character", "first", "DMS_VALUE", "index", "getSourceLocation", "source", "offset", "line", "column", "index", "CRS_ERROR", "TypeScriptCRSError", "_TypeScriptCRSError", "_a", "value", "reason", "message", "unsupportedStage", "resolveCRSInput", "input", "options", "metadata", "spatialReference", "reference", "TypeScriptCRSError", "lossy", "unsupportedStage", "applySpatialReference", "crs", "order", "names", "storedAxis", "name", "units", "i", "vertical", "expected", "DEGREES_TO_RADIANS", "numberParameter", "parameters", "name", "fallback", "value", "number", "latitudeParameter", "degrees", "wrapLongitude", "longitude", "over", "circle", "wgs84", "nad83", "builtins", "resolved", "datumNameKey", "name", "getDatumDefinitions", "options", "cached", "definitions", "names", "definition", "catalog", "owner", "key", "field", "previous", "ellipsoids", "ellipsoid_table_default", "primeMeridian", "primemeridian_table_default", "linearUnits", "ALIASES", "CORE_PARAMETERS", "CORE_FLAGS", "own", "object", "key", "keyOf", "value", "lookup", "table", "name", "parseAngle", "text", "DEGREES_TO_RADIANS", "dms", "minutes", "seconds", "sign", "direction", "normalizeCRS", "input", "options", "datums", "getDatumDefinitions", "resolved", "resolveCRSInput", "definition", "aliases", "visited", "utm", "parsed", "inferCRSRepresentation", "parameters", "parameter", "parsePROJString", "parser", "candidate", "serialized", "TypeScriptCRSError", "suppliedName", "lowerName", "kind", "datumName", "datum", "unsupportedStage", "ellipsoid", "getEllipsoid", "grids", "gridReferences", "entry", "optional", "rawShift", "shift", "numberParameter", "datumEllipsoid", "axis", "angularUnit", "toMeter", "unitFactor", "verticalUnit", "pm", "primeMeridian", "primemeridian_table_default", "applySpatialReference", "unitKey", "factorKey", "unit", "linearUnits", "factor", "ellipsoid_table_default", "a", "f", "rf", "b", "radius", "spheroidToCartesian", "point", "geometry", "result", "longitude", "latitude", "height", "a", "b", "es", "sin", "cos", "ratio", "radius", "x", "y", "z", "commit", "cartesianToSpheroid", "p", "rr", "horizontal", "vertical", "interiorInverse", "exteriorInverse", "ct", "st", "rx", "i", "rn", "rk", "nextCos", "nextSin", "ratio2", "delta", "aa", "bb", "ratioError", "productError", "pp", "xx", "yy", "sum", "radiusError", "sumError", "shift", "base", "correction", "weighted", "lower", "upper", "t", "equatorial", "u", "v", "at", "difference", "term", "residual", "derivative", "next", "candidate", "part", "product", "sx", "sy", "hx", "hy", "lx", "ly", "norm", "multiplier", "polar", "length", "ARC_SECOND", "WGS84", "geodeticToGeocentricInPlace", "point", "ellipsoid", "spheroidToCartesian", "geocentricToGeodeticInPlace", "x", "y", "z", "a", "b", "es", "cartesianToSpheroid", "createHelmert", "values", "inverse", "dx", "dy", "dz", "rx", "ry", "rz", "scale", "shifted", "datum", "value", "createDatumTransform", "source", "destination", "entry", "i", "middle", "applyDatumGrids", "first", "convertDatum", "second", "from", "to", "sameParameters", "sourceShift", "targetShift", "reference", "found", "output", "grid", "normalizeCoverage", "point", "coverage", "center", "over", "span", "getLongitudeSpan", "west", "east", "best", "clampGeographicPoint", "longitude", "normalizeLongitude", "offset", "createRectangleRenderingProfile", "resolveBounds", "origin", "primeMeridian", "getAngularRanges", "createRegionsRenderingProfile", "regions", "profile", "combineRenderingProfiles", "region", "withRectangleRenderingProfile", "implementation", "parameters", "defaults", "getGeographicBounds", "intersectGeographicBounds", "ordered", "a", "b", "add", "scale", "value", "multiply", "values", "sine", "low", "high", "phase", "cosine", "maxAbs", "envelope", "x", "y", "padding", "range", "longitudeRange", "parameters", "origin", "over", "span", "west", "wrapLongitude", "east", "cylindricalBounds", "project", "longitude", "latitudes", "points", "p", "conicBounds", "project", "parameters", "origin", "cone", "x0", "centerY", "over", "angles", "scale", "longitudeRange", "radii", "ordered", "envelope", "add", "multiply", "sine", "cosine", "createGeographicProfile", "parameters", "primeMeridian", "center", "numberParameter", "DEGREES_TO_RADIANS", "coverage", "createRectangleRenderingProfile", "ranges", "longitude", "longitudeRange", "compileVerticalGrid", "names", "grids", "entries", "entry", "optional", "name", "grid", "unsupportedStage", "longitude", "latitude", "sample", "offset", "ProjectionTransform", "_ProjectionTransform", "options", "projections", "requiredProjections", "preloadProjection", "coverage", "resolveRenderingProfile", "ProjectionScratch", "registrations", "plugins", "registry", "projection", "from", "normalizeCRS", "to", "eager", "eagerPlugins", "compileCRS", "createGeographicProfile", "getIdentityRenderingProfile", "unsupportedStage", "compileTransform", "state", "error", "descriptor", "plugin", "getLoadedProjection", "coordinate", "transformScalar", "coordinates", "dimension", "transformInPlace", "output", "validateScalarOutput", "inverse", "input", "available", "required", "definition", "crs", "pluginKey", "TypeScriptCRSError", "pluginKey", "name", "registry", "projections", "plugins", "plugin", "compileCRS", "definition", "options", "crs", "normalizeCRS", "TypeScriptCRSError", "allowed", "CORE_PARAMETERS", "key", "flag", "CORE_FLAGS", "parameters", "implementation", "references", "nullIndex", "reference", "grids", "grid", "unsupportedStage", "datum", "verticalGrid", "compileVerticalGrid", "finite", "point", "compileAxis", "axis", "inverse", "indexes", "signs", "i", "char", "component", "x", "y", "z", "compileTransform", "from", "to", "enforceAxis", "fromAxis", "toAxis", "inputAxis", "outputAxis", "source", "projectionOperation", "target", "createDatumTransform", "horizontalOnly", "fromGeocentric", "inputScale", "outputScale", "inputVerticalScale", "outputVerticalScale", "fromPrime", "toPrime", "longitudeWrap", "flat", "context", "preservedHeight", "wrapLongitude", "transformScalar", "coordinate", "operation", "scratch", "output", "length", "writeScalarOutput", "result", "transformInPlace", "coordinates", "dimension", "float32", "offset", "ORIGIN_PARAMETERS", "angleParameter", "parameters", "name", "fallback", "degrees", "numberParameter", "DEGREES_TO_RADIANS", "flagParameter", "present", "kernelParameters", "a", "es", "primeMeridian", "k0", "validateConic", "base", "bindKernel", "state", "forward", "inverse", "adapt", "createProjection", "run", "operation", "point", "result", "catalogueParameters", "context", "base", "kernelParameters", "bindCatalogueKernel", "name", "context", "state", "forward", "inverse", "guard", "kernel", "bindKernel", "x0", "numberParameter", "y0", "createProjection", "point", "HALF_PI", "FORTPI", "TWO_PI", "SPI", "D2R", "R2D", "SEC_TO_RAD", "sign_default", "x", "adjust_lon_default", "x", "skipAdjust", "SPI", "sign_default", "TWO_PI", "qsfnz_default", "eccent", "sinphi", "con", "P00", "P01", "P02", "P10", "P11", "P20", "authset", "es", "APA", "authlat", "beta", "APA", "t", "A1", "A2", "A3", "A4", "M", "initialize", "state", "authset", "qsfnz_default", "forward", "p", "lam", "adjust_lon_default", "phi", "sinphi", "paramLat", "paramLatSq", "paramLatPow6", "inverse", "EPS", "NITER", "fy", "fpy", "dlat", "i", "authlat", "createState", "base", "options", "equalEarth", "context", "base", "catalogueParameters", "primeMeridian", "state", "createState", "projection", "bindCatalogueKernel", "forward", "inverse", "e", "radius", "theta", "t2", "t6", "width", "x0", "numberParameter", "y0", "height", "coverage", "createRectangleRenderingProfile", "region", "cylindricalBounds", "defaultBounds", "getGeographicBounds", "createAngularRanges", "createFlatProjection", "forward", "inverse", "createProjection", "context", "createFlatOperation", "project", "inputScale", "outputScale", "scratch", "ProjectionScratch", "coordinates", "dimension", "point", "float32", "offset", "msfnz_default", "eccent", "sinphi", "cosphi", "con", "asinz_default", "x", "initialize", "state", "msfnz_default", "qsfnz_default", "forward", "p", "lon", "lat", "qs", "rh1", "theta", "adjust_lon_default", "x", "y", "inverse", "con", "phi1z", "eccent", "sinphi", "cosphi", "com", "dphi", "phi", "asinz_default", "eccnts", "i", "createState", "base", "albersEqualArea", "ORIGIN_PARAMETERS", "context", "base", "kernelParameters", "validateConic", "state", "createState", "projection", "bindKernel", "forward", "inverse", "createFlatProjection", "withRectangleRenderingProfile", "createAngularRanges", "ranges", "conicBounds", "equidistantCylindrical", "a", "parameters", "primeMeridian", "over", "longitudeOrigin", "numberParameter", "DEGREES_TO_RADIANS", "latitudeOrigin", "latitudeParameter", "parallelScale", "x0", "y0", "width", "coverage", "createRectangleRenderingProfile", "region", "envelope", "add", "scale", "longitudeRange", "defaultBounds", "getGeographicBounds", "createAngularRanges", "createProjection", "point", "wrapLongitude", "mercator", "a", "es", "parameters", "primeMeridian", "e", "over", "longitudeOrigin", "numberParameter", "DEGREES_TO_RADIANS", "x0", "y0", "scale", "latitude", "latitudeParameter", "radius", "maxLatitude", "width", "height", "coverage", "clipped", "bounds", "northing", "createRectangleRenderingProfile", "region", "envelope", "add", "longitudeRange", "defaultBounds", "getGeographicBounds", "createAngularRanges", "createFlatProjection", "point", "longitude", "isometricLatitude", "wrapLongitude", "x", "iteration", "next", "INTERPOLATED_ATTRIBUTES", "refineGlobeMesh", "vertices", "indices", "layout", "options", "tileScale", "angularSpan", "budget", "maximumEdge", "position", "attribute", "originalCount", "triangleIndices", "_", "index", "records", "positions", "record", "view", "point", "readComponent", "midpoints", "output", "pending", "maximumTriangles", "isLong", "first", "second", "distance", "getMidpoint", "key", "cached", "interpolatePackedVertex", "outputView", "midpoint", "triangle", "third", "split", "count", "firstMidpoint", "secondMidpoint", "thirdMidpoint", "edge", "value", "start", "end", "opposite", "boundary", "cross", "topologyPosition", "corners", "axes", "selectTrianglePlane", "flatten", "centerPoint", "orientation", "corner", "boundaryEdge", "center", "endMidpoint", "startMidpoint", "refinedVertices", "points", "planes", "selected", "maximumArea", "plane", "area", "fraction", "firstView", "secondView", "component", "firstValue", "secondValue", "writeComponent", "offset", "integer", "normalizeProjectedBasemapOptions", "value", "maxAngularSpan", "maxAdditionalVertices", "maxProjectedError", "cacheProjectedMeshes", "allowElevation", "type", "PROJECTED_COMMON_SCALE", "getProjectedCoordinateOptions", "type", "normalizeProjectedBasemapOptions", "parameters", "geometry", "projectSurfaceNormal", "normal", "east", "north", "determinant", "magnitude", "transformed", "PROJECTED_COMMON_SCALE", "length", "ProjectedMeshPreparationCache", "maxBytes", "maxEntries", "metadata", "vertices", "indices", "prepare", "cached", "epoch", "source", "elements", "result", "key", "hashBytes", "asBytes", "index", "entry", "equalBytes", "prepared", "existing", "bytes", "values", "hash", "value", "first", "second", "WORLD_HALF_WIDTH", "getProjectedSourceDomain", "type", "latitudeToMeters", "latitude", "clipProjectedMesh", "mesh", "request", "readPosition", "remainingVertices", "layout", "tile", "unitsPerMeter", "domain", "bounds", "records", "positions", "offset", "record", "originalCount", "inside", "index", "intersections", "triangles", "positionOffset", "attribute", "height", "vertex", "polygon", "boundary", "plane", "axis", "distance", "clipped", "previous", "current", "previousDistance", "currentDistance", "first", "second", "key", "intersection", "fraction", "interpolatePackedVertex", "third", "area", "elevated", "remap", "vertices", "original", "indices", "INTERIOR_WEIGHTS", "refineProjectedMesh", "mesh", "request", "geographicPosition", "readPosition", "work", "tolerance", "layout", "originalCount", "budget", "result", "key", "vertex", "edgeKey", "first", "second", "firstKey", "secondKey", "iteration", "edges", "index", "edge", "secondIndex", "coordinates", "start", "end", "fraction", "sample", "interpolatePackedVertex", "view", "packed", "edgeCoordinateCount", "inspectInteriors", "corners", "component", "points", "record", "corner", "weights", "interpolateTriangle", "sum", "point", "projected", "split", "offset", "differenceX", "differenceY", "lengthSquared", "interiors", "expected", "weight", "actual", "splitTriangleInteriors", "refined", "refineGlobeMesh", "getPackedElevationReader", "selected", "remainingBudget", "stride", "vertexCount", "vertices", "indices", "inserted", "triangle", "center", "readElevation", "topologyPosition", "corners3D", "axes", "selectTrianglePlane", "flatten", "position", "cross", "third", "orientation", "centerIndex", "attribute", "projectSymbolMesh", "request", "layout", "tile", "position", "attribute", "projected", "shape", "projectedOffset", "positionOffset", "count", "indices", "_", "index", "vertices", "view", "unitsPerMeter", "domain", "getProjectedSourceDomain", "coordinates", "anchors", "anchorIndices", "offset", "x", "y", "component", "key", "anchor", "positions", "value", "height", "PROJECTED_COMMON_SCALE", "SPHERE_RADIUS", "transforms", "preparationCache", "ProjectedMeshPreparationCache", "projectedResultCache", "projectionStatistics", "createProjectionStatistics", "clearProjectedMeshPreparation", "getProjectedMeshWorkStatistics", "getProjectedMeshPreparationStatistics", "projectedResults", "getProjectedResultCacheKey", "request", "normalizeProjectedBasemapOptions", "attribute", "projectBasemapPosition", "position", "type", "transform", "ProjectionTransform", "equalEarth", "albersEqualArea", "equidistantCylindrical", "mercator", "getProjectedCoordinateOptions", "projected", "PROJECTED_COMMON_SCALE", "projectBasemapMesh", "result", "work", "statistics", "refinement", "prepareProjectedMesh", "step", "countProjectionBatch", "positions", "index", "point", "recordCompletedProjection", "error", "projectBasemapMeshWithEngine", "coordinates", "projection", "projectSymbolMesh", "tile", "layout", "unitsPerMeter", "extrusion", "line", "surfaceNormal", "projectedNormal", "overzoom", "optionalLineOffsets", "name", "size", "source", "offset", "heightOffset", "positionOffset", "extrusionOffset", "offsetAttribute", "delta", "widthFactor", "vertex", "readPosition", "metadata", "prepared", "refineGlobeMesh", "clipped", "clipProjectedMesh", "domain", "getProjectedSourceDomain", "geographicPosition", "center", "displacement", "localX", "localY", "x", "y", "longitude", "latitude", "refined", "refineProjectedMesh", "stroke", "normals", "widths", "vertexCount", "normalSamples", "samples", "latitudeScale", "mercatorY", "sample", "roadSamplesOffset", "normal", "normalX", "normalY", "direction", "value", "output", "normalOffset", "packedOffset", "transformed", "projectSurfaceNormal", "length", "component", "pixelScale", "radius", "normalsOffset", "sourceNormals", "projectedNormals", "tangentX", "tangentY", "halfWidth", "offsetWidth", "shape", "reorientProjectedStroke", "offsetShape", "centerOffset", "vector", "normalize", "magnitude", "first", "second", "projectedFirst", "projectedSecond", "cross", "dot", "angle", "snap", "distance", "normalDistance", "tangentDistance", "side", "bisector", "scale", "fraction", "projectedAngle", "cosine", "sine", "request", "projectBasemapMeshWithEngine", "projectBasemapMesh", "clearProjectedMeshPreparation", "getProjectedMeshPreparationStatistics", "getProjectedMeshWorkStatistics"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
var e=`
|
|
2
|
+
// Heights are west, east, south, north, in the same linear units as spacing.
|
|
3
|
+
// Positive local X is east, positive Y is north, and positive Z is up.
|
|
4
|
+
vec3 hillshade_getNormal(vec4 heights, vec2 spacing) {
|
|
5
|
+
vec2 safe_spacing = max(abs(spacing), vec2(0.000001));
|
|
6
|
+
vec2 gradient = vec2(heights.x - heights.y, heights.z - heights.w) / (2. * safe_spacing);
|
|
7
|
+
return normalize(vec3(gradient, 1.));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// Rescaling avoids length underflow/overflow and keeps every nonzero direction scale invariant.
|
|
11
|
+
vec3 hillshade_normalizeDirection(vec3 direction) {
|
|
12
|
+
float scale = max(max(abs(direction.x), abs(direction.y)), abs(direction.z));
|
|
13
|
+
if (scale == 0.) { return vec3(0.); }
|
|
14
|
+
return normalize(direction / scale);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Light direction points from the surface towards the light in the same local frame.
|
|
18
|
+
float hillshade_getIntensity(vec3 normal, vec3 light_direction, float ambient) {
|
|
19
|
+
vec3 unit_normal = hillshade_normalizeDirection(normal);
|
|
20
|
+
vec3 unit_light = hillshade_normalizeDirection(light_direction);
|
|
21
|
+
float diffuse = clamp(dot(unit_normal, unit_light), 0., 1.);
|
|
22
|
+
float base = clamp(ambient, 0., 1.);
|
|
23
|
+
return base + (1. - base) * diffuse;
|
|
24
|
+
}
|
|
25
|
+
`,a=`
|
|
26
|
+
// Heights: west, east, south, north. Local axes: east, north, up.
|
|
27
|
+
fn hillshade_getNormal(heights: vec4<f32>, spacing: vec2<f32>) -> vec3<f32> {
|
|
28
|
+
let safe_spacing = max(abs(spacing), vec2<f32>(0.000001));
|
|
29
|
+
let gradient = vec2<f32>(heights.x - heights.y, heights.z - heights.w) / (2.0 * safe_spacing);
|
|
30
|
+
return normalize(vec3<f32>(gradient, 1.0));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
fn hillshade_normalizeDirection(direction: vec3<f32>) -> vec3<f32> {
|
|
34
|
+
let scale = max(max(abs(direction.x), abs(direction.y)), abs(direction.z));
|
|
35
|
+
if (scale == 0.0) { return vec3<f32>(0.0); }
|
|
36
|
+
return normalize(direction / scale);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
fn hillshade_getIntensity(normal: vec3<f32>, light_direction: vec3<f32>, ambient: f32) -> f32 {
|
|
40
|
+
let unit_normal = hillshade_normalizeDirection(normal);
|
|
41
|
+
let unit_light = hillshade_normalizeDirection(light_direction);
|
|
42
|
+
let diffuse = clamp(dot(unit_normal, unit_light), 0.0, 1.0);
|
|
43
|
+
let base = clamp(ambient, 0.0, 1.0);
|
|
44
|
+
return base + (1.0 - base) * diffuse;
|
|
45
|
+
}
|
|
46
|
+
`,n={name:"hillshade",vs:e,fs:e,source:a};var t=`
|
|
47
|
+
vec3 triplanar_getWeights(vec3 normal) {
|
|
48
|
+
vec3 weights = normalize(max(abs(normal), vec3(0.00001)));
|
|
49
|
+
return weights / (weights.x + weights.y + weights.z);
|
|
50
|
+
}
|
|
51
|
+
vec2 triplanar_getUVX(vec3 position, vec3 scale) { return fract(position.yz * scale.x); }
|
|
52
|
+
vec2 triplanar_getUVY(vec3 position, vec3 scale) { return fract(position.xz * scale.y); }
|
|
53
|
+
vec2 triplanar_getUVZ(vec3 position, vec3 scale) { return fract(position.xy * scale.z); }
|
|
54
|
+
vec4 triplanar_blend(vec4 sample_x, vec4 sample_y, vec4 sample_z, vec3 weights) {
|
|
55
|
+
return sample_x * weights.x + sample_y * weights.y + sample_z * weights.z;
|
|
56
|
+
}
|
|
57
|
+
`,l=`
|
|
58
|
+
fn triplanar_getWeights(normal: vec3<f32>) -> vec3<f32> {
|
|
59
|
+
let weights = normalize(max(abs(normal), vec3<f32>(0.00001)));
|
|
60
|
+
return weights / (weights.x + weights.y + weights.z);
|
|
61
|
+
}
|
|
62
|
+
fn triplanar_getUVX(position: vec3<f32>, scale: vec3<f32>) -> vec2<f32> { return fract(position.yz * scale.x); }
|
|
63
|
+
fn triplanar_getUVY(position: vec3<f32>, scale: vec3<f32>) -> vec2<f32> { return fract(position.xz * scale.y); }
|
|
64
|
+
fn triplanar_getUVZ(position: vec3<f32>, scale: vec3<f32>) -> vec2<f32> { return fract(position.xy * scale.z); }
|
|
65
|
+
fn triplanar_blend(sample_x: vec4<f32>, sample_y: vec4<f32>, sample_z: vec4<f32>, weights: vec3<f32>) -> vec4<f32> {
|
|
66
|
+
return sample_x * weights.x + sample_y * weights.y + sample_z * weights.z;
|
|
67
|
+
}
|
|
68
|
+
`,c={name:"triplanar",vs:t,fs:t,source:l};var r=`
|
|
69
|
+
vec2 planar_getUV(vec3 position, float frequency) { return fract(position.xy * frequency); }
|
|
70
|
+
`,f=`
|
|
71
|
+
fn planar_getUV(position: vec3<f32>, frequency: f32) -> vec2<f32> { return fract(position.xy * frequency); }
|
|
72
|
+
`,h={name:"planar",vs:r,fs:r,source:f};var s=`
|
|
73
|
+
vec2 sphereMap_getUV(vec3 eye_to_point, vec3 normal, vec2 skew) {
|
|
74
|
+
vec3 eye = normalize(eye_to_point);
|
|
75
|
+
eye.xy -= skew;
|
|
76
|
+
eye = normalize(eye);
|
|
77
|
+
vec3 reflected = reflect(eye, normal);
|
|
78
|
+
reflected.z += 1.0;
|
|
79
|
+
return reflected.xy / (2.0 * length(reflected)) + 0.5;
|
|
80
|
+
}
|
|
81
|
+
`,g=`
|
|
82
|
+
fn sphereMap_getUV(eye_to_point: vec3<f32>, normal: vec3<f32>, skew: vec2<f32>) -> vec2<f32> {
|
|
83
|
+
var eye = normalize(eye_to_point);
|
|
84
|
+
eye = normalize(vec3<f32>(eye.xy - skew, eye.z));
|
|
85
|
+
var reflected = reflect(eye, normal);
|
|
86
|
+
reflected.z += 1.0;
|
|
87
|
+
return reflected.xy / (2.0 * length(reflected)) + 0.5;
|
|
88
|
+
}
|
|
89
|
+
`,d={name:"sphereMap",vs:s,fs:s,source:g};var i=`
|
|
90
|
+
float heightDecode_getHeight(vec3 rgb, vec3 coefficients, float offset) {
|
|
91
|
+
return dot(rgb * 255., coefficients) + offset;
|
|
92
|
+
}
|
|
93
|
+
float heightDecode_getTerrarium(vec3 rgb) {
|
|
94
|
+
// Subtract the red-channel offset before adding fractional blue elevation.
|
|
95
|
+
return (rgb.r * 255. - 128.) * 256. + rgb.g * 255. + rgb.b * (255. / 256.);
|
|
96
|
+
}
|
|
97
|
+
float heightDecode_getTerrainRGB(vec3 rgb) {
|
|
98
|
+
return heightDecode_getHeight(rgb, vec3(65536., 256., 1.), 0.) * 0.1 - 10000.;
|
|
99
|
+
}
|
|
100
|
+
`,p=`
|
|
101
|
+
fn heightDecode_getHeight(rgb: vec3<f32>, coefficients: vec3<f32>, offset: f32) -> f32 {
|
|
102
|
+
return dot(rgb * 255.0, coefficients) + offset;
|
|
103
|
+
}
|
|
104
|
+
fn heightDecode_getTerrarium(rgb: vec3<f32>) -> f32 {
|
|
105
|
+
return (rgb.r * 255.0 - 128.0) * 256.0 + rgb.g * 255.0 + rgb.b * (255.0 / 256.0);
|
|
106
|
+
}
|
|
107
|
+
fn heightDecode_getTerrainRGB(rgb: vec3<f32>) -> f32 {
|
|
108
|
+
return heightDecode_getHeight(rgb, vec3<f32>(65536.0, 256.0, 1.0), 0.0) * 0.1 - 10000.0;
|
|
109
|
+
}
|
|
110
|
+
`,m={name:"heightDecode",vs:i,fs:i,source:p};var o=`
|
|
111
|
+
vec3 globeHorizon_getAnchor(vec3 direction, float altitude, float radius, float earthRadius) {
|
|
112
|
+
return normalize(direction) * radius * (1. + altitude / earthRadius);
|
|
113
|
+
}
|
|
114
|
+
bool globeHorizon_isOccluded(vec3 position, vec3 eye, float radius) {
|
|
115
|
+
vec3 sphere_eye = eye / radius;
|
|
116
|
+
if (dot(sphere_eye, sphere_eye) <= 1.) { return false; }
|
|
117
|
+
vec3 sphere_position = position / radius;
|
|
118
|
+
vec3 segment = sphere_position - sphere_eye;
|
|
119
|
+
float segment_length_squared = dot(segment, segment);
|
|
120
|
+
if (segment_length_squared == 0.) { return false; }
|
|
121
|
+
float closest_amount = clamp(-dot(sphere_eye, segment) / segment_length_squared, 0., 1.);
|
|
122
|
+
vec3 closest = mix(sphere_eye, sphere_position, closest_amount);
|
|
123
|
+
return dot(closest, closest) < 1. - 0.000001;
|
|
124
|
+
}
|
|
125
|
+
`,u=`
|
|
126
|
+
fn globeHorizon_getAnchor(direction: vec3<f32>, altitude: f32, radius: f32, earthRadius: f32) -> vec3<f32> {
|
|
127
|
+
return normalize(direction) * radius * (1.0 + altitude / earthRadius);
|
|
128
|
+
}
|
|
129
|
+
fn globeHorizon_isOccluded(position: vec3<f32>, eye: vec3<f32>, radius: f32) -> bool {
|
|
130
|
+
let sphere_eye = eye / radius;
|
|
131
|
+
if (dot(sphere_eye, sphere_eye) <= 1.0) { return false; }
|
|
132
|
+
let sphere_position = position / radius;
|
|
133
|
+
let segment = sphere_position - sphere_eye;
|
|
134
|
+
let segment_length_squared = dot(segment, segment);
|
|
135
|
+
if (segment_length_squared == 0.0) { return false; }
|
|
136
|
+
let closest_amount = clamp(-dot(sphere_eye, segment) / segment_length_squared, 0.0, 1.0);
|
|
137
|
+
let closest = mix(sphere_eye, sphere_position, closest_amount);
|
|
138
|
+
return dot(closest, closest) < 1.0 - 0.000001;
|
|
139
|
+
}
|
|
140
|
+
`,v={name:"globeHorizon",vs:o,fs:o,source:u};export{v as globeHorizon,m as heightDecode,n as hillshade,h as planar,d as sphereMap,c as triplanar};
|
|
141
|
+
//# sourceMappingURL=shader-modules.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/shader-modules/hillshade.ts", "../src/shader-modules/triplanar.ts", "../src/shader-modules/planar.ts", "../src/shader-modules/sphere-map.ts", "../src/shader-modules/height-decode.ts", "../src/shader-modules/globe-horizon.ts"],
|
|
4
|
+
"mappings": "AAOA,IAAMA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BPC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BAC,EAAY,CACrB,KAAM,YACN,GAAIF,EACJ,GAAIA,EACJ,OAAQC,CACZ,EC7DA,IAAME,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcPC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBAC,EAAY,CAAC,KAAM,YAAa,GAAIF,EAAM,GAAIA,EAAM,OAAQC,CAAI,ECpC7E,IAAME,EAAO;AAAA;AAAA,EAKPC,EAAO;AAAA;AAAA,EAUAC,EAAS,CAAC,KAAM,SAAU,GAAIF,EAAM,GAAIA,EAAM,OAAQC,CAAI,ECfvE,IAAME,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYPC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBAC,EAAY,CAAC,KAAM,YAAa,GAAIF,EAAM,GAAIA,EAAM,OAAQC,CAAI,EC9B7E,IAAME,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcPC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBAC,EAAe,CAAC,KAAM,eAAgB,GAAIF,EAAM,GAAIA,EAAM,OAAQC,CAAI,ECjCnF,IAAME,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBPC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BAC,EAAe,CAAC,KAAM,eAAgB,GAAIF,EAAM,GAAIA,EAAM,OAAQC,CAAI",
|
|
5
|
+
"names": ["glsl", "wgsl", "hillshade", "glsl", "wgsl", "triplanar", "glsl", "wgsl", "planar", "glsl", "wgsl", "sphereMap", "glsl", "wgsl", "heightDecode", "glsl", "wgsl", "globeHorizon"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// modules/tangram-renderer/src/styles/style-schema.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var TangramStyleValueSchema = z.union([
|
|
4
|
+
z.string(),
|
|
5
|
+
z.number().finite(),
|
|
6
|
+
z.boolean(),
|
|
7
|
+
z.null(),
|
|
8
|
+
z.array(z.unknown()),
|
|
9
|
+
z.record(z.string(), z.unknown())
|
|
10
|
+
]);
|
|
11
|
+
var TangramSourceSchema = z.object({
|
|
12
|
+
type: z.string().optional(),
|
|
13
|
+
url: z.string().optional(),
|
|
14
|
+
urls: z.array(z.string()).optional(),
|
|
15
|
+
decoder: z.string().optional(),
|
|
16
|
+
tile_provider: z.string().optional(),
|
|
17
|
+
parse_json: z.union([z.boolean(), z.array(z.string())]).optional(),
|
|
18
|
+
tilejson: TangramStyleValueSchema.optional(),
|
|
19
|
+
url_params: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
20
|
+
min_zoom: z.number().finite().optional(),
|
|
21
|
+
max_zoom: z.number().finite().optional(),
|
|
22
|
+
tile_size: z.number().finite().positive().optional(),
|
|
23
|
+
rasters: z.array(z.string()).optional(),
|
|
24
|
+
scripts: TangramStyleValueSchema.optional(),
|
|
25
|
+
transform: TangramStyleValueSchema.optional(),
|
|
26
|
+
attribution: z.string().optional()
|
|
27
|
+
}).passthrough();
|
|
28
|
+
var TangramStyleSchema = z.object({
|
|
29
|
+
base: z.string().optional(),
|
|
30
|
+
mix: z.union([z.string(), z.array(z.string())]).optional(),
|
|
31
|
+
animated: z.boolean().optional(),
|
|
32
|
+
lighting: z.union([z.boolean(), z.enum(["vertex", "fragment"])]).optional(),
|
|
33
|
+
blend: z.string().optional(),
|
|
34
|
+
raster: z.union([z.boolean(), z.enum(["color", "normal", "custom"])]).optional(),
|
|
35
|
+
texture: TangramStyleValueSchema.optional(),
|
|
36
|
+
draw: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
37
|
+
shaders: z.record(z.string(), TangramStyleValueSchema).optional()
|
|
38
|
+
}).passthrough();
|
|
39
|
+
var TangramLayerDataSchema = z.object({
|
|
40
|
+
source: z.string().optional(),
|
|
41
|
+
layer: z.string().optional(),
|
|
42
|
+
geometry: z.string().optional()
|
|
43
|
+
}).passthrough();
|
|
44
|
+
var TangramLayerSchema = z.object({
|
|
45
|
+
data: TangramLayerDataSchema.optional(),
|
|
46
|
+
filter: TangramStyleValueSchema.optional(),
|
|
47
|
+
draw: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
48
|
+
enabled: z.boolean().optional(),
|
|
49
|
+
priority: z.number().finite().optional()
|
|
50
|
+
}).passthrough();
|
|
51
|
+
var lightGlobalReferenceSchema = z.string().regex(/^global\..+/);
|
|
52
|
+
function withLightGlobal(schema) {
|
|
53
|
+
return z.union([schema, lightGlobalReferenceSchema]);
|
|
54
|
+
}
|
|
55
|
+
var lightScalarSchema = withLightGlobal(z.number().finite());
|
|
56
|
+
var lightVectorSchema = withLightGlobal(z.tuple([lightScalarSchema, lightScalarSchema, lightScalarSchema]));
|
|
57
|
+
var lightContributionSchema = z.union([
|
|
58
|
+
z.number().finite(),
|
|
59
|
+
z.string(),
|
|
60
|
+
lightVectorSchema,
|
|
61
|
+
z.tuple([z.number().finite(), z.number().finite(), z.number().finite(), z.number().finite()])
|
|
62
|
+
]);
|
|
63
|
+
var lightDistanceSchema = z.union([z.number().finite().nonnegative(), z.string()]);
|
|
64
|
+
var lumaLightCommon = {
|
|
65
|
+
color: lightVectorSchema.optional().describe("Byte RGB light color (0\u2013255); omitted means black"),
|
|
66
|
+
intensity: withLightGlobal(z.number().finite().nonnegative()).optional(),
|
|
67
|
+
ambient: lightContributionSchema.optional().describe("Optional normalized Tangram ambient contribution"),
|
|
68
|
+
diffuse: lightContributionSchema.optional().describe("Optional normalized Tangram diffuse contribution"),
|
|
69
|
+
specular: lightContributionSchema.optional().describe("Optional normalized Tangram specular contribution"),
|
|
70
|
+
visible: withLightGlobal(z.boolean()).optional()
|
|
71
|
+
};
|
|
72
|
+
var lumaPositionalLight = {
|
|
73
|
+
position: lightVectorSchema.describe("Projected world position, or longitude/latitude/altitude when positionSpace is geographic"),
|
|
74
|
+
attenuation: lightVectorSchema.optional().describe("Constant, linear, quadratic distance coefficients"),
|
|
75
|
+
attenuationExponent: withLightGlobal(z.number().finite().nonnegative()).optional().describe("Additional Tangram exponent falloff"),
|
|
76
|
+
radius: z.union([lightDistanceSchema, z.tuple([lightDistanceSchema.nullable(), lightDistanceSchema])]).optional(),
|
|
77
|
+
origin: withLightGlobal(z.enum(["world", "ground", "camera"])).optional().describe("Optional legacy position interpretation"),
|
|
78
|
+
positionSpace: withLightGlobal(z.enum(["common", "geographic"])).optional().describe("Projected position or longitude/latitude/altitude"),
|
|
79
|
+
directionSpace: withLightGlobal(z.enum(["common", "enu"])).optional().describe("Geographic spotlight direction defaults to east/north/up")
|
|
80
|
+
};
|
|
81
|
+
var LumaLightSchema = z.discriminatedUnion("type", [
|
|
82
|
+
z.object({ type: z.literal("ambient"), ...lumaLightCommon }),
|
|
83
|
+
z.object({ type: z.literal("directional"), ...lumaLightCommon, direction: lightVectorSchema }),
|
|
84
|
+
z.object({ type: z.literal("point"), ...lumaLightCommon, ...lumaPositionalLight }),
|
|
85
|
+
z.object({
|
|
86
|
+
type: z.literal("spot"),
|
|
87
|
+
...lumaLightCommon,
|
|
88
|
+
...lumaPositionalLight,
|
|
89
|
+
direction: lightVectorSchema,
|
|
90
|
+
innerConeAngle: withLightGlobal(z.number().finite().min(0).max(Math.PI / 2)).optional().describe("Radians"),
|
|
91
|
+
outerConeAngle: withLightGlobal(z.number().finite().min(0).max(Math.PI / 2)).optional().describe("Radians"),
|
|
92
|
+
spotExponent: withLightGlobal(z.number().finite().nonnegative()).optional().describe("Additional Tangram cone falloff")
|
|
93
|
+
})
|
|
94
|
+
]);
|
|
95
|
+
var TangramStyleSheetSchema = z.object({
|
|
96
|
+
import: z.union([
|
|
97
|
+
z.string(),
|
|
98
|
+
z.array(z.union([
|
|
99
|
+
z.string(),
|
|
100
|
+
z.record(z.string(), TangramStyleValueSchema)
|
|
101
|
+
])),
|
|
102
|
+
z.record(z.string(), TangramStyleValueSchema)
|
|
103
|
+
]).optional(),
|
|
104
|
+
global: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
105
|
+
cameras: z.record(z.string(), z.record(z.string(), TangramStyleValueSchema)).optional(),
|
|
106
|
+
scene: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
107
|
+
lights: z.union([
|
|
108
|
+
z.record(z.string(), z.record(z.string(), TangramStyleValueSchema)),
|
|
109
|
+
z.array(LumaLightSchema)
|
|
110
|
+
]).optional(),
|
|
111
|
+
fonts: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
112
|
+
textures: z.record(z.string(), TangramStyleValueSchema).optional(),
|
|
113
|
+
styles: z.record(z.string(), TangramStyleSchema).optional(),
|
|
114
|
+
sources: z.record(z.string(), TangramSourceSchema).optional(),
|
|
115
|
+
layers: z.record(z.string(), TangramLayerSchema).optional()
|
|
116
|
+
}).passthrough();
|
|
117
|
+
export {
|
|
118
|
+
LumaLightSchema,
|
|
119
|
+
TangramLayerDataSchema,
|
|
120
|
+
TangramLayerSchema,
|
|
121
|
+
TangramSourceSchema,
|
|
122
|
+
TangramStyleSchema,
|
|
123
|
+
TangramStyleSheetSchema,
|
|
124
|
+
TangramStyleValueSchema
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=style-schema.js.map
|