@ue-too/board 0.17.3 → 0.17.4

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/index.js.map CHANGED
@@ -78,11 +78,11 @@
78
78
  "import { BaseContext } from '@ue-too/being';\n\nimport { Canvas } from './kmt-input-context';\n\n/**\n * Represents a single touch point in window coordinates.\n *\n * @property ident - The unique identifier for this touch point (from TouchEvent.identifier)\n * @property x - X coordinate in window space\n * @property y - Y coordinate in window space\n *\n * @remarks\n * Touch points are tracked by their identifiers to maintain consistency across touch events.\n * Each finger/contact point maintains its identifier for the duration of the touch interaction.\n *\n * @category Input State Machine - Touch\n */\nexport type TouchPoints = {\n ident: number;\n x: number;\n y: number;\n};\n\n/**\n * Context interface for the touch input state machine.\n *\n * @remarks\n * This context manages the state required for multi-touch gesture recognition:\n *\n * **Touch Point Tracking**:\n * - Maintains a map of active touch points by identifier\n * - Stores initial positions to calculate deltas for pan gestures\n * - Stores initial distances to calculate zoom factors\n *\n * **Gesture Recognition**:\n * - Single-finger: Not handled (reserved for UI interactions)\n * - Two-finger: Pan and pinch-to-zoom gestures\n * - Three+ fingers: Currently not handled\n *\n * **Coordinate System**:\n * Similar to KMT, the `alignCoordinateSystem` flag controls Y-axis orientation.\n *\n * This interface extends BaseContext from the @ue-too/being state machine library.\n *\n * @category Input State Machine - Touch\n */\nexport interface TouchContext extends BaseContext {\n /** Adds new touch points to tracking */\n addTouchPoints: (points: TouchPoints[]) => void;\n /** Removes touch points from tracking by identifier */\n removeTouchPoints: (idents: number[]) => void;\n /** Returns the current number of active touch points */\n getCurrentTouchPointsCount: () => number;\n /** Retrieves the initial positions of specific touch points */\n getInitialTouchPointsPositions: (idents: number[]) => TouchPoints[];\n /** Updates the current positions of touch points */\n updateTouchPoints: (pointsMoved: TouchPoints[]) => void;\n /** Whether to use standard screen coordinate system (vs inverted Y-axis) */\n alignCoordinateSystem: boolean;\n /** Canvas accessor for dimensions and coordinate transformations */\n canvas: Canvas;\n}\n\n/**\n * Production implementation of TouchContext that tracks multi-touch state.\n *\n * @remarks\n * This class maintains a map of active touch points, storing their initial positions\n * to enable gesture recognition. The state machine uses this context to:\n *\n * - Calculate pan deltas (difference between initial and current midpoint)\n * - Calculate zoom factors (change in distance between two touch points)\n * - Determine gesture type (pan vs zoom based on relative magnitudes)\n *\n * **Touch Point Lifecycle**:\n * 1. `addTouchPoints`: Called on touchstart to register new touches\n * 2. `updateTouchPoints`: Called on touchmove to update current positions\n * 3. `removeTouchPoints`: Called on touchend/touchcancel to unregister touches\n *\n * The initial positions are preserved until the touch ends, allowing continuous\n * calculation of deltas throughout the gesture.\n *\n * @category Input State Machine - Touch\n *\n * @example\n * ```typescript\n * const canvasProxy = new CanvasProxy(canvasElement);\n * const context = new TouchInputTracker(canvasProxy);\n * const stateMachine = createTouchInputStateMachine(context);\n *\n * // When a two-finger touch starts\n * context.addTouchPoints([\n * {ident: 0, x: 100, y: 200},\n * {ident: 1, x: 300, y: 200}\n * ]);\n * console.log(context.getCurrentTouchPointsCount()); // 2\n * ```\n */\nexport class TouchInputTracker implements TouchContext {\n private _touchPointsMap: Map<number, TouchPoints> = new Map<\n number,\n TouchPoints\n >();\n private _canvas: Canvas;\n private _alignCoordinateSystem: boolean;\n\n constructor(canvas: Canvas) {\n this._canvas = canvas;\n this._alignCoordinateSystem = true;\n }\n\n addTouchPoints(points: TouchPoints[]): void {\n points.forEach(point => {\n this._touchPointsMap.set(point.ident, { ...point });\n });\n }\n\n removeTouchPoints(identifiers: number[]): void {\n identifiers.forEach(ident => {\n if (this._touchPointsMap.has(ident)) {\n this._touchPointsMap.delete(ident);\n }\n });\n }\n\n getCurrentTouchPointsCount(): number {\n return this._touchPointsMap.size;\n }\n\n getInitialTouchPointsPositions(idents: number[]): TouchPoints[] {\n const res: TouchPoints[] = [];\n idents.forEach(ident => {\n if (this._touchPointsMap.has(ident)) {\n const point = this._touchPointsMap.get(ident);\n if (point) {\n res.push(point);\n }\n }\n });\n return res;\n }\n\n updateTouchPoints(pointsMoved: TouchPoints[]): void {\n pointsMoved.forEach(point => {\n if (this._touchPointsMap.has(point.ident)) {\n this._touchPointsMap.set(point.ident, { ...point });\n }\n });\n }\n\n get alignCoordinateSystem(): boolean {\n return this._alignCoordinateSystem;\n }\n\n set alignCoordinateSystem(value: boolean) {\n this._alignCoordinateSystem = value;\n }\n\n get canvas(): Canvas {\n return this._canvas;\n }\n\n cleanup(): void {}\n\n setup(): void {}\n}\n",
79
79
  "import {\n EventGuards,\n EventReactions,\n Guard,\n TemplateState,\n TemplateStateMachine,\n} from '@ue-too/being';\nimport { PointCal } from '@ue-too/math';\nimport type { Point } from '@ue-too/math';\n\nimport { TouchContext, TouchPoints } from './touch-input-context';\n\n/**\n * Possible states of the touch input state machine.\n *\n * @remarks\n * State transitions:\n * - **IDLE**: No touches active, or single touch (reserved for UI)\n * - **PENDING**: Exactly two touches active, waiting for movement to determine gesture type\n * - **IN_PROGRESS**: Two-finger gesture in progress (pan or zoom)\n *\n * The state machine only handles two-finger gestures. Single-finger touches are ignored\n * to avoid interfering with UI interactions (button clicks, text selection, etc.).\n *\n * @category Input State Machine - Touch\n */\nexport type TouchStates = 'IDLE' | 'PENDING' | 'IN_PROGRESS';\n\n/**\n * Payload for touch events containing active touch points.\n *\n * @property points - Array of touch points involved in this event\n *\n * @category Input State Machine - Touch\n */\nexport type TouchEventPayload = {\n points: TouchPoints[];\n};\n\n/**\n * Output events produced by the touch state machine for the orchestrator.\n *\n * @remarks\n * Touch gestures are recognized from two-finger interactions:\n *\n * **Pan Gesture**:\n * - Two fingers move in the same direction\n * - Delta is calculated from the midpoint movement\n * - Triggers when midpoint delta > distance delta\n *\n * **Zoom Gesture**:\n * - Two fingers move toward/away from each other (pinch)\n * - Delta is calculated from distance change between fingers\n * - Anchor point is the midpoint between fingers\n * - Triggers when distance delta > midpoint delta\n *\n * **Coordinate Spaces**:\n * - Pan delta is in window pixels\n * - Zoom anchor point is in viewport coordinates\n *\n * @category Input State Machine - Touch\n */\nexport type TouchOutputEvent =\n | { type: 'pan'; delta: Point }\n | { type: 'zoom'; delta: number; anchorPointInViewPort: Point }\n | { type: 'none' };\n\n/**\n * Event mapping for the touch input state machine.\n *\n * @remarks\n * Maps touch event names to their payload types. The state machine handles\n * the three core touch events: touchstart, touchmove, and touchend.\n *\n * @category Input State Machine - Touch\n */\nexport type TouchEventMapping = {\n touchstart: TouchEventPayload;\n touchmove: TouchEventPayload;\n touchend: TouchEventPayload;\n};\n\n/**\n * Mapping of events to their output types.\n *\n * @remarks\n * Only touchmove produces outputs (pan or zoom gestures).\n * touchstart and touchend only manage state transitions.\n *\n * @category Input State Machine - Touch\n */\nexport type TouchInputEventOutputMapping = {\n touchmove: TouchOutputEvent;\n};\n\n/**\n * IDLE state - waiting for two-finger touch.\n *\n * @remarks\n * This state handles touch lifecycle but only transitions to PENDING when exactly\n * two touches are active. Single touches and three+ touches are ignored.\n *\n * **Guard Condition**:\n * Transitions to PENDING only when `getCurrentTouchPointsCount() === 2`.\n * This ensures the state machine only handles two-finger gestures.\n *\n * @category Input State Machine - Touch\n */\nexport class IdleState extends TemplateState<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n> {\n protected _eventReactions: EventReactions<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n > = {\n touchstart: {\n action: this.touchstart,\n defaultTargetState: 'IDLE',\n },\n touchend: {\n action: this.touchend,\n defaultTargetState: 'IDLE',\n },\n };\n\n protected _guards: Guard<TouchContext, 'touchPointsCount'> = {\n touchPointsCount: ((context: TouchContext) => {\n return context.getCurrentTouchPointsCount() === 2;\n }).bind(this),\n };\n\n protected _eventGuards: Partial<\n EventGuards<\n TouchEventMapping,\n TouchStates,\n TouchContext,\n typeof this._guards\n >\n > = {\n touchstart: [\n {\n guard: 'touchPointsCount',\n target: 'PENDING',\n },\n ],\n touchend: [\n {\n guard: 'touchPointsCount',\n target: 'PENDING',\n },\n ],\n };\n\n touchstart(context: TouchContext, payload: TouchEventPayload): void {\n context.addTouchPoints(payload.points);\n }\n\n touchend(context: TouchContext, payload: TouchEventPayload): void {\n context.removeTouchPoints(payload.points.map(p => p.ident));\n }\n}\n\n/**\n * @description The pending state of the touch input state machine.\n *\n * @category Input State Machine\n */\nexport class PendingState extends TemplateState<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n> {\n protected _eventReactions: EventReactions<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n > = {\n touchstart: {\n action: this.touchstart,\n defaultTargetState: 'IDLE',\n },\n touchend: {\n action: this.touchend,\n defaultTargetState: 'IDLE',\n },\n touchmove: {\n action: this.touchmove,\n defaultTargetState: 'IN_PROGRESS',\n },\n };\n\n touchstart(context: TouchContext, payload: TouchEventPayload): void {\n context.addTouchPoints(payload.points);\n }\n\n touchend(context: TouchContext, payload: TouchEventPayload): void {\n context.removeTouchPoints(payload.points.map(p => p.ident));\n }\n\n touchmove(\n context: TouchContext,\n payload: TouchEventPayload\n ): TouchOutputEvent {\n const idents = payload.points.map(p => p.ident);\n const initialPositions = context.getInitialTouchPointsPositions(idents);\n const currentPositions = payload.points;\n const initialStartAndEndDistance = PointCal.distanceBetweenPoints(\n initialPositions[0],\n initialPositions[1]\n );\n const currentStartAndEndDistance = PointCal.distanceBetweenPoints(\n currentPositions[0],\n currentPositions[1]\n );\n const midPoint = PointCal.linearInterpolation(\n initialPositions[0],\n initialPositions[1],\n 0.5\n );\n const currentMidPoint = PointCal.linearInterpolation(\n currentPositions[0],\n currentPositions[1],\n 0.5\n );\n const midPointDelta = PointCal.subVector(midPoint, currentMidPoint);\n const cameraCenterInWindow = {\n x: context.canvas.position.x + context.canvas.width / 2,\n y: context.canvas.position.y + context.canvas.height / 2,\n };\n const midPointInViewPort = PointCal.subVector(\n midPoint,\n cameraCenterInWindow\n );\n let panZoom =\n Math.abs(currentStartAndEndDistance - initialStartAndEndDistance) >\n PointCal.distanceBetweenPoints(midPoint, currentMidPoint)\n ? 'ZOOMING'\n : 'PANNING';\n\n context.updateTouchPoints(currentPositions);\n switch (panZoom) {\n case 'ZOOMING':\n return {\n type: 'zoom',\n delta:\n (currentStartAndEndDistance -\n initialStartAndEndDistance) *\n 0.005,\n anchorPointInViewPort: midPointInViewPort,\n };\n case 'PANNING':\n return {\n type: 'pan',\n delta: midPointDelta,\n };\n default:\n console.warn('Unknown panZoom state', panZoom);\n return { type: 'none' };\n }\n }\n}\n\n/**\n * @description The in progress state of the touch input state machine.\n *\n * @category Input State Machine\n */\nexport class InProgressState extends TemplateState<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n> {\n protected _eventReactions: EventReactions<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n > = {\n touchmove: {\n action: this.touchmove,\n defaultTargetState: 'IN_PROGRESS',\n },\n touchend: {\n action: this.touchend,\n defaultTargetState: 'IDLE',\n },\n touchstart: {\n action: () => 'IDLE',\n defaultTargetState: 'IDLE',\n },\n };\n\n touchmove(\n context: TouchContext,\n payload: TouchEventPayload\n ): TouchOutputEvent {\n const idents = payload.points.map(p => p.ident);\n const initialPositions = context.getInitialTouchPointsPositions(idents);\n const currentPositions = payload.points;\n const initialStartAndEndDistance = PointCal.distanceBetweenPoints(\n initialPositions[0],\n initialPositions[1]\n );\n const currentStartAndEndDistance = PointCal.distanceBetweenPoints(\n currentPositions[0],\n currentPositions[1]\n );\n const midPoint = PointCal.linearInterpolation(\n initialPositions[0],\n initialPositions[1],\n 0.5\n );\n const currentMidPoint = PointCal.linearInterpolation(\n currentPositions[0],\n currentPositions[1],\n 0.5\n );\n const midPointDelta = PointCal.subVector(midPoint, currentMidPoint);\n const cameraCenterInWindow = {\n x: context.canvas.position.x + context.canvas.width / 2,\n y: context.canvas.position.y + context.canvas.height / 2,\n };\n const midPointInViewPort = PointCal.subVector(\n midPoint,\n cameraCenterInWindow\n );\n let panZoom =\n Math.abs(currentStartAndEndDistance - initialStartAndEndDistance) >\n PointCal.distanceBetweenPoints(midPoint, currentMidPoint)\n ? 'ZOOMING'\n : 'PANNING';\n\n context.updateTouchPoints(currentPositions);\n switch (panZoom) {\n case 'ZOOMING':\n if (!context.alignCoordinateSystem) {\n midPointInViewPort.y = -midPointInViewPort.y;\n }\n return {\n type: 'zoom',\n delta:\n -(\n initialStartAndEndDistance -\n currentStartAndEndDistance\n ) * 0.005,\n anchorPointInViewPort: midPointInViewPort,\n };\n case 'PANNING':\n if (!context.alignCoordinateSystem) {\n midPointDelta.y = -midPointDelta.y;\n }\n return {\n type: 'pan',\n delta: midPointDelta,\n };\n default:\n console.warn('Unknown panZoom state', panZoom);\n return { type: 'none' };\n }\n }\n\n touchend(context: TouchContext, payload: TouchEventPayload): void {\n context.removeTouchPoints(payload.points.map(p => p.ident));\n }\n}\n\n/**\n * Type alias for the touch input state machine.\n *\n * @category Input State Machine - Touch\n */\nexport type TouchInputStateMachine = TemplateStateMachine<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n>;\n\n/**\n * Creates a new touch input state machine for multi-touch gesture recognition.\n *\n * @param context - The context providing touch point tracking and canvas access\n * @returns A configured state machine ready to process touch events\n *\n * @remarks\n * This factory creates a state machine that recognizes two-finger pan and pinch-to-zoom gestures.\n *\n * **State Flow**:\n * ```\n * IDLE → (2 touches start) → PENDING → (touch move) → IN_PROGRESS\n * IN_PROGRESS → (touch end) → IDLE\n * ```\n *\n * **Gesture Recognition Algorithm**:\n * 1. Wait for exactly 2 touches (IDLE → PENDING)\n * 2. On first move, determine gesture type:\n * - If distance change > midpoint change: ZOOM\n * - If midpoint change > distance change: PAN\n * 3. Continue producing pan/zoom outputs until touches end\n *\n * **Pan Gesture**:\n * Delta = current midpoint - initial midpoint\n *\n * **Zoom Gesture**:\n * Delta = (current distance - initial distance) * 0.005\n * Anchor = midpoint in viewport coordinates\n *\n * @category Input State Machine - Touch\n *\n * @example\n * ```typescript\n * const canvasProxy = new CanvasProxy(canvasElement);\n * const context = new TouchInputTracker(canvasProxy);\n * const stateMachine = createTouchInputStateMachine(context);\n *\n * // Process a touch start event with 2 fingers\n * const result = stateMachine.happens(\"touchstart\", {\n * points: [\n * {ident: 0, x: 100, y: 200},\n * {ident: 1, x: 300, y: 200}\n * ]\n * });\n * console.log(result.nextState); // \"PENDING\"\n * ```\n */\nexport function createTouchInputStateMachine(\n context: TouchContext\n): TouchInputStateMachine {\n return new TemplateStateMachine<\n TouchEventMapping,\n TouchContext,\n TouchStates,\n TouchInputEventOutputMapping\n >(\n {\n IDLE: new IdleState(),\n PENDING: new PendingState(),\n IN_PROGRESS: new InProgressState(),\n },\n 'IDLE',\n context\n );\n}\n",
80
80
  "import {\n CreateStateType,\n EventArgs,\n EventGuards,\n EventReactions,\n EventResult,\n Guard,\n NO_OP,\n TemplateState,\n TemplateStateMachine,\n} from '@ue-too/being';\nimport type { Point } from '@ue-too/math';\n\nimport { convertFromWindow2ViewPortWithCanvasOperator } from '../../utils/coorindate-conversion';\nimport {\n Canvas,\n CursorStyle,\n DummyKmtInputContext,\n KmtInputContext,\n ObservableInputTracker,\n} from './kmt-input-context';\n\nconst KMT_INPUT_STATES = [\n 'IDLE',\n 'READY_TO_PAN_VIA_SPACEBAR',\n 'READY_TO_PAN_VIA_SCROLL_WHEEL',\n 'PAN',\n 'INITIAL_PAN',\n 'PAN_VIA_SCROLL_WHEEL',\n 'DISABLED',\n] as const;\n\n/**\n * Possible states of the Keyboard/Mouse/Trackpad input state machine.\n *\n * @remarks\n * State transitions:\n * - **IDLE**: Default state, waiting for user input\n * - **READY_TO_PAN_VIA_SPACEBAR**: Spacebar pressed, ready to pan with left-click drag\n * - **INITIAL_PAN**: First frame of pan via spacebar (detects accidental clicks)\n * - **PAN**: Active panning via spacebar + left-click drag\n * - **READY_TO_PAN_VIA_SCROLL_WHEEL**: Middle mouse button pressed, ready to pan\n * - **PAN_VIA_SCROLL_WHEEL**: Active panning via middle-click drag\n * - **DISABLED**: Input temporarily disabled (e.g., during UI interactions)\n *\n * @category Input State Machine - KMT\n */\nexport type KmtInputStates = CreateStateType<typeof KMT_INPUT_STATES>;\n\n/**\n * Payload for pointer events (mouse button press/release/move).\n *\n * @property x - X coordinate in window space\n * @property y - Y coordinate in window space\n *\n * @category Input State Machine - KMT\n */\nexport type PointerEventPayload = {\n x: number;\n y: number;\n};\n\n/**\n * @internal\n */\ntype EmptyPayload = {};\n\n/**\n * Payload for scroll wheel events.\n *\n * @property deltaX - Horizontal scroll delta\n * @property deltaY - Vertical scroll delta\n *\n * @category Input State Machine - KMT\n */\nexport type ScrollEventPayload = {\n deltaX: number;\n deltaY: number;\n};\n\n/**\n * Payload for scroll events combined with ctrl key (zoom gesture).\n *\n * @property deltaX - Horizontal scroll delta\n * @property deltaY - Vertical scroll delta\n * @property x - Cursor X coordinate in window space (zoom anchor point)\n * @property y - Cursor Y coordinate in window space (zoom anchor point)\n *\n * @category Input State Machine - KMT\n */\nexport type ScrollWithCtrlEventPayload = {\n deltaX: number;\n deltaY: number;\n x: number;\n y: number;\n};\n\n/**\n * Event mapping for the KMT input state machine.\n *\n * @remarks\n * Maps event names to their payload types. Used by the state machine framework\n * to provide type-safe event handling.\n *\n * Key events:\n * - **leftPointerDown/Up/Move**: Left mouse button interactions\n * - **middlePointerDown/Up/Move**: Middle mouse button interactions (pan)\n * - **spacebarDown/Up**: Spacebar for pan mode\n * - **scroll**: Regular scroll (pan or zoom depending on device)\n * - **scrollWithCtrl**: Ctrl + scroll (always zoom)\n * - **disable/enable**: Temporarily disable/enable input processing\n *\n * @category Input State Machine - KMT\n */\nexport type KmtInputEventMapping = {\n leftPointerDown: PointerEventPayload;\n leftPointerUp: PointerEventPayload;\n leftPointerMove: PointerEventPayload;\n spacebarDown: EmptyPayload;\n spacebarUp: EmptyPayload;\n escapeKey: EmptyPayload;\n stayIdle: EmptyPayload;\n cursorOnElement: EmptyPayload;\n scroll: ScrollWithCtrlEventPayload;\n scrollWithCtrl: ScrollWithCtrlEventPayload;\n middlePointerDown: PointerEventPayload;\n middlePointerUp: PointerEventPayload;\n middlePointerMove: PointerEventPayload;\n disable: EmptyPayload;\n enable: EmptyPayload;\n pointerMove: PointerEventPayload;\n arrowUp: EmptyPayload;\n arrowDown: EmptyPayload;\n F: EmptyPayload;\n G: EmptyPayload;\n Q: EmptyPayload;\n};\n\n/**\n * @internal\n */\ntype PanEventOutput = {\n type: 'pan';\n delta: Point;\n};\n\n/**\n * @internal\n */\ntype ZoomEventOutput = {\n type: 'zoom';\n delta: number;\n anchorPoint: Point;\n};\n\n/**\n * Output events produced by the KMT state machine for the orchestrator.\n *\n * @remarks\n * These high-level gesture events are the result of recognizing patterns in raw DOM events.\n * The orchestrator receives these events and coordinates camera control and observer notification.\n *\n * **Event Types**:\n * - **pan**: Camera translation with delta in viewport coordinates\n * - **zoom**: Camera scale change with anchor point in viewport coordinates\n * - **rotate**: Camera rotation change (currently unused in KMT)\n * - **cursor**: Cursor style change request (handled by state uponEnter/beforeExit)\n * - **none**: No action required\n *\n * **Coordinate Spaces**:\n * - Pan delta is in viewport pixels\n * - Zoom anchor point is in viewport coordinates (origin at viewport center)\n *\n * @category Input State Machine - KMT\n */\nexport type KmtOutputEvent =\n | { type: 'pan'; delta: Point }\n | { type: 'zoom'; delta: number; anchorPointInViewPort: Point }\n | { type: 'rotate'; deltaRotation: number }\n | { type: 'cursor'; style: CursorStyle }\n | { type: 'none' };\n\n/**\n * Mapping of events to their output types.\n *\n * @remarks\n * Defines which events produce outputs. Not all events produce outputs - some only\n * cause state transitions. This mapping is used by the state machine framework for\n * type-safe output handling.\n *\n * @category Input State Machine - KMT\n */\nexport type KmtInputEventOutputMapping = {\n middlePointerMove: KmtOutputEvent;\n scroll: KmtOutputEvent;\n scrollWithCtrl: KmtOutputEvent;\n leftPointerMove: KmtOutputEvent;\n};\n\n/**\n * @internal\n */\nexport type KmtIdleStatePossibleTargetStates =\n | 'IDLE'\n | 'READY_TO_PAN_VIA_SPACEBAR'\n | 'READY_TO_PAN_VIA_SCROLL_WHEEL'\n | 'DISABLED';\n\n/**\n * IDLE state - default state waiting for user input.\n *\n * @remarks\n * This is the default state of the KMT input state machine. It handles scroll events\n * for panning and zooming, and transitions to pan-ready states when the user presses\n * spacebar or middle-click.\n *\n * **Responsibilities**:\n * - Process scroll events (pan or zoom depending on device and modifiers)\n * - Detect spacebar press to enter pan mode\n * - Detect middle-click to enter pan mode\n * - Distinguish between mouse and trackpad input modalities\n *\n * **Scroll Behavior**:\n * - Ctrl + Scroll: Always zoom (both mouse and trackpad)\n * - Scroll (no Ctrl): Pan (trackpad) or Zoom (mouse, determined by modality detection)\n *\n * **Input Modality Detection**:\n * The state tracks horizontal scroll deltas to distinguish trackpads (which produce deltaX)\n * from mice (which typically only produce deltaY). This affects zoom behavior.\n *\n * @category Input State Machine - KMT\n */\nexport class KmtIdleState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n\n protected _guards: Guard<KmtInputContext, 'isIdle'> = {\n isIdle: () => true,\n };\n\n protected _eventGuards: Partial<\n EventGuards<\n KmtInputEventMapping,\n KmtInputStates,\n KmtInputContext,\n Guard<KmtInputContext>\n >\n > = {};\n\n // Arrow function properties must be defined before _eventReactions to ensure proper initialization order\n scrollPan = (\n context: KmtInputContext,\n payload: ScrollEventPayload\n ): KmtOutputEvent => {\n const delta = { ...payload };\n if (!context.alignCoordinateSystem) {\n delta.deltaY = -delta.deltaY;\n }\n return {\n type: 'pan',\n delta: { x: delta.deltaX, y: delta.deltaY },\n };\n };\n\n scrollZoom = (\n context: KmtInputContext,\n payload: ScrollWithCtrlEventPayload\n ): KmtOutputEvent => {\n let scrollSensitivity = 0.005;\n if (Math.abs(payload.deltaY) > 100) {\n scrollSensitivity = 0.0005;\n }\n const zoomAmount = payload.deltaY * scrollSensitivity;\n const cursorPosition = { x: payload.x, y: payload.y };\n const anchorPointInViewPort =\n convertFromWindow2ViewPortWithCanvasOperator(\n cursorPosition,\n context.canvas,\n { x: context.canvas.width / 2, y: context.canvas.height / 2 },\n !context.alignCoordinateSystem\n );\n return {\n type: 'zoom',\n delta: -(zoomAmount * 5),\n anchorPointInViewPort,\n };\n };\n\n scrollHandler = (\n context: KmtInputContext,\n payload: ScrollWithCtrlEventPayload\n ): KmtOutputEvent => {\n if (payload.deltaX === 0 && payload.deltaY !== 0) {\n context.addKmtTrackpadTrackScore();\n } else if (payload.deltaX !== 0 && payload.deltaY !== 0) {\n context.subtractKmtTrackpadTrackScore();\n }\n if (context.mode === 'kmt') {\n return this.scrollZoom(context, payload);\n } else {\n return this.scrollPan(context, payload);\n }\n };\n\n scrollWithCtrlHandler = (\n context: KmtInputContext,\n payload: ScrollWithCtrlEventPayload\n ): KmtOutputEvent => {\n return this.scrollZoom(context, payload);\n };\n\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n spacebarDown: {\n action: this.spacebarDownHandler,\n defaultTargetState: 'READY_TO_PAN_VIA_SPACEBAR',\n },\n scroll: {\n action: this.scrollHandler,\n defaultTargetState: 'IDLE',\n },\n scrollWithCtrl: {\n action: this.scrollWithCtrlHandler,\n defaultTargetState: 'IDLE',\n },\n middlePointerDown: {\n action: this.middlePointerDownHandler,\n defaultTargetState: 'READY_TO_PAN_VIA_SCROLL_WHEEL',\n },\n disable: {\n action: NO_OP,\n defaultTargetState: 'DISABLED',\n },\n };\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.DEFAULT);\n }\n\n spacebarDownHandler(\n context: KmtInputContext,\n payload: EmptyPayload\n ): number {\n // context.canvas.setCursor(CursorStyle.GRAB);\n return 1;\n }\n\n middlePointerDownHandler(\n context: KmtInputContext,\n payload: PointerEventPayload\n ): void {\n // probably from kmt\n context.addKmtTrackpadTrackScore();\n if (context.mode === 'TBD') {\n context.setMode('kmt');\n }\n context.setInitialCursorPosition({ x: payload.x, y: payload.y });\n }\n}\n\nexport class DisabledState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.DEFAULT);\n // context.toggleOnEdgeAutoCameraInput();\n }\n\n beforeExit(context: KmtInputContext): void {\n // context.toggleOffEdgeAutoCameraInput();\n }\n\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n enable: {\n action: NO_OP,\n defaultTargetState: 'IDLE',\n },\n };\n}\n\n/**\n * @description The ready to pan via space bar state of the keyboard mouse and trackpad input state machine.\n *\n * @category Input State Machine\n */\nexport class ReadyToPanViaSpaceBarState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n spacebarUp: {\n action: NO_OP,\n defaultTargetState: 'IDLE',\n },\n leftPointerDown: {\n action: this.leftPointerDownHandler,\n defaultTargetState: 'INITIAL_PAN',\n },\n disable: {\n action: context => context.cancelCurrentAction(),\n defaultTargetState: 'DISABLED',\n },\n leftPointerMove: {\n action: NO_OP,\n defaultTargetState: 'READY_TO_PAN_VIA_SPACEBAR',\n },\n };\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.GRAB);\n }\n\n leftPointerDownHandler(\n context: KmtInputContext,\n payload: PointerEventPayload\n ): void {\n context.setInitialCursorPosition({ x: payload.x, y: payload.y });\n }\n}\n\n/**\n * @description The initial pan state of the keyboard mouse and trackpad input state machine.\n *\n * @category Input State Machine\n */\nexport class InitialPanState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n leftPointerUp: {\n action: NO_OP,\n defaultTargetState: 'READY_TO_PAN_VIA_SPACEBAR',\n },\n leftPointerMove: {\n action: this.leftPointerMoveHandler,\n defaultTargetState: 'PAN',\n },\n spacebarUp: {\n action: () => 'IDLE',\n defaultTargetState: 'IDLE',\n },\n leftPointerDown: {\n action: () => 'PAN',\n defaultTargetState: 'PAN',\n },\n };\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.GRABBING);\n }\n\n leftPointerMoveHandler(\n context: KmtInputContext,\n payload: PointerEventPayload\n ): KmtOutputEvent {\n const delta = {\n x: context.initialCursorPosition.x - payload.x,\n y: context.initialCursorPosition.y - payload.y,\n };\n if (!context.alignCoordinateSystem) {\n delta.y = -delta.y;\n }\n context.setInitialCursorPosition({ x: payload.x, y: payload.y });\n return {\n type: 'pan',\n delta: delta,\n };\n }\n}\n\n/**\n * @description The ready to pan via scroll wheel state of the keyboard mouse and trackpad input state machine.\n *\n * @category Input State Machine\n */\nexport class ReadyToPanViaScrollWheelState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n middlePointerUp: {\n action: NO_OP,\n defaultTargetState: 'IDLE',\n },\n middlePointerMove: {\n action: NO_OP,\n defaultTargetState: 'PAN_VIA_SCROLL_WHEEL',\n },\n };\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.GRABBING);\n }\n}\n\n/**\n * @description The pan state of the keyboard mouse and trackpad input state machine.\n *\n * @category Input State Machine\n */\nexport class PanState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n leftPointerUp: {\n action: NO_OP,\n defaultTargetState: 'READY_TO_PAN_VIA_SPACEBAR',\n },\n leftPointerMove: {\n action: this.leftPointerMoveHandler,\n defaultTargetState: 'PAN',\n },\n spacebarUp: {\n action: NO_OP,\n defaultTargetState: 'IDLE',\n },\n };\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.GRABBING);\n }\n\n beforeExit(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.DEFAULT);\n }\n\n leftPointerMoveHandler(\n context: KmtInputContext,\n payload: PointerEventPayload\n ): KmtOutputEvent {\n const delta = {\n x: context.initialCursorPosition.x - payload.x,\n y: context.initialCursorPosition.y - payload.y,\n };\n if (!context.alignCoordinateSystem) {\n delta.y = -delta.y;\n }\n context.setInitialCursorPosition({ x: payload.x, y: payload.y });\n return {\n type: 'pan',\n delta: delta,\n };\n }\n}\n\n/**\n * @description The pan via scroll wheel state of the keyboard mouse and trackpad input state machine.\n *\n * @category Input State Machine\n */\nexport class PanViaScrollWheelState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n protected _eventReactions: EventReactions<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n > = {\n middlePointerUp: {\n action: NO_OP,\n defaultTargetState: 'IDLE',\n },\n middlePointerMove: {\n action: this.middlePointerMoveHandler,\n defaultTargetState: 'PAN_VIA_SCROLL_WHEEL',\n },\n };\n\n middlePointerMoveHandler(\n context: KmtInputContext,\n payload: PointerEventPayload\n ): KmtOutputEvent {\n const delta = {\n x: context.initialCursorPosition.x - payload.x,\n y: context.initialCursorPosition.y - payload.y,\n };\n if (!context.alignCoordinateSystem) {\n delta.y = -delta.y;\n }\n context.setInitialCursorPosition({ x: payload.x, y: payload.y });\n return {\n type: 'pan',\n delta: delta,\n };\n }\n\n uponEnter(context: KmtInputContext): void {\n context.canvas.setCursor(CursorStyle.GRABBING);\n }\n}\n\nexport class KmtEmptyState extends TemplateState<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n constructor() {\n super();\n }\n}\n\n/**\n * Type alias for the KMT input state machine.\n *\n * @category Input State Machine - KMT\n */\nexport type KmtInputStateMachine = TemplateStateMachine<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n>;\n\n/**\n * Creates a new KMT (Keyboard/Mouse/Trackpad) input state machine.\n *\n * @param context - The context providing state and canvas access for the state machine\n * @returns A configured state machine ready to process KMT input events\n *\n * @remarks\n * This factory function creates a fully configured state machine with all KMT gesture\n * recognition states. The state machine processes raw input events and produces\n * high-level gesture outputs (pan, zoom, rotate).\n *\n * **State Flow**:\n * ```\n * IDLE → (spacebar) → READY_TO_PAN_VIA_SPACEBAR → (click) → INITIAL_PAN → PAN\n * IDLE → (middle-click) → READY_TO_PAN_VIA_SCROLL_WHEEL → PAN_VIA_SCROLL_WHEEL\n * IDLE → (scroll) → [produces pan or zoom output, stays in IDLE]\n * ```\n *\n * **Gesture Recognition**:\n * - **Pan via spacebar**: Spacebar + left-click drag\n * - **Pan via middle-click**: Middle-click drag\n * - **Zoom**: Ctrl + scroll (mouse) or scroll (trackpad, auto-detected)\n * - **Pan via scroll**: Scroll (trackpad) or scroll without Ctrl (varies by device)\n *\n * @category Input State Machine - KMT\n *\n * @example\n * ```typescript\n * const canvasProxy = new CanvasProxy(canvasElement);\n * const context = new ObservableInputTracker(canvasProxy);\n * const stateMachine = createKmtInputStateMachine(context);\n *\n * // Process an event\n * const result = stateMachine.happens(\"scroll\", {\n * deltaX: 0,\n * deltaY: 10,\n * x: 500,\n * y: 300\n * });\n *\n * // Check for output\n * if (result.output) {\n * console.log(\"Gesture recognized:\", result.output.type);\n * }\n * ```\n */\nexport function createKmtInputStateMachine(\n context: KmtInputContext\n): KmtInputStateMachine {\n const states = {\n IDLE: new KmtIdleState(),\n READY_TO_PAN_VIA_SPACEBAR: new ReadyToPanViaSpaceBarState(),\n INITIAL_PAN: new InitialPanState(),\n PAN: new PanState(),\n READY_TO_PAN_VIA_SCROLL_WHEEL: new ReadyToPanViaScrollWheelState(),\n PAN_VIA_SCROLL_WHEEL: new PanViaScrollWheelState(),\n DISABLED: new DisabledState(),\n };\n return new TemplateStateMachine<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n >(states, 'IDLE', context);\n}\n\nexport function createKmtInputStateMachineWithCanvas(\n canvas: Canvas\n): KmtInputStateMachine {\n const context = new ObservableInputTracker(canvas);\n\n return createKmtInputStateMachine(context);\n}\n\nexport class KmtInputStateMachineWebWorkerProxy extends TemplateStateMachine<\n KmtInputEventMapping,\n KmtInputContext,\n KmtInputStates,\n KmtInputEventOutputMapping\n> {\n private _webworker: Worker;\n\n constructor(webworker: Worker) {\n super(\n {\n IDLE: new KmtEmptyState(),\n READY_TO_PAN_VIA_SPACEBAR: new KmtEmptyState(),\n INITIAL_PAN: new KmtEmptyState(),\n PAN: new KmtEmptyState(),\n READY_TO_PAN_VIA_SCROLL_WHEEL: new KmtEmptyState(),\n PAN_VIA_SCROLL_WHEEL: new KmtEmptyState(),\n DISABLED: new DisabledState(),\n },\n 'IDLE',\n new DummyKmtInputContext()\n );\n this._webworker = webworker;\n }\n\n happens(\n ...args: EventArgs<\n KmtInputEventMapping,\n keyof KmtInputEventMapping | string\n >\n ): EventResult<KmtInputStates> {\n this._webworker.postMessage({\n type: 'kmtInputStateMachine',\n event: args[0],\n payload: args[1],\n });\n return { handled: true, nextState: 'IDLE' };\n }\n}\n",
81
- "import type { EventArgs, EventResult } from '@ue-too/being';\n\nimport type {\n KmtInputEventMapping,\n KmtInputStateMachine,\n} from '../../input-interpretation/input-state-machine';\nimport type { InputOrchestrator } from '../input-orchestrator';\n\n/**\n * Interface for KMT (Keyboard/Mouse/Trackpad) event parsers.\n *\n * @remarks\n * Event parsers bridge the gap between DOM events and the state machine.\n * They listen for raw DOM events, convert them to state machine events,\n * and coordinate with the orchestrator for output processing.\n *\n * @category Raw Input Parser\n */\nexport interface KMTEventParser {\n /** Whether the parser is currently disabled */\n disabled: boolean;\n /** Initializes event listeners */\n setUp(): void;\n /** Removes event listeners and cleans up */\n tearDown(): void;\n /** Attaches to a new canvas element */\n attach(canvas: HTMLCanvasElement): void;\n /** Disables the parser; the event listeners are still attached just not processing any events*/\n disable(): void;\n /** Enables the parser */\n enable(): void;\n}\n\n/**\n * Minimal pointer event interface for framework interoperability.\n *\n * @remarks\n * This subset of the DOM PointerEvent interface allows the parser to work with\n * both vanilla JavaScript PointerEvents and framework-wrapped events (e.g., PixiJS).\n *\n * @category Raw Input Parser\n */\nexport type MinimumPointerEvent = {\n /** Mouse button number (0=left, 1=middle, 2=right) */\n button: number;\n /** Pointer type (\"mouse\", \"pen\", \"touch\") */\n pointerType: string;\n /** X coordinate in window space */\n clientX: number;\n /** Y coordinate in window space */\n clientY: number;\n /** Bitmask of currently pressed buttons */\n buttons: number;\n};\n\n/**\n * Minimal wheel event interface for framework interoperability.\n *\n * @remarks\n * This subset of the DOM WheelEvent interface allows the parser to work with\n * both vanilla JavaScript WheelEvents and framework-wrapped events.\n *\n * @category Raw Input Parser\n */\nexport type MinimumWheelEvent = {\n /** Prevents default scroll behavior */\n preventDefault: () => void;\n /** Horizontal scroll delta */\n deltaX: number;\n /** Vertical scroll delta */\n deltaY: number;\n /** Whether Ctrl key is pressed (for zoom) */\n ctrlKey: boolean;\n /** X coordinate in window space */\n clientX: number;\n /** Y coordinate in window space */\n clientY: number;\n};\n\n/**\n * Minimal keyboard event interface for framework interoperability.\n *\n * @remarks\n * This subset of the DOM KeyboardEvent interface allows the parser to work with\n * both vanilla JavaScript KeyboardEvents and framework-wrapped events.\n *\n * @category Raw Input Parser\n */\nexport type MinimumKeyboardEvent = {\n /** Prevents default keyboard behavior */\n preventDefault: () => void;\n /** The key that was pressed */\n key: string;\n};\n\n/**\n * Minimal event target interface for framework interoperability.\n *\n * @remarks\n * This interface allows the parser to attach event listeners to different\n * types of event targets (HTMLElement, Canvas, PixiJS Container, etc.).\n *\n * @category Raw Input Parser\n */\nexport type EventTargetWithPointerEvents = {\n addEventListener: (\n type: string,\n listener: (event: any) => void,\n options?: { passive: boolean }\n ) => void;\n removeEventListener: (type: string, listener: (event: any) => void) => void;\n};\n\n/**\n * DOM event parser for Keyboard/Mouse/Trackpad input.\n *\n * @remarks\n * This parser converts raw DOM events into state machine events and coordinates with\n * the orchestrator to process outputs. It serves as the entry point for all KMT input\n * in the input interpretation pipeline.\n *\n * **Event Flow**:\n * ```\n * DOM Events → Parser → State Machine → Parser → Orchestrator → Camera/Observers\n * ```\n *\n * **Responsibilities**:\n * 1. Listen for DOM pointer, wheel, and keyboard events\n * 2. Convert DOM events to state machine event format\n * 3. Send events to the state machine\n * 4. Forward state machine outputs to the orchestrator\n *\n * **Handled DOM Events**:\n * - pointerdown/up/move (canvas-scoped)\n * - wheel (canvas-scoped)\n * - keydown/up (window-scoped for spacebar)\n *\n * **Keyboard Handling**:\n * Keyboard events are only processed when `document.body` is the target,\n * preventing interference with text inputs and other UI elements.\n *\n * The parser can be disabled to temporarily stop input processing (e.g., during\n * modal dialogs or animations).\n *\n * @category Raw Input Parser\n *\n * @example\n * ```typescript\n * const canvasElement = document.getElementById(\"canvas\");\n * const stateMachine = createKmtInputStateMachine(context);\n * const orchestrator = new InputOrchestrator(cameraMux, cameraRig, publisher);\n * const parser = new VanillaKMTEventParser(stateMachine, orchestrator, canvasElement);\n *\n * parser.setUp(); // Starts listening for events\n *\n * // Later, to disable input temporarily\n * parser.disabled = true;\n *\n * // Cleanup when done\n * parser.tearDown();\n * ```\n */\n\nexport interface StateMachine {\n happens: (...args: any[]) => EventResult<any>;\n}\nexport class VanillaKMTEventParser implements KMTEventParser {\n private _disabled: boolean = false;\n private _stateMachine: StateMachine;\n private _orchestrator: InputOrchestrator;\n private _keyfirstPressed: Map<string, boolean>;\n private _abortController: AbortController;\n private _canvas?: HTMLCanvasElement | SVGSVGElement;\n\n constructor(\n kmtInputStateMachine: StateMachine,\n orchestrator: InputOrchestrator,\n canvas?: HTMLCanvasElement | SVGSVGElement\n ) {\n this._canvas = canvas;\n this.bindFunctions();\n this._abortController = new AbortController();\n this._stateMachine = kmtInputStateMachine;\n this._orchestrator = orchestrator;\n this._keyfirstPressed = new Map();\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n disable(): void {\n this._disabled = true;\n }\n\n enable(): void {\n this._disabled = false;\n }\n\n addEventListeners(signal: AbortSignal) {\n if (this._canvas == undefined) {\n return;\n }\n this._canvas.addEventListener(\n 'pointerdown',\n this.pointerDownHandler as EventListener,\n { signal }\n );\n this._canvas.addEventListener(\n 'pointerup',\n this.pointerUpHandler as EventListener,\n { signal }\n );\n this._canvas.addEventListener(\n 'pointermove',\n this.pointerMoveHandler as EventListener,\n { signal }\n );\n this._canvas.addEventListener(\n 'wheel',\n this.scrollHandler as EventListener,\n { signal }\n );\n window.addEventListener('keydown', this.keypressHandler, { signal });\n window.addEventListener('keyup', this.keyupHandler, { signal });\n }\n\n setUp(): void {\n if (this._abortController.signal.aborted) {\n this._abortController = new AbortController();\n }\n this.addEventListeners(this._abortController.signal);\n }\n\n tearDown(): void {\n this._abortController.abort();\n this._abortController = new AbortController();\n this._canvas = undefined;\n }\n\n bindFunctions(): void {\n this.pointerDownHandler = this.pointerDownHandler.bind(this);\n this.pointerUpHandler = this.pointerUpHandler.bind(this);\n this.pointerMoveHandler = this.pointerMoveHandler.bind(this);\n this.scrollHandler = this.scrollHandler.bind(this);\n this.keypressHandler = this.keypressHandler.bind(this);\n this.keyupHandler = this.keyupHandler.bind(this);\n }\n\n private processEvent<K extends keyof KmtInputEventMapping>(\n ...args: EventArgs<KmtInputEventMapping, K>\n ): void {\n const result = this._stateMachine.happens(...args);\n if (\n result.handled &&\n 'output' in result &&\n result.output !== undefined\n ) {\n this._orchestrator.processInputEventOutput(result.output);\n }\n }\n\n pointerDownHandler(e: PointerEvent) {\n if (this._disabled) {\n return;\n }\n if (e.button === 0 && e.pointerType === 'mouse') {\n this.processEvent('leftPointerDown', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n if (e.button === 1 && e.pointerType === 'mouse') {\n this.processEvent('middlePointerDown', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n }\n\n pointerUpHandler(e: PointerEvent) {\n if (this._disabled) {\n return;\n }\n if (e.button === 0 && e.pointerType === 'mouse') {\n this.processEvent('leftPointerUp', { x: e.clientX, y: e.clientY });\n return;\n }\n if (e.button === 1 && e.pointerType === 'mouse') {\n this.processEvent('middlePointerUp', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n }\n\n pointerMoveHandler(e: PointerEvent) {\n if (this._disabled) {\n return;\n }\n if (e.buttons === 1 && e.pointerType === 'mouse') {\n this.processEvent('leftPointerMove', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n if (e.buttons === 4 && e.pointerType === 'mouse') {\n this.processEvent('middlePointerMove', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n this.processEvent('pointerMove', { x: e.clientX, y: e.clientY });\n }\n\n scrollHandler(e: WheelEvent) {\n if (this._disabled) return;\n e.preventDefault();\n if (e.ctrlKey) {\n this.processEvent('scrollWithCtrl', {\n x: e.clientX,\n y: e.clientY,\n deltaX: e.deltaX,\n deltaY: e.deltaY,\n });\n } else {\n this.processEvent('scroll', {\n x: e.clientX,\n y: e.clientY,\n deltaX: e.deltaX,\n deltaY: e.deltaY,\n });\n }\n }\n\n keypressHandler(e: KeyboardEvent) {\n console.log('keypressHandler', e.key);\n if (e.target !== document.body) {\n return;\n }\n if (this._keyfirstPressed.has(e.key)) {\n return;\n }\n this._keyfirstPressed.set(e.key, true);\n if (e.key === ' ') {\n this.processEvent('spacebarDown');\n }\n if (e.key === 'Escape') {\n console.log('escape key pressed');\n this.processEvent('escapeKey');\n }\n if (e.key === 'ArrowUp') {\n this.processEvent('arrowUp');\n }\n if (e.key === 'ArrowDown') {\n this.processEvent('arrowDown');\n }\n if (e.key === 'f') {\n this.processEvent('F');\n }\n if (e.key === 'g') {\n this.processEvent('G');\n }\n if (e.key === 'q') {\n this.processEvent('Q');\n }\n }\n\n keyupHandler(e: KeyboardEvent) {\n if (this._keyfirstPressed.has(e.key)) {\n this._keyfirstPressed.delete(e.key);\n }\n if (e.key === ' ') {\n this.processEvent('spacebarUp');\n }\n }\n\n attach(canvas: HTMLCanvasElement) {\n this.tearDown();\n this._canvas = canvas;\n this.setUp();\n }\n\n set stateMachine(stateMachine: StateMachine) {\n this._stateMachine = stateMachine;\n }\n}\n",
81
+ "import type { EventArgs, EventResult } from '@ue-too/being';\n\nimport type {\n KmtInputEventMapping,\n} from '../../input-interpretation/input-state-machine';\nimport type { InputOrchestrator } from '../input-orchestrator';\n\n/**\n * Interface for KMT (Keyboard/Mouse/Trackpad) event parsers.\n *\n * @remarks\n * Event parsers bridge the gap between DOM events and the state machine.\n * They listen for raw DOM events, convert them to state machine events,\n * and coordinate with the orchestrator for output processing.\n *\n * @category Raw Input Parser\n */\nexport interface KMTEventParser {\n /** Whether the parser is currently disabled */\n disabled: boolean;\n /** Initializes event listeners */\n setUp(): void;\n /** Removes event listeners and cleans up */\n tearDown(): void;\n /** Attaches to a new canvas element */\n attach(canvas: HTMLCanvasElement): void;\n /** Disables the parser; the event listeners are still attached just not processing any events*/\n disable(): void;\n /** Enables the parser */\n enable(): void;\n}\n\n/**\n * Minimal pointer event interface for framework interoperability.\n *\n * @remarks\n * This subset of the DOM PointerEvent interface allows the parser to work with\n * both vanilla JavaScript PointerEvents and framework-wrapped events (e.g., PixiJS).\n *\n * @category Raw Input Parser\n */\nexport type MinimumPointerEvent = {\n /** Mouse button number (0=left, 1=middle, 2=right) */\n button: number;\n /** Pointer type (\"mouse\", \"pen\", \"touch\") */\n pointerType: string;\n /** X coordinate in window space */\n clientX: number;\n /** Y coordinate in window space */\n clientY: number;\n /** Bitmask of currently pressed buttons */\n buttons: number;\n};\n\n/**\n * Minimal wheel event interface for framework interoperability.\n *\n * @remarks\n * This subset of the DOM WheelEvent interface allows the parser to work with\n * both vanilla JavaScript WheelEvents and framework-wrapped events.\n *\n * @category Raw Input Parser\n */\nexport type MinimumWheelEvent = {\n /** Prevents default scroll behavior */\n preventDefault: () => void;\n /** Horizontal scroll delta */\n deltaX: number;\n /** Vertical scroll delta */\n deltaY: number;\n /** Whether Ctrl key is pressed (for zoom) */\n ctrlKey: boolean;\n /** X coordinate in window space */\n clientX: number;\n /** Y coordinate in window space */\n clientY: number;\n};\n\n/**\n * Minimal keyboard event interface for framework interoperability.\n *\n * @remarks\n * This subset of the DOM KeyboardEvent interface allows the parser to work with\n * both vanilla JavaScript KeyboardEvents and framework-wrapped events.\n *\n * @category Raw Input Parser\n */\nexport type MinimumKeyboardEvent = {\n /** Prevents default keyboard behavior */\n preventDefault: () => void;\n /** The key that was pressed */\n key: string;\n};\n\n/**\n * Minimal event target interface for framework interoperability.\n *\n * @remarks\n * This interface allows the parser to attach event listeners to different\n * types of event targets (HTMLElement, Canvas, PixiJS Container, etc.).\n *\n * @category Raw Input Parser\n */\nexport type EventTargetWithPointerEvents = {\n addEventListener: (\n type: string,\n listener: (event: any) => void,\n options?: { passive: boolean }\n ) => void;\n removeEventListener: (type: string, listener: (event: any) => void) => void;\n};\n\n/**\n * DOM event parser for Keyboard/Mouse/Trackpad input.\n *\n * @remarks\n * This parser converts raw DOM events into state machine events and coordinates with\n * the orchestrator to process outputs. It serves as the entry point for all KMT input\n * in the input interpretation pipeline.\n *\n * **Event Flow**:\n * ```\n * DOM Events → Parser → State Machine → Parser → Orchestrator → Camera/Observers\n * ```\n *\n * **Responsibilities**:\n * 1. Listen for DOM pointer, wheel, and keyboard events\n * 2. Convert DOM events to state machine event format\n * 3. Send events to the state machine\n * 4. Forward state machine outputs to the orchestrator\n *\n * **Handled DOM Events**:\n * - pointerdown/up/move (canvas-scoped)\n * - wheel (canvas-scoped)\n * - keydown/up (window-scoped for spacebar)\n *\n * **Keyboard Handling**:\n * Keyboard events are only processed when `document.body` is the target,\n * preventing interference with text inputs and other UI elements.\n *\n * The parser can be disabled to temporarily stop input processing (e.g., during\n * modal dialogs or animations).\n *\n * @category Raw Input Parser\n *\n * @example\n * ```typescript\n * const canvasElement = document.getElementById(\"canvas\");\n * const stateMachine = createKmtInputStateMachine(context);\n * const orchestrator = new InputOrchestrator(cameraMux, cameraRig, publisher);\n * const parser = new VanillaKMTEventParser(stateMachine, orchestrator, canvasElement);\n *\n * parser.setUp(); // Starts listening for events\n *\n * // Later, to disable input temporarily\n * parser.disabled = true;\n *\n * // Cleanup when done\n * parser.tearDown();\n * ```\n */\n\nexport interface StateMachine {\n happens: (...args: any[]) => EventResult<any>;\n}\nexport class VanillaKMTEventParser implements KMTEventParser {\n private _disabled: boolean = false;\n private _stateMachine: StateMachine;\n private _orchestrator: InputOrchestrator;\n private _keyfirstPressed: Map<string, boolean>;\n private _abortController: AbortController;\n protected _canvas?: HTMLCanvasElement | SVGSVGElement;\n\n constructor(\n kmtInputStateMachine: StateMachine,\n orchestrator: InputOrchestrator,\n canvas?: HTMLCanvasElement | SVGSVGElement\n ) {\n this._canvas = canvas;\n this.bindFunctions();\n this._abortController = new AbortController();\n this._stateMachine = kmtInputStateMachine;\n this._orchestrator = orchestrator;\n this._keyfirstPressed = new Map();\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n disable(): void {\n this._disabled = true;\n }\n\n enable(): void {\n this._disabled = false;\n }\n\n addEventListeners(signal: AbortSignal) {\n if (this._canvas == undefined) {\n return;\n }\n this._canvas.addEventListener(\n 'pointerdown',\n this.pointerDownHandler as EventListener,\n { signal }\n );\n this._canvas.addEventListener(\n 'pointerup',\n this.pointerUpHandler as EventListener,\n { signal }\n );\n this._canvas.addEventListener(\n 'pointermove',\n this.pointerMoveHandler as EventListener,\n { signal }\n );\n this._canvas.addEventListener(\n 'wheel',\n this.scrollHandler as EventListener,\n { signal }\n );\n window.addEventListener('keydown', this.keypressHandler, { signal });\n window.addEventListener('keyup', this.keyupHandler, { signal });\n }\n\n setUp(): void {\n if (this._abortController.signal.aborted) {\n this._abortController = new AbortController();\n }\n this.addEventListeners(this._abortController.signal);\n }\n\n tearDown(): void {\n this._abortController.abort();\n this._abortController = new AbortController();\n this._canvas = undefined;\n }\n\n bindFunctions(): void {\n this.pointerDownHandler = this.pointerDownHandler.bind(this);\n this.pointerUpHandler = this.pointerUpHandler.bind(this);\n this.pointerMoveHandler = this.pointerMoveHandler.bind(this);\n this.scrollHandler = this.scrollHandler.bind(this);\n this.keypressHandler = this.keypressHandler.bind(this);\n this.keyupHandler = this.keyupHandler.bind(this);\n }\n\n protected processEvent<K extends keyof KmtInputEventMapping>(\n ...args: EventArgs<KmtInputEventMapping, K>\n ): void {\n const result = this._stateMachine.happens(...args);\n if (\n result.handled &&\n 'output' in result &&\n result.output !== undefined\n ) {\n this._orchestrator.processInputEventOutput(result.output);\n }\n }\n\n pointerDownHandler(e: PointerEvent) {\n if (this._disabled) {\n return;\n }\n if (e.button === 0 && e.pointerType === 'mouse') {\n this.processEvent('leftPointerDown', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n if (e.button === 1 && e.pointerType === 'mouse') {\n this.processEvent('middlePointerDown', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n }\n\n pointerUpHandler(e: PointerEvent) {\n if (this._disabled) {\n return;\n }\n if (e.button === 0 && e.pointerType === 'mouse') {\n this.processEvent('leftPointerUp', { x: e.clientX, y: e.clientY });\n return;\n }\n if (e.button === 1 && e.pointerType === 'mouse') {\n this.processEvent('middlePointerUp', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n }\n\n pointerMoveHandler(e: PointerEvent) {\n if (this._disabled) {\n return;\n }\n if (e.buttons === 1 && e.pointerType === 'mouse') {\n this.processEvent('leftPointerMove', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n if (e.buttons === 4 && e.pointerType === 'mouse') {\n this.processEvent('middlePointerMove', {\n x: e.clientX,\n y: e.clientY,\n });\n return;\n }\n this.processEvent('pointerMove', { x: e.clientX, y: e.clientY });\n }\n\n scrollHandler(e: WheelEvent) {\n if (this._disabled) return;\n e.preventDefault();\n if (e.ctrlKey) {\n this.processEvent('scrollWithCtrl', {\n x: e.clientX,\n y: e.clientY,\n deltaX: e.deltaX,\n deltaY: e.deltaY,\n });\n } else {\n this.processEvent('scroll', {\n x: e.clientX,\n y: e.clientY,\n deltaX: e.deltaX,\n deltaY: e.deltaY,\n });\n }\n }\n\n keypressHandler(e: KeyboardEvent) {\n console.log('keypressHandler', e.key);\n if (e.target !== document.body) {\n return;\n }\n if (this._keyfirstPressed.has(e.key)) {\n return;\n }\n this._keyfirstPressed.set(e.key, true);\n if (e.key === ' ') {\n this.processEvent('spacebarDown');\n }\n if (e.key === 'Escape') {\n console.log('escape key pressed');\n this.processEvent('escapeKey');\n }\n if (e.key === 'ArrowUp') {\n this.processEvent('arrowUp');\n }\n if (e.key === 'ArrowDown') {\n this.processEvent('arrowDown');\n }\n if (e.key === 'f') {\n this.processEvent('F');\n }\n if (e.key === 'g') {\n this.processEvent('G');\n }\n if (e.key === 'q') {\n this.processEvent('Q');\n }\n }\n\n keyupHandler(e: KeyboardEvent) {\n if (this._keyfirstPressed.has(e.key)) {\n this._keyfirstPressed.delete(e.key);\n }\n if (e.key === ' ') {\n this.processEvent('spacebarUp');\n }\n }\n\n attach(canvas: HTMLCanvasElement) {\n this.tearDown();\n this._canvas = canvas;\n this.setUp();\n }\n\n set stateMachine(stateMachine: StateMachine) {\n this._stateMachine = stateMachine;\n }\n}\n",
82
82
  "import { EventArgs } from '@ue-too/being';\n\nimport { TouchPoints } from '../../input-interpretation/input-state-machine/touch-input-context';\nimport {\n TouchEventMapping,\n TouchInputStateMachine,\n} from '../../input-interpretation/input-state-machine/touch-input-state-machine';\nimport type { InputOrchestrator } from '../input-orchestrator';\n\n/**\n * Interface for touch event parsers.\n *\n * @remarks\n * Touch event parsers bridge DOM TouchEvents and the touch state machine.\n * They provide granular control over which gesture types are enabled.\n *\n * @category Raw Input Parser\n */\nexport interface TouchEventParser {\n /** Whether all touch input is disabled */\n disabled: boolean;\n /** Initializes event listeners */\n setUp(): void;\n /** Removes event listeners and cleans up */\n tearDown(): void;\n /** Attaches to a new canvas element */\n attach(canvas: HTMLCanvasElement): void;\n /** Disables the parser; the event listeners are still attached just not processing any events*/\n disable(): void;\n /** Enables the parser */\n enable(): void;\n}\n\n/**\n * DOM event parser for touch input.\n *\n * @remarks\n * This parser converts raw DOM TouchEvents into state machine events and coordinates\n * with the orchestrator to process outputs. It serves as the entry point for all touch\n * input in the input interpretation pipeline.\n *\n * **Event Flow**:\n * ```\n * DOM TouchEvents → Parser → State Machine → Parser → Orchestrator → Camera/Observers\n * ```\n *\n * **Responsibilities**:\n * 1. Listen for DOM touch events (touchstart/move/end/cancel)\n * 2. Extract touch point data (identifier, x, y)\n * 3. Convert to state machine event format\n * 4. Send events to the state machine\n * 5. Forward state machine outputs to the orchestrator\n *\n * **Touch Point Extraction**:\n * - touchstart/touchend: Uses `changedTouches` (only new/removed touches)\n * - touchmove: Uses `targetTouches` (all touches on the canvas)\n *\n * **Gesture Control**:\n * Individual gesture types (pan, zoom, rotate) can be disabled independently,\n * though currently the state machine outputs are filtered by the orchestrator\n * rather than the parser.\n *\n * The parser prevents default touch behavior to avoid browser scroll/zoom\n * interfering with canvas gestures.\n *\n * @category Raw Input Parser\n *\n * @example\n * ```typescript\n * const canvasElement = document.getElementById(\"canvas\");\n * const stateMachine = createTouchInputStateMachine(context);\n * const orchestrator = new InputOrchestrator(cameraMux, cameraRig, publisher);\n * const parser = new VanillaTouchEventParser(stateMachine, orchestrator, canvasElement);\n *\n * parser.setUp(); // Starts listening for touch events\n *\n * // Disable zoom gestures temporarily\n * parser.zoomDisabled = true;\n *\n * // Cleanup when done\n * parser.tearDown();\n * ```\n */\nexport class VanillaTouchEventParser implements TouchEventParser {\n private _canvas?: HTMLCanvasElement | SVGSVGElement;\n private _disabled: boolean;\n private _panDisabled: boolean = false;\n private _zoomDisabled: boolean = false;\n private _rotateDisabled: boolean = false;\n\n private _stateMachine: TouchInputStateMachine;\n private _orchestrator: InputOrchestrator;\n\n private _abortController: AbortController;\n\n constructor(\n touchInputStateMachine: TouchInputStateMachine,\n orchestrator: InputOrchestrator,\n canvas?: HTMLCanvasElement | SVGSVGElement\n ) {\n this._canvas = canvas;\n this._disabled = false;\n this._stateMachine = touchInputStateMachine;\n this._orchestrator = orchestrator;\n this._abortController = new AbortController();\n\n this.bindListeners();\n }\n\n get orchestrator(): InputOrchestrator {\n return this._orchestrator;\n }\n\n bindListeners(): void {\n this.touchstartHandler = this.touchstartHandler.bind(this);\n this.touchendHandler = this.touchendHandler.bind(this);\n this.touchcancelHandler = this.touchcancelHandler.bind(this);\n this.touchmoveHandler = this.touchmoveHandler.bind(this);\n }\n\n enableStrategy(): void {\n this._disabled = false;\n }\n\n disableStrategy(): void {\n this._disabled = true;\n }\n\n setUp(): void {\n if (this._canvas == undefined) {\n return;\n }\n if (this._abortController.signal.aborted) {\n this._abortController = new AbortController();\n }\n this._canvas.addEventListener(\n 'touchstart',\n this.touchstartHandler as EventListener,\n { signal: this._abortController.signal }\n );\n this._canvas.addEventListener(\n 'touchend',\n this.touchendHandler as EventListener,\n { signal: this._abortController.signal }\n );\n this._canvas.addEventListener(\n 'touchcancel',\n this.touchcancelHandler as EventListener,\n { signal: this._abortController.signal }\n );\n this._canvas.addEventListener(\n 'touchmove',\n this.touchmoveHandler as EventListener,\n { signal: this._abortController.signal }\n );\n }\n\n tearDown(): void {\n this._abortController.abort();\n this._abortController = new AbortController();\n this._canvas = undefined;\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n disable(): void {\n this._disabled = true;\n }\n\n enable(): void {\n this._disabled = false;\n }\n\n private processEvent<K extends keyof TouchEventMapping>(\n ...args: EventArgs<TouchEventMapping, K>\n ): void {\n const result = this._stateMachine.happens(...args);\n if (\n result.handled &&\n 'output' in result &&\n result.output !== undefined\n ) {\n this._orchestrator.processInputEventOutput(result.output);\n }\n }\n\n touchstartHandler(e: TouchEvent) {\n if (this._disabled) {\n return;\n }\n\n const pointsAdded: TouchPoints[] = [];\n for (let i = 0; i < e.changedTouches.length; i++) {\n pointsAdded.push({\n ident: e.changedTouches[i].identifier,\n x: e.changedTouches[i].clientX,\n y: e.changedTouches[i].clientY,\n });\n }\n this.processEvent('touchstart', { points: pointsAdded });\n e.preventDefault();\n }\n\n touchcancelHandler(e: TouchEvent) {\n if (this._disabled) {\n return;\n }\n const pointsRemoved: TouchPoints[] = [];\n for (let i = 0; i < e.changedTouches.length; i++) {\n pointsRemoved.push({\n ident: e.changedTouches[i].identifier,\n x: e.changedTouches[i].clientX,\n y: e.changedTouches[i].clientY,\n });\n }\n this.processEvent('touchend', { points: pointsRemoved });\n }\n\n touchendHandler(e: TouchEvent) {\n if (this._disabled) {\n return;\n }\n const pointsRemoved: TouchPoints[] = [];\n for (let i = 0; i < e.changedTouches.length; i++) {\n pointsRemoved.push({\n ident: e.changedTouches[i].identifier,\n x: e.changedTouches[i].clientX,\n y: e.changedTouches[i].clientY,\n });\n }\n this.processEvent('touchend', { points: pointsRemoved });\n }\n\n touchmoveHandler(e: TouchEvent) {\n if (this._disabled) {\n return;\n }\n e.preventDefault();\n const pointsMoved: TouchPoints[] = [];\n for (let i = 0; i < e.targetTouches.length; i++) {\n pointsMoved.push({\n ident: e.targetTouches[i].identifier,\n x: e.targetTouches[i].clientX,\n y: e.targetTouches[i].clientY,\n });\n }\n this.processEvent('touchmove', { points: pointsMoved });\n }\n\n attach(canvas: HTMLCanvasElement) {\n this.tearDown();\n this._canvas = canvas;\n this.setUp();\n }\n}\n",
83
83
  "import type { Point } from '@ue-too/math';\n\nimport { AsyncObservable, Observable, Observer } from '../../utils/observable';\n\n/**\n * Function to unsubscribe from raw user input events.\n *\n * @remarks\n * Calling this function removes the subscriber from the event stream.\n *\n * @category Raw Input Publisher\n */\nexport type UnsubscribeToUserRawInput = () => void;\n\n/**\n * Payload for pan input events.\n *\n * @property diff - The pan delta in viewport pixels\n *\n * @category Raw Input Publisher\n */\nexport type RawUserPanInputEventPayload = {\n diff: Point;\n};\n\n/**\n * Pan input event with discriminated type.\n *\n * @remarks\n * The `type` property allows TypeScript discriminated unions to distinguish\n * between different event types when subscribing to the \"all\" event stream.\n *\n * @category Raw Input Publisher\n */\nexport type RawUserPanInputEvent = {\n type: 'pan';\n} & RawUserPanInputEventPayload;\n\n/**\n * Payload for zoom input events.\n *\n * @property deltaZoomAmount - The zoom delta (scale change)\n * @property anchorPoint - The zoom anchor point in viewport coordinates\n *\n * @category Raw Input Publisher\n */\nexport type RawUserZoomInputEventPayload = {\n deltaZoomAmount: number;\n anchorPoint: Point;\n};\n\n/**\n * Zoom input event with discriminated type.\n *\n * @remarks\n * The `type` property allows TypeScript discriminated unions to distinguish\n * between different event types when subscribing to the \"all\" event stream.\n *\n * @category Raw Input Publisher\n */\nexport type RawUserZoomInputEvent = {\n type: 'zoom';\n} & RawUserZoomInputEventPayload;\n\n/**\n * Payload for rotate input events.\n *\n * @property deltaRotation - The rotation delta in radians\n *\n * @category Raw Input Publisher\n */\nexport type RawUserRotateInputEventPayload = {\n deltaRotation: number;\n};\n\n/**\n * Rotate input event with discriminated type.\n *\n * @remarks\n * The `type` property allows TypeScript discriminated unions to distinguish\n * between different event types when subscribing to the \"all\" event stream.\n *\n * @category Raw Input Publisher\n */\nexport type RawUserRotateInputEvent = {\n type: 'rotate';\n} & RawUserRotateInputEventPayload;\n\n/**\n * Mapping of event names to their payload types.\n *\n * @remarks\n * This type enables type-safe event subscription:\n * - Subscribe to specific events (\"pan\", \"zoom\", \"rotate\") to receive only those payloads\n * - Subscribe to \"all\" to receive all events with discriminated type property\n *\n * @category Raw Input Publisher\n */\nexport type RawUserInputEventMap = {\n pan: RawUserPanInputEventPayload;\n zoom: RawUserZoomInputEventPayload;\n rotate: RawUserRotateInputEventPayload;\n all: RawUserInputEvent;\n};\n\n/**\n * Union type of all raw user input events.\n *\n * @remarks\n * Use the `type` discriminator property to determine which event variant you have.\n *\n * @category Raw Input Publisher\n */\nexport type RawUserInputEvent =\n | RawUserPanInputEvent\n | RawUserZoomInputEvent\n | RawUserRotateInputEvent;\n\n/**\n * Callback function type for raw user input events.\n *\n * @typeParam K - The event name key from RawUserInputEventMap\n *\n * @category Raw Input Publisher\n */\nexport type RawUserInputCallback<K extends keyof RawUserInputEventMap> = (\n event: RawUserInputEventMap[K]\n) => void;\n\n/**\n * Interface for publishing raw user input events to observers.\n *\n * @remarks\n * This interface defines the contract for broadcasting user input events\n * to external subscribers. Implementations provide the observable pattern\n * for input event distribution.\n *\n * @category Raw Input Publisher\n */\nexport interface UserInputPublisher {\n /** Notifies subscribers of a pan gesture */\n notifyPan(diff: Point): void;\n /** Notifies subscribers of a zoom gesture */\n notifyZoom(deltaZoomAmount: number, anchorPoint: Point): void;\n /** Notifies subscribers of a rotate gesture */\n notifyRotate(deltaRotation: number): void;\n /** Subscribes to input events */\n on<K extends keyof RawUserInputEventMap>(\n eventName: K,\n callback: (event: RawUserInputEventMap[K]) => void\n ): UnsubscribeToUserRawInput;\n}\n\n/**\n * Publisher for broadcasting raw user input events to observers.\n *\n * @remarks\n * This class implements the observable pattern to distribute user input events\n * to external subscribers. It operates in parallel to camera control - the\n * orchestrator both sends events to this publisher AND controls the camera.\n *\n * **Architecture**:\n * ```\n * Orchestrator → Publisher → Observers (UI, analytics, etc.)\n * ↓\n * CameraMux → CameraRig\n * ```\n *\n * **Event Streams**:\n * - **Specific streams**: Subscribe to \"pan\", \"zoom\", or \"rotate\" for typed events\n * - **Unified stream**: Subscribe to \"all\" for all events with type discriminator\n *\n * **Use Cases**:\n * - Update UI elements based on user interactions\n * - Log analytics about user gestures\n * - Synchronize secondary views or previews\n * - Implement custom gesture reactions independent of camera\n *\n * **Observable Implementation**:\n * Uses AsyncObservable for asynchronous event delivery, preventing observers\n * from blocking the input processing pipeline.\n *\n * @category Raw Input Publisher\n *\n * @example\n * ```typescript\n * const publisher = new RawUserInputPublisher();\n *\n * // Subscribe to pan events\n * const unsubscribe = publisher.on(\"pan\", (event) => {\n * console.log(\"User panned by:\", event.diff);\n * updateMinimap(event.diff);\n * });\n *\n * // Subscribe to all events\n * publisher.on(\"all\", (event) => {\n * switch (event.type) {\n * case \"pan\":\n * analytics.log(\"pan\", event.diff);\n * break;\n * case \"zoom\":\n * analytics.log(\"zoom\", event.deltaZoomAmount, event.anchorPoint);\n * break;\n * case \"rotate\":\n * analytics.log(\"rotate\", event.deltaRotation);\n * break;\n * }\n * });\n *\n * // Later, unsubscribe\n * unsubscribe();\n * ```\n */\nexport class RawUserInputPublisher implements UserInputPublisher {\n private pan: Observable<Parameters<RawUserInputCallback<'pan'>>>;\n private zoom: Observable<Parameters<RawUserInputCallback<'zoom'>>>;\n private rotate: Observable<Parameters<RawUserInputCallback<'rotate'>>>;\n private all: Observable<Parameters<RawUserInputCallback<'all'>>>;\n\n constructor() {\n this.pan = new AsyncObservable<\n Parameters<RawUserInputCallback<'pan'>>\n >();\n this.zoom = new AsyncObservable<\n Parameters<RawUserInputCallback<'zoom'>>\n >();\n this.rotate = new AsyncObservable<\n Parameters<RawUserInputCallback<'rotate'>>\n >();\n this.all = new AsyncObservable<\n Parameters<RawUserInputCallback<'all'>>\n >();\n }\n\n notifyPan(diff: Point): void {\n this.pan.notify({ diff: diff });\n this.all.notify({ type: 'pan', diff: diff });\n }\n\n notifyZoom(deltaZoomAmount: number, anchorPoint: Point): void {\n this.zoom.notify({\n deltaZoomAmount: deltaZoomAmount,\n anchorPoint: anchorPoint,\n });\n this.all.notify({\n type: 'zoom',\n deltaZoomAmount: deltaZoomAmount,\n anchorPoint: anchorPoint,\n });\n }\n\n notifyRotate(deltaRotation: number): void {\n this.rotate.notify({ deltaRotation: deltaRotation });\n this.all.notify({ type: 'rotate', deltaRotation: deltaRotation });\n }\n\n on<K extends keyof RawUserInputEventMap>(\n eventName: K,\n callback: (event: RawUserInputEventMap[K]) => void\n ): UnsubscribeToUserRawInput {\n switch (eventName) {\n case 'pan':\n return this.pan.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'pan'>>\n >\n );\n case 'zoom':\n return this.zoom.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'zoom'>>\n >\n );\n case 'rotate':\n return this.rotate.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'rotate'>>\n >\n );\n case 'all':\n return this.all.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'all'>>\n >\n );\n default:\n throw new Error('Invalid raw user input event name');\n }\n }\n}\n\n/**\n * Creates a default raw user input publisher.\n *\n * @returns A new RawUserInputPublisher instance\n *\n * @remarks\n * Factory function for creating a standard publisher. Useful for dependency injection\n * and testing scenarios where you want to swap implementations.\n *\n * @category Raw Input Publisher\n */\nexport function createDefaultRawUserInputPublisher(): RawUserInputPublisher {\n return new RawUserInputPublisher();\n}\n\nexport class RawUserInputPublisherWithWebWorkerRelay implements UserInputPublisher {\n private pan: Observable<Parameters<RawUserInputCallback<'pan'>>>;\n private zoom: Observable<Parameters<RawUserInputCallback<'zoom'>>>;\n private rotate: Observable<Parameters<RawUserInputCallback<'rotate'>>>;\n private all: Observable<Parameters<RawUserInputCallback<'all'>>>;\n private webWorker: Worker;\n\n constructor(webWorker: Worker) {\n this.pan = new AsyncObservable<\n Parameters<RawUserInputCallback<'pan'>>\n >();\n this.zoom = new AsyncObservable<\n Parameters<RawUserInputCallback<'zoom'>>\n >();\n this.rotate = new AsyncObservable<\n Parameters<RawUserInputCallback<'rotate'>>\n >();\n this.all = new AsyncObservable<\n Parameters<RawUserInputCallback<'all'>>\n >();\n this.webWorker = webWorker;\n }\n\n notifyPan(diff: Point): void {\n this.webWorker.postMessage({\n type: 'notifyUserInput',\n payload: { type: 'pan', diff: diff },\n });\n this.pan.notify({ diff: diff });\n this.all.notify({ type: 'pan', diff: diff });\n }\n\n notifyZoom(deltaZoomAmount: number, anchorPoint: Point): void {\n this.webWorker.postMessage({\n type: 'notifyUserInput',\n payload: {\n type: 'zoom',\n deltaZoomAmount: deltaZoomAmount,\n anchorPoint: anchorPoint,\n },\n });\n this.zoom.notify({\n deltaZoomAmount: deltaZoomAmount,\n anchorPoint: anchorPoint,\n });\n this.all.notify({\n type: 'zoom',\n deltaZoomAmount: deltaZoomAmount,\n anchorPoint: anchorPoint,\n });\n }\n\n notifyRotate(deltaRotation: number): void {\n this.webWorker.postMessage({\n type: 'notifyUserInput',\n payload: { type: 'rotate', deltaRotation: deltaRotation },\n });\n this.rotate.notify({ deltaRotation: deltaRotation });\n this.all.notify({ type: 'rotate', deltaRotation: deltaRotation });\n }\n\n on<K extends keyof RawUserInputEventMap>(\n eventName: K,\n callback: (event: RawUserInputEventMap[K]) => void\n ): UnsubscribeToUserRawInput {\n switch (eventName) {\n case 'pan':\n return this.pan.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'pan'>>\n >\n );\n case 'zoom':\n return this.zoom.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'zoom'>>\n >\n );\n case 'rotate':\n return this.rotate.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'rotate'>>\n >\n );\n case 'all':\n return this.all.subscribe(\n callback as Observer<\n Parameters<RawUserInputCallback<'all'>>\n >\n );\n default:\n throw new Error('Invalid raw user input event name');\n }\n }\n}\n"
84
84
  ],
85
- "mappings": "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",
85
+ "mappings": ";AACA,qBAAS;;AC8CF,MAAM,MAA2B;AAAA,EAIpC,WAAW,GAAG;AAAA,EAQd,cAAc,CAAC,MAAiC;AAAA,IAC5C,OAAO,EAAE,kBAAkB,MAAM,OAAO,KAAK;AAAA;AAAA,EAUjD,eAAe,CACX,iBACA,aACmB;AAAA,IACnB,OAAO;AAAA,MACH,kBAAkB;AAAA,MAClB,OAAO;AAAA,MACP;AAAA,IACJ;AAAA;AAAA,EASJ,mBAAmB,CAAC,eAAgD;AAAA,IAChE,OAAO,EAAE,kBAAkB,MAAM,OAAO,cAAc;AAAA;AAE9D;AAuBO,SAAS,sBAAsB,GAAc;AAAA,EAChD,OAAO,IAAI;AAAA;;ACjHf;AAAA;AA+HO,MAAM,+BAA+B,qBAK1C;AAAA,EACE,WAAW,CACP,QASA,cACA,SACF;AAAA,IACE,MAAM,QAAQ,cAAc,OAAO;AAAA;AAAA,EAavC,cAAc,CAAC,MAAa;AAAA,IACxB,OAAO,KAAK,QAAQ,kBAAkB,EAAE,KAAW,CAAC;AAAA;AAAA,EAaxD,yBAAyB,CAAC,QAAe;AAAA,IACrC,OAAO,KAAK,QAAQ,wBAAwB,EAAE,OAAe,CAAC;AAAA;AAAA,EAUlE,iBAAiB,GAAG;AAAA,IAChB,OAAO,KAAK,QAAQ,mBAAmB;AAAA;AAE/C;AAAA;AAOO,MAAM,gCAAgC,cAK3C;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,gBAAgB;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,gBAAgB;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,0BAA0B;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,0BAA0B;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB,EAAE,QAAQ,OAAO,oBAAoB,aAAa;AAAA,EACzE;AAAA,EAEA,qBAAqB,CACjB,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,iBAAiB,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGxD,qBAAqB,CACjB,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,cAAc,QAAQ,QAAQ,OAAO;AAAA;AAAA,EAGxD,+BAA+B,CAC3B,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,iBAAiB,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGxD,+BAA+B,CAC3B,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,cAAc,QAAQ,QAAQ,OAAO;AAAA;AAE5D;AAAA;AAOO,MAAM,wBAAwB,cAKnC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,gBAAgB;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,gBAAgB;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,sBAAsB;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,sBAAsB;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,0BAA0B;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,0BAA0B;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,qBAAqB,CACjB,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,iBAAiB,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGxD,qBAAqB,CACjB,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,cAAc,QAAQ,QAAQ,OAAO;AAAA;AAAA,EAGxD,2BAA2B,CACvB,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,iBAAiB,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGxD,2BAA2B,CACvB,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,cAAc,QAAQ,QAAQ,OAAO;AAAA;AAAA,EAGxD,+BAA+B,CAC3B,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,iBAAiB,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGxD,+BAA+B,CAC3B,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,cAAc,QAAQ,QAAQ,OAAO;AAAA;AAE5D;AAAA;AAOO,MAAM,4BAA4B,cAKvC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,QAAQ,EAAE,QAAQ,OAAO,oBAAoB,uBAAuB;AAAA,IACpE,0BAA0B;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,0BAA0B;AAAA,MACtB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,+BAA+B,CAC3B,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,iBAAiB,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGxD,+BAA+B,CAC3B,SACA,SACqB;AAAA,IACrB,OAAO,EAAE,MAAM,cAAc,QAAQ,QAAQ,OAAO;AAAA;AAE5D;AAOO,SAAS,6BAA6B,GAQ3C;AAAA,EACE,OAAO;AAAA,IACH,sBAAsB,IAAI;AAAA,IAC1B,YAAY,IAAI;AAAA,IAChB,kBAAkB,IAAI;AAAA,EAC1B;AAAA;AAqBG,SAAS,mCAAmC,CAC/C,UAAuB,EAAE,OAAO,OAAO,SAAS,MAAM,GAChC;AAAA,EACtB,OAAO,IAAI,uBACP,8BAA8B,GAC9B,wBACA,OACJ;AAAA;;;ACzbJ,kBAAS,yBAAO,wCAAe;AAAA;AA8HxB,MAAM,kCAAkC,sBAK7C;AAAA,EACE,WAAW,CACP,QASA,cACA,SACF;AAAA,IACE,MAAM,QAAQ,cAAc,OAAO;AAAA;AAAA,EAavC,mBAAmB,CAAC,MAAc;AAAA,IAC9B,OAAO,KAAK,QAAQ,qBAAqB,EAAE,KAAW,CAAC;AAAA;AAAA,EAa3D,4BAA4B,CAAC,QAAgB;AAAA,IACzC,OAAO,KAAK,QAAQ,2BAA2B,EAAE,OAAe,CAAC;AAAA;AAAA,EAUrE,iBAAiB,GAAS;AAAA,IACtB,KAAK,QAAQ,mBAAmB;AAAA;AAExC;AAAA;AAOO,MAAM,wCAAwC,eAKnD;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB,EAAE,QAAQ,QAAO,oBAAoB,aAAa;AAAA,EACzE;AAAA,EAEA,wBAAwB,CACpB,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGnD,wBAAwB,CACpB,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,QAAQ,QAAQ,OAAO;AAAA;AAAA,EAGtD,kCAAkC,CAC9B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGnD,kCAAkC,CAC9B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,QAAQ,QAAQ,OAAO;AAAA;AAE1D;AAAA;AAOO,MAAM,gCAAgC,eAK3C;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,yBAAyB;AAAA,MACrB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,yBAAyB;AAAA,MACrB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,wBAAwB,CACpB,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGnD,wBAAwB,CACpB,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,QAAQ,QAAQ,OAAO;AAAA;AAAA,EAGtD,8BAA8B,CAC1B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGnD,8BAA8B,CAC1B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,QAAQ,QAAQ,OAAO;AAAA;AAAA,EAGtD,kCAAkC,CAC9B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGnD,kCAAkC,CAC9B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,QAAQ,QAAQ,OAAO;AAAA;AAE1D;AAAA;AAOO,MAAM,oCAAoC,eAK/C;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,QAAQ,EAAE,QAAQ,QAAO,oBAAoB,uBAAuB;AAAA,IACpE,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,kCAAkC,CAC9B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,OAAO,QAAQ,KAAK;AAAA;AAAA,EAGnD,kCAAkC,CAC9B,SACA,SACwB;AAAA,IACxB,OAAO,EAAE,MAAM,YAAY,QAAQ,QAAQ,OAAO;AAAA;AAE1D;AAOO,SAAS,gCAAgC,GAQ9C;AAAA,EACE,OAAO;AAAA,IACH,sBAAsB,IAAI;AAAA,IAC1B,YAAY,IAAI;AAAA,IAChB,kBAAkB,IAAI;AAAA,EAC1B;AAAA;AAqBG,SAAS,sCAAsC,CAClD,UAAuB,EAAE,OAAO,QAAO,SAAS,OAAM,GAC7B;AAAA,EACzB,OAAO,IAAI,0BACP,iCAAiC,GACjC,wBACA,OACJ;AAAA;;;ACxbJ,kBAAS,yBAAO,wCAAe;AAAA;AAoIxB,MAAM,oCAAoC,eAK/C;AAAA,EACY,kBAKN;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,oBAAoB,EAAE,QAAQ,QAAO,oBAAoB,aAAa;AAAA,EAC1E;AAAA,EAEA,iBAAiB,CACb,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,iBAAiB,CACb,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAER;AAAA;AAOO,MAAM,4BAA4B,eAKvC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,yBAAyB;AAAA,MACrB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,yBAAyB;AAAA,MACrB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,+BAA+B;AAAA,MAC3B,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,8BAA8B;AAAA,MAC1B,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,2BAA2B,CACvB,SACA,SACsB;AAAA,IACtB,OAAO,EAAE,MAAM,UAAU,WAAW,QAAQ,UAAU;AAAA;AAAA,EAG1D,2BAA2B,CACvB,SACA,SACsB;AAAA,IACtB,OAAO,EAAE,MAAM,UAAU,YAAY,QAAQ,WAAW;AAAA;AAAA,EAG5D,iBAAiB,CACb,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,iBAAiB,CACb,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,uBAAuB,CACnB,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,6BAA6B,CACzB,SACA,SACsB;AAAA,IACtB,OAAO,EAAE,MAAM,UAAU,WAAW,QAAQ,UAAU;AAAA;AAAA,EAG1D,uBAAuB,CACnB,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,6BAA6B,CACzB,SACA,SACsB;AAAA,IACtB,OAAO,EAAE,MAAM,UAAU,YAAY,QAAQ,WAAW;AAAA;AAAA,EAG5D,4BAA4B,CACxB,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAER;AAAA;AAOO,MAAM,gCAAgC,eAK3C;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,6BAA6B;AAAA,MACzB,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,2BAA2B,CACvB,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,2BAA2B,CACvB,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,iBAAiB,CACb,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAAA,EAGJ,iBAAiB,CACb,SACA,SACsB;AAAA,IACtB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ;AAAA,IACzB;AAAA;AAER;AAAA;AAmCO,MAAM,gCAAgC,sBAK3C;AAAA,EACE,WAAW,CACP,QASA,cACA,SACF;AAAA,IACE,MAAM,QAAQ,cAAc,OAAO;AAAA;AAAA,EAavC,mBAAmB,CAAC,OAAe,IAAW;AAAA,IAC1C,OAAO,KAAK,QAAQ,qBAAqB;AAAA,MACrC,WAAW;AAAA,MACX,aAAa;AAAA,IACjB,CAAC;AAAA;AAAA,EAaL,4BAA4B,CAAC,OAAe,IAAW;AAAA,IACnD,OAAO,KAAK,QAAQ,2BAA2B;AAAA,MAC3C,WAAW;AAAA,MACX,aAAa;AAAA,IACjB,CAAC;AAAA;AAAA,EAaL,yBAAyB,CAAC,YAAoB,IAAW;AAAA,IACrD,OAAO,KAAK,QAAQ,iCAAiC;AAAA,MACjD;AAAA,MACA,aAAa;AAAA,IACjB,CAAC;AAAA;AAAA,EAaL,wBAAwB,CAAC,YAAoB,IAAW;AAAA,IACpD,OAAO,KAAK,QAAQ,gCAAgC;AAAA,MAChD;AAAA,MACA,aAAa;AAAA,IACjB,CAAC;AAAA;AAAA,EAUL,iBAAiB,GAAG;AAAA,IAChB,OAAO,KAAK,QAAQ,oBAAoB;AAAA;AAEhD;AAOO,SAAS,8BAA8B,GAQ5C;AAAA,EACE,OAAO;AAAA,IACH,sBAAsB,IAAI;AAAA,IAC1B,YAAY,IAAI;AAAA,IAChB,kBAAkB,IAAI;AAAA,EAC1B;AAAA;AAqBG,SAAS,oCAAoC,CAChD,UAAuB,EAAE,OAAO,QAAO,SAAS,OAAM,GAC/B;AAAA,EACvB,OAAO,IAAI,wBACP,+BAA+B,GAC/B,wBACA,OACJ;AAAA;;;ACzfG,MAAM,8BAAmD;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EAaR,WAAW,CACP,iBACA,kBACA,oBACF;AAAA,IACE,KAAK,mBAAmB;AAAA,IACxB,KAAK,oBAAoB;AAAA,IACzB,KAAK,sBAAsB;AAAA;AAAA,EAwB/B,yBAAyB,CAAC,QAAmC;AAAA,IACzD,MAAM,MAAM,KAAK,iBAAiB,0BAA0B,MAAM;AAAA,IAElE,IAAI,IAAI,SAAS;AAAA,MACb,MAAM,SAAS,IAAI;AAAA,MACnB,IAAI,WAAW,WAAW;AAAA,QACtB,QAAQ,OAAO;AAAA,eACN;AAAA,YACD,OAAO,EAAE,kBAAkB,MAAM,OAAO,OAAO,MAAM;AAAA,eACpD;AAAA,YACD,OAAO,EAAE,kBAAkB,MAAM,OAAO,OAAO,OAAO;AAAA;AAAA,YAEtD,OAAO,EAAE,kBAAkB,MAAM;AAAA;AAAA,MAE7C;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,kBAAkB,MAAM;AAAA;AAAA,EAyBrC,cAAc,CAAC,OAAkC;AAAA,IAC7C,MAAM,SAAS,KAAK,iBAAiB,QAAQ,kBAAkB;AAAA,MAC3D,MAAM;AAAA,IACV,CAAC;AAAA,IACD,IAAI,OAAO,WAAW,YAAY,UAAU,OAAO,QAAQ;AAAA,MACvD,MAAM,SAAS,OAAO;AAAA,MACtB,IAAI,OAAO,SAAS,QAAQ;AAAA,QACxB,OAAO,EAAE,kBAAkB,MAAM,MAAa;AAAA,MAClD;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,kBAAkB,MAAM;AAAA;AAAA,EA0BrC,eAAe,CAAC,OAAe,IAAgC;AAAA,IAC3D,MAAM,SAAS,KAAK,kBAAkB,QAAQ,qBAAqB;AAAA,MAC/D,WAAW;AAAA,MACX,aAAa;AAAA,IACjB,CAAC;AAAA,IACD,IAAI,OAAO,WAAW,YAAY,UAAU,OAAO,QAAQ;AAAA,MACvD,MAAM,SAAS,OAAO;AAAA,MACtB,IAAI,OAAO,SAAS,QAAQ;AAAA,QACxB,OAAO,EAAE,kBAAkB,MAAM;AAAA,MACrC;AAAA,MAGA,IAAI,KAAK,iBAAiB,iBAAiB,oBAAoB;AAAA,QAC3D,OAAO,EAAE,kBAAkB,MAAM,MAAM;AAAA,MAC3C;AAAA,MACA,OAAO,EAAE,kBAAkB,MAAM,OAAO,aAAa,GAAG;AAAA,IAC5D;AAAA,IACA,OAAO,EAAE,kBAAkB,MAAM;AAAA;AAAA,EAarC,mBAAmB,CAAC,OAAe;AAAA,IAC/B,OAAO,KAAK,oBAAoB,oBAAoB,KAAK;AAAA;AAAA,EAa7D,4BAA4B,CAAC,QAAgB;AAAA,IACzC,OAAO,KAAK,oBAAoB,6BAA6B,MAAM;AAAA;AAAA,EAcvE,wBAAwB,CACpB,YACA,KAAY,EAAE,GAAG,GAAG,GAAG,EAAE,GACrB;AAAA,IACJ,KAAK,kBAAkB,0BAA0B,YAAY,EAAE;AAAA;AAAA,EAanE,6BAA6B,CACzB,YACA,KAAY,EAAE,GAAG,GAAG,GAAG,EAAE,GACrB;AAAA,IACJ,KAAK,kBAAkB,yBAAyB,YAAY,EAAE;AAAA;AAAA,EAwBlE,mBAAmB,CAAC,OAAwC;AAAA,IACxD,MAAM,SAAS,KAAK,oBAAoB,QAAQ,qBAAqB;AAAA,MACjE,MAAM;AAAA,IACV,CAAC;AAAA,IACD,IAAI,OAAO,WAAW,YAAY,UAAU,OAAO,QAAQ;AAAA,MACvD,MAAM,SAAS,OAAO;AAAA,MACtB,IAAI,OAAO,SAAS,QAAQ;AAAA,QACxB,OAAO,EAAE,kBAAkB,MAAM,MAAa;AAAA,MAClD;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,kBAAkB,MAAM;AAAA;AAAA,EAUrC,oBAAoB,GAAS;AAAA,IACzB,KAAK,iBAAiB,kBAAkB;AAAA;AAAA,EAU5C,qBAAqB,GAAS;AAAA,IAC1B,KAAK,kBAAkB,kBAAkB;AAAA;AAAA,EAU7C,uBAAuB,GAAS;AAAA,IAC5B,KAAK,oBAAoB,kBAAkB;AAAA;AAAA,MAY3C,kBAAkB,GAA8B;AAAA,IAChD,OAAO,KAAK;AAAA;AAAA,MAYZ,eAAe,GAA2B;AAAA,IAC1C,OAAO,KAAK;AAAA;AAAA,MAYZ,gBAAgB,GAA4B;AAAA,IAC5C,OAAO,KAAK;AAAA;AAEpB;AA0CO,SAAS,mCAAmC,GAAkC;AAAA,EACjF,MAAM,kBAAkB,oCAAoC;AAAA,EAC5D,MAAM,mBAAmB,qCAAqC;AAAA,EAC9D,MAAM,qBAAqB,uCAAuC;AAAA,EAClE,OAAO,IAAI,8BACP,iBACA,kBACA,kBACJ;AAAA;;AC1ZG,SAAS,kBAAyC,IAClD,UACa;AAAA,EAChB,MAAM,qBAAqB,MAAM,QAAQ,SAAS,EAAE,IAC9C,SAAS,KACR;AAAA,EACP,OAAO,CAAC,UAAa,SAAkB;AAAA,IACnC,OAAO,mBAAmB,OACtB,CAAC,KAAK,YAAY,QAAQ,KAAK,GAAG,IAAI,GACtC,KACJ;AAAA;AAAA;;;ACJD,SAAS,sBAAsB,CAClC,iBACO;AAAA,EACP,IAAI,oBAAoB,WAAW;AAAA,IAC/B,OAAO;AAAA,EACX;AAAA,EACA,IACI,gBAAgB,QAAQ,aACxB,gBAAgB,QAAQ,aACxB,gBAAgB,MAAM,gBAAgB,KACxC;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AA0BJ,SAAS,cAAc,CAC1B,WACA,iBACM;AAAA,EACN,IACI,sBAAsB,WAAW,eAAe,KAChD,oBAAoB,WACtB;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,IAAI,gBAAgB,KAAK;AAAA,IACrB,YAAY,KAAK,IAAI,gBAAgB,KAAK,SAAS;AAAA,EACvD;AAAA,EACA,IAAI,gBAAgB,KAAK;AAAA,IACrB,YAAY,KAAK,IAAI,gBAAgB,KAAK,SAAS;AAAA,EACvD;AAAA,EACA,OAAO;AAAA;AAgCJ,SAAS,qBAAqB,CACjC,WACA,iBACO;AAAA,EACP,IAAI,oBAAoB,WAAW;AAAA,IAC/B,OAAO;AAAA,EACX;AAAA,EACA,IACI,aAAa,KACZ,oBAAoB,cACf,gBAAgB,QAAQ,aACtB,gBAAgB,MAAM,aACrB,gBAAgB,QAAQ,aACrB,gBAAgB,MAAM,YACpC;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;;;ACkEJ,SAAS,kBAAkB,CAC9B,aACA,QACA,QACM;AAAA,EACN,IAAI,CAAC,OAAO,WAAW;AAAA,IACnB,OAAO;AAAA,EACX;AAAA,EACA,OAAO,eAAe,aAAa,OAAO,cAAc;AAAA;AA8CrD,SAAS,kBAAkB,CAC9B,OACA,QACA,QACM;AAAA,EACN,IAAI,CAAC,OAAO,WAAW;AAAA,IACnB,OAAO;AAAA,EACX;AAAA,EACA,IAAI,aAAa,OAAO,YAAY;AAAA,EACpC,aAAa,eAAe,YAAY,OAAO,cAAc;AAAA,EAC7D,QAAQ,aAAa,OAAO;AAAA,EAC5B,OAAO;AAAA;AA0CJ,SAAS,qBAAqB,CACjC,aACA,QACA,QACM;AAAA,EACN,IAAI,OAAO,cAAc;AAAA,IACrB,OAAO,OAAO;AAAA,EAClB;AAAA,EACA,OAAO;AAAA;AAwCJ,SAAS,qBAAqB,CACjC,OACA,QACA,QACM;AAAA,EACN,IAAI,OAAO,cAAc;AAAA,IACrB,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAoDJ,SAAS,8BAA8B,GAA0B;AAAA,EACpE,OAAO,mBACH,oBACA,qBACJ;AAAA;AAsDG,SAAS,8BAA8B,GAA0B;AAAA,EACpE,OAAO,mBACH,oBACA,qBACJ;AAAA;;ACneJ,qBAAgB;;;ACAhB,qBAAgB;;;ACAhB,qBAAgB;;;ACAhB;AAwCO,SAAS,0BAA0B,CACtC,eACA,8BAAqC,EAAE,GAAG,GAAG,GAAG,EAAE,GAClD,0BAAmC,OAC9B;AAAA,EACL,MAAM,MAAM,SAAS,UAAU,eAAe,2BAA2B;AAAA,EACzE,IAAI,yBAAyB;AAAA,IACzB,IAAI,IAAI,CAAC,IAAI;AAAA,EACjB;AAAA,EACA,OAAO;AAAA;AAyCJ,SAAS,0BAA0B,CACtC,iBACA,8BAAqC,EAAE,GAAG,GAAG,GAAG,EAAE,GAClD,0BAAmC,OAC9B;AAAA,EACL,IAAI,yBAAyB;AAAA,IACzB,gBAAgB,IAAI,CAAC,gBAAgB;AAAA,EACzC;AAAA,EACA,OAAO,SAAS,UAAU,iBAAiB,2BAA2B;AAAA;;;AClG1E,qBAAgB;AAiDT,SAAS,yBAAyB,CACrC,iBACA,4BACA,iBACA,gBACA,uBAAgC,OAC3B;AAAA,EACL,MAAM,aAAa,UAAS,uBACxB,iBACA,IAAI,eACR;AAAA,EACA,MAAM,cAAc,UAAS,YAAY,YAAY,cAAc;AAAA,EACnE,IAAI,sBAAsB;AAAA,IACtB,YAAY,IAAI,CAAC,YAAY;AAAA,EACjC;AAAA,EACA,MAAM,aAAa,UAAS,UACxB,aACA,0BACJ;AAAA,EACA,OAAO;AAAA;AAsDJ,SAAS,yBAAyB,CACrC,cACA,4BACA,iBACA,gBACA,uBAAgC,OAC3B;AAAA,EACL,MAAM,aAAa,UAAS,UACxB,cACA,0BACJ;AAAA,EACA,IAAI,sBAAsB;AAAA,IACtB,WAAW,IAAI,CAAC,WAAW;AAAA,EAC/B;AAAA,EACA,MAAM,SAAS,UAAS,uBAAuB,YAAY,eAAe;AAAA,EAC1E,MAAM,UAAU,UAAS,YAAY,QAAQ,CAAC,cAAc;AAAA,EAC5D,OAAO;AAAA;;;AC5BJ,SAAS,qBAAqB,CACjC,iBACA,kBACA,aACA,cACF;AAAA,EAME,MAAM,IAAI,gBAAgB;AAAA,EAC1B,MAAM,IAAI,gBAAgB;AAAA,EAC1B,MAAM,IAAI,gBAAgB;AAAA,EAC1B,MAAM,IAAI,gBAAgB;AAAA,EAC1B,MAAM,KAAK,gBAAgB;AAAA,EAC3B,MAAM,KAAK,gBAAgB;AAAA,EAI3B,MAAM,WAAW,CAAC,KAAK,MAAM,GAAG,CAAC;AAAA,EAGjC,MAAM,aAAa,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC;AAAA,EAC1C,MAAM,OAAO,aAAa;AAAA,EAO1B,IAAI,UAAU,CAAC,IAAI,EAAE;AAAA,EAGrB,UAAU,CAAC,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,gBAAgB;AAAA,EAGvE,UAAU,CAAC,QAAQ,KAAK,cAAc,GAAG,QAAQ,KAAK,eAAe,CAAC;AAAA,EAGtE,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAC/B,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAC/B,UAAU;AAAA,IACN,QAAQ,QAAQ,KAAK,QAAQ,QAAQ;AAAA,IACrC,QAAQ,QAAQ,KAAK,QAAQ,QAAQ;AAAA,EACzC;AAAA,EAGA,UAAU,CAAC,QAAQ,KAAK,MAAM,QAAQ,KAAK,IAAI;AAAA,EAG/C,MAAM,UAAU,CAAC,QAAQ;AAAA,EACzB,MAAM,UAAU,CAAC,QAAQ;AAAA,EAEzB,OAAO;AAAA,IACH,UAAU,EAAE,GAAG,SAAS,GAAG,QAAQ;AAAA,IACnC;AAAA,IACA;AAAA,EACJ;AAAA;AA2HG,SAAS,kBAAkB,CAC9B,WACA,MACA,UACA,kBACA,aACA,cACF;AAAA,EAEE,IAAI,SAA+B;AAAA,IAC/B,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACP;AAAA,EAGA,MAAM,mBAAmB,eAAe,QAAQ;AAAA,IAC5C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,cAAc;AAAA,IACjB,GAAG,eAAe;AAAA,EACtB,CAAC;AAAA,EAGD,MAAM,QAAQ,KAAK,IAAI,CAAC,QAAQ;AAAA,EAChC,MAAM,QAAQ,KAAK,IAAI,CAAC,QAAQ;AAAA,EAChC,MAAM,gBAAgB,eAAe,kBAAkB;AAAA,IACnD,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,CAAC;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACP,CAAC;AAAA,EAGD,MAAM,eAAe,eAAe,eAAe;AAAA,IAC/C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACP,CAAC;AAAA,EAGD,MAAM,mBAAmB,eAAe,cAAc;AAAA,IAClD,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,CAAC,UAAU;AAAA,IACd,GAAG,CAAC,UAAU;AAAA,EAClB,CAAC;AAAA,EACD,OAAO;AAAA;AAoDJ,SAAS,cAAc,CAC1B,IACA,IACF;AAAA,EACE,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,MAAM,GAAG;AAAA,EACf,MAAM,MAAM,GAAG;AAAA,EAEf,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,KAAK,GAAG;AAAA,EACd,MAAM,MAAM,GAAG;AAAA,EACf,MAAM,MAAM,GAAG;AAAA,EAEf,OAAO;AAAA,IACH,GAAG,KAAK,KAAK,KAAK;AAAA,IAClB,GAAG,KAAK,KAAK,KAAK;AAAA,IAClB,GAAG,KAAK,KAAK,KAAK;AAAA,IAClB,GAAG,KAAK,KAAK,KAAK;AAAA,IAClB,GAAG,KAAK,MAAM,KAAK,MAAM;AAAA,IACzB,GAAG,KAAK,MAAM,KAAK,MAAM;AAAA,EAC7B;AAAA;AAWG,SAAS,YAAY,CAAC,QAI3B;AAAA,EACE,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM;AAAA,EAG7B,MAAM,cAAc,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAMjC,MAAM,MAAM,IAAI,IAAI,IAAI;AAAA,EACxB,IAAI,KAAK,IAAI,GAAG,IAAI,cAAO;AAAA,IAEvB,MAAM,IAAI,MAAM,6CAA6C;AAAA,EACjE;AAAA,EAIA,MAAM,WAAW,KAAK,MAAM,GAAG,CAAC;AAAA,EAGhC,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAC/B,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAI/B,MAAM,SAAS,IAAI,QAAQ,IAAI;AAAA,EAC/B,MAAM,SAAS,IAAI,CAAC,QAAQ,IAAI;AAAA,EAGhC,IAAI,gBAAgB;AAAA,EACpB,IAAI,cAAc;AAAA,EAClB,IAAI,cAAc;AAAA,EAElB,IAAI,SAAS,GAAG;AAAA,IACZ,cAAc,CAAC;AAAA,IACf,iBAAiB,KAAK;AAAA,EAC1B;AAAA,EACA,IAAI,SAAS,GAAG;AAAA,IACZ,cAAc,CAAC;AAAA,IACf,iBAAiB,KAAK;AAAA,EAC1B;AAAA,EAGA,OAAO,gBAAgB,KAAK;AAAA,IAAI,iBAAiB,IAAI,KAAK;AAAA,EAC1D,OAAO,gBAAgB,CAAC,KAAK;AAAA,IAAI,iBAAiB,IAAI,KAAK;AAAA,EAE3D,OAAO;AAAA,IACH;AAAA,IACA,UAAU;AAAA,IACV,OAAO,EAAE,GAAG,aAAa,GAAG,YAAY;AAAA,EAC5C;AAAA;AAyCG,SAAS,eAAe,CAC3B,aACA,UACA,OACoB;AAAA,EACpB,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAC/B,MAAM,QAAQ,KAAK,IAAI,QAAQ;AAAA,EAE/B,OAAO;AAAA,IACH,GAAG,MAAM,IAAI;AAAA,IACb,GAAG,MAAM,IAAI;AAAA,IACb,GAAG,CAAC,MAAM,IAAI;AAAA,IACd,GAAG,MAAM,IAAI;AAAA,IACb,GAAG,YAAY;AAAA,IACf,GAAG,YAAY;AAAA,EACnB;AAAA;AAYG,SAAS,eAAe,CAAC,QAI9B;AAAA,EACE,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM;AAAA,EAG7B,MAAM,cAAc,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAGjC,MAAM,MAAM,GACR,MAAM;AAAA,EACV,MAAM,MAAM,GACR,MAAM;AAAA,EAMV,MAAM,QAAQ,MAAM,MAAM,MAAM;AAAA,EAChC,MAAM,QAAQ,MAAM,MAAM,MAAM;AAAA,EAChC,MAAM,QAAQ;AAAA,EACd,MAAM,QAAQ,MAAM,MAAM,MAAM;AAAA,EAGhC,MAAM,QAAQ,QAAQ;AAAA,EACtB,MAAM,MAAM,QAAQ,QAAQ,QAAQ;AAAA,EACpC,MAAM,eAAe,QAAQ,QAAQ,IAAI;AAAA,EAEzC,IAAI,eAAe,GAAG;AAAA,IAClB,MAAM,IAAI,MAAM,+BAA+B;AAAA,EACnD;AAAA,EAEA,MAAM,WAAW,KAAK,KAAK,YAAY;AAAA,EACvC,MAAM,WAAW,QAAQ,YAAY;AAAA,EACrC,MAAM,WAAW,QAAQ,YAAY;AAAA,EAGrC,MAAM,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC;AAAA,EACzC,MAAM,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC;AAAA,EAGzC,MAAM,QAAQ,EAAE,GAAG,IAAI,GAAG,GAAG;AAAA,EAI7B,IAAI,WAAW;AAAA,EAEf,IAAI,KAAK,cAAO;AAAA,IAEZ,MAAM,MAAM;AAAA,IACZ,MAAM,MAAM,UAAU;AAAA,IACtB,MAAM,MAAM,UAAU;AAAA,IACtB,MAAM,MAAM;AAAA,IAGZ,MAAM,SAAS,KAAK,KAAK,MAAM,MAAM,MAAM,GAAG;AAAA,IAC9C,MAAM,SAAS,KAAK,KAAK,MAAM,MAAM,MAAM,GAAG;AAAA,IAE9C,IAAI,SAAS,gBAAS,SAAS,cAAO;AAAA,MAClC,MAAM,OAAO,MAAM;AAAA,MACnB,MAAM,OAAO,MAAM;AAAA,MACnB,MAAM,OAAO,MAAM;AAAA,MACnB,MAAM,OAAO,MAAM;AAAA,MAGnB,MAAM,OAAO,MAAM,OAAO,MAAM,QAAQ;AAAA,MACxC,MAAM,OAAO,MAAM,OAAO,MAAM,QAAQ;AAAA,MAExC,WAAW,KAAK,MAAM,KAAK,GAAG;AAAA,IAClC;AAAA,EACJ;AAAA,EAEA,OAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA;;;AHhlBG,SAAS,qBAAqB,CACjC,gBACA,eACA,eACA,gBACA,iBACA,gBACK;AAAA,EACL,MAAM,0BAA0B,2BAC5B,eACA,EAAE,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,EAAE,GAC9C,KACJ;AAAA,EACA,OAAO,0BACH,yBACA,gBACA,iBACA,gBACA,KACJ;AAAA;AAmCG,SAAS,kBAAkB,CAC9B,OACA,eACA,gBACA,gBACA,iBACA,gBACK;AAAA,EACL,MAAM,kBAAkB,2BACpB,OACA,EAAE,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,EAAE,GAC9C,KACJ;AAAA,EACA,OAAO,0BACH,iBACA,gBACA,iBACA,gBACA,KACJ;AAAA;AA6CG,SAAS,gCAAgC,CAC5C,OACA,gBACA,iBACA,gBACK;AAAA,EACL,OAAO,0BACH,OACA,gBACA,iBACA,gBACA,KACJ;AAAA;AAsCG,SAAS,mCAAmC,CAC/C,OACA,gBACA,iBACA,gBACK;AAAA,EACL,OAAO,0BACH,OACA,gBACA,iBACA,gBACA,KACJ;AAAA;AAmCG,SAAS,oBAAoB,CAChC,OACA,eACA,gBACA,gBACA,iBACA,gBACK;AAAA,EACL,MAAM,kBAAkB,0BACpB,OACA,gBACA,iBACA,gBACA,KACJ;AAAA,EACA,OAAO,2BACH,iBACA,EAAE,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,EAAE,GAC9C,KACJ;AAAA;AAgCG,SAAS,iBAAiB,CAC7B,OACA,eACA,gBACA,gBACA,iBACA,gBACO;AAAA,EACP,MAAM,qBAAqB,qBACvB,OACA,eACA,gBACA,gBACA,iBACA,cACJ;AAAA,EACA,IACI,mBAAmB,IAAI,KACvB,mBAAmB,IAAI,iBACvB,mBAAmB,IAAI,KACvB,mBAAmB,IAAI,gBACzB;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAkCJ,SAAS,kCAAkC,CAC9C,OACA,iBACA,gBACK;AAAA,EACL,OAAO,UAAS,uBACZ,UAAS,YAAY,OAAO,cAAc,GAC1C,IAAI,eACR;AAAA;AAiCG,SAAS,kCAAkC,CAC9C,OACA,iBACA,gBACK;AAAA,EACL,OAAO,UAAS,uBACZ,UAAS,YAAY,OAAO,CAAC,cAAc,GAC3C,eACJ;AAAA;AA+CG,SAAS,mBAAmB,CAC/B,cACA,mBACA,iBACA,gBACK;AAAA,EACL,MAAM,SAAS,UAAS,uBACpB,mBACA,IAAI,eACR;AAAA,EACA,MAAM,UAAU,UAAS,YAAY,QAAQ,cAAc;AAAA,EAC3D,OAAO,UAAS,UAAU,cAAc,OAAO;AAAA;AAoB5C,SAAS,8BAA8B,CAC1C,gBACA,iBACA,gBACoB;AAAA,EACpB,MAAM,MAAM,KAAK,IAAI,cAAc;AAAA,EACnC,MAAM,MAAM,KAAK,IAAI,cAAc;AAAA,EACnC,MAAM,WAAW,eACb;AAAA,IACI,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,eAAe;AAAA,IAClB,GAAG,eAAe;AAAA,EACtB,GACA;AAAA,IACI,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,CAAC;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACP,CACJ;AAAA,EACA,MAAM,YAAY,eAAe,UAAU;AAAA,IACvC,GAAG,IAAI;AAAA,IACP,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,IAAI;AAAA,IACP,GAAG;AAAA,IACH,GAAG;AAAA,EACP,CAAC;AAAA,EACD,OAAO;AAAA;AAmCJ,SAAS,0CAA0C,CACtD,OACA,sBACK;AAAA,EACL,OAAO;AAAA,IACH,GACI,MAAM,IAAI,qBAAqB,IAC/B,MAAM,IAAI,qBAAqB,IAC/B,qBAAqB;AAAA,IACzB,GACI,MAAM,IAAI,qBAAqB,IAC/B,MAAM,IAAI,qBAAqB,IAC/B,qBAAqB;AAAA,EAC7B;AAAA;;;ADnfG,SAAS,gBAAgB,CAC5B,OACA,YACO;AAAA,EACP,IAAI,cAAc,WAAW;AAAA,IAEzB,OAAO;AAAA,EACX;AAAA,EACA,IAAI,WAAW;AAAA,EACf,IAAI,YAAY;AAAA,EAChB,IAAI,UAAU;AAAA,EACd,IAAI,aAAa;AAAA,EAEjB,IACI,WAAW,OAAO,aAClB,WAAW,IAAI,KAAK,aACpB,MAAM,KAAK,WAAW,IAAI,GAC5B;AAAA,IACE,YAAY;AAAA,EAChB;AAAA,EACA,IACI,WAAW,OAAO,aAClB,WAAW,IAAI,KAAK,aACpB,MAAM,KAAK,WAAW,IAAI,GAC5B;AAAA,IACE,WAAW;AAAA,EACf;AAAA,EACA,IACI,WAAW,OAAO,aAClB,WAAW,IAAI,KAAK,aACpB,MAAM,KAAK,WAAW,IAAI,GAC5B;AAAA,IACE,UAAU;AAAA,EACd;AAAA,EACA,IACI,WAAW,OAAO,aAClB,WAAW,IAAI,KAAK,aACpB,MAAM,KAAK,WAAW,IAAI,GAC5B;AAAA,IACE,aAAa;AAAA,EACjB;AAAA,EACA,OAAO,YAAY,aAAa,WAAW;AAAA;AA6BxC,SAAS,iBAAiB,CAAC,YAA6C;AAAA,EAC3E,IAAI,cAAc,WAAW;AAAA,IACzB,OAAO;AAAA,EACX;AAAA,EACA,MAAM,OAAO,WAAW,KAAK;AAAA,EAC7B,MAAM,OAAO,WAAW,KAAK;AAAA,EAC7B,IAAI,QAAQ,QAAa,QAAQ,QAAa,QAAQ,MAAM;AAAA,IACxD,OAAO;AAAA,EACX;AAAA,EACA,MAAM,OAAO,WAAW,KAAK;AAAA,EAC7B,MAAM,OAAO,WAAW,KAAK;AAAA,EAC7B,IAAI,QAAQ,QAAa,QAAQ,QAAa,QAAQ,MAAM;AAAA,IACxD,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AA+BJ,SAAS,sBAAsB,CAClC,YAIF;AAAA,EACE,IAAI,cAAc,WAAW;AAAA,IACzB,OAAO;AAAA,EACX;AAAA,EACA,IAAI,WAAW,OAAO,aAAa,WAAW,OAAO,WAAW;AAAA,IAC5D,OAAO;AAAA,EACX;AAAA,EACA,IACI,WAAW,IAAI,KAAK,aACpB,WAAW,IAAI,KAAK,aACpB,WAAW,IAAI,KAAK,aACpB,WAAW,IAAI,KAAK,WACtB;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAgCJ,SAAS,UAAU,CACtB,OACA,YACK;AAAA,EACL,IAAI,iBAAiB,OAAO,UAAU,KAAK,cAAc,WAAW;AAAA,IAChE,OAAO;AAAA,EACX;AAAA,EACA,IAAI,kBAAkB,EAAE,GAAG,MAAM,GAAG,GAAG,MAAM,EAAE;AAAA,EAC/C,IAAI,QAAQ,WAAW;AAAA,EACvB,IAAI,SAAS,MAAW;AAAA,IACpB,IAAI,MAAM,KAAK,MAAW;AAAA,MACtB,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,GAAG,MAAM,CAAC;AAAA,IAC3D;AAAA,IACA,IAAI,MAAM,KAAK,MAAW;AAAA,MACtB,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,GAAG,MAAM,CAAC;AAAA,IAC3D;AAAA,EACJ;AAAA,EACA,QAAQ,WAAW;AAAA,EACnB,IAAI,SAAS,MAAW;AAAA,IACpB,IAAI,MAAM,KAAK,MAAW;AAAA,MACtB,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,GAAG,MAAM,CAAC;AAAA,IAC3D;AAAA,IACA,IAAI,MAAM,KAAK,MAAW;AAAA,MACtB,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,GAAG,MAAM,CAAC;AAAA,IAC3D;AAAA,EACJ;AAAA,EACA,OAAO;AAAA;AA0BJ,SAAS,kBAAkB,CAC9B,YACkB;AAAA,EAClB,IACI,cAAc,aACd,WAAW,OAAO,aAClB,WAAW,OAAO,aAClB,WAAW,IAAI,KAAK,aACpB,WAAW,IAAI,KAAK,WACtB;AAAA,IACE;AAAA,EACJ;AAAA,EACA,OAAO,WAAW,IAAI,IAAI,WAAW,IAAI;AAAA;AAuBtC,SAAS,sBAAsB,CAClC,YACkB;AAAA,EAClB,MAAM,mBAAmB,mBAAmB,UAAU;AAAA,EACtD,OAAO,oBAAoB,OAAY,mBAAmB,IAAI;AAAA;AA0B3D,SAAS,mBAAmB,CAC/B,YACkB;AAAA,EAClB,IACI,cAAc,aACd,WAAW,OAAO,aAClB,WAAW,OAAO,aAClB,WAAW,IAAI,KAAK,aACpB,WAAW,IAAI,KAAK,WACtB;AAAA,IACE;AAAA,EACJ;AAAA,EACA,OAAO,WAAW,IAAI,IAAI,WAAW,IAAI;AAAA;AAuBtC,SAAS,uBAAuB,CACnC,YACkB;AAAA,EAClB,MAAM,oBAAoB,oBAAoB,UAAU;AAAA,EACxD,OAAO,qBAAqB,OAAY,oBAAoB,IAAI;AAAA;AAoD7D,SAAS,wBAAwB,CACpC,OACA,eACA,gBACA,YACA,iBACA,gBACK;AAAA,EACL,IAAI,cAAc,WAAW;AAAA,IACzB,OAAO;AAAA,EACX;AAAA,EACA,IAAI,gBAAgB,sBAChB,OACA,EAAE,GAAG,GAAG,GAAG,eAAe,GAC1B,eACA,gBACA,iBACA,cACJ;AAAA,EACA,IAAI,mBAAmB,sBACnB,OACA,EAAE,GAAG,GAAG,GAAG,EAAE,GACb,eACA,gBACA,iBACA,cACJ;AAAA,EACA,IAAI,iBAAiB,sBACjB,OACA,EAAE,GAAG,eAAe,GAAG,eAAe,GACtC,eACA,gBACA,iBACA,cACJ;AAAA,EACA,IAAI,oBAAoB,sBACpB,OACA,EAAE,GAAG,eAAe,GAAG,EAAE,GACzB,eACA,gBACA,iBACA,cACJ;AAAA,EACA,IAAI,uBAAuB,WAAW,eAAe,UAAU;AAAA,EAC/D,IAAI,wBAAwB,WAAW,gBAAgB,UAAU;AAAA,EACjE,IAAI,0BAA0B,WAAW,kBAAkB,UAAU;AAAA,EACrE,IAAI,2BAA2B,WAAW,mBAAmB,UAAU;AAAA,EACvE,IAAI,oBAAoB,UAAS,UAC7B,sBACA,aACJ;AAAA,EACA,IAAI,qBAAqB,UAAS,UAC9B,uBACA,cACJ;AAAA,EACA,IAAI,uBAAuB,UAAS,UAChC,yBACA,gBACJ;AAAA,EACA,IAAI,wBAAwB,UAAS,UACjC,0BACA,iBACJ;AAAA,EACA,IAAI,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,IAAI,WAAW,KAAK,IAAI,MAAM,GAAG,CAAC;AAAA,EAClC,IAAI,WAAW,KAAK,IAAI,MAAM,GAAG,CAAC;AAAA,EAClC,IAAI,QAAQ,MAAM;AAAA,EAClB,MAAM,QAAQ,UAAQ;AAAA,IAClB,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,UAAU;AAAA,MAC7B,WAAW,KAAK,IAAI,KAAK,CAAC;AAAA,MAC1B,MAAM,IAAI,KAAK;AAAA,IACnB;AAAA,IACA,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,UAAU;AAAA,MAC7B,WAAW,KAAK,IAAI,KAAK,CAAC;AAAA,MAC1B,MAAM,IAAI,KAAK;AAAA,IACnB;AAAA,GACH;AAAA,EACD,OAAO,UAAS,UAAU,OAAO,KAAK;AAAA;;;ADxRnC,SAAS,yBAAyB,GAAyB;AAAA,EAC9D,OAAO,mBACH,sBACA,cACJ;AAAA;AAkDG,SAAS,yBAAyB,GAAyB;AAAA,EAC9D,OAAO,mBACH,sBACA,cACJ;AAAA;AA2CG,SAAS,oBAAoB,CAChC,aACA,QACA,QACK;AAAA,EACL,IAAI,QAAQ,UAAS,UAAU,aAAa,OAAO,QAAQ;AAAA,EAC3D,QAAQ,oCAAoC,OAAO,QAAQ,MAAM;AAAA,EACjE,IAAI,MAAM,MAAM,KAAK,MAAM,MAAM,GAAG;AAAA,IAChC,OAAO;AAAA,EACX;AAAA,EACA,MAAM,OAAO,UAAS,UAAU,OAAO,UAAU,KAAK;AAAA,EACtD,OAAO;AAAA;AAyCJ,SAAS,oBAAoB,CAChC,OACA,QACA,QACK;AAAA,EACL,QAAQ,oCAAoC,OAAO,QAAQ,MAAM;AAAA,EACjE,OAAO;AAAA;AAkDJ,SAAS,cAAc,CAC1B,aACA,QACA,QACK;AAAA,EACL,IAAI,CAAC,OAAO,kBAAkB;AAAA,IAC1B,OAAO;AAAA,EACX;AAAA,EACA,IAAI,aAAa,WAAW,aAAa,OAAO,UAAU;AAAA,EAC1D,IAAI,OAAO,qBAAqB;AAAA,IAC5B,aAAa,yBACT,aACA,OAAO,eACP,OAAO,gBACP,OAAO,YACP,OAAO,WACP,OAAO,QACX;AAAA,EACJ;AAAA,EACA,OAAO;AAAA;AAkDJ,SAAS,cAAc,CAC1B,OACA,QACA,QACK;AAAA,EACL,IAAI,CAAC,OAAO,kBAAkB;AAAA,IAC1B,OAAO;AAAA,EACX;AAAA,EACA,IAAI,cAAc,UAAS,UACvB,WACI,UAAS,UAAU,OAAO,UAAU,KAAK,GACzC,OAAO,UACX,GACA,OAAO,QACX;AAAA,EACA,IAAI,OAAO,qBAAqB;AAAA,IAC5B,cAAc,UAAS,UACnB,yBACI,UAAS,UAAU,OAAO,UAAU,KAAK,GACzC,OAAO,eACP,OAAO,gBACP,OAAO,YACP,OAAO,WACP,OAAO,QACX,GACA,OAAO,QACX;AAAA,EACJ;AAAA,EACA,OAAO;AAAA;AAoEJ,SAAS,mCAAmC,CAC/C,OACA,QACA,QACK;AAAA,EACL,IAAI,OAAO,wBAAwB,OAAO,sBAAsB;AAAA,IAC5D,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EACxB;AAAA,EACA,IACI,OAAO,gCACP,OAAO,8BACT;AAAA,IACE,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EACxB;AAAA,EACA,IAAI,OAAO,sBAAsB;AAAA,IAC7B,MAAM,IAAI;AAAA,EACd;AAAA,EACA,IAAI,OAAO,sBAAsB;AAAA,IAC7B,MAAM,IAAI;AAAA,EACd;AAAA,EACA,IAAI,OAAO,8BAA8B;AAAA,IACrC,MAAM,cAAc,UAAS,YACzB,EAAE,GAAG,GAAG,GAAG,EAAE,GACb,OAAO,QACX;AAAA,IACA,MAAM,QAAQ,UAAS,WAAW,aAAa,KAAK;AAAA,IACpD,QAAQ,UAAS,uBAAuB,aAAa,KAAK;AAAA,EAC9D;AAAA,EACA,IAAI,OAAO,8BAA8B;AAAA,IACrC,MAAM,iBAAiB,UAAS,YAC5B,EAAE,GAAG,GAAG,GAAG,EAAE,GACb,OAAO,QACX;AAAA,IACA,MAAM,QAAQ,UAAS,WAAW,gBAAgB,KAAK;AAAA,IACvD,QAAQ,UAAS,uBAAuB,gBAAgB,KAAK;AAAA,EACjE;AAAA,EACA,OAAO;AAAA;AA8CJ,SAAS,kCAAkC,CAC9C,OACA,QACK;AAAA,EACL,OAAO,UAAS,uBACZ,UAAS,YAAY,OAAO,OAAO,QAAQ,GAC3C,IAAI,OAAO,SACf;AAAA;;AM1oBG,SAAS,aAAa,CACzB,UACA,gBACM;AAAA,EACN,IACI,qBAAqB,UAAU,cAAc,KAC7C,mBAAmB,WACrB;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,WAAW,yBAAyB,QAAQ;AAAA,EAC5C,MAAM,qBAAqB,UAAU,eAAe,OAAO,QAAQ;AAAA,EACnE,MAAM,mBAAmB,UAAU,eAAe,KAAK,QAAQ;AAAA,EAC/D,IACK,eAAe,QACX,qBAAqB,KAAK,mBAAmB,MACjD,CAAC,eAAe,QACZ,qBAAqB,KAAK,mBAAmB,IACpD;AAAA,IAEE,IAAI,KAAK,IAAI,kBAAkB,MAAM,KAAK,IAAI,gBAAgB,GAAG;AAAA,MAE7D,OAAO,eAAe,oBAChB,eAAe,QACf,eAAe;AAAA,IACzB;AAAA,IACA,MAAM,gBACF,KAAK,IAAI,kBAAkB,IAAI,KAAK,IAAI,gBAAgB;AAAA,IAC5D,OAAO,gBAAgB,eAAe,QAAQ,eAAe;AAAA,EACjE;AAAA,EACA,OAAO;AAAA;AA8BJ,SAAS,oBAAoB,CAChC,UACA,gBACO;AAAA,EACP,IAAI,mBAAmB,WAAW;AAAA,IAC9B,OAAO;AAAA,EACX;AAAA,EACA,IACI,yBAAyB,eAAe,KAAK,MAC7C,yBAAyB,eAAe,GAAG,GAC7C;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,IACI,yBAAyB,eAAe,QAAQ,IAAI,MACpD,yBAAyB,eAAe,MAAM,IAAI,GACpD;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,MAAM,qBAAqB,yBAAyB,QAAQ;AAAA,EAC5D,MAAM,qBAAqB,UACvB,eAAe,OACf,kBACJ;AAAA,EACA,MAAM,mBAAmB,UAAU,eAAe,KAAK,kBAAkB;AAAA,EACzE,IACK,eAAe,QACX,qBAAqB,KAAK,mBAAmB,MACjD,CAAC,eAAe,QACZ,qBAAqB,KAAK,mBAAmB,IACpD;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAgBJ,SAAS,sBAAsB,CAClC,UACA,kBACO;AAAA,EACP,IACI,yBAAyB,iBAAiB,KAAK,MAC/C,yBAAyB,iBAAiB,GAAG,GAC/C;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,IACI,yBAAyB,iBAAiB,QAAQ,IAAI,MACtD,yBAAyB,iBAAiB,MAAM,IAAI,GACtD;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,MAAM,qBAAqB,yBAAyB,QAAQ;AAAA,EAE5D,IAAI,iBACA,qBAAqB,yBAAyB,iBAAiB,KAAK;AAAA,EACxE,IAAI,iBAAiB,GAAG;AAAA,IACpB,kBAAkB,KAAK,KAAK;AAAA,EAChC;AAAA,EACA,IAAI,CAAC,iBAAiB,qBAAqB,iBAAiB,GAAG;AAAA,IAC3D,iBAAiB,KAAK,KAAK,IAAI;AAAA,EACnC;AAAA,EAEA,IAAI,aACA,yBAAyB,iBAAiB,GAAG,IAC7C,yBAAyB,iBAAiB,KAAK;AAAA,EACnD,IAAI,aAAa,GAAG;AAAA,IAChB,cAAc,KAAK,KAAK;AAAA,EAC5B;AAAA,EACA,IAAI,CAAC,iBAAiB,qBAAqB,aAAa,GAAG;AAAA,IACvD,aAAa,KAAK,KAAK,IAAI;AAAA,EAC/B;AAAA,EAEA,OAAO,cAAc;AAAA;AAwBlB,SAAS,wBAAwB,CAAC,OAAe;AAAA,EAEpD,QAAQ,SAAS,KAAK,KAAK;AAAA,EAG3B,SAAS,QAAQ,KAAK,KAAK,MAAM,KAAK,KAAK;AAAA,EAC3C,OAAO;AAAA;AA2BJ,SAAS,SAAS,CAAC,MAAc,IAAoB;AAAA,EAExD,OAAO,yBAAyB,IAAI;AAAA,EACpC,KAAK,yBAAyB,EAAE;AAAA,EAChC,IAAI,YAAY,KAAK;AAAA,EAErB,IAAI,YAAY,KAAK,IAAI;AAAA,IACrB,YAAY,EAAE,KAAK,KAAK,IAAI;AAAA,EAChC;AAAA,EAEA,IAAI,YAAY,CAAC,KAAK,IAAI;AAAA,IACtB,aAAa,KAAK,KAAK;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA;AAoBJ,SAAS,OAAO,CAAC,KAAqB;AAAA,EACzC,OAAQ,MAAM,KAAK,KAAM;AAAA;AAoBtB,SAAS,OAAO,CAAC,KAAqB;AAAA,EACzC,OAAQ,MAAM,MAAO,KAAK;AAAA;;;ACvFvB,SAAS,oBAAoB,CAChC,OACA,QACA,QACM;AAAA,EACN,IAAI,CAAC,OAAO,eAAe;AAAA,IACvB,OAAO;AAAA,EACX;AAAA,EACA,MAAM,iBAAiB,yBAAyB,OAAO,WAAW,KAAK;AAAA,EACvE,MAAM,kBAAkB,cACpB,gBACA,OAAO,kBACX;AAAA,EACA,MAAM,OAAO,UAAU,OAAO,UAAU,eAAe;AAAA,EACvD,OAAO;AAAA;AAgCJ,SAAS,uBAAuB,CACnC,OACA,QACA,QACM;AAAA,EACN,IAAI,OAAO,kBAAkB;AAAA,IACzB,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAwCJ,SAAS,oBAAoB,CAChC,gBACA,QACA,QACM;AAAA,EACN,IAAI,CAAC,OAAO,eAAe;AAAA,IACvB,OAAO;AAAA,EACX;AAAA,EACA,MAAM,kBAAkB,cACpB,gBACA,OAAO,kBACX;AAAA,EACA,OAAO;AAAA;AAkCJ,SAAS,uBAAuB,CACnC,gBACA,QACA,QACM;AAAA,EACN,IAAI,OAAO,kBAAkB;AAAA,IACzB,OAAO,OAAO;AAAA,EAClB;AAAA,EACA,OAAO;AAAA;AAuCJ,SAAS,4BAA4B,GAA4B;AAAA,EACpE,OAAO,mBACH,yBACA,oBACJ;AAAA;AAqDG,SAAS,4BAA4B,GAA4B;AAAA,EACpE,OAAO,mBACH,yBACA,oBACJ;AAAA;;ACxeJ,qBAAS;;;ACDT,qBAAgB;;;ACChB,qBAAS;AA0ET,MAAqB,WAAkC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAoBA;AAAA,EASA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EAuCR,WAAW,CAAC,SAAwB;AAAA,IAChC;AAAA,MACI,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,WAAW,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,MACxB,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,aAAa;AAAA,QACT,KAAK,EAAE,GAAG,MAAQ,GAAG,KAAO;AAAA,QAC5B,KAAK,EAAE,GAAG,KAAO,GAAG,IAAM;AAAA,MAC9B;AAAA,MACA,sBAAsB,EAAE,KAAK,KAAK,KAAK,GAAG;AAAA,MAC1C,qBAAqB;AAAA,QACrB;AAAA,IACJ,KAAK,YAAY;AAAA,IACjB,KAAK,aAAa;AAAA,IAClB,KAAK,YAAY;AAAA,IACjB,KAAK,kBAAkB;AAAA,IACvB,KAAK,iBAAiB;AAAA,IACtB,KAAK,kBAAkB;AAAA,IACvB,KAAK,sBAAsB;AAAA,IAC3B,KAAK,cAAc;AAAA;AAAA,MAQnB,UAAU,GAA2B;AAAA,IACrC,OAAO,KAAK;AAAA;AAAA,MAQZ,UAAU,CAAC,YAAoC;AAAA,IAC/C,KAAK,cAAc;AAAA;AAAA,MAQnB,aAAa,GAAW;AAAA,IACxB,OAAO,KAAK;AAAA;AAAA,MASZ,aAAa,CAAC,OAAe;AAAA,IAC7B,KAAK,iBAAiB;AAAA;AAAA,MAQtB,cAAc,GAAW;AAAA,IACzB,OAAO,KAAK;AAAA;AAAA,MASZ,cAAc,CAAC,QAAgB;AAAA,IAC/B,KAAK,kBAAkB;AAAA;AAAA,MAQvB,QAAQ,GAAU;AAAA,IAClB,OAAO,KAAK,KAAK,UAAU;AAAA;AAAA,EAwB/B,WAAW,CAAC,aAAoB;AAAA,IAC5B,IAAI,CAAC,iBAAiB,aAAa,KAAK,WAAW,GAAG;AAAA,MAClD,OAAO;AAAA,IACX;AAAA,IACA,MAAM,OAAO,UAAS,UAAU,aAAa,KAAK,SAAS;AAAA,IAC3D,IACI,UAAS,UAAU,IAAI,IAAI,eAC3B,UAAS,UAAU,IAAI,IAAI,IAAI,KAAK,YACtC;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,KAAK,YAAY;AAAA,IACjB,OAAO;AAAA;AAAA,MAQP,SAAS,GAAW;AAAA,IACpB,OAAO,KAAK;AAAA;AAAA,MAQZ,cAAc,GAAgC;AAAA,IAC9C,OAAO,KAAK;AAAA;AAAA,MAWZ,cAAc,CAAC,gBAA6C;AAAA,IAC5D,MAAM,oBAAoB,KAAK,eAAe;AAAA,IAC9C,IACI,sBAAsB,aACtB,kBAAkB,QAAQ,aAC1B,kBAAkB,QAAQ,aAC1B,kBAAkB,MAAM,kBAAkB,KAC5C;AAAA,MACE,IAAI,OAAO,kBAAkB;AAAA,MAC7B,kBAAkB,MAAM,kBAAkB;AAAA,MAC1C,kBAAkB,MAAM;AAAA,IAC5B;AAAA,IACA,KAAK,kBAAkB;AAAA;AAAA,EAc3B,eAAe,CAAC,cAAsB;AAAA,IAClC,IAAI,KAAK,mBAAmB,WAAW;AAAA,MACnC,KAAK,kBAAkB,EAAE,KAAK,WAAW,KAAK,UAAU;AAAA,IAC5D;AAAA,IACA,IACK,KAAK,gBAAgB,OAAO,QACzB,KAAK,gBAAgB,MAAM,gBAC/B,KAAK,aAAa,cACpB;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,KAAK,gBAAgB,MAAM;AAAA,IAC3B,OAAO;AAAA;AAAA,EAaX,eAAe,CAAC,cAAsB;AAAA,IAClC,IAAI,KAAK,mBAAmB,WAAW;AAAA,MACnC,KAAK,kBAAkB,EAAE,KAAK,WAAW,KAAK,UAAU;AAAA,IAC5D;AAAA,IACA,IACI,KAAK,gBAAgB,OAAO,QAC5B,KAAK,gBAAgB,MAAM,cAC7B;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,KAAK,gBAAgB,MAAM;AAAA,IAC3B,IAAI,KAAK,aAAa,cAAc;AAAA,MAChC,KAAK,aAAa;AAAA,IACtB;AAAA,IACA,OAAO;AAAA;AAAA,EAqBX,YAAY,CAAC,WAAmB;AAAA,IAC5B,IAAI,CAAC,sBAAsB,WAAW,KAAK,eAAe,GAAG;AAAA,MACzD,OAAO;AAAA,IACX;AAAA,IACA,IACI,KAAK,oBAAoB,aACzB,KAAK,gBAAgB,QAAQ,aAC7B,eAAe,WAAW,KAAK,eAAe,KAC9C,KAAK,gBAAgB,OACrB,KAAK,cAAc,KAAK,gBAAgB,KAC1C;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,IACI,KAAK,oBAAoB,aACzB,KAAK,gBAAgB,QAAQ,aAC7B,eAAe,WAAW,KAAK,eAAe,KAC9C,KAAK,gBAAgB,OACrB,KAAK,cAAc,KAAK,gBAAgB,KAC1C;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,KAAK,aAAa;AAAA,IAClB,OAAO;AAAA;AAAA,MAQP,QAAQ,GAAW;AAAA,IACnB,OAAO,KAAK;AAAA;AAAA,MAQZ,kBAAkB,GAA+B;AAAA,IACjD,OAAO,KAAK;AAAA;AAAA,MAWZ,kBAAkB,CAAC,oBAAgD;AAAA,IACnE,IACI,uBAAuB,aACvB,mBAAmB,UAAU,aAC7B,mBAAmB,QAAQ,aAC3B,mBAAmB,QAAQ,mBAAmB,KAChD;AAAA,MACE,IAAI,OAAO,mBAAmB;AAAA,MAC9B,mBAAmB,MAAM,mBAAmB;AAAA,MAC5C,mBAAmB,QAAQ;AAAA,IAC/B;AAAA,IACA,KAAK,sBAAsB;AAAA;AAAA,EAkC/B,YAAY,CACR,mBAA2B,GAC3B,kBAA2B,MAC7B;AAAA,IACE,IACI,KAAK,2BAA2B,aAChC,KAAK,uBAAuB,qBAAqB,oBACjD,KAAK,uBAAuB,oBAAoB,mBAChD,KAAK,uBAAuB,SAAS,MAAM,KAAK,UAAU,KAC1D,KAAK,uBAAuB,SAAS,MAAM,KAAK,UAAU,KAC1D,KAAK,uBAAuB,aAAa,KAAK,aAC9C,KAAK,uBAAuB,cAAc,KAAK,cAC/C,KAAK,uBAAuB,kBAAkB,KAAK,kBACnD,KAAK,uBAAuB,mBAAmB,KAAK,iBACtD;AAAA,MACE,OAAO,KAAK,KAAK,uBAAuB,WAAW,QAAQ,KAAK;AAAA,IACpE;AAAA,IAEA,MAAM,KAAM,mBAAmB,KAAK,iBAAkB;AAAA,IACtD,MAAM,KAAM,mBAAmB,KAAK,kBAAmB;AAAA,IAEvD,MAAM,MAAM,CAAC,KAAK,UAAU;AAAA,IAC5B,MAAM,MAAM,kBAAkB,CAAC,KAAK,UAAU,IAAI,KAAK,UAAU;AAAA,IAEjE,MAAM,IAAI;AAAA,IACV,MAAM,KAAK,KAAK;AAAA,IAChB,MAAM,IAAG,kBAAkB,CAAC,KAAK,YAAY,KAAK;AAAA,IAElD,MAAM,MAAM,KAAK,IAAI,CAAC;AAAA,IACtB,MAAM,MAAM,KAAK,IAAI,CAAC;AAAA,IAEtB,MAAM,IAAI,KAAK,IAAI;AAAA,IACnB,MAAM,IAAI,KAAK,IAAI;AAAA,IACnB,MAAM,IAAI,CAAC,IAAI,KAAK;AAAA,IACpB,MAAM,IAAI,KAAK,IAAI;AAAA,IACnB,MAAM,IAAI,IAAI,KAAK,MAAM,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,IACpD,MAAM,IAAI,IAAI,KAAK,MAAM,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,IACpD,KAAK,yBAAyB;AAAA,MAC1B,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,MAC9B,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,MACf,WAAW,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,MACA,eAAe,KAAK;AAAA,MACpB,gBAAgB,KAAK;AAAA,IACzB;AAAA,IACA,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,MAAM;AAAA;AAAA,EAc7C,MAAM,CAAC,mBAA2B,GAAG,kBAA2B,MAAM;AAAA,IAClE,MAAM,YAAY,KAAK,aAAa,kBAAkB,eAAe;AAAA,IACrE,IACI,KAAK,qBAAqB,aAC1B,KAAK,iBAAiB,gBAAgB,MAAM,UAAU,KACtD,KAAK,iBAAiB,gBAAgB,MAAM,UAAU,KACtD,KAAK,iBAAiB,gBAAgB,MAAM,UAAU,KACtD,KAAK,iBAAiB,gBAAgB,MAAM,UAAU,KACtD,KAAK,iBAAiB,gBAAgB,MAAM,UAAU,KACtD,KAAK,iBAAiB,gBAAgB,MAAM,UAAU,GACxD;AAAA,MACE,OAAO;AAAA,QACH,OAAO,KAAK,iBAAiB;AAAA,QAC7B,UAAU,KAAK,iBAAiB;AAAA,QAChC,aAAa,KAAK,iBAAiB;AAAA,QACnC,QAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,IACA,MAAM,mBAAmB,aAAa,SAAS;AAAA,IAC/C,KAAK,mBAAmB;AAAA,MACpB,OAAO,iBAAiB;AAAA,MACxB,UAAU,iBAAiB;AAAA,MAC3B,aAAa,iBAAiB;AAAA,MAC9B,iBAAiB;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,MACH,OAAO,iBAAiB;AAAA,MACxB,UAAU,iBAAiB;AAAA,MAC3B,aAAa,iBAAiB;AAAA,MAC9B,QAAQ;AAAA,IACZ;AAAA;AAAA,EAsBJ,4BAA4B,CACxB,sBACA,mBAA2B,GAC7B;AAAA,IACE,MAAM,aAAa,sBACf,sBACA,kBACA,KAAK,gBACL,KAAK,eACT;AAAA,IAGA,KAAK,YAAY,WAAW,QAAQ;AAAA,IACpC,KAAK,YAAY,WAAW,QAAQ;AAAA,IACpC,KAAK,aAAa,WAAW,IAAI;AAAA;AAAA,EAqBrC,WAAW,CAAC,UAAkB;AAAA,IAC1B,IAAI,CAAC,qBAAqB,UAAU,KAAK,mBAAmB,GAAG;AAAA,MAC3D,OAAO;AAAA,IACX;AAAA,IACA,WAAW,yBAAyB,QAAQ;AAAA,IAC5C,IACI,KAAK,wBAAwB,aAC7B,KAAK,oBAAoB,QAAQ,aACjC,cAAc,UAAU,KAAK,mBAAmB,KAChD,KAAK,oBAAoB,OACzB,KAAK,aAAa,KAAK,oBAAoB,KAC7C;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,IACI,KAAK,wBAAwB,aAC7B,KAAK,oBAAoB,UAAU,aACnC,cAAc,UAAU,KAAK,mBAAmB,KAChD,KAAK,oBAAoB,SACzB,KAAK,aAAa,KAAK,oBAAoB,OAC7C;AAAA,MACE,OAAO;AAAA,IACX;AAAA,IACA,KAAK,YAAY;AAAA,IACjB,OAAO;AAAA;AAAA,EAwBX,8BAA8B,CAAC,OAAqB;AAAA,IAChD,OAAO,iCACH,OACA,KAAK,WACL,KAAK,YACL,KAAK,SACT;AAAA;AAAA,EAqBJ,yBAAyB,CAAC,OAAqB;AAAA,IAC3C,OAAO,oCACH,OACA,KAAK,WACL,KAAK,YACL,KAAK,SACT;AAAA;AAAA,EAcJ,6BAA6B,CAAC,OAAqB;AAAA,IAC/C,IAAI,oBAAoB;AAAA,MACpB,GAAG,KAAK,gBAAgB;AAAA,MACxB,GAAG,KAAK,kBAAkB;AAAA,IAC9B;AAAA,IACA,IAAI,cAAc,UAAS,UAAU,OAAO,KAAK,SAAS;AAAA,IAC1D,cAAc,UAAS,YAAY,aAAa,CAAC,KAAK,SAAS;AAAA,IAC/D,cAAc,UAAS,uBACnB,aACA,KAAK,UACT;AAAA,IACA,OAAO,UAAS,UAAU,mBAAmB,WAAW;AAAA;AAAA,EAmB5D,uBAAuB,CAAC,KAAa,KAAa;AAAA,IAC9C,IAAI,MAAM,KAAK;AAAA,MACX,IAAI,OAAO;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,IAAI,KAAK,eAAe,WAAW;AAAA,MAC/B,KAAK,cAAc;AAAA,QACf,KAAK,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,QAClC,KAAK,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,MACtC;AAAA,IACJ;AAAA,IACA,IAAI,KAAK,YAAY,OAAO,WAAW;AAAA,MACnC,KAAK,YAAY,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,IAAI,KAAK,YAAY,OAAO,WAAW;AAAA,MACnC,KAAK,YAAY,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,KAAK,YAAY,IAAI,IAAI;AAAA,IACzB,KAAK,YAAY,IAAI,IAAI;AAAA;AAAA,EAuB7B,qBAAqB,CAAC,KAAa,KAAa;AAAA,IAC5C,IAAI,MAAM,KAAK;AAAA,MACX,IAAI,OAAO;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,IAAI,KAAK,eAAe,WAAW;AAAA,MAC/B,KAAK,cAAc;AAAA,QACf,KAAK,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,QAClC,KAAK,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,MACtC;AAAA,IACJ;AAAA,IACA,IAAI,KAAK,YAAY,OAAO,WAAW;AAAA,MACnC,KAAK,YAAY,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,IAAI,KAAK,YAAY,OAAO,WAAW;AAAA,MACnC,KAAK,YAAY,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,KAAK,YAAY,IAAI,IAAI;AAAA,IACzB,KAAK,YAAY,IAAI,IAAI;AAAA;AAAA,EAsB7B,oBAAoB,CAAC,kBAA2B,MAG9C;AAAA,IACE,MAAM,gBAAgB,iCAClB;AAAA,MACI,GAAG,CAAC,KAAK,iBAAiB;AAAA,MAC1B,GAAG,kBACG,CAAC,KAAK,kBAAkB,IACxB,KAAK,kBAAkB;AAAA,IACjC,GACA,KAAK,WACL,KAAK,YACL,KAAK,SACT;AAAA,IACA,MAAM,iBAAiB,iCACnB;AAAA,MACI,GAAG,KAAK,iBAAiB;AAAA,MACzB,GAAG,kBACG,CAAC,KAAK,kBAAkB,IACxB,KAAK,kBAAkB;AAAA,IACjC,GACA,KAAK,WACL,KAAK,YACL,KAAK,SACT;AAAA,IACA,MAAM,mBAAmB,iCACrB;AAAA,MACI,GAAG,CAAC,KAAK,iBAAiB;AAAA,MAC1B,GAAG,kBACG,KAAK,kBAAkB,IACvB,CAAC,KAAK,kBAAkB;AAAA,IAClC,GACA,KAAK,WACL,KAAK,YACL,KAAK,SACT;AAAA,IACA,MAAM,oBAAoB,iCACtB;AAAA,MACI,GAAG,KAAK,iBAAiB;AAAA,MACzB,GAAG,kBACG,KAAK,kBAAkB,IACvB,CAAC,KAAK,kBAAkB;AAAA,IAClC,GACA,KAAK,WACL,KAAK,YACL,KAAK,SACT;AAAA,IAEA,OAAO;AAAA,MACH,KAAK,EAAE,MAAM,eAAe,OAAO,eAAe;AAAA,MAClD,QAAQ,EAAE,MAAM,kBAAkB,OAAO,kBAAkB;AAAA,IAC/D;AAAA;AAAA,EA4BJ,YAAY,CAAC,iBAAuD;AAAA,IAChE;AAAA,MACI,OAAO,MAAM,SAAS,OAAO;AAAA,MAC7B,UAAU,MAAM,YAAY,OAAO;AAAA,QACnC,KAAK,qBAAqB,eAAe;AAAA,IAE7C,OAAO;AAAA,MACH,KAAK;AAAA,QACD,GAAG,KAAK,IAAI,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAAA,QAC9D,GAAG,KAAK,IAAI,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAAA,MAClE;AAAA,MACA,KAAK;AAAA,QACD,GAAG,KAAK,IAAI,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAAA,QAC9D,GAAG,KAAK,IAAI,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAAA,MAClE;AAAA,IACJ;AAAA;AAER;;;AC5zBO,MAAM,gBAA0D;AAAA,EAC3D,YAA2B,CAAC;AAAA,EAapC,SAAS,CACL,UACA,SACU;AAAA,IACV,KAAK,UAAU,KAAK,QAAQ;AAAA,IAG5B,IAAI,SAAS,QAAQ;AAAA,MAEjB,IAAI,QAAQ,OAAO,SAAS;AAAA,QACxB,KAAK,YAAY,KAAK,UAAU,OAAO,OAAK,MAAM,QAAQ;AAAA,QAC1D,OAAO,MAAM;AAAA,MACjB;AAAA,MAGA,MAAM,eAAe,MAAM;AAAA,QACvB,KAAK,YAAY,KAAK,UAAU,OAAO,OAAK,MAAM,QAAQ;AAAA,QAC1D,QAAQ,QAAQ,oBAAoB,SAAS,YAAY;AAAA;AAAA,MAG7D,QAAQ,OAAO,iBAAiB,SAAS,YAAY;AAAA,IACzD;AAAA,IAGA,OAAO,MAAM;AAAA,MACT,KAAK,YAAY,KAAK,UAAU,OAAO,OAAK,MAAM,QAAQ;AAAA;AAAA;AAAA,EAalE,MAAM,IAAI,MAAe;AAAA,IACrB,KAAK,UAAU,QAAQ,cACnB,eAAe,MAAM,SAAS,GAAG,IAAI,CAAC,CAC1C;AAAA;AAER;AAAA;AAwCO,MAAM,sBAAgE;AAAA,EACjE,YAA2B,CAAC;AAAA,EAapC,SAAS,CACL,UACA,SACU;AAAA,IACV,KAAK,UAAU,KAAK,QAAQ;AAAA,IAG5B,IAAI,SAAS,QAAQ;AAAA,MAEjB,IAAI,QAAQ,OAAO,SAAS;AAAA,QACxB,KAAK,YAAY,KAAK,UAAU,OAAO,OAAK,MAAM,QAAQ;AAAA,QAC1D,OAAO,MAAM;AAAA,MACjB;AAAA,MAGA,MAAM,eAAe,MAAM;AAAA,QACvB,KAAK,YAAY,KAAK,UAAU,OAAO,OAAK,MAAM,QAAQ;AAAA,QAC1D,QAAQ,QAAQ,oBAAoB,SAAS,YAAY;AAAA;AAAA,MAG7D,QAAQ,OAAO,iBAAiB,SAAS,YAAY;AAAA,IACzD;AAAA,IAGA,OAAO,MAAM;AAAA,MACT,KAAK,YAAY,KAAK,UAAU,OAAO,OAAK,MAAM,QAAQ;AAAA;AAAA;AAAA,EAalE,MAAM,IAAI,MAAe;AAAA,IACrB,KAAK,UAAU,QAAQ,cAAY,SAAS,GAAG,IAAI,CAAC;AAAA;AAE5D;;;ACrDO,MAAM,sBAAsB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAKR,WAAW,GAAG;AAAA,IACV,KAAK,MAAM,IAAI;AAAA,IACf,KAAK,OAAO,IAAI;AAAA,IAChB,KAAK,SAAS,IAAI;AAAA,IAClB,KAAK,MAAM,IAAI;AAAA;AAAA,EAUnB,SAAS,CAAC,OAA8B,aAAgC;AAAA,IACpE,KAAK,IAAI,OAAO,OAAO,WAAW;AAAA,IAClC,KAAK,IAAI,OAAO,EAAE,MAAM,OAAO,MAAM,MAAM,KAAK,GAAG,WAAW;AAAA;AAAA,EAUlE,UAAU,CAAC,OAA+B,aAAgC;AAAA,IACtE,KAAK,KAAK,OAAO,OAAO,WAAW;AAAA,IACnC,KAAK,IAAI,OACL,EAAE,MAAM,QAAQ,iBAAiB,MAAM,gBAAgB,GACvD,WACJ;AAAA;AAAA,EAUJ,YAAY,CACR,OACA,aACI;AAAA,IACJ,KAAK,OAAO,OAAO,OAAO,WAAW;AAAA,IACrC,KAAK,IAAI,OACL,EAAE,MAAM,UAAU,eAAe,MAAM,cAAc,GACrD,WACJ;AAAA;AAAA,EAmDJ,EAAkC,CAC9B,WACA,UACA,SACW;AAAA,IACX,QAAQ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,IAAI,UACZ,UACA,OACJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,KAAK,UACb,UACA,OACJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,OAAO,UACf,UACA,OACJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,IAAI,UACZ,UACA,OACJ;AAAA;AAAA,QAEA,MAAM,IAAI,MAAM,uBAAuB,WAAW;AAAA;AAAA;AAGlE;;;AH7UO,IAAM,sCAAsC;AAG5C,IAAM,uCAAuC;AAG7C,IAAM,uCAAwD;AAAA,EACjE,KAAK;AAAA,EACL,KAAK;AACT;AAGO,IAAM,kCAA8C;AAAA,EACvD,KAAK,EAAE,GAAG,MAAQ,GAAG,KAAO;AAAA,EAC5B,KAAK,EAAE,GAAG,KAAO,GAAG,IAAM;AAC9B;AAGO,IAAM,2CAEK;AAEX,IAAM,+BAA8C;AAAA,EACvD,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,oBAAoB;AACxB;AAAA;AAwCA,MAAqB,mBAAoD;AAAA,EAC7D;AAAA,EACA;AAAA,EAiCR,WAAW,CAAC,UAAyB,8BAA8B;AAAA,IAC/D;AAAA,MACI,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,WAAW,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,MACxB;AAAA,MACA,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,sBAAsB;AAAA,MACtB,qBAAqB;AAAA,QACrB;AAAA,IAEJ,KAAK,cAAc,IAAI,WAAW;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,IACD,KAAK,YAAY,IAAI;AAAA;AAAA,MAQrB,UAAU,GAA2B;AAAA,IACrC,OAAO,KAAK,YAAY;AAAA;AAAA,MAGxB,UAAU,CAAC,YAAoC;AAAA,IAC/C,KAAK,YAAY,aAAa;AAAA;AAAA,MAQ9B,aAAa,GAAW;AAAA,IACxB,OAAO,KAAK,YAAY;AAAA;AAAA,MAGxB,aAAa,CAAC,OAAe;AAAA,IAC7B,KAAK,YAAY,gBAAgB;AAAA;AAAA,MAQjC,cAAc,GAAW;AAAA,IACzB,OAAO,KAAK,YAAY;AAAA;AAAA,MAGxB,cAAc,CAAC,QAAgB;AAAA,IAC/B,KAAK,YAAY,iBAAiB;AAAA;AAAA,MAQlC,QAAQ,GAAU;AAAA,IAClB,OAAO,KAAK,YAAY;AAAA;AAAA,EAsB5B,WAAW,CAAC,aAAoB;AAAA,IAC5B,MAAM,kBAAkB,KAAK,KAAK,YAAY,SAAS;AAAA,IACvD,IAAI,CAAC,KAAK,YAAY,YAAY,WAAW,GAAG;AAAA,MAC5C,OAAO;AAAA,IACX;AAAA,IACA,KAAK,UAAU,UACX,EAAE,MAAM,UAAS,UAAU,aAAa,eAAe,EAAE,GACzD;AAAA,MACI,UAAU,KAAK,YAAY;AAAA,MAC3B,UAAU,KAAK,YAAY;AAAA,MAC3B,WAAW,KAAK,YAAY;AAAA,IAChC,CACJ;AAAA,IACA,OAAO;AAAA;AAAA,MAQP,SAAS,GAAW;AAAA,IACpB,OAAO,KAAK,YAAY;AAAA;AAAA,MAQxB,cAAc,GAAgC;AAAA,IAC9C,OAAO,KAAK,YAAY;AAAA;AAAA,MAGxB,cAAc,CAAC,gBAA6C;AAAA,IAC5D,KAAK,YAAY,iBAAiB;AAAA;AAAA,EAGtC,eAAe,CAAC,cAAsB;AAAA,IAClC,MAAM,mBAAmB,KAAK,YAAY;AAAA,IAC1C,IAAI,CAAC,KAAK,YAAY,gBAAgB,YAAY,GAAG;AAAA,MACjD,OAAO;AAAA,IACX;AAAA,IASA,OAAO;AAAA;AAAA,EAGX,eAAe,CAAC,cAAsB;AAAA,IAClC,IAAI,CAAC,KAAK,YAAY,gBAAgB,YAAY,GAAG;AAAA,MACjD,OAAO;AAAA,IACX;AAAA,IACA,OAAO;AAAA;AAAA,EAuBX,YAAY,CAAC,WAAmB;AAAA,IAC5B,MAAM,mBAAmB,KAAK,YAAY;AAAA,IAC1C,IAAI,CAAC,KAAK,YAAY,aAAa,SAAS,GAAG;AAAA,MAC3C,OAAO;AAAA,IACX;AAAA,IACA,KAAK,UAAU,WACX,EAAE,iBAAiB,KAAK,YAAY,YAAY,iBAAiB,GACjE;AAAA,MACI,UAAU,KAAK,YAAY;AAAA,MAC3B,UAAU,KAAK,YAAY;AAAA,MAC3B,WAAW,KAAK,YAAY;AAAA,IAChC,CACJ;AAAA,IACA,OAAO;AAAA;AAAA,MAQP,QAAQ,GAAW;AAAA,IACnB,OAAO,KAAK,YAAY;AAAA;AAAA,MAQxB,kBAAkB,GAA+B;AAAA,IACjD,OAAO,KAAK,YAAY;AAAA;AAAA,MAGxB,kBAAkB,CAAC,oBAAgD;AAAA,IACnE,KAAK,YAAY,qBAAqB;AAAA;AAAA,EAe1C,YAAY,CACR,mBAA2B,GAC3B,kBAA2B,MACP;AAAA,IACpB,OAAO,KAAK,YAAY,aAAa,kBAAkB,eAAe;AAAA;AAAA,EAuB1E,WAAW,CAAC,UAAkB;AAAA,IAC1B,MAAM,kBAAkB,KAAK,YAAY;AAAA,IACzC,IAAI,CAAC,KAAK,YAAY,YAAY,QAAQ,GAAG;AAAA,MACzC,OAAO;AAAA,IACX;AAAA,IACA,KAAK,UAAU,aACX,EAAE,eAAe,WAAW,gBAAgB,GAC5C;AAAA,MACI,UAAU,KAAK,YAAY;AAAA,MAC3B,UAAU,KAAK,YAAY;AAAA,MAC3B,WAAW,KAAK,YAAY;AAAA,IAChC,CACJ;AAAA,IACA,OAAO;AAAA;AAAA,EAUX,uBAAuB,CAAC,gBAA8B;AAAA,IAClD,OAAO;AAAA;AAAA,EASX,8BAA8B,CAAC,OAAqB;AAAA,IAChD,OAAO,iCACH,OACA,KAAK,YAAY,UACjB,KAAK,YAAY,WACjB,KAAK,YAAY,QACrB;AAAA;AAAA,EASJ,yBAAyB,CAAC,OAAqB;AAAA,IAC3C,OAAO,oCACH,OACA,KAAK,YAAY,UACjB,KAAK,YAAY,WACjB,KAAK,YAAY,QACrB;AAAA;AAAA,EASJ,6BAA6B,CAAC,OAAqB;AAAA,IAC/C,IAAI,oBAAoB;AAAA,MACpB,GAAG,KAAK,YAAY,gBAAgB;AAAA,MACpC,GAAG,KAAK,YAAY,iBAAiB;AAAA,IACzC;AAAA,IACA,IAAI,cAAc,UAAS,UAAU,OAAO,KAAK,YAAY,QAAQ;AAAA,IACrE,cAAc,UAAS,YACnB,aACA,CAAC,KAAK,YAAY,QACtB;AAAA,IACA,cAAc,UAAS,uBACnB,aACA,KAAK,YAAY,SACrB;AAAA,IACA,OAAO,UAAS,UAAU,mBAAmB,WAAW;AAAA;AAAA,EAG5D,uBAAuB,CAAC,KAAa,KAAa;AAAA,IAC9C,IAAI,MAAM,KAAK;AAAA,MACX,IAAI,OAAO;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,IAAI,KAAK,YAAY,cAAc,WAAW;AAAA,MAC1C,KAAK,YAAY,aAAa,EAAE,KAAK,WAAW,KAAK,UAAU;AAAA,IACnE;AAAA,IACA,IAAI,KAAK,YAAY,WAAW,OAAO,WAAW;AAAA,MAC9C,KAAK,YAAY,WAAW,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACnE;AAAA,IACA,IAAI,KAAK,YAAY,WAAW,OAAO,WAAW;AAAA,MAC9C,KAAK,YAAY,WAAW,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACnE;AAAA,IACA,KAAK,YAAY,WAAW,IAAI,IAAI;AAAA,IACpC,KAAK,YAAY,WAAW,IAAI,IAAI;AAAA;AAAA,EAOxC,qBAAqB,CAAC,KAAa,KAAa;AAAA,IAC5C,IAAI,MAAM,KAAK;AAAA,MACX,IAAI,OAAO;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,IACV;AAAA,IACA,IAAI,KAAK,YAAY,cAAc,WAAW;AAAA,MAC1C,KAAK,YAAY,aAAa,EAAE,KAAK,WAAW,KAAK,UAAU;AAAA,IACnE;AAAA,IACA,IAAI,KAAK,YAAY,WAAW,OAAO,WAAW;AAAA,MAC9C,KAAK,YAAY,WAAW,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACnE;AAAA,IACA,IAAI,KAAK,YAAY,WAAW,OAAO,WAAW;AAAA,MAC9C,KAAK,YAAY,WAAW,MAAM,EAAE,GAAG,WAAW,GAAG,UAAU;AAAA,IACnE;AAAA,IACA,KAAK,YAAY,WAAW,IAAI,IAAI;AAAA,IACpC,KAAK,YAAY,WAAW,IAAI,IAAI;AAAA;AAAA,EAqDxC,EAAkC,CAC9B,WACA,UACA,SACW;AAAA,IACX,OAAO,KAAK,UAAU,GAAG,WAAW,UAAU,OAAO;AAAA;AAAA,EAGzD,MAAM,CACF,mBAA2B,GAC3B,wBAAiC,MAMnC;AAAA,IACE,OAAO,KAAK,YAAY,OAAO,kBAAkB,qBAAqB;AAAA;AAAA,EAG1E,4BAA4B,CACxB,sBACA,mBAA2B,GAC7B;AAAA,IACE,KAAK,YAAY,6BACb,sBACA,gBACJ;AAAA;AAAA,EAGJ,oBAAoB,CAAC,kBAA2B,MAG9C;AAAA,IACE,OAAO,KAAK,YAAY,qBAAqB,eAAe;AAAA;AAAA,EAGhE,YAAY,CAAC,kBAA2B,MAAkC;AAAA,IACtE,OAAO,KAAK,YAAY,aAAa,eAAe;AAAA;AAE5D;;AD3XO,MAAM,iBAAsC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EA0BR,WAAW,CACP,QACA,SAAgC,IAAI,oBACtC;AAAA,IACE,KAAK,SAAS,0BAA0B;AAAA,IACxC,KAAK,SAAS,0BAA0B;AAAA,IACxC,KAAK,UAAU,+BAA+B;AAAA,IAC9C,KAAK,UAAU,+BAA+B;AAAA,IAC9C,KAAK,YAAY,6BAA6B;AAAA,IAC9C,KAAK,YAAY,6BAA6B;AAAA,IAC9C,KAAK,UAAU;AAAA,SACR;AAAA,MACH,kBAAkB;AAAA,MAClB,eAAe;AAAA,IACnB;AAAA,IACA,KAAK,UAAU;AAAA;AAAA,EA2BnB,QAAQ,CAAC,YAAoB,IAAiB;AAAA,IAC1C,IAAI,wBACA,KAAK,QAAQ,+BAA+B,EAAE;AAAA,IAClD,MAAM,kBAAkB,KAAK,QACzB,YACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,aAAa,eAAe;AAAA,IACzC,IAAI,yBACA,KAAK,QAAQ,+BAA+B,EAAE;AAAA,IAClD,MAAM,qBAAqB,UAAS,UAChC,uBACA,sBACJ;AAAA,IACA,MAAM,gCAAgC,KAAK,OACvC,oBACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YACT,UAAS,UACL,KAAK,QAAQ,UACb,6BACJ,CACJ;AAAA;AAAA,EA6BJ,QAAQ,CAAC,OAAe,IAAiB;AAAA,IACrC,MAAM,iBAAiB,QAAQ,KAAK,QAAQ;AAAA,IAC5C,IAAI,wBACA,KAAK,QAAQ,+BAA+B,EAAE;AAAA,IAClD,MAAM,mBAAmB,KAAK,QAC1B,gBACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,aAAa,KAAK,QAAQ,YAAY,gBAAgB;AAAA,IACnE,IAAI,yBACA,KAAK,QAAQ,+BAA+B,EAAE;AAAA,IAClD,MAAM,OAAO,UAAS,UAClB,uBACA,sBACJ;AAAA,IACA,MAAM,kBAAkB,KAAK,OAAO,MAAM,KAAK,SAAS,KAAK,OAAO;AAAA,IACpE,KAAK,QAAQ,YACT,UAAS,UAAU,KAAK,QAAQ,UAAU,eAAe,CAC7D;AAAA;AAAA,EA2BJ,MAAM,CAAC,YAA0B;AAAA,IAC7B,MAAM,oBAAoB,KAAK,QAC3B,YACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,aAAa,iBAAiB;AAAA;AAAA,EAyB/C,MAAM,CAAC,OAAqB;AAAA,IACxB,MAAM,mBAAmB,KAAK,QAC1B,OACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,aAAa,KAAK,QAAQ,YAAY,gBAAgB;AAAA;AAAA,EA8BvE,aAAa,CAAC,YAAoB,IAAiB;AAAA,IAC/C,IAAI,2BACA,KAAK,QAAQ,0BAA0B,EAAE;AAAA,IAC7C,MAAM,oBAAoB,KAAK,QAC3B,YACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,aAAa,iBAAiB;AAAA,IAC3C,IAAI,4BACA,KAAK,QAAQ,0BAA0B,EAAE;AAAA,IAC7C,MAAM,+BAA+B,UAAS,UAC1C,2BACA,wBACJ;AAAA,IACA,MAAM,4BAA4B,mCAC9B,8BACA,KAAK,QAAQ,WACb,KAAK,QAAQ,QACjB;AAAA,IACA,MAAM,gCAAgC,KAAK,OACvC,2BACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YACT,UAAS,UACL,KAAK,QAAQ,UACb,6BACJ,CACJ;AAAA;AAAA,EAwBJ,aAAa,CAAC,OAAe,IAAiB;AAAA,IAC1C,IAAI,6BACA,KAAK,QAAQ,0BAA0B,EAAE;AAAA,IAC7C,MAAM,mBAAmB,KAAK,QAC1B,OACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,aAAa,KAAK,QAAQ,YAAY,gBAAgB;AAAA,IACnE,IAAI,4BACA,KAAK,QAAQ,0BAA0B,EAAE;AAAA,IAC7C,MAAM,iBAAiB,UAAS,UAC5B,2BACA,0BACJ;AAAA,IACA,MAAM,cAAc,mCAChB,gBACA,KAAK,QAAQ,WACb,KAAK,QAAQ,QACjB;AAAA,IACA,MAAM,kBAAkB,KAAK,OACzB,aACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YACT,UAAS,UAAU,KAAK,QAAQ,UAAU,eAAe,CAC7D;AAAA;AAAA,EA+BJ,aAAa,CAAC,OAAoB;AAAA,IAC9B,MAAM,cAAc,UAAS,uBACzB,UAAS,YAAY,OAAO,KAAK,QAAQ,QAAQ,GACjD,IAAI,KAAK,QAAQ,SACrB;AAAA,IACA,KAAK,WAAW,WAAW;AAAA;AAAA,EA6B/B,UAAU,CAAC,OAAoB;AAAA,IAC3B,MAAM,mBAAmB,KAAK,OAAO,OAAO,KAAK,SAAS,KAAK,OAAO;AAAA,IACtE,KAAK,QAAQ,YACT,UAAS,UAAU,KAAK,QAAQ,UAAU,gBAAgB,CAC9D;AAAA;AAAA,EAiCJ,UAAU,CAAC,QAAqB;AAAA,IAC5B,MAAM,oBAAoB,KAAK,OAC3B,QACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YAAY,iBAAiB;AAAA;AAAA,EAsB9C,aAAa,CAAC,QAAqB;AAAA,IAC/B,MAAM,gBACF,KAAK,QAAQ,+BAA+B,MAAM;AAAA,IACtD,KAAK,WAAW,aAAa;AAAA;AAAA,EA4BjC,QAAQ,CAAC,OAAqB;AAAA,IAC1B,MAAM,mBAAmB,KAAK,UAC1B,OACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YAAY,KAAK,QAAQ,WAAW,gBAAgB;AAAA,IACjE,IAAI,CAAC,KAAK,QAAQ,qBAAqB;AAAA,MACnC;AAAA,IACJ;AAAA,IACA,MAAM,qBAAqB,yBACvB,KAAK,QAAQ,UACb,KAAK,QAAQ,eACb,KAAK,QAAQ,gBACb,KAAK,QAAQ,YACb,KAAK,QAAQ,WACb,KAAK,QAAQ,QACjB;AAAA,IACA,MAAM,yBAAyB,KAAK,OAChC,oBACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YAAY,sBAAsB;AAAA;AAAA,EA4BnD,QAAQ,CAAC,QAAsB;AAAA,IAC3B,MAAM,oBAAoB,KAAK,UAC3B,QACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YAAY,iBAAiB;AAAA,IAC1C,IAAI,CAAC,KAAK,QAAQ,qBAAqB;AAAA,MACnC;AAAA,IACJ;AAAA,IACA,MAAM,qBAAqB,yBACvB,KAAK,QAAQ,UACb,KAAK,QAAQ,eACb,KAAK,QAAQ,gBACb,KAAK,QAAQ,YACb,KAAK,QAAQ,WACb,KAAK,QAAQ,QACjB;AAAA,IACA,MAAM,yBAAyB,KAAK,OAChC,oBACA,KAAK,SACL,KAAK,OACT;AAAA,IACA,KAAK,QAAQ,YAAY,sBAAsB;AAAA;AAAA,MAY/C,mBAAmB,CAAC,OAAgB;AAAA,IACpC,KAAK,QAAQ,sBAAsB;AAAA;AAAA,MAQnC,mBAAmB,GAAY;AAAA,IAC/B,OAAO,KAAK,QAAQ;AAAA;AAAA,MAQpB,MAAM,GAA0B;AAAA,IAChC,OAAO,KAAK;AAAA;AAAA,MAYZ,MAAM,CAAC,QAA+B;AAAA,IACtC,KAAK,UAAU;AAAA;AAAA,MAYf,MAAM,GAAoB;AAAA,IAC1B,OAAO,KAAK;AAAA;AAAA,MAYZ,MAAM,CAAC,QAAyB;AAAA,IAChC,KAAK,UAAU,KAAK,OAAO;AAAA;AAAA,EAwB/B,SAAS,CAAC,QAAkC;AAAA,IACxC,KAAK,UAAU,KAAK,KAAK,YAAY,OAAO;AAAA;AAAA,EAUhD,OAAO,GAAS;AAAA,EAShB,KAAK,GAAS;AAAA,EAcd,MAAM,GAAS;AACnB;AA6CO,SAAS,sBAAsB,CAClC,QACS;AAAA,EACT,OAAO,IAAI,iBACP;AAAA,IACI,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,8BAA8B;AAAA,IAC9B,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB,WAAW;AAAA,EACf,GACA,MACJ;AAAA;;AKh3BG,MAAM,kBAAkB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EAaR,WAAW,CACP,WACA,WACA,WACF;AAAA,IACE,KAAK,aAAa;AAAA,IAClB,KAAK,aAAa;AAAA,IAClB,KAAK,aAAa;AAAA;AAAA,EAwBf,uBAAuB,CAAC,QAAmB;AAAA,IAE9C,IAAI,KAAK,cAAc,MAAM,GAAG;AAAA,MAC5B,KAAK,yBAAyB,MAAM;AAAA,IACxC,EAAO,SAAI,MAAM,QAAQ,MAAM,GAAG;AAAA,MAE9B,OAAO,QAAQ,UAAQ;AAAA,QACnB,IAAI,KAAK,cAAc,IAAI,GAAG;AAAA,UAC1B,KAAK,yBAAyB,IAAI;AAAA,QACtC;AAAA,OACH;AAAA,IACL;AAAA;AAAA,EAGG,iBAAiB,CAAC,OAA0B;AAAA,IAC/C,KAAK,yBAAyB,KAAK;AAAA;AAAA,EAa/B,aAAa,CAAC,QAAoC;AAAA,IACtD,OAAO,UAAU,OAAO,WAAW,YAAY,UAAU;AAAA;AAAA,EA4BrD,wBAAwB,CAAC,OAA0B;AAAA,IACvD,QAAQ,MAAM;AAAA,WACL;AAAA,QAED,KAAK,YAAY,UAAU,MAAM,KAAK;AAAA,QAEtC,MAAM,YAAY,KAAK,WAAW,eAAe,MAAM,KAAK;AAAA,QAC5D,KAAK,oBAAoB,SAAS;AAAA,QAClC;AAAA,WACC;AAAA,QAED,KAAK,YAAY,WACb,MAAM,OACN,MAAM,qBACV;AAAA,QAEA,MAAM,aAAa,KAAK,WAAW,gBAC/B,MAAM,OACN,MAAM,qBACV;AAAA,QACA,KAAK,qBAAqB,UAAU;AAAA,QACpC;AAAA,WACC;AAAA,QAED,KAAK,YAAY,aAAa,MAAM,aAAa;AAAA,QAEjD,MAAM,eAAe,KAAK,WAAW,oBACjC,MAAM,aACV;AAAA,QACA,KAAK,uBAAuB,YAAY;AAAA,QACxC;AAAA,WACC;AAAA,QAGD;AAAA,WACC;AAAA,QAED;AAAA;AAAA;AAAA,EAcJ,mBAAmB,CAAC,QAAkC;AAAA,IAC1D,IAAI,OAAO,kBAAkB;AAAA,MACzB,KAAK,WAAW,cAAc,OAAO,KAAK;AAAA,IAC9C;AAAA;AAAA,EAaI,oBAAoB,CAAC,QAAmC;AAAA,IAC5D,IAAI,OAAO,kBAAkB;AAAA,MACzB,IAAI,OAAO,aAAa;AAAA,QACpB,KAAK,WAAW,SAAS,OAAO,OAAO,OAAO,WAAW;AAAA,MAC7D,EAAO;AAAA,QACH,KAAK,WAAW,OAAO,OAAO,KAAK;AAAA;AAAA,IAE3C;AAAA;AAAA,EAYI,sBAAsB,CAAC,QAAuC;AAAA,IAClE,IAAI,OAAO,kBAAkB;AAAA,MACzB,KAAK,WAAW,SAAS,OAAO,KAAK;AAAA,IACzC;AAAA;AAAA,MAWA,SAAS,GAAmC;AAAA,IAC5C,OAAO,KAAK;AAAA;AAAA,MAQZ,SAAS,GAAc;AAAA,IACvB,OAAO,KAAK;AAAA;AAAA,MAWZ,SAAS,CAAC,WAAsB;AAAA,IAChC,KAAK,aAAa;AAAA;AAE1B;;;AC9SA,kBAAsB;;;ACAtB,qBAAgB;AA+CT,SAAS,wBAAwB,CACpC,eACA,QACK;AAAA,EACL,OAAO,UAAS,UAAU,eAAe,OAAO,QAAQ;AAAA;AA8CrD,SAAS,wBAAwB,CACpC,eACA,QACK;AAAA,EACL,OAAO,UAAS,UAAU,eAAe,OAAO,QAAQ;AAAA;;;ACpDrD,SAAS,eAAe,CAAC,OAAc;AAAA,EAC1C,MAAM,QAAQ,KAAK,IAAI,KAAK,KAAK,CAAC;AAAA,EAClC,MAAM,QAAQ,KAAK,IAAI,KAAK,KAAK,CAAC;AAAA,EAElC,OAAO;AAAA,IACH,GAAG,MAAM,IAAI,QAAQ,MAAM,IAAI;AAAA,IAC/B,GAAG,MAAM,IAAI,QAAQ,MAAM,IAAI,SAAS,MAAM,KAAK;AAAA,EACvD;AAAA;AAiDG,SAAS,4CAA4C,CACxD,OACA,QACA,8BAAqC;AAAA,EACjC,GAAG,OAAO,QAAQ;AAAA,EAClB,GAAG,OAAO,SAAS;AACvB,GACA,0BAAmC,OAC9B;AAAA,EACL,MAAM,gBAAgB,yBAAyB,OAAO,MAAM;AAAA,EAC5D,OAAO,2BACH,eACA,6BACA,uBACJ;AAAA;;ACnFG,SAAS,yBAAyB,CAAC,OAAuB;AAAA,EAC7D,IAAI,SAAS;AAAA,IAAG,OAAO;AAAA,EACvB,IAAI,QAAQ;AAAA,EACZ,IAAI,QAAQ,GAAG;AAAA,IACX,IAAI,UAAU;AAAA,IACd,OAAO,UAAU,OAAO;AAAA,MACpB,WAAW;AAAA,MACX;AAAA,IACJ;AAAA,EACJ,EAAO;AAAA,IACH,IAAI,UAAU;AAAA,IACd,OAAO,UAAU,MAAM,OAAO;AAAA,MAC1B,WAAW;AAAA,MACX;AAAA,IACJ;AAAA;AAAA,EAEJ,OAAO;AAAA;;ACbJ,MAAM,8BAA8B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAWR,WAAW,CAAC,QAAwB;AAAA,IAChC,KAAK,aAAa,IAAI;AAAA,IAEtB,KAAK,iBAAiB,IAAI,gBACrB,CAAC,YAAmC;AAAA,MACjC,WAAW,SAAS,SAAS;AAAA,QACzB,MAAM,UAAU,MAAM,OAAO,sBAAsB;AAAA,QACnD,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,MAAM,CACxC;AAAA,QACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,UACtC,KAAK,sBAAsB,QAAQ;AAAA,UACnC,KAAK,WAAW;AAAA,QACpB;AAAA,MACJ;AAAA,OACD,KAAK,IAAI,CAChB;AAAA,IAEA,KAAK,uBAAuB,IAAI,sBAC3B,CAAC,YAAyC;AAAA,MACvC,IAAI,KAAK,aAAa,WAAW;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,WAAW,SAAS,SAAS;AAAA,QACzB,IAAI,MAAM,gBAAgB;AAAA,UACtB,MAAM,UAAU,MAAM;AAAA,UACtB,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,MAAM,CACxC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ;AAAA,MACJ;AAAA,OACD,KAAK,IAAI,CAChB;AAAA,IAEA,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,IACzD,KAAK,mBAAmB,IAAI,iBAAiB,KAAK,iBAAiB;AAAA,IAEnE,IAAI,QAAQ;AAAA,MACR,KAAK,OAAO,MAAM;AAAA,IACtB;AAAA;AAAA,EAWG,OAAO,GAAS;AAAA,IACnB,KAAK,eAAe,WAAW;AAAA,IAC/B,KAAK,qBAAqB,WAAW;AAAA,IACrC,KAAK,iBAAiB,WAAW;AAAA,IACjC,IAAI,KAAK,eAAe;AAAA,MACpB,OAAO,oBAAoB,UAAU,KAAK,aAAa;AAAA,IAC3D;AAAA,IACA,IAAI,KAAK,eAAe;AAAA,MACpB,OAAO,oBAAoB,UAAU,KAAK,aAAa;AAAA,IAC3D;AAAA;AAAA,EAeJ,MAAM,CAAC,QAAuB;AAAA,IAC1B,KAAK,QAAQ;AAAA,IACb,KAAK,eAAe,QAAQ,MAAM;AAAA,IAClC,KAAK,qBAAqB,QAAQ,MAAM;AAAA,IACxC,KAAK,iBAAiB,QAAQ,QAAQ;AAAA,MAClC,YAAY;AAAA,MACZ,iBAAiB,CAAC,SAAS,UAAU,OAAO;AAAA,IAChD,CAAC;AAAA,IACD,MAAM,eAAe,OAAO,sBAAsB;AAAA,IAClD,MAAM,WAAW,YACb,cACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,IACA,KAAK,WAAW;AAAA,IAEhB,KAAK,iBAAiB,MAAM;AAAA,MACxB,IAAI,KAAK,aAAa,WAAW;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,MAAM,UAAU,OAAO,sBAAsB;AAAA,MAC7C,MAAM,YAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,MACA,IAAI,YAAY,KAAK,UAAU,SAAQ,GAAG;AAAA,QACtC,KAAK,sBAAsB,SAAQ;AAAA,QACnC,KAAK,WAAW;AAAA,MACpB;AAAA,OACD,KAAK,IAAI;AAAA,IACZ,KAAK,iBAAiB,MAAM;AAAA,MACxB,IAAI,KAAK,aAAa,WAAW;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,MAAM,UAAU,OAAO,sBAAsB;AAAA,MAC7C,MAAM,YAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,MACA,IAAI,YAAY,KAAK,UAAU,SAAQ,GAAG;AAAA,QACtC,KAAK,sBAAsB,SAAQ;AAAA,QACnC,KAAK,WAAW;AAAA,MACpB;AAAA,OACD,KAAK,IAAI;AAAA,IACZ,OAAO,iBAAiB,UAAU,KAAK,eAAe;AAAA,MAClD,SAAS;AAAA,IACb,CAAC;AAAA,IACD,OAAO,iBAAiB,UAAU,KAAK,eAAe;AAAA,MAClD,SAAS;AAAA,IACb,CAAC;AAAA;AAAA,EAGG,qBAAqB,CAAC,MAAe;AAAA,IACzC,KAAK,WAAW,OAAO,IAAI;AAAA;AAAA,EAyB/B,gBAAgB,CACZ,UACA,SACF;AAAA,IACE,OAAO,KAAK,WAAW,UAAU,UAAU,OAAO;AAAA;AAAA,EAG9C,iBAAiB,CACrB,eACA,UACF;AAAA,IACE,SAAS,YAAY,eAAe;AAAA,MAChC,IAAI,SAAS,SAAS,cAAc;AAAA,QAChC,IAAI,SAAS,kBAAkB,SAAS;AAAA,UACpC,MAAM,SAAS,SAAS;AAAA,UACxB,MAAM,UAAU,OAAO,sBAAsB;AAAA,UAC7C,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ,EAAO,SAAI,SAAS,kBAAkB,UAAU;AAAA,UAC5C,MAAM,SAAS,SAAS;AAAA,UACxB,MAAM,UAAU,OAAO,sBAAsB;AAAA,UAC7C,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ,EAAO,SAAI,SAAS,kBAAkB,SAAS;AAAA,UAC3C,MAAM,SAAS,SAAS;AAAA,UACxB,MAAM,UAAU,OAAO,sBAAsB;AAAA,UAC7C,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA;AAER;AAAA;AAuCO,MAAM,iCAAiC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,EAUR,WAAW,CAAC,QAA4B;AAAA,IACpC,KAAK,mBAAmB,IAAI;AAAA,IAC5B,KAAK,6BAA6B,IAAI;AAAA,IACtC,KAAK,aAAa,IAAI;AAAA,IAEtB,KAAK,iBAAiB,IAAI,gBACrB,CAAC,YAAmC;AAAA,MACjC,WAAW,SAAS,SAAS;AAAA,QACzB,MAAM,UAAU,MAAM,OAAO,sBAAsB;AAAA,QACnD,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,MAAM,CACxC;AAAA,QACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,UACtC,KAAK,sBAAsB,QAAQ;AAAA,UACnC,KAAK,WAAW;AAAA,QACpB;AAAA,MACJ;AAAA,OACD,KAAK,IAAI,CAChB;AAAA,IAEA,KAAK,uBAAuB,IAAI,sBAC3B,CAAC,YAAyC;AAAA,MACvC,IAAI,KAAK,aAAa,WAAW;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,WAAW,SAAS,SAAS;AAAA,QACzB,IAAI,MAAM,gBAAgB;AAAA,UACtB,MAAM,UAAU,MAAM;AAAA,UACtB,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,MAAM,CACxC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ;AAAA,MACJ;AAAA,OACD,KAAK,IAAI,CAChB;AAAA,IAEA,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,IACzD,KAAK,mBAAmB,IAAI,iBAAiB,KAAK,iBAAiB;AAAA,IAEnE,IAAI,QAAQ;AAAA,MACR,KAAK,OAAO,MAAM;AAAA,IACtB;AAAA;AAAA,EAUG,OAAO,GAAS;AAAA,IACnB,KAAK,eAAe,WAAW;AAAA,IAC/B,KAAK,qBAAqB,WAAW;AAAA,IACrC,KAAK,iBAAiB,WAAW;AAAA,IACjC,KAAK,iBAAiB,MAAM;AAAA,IAC5B,KAAK,2BAA2B,MAAM;AAAA;AAAA,EAa1C,MAAM,CAAC,QAA2B;AAAA,IAC9B,KAAK,QAAQ;AAAA,IACb,KAAK,iBAAiB,MAAM;AAAA,IAC5B,KAAK,mBAAmB,IAAI;AAAA,IAC5B,KAAK,2BAA2B,MAAM;AAAA,IACtC,KAAK,6BAA6B,IAAI;AAAA,IACtC,KAAK,eAAe,QAAQ,MAAM;AAAA,IAClC,KAAK,qBAAqB,QAAQ,MAAM;AAAA,IACxC,KAAK,iBAAiB,QAAQ,QAAQ;AAAA,MAClC,YAAY;AAAA,MACZ,iBAAiB,CAAC,SAAS,UAAU,OAAO;AAAA,IAChD,CAAC;AAAA,IACD,MAAM,eAAe,OAAO,sBAAsB;AAAA,IAClD,MAAM,WAAW,YACb,cACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,IACA,KAAK,sBAAsB,QAAQ;AAAA,IACnC,KAAK,WAAW;AAAA,IAChB,KAAK,iBAAiB,MAAM;AAAA,MACxB,IAAI,KAAK,aAAa,WAAW;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,MAAM,UAAU,OAAO,sBAAsB;AAAA,MAC7C,MAAM,YAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,MACA,IAAI,YAAY,KAAK,UAAU,SAAQ,GAAG;AAAA,QACtC,KAAK,sBAAsB,SAAQ;AAAA,QACnC,KAAK,WAAW;AAAA,MACpB;AAAA,OACD,KAAK,IAAI;AAAA,IACZ,KAAK,iBAAiB,MAAM;AAAA,MACxB,IAAI,KAAK,aAAa,WAAW;AAAA,QAC7B;AAAA,MACJ;AAAA,MACA,MAAM,UAAU,OAAO,sBAAsB;AAAA,MAC7C,MAAM,YAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,MACA,IAAI,YAAY,KAAK,UAAU,SAAQ,GAAG;AAAA,QACtC,KAAK,sBAAsB,SAAQ;AAAA,QACnC,KAAK,WAAW;AAAA,MACpB;AAAA,OACD,KAAK,IAAI;AAAA,IACZ,OAAO,iBAAiB,UAAU,KAAK,eAAe;AAAA,MAClD,SAAS;AAAA,MACT,QAAQ,KAAK,iBAAiB;AAAA,IAClC,CAAC;AAAA,IACD,OAAO,iBAAiB,UAAU,KAAK,eAAe;AAAA,MAClD,SAAS;AAAA,MACT,QAAQ,KAAK,iBAAiB;AAAA,IAClC,CAAC;AAAA,IAED,MAAM,oBAAoB,MAAM;AAAA,MAC5B,KAAK,2BAA2B,MAAM;AAAA,MACtC,KAAK,6BAA6B,IAAI;AAAA,MAEtC,MAAM,UAAU,OAAO,sBAAsB;AAAA,MAC7C,MAAM,YAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,MACA,KAAK,sBAAsB,SAAQ;AAAA,MAEnC,MAAM,WAAW,gBAAgB,OAAO;AAAA,MACxC,MAAM,QAAQ,WAAW,QAAQ;AAAA,MACjC,MAAM,iBAAiB,UAAU,kBAAkB;AAAA,QAC/C,QAAQ,KAAK,2BAA2B;AAAA,MAC5C,CAAC;AAAA,OACF,KAAK,IAAI;AAAA,IACZ,iBAAiB;AAAA;AAAA,EAGb,qBAAqB,CAAC,MAAe;AAAA,IACzC,KAAK,WAAW,OAAO,IAAI;AAAA;AAAA,EAe/B,gBAAgB,CACZ,UACA,SACF;AAAA,IACE,OAAO,KAAK,WAAW,UAAU,UAAU,OAAO;AAAA;AAAA,EAgB9C,iBAAiB,CACrB,eACA,UACF;AAAA,IACE,SAAS,YAAY,eAAe;AAAA,MAChC,IAAI,SAAS,SAAS,cAAc;AAAA,QAChC,IAAI,SAAS,kBAAkB,SAAS;AAAA,UACpC,MAAM,SAAS,SAAS;AAAA,UAExB,MAAM,UAAU,OAAO,sBAAsB;AAAA,UAC7C,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ,EAAO,SAAI,SAAS,kBAAkB,UAAU;AAAA,UAC5C,MAAM,SAAS,SAAS;AAAA,UAExB,MAAM,UAAU,OAAO,sBAAsB;AAAA,UAC7C,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ,EAAO,SAAI,SAAS,kBAAkB,SAAS;AAAA,UAC3C,MAAM,SAAS,SAAS;AAAA,UAWxB,MAAM,UAAU,OAAO,sBAAsB;AAAA,UAC7C,MAAM,WAAW,YACb,SACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,UACA,IAAI,YAAY,KAAK,UAAU,QAAQ,GAAG;AAAA,YACtC,KAAK,sBAAsB,QAAQ;AAAA,YACnC,KAAK,WAAW;AAAA,UACpB;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA;AAER;AA+BO,SAAS,WAAW,CAAC,MAAe,eAAoC;AAAA,EAC3E,MAAM,cAAc,WAAW,cAAc,WAAW;AAAA,EACxD,MAAM,aAAa,WAAW,cAAc,UAAU;AAAA,EACtD,MAAM,eAAe,WAAW,cAAc,YAAY;AAAA,EAC1D,MAAM,gBAAgB,WAAW,cAAc,aAAa;AAAA,EAE5D,MAAM,aAAa,WAAW,cAAc,eAAe;AAAA,EAC3D,MAAM,YAAY,WAAW,cAAc,cAAc;AAAA,EACzD,MAAM,cAAc,WAAW,cAAc,gBAAgB;AAAA,EAC7D,MAAM,eAAe,WAAW,cAAc,iBAAiB;AAAA,EAE/D,MAAM,WAAW,KAAK,OAAO,cAAc;AAAA,EAC3C,MAAM,UAAU,KAAK,MAAM,aAAa;AAAA,EACxC,MAAM,YACF,KAAK,QAAQ,cAAc,eAAe,aAAa;AAAA,EAC3D,MAAM,aACF,KAAK,SAAS,aAAa,gBAAgB,YAAY;AAAA,EAC3D,OAAO,IAAI,QAAQ,UAAU,SAAS,WAAW,UAAU;AAAA;AAgB/D,SAAS,WAAW,CAAC,IAAyB,IAAa;AAAA,EACvD,IAAI,OAAO,WAAW;AAAA,IAClB,OAAO;AAAA,EACX;AAAA,EACA,OACI,GAAG,QAAQ,GAAG,OACd,GAAG,SAAS,GAAG,QACf,GAAG,UAAU,GAAG,SAChB,GAAG,WAAW,GAAG;AAAA;AAkBzB,IAAM,gBAA0C;AAAA,EAC5C,UAAU,CAAC,GAAG,CAAC;AAAA,EACf,YAAY,CAAC,GAAG,CAAC;AAAA,EACjB,UAAU,CAAC,CAAC;AAAA,EACZ,YAAY,CAAC,CAAC;AAAA,EACd,QAAQ,CAAC,CAAC;AAAA,EACV,QAAQ,CAAC,CAAC;AAAA,EACV,kBAAkB,CAAC,GAAG,CAAC;AAAA,EACvB,eAAe,CAAC,GAAG,GAAG,CAAC;AAAA,EACvB,KAAK,CAAC,CAAC;AAAA,EACP,WAAW,CAAC,CAAC;AAAA,EACb,MAAM,CAAC,GAAG,CAAC;AAAA,EACX,WAAW,CAAC,GAAG,CAAC;AACpB;AAsCO,SAAS,YAAY,CACxB,SACwB;AAAA,EACxB,OAAO,IAAI,MAAM,SAAS;AAAA,IACtB,GAAG,CACC,QACA,MACA,UACG;AAAA,MACH,MAAM,QAAQ,QAAQ,IAAI,QAAQ,MAAM,MAAM;AAAA,MAG9C,IACI,OAAO,SAAS,YAChB,QAAQ,iBACR,OAAO,UAAU,YACnB;AAAA,QACE,OAAO,QAAS,IAAI,MAAa;AAAA,UAE7B,MAAM,UAAU,CAAC,GAAG,IAAI;AAAA,UAGxB,IAAI,SAAS,eAAe,KAAK,WAAW,GAAG;AAAA,YAC3C,MAAM,gBACF,iCAAiC,IAAI;AAAA,YACzC,OAAO,MAAM,MAAM,QAAQ,aAAa;AAAA,UAC5C,EAAO;AAAA,YAEH,MAAM,WAAW,cAAc;AAAA,YAC/B,WAAW,SAAS,UAAU;AAAA,cAC1B,IAAI,QAAQ,QAAQ,QAAQ;AAAA,gBACxB,QAAQ,SAAS,CAAC,QAAQ;AAAA,cAC9B;AAAA,YACJ;AAAA,YAEA,IAAI,SAAS,eAAe,KAAK,WAAW,GAAG;AAAA,cAC3C,QAAQ,MAAM,QAAQ;AAAA,YAC1B;AAAA;AAAA,UAIJ,OAAO,MAAM,MAAM,QAAQ,OAAO;AAAA;AAAA,MAE1C;AAAA,MAGA,IAAI,OAAO,UAAU,YAAY;AAAA,QAC7B,OAAO,QAAS,IAAI,MAAa;AAAA,UAC7B,OAAO,MAAM,MAAM,QAAQ,IAAI;AAAA;AAAA,MAEvC;AAAA,MAEA,OAAO;AAAA;AAAA,IAEX,GAAG,CAAC,QAAQ,MAAM,OAAgB;AAAA,MAC9B,OAAO,QAAQ,IAAI,QAAQ,MAAM,KAAK;AAAA;AAAA,EAE9C,CAAC;AAAA;AAiCE,SAAS,gCAAgC,CAAC,MAA0B;AAAA,EACvE,IAAI,KAAK,WAAW,GAAG;AAAA,IACnB,OAAO;AAAA,EACX;AAAA,EACA,MAAM,UAAU,CAAC,GAAG,IAAI;AAAA,EACxB,MAAM,cAAc,KAAK,GAAG;AAAA,EAC5B,IAAI,gBAAgB,WAAW;AAAA,IAC3B,QAAQ,KAAK,cAAc,QAAQ;AAAA,IACnC,QAAQ,KAAK,CAAC,QAAQ;AAAA,IACtB,QAAQ,MAAM,QAAQ;AAAA,IACtB,QAAQ,KAAK,CAAC,QAAQ;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA;;ACzyBX,qBAAS;AAgBF,SAAS,aAAa,CACzB,SACA,KACA,iBACA,uBACA,MACA,QAAgB,OACZ;AAAA,EAEJ,IAAI,WAAW,OAAO;AAAA,EACtB,WAAW,WAAW;AAAA,EACtB,QAAQ,UAAU;AAAA,EAClB,QAAQ,cAAc;AAAA,EACtB,QAAQ,YAAY,IAAI;AAAA,EACxB,IAAI,uBAAuB;AAAA,IACvB,QAAQ,OAAO,IAAI,IAAI,UAAU,IAAI,CAAC;AAAA,IACtC,QAAQ,OAAO,IAAI,IAAI,UAAU,IAAI,CAAC;AAAA,IACtC,QAAQ,OAAO,IAAI,GAAG,IAAI,IAAI,QAAQ;AAAA,IACtC,QAAQ,OAAO,IAAI,GAAG,IAAI,IAAI,QAAQ;AAAA,EAC1C,EAAO;AAAA,IACH,QAAQ,OAAO,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;AAAA,IACvC,QAAQ,OAAO,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;AAAA,IACvC,QAAQ,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,QAAQ;AAAA,IACvC,QAAQ,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,QAAQ;AAAA;AAAA,EAE3C,QAAQ,OAAO;AAAA,EACf,QAAQ,YAAY;AAAA;AASjB,SAAS,eAAe,CAC3B,SACA,YACA,uBACI;AAAA,EACJ,IAAI,CAAC,uBAAuB,UAAU,GAAG;AAAA,IACrC;AAAA,EACJ;AAAA,EACA,MAAM,QAAQ,mBAAmB,UAAU;AAAA,EAC3C,MAAM,SAAS,oBAAoB,UAAU;AAAA,EAC7C,MAAM,SAAS,cAAc,YAAY,YAAY,WAAW;AAAA,EAChE,MAAM,UAAU,UAAU,YAAY,YAAY,OAAO;AAAA,EACzD,MAAM,UAAU,UAAU,YAAY,YAAY,OAAO;AAAA,EACzD,IACI,WAAW,aACX,WAAW,aACX,SAAS,aACT,UAAU,WACZ;AAAA,IACE;AAAA,EACJ;AAAA,EACA,QAAQ,UAAU;AAAA,EAClB,QAAQ,cAAc;AAAA,EACtB,QAAQ,YAAY;AAAA,EACpB,IAAI,uBAAuB;AAAA,IACvB,QAAQ,UAAU,SAAS,SAAS,OAAO,QAAQ,CAAC;AAAA,EACxD,EAAO;AAAA,IACH,QAAQ,UAAU,SAAS,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC;AAAA;AAAA,EAE1D,QAAQ,OAAO;AAAA,EACf,QAAQ,YAAY;AAAA,EACpB,QAAQ,cAAc;AAAA;AASnB,SAAS,QAAQ,CACpB,SACA,YACA,WACA,uBACI;AAAA,EACJ,IAAI,CAAC,uBAAuB,UAAU,GAAG;AAAA,IAErC;AAAA,EACJ;AAAA,EACA,MAAM,QAAQ,mBAAmB,UAAU;AAAA,EAC3C,MAAM,SAAS,oBAAoB,UAAU;AAAA,EAC7C,MAAM,SAAS,cAAc,YAAY,YAAY,WAAW;AAAA,EAChE,MAAM,UAAU,UAAU,YAAY,YAAY,OAAO;AAAA,EACzD,MAAM,UAAU,UAAU,YAAY,YAAY,OAAO;AAAA,EACzD,IACI,WAAW,aACX,WAAW,aACX,SAAS,aACT,UAAU,WACZ;AAAA,IACE;AAAA,EACJ;AAAA,EACA,QAAQ,YAAY,IAAI;AAAA,EAExB,QAAQ,UAAU;AAAA,EAClB,QAAQ,cAAc;AAAA,EACtB,QAAQ,OAAO,GAAG,CAAC;AAAA,EACnB,IAAI,uBAAuB;AAAA,IACvB,QAAQ,OAAO,GAAG,UAAU,MAAM;AAAA,EACtC,EAAO;AAAA,IACH,QAAQ,OAAO,GAAG,CAAC,UAAU,MAAM;AAAA;AAAA,EAEvC,QAAQ,OAAO;AAAA,EAGf,QAAQ,UAAU;AAAA,EAClB,QAAQ,cAAc;AAAA,EACtB,QAAQ,OAAO,GAAG,CAAC;AAAA,EACnB,QAAQ,OAAO,UAAU,OAAO,CAAC;AAAA,EACjC,QAAQ,OAAO;AAAA,EACf,QAAQ,cAAc;AAAA;AAUnB,SAAS,QAAQ,CACpB,SACA,eACA,gBACA,kBACA,mBACA,uBACA,iBACI;AAAA,EACJ,IAAI,qBAAqB,WAAS,kBAC9B,eACA,cACJ;AAAA,EACA,IAAI,mBAAmB,WAAS,kBAC5B,kBACA,aACJ;AAAA,EACA,IAAI,QAAQ,WAAS,sBAAsB,eAAe,cAAc;AAAA,EACxE,IAAI,SAAS,WAAS,sBAClB,eACA,gBACJ;AAAA,EACA,IAAI,mBAAmB,0BAA0B,KAAK;AAAA,EACtD,IAAI,UAAU,KAAK,IAAI,IAAI,gBAAgB;AAAA,EAC3C,IAAI,aAAa,UAAU;AAAA,EAC3B,IAAI,yBACA,KAAK,KAAK,cAAc,IAAI,UAAU,IAAI;AAAA,EAC9C,IAAI,yBACA,KAAK,MAAM,eAAe,IAAI,UAAU,IAAI;AAAA,EAChD,IAAI,uBAAuB,wBACrB,KAAK,MAAM,cAAc,IAAI,UAAU,IAAI,aAC3C,KAAK,KAAK,iBAAiB,IAAI,UAAU,IAAI;AAAA,EACnD,IAAI,uBAAuB,wBACrB,KAAK,KAAK,iBAAiB,IAAI,UAAU,IAAI,aAC7C,KAAK,MAAM,cAAc,IAAI,UAAU,IAAI;AAAA,EAGjD,SACQ,IAAI,uBACR,KAAK,wBACL,KAAK,YACP;AAAA,IACE,MAAM,aAAa,WAAS,UACxB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBAAuB,oBAAoB,UAAU,CAClE;AAAA,IACA,MAAM,WAAW,WAAS,UACtB,EAAE,GAAG,GAAG,GAAG,iBAAiB,EAAE,GAC9B,WAAS,uBAAuB,oBAAoB,UAAU,CAClE;AAAA,IACA,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,MAAM;AAAA,IAC1B,QAAQ,OAAO,WAAW,GAAG,WAAW,CAAC;AAAA,IACzC,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA,IACrC,QAAQ,OAAO;AAAA,EACnB;AAAA,EACA,SACQ,IAAI,qBACR,KAAK,sBACL,KAAK,YACP;AAAA,IACE,MAAM,aAAa,WAAS,UACxB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBAAuB,kBAAkB,UAAU,CAChE;AAAA,IACA,MAAM,WAAW,WAAS,UACtB,EAAE,GAAG,eAAe,GAAG,GAAG,EAAE,GAC5B,WAAS,uBAAuB,kBAAkB,UAAU,CAChE;AAAA,IACA,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,MAAM;AAAA,IAC1B,QAAQ,OAAO,WAAW,GAAG,WAAW,CAAC;AAAA,IACzC,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA,IACrC,QAAQ,OAAO;AAAA,EACnB;AAAA;AAUG,SAAS,eAAe,CAC3B,SACA,eACA,gBACA,kBACA,mBACA,uBACA,iBACI;AAAA,EACJ,IAAI,qBAAqB,WAAS,kBAC9B,eACA,cACJ;AAAA,EACA,IAAI,mBAAmB,WAAS,kBAC5B,kBACA,aACJ;AAAA,EACA,IAAI,QAAQ,WAAS,sBAAsB,eAAe,cAAc;AAAA,EACxE,IAAI,mBAAmB,0BAA0B,KAAK;AAAA,EACtD,IAAI,UAAU,KAAK,IAAI,IAAI,gBAAgB;AAAA,EAE3C,IAAI,cAAc,UAAU;AAAA,EAC5B,IAAI,aAAa,UAAU;AAAA,EAC3B,IAAI,UAAU;AAAA,EACd,IAAI,oBAAoB,GAAG;AAAA,IACvB,UAAU,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC;AAAA,EAChD;AAAA,EACA,IAAI,yBAAyB,KAAK,KAAK,cAAc,IAAI,OAAO,IAAI;AAAA,EACpE,IAAI,yBACA,KAAK,MAAM,eAAe,IAAI,OAAO,IAAI;AAAA,EAC7C,IAAI,uBAAuB,wBACrB,KAAK,KAAK,cAAc,IAAI,OAAO,IAAI,UACvC,KAAK,MAAM,iBAAiB,IAAI,OAAO,IAAI;AAAA,EACjD,IAAI,uBAAuB,wBACrB,KAAK,MAAM,iBAAiB,IAAI,OAAO,IAAI,UAC3C,KAAK,KAAK,cAAc,IAAI,OAAO,IAAI;AAAA,EAC7C,IAAI,0BACA,KAAK,KAAK,cAAc,IAAI,WAAW,IAAI;AAAA,EAC/C,IAAI,0BACA,KAAK,MAAM,eAAe,IAAI,WAAW,IAAI;AAAA,EACjD,IAAI,wBAAwB,wBACtB,KAAK,KAAK,cAAc,IAAI,WAAW,IAAI,cAC3C,KAAK,MAAM,iBAAiB,IAAI,WAAW,IAAI;AAAA,EACrD,IAAI,wBAAwB,wBACtB,KAAK,MAAM,iBAAiB,IAAI,WAAW,IAAI,cAC/C,KAAK,KAAK,cAAc,IAAI,WAAW,IAAI;AAAA,EACjD,IAAI,yBACA,KAAK,KAAK,cAAc,IAAI,UAAU,IAAI;AAAA,EAC9C,IAAI,yBACA,KAAK,MAAM,eAAe,IAAI,UAAU,IAAI;AAAA,EAChD,IAAI,uBAAuB,wBACrB,KAAK,KAAK,cAAc,IAAI,UAAU,IAAI,aAC1C,KAAK,MAAM,iBAAiB,IAAI,UAAU,IAAI;AAAA,EACpD,IAAI,uBAAuB,wBACrB,KAAK,MAAM,iBAAiB,IAAI,UAAU,IAAI,aAC9C,KAAK,KAAK,cAAc,IAAI,UAAU,IAAI;AAAA,EAEhD,IAAI,uBAAuB,UAAU;AAAA,EACrC,IAAI,2BAA2B,cAAc;AAAA,EAC7C,IAAI,0BAA0B,aAAa;AAAA,EAE3C,QAAQ,OAAO,QAAQ,KAAK;AAAA,EAC5B,MAAM,4BAA4B,QAAQ,YACtC,GAAG,EAAE,cAAc,0BACvB;AAAA,EACA,MAAM,oBACF,0BAA0B,wBAC1B,0BAA0B;AAAA,EAC9B,MAAM,4BAA4B,QAAQ,YACtC,GAAG,EAAE,aAAa,yBACtB;AAAA,EACA,MAAM,oBACF,0BAA0B,wBAC1B,0BAA0B;AAAA,EAE9B,MAAM,sBAAsB,KAAK,MAC5B,yBAAyB,0BAA0B,OACxD;AAAA,EACA,SAAS,QAAQ,EAAG,SAAS,qBAAqB,SAAS;AAAA,IACvD,MAAM,IAAI,yBAAyB,QAAQ;AAAA,IAC3C,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,IAAI;AAAA,IACxB,IAAI,WAAW,WAAS,UACpB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBACL,kBACA,KAAK,eACT,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,WAAW,WAAS,UAChB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBACL,kBACA,MAAM,eACV,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,QAAQ,YAAY;AAAA,IACpB,QAAQ,eAAe;AAAA,IACvB,QAAQ,OAAO,QAAQ,KAAK;AAAA,IAC5B,MAAM,iBAAiB,QAAQ,YAC3B,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxD;AAAA,IACA,MAAM,SACF,eAAe,wBACf,eAAe;AAAA,IACnB,IAAI,CAAC,uBAAuB;AAAA,MACxB,WAAW,WAAS,UAAU,UAAU;AAAA,QACpC,GAAG;AAAA,QACH,GAAG,CAAC,SAAS,IAAI,SAAS;AAAA,MAC9B,CAAC;AAAA,MACD,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,CAAC,SAAS,CACd;AAAA,IACJ,EAAO;AAAA,MACH,WAAW,WAAS,UAAU,UAAU;AAAA,QACpC,GAAG;AAAA,QACH,GAAG,SAAS,IAAI,SAAS;AAAA,MAC7B,CAAC;AAAA,MACD,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,SAAS,CACb;AAAA;AAAA,IAEJ,QAAQ,OAAO;AAAA,EACnB;AAAA,EACA,MAAM,oBAAoB,KAAK,MAC1B,yBAAyB,0BAA0B,OACxD;AAAA,EACA,SAAS,QAAQ,EAAG,SAAS,mBAAmB,SAAS;AAAA,IACrD,MAAM,IAAI,uBAAuB,QAAQ;AAAA,IACzC,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,IAAI;AAAA,IACxB,IAAI,WAAW,WAAS,UACpB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBACL,oBACA,MAAM,eACV,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,WAAW,WAAS,UAChB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBACL,oBACA,KAAK,eACT,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,QAAQ,YAAY;AAAA,IACpB,QAAQ,eAAe;AAAA,IACvB,QAAQ,OAAO,QAAQ,KAAK;AAAA,IAE5B,MAAM,iBAAiB,QAAQ,YAC3B,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxD;AAAA,IACA,WAAW,WAAS,UAAU,UAAU;AAAA,MACpC,GAAG,eAAe,QAAQ,IAAI,eAAe,QAAQ;AAAA,MACrD,GAAG;AAAA,IACP,CAAC;AAAA,IACD,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,CAAC,SAAS,CACd;AAAA,IACJ,EAAO;AAAA,MACH,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,SAAS,CACb;AAAA;AAAA,IAEJ,QAAQ,OAAO;AAAA,EACnB;AAAA,EAEA,MAAM,uBAAuB,KAAK,MAC7B,0BAA0B,2BAA2B,WAC1D;AAAA,EACA,SAAS,QAAQ,EAAG,SAAS,sBAAsB,SAAS;AAAA,IACxD,MAAM,IAAI,0BAA0B,QAAQ;AAAA,IAC5C,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,MAAM,UAAU,OAAO,KAAK;AAAA,MAC3D;AAAA,IACJ,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,IAAI;AAAA,IACxB,IAAI,WAAW,WAAS,UACpB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBACL,kBACA,KAAK,eACT,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,WAAW,WAAS,UAChB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBACL,kBACA,MAAM,eACV,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,QAAQ,OAAO,GAAG,KAAK;AAAA,IACvB,MAAM,iBAAiB,QAAQ,YAC3B,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxD;AAAA,IACA,IAAI,2BAA2B,0BAA0B,QAAQ,GAAG;AAAA,MAChE,QAAQ,YAAY;AAAA,MACpB,QAAQ,eAAe;AAAA,MACvB,MAAM,SACF,eAAe,wBACf,eAAe;AAAA,MACnB,IAAI,CAAC,uBAAuB;AAAA,QACxB,WAAW,WAAS,UAAU,UAAU;AAAA,UACpC,GAAG;AAAA,UACH,GAAG,CAAC,SAAS,IAAI,SAAS;AAAA,QAC9B,CAAC;AAAA,QACD,WAAW,WAAS,UAAU,QAAQ;AAAA,MAC1C,EAAO;AAAA,QACH,WAAW,WAAS,UAAU,UAAU;AAAA,UACpC,GAAG;AAAA,UACH,GAAG,SAAS,IAAI,SAAS;AAAA,QAC7B,CAAC;AAAA;AAAA,MAEL,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,SAAS,CACb;AAAA,IACJ;AAAA,IACA,QAAQ,OAAO;AAAA,EACnB;AAAA,EACA,MAAM,qBAAqB,KAAK,MAC3B,wBAAwB,yBAAyB,WACtD;AAAA,EACA,SAAS,QAAQ,EAAG,SAAS,oBAAoB,SAAS;AAAA,IACtD,MAAM,IAAI,wBAAwB,QAAQ;AAAA,IAC1C,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,MAAM,UAAU,OAAO,KAAK;AAAA,MAC3D;AAAA,IACJ,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,IAAI;AAAA,IACxB,IAAI,WAAW,WAAS,UACpB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBACL,oBACA,MAAM,eACV,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,WAAW,WAAS,UAChB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBACL,oBACA,KAAK,eACT,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,QAAQ,OAAO,GAAG,KAAK;AAAA,IACvB,MAAM,iBAAiB,QAAQ,YAC3B,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxD;AAAA,IACA,MAAM,SACF,eAAe,wBACf,eAAe;AAAA,IACnB,IAAI,2BAA2B,oBAAoB,GAAG;AAAA,MAClD,QAAQ,YAAY;AAAA,MACpB,QAAQ,eAAe;AAAA,MACvB,WAAW,WAAS,UAAU,UAAU;AAAA,QACpC,GAAG,eAAe,QAAQ,IAAI,eAAe,QAAQ;AAAA,QACrD,GAAG;AAAA,MACP,CAAC;AAAA,MACD,IAAI,CAAC,uBAAuB;AAAA,QACxB,WAAW,WAAS,UAAU,QAAQ;AAAA,MAC1C;AAAA,MACA,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,SAAS,CACb;AAAA,IACJ;AAAA,IACA,QAAQ,OAAO;AAAA,EACnB;AAAA,EACA,MAAM,sBAAsB,KAAK,MAC5B,yBAAyB,0BAA0B,UACxD;AAAA,EACA,SAAS,QAAQ,EAAG,SAAS,qBAAqB,SAAS;AAAA,IACvD,MAAM,IAAI,yBAAyB,QAAQ;AAAA,IAC3C,IACI,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,MAAM,UAAU,OAAO,KAAK,KAC3D,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,MAAM,cAAc,OAAO,KAAK;AAAA,MAE/D;AAAA,IACJ,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,IAAI;AAAA,IACxB,IAAI,WAAW,WAAS,UACpB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBACL,kBACA,OAAO,eACX,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,WAAW,WAAS,UAChB,EAAE,GAAG,GAAG,GAAG,cAAc,EAAE,GAC3B,WAAS,uBACL,kBACA,QAAQ,eACZ,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,QAAQ,OAAO,GAAG,KAAK;AAAA,IACvB,MAAM,iBAAiB,QAAQ,YAC3B,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxD;AAAA,IACA,IAAI,0BAA0B,0BAA0B,QAAQ,GAAG;AAAA,MAC/D,QAAQ,YAAY;AAAA,MACpB,QAAQ,eAAe;AAAA,MACvB,MAAM,SACF,eAAe,wBACf,eAAe;AAAA,MACnB,IAAI,CAAC,uBAAuB;AAAA,QACxB,WAAW,WAAS,UAAU,UAAU;AAAA,UACpC,GAAG;AAAA,UACH,GAAG,CAAC,SAAS,IAAI,SAAS;AAAA,QAC9B,CAAC;AAAA,QACD,WAAW,WAAS,UAAU,QAAQ;AAAA,MAC1C,EAAO;AAAA,QACH,WAAW,WAAS,UAAU,UAAU;AAAA,UACpC,GAAG;AAAA,UACH,GAAG,SAAS,IAAI,SAAS;AAAA,QAC7B,CAAC;AAAA;AAAA,MAEL,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,SAAS,CACb;AAAA,IACJ;AAAA,IACA,QAAQ,OAAO;AAAA,EACnB;AAAA,EACA,MAAM,oBAAoB,KAAK,MAC1B,uBAAuB,wBAAwB,UACpD;AAAA,EACA,SAAS,QAAQ,EAAG,SAAS,mBAAmB,SAAS;AAAA,IACrD,MAAM,IAAI,uBAAuB,QAAQ;AAAA,IACzC,IACI,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,MAAM,UAAU,OAAO,KAAK,KAC3D,KAAK,MAAM,IAAI,OAAO,IAAI,KAAK,MAAM,cAAc,OAAO,KAAK;AAAA,MAE/D;AAAA,IACJ,QAAQ,UAAU;AAAA,IAClB,QAAQ,cAAc;AAAA,IACtB,QAAQ,YAAY;AAAA,IACpB,QAAQ,YAAY,IAAI;AAAA,IACxB,IAAI,WAAW,WAAS,UACpB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBACL,oBACA,QAAQ,eACZ,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,WAAW,WAAS,UAChB,EAAE,GAAG,cAAc,GAAG,GAAG,EAAE,GAC3B,WAAS,uBACL,oBACA,OAAO,eACX,CACJ;AAAA,IACA,IAAI,CAAC,uBAAuB;AAAA,MACxB,QAAQ,OAAO,SAAS,GAAG,CAAC,SAAS,CAAC;AAAA,IAC1C,EAAO;AAAA,MACH,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA;AAAA,IAEzC,QAAQ,OAAO,GAAG,KAAK;AAAA,IACvB,MAAM,iBAAiB,QAAQ,YAC3B,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxD;AAAA,IACA,MAAM,SACF,eAAe,wBACf,eAAe;AAAA,IACnB,IAAI,0BAA0B,oBAAoB,GAAG;AAAA,MACjD,QAAQ,YAAY;AAAA,MACpB,QAAQ,eAAe;AAAA,MACvB,WAAW,WAAS,UAAU,UAAU;AAAA,QACpC,GAAG,eAAe,QAAQ,IAAI,eAAe,QAAQ;AAAA,QACrD,GAAG;AAAA,MACP,CAAC;AAAA,MACD,IAAI,CAAC,uBAAuB;AAAA,QACxB,WAAW,WAAS,UAAU,QAAQ;AAAA,MAC1C;AAAA,MACA,QAAQ,SACJ,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KACpD,SAAS,GACT,SAAS,CACb;AAAA,IACJ;AAAA,IACA,QAAQ,OAAO;AAAA,EACnB;AAAA;AAUG,SAAS,gBAAgB,CAC5B,SACA,KACA,iBACA,uBACA,SAAiB,IACjB,QAAgB,OACZ;AAAA,EACJ,SAAS,SAAS;AAAA,EAClB,QAAQ,OAAO,GAAG,KAAK;AAAA,EACvB,QAAQ,YAAY;AAAA,EACpB,IAAI,uBAAuB;AAAA,IACvB,QAAQ,SACJ,MAAM,IAAI,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,QAAQ,CAAC,KAC7C,IAAI,IAAI,QACR,IAAI,IAAI,MACZ;AAAA,EACJ,EAAO;AAAA,IACH,QAAQ,SACJ,MAAM,IAAI,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,QAAQ,CAAC,KAC7C,IAAI,IAAI,QACR,CAAC,IAAI,IAAI,MACb;AAAA;AAAA,EAEJ,QAAQ,YAAY;AAAA;AAUjB,SAAS,mBAAmB,CAC/B,SACA,KACA,uBACI;AAAA,EACJ,QAAQ,UAAU;AAAA,EAClB,QAAQ,cAAc;AAAA,EAEtB,IAAI,uBAAuB;AAAA,IACvB,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE;AAAA,EAC/C,EAAO;AAAA,IACH,QAAQ,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE;AAAA;AAAA,EAEhD,QAAQ,OAAO;AAAA,EACf,QAAQ,cAAc;AAAA;;ACxuB1B,qBAAgB;AA2CT,SAAS,SAAS,CACrB,SACA,iBACA,YACA,UACA,QAAgB,GAChB,aAAqB,KACvB;AAAA,EACE,MAAM,SAAS,WAAS,sBAAsB,YAAY,QAAQ;AAAA,EAClE,MAAM,cACF,KAAK,SAAS,kBAAkB,MAC1B,KAAK,kBACL,SAAS;AAAA,EACnB,MAAM,eAAe,SAAS;AAAA,EAC9B,MAAM,cAAc,WAAS,oBACzB,YACA,UACA,eAAe,MACnB;AAAA,EACA,QAAQ,UAAU;AAAA,EAClB,QAAQ,YAAY,QAAQ;AAAA,EAC5B,QAAQ,OAAO,WAAW,GAAG,WAAW,CAAC;AAAA,EACzC,QAAQ,OAAO,YAAY,GAAG,YAAY,CAAC;AAAA,EAC3C,QAAQ,OAAO;AAAA,EACf,MAAM,aAAa,WAAS,YACxB,WAAS,kBAAkB,UAAU,UAAU,GAC/C,KAAK,KAAK,CACd;AAAA,EACA,MAAM,cAAc,WAAS,UACzB,aACA,WAAS,uBAAuB,YAAY,cAAc,GAAG,CACjE;AAAA,EACA,MAAM,cAAc,WAAS,UACzB,aACA,WAAS,uBAAuB,YAAY,cAAc,GAAG,CACjE;AAAA,EACA,QAAQ,UAAU;AAAA,EAClB,QAAQ,OAAO,SAAS,GAAG,SAAS,CAAC;AAAA,EACrC,QAAQ,OAAO,YAAY,GAAG,YAAY,CAAC;AAAA,EAC3C,QAAQ,OAAO,YAAY,GAAG,YAAY,CAAC;AAAA,EAC3C,QAAQ,UAAU;AAAA,EAClB,QAAQ,KAAK;AAAA;AAOV,IAAM,oBAAoB;AAM1B,IAAM,oBAAoB,oBAAoB;AAM9C,IAAM,mBAAmB,oBAAoB;AAM7C,IAAM,yBAAyB;AAM/B,IAAM,wBAAwB;AAM9B,IAAM,4BAA4B;AAMlC,IAAM,2BAA2B;AA8CjC,SAAS,SAAS,CACrB,SACA,eACA,gBACA,kBACA,uBACA,iBACI;AAAA,EAEJ;AAAA,IACI;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACA,oBAAoB,cAAc,GAAG,eAAe,CAAC;AAAA,EAEzD,QAAQ,KAAK;AAAA,EACb,QAAQ,cAAc;AAAA,EACtB,SACQ,IAAI,kBACR,KAAK,mBACL,KAAK,eACP;AAAA,IACE,MAAM,iBAAiB;AAAA,MACnB,GAAG,IAAI;AAAA,MACP,GAAG,cAAc;AAAA,IACrB;AAAA,IACA,MAAM,kBAAkB,wBAClB,oBAAoB,kBACpB,CAAC,oBAAoB;AAAA,IAC3B,MAAM,aAAa,wBACb,yBAAyB,kBACzB,CAAC,yBAAyB;AAAA,IAChC,cACI,SACA,iBACA,gBACA,iBACA,IAAI,uBACJ,EAAE,YAAY,UAAU,0BAA0B,CACtD;AAAA,EACJ;AAAA,EAEA,SAAS,IAAI,gBAAiB,KAAK,iBAAiB,KAAK,aAAa;AAAA,IAClE,IAAI,IAAI,kBAAkB,GAAG;AAAA,MACzB;AAAA,IACJ;AAAA,IACA,IAAI,IAAI,iBAAiB,GAAG;AAAA,MACxB;AAAA,IACJ;AAAA,IACA,MAAM,eAAe;AAAA,MACjB,GAAG,IAAI;AAAA,MACP,GAAG,cAAc;AAAA,IACrB;AAAA,IACA,MAAM,gBAAgB,wBAChB,oBAAoB,kBACpB,CAAC,oBAAoB;AAAA,IAC3B,cAAc,SAAS,iBAAiB,cAAc,eAAe,CAAC;AAAA,EAC1E;AAAA,EAEA,SAAS,IAAI,iBAAkB,KAAK,kBAAkB,KAAK,cAAc;AAAA,IACrE,IAAI,IAAI,kBAAkB,GAAG;AAAA,MACzB;AAAA,IACJ;AAAA,IACA,MAAM,gBAAgB;AAAA,MAClB,GAAG,IAAI;AAAA,MACP,GAAG,cAAc;AAAA,IACrB;AAAA,IACA,MAAM,iBAAiB,wBACjB,mBAAmB,kBACnB,CAAC,mBAAmB;AAAA,IAC1B,MAAM,aAAa,wBACb,wBAAwB,kBACxB,CAAC,wBAAwB;AAAA,IAC/B,cACI,SACA,iBACA,eACA,gBACA,IAAI,uBACJ,EAAE,YAAY,UAAU,0BAA0B,OAAO,MAAM,CACnE;AAAA,EACJ;AAAA,EAEA,QAAQ,QAAQ;AAAA,EAGhB;AAAA,IACI,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,uBAAuB;AAAA,MACvB,oBACA,cAAc,GACd,iBAAiB,GACjB,0BACJ;AAAA,EAEA,QAAQ,KAAK;AAAA,EACb,QAAQ,cAAc;AAAA,EACtB,SACQ,IAAI,mBACR,KAAK,oBACL,KAAK,gBACP;AAAA,IACE,MAAM,iBAAiB;AAAA,MACnB,GAAG,cAAc;AAAA,MACjB,GAAG,IAAI;AAAA,IACX;AAAA,IACA,MAAM,kBAAkB,oBAAoB;AAAA,IAC5C,MAAM,aAAa,yBAAyB;AAAA,IAC5C,cACI,SACA,iBACA,gBACA,iBACA,GACA,EAAE,YAAY,UAAU,0BAA0B,CACtD;AAAA,EACJ;AAAA,EAEA,SACQ,IAAI,kBACR,KAAK,mBACL,KAAK,eACP;AAAA,IACE,IAAI,IAAI,mBAAmB,GAAG;AAAA,MAC1B;AAAA,IACJ;AAAA,IACA,MAAM,gBAAgB;AAAA,MAClB,GAAG,cAAc;AAAA,MACjB,GAAG,IAAI;AAAA,IACX;AAAA,IACA,MAAM,iBAAiB,mBAAmB;AAAA,IAC1C,MAAM,aAAa,wBAAwB;AAAA,IAC3C,cACI,SACA,iBACA,eACA,gBACA,GACA,EAAE,YAAY,UAAU,yBAAyB,CACrD;AAAA,EACJ;AAAA,EAEA,SAAS,IAAI,iBAAkB,KAAK,kBAAkB,KAAK,cAAc;AAAA,IACrE,IAAI,IAAI,mBAAmB,GAAG;AAAA,MAC1B;AAAA,IACJ;AAAA,IACA,MAAM,eAAe;AAAA,MACjB,GAAG,cAAc;AAAA,MACjB,GAAG,IAAI;AAAA,IACX;AAAA,IACA,MAAM,gBAAgB,oBAAoB;AAAA,IAC1C,cAAc,SAAS,iBAAiB,cAAc,eAAe,CAAC;AAAA,EAC1E;AAAA,EACA,QAAQ,QAAQ;AAAA;AAGpB,SAAS,aAAa,CAClB,SACA,iBACA,gBACA,iBACA,WACA,YAKF;AAAA,EACE,MAAM,WAAW,eAAe;AAAA,EAChC,QAAQ,KAAK;AAAA,EACb,QAAQ,YAAY,IAAI;AAAA,EACxB,QAAQ,UAAU;AAAA,EAClB,QAAQ,OAAO,eAAe,GAAG,eAAe,CAAC;AAAA,EACjD,QAAQ,OAAO,eAAe,IAAI,iBAAiB,eAAe,CAAC;AAAA,EACnE,QAAQ,OAAO;AAAA,EACf,QAAQ,QAAQ;AAAA,EAChB,IAAI,CAAC,UAAU;AAAA,IACX;AAAA,EACJ;AAAA,EACA,MAAM,QAAQ,WAAW,SAAS;AAAA,EAClC,QAAQ,KAAK;AAAA,EACb,QAAQ,YAAY;AAAA,EACpB,QAAQ,eAAe;AAAA,EACvB,QAAQ,YAAY;AAAA,EACpB,QAAQ,OAAO,GAAG,WAAW,WAAW;AAAA,EACxC,MAAM,gBAAgB,YAAY,KAAK,IAAI,YAAY,UAAU,QAAQ,CAAC;AAAA,EAC1E,QAAQ,SACJ,GAAG,iBACH,eAAe,IAAI,kBAAkB,WAAW,YAChD,eAAe,CACnB;AAAA,EACA,QAAQ,QAAQ;AAAA;AAGpB,SAAS,aAAa,CAClB,SACA,iBACA,gBACA,iBACA,WACA,YAKF;AAAA,EACE,MAAM,WAAW,eAAe;AAAA,EAChC,QAAQ,KAAK;AAAA,EACb,QAAQ,YAAY,IAAI;AAAA,EACxB,QAAQ,UAAU;AAAA,EAClB,QAAQ,OAAO,eAAe,GAAG,eAAe,CAAC;AAAA,EACjD,QAAQ,OAAO,eAAe,GAAG,eAAe,IAAI,eAAe;AAAA,EACnE,QAAQ,OAAO;AAAA,EACf,QAAQ,QAAQ;AAAA,EAChB,IAAI,CAAC,UAAU;AAAA,IACX;AAAA,EACJ;AAAA,EACA,MAAM,QAAQ,WAAW,SAAS;AAAA,EAClC,QAAQ,KAAK;AAAA,EACb,QAAQ,YAAY;AAAA,EACpB,QAAQ,eAAe;AAAA,EACvB,QAAQ,YAAY;AAAA,EACpB,QAAQ,OAAO,GAAG,WAAW,WAAW;AAAA,EACxC,MAAM,gBAAgB,YAAY,KAAK,IAAI,YAAY,UAAU,QAAQ,CAAC;AAAA,EAC1E,QAAQ,SACJ,GAAG,iBACH,eAAe,GACf,eAAe,IAAI,kBAAkB,WAAW,UACpD;AAAA,EACA,QAAQ,QAAQ;AAAA;AA+Cb,SAAS,mBAAmB,CAC/B,UACA,UACA,kBACF;AAAA,EACE,MAAM,eAAe,KAAK,IAAI,UAAU,QAAQ;AAAA,EAChD,MAAM,eAAe,KAAK,IAAI,UAAU,QAAQ;AAAA,EAEhD,MAAM,QAAQ,eAAe;AAAA,EAC7B,MAAM,uBAAuB,mBACvB,mBACA,0BAA0B,KAAK;AAAA,EAErC,MAAM,6BAA6B,KAAK,IAAI,GAAG,oBAAoB;AAAA,EACnE,MAAM,wBAAwB,KAAK,IAC/B,IACA,6BAA6B,oBACjC;AAAA,EAEA,MAAM,yBACF,WAAW,IACL,KAAK,MACA,eAAe,wBACZ,KAAK,IAAI,IAAI,0BAA0B,CAC/C,IACA,KAAK,KACA,eAAe,wBACZ,KAAK,IAAI,IAAI,0BAA0B,CAC/C;AAAA,EACV,MAAM,oBACF,yBAAyB,KAAK,IAAI,IAAI,0BAA0B;AAAA,EACpE,MAAM,yBACF,WAAW,IACL,KAAK,MACA,eAAe,wBACZ,KAAK,IAAI,IAAI,0BAA0B,CAC/C,IACA,KAAK,KACA,eAAe,wBACZ,KAAK,IAAI,IAAI,0BAA0B,CAC/C;AAAA,EACV,MAAM,oBACF,yBAAyB,KAAK,IAAI,IAAI,0BAA0B;AAAA,EACpE,MAAM,gBAAgB,KAAK,IAAI,IAAI,0BAA0B;AAAA,EAG7D,MAAM,0BAA0B,6BAA6B;AAAA,EAC7D,MAAM,uBACF,WAAW,IACL,KAAK,MACA,eAAe,wBACZ,KAAK,IAAI,IAAI,uBAAuB,CAC5C,IACA,KAAK,KACA,eAAe,wBACZ,KAAK,IAAI,IAAI,uBAAuB,CAC5C;AAAA,EACV,MAAM,kBACF,uBAAuB,KAAK,IAAI,IAAI,uBAAuB;AAAA,EAC/D,MAAM,uBACF,WAAW,IACL,KAAK,MACA,eAAe,wBACZ,KAAK,IAAI,IAAI,uBAAuB,CAC5C,IACA,KAAK,KACA,eAAe,wBACZ,KAAK,IAAI,IAAI,uBAAuB,CAC5C;AAAA,EACV,MAAM,kBACF,uBAAuB,KAAK,IAAI,IAAI,uBAAuB;AAAA,EAC/D,MAAM,cAAc,KAAK,IAAI,IAAI,uBAAuB;AAAA,EAExD,MAAM,eAAe,gBAAgB;AAAA,EACrC,MAAM,wBACF,WAAW,IACL,KAAK,MAAO,eAAe,wBAAyB,YAAY,IAChE,KAAK,KAAM,eAAe,wBAAyB,YAAY;AAAA,EACzE,MAAM,mBAAmB,wBAAwB;AAAA,EACjD,MAAM,wBACF,WAAW,IACL,KAAK,MAAO,eAAe,wBAAyB,YAAY,IAChE,KAAK,KAAM,eAAe,wBAAyB,YAAY;AAAA,EACzE,MAAM,mBAAmB,wBAAwB;AAAA,EAEjD,OAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB,IAAI;AAAA,IAC3B;AAAA,EACJ;AAAA;;AC1fG,SAAS,4BAA4B,CACxC,YACA,aACA,cACA,gBACkB;AAAA,EAClB,MAAM,QAAQ,mBAAmB,UAAU;AAAA,EAC3C,MAAM,SAAS,oBAAoB,UAAU;AAAA,EAC7C,IAAI,SAAS,aAAa,UAAU,WAAW;AAAA,IAC3C;AAAA,EACJ;AAAA,EAEA,MAAM,uBAAuB,KAAK,IAAI,QAAQ,KAAK,IAAI,cAAc,CAAC;AAAA,EACtE,MAAM,wBAAwB,KAAK,IAAI,SAAS,KAAK,IAAI,cAAc,CAAC;AAAA,EACxE,MAAM,wBAAwB,KAAK,IAAI,QAAQ,KAAK,IAAI,cAAc,CAAC;AAAA,EACvE,MAAM,yBAAyB,KAAK,IAAI,SAAS,KAAK,IAAI,cAAc,CAAC;AAAA,EACzE,IAAI,yBAAyB,cAAc;AAAA,EAC3C,IAAI,0BAA0B,cAAc;AAAA,EAC5C,IAAI,0BAA0B,eAAe;AAAA,EAC7C,IAAI,2BAA2B,eAAe;AAAA,EAC9C,IAAI,0BAA0B,UAAU;AAAA,IACpC,yBAAyB;AAAA,EAC7B;AAAA,EACA,IAAI,2BAA2B,UAAU;AAAA,IACrC,0BAA0B;AAAA,EAC9B;AAAA,EACA,IAAI,2BAA2B,UAAU;AAAA,IACrC,0BAA0B;AAAA,EAC9B;AAAA,EACA,IAAI,4BAA4B,UAAU;AAAA,IACtC,2BAA2B;AAAA,EAC/B;AAAA,EAIA,MAAM,qBAAqB,eAAe;AAAA,EAC1C,MAAM,oBAAoB,cAAc;AAAA,EACxC,MAAM,eAAe,KAAK,IACtB,oBACA,mBACA,wBACA,yBACA,yBACA,wBACJ;AAAA,EACA,OAAO;AAAA;AA0CJ,SAAS,+BAA+B,CAC3C,qBACA,oBAC4B;AAAA,EAC5B,IAAI,sBAAsB,WAAW;AAAA,IACjC,OAAO;AAAA,EACX;AAAA,EACA,IAAI,uBAAuB,WAAW;AAAA,IAClC,OAAO;AAAA,EACX;AAAA,EACA,IAAI,sBAAsB,UAAU;AAAA,IAChC,OAAO;AAAA,EACX;AAAA,EACA,IACI,wBAAwB,cACvB,oBAAoB,OAAO,aACxB,qBAAqB,oBAAoB,MAC/C;AAAA,IACE,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAsCJ,SAAS,uBAAuB,CACnC,YACA,aACA,cACA,gBACkB;AAAA,EAClB,MAAM,QAAQ,mBAAmB,UAAU;AAAA,EAC3C,IAAI,SAAS,WAAW;AAAA,IACpB;AAAA,EACJ;AAAA,EACA,MAAM,uBAAuB,KAAK,IAAI,QAAQ,KAAK,IAAI,cAAc,CAAC;AAAA,EACtE,MAAM,wBAAwB,KAAK,IAAI,QAAQ,KAAK,IAAI,cAAc,CAAC;AAAA,EACvE,MAAM,yBAAyB,cAAc;AAAA,EAC7C,MAAM,0BAA0B,eAAe;AAAA,EAC/C,IAAI,0BAA0B,UAAU;AAAA,IACpC,OAAO;AAAA,EACX;AAAA,EACA,MAAM,eAAe,KAAK,IACtB,cAAc,sBACd,eAAe,qBACnB;AAAA,EACA,OAAO;AAAA;AAsCJ,SAAS,wBAAwB,CACpC,YACA,aACA,cACA,gBACkB;AAAA,EAClB,MAAM,SAAS,oBAAoB,UAAU;AAAA,EAC7C,IAAI,UAAU,WAAW;AAAA,IACrB;AAAA,EACJ;AAAA,EACA,MAAM,wBAAwB,KAAK,IAAI,SAAS,KAAK,IAAI,cAAc,CAAC;AAAA,EACxE,MAAM,yBAAyB,KAAK,IAAI,SAAS,KAAK,IAAI,cAAc,CAAC;AAAA,EACzE,MAAM,0BAA0B,cAAc;AAAA,EAC9C,MAAM,2BAA2B,eAAe;AAAA,EAChD,IAAI,4BAA4B,UAAU;AAAA,IACtC,OAAO;AAAA,EACX;AAAA,EACA,MAAM,eAAe,KAAK,IACtB,yBACA,wBACJ;AAAA,EACA,OAAO;AAAA;;ACzRX,qBAAS;AAAA;AAoDF,MAAM,oBAAoB;AAAA,EACrB;AAAA,EACA,SAA4B;AAAA,EAC5B,SAAiB;AAAA,EAEjB,uBAAkD;AAAA,EAClD,qBAA6C;AAAA,EAOrD,WAAW,CAAC,WAAsB;AAAA,IAC9B,KAAK,aAAa;AAAA;AAAA,EAOtB,SAAS,GAAG;AAAA,IACR,KAAK,SAAS;AAAA;AAAA,EAOlB,QAAQ,GAAG;AAAA,IACP,KAAK,SAAS;AAAA;AAAA,EAoBlB,YAAY,CACR,qBACA,mBACI;AAAA,IACJ,KAAK,uBAAuB;AAAA,IAC5B,KAAK,qBAAqB;AAAA;AAAA,EA8B9B,MAAM,CAAC,WAAmB;AAAA,IACtB,IAAI,KAAK,WAAW,QAAQ;AAAA,MACxB;AAAA,IACJ;AAAA,IAEA,MAAM,YAAY;AAAA,MACd,GACI,KAAK,yBAAyB,SACxB,KACA,KAAK,yBAAyB,UAC5B,IACA;AAAA,MACZ,GACI,KAAK,uBAAuB,OACtB,KACA,KAAK,uBAAuB,SAC1B,IACA;AAAA,IAChB;AAAA,IAEA,MAAM,WAAW,KAAK,SAAS;AAAA,IAE/B,MAAM,cAAc,WAAS,uBACzB,WACA,QACJ;AAAA,IAEA,KAAK,WAAW,eAAe,WAAW;AAAA;AAElD;;AC/JO,IAAM,wBAAwB,CACjC,gBAC2C;AAAA,EAC3C,IAAI,YAAY,YAAY,GAAG;AAAA,IAC3B,OAAO,EAAE,YAAY,GAAG,UAAU,EAAE;AAAA,EACxC;AAAA,EAEA,MAAM,aAAa,YAAY;AAAA,EAC/B,IAAI,cAAc,WAAW;AAAA,IACzB,OAAO,EAAE,YAAY,GAAG,UAAU,EAAE;AAAA,EACxC;AAAA,EACA,MAAM,QAAQ,mBAAmB,UAAU;AAAA,EAC3C,MAAM,SAAS,oBAAoB,UAAU;AAAA,EAE7C,IAAI,cAAc;AAAA,EAClB,IAAI,eAAe;AAAA,EACnB,IAAI,SAAS,MAAW;AAAA,IACpB,cAAc,YAAY,gBAAgB,YAAY,YAAY;AAAA,EACtE;AAAA,EACA,IAAI,UAAU,MAAW;AAAA,IACrB,eACI,YAAY,iBAAiB,YAAY,YAAY;AAAA,EAC7D;AAAA,EACA,OAAO,EAAE,YAAY,aAAa,UAAU,aAAa;AAAA;AAQtD,IAAM,uBAAuB,CAChC,gBACmE;AAAA,EACnE,IAAI,YAAY,YAAY,GAAG;AAAA,IAC3B,OAAO,EAAE,YAAY,WAAW,UAAU,UAAU;AAAA,EACxD;AAAA,EAEA,IAAI,CAAC,uBAAuB,YAAY,UAAU,GAAG;AAAA,IACjD,OAAO,EAAE,YAAY,WAAW,UAAU,UAAU;AAAA,EACxD;AAAA,EAEA,IAAI,qBAAqB;AAAA,EACzB,IAAI,mBAAmB;AAAA,EAGvB,MAAM,UAAU,YAAY,+BAA+B;AAAA,IACvD,GAAG,CAAC,YAAY,gBAAgB;AAAA,IAChC,GAAG,CAAC,YAAY,iBAAiB;AAAA,EACrC,CAAC;AAAA,EACD,MAAM,cAAc,YAAY,+BAA+B;AAAA,IAC3D,GAAG,YAAY,gBAAgB;AAAA,IAC/B,GAAG,YAAY,iBAAiB;AAAA,EACpC,CAAC;AAAA,EAED,MAAM,0BAA0B,KAAK,IAAI,QAAQ,GAAG,YAAY,CAAC;AAAA,EACjE,MAAM,wBAAwB,KAAK,IAAI,QAAQ,GAAG,YAAY,CAAC;AAAA,EAE/D,sBACK,0BAA0B,YAAY,WAAW,IAAI,MACrD,YAAY,WAAW,IAAI,IAAI,YAAY,WAAW,IAAI;AAAA,EAC/D,oBACK,wBAAwB,YAAY,WAAW,IAAI,MACnD,YAAY,WAAW,IAAI,IAAI,YAAY,WAAW,IAAI;AAAA,EAE/D,OAAO,EAAE,YAAY,oBAAoB,UAAU,iBAAiB;AAAA;AAGjE,IAAM,eAAe,CACxB,WAMC;AAAA,EACD,MAAM,YAAW,qBAAqB,MAAM;AAAA,EAC5C,MAAM,YAAY,sBAAsB,MAAM;AAAA,EAE9C,MAAM,MAAM;AAAA,IACR,kBAAkB,UAAU,aAAa,OAAO;AAAA,IAChD,gBAAgB,UAAU,WAAW,OAAO;AAAA,IAC5C,YACI,UAAS,cAAc,OACjB,UAAS,aAAa,OAAO,gBAC7B;AAAA,IACV,UACI,UAAS,YAAY,OACf,UAAS,WAAW,OAAO,iBAC3B;AAAA,EACd;AAAA,EAEA,OAAO;AAAA;;AT3EJ,IAAK;AAAA,CAAL,CAAK,iBAAL;AAAA,EACH,uBAAO;AAAA,EACP,0BAAU;AAAA,EACV,2BAAW;AAAA,GAHH;AAAA;AAyEL,MAAM,YAA8B;AAAA,EACvC,QAAgB;AAAA,EAChB,SAAiB;AAAA,EACjB,WAAkB,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAC/B,YAA0C;AAAA,EAC1C,aAAiE;AAAA,IAC7D,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAC3B;AAAA,EACA,WAAoB;AAAA,EACpB,WAAuB;AAC3B;AAAA;AAEO,MAAM,uBAAyC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAW,CAAC,qBAAyC;AAAA,IACjD,KAAK,SAAS;AAAA,IACd,KAAK,UAAU;AAAA,IACf,KAAK,YAAY,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,IAC9B,KAAK,uBAAuB;AAAA;AAAA,MAG5B,UAAU,GAAuD;AAAA,IACjE,OAAO;AAAA,MACH,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,IACnB;AAAA;AAAA,EAGJ,QAAQ,GAAS;AAAA,MAEb,KAAK,CAAC,OAAe;AAAA,IACrB,KAAK,SAAS;AAAA;AAAA,MAGd,MAAM,CAAC,QAAgB;AAAA,IACvB,KAAK,UAAU;AAAA;AAAA,MAGf,QAAQ,CAAC,WAAiB;AAAA,IAC1B,KAAK,YAAY;AAAA;AAAA,MAGjB,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,MAGZ,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,MAGZ,QAAQ,GAAU;AAAA,IAClB,OAAO,KAAK;AAAA;AAAA,EAGhB,SAAS,CAAC,OAA8C;AAAA,IACpD,KAAK,qBAAqB,EAAE,MAAM,aAAa,MAAM,CAAC;AAAA;AAAA,MAGtD,QAAQ,GAAY;AAAA,IACpB,OAAO;AAAA;AAEf;AAAA;AAaO,MAAM,YAA8D;AAAA,EAC/D,SAAiB;AAAA,EACjB,UAAkB;AAAA,EAClB,YAAmB,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAW,CAAC,QAA4B;AAAA,IACpC,KAAK,gCAAgC,IAAI;AAAA,IAIzC,IAAI,QAAQ;AAAA,MACR,MAAM,eAAe,OAAO,sBAAsB;AAAA,MAClD,MAAM,WAAW,YACb,cACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,MACA,KAAK,SAAS,SAAS;AAAA,MACvB,KAAK,UAAU,SAAS;AAAA,MACxB,KAAK,YAAY,EAAE,GAAG,SAAS,MAAM,GAAG,SAAS,IAAI;AAAA,MACrD,KAAK,UAAU;AAAA,IACnB;AAAA,IAEA,KAAK,oCACD,IAAI,iCAAiC,MAAM;AAAA,IAC/C,KAAK,kCAAkC,iBAAiB,UAAQ;AAAA,MAE5D,IAAI,KAAK,WAAW,WAAW;AAAA,QAC3B,QAAQ,MACJ,mEACJ;AAAA,QACA;AAAA,MACJ;AAAA,MAEA,KAAK,SAAS,KAAK;AAAA,MACnB,KAAK,UAAU,KAAK;AAAA,MACpB,KAAK,YAAY,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,IAAI;AAAA,MAE7C,KAAK,8BAA8B,OAAO;AAAA,QACtC,OAAO,KAAK;AAAA,QACZ,QAAQ,KAAK;AAAA,QACb,UAAU,KAAK;AAAA,MACnB,CAAC;AAAA,KACJ;AAAA;AAAA,EAGL,SAAS,CACL,UACA,SACU;AAAA,IACV,OAAO,KAAK,8BAA8B,UAAU,UAAU,OAAO;AAAA;AAAA,EAGzE,MAAM,IAAI,MAAgC;AAAA,IACtC,KAAK,8BAA8B,OAAO,GAAG,IAAI;AAAA;AAAA,MAGjD,QAAQ,GAAY;AAAA,IACpB,OAAO,KAAK,YAAY;AAAA;AAAA,MAGxB,UAAU,GAAuD;AAAA,IACjE,OAAO;AAAA,MACH,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,IACnB;AAAA;AAAA,MAGA,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,EAOhB,QAAQ,CAAC,OAAe;AAAA,IACpB,IAAI,KAAK,SAAS;AAAA,MACd,KAAK,QAAQ,QAAQ,QAAQ,OAAO;AAAA,MACpC,KAAK,QAAQ,MAAM,QAAQ,QAAQ;AAAA,IACvC;AAAA;AAAA,EAGJ,cAAc,CAAC,OAAe;AAAA,IAC1B,IACI,KAAK,WACL,KAAK,QAAQ,MAAM,UAAU,MAC7B,KAAK,QAAQ,MAAM,WAAW,IAChC;AAAA,MACE,MAAM,cAAc,KAAK,SAAS,KAAK;AAAA,MACvC,KAAK,QAAQ,MAAM,cAAc,YAAY,SAAS;AAAA,IAC1D;AAAA,IACA,IAAI,KAAK,WAAW,KAAK,QAAQ,MAAM,UAAU,IAAI;AAAA,MACjD,KAAK,QAAQ,QAAQ,QAAQ,OAAO;AAAA,IACxC,EAAO;AAAA,MACH,KAAK,SAAS,KAAK;AAAA;AAAA;AAAA,EAQ3B,SAAS,CAAC,QAAgB;AAAA,IACtB,IAAI,KAAK,SAAS;AAAA,MACd,KAAK,QAAQ,SAAS,SAAS,OAAO;AAAA,MACtC,KAAK,QAAQ,MAAM,SAAS,SAAS;AAAA,IACzC;AAAA;AAAA,EAGJ,eAAe,CAAC,QAAgB;AAAA,IAC5B,IACI,KAAK,WACL,KAAK,QAAQ,MAAM,UAAU,MAC7B,KAAK,QAAQ,MAAM,WAAW,IAChC;AAAA,MACE,MAAM,cAAc,KAAK,SAAS,KAAK;AAAA,MACvC,KAAK,QAAQ,MAAM,cAAc,YAAY,SAAS;AAAA,IAC1D;AAAA,IACA,IAAI,KAAK,WAAW,KAAK,QAAQ,MAAM,WAAW,IAAI;AAAA,MAClD,KAAK,QAAQ,SAAS,SAAS,OAAO;AAAA,IAC1C,EAAO;AAAA,MACH,KAAK,UAAU,MAAM;AAAA;AAAA;AAAA,MAIzB,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,MAGZ,QAAQ,GAAU;AAAA,IAClB,OAAO,KAAK;AAAA;AAAA,EAGhB,SAAS,CAAC,OAA8C;AAAA,IACpD,IAAI,KAAK,SAAS;AAAA,MACd,KAAK,QAAQ,MAAM,SAAS;AAAA,IAChC;AAAA;AAAA,EAGJ,QAAQ,GAAS;AAAA,IACb,KAAK,kCAAkC,QAAQ;AAAA,IAC/C,KAAK,UAAU;AAAA,IACf,KAAK,SAAS;AAAA,IACd,KAAK,UAAU;AAAA,IACf,KAAK,YAAY,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA;AAAA,EAGlC,MAAM,CAAC,QAA2B;AAAA,IAC9B,KAAK,UAAU;AAAA,IACf,KAAK,kCAAkC,OAAO,MAAM;AAAA;AAAA,EAGxD,iBAAiB,GAAG;AAAA,IAChB,IAAI,KAAK,YAAY,WAAW;AAAA,MAC5B;AAAA,IACJ;AAAA,IACA,QAAQ,IAAI,kBAAkB;AAAA,IAC9B,QAAQ,IAAI,eAAe,KAAK,QAAQ,MAAM,KAAK;AAAA,IACnD,QAAQ,IAAI,gBAAgB,KAAK,QAAQ,MAAM,MAAM;AAAA,IACrD,QAAQ,IAAI,SAAS,KAAK,QAAQ,KAAK;AAAA,IACvC,QAAQ,IAAI,UAAU,KAAK,QAAQ,MAAM;AAAA,IACzC,QAAQ,IAAI,eAAe,KAAK,MAAM;AAAA,IACtC,QAAQ,IAAI,gBAAgB,KAAK,OAAO;AAAA;AAEhD;AAAA;AAEO,MAAM,SAA2D;AAAA,EAC5D,SAAiB;AAAA,EACjB,UAAkB;AAAA,EAClB,YAAmB,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAW,CAAC,KAAqB;AAAA,IAC7B,KAAK,gCAAgC,IAAI;AAAA,IAIzC,IAAI,KAAK;AAAA,MACL,MAAM,eAAe,IAAI,sBAAsB;AAAA,MAC/C,MAAM,WAAW,YACb,cACA,OAAO,iBAAiB,GAAG,CAC/B;AAAA,MACA,KAAK,SAAS,SAAS;AAAA,MACvB,KAAK,UAAU,SAAS;AAAA,MACxB,KAAK,YAAY,EAAE,GAAG,SAAS,MAAM,GAAG,SAAS,IAAI;AAAA,MACrD,KAAK,OAAO;AAAA,IAChB;AAAA,IAEA,KAAK,iCAAiC,IAAI,8BACtC,GACJ;AAAA,IACA,KAAK,+BAA+B,iBAAiB,UAAQ;AAAA,MAEzD,IAAI,KAAK,QAAQ,WAAW;AAAA,QACxB,QAAQ,MACJ,mEACJ;AAAA,QACA;AAAA,MACJ;AAAA,MAEA,KAAK,SAAS,KAAK;AAAA,MACnB,KAAK,UAAU,KAAK;AAAA,MACpB,KAAK,YAAY,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,IAAI;AAAA,MAE7C,KAAK,8BAA8B,OAAO;AAAA,QACtC,OAAO,KAAK;AAAA,QACZ,QAAQ,KAAK;AAAA,QACb,UAAU,KAAK;AAAA,MACnB,CAAC;AAAA,KACJ;AAAA;AAAA,EAGL,SAAS,CACL,UACA,SACU;AAAA,IACV,OAAO,KAAK,8BAA8B,UAAU,UAAU,OAAO;AAAA;AAAA,EAGzE,MAAM,IAAI,MAAgC;AAAA,IACtC,KAAK,8BAA8B,OAAO,GAAG,IAAI;AAAA;AAAA,MAGjD,QAAQ,GAAY;AAAA,IACpB,OAAO,KAAK,SAAS;AAAA;AAAA,MAGrB,UAAU,GAAuD;AAAA,IACjE,OAAO;AAAA,MACH,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,IACnB;AAAA;AAAA,MAGA,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,EAOhB,QAAQ,CAAC,OAAe;AAAA,IACpB,IAAI,KAAK,MAAM;AAAA,MACX,KAAK,KAAK,MAAM,QAAQ,QAAQ;AAAA,IACpC;AAAA;AAAA,EAOJ,SAAS,CAAC,QAAgB;AAAA,IACtB,IAAI,KAAK,MAAM;AAAA,MACX,KAAK,KAAK,MAAM,SAAS,SAAS;AAAA,IACtC;AAAA;AAAA,MAGA,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,MAGZ,QAAQ,GAAU;AAAA,IAClB,OAAO,KAAK;AAAA;AAAA,EAGhB,SAAS,CAAC,OAA8C;AAAA,IACpD,IAAI,KAAK,MAAM;AAAA,MACX,KAAK,KAAK,MAAM,SAAS;AAAA,IAC7B;AAAA;AAAA,EAGJ,QAAQ,GAAS;AAAA,IACb,KAAK,+BAA+B,QAAQ;AAAA,IAC5C,KAAK,OAAO;AAAA,IACZ,KAAK,SAAS;AAAA,IACd,KAAK,UAAU;AAAA,IACf,KAAK,YAAY,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA;AAAA,EAGlC,MAAM,CAAC,KAAoB;AAAA,IACvB,KAAK,+BAA+B,OAAO,GAAG;AAAA,IAC9C,KAAK,OAAO;AAAA,IACZ,MAAM,eAAe,IAAI,sBAAsB;AAAA,IAC/C,MAAM,WAAW,YACb,cACA,OAAO,iBAAiB,GAAG,CAC/B;AAAA,IACA,KAAK,KAAK,MAAM,QAAQ,SAAS,QAAQ;AAAA,IACzC,KAAK,KAAK,MAAM,SAAS,SAAS,SAAS;AAAA,IAC3C,KAAK,SAAS,SAAS;AAAA,IACvB,KAAK,UAAU,SAAS;AAAA,IACxB,KAAK,YAAY,EAAE,GAAG,SAAS,MAAM,GAAG,SAAS,IAAI;AAAA,IACrD,KAAK,8BAA8B,OAAO;AAAA,MACtC,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,IACnB,CAAC;AAAA;AAAA,EAGL,iBAAiB,GAAG;AAAA,IAChB,IAAI,KAAK,SAAS,WAAW;AAAA,MACzB;AAAA,IACJ;AAAA,IACA,QAAQ,IAAI,kBAAkB;AAAA,IAC9B,QAAQ,IAAI,eAAe,KAAK,KAAK,MAAM,KAAK;AAAA,IAChD,QAAQ,IAAI,gBAAgB,KAAK,KAAK,MAAM,MAAM;AAAA,IAClD,QAAQ,IAAI,SAAS,KAAK,KAAK,KAAK;AAAA,IACpC,QAAQ,IAAI,UAAU,KAAK,KAAK,MAAM;AAAA,IACtC,QAAQ,IAAI,eAAe,KAAK,MAAM;AAAA,IACtC,QAAQ,IAAI,gBAAgB,KAAK,OAAO;AAAA;AAEhD;AAAA;AAQO,MAAM,kBAAoC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAW,CACP,QACA,WACA,yBACF;AAAA,IACE,MAAM,eAAe,OAAO,sBAAsB;AAAA,IAClD,KAAK,UAAU;AAAA,IACf,KAAK,aAAa;AAAA,IAClB,MAAM,WAAW,YACb,cACA,OAAO,iBAAiB,MAAM,CAClC;AAAA,IACA,KAAK,SAAS,SAAS;AAAA,IACvB,KAAK,UAAU,SAAS;AAAA,IACxB,KAAK,YAAY,EAAE,GAAG,SAAS,MAAM,GAAG,SAAS,IAAI;AAAA,IACrD,KAAK,WAAW,YAAY;AAAA,MACxB,MAAM;AAAA,MACN,OAAO,aAAa;AAAA,MACpB,QAAQ,aAAa;AAAA,MACrB,UAAU,EAAE,GAAG,aAAa,MAAM,GAAG,aAAa,IAAI;AAAA,IAC1D,CAAC;AAAA,IACD,wBAAwB,iBAAiB,UAAQ;AAAA,MAC7C,KAAK,SAAS,KAAK;AAAA,MACnB,KAAK,UAAU,KAAK;AAAA,MACpB,KAAK,YAAY,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,IAAI;AAAA,MAC7C,KAAK,WAAW,YAAY;AAAA,QACxB,MAAM;AAAA,QACN,OAAO,KAAK;AAAA,QACZ,QAAQ,KAAK;AAAA,QACb,UAAU,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,IAAI;AAAA,MAC1C,CAAC;AAAA,KACJ;AAAA,IACD,KAAK,2BAA2B;AAAA;AAAA,MAGhC,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK;AAAA;AAAA,MAGZ,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,EAGhB,QAAQ,GAAS;AAAA,IACb,KAAK,yBAAyB,QAAQ;AAAA;AAAA,MAGtC,QAAQ,GAAU;AAAA,IAClB,OAAO,KAAK;AAAA;AAAA,MAGZ,UAAU,GAAuD;AAAA,IACjE,OAAO;AAAA,MACH,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,IACnB;AAAA;AAAA,MAGA,QAAQ,GAAY;AAAA,IACpB,OAAO;AAAA;AAAA,EAGX,SAAS,CAAC,OAA8C;AAAA,IACpD,KAAK,QAAQ,MAAM,SAAS;AAAA;AAEpC;AAAA;AAiEO,MAAM,qBAAgD;AAAA,EAClD,wBAAiC;AAAA,EACjC,SAAiB,IAAI;AAAA,EACrB,wBAA+B,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,EAEnD,WAAW,GAAG;AAAA,EAEd,8BAA0C;AAAA,EAC1C,+BAA2C;AAAA,EAC3C,oBAA+C;AAAA,EAE/C,wBAAwB,CAAC,WAAuB;AAAA,EAEhD,OAAO,GAAS;AAAA,EAEhB,KAAK,GAAS;AAAA,MAEV,qBAAqB,GAAW;AAAA,IAChC,OAAO;AAAA;AAAA,EAGX,6BAA6B,GAAS;AAAA,EAEtC,wBAAwB,GAAS;AAAA,EAEjC,OAAO,CAAC,MAAwC;AAAA,MAE5C,IAAI,GAA+B;AAAA,IACnC,OAAO;AAAA;AAAA,EAGX,mBAAmB,GAAS;AAChC;AAAA;AAsCO,MAAM,uBAAkD;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAqB;AAAA,EAE7B,WAAW,CAAC,gBAAwB;AAAA,IAChC,KAAK,yBAAyB;AAAA,IAC9B,KAAK,kBAAkB;AAAA,IACvB,KAAK,yBAAyB,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,IAC3C,KAAK,yBAAyB;AAAA,IAC9B,KAAK,QAAQ;AAAA;AAAA,MAGb,IAAI,GAA+B;AAAA,IACnC,OAAO,KAAK;AAAA;AAAA,EAGhB,OAAO,CAAC,MAAwC;AAAA,IAC5C,KAAK,YAAY;AAAA,IACjB,KAAK,QAAQ;AAAA;AAAA,EAGjB,wBAAwB,GAAS;AAAA,IAC7B,KAAK,YAAY;AAAA,IACjB,KAAK,yBAAyB;AAAA;AAAA,MAG9B,qBAAqB,GAAW;AAAA,IAChC,OAAO,KAAK;AAAA;AAAA,EAGhB,6BAA6B,GAAS;AAAA,IAClC,IAAI,CAAC,KAAK,WAAW;AAAA,MACjB;AAAA,IACJ;AAAA,IACA,KAAK;AAAA,IACL,IAAI,KAAK,yBAAyB,IAAI;AAAA,MAClC,KAAK,yBAAyB;AAAA,IAElC;AAAA;AAAA,EAGJ,wBAAwB,GAAS;AAAA,IAC7B,IAAI,CAAC,KAAK,WAAW;AAAA,MACjB;AAAA,IACJ;AAAA,IACA,KAAK;AAAA,IACL,IAAI,KAAK,yBAAyB,GAAG;AAAA,MACjC,KAAK,yBAAyB;AAAA,IAElC;AAAA;AAAA,MAGA,qBAAqB,GAAY;AAAA,IACjC,OAAO,KAAK;AAAA;AAAA,MAGZ,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,MAGZ,qBAAqB,GAAU;AAAA,IAC/B,OAAO,KAAK;AAAA;AAAA,MAGZ,qBAAqB,CAAC,OAAgB;AAAA,IACtC,KAAK,yBAAyB;AAAA;AAAA,EAGlC,mBAAmB,GAAS;AAAA,IACxB,KAAK,yBAAyB,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA;AAAA,EAG/C,wBAAwB,CAAC,WAAuB;AAAA,IAC5C,KAAK,yBAAyB;AAAA;AAAA,EAGlC,OAAO,GAAS;AAAA,EAEhB,KAAK,GAAS;AAClB;;AU5rBO,MAAM,kBAA0C;AAAA,EAC3C,kBAA4C,IAAI;AAAA,EAIhD;AAAA,EACA;AAAA,EAER,WAAW,CAAC,QAAgB;AAAA,IACxB,KAAK,UAAU;AAAA,IACf,KAAK,yBAAyB;AAAA;AAAA,EAGlC,cAAc,CAAC,QAA6B;AAAA,IACxC,OAAO,QAAQ,WAAS;AAAA,MACpB,KAAK,gBAAgB,IAAI,MAAM,OAAO,KAAK,MAAM,CAAC;AAAA,KACrD;AAAA;AAAA,EAGL,iBAAiB,CAAC,aAA6B;AAAA,IAC3C,YAAY,QAAQ,WAAS;AAAA,MACzB,IAAI,KAAK,gBAAgB,IAAI,KAAK,GAAG;AAAA,QACjC,KAAK,gBAAgB,OAAO,KAAK;AAAA,MACrC;AAAA,KACH;AAAA;AAAA,EAGL,0BAA0B,GAAW;AAAA,IACjC,OAAO,KAAK,gBAAgB;AAAA;AAAA,EAGhC,8BAA8B,CAAC,QAAiC;AAAA,IAC5D,MAAM,MAAqB,CAAC;AAAA,IAC5B,OAAO,QAAQ,WAAS;AAAA,MACpB,IAAI,KAAK,gBAAgB,IAAI,KAAK,GAAG;AAAA,QACjC,MAAM,QAAQ,KAAK,gBAAgB,IAAI,KAAK;AAAA,QAC5C,IAAI,OAAO;AAAA,UACP,IAAI,KAAK,KAAK;AAAA,QAClB;AAAA,MACJ;AAAA,KACH;AAAA,IACD,OAAO;AAAA;AAAA,EAGX,iBAAiB,CAAC,aAAkC;AAAA,IAChD,YAAY,QAAQ,WAAS;AAAA,MACzB,IAAI,KAAK,gBAAgB,IAAI,MAAM,KAAK,GAAG;AAAA,QACvC,KAAK,gBAAgB,IAAI,MAAM,OAAO,KAAK,MAAM,CAAC;AAAA,MACtD;AAAA,KACH;AAAA;AAAA,MAGD,qBAAqB,GAAY;AAAA,IACjC,OAAO,KAAK;AAAA;AAAA,MAGZ,qBAAqB,CAAC,OAAgB;AAAA,IACtC,KAAK,yBAAyB;AAAA;AAAA,MAG9B,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,EAGhB,OAAO,GAAS;AAAA,EAEhB,KAAK,GAAS;AAClB;;ACrKA;AAAA,mBAII;AAAA,0BACA;AAAA;AAEJ,qBAAS;AAAA;AAqGF,MAAM,kBAAkB,eAK7B;AAAA,EACY,kBAKN;AAAA,IACA,YAAY;AAAA,MACR,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,UAAU;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEU,UAAmD;AAAA,IACzD,mBAAmB,CAAC,YAA0B;AAAA,MAC1C,OAAO,QAAQ,2BAA2B,MAAM;AAAA,OACjD,KAAK,IAAI;AAAA,EAChB;AAAA,EAEU,eAON;AAAA,IACA,YAAY;AAAA,MACR;AAAA,QACI,OAAO;AAAA,QACP,QAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,MACN;AAAA,QACI,OAAO;AAAA,QACP,QAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,SAAuB,SAAkC;AAAA,IAChE,QAAQ,eAAe,QAAQ,MAAM;AAAA;AAAA,EAGzC,QAAQ,CAAC,SAAuB,SAAkC;AAAA,IAC9D,QAAQ,kBAAkB,QAAQ,OAAO,IAAI,OAAK,EAAE,KAAK,CAAC;AAAA;AAElE;AAAA;AAOO,MAAM,qBAAqB,eAKhC;AAAA,EACY,kBAKN;AAAA,IACA,YAAY;AAAA,MACR,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,UAAU;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,WAAW;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,UAAU,CAAC,SAAuB,SAAkC;AAAA,IAChE,QAAQ,eAAe,QAAQ,MAAM;AAAA;AAAA,EAGzC,QAAQ,CAAC,SAAuB,SAAkC;AAAA,IAC9D,QAAQ,kBAAkB,QAAQ,OAAO,IAAI,OAAK,EAAE,KAAK,CAAC;AAAA;AAAA,EAG9D,SAAS,CACL,SACA,SACgB;AAAA,IAChB,MAAM,SAAS,QAAQ,OAAO,IAAI,OAAK,EAAE,KAAK;AAAA,IAC9C,MAAM,mBAAmB,QAAQ,+BAA+B,MAAM;AAAA,IACtE,MAAM,mBAAmB,QAAQ;AAAA,IACjC,MAAM,6BAA6B,WAAS,sBACxC,iBAAiB,IACjB,iBAAiB,EACrB;AAAA,IACA,MAAM,6BAA6B,WAAS,sBACxC,iBAAiB,IACjB,iBAAiB,EACrB;AAAA,IACA,MAAM,WAAW,WAAS,oBACtB,iBAAiB,IACjB,iBAAiB,IACjB,GACJ;AAAA,IACA,MAAM,kBAAkB,WAAS,oBAC7B,iBAAiB,IACjB,iBAAiB,IACjB,GACJ;AAAA,IACA,MAAM,gBAAgB,WAAS,UAAU,UAAU,eAAe;AAAA,IAClE,MAAM,uBAAuB;AAAA,MACzB,GAAG,QAAQ,OAAO,SAAS,IAAI,QAAQ,OAAO,QAAQ;AAAA,MACtD,GAAG,QAAQ,OAAO,SAAS,IAAI,QAAQ,OAAO,SAAS;AAAA,IAC3D;AAAA,IACA,MAAM,qBAAqB,WAAS,UAChC,UACA,oBACJ;AAAA,IACA,IAAI,UACA,KAAK,IAAI,6BAA6B,0BAA0B,IAChE,WAAS,sBAAsB,UAAU,eAAe,IAClD,YACA;AAAA,IAEV,QAAQ,kBAAkB,gBAAgB;AAAA,IAC1C,QAAQ;AAAA,WACC;AAAA,QACD,OAAO;AAAA,UACH,MAAM;AAAA,UACN,QACK,6BACG,8BACJ;AAAA,UACJ,uBAAuB;AAAA,QAC3B;AAAA,WACC;AAAA,QACD,OAAO;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,QACX;AAAA;AAAA,QAEA,QAAQ,KAAK,yBAAyB,OAAO;AAAA,QAC7C,OAAO,EAAE,MAAM,OAAO;AAAA;AAAA;AAGtC;AAAA;AAOO,MAAM,wBAAwB,eAKnC;AAAA,EACY,kBAKN;AAAA,IACA,WAAW;AAAA,MACP,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,UAAU;AAAA,MACN,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,YAAY;AAAA,MACR,QAAQ,MAAM;AAAA,MACd,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEA,SAAS,CACL,SACA,SACgB;AAAA,IAChB,MAAM,SAAS,QAAQ,OAAO,IAAI,OAAK,EAAE,KAAK;AAAA,IAC9C,MAAM,mBAAmB,QAAQ,+BAA+B,MAAM;AAAA,IACtE,MAAM,mBAAmB,QAAQ;AAAA,IACjC,MAAM,6BAA6B,WAAS,sBACxC,iBAAiB,IACjB,iBAAiB,EACrB;AAAA,IACA,MAAM,6BAA6B,WAAS,sBACxC,iBAAiB,IACjB,iBAAiB,EACrB;AAAA,IACA,MAAM,WAAW,WAAS,oBACtB,iBAAiB,IACjB,iBAAiB,IACjB,GACJ;AAAA,IACA,MAAM,kBAAkB,WAAS,oBAC7B,iBAAiB,IACjB,iBAAiB,IACjB,GACJ;AAAA,IACA,MAAM,gBAAgB,WAAS,UAAU,UAAU,eAAe;AAAA,IAClE,MAAM,uBAAuB;AAAA,MACzB,GAAG,QAAQ,OAAO,SAAS,IAAI,QAAQ,OAAO,QAAQ;AAAA,MACtD,GAAG,QAAQ,OAAO,SAAS,IAAI,QAAQ,OAAO,SAAS;AAAA,IAC3D;AAAA,IACA,MAAM,qBAAqB,WAAS,UAChC,UACA,oBACJ;AAAA,IACA,IAAI,UACA,KAAK,IAAI,6BAA6B,0BAA0B,IAChE,WAAS,sBAAsB,UAAU,eAAe,IAClD,YACA;AAAA,IAEV,QAAQ,kBAAkB,gBAAgB;AAAA,IAC1C,QAAQ;AAAA,WACC;AAAA,QACD,IAAI,CAAC,QAAQ,uBAAuB;AAAA,UAChC,mBAAmB,IAAI,CAAC,mBAAmB;AAAA,QAC/C;AAAA,QACA,OAAO;AAAA,UACH,MAAM;AAAA,UACN,OACI,EACI,6BACA,8BACA;AAAA,UACR,uBAAuB;AAAA,QAC3B;AAAA,WACC;AAAA,QACD,IAAI,CAAC,QAAQ,uBAAuB;AAAA,UAChC,cAAc,IAAI,CAAC,cAAc;AAAA,QACrC;AAAA,QACA,OAAO;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,QACX;AAAA;AAAA,QAEA,QAAQ,KAAK,yBAAyB,OAAO;AAAA,QAC7C,OAAO,EAAE,MAAM,OAAO;AAAA;AAAA;AAAA,EAIlC,QAAQ,CAAC,SAAuB,SAAkC;AAAA,IAC9D,QAAQ,kBAAkB,QAAQ,OAAO,IAAI,OAAK,EAAE,KAAK,CAAC;AAAA;AAElE;AA6DO,SAAS,4BAA4B,CACxC,SACsB;AAAA,EACtB,OAAO,IAAI,sBAMP;AAAA,IACI,MAAM,IAAI;AAAA,IACV,SAAS,IAAI;AAAA,IACb,aAAa,IAAI;AAAA,EACrB,GACA,QACA,OACJ;AAAA;;ACjcJ;AAAA,WAOI;AAAA,mBACA;AAAA,0BACA;AAAA;AA+NG,MAAM,qBAAqB,eAKhC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,UAA4C;AAAA,IAClD,QAAQ,MAAM;AAAA,EAClB;AAAA,EAEU,eAON,CAAC;AAAA,EAGL,YAAY,CACR,SACA,YACiB;AAAA,IACjB,MAAM,QAAQ,KAAK,QAAQ;AAAA,IAC3B,IAAI,CAAC,QAAQ,uBAAuB;AAAA,MAChC,MAAM,SAAS,CAAC,MAAM;AAAA,IAC1B;AAAA,IACA,OAAO;AAAA,MACH,MAAM;AAAA,MACN,OAAO,EAAE,GAAG,MAAM,QAAQ,GAAG,MAAM,OAAO;AAAA,IAC9C;AAAA;AAAA,EAGJ,aAAa,CACT,SACA,YACiB;AAAA,IACjB,IAAI,oBAAoB;AAAA,IACxB,IAAI,KAAK,IAAI,QAAQ,MAAM,IAAI,KAAK;AAAA,MAChC,oBAAoB;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,QAAQ,SAAS;AAAA,IACpC,MAAM,iBAAiB,EAAE,GAAG,QAAQ,GAAG,GAAG,QAAQ,EAAE;AAAA,IACpD,MAAM,wBACF,6CACI,gBACA,QAAQ,QACR,EAAE,GAAG,QAAQ,OAAO,QAAQ,GAAG,GAAG,QAAQ,OAAO,SAAS,EAAE,GAC5D,CAAC,QAAQ,qBACb;AAAA,IACJ,OAAO;AAAA,MACH,MAAM;AAAA,MACN,OAAO,EAAE,aAAa;AAAA,MACtB;AAAA,IACJ;AAAA;AAAA,EAGJ,gBAAgB,CACZ,SACA,YACiB;AAAA,IACjB,IAAI,QAAQ,WAAW,KAAK,QAAQ,WAAW,GAAG;AAAA,MAC9C,QAAQ,yBAAyB;AAAA,IACrC,EAAO,SAAI,QAAQ,WAAW,KAAK,QAAQ,WAAW,GAAG;AAAA,MACrD,QAAQ,8BAA8B;AAAA,IAC1C;AAAA,IACA,IAAI,QAAQ,SAAS,OAAO;AAAA,MACxB,OAAO,KAAK,WAAW,SAAS,OAAO;AAAA,IAC3C,EAAO;AAAA,MACH,OAAO,KAAK,UAAU,SAAS,OAAO;AAAA;AAAA;AAAA,EAI9C,wBAAwB,CACpB,SACA,YACiB;AAAA,IACjB,OAAO,KAAK,WAAW,SAAS,OAAO;AAAA;AAAA,EAGjC,kBAKN;AAAA,IACI,cAAc;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,QAAQ;AAAA,MACJ,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,gBAAgB;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,SAAS;AAAA,MACL,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEJ,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,iCAA6B;AAAA;AAAA,EAGhD,mBAAmB,CACf,SACA,SACM;AAAA,IAEN,OAAO;AAAA;AAAA,EAGX,wBAAwB,CACpB,SACA,SACI;AAAA,IAEJ,QAAQ,yBAAyB;AAAA,IACjC,IAAI,QAAQ,SAAS,OAAO;AAAA,MACxB,QAAQ,QAAQ,KAAK;AAAA,IACzB;AAAA,IACA,QAAQ,yBAAyB,EAAE,GAAG,QAAQ,GAAG,GAAG,QAAQ,EAAE,CAAC;AAAA;AAEvE;AAAA;AAEO,MAAM,sBAAsB,eAKjC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGV,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,iCAA6B;AAAA;AAAA,EAIhD,UAAU,CAAC,SAAgC;AAAA,EAIjC,kBAKN;AAAA,IACI,QAAQ;AAAA,MACJ,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,EACJ;AACR;AAAA;AAOO,MAAM,mCAAmC,eAK9C;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACI,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,MACb,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,SAAS;AAAA,MACL,QAAQ,aAAW,QAAQ,oBAAoB;AAAA,MAC/C,oBAAoB;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,MACb,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEJ,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,2BAA0B;AAAA;AAAA,EAG7C,sBAAsB,CAClB,SACA,SACI;AAAA,IACJ,QAAQ,yBAAyB,EAAE,GAAG,QAAQ,GAAG,GAAG,QAAQ,EAAE,CAAC;AAAA;AAEvE;AAAA;AAOO,MAAM,wBAAwB,eAKnC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACI,eAAe;AAAA,MACX,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,MACb,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,YAAY;AAAA,MACR,QAAQ,MAAM;AAAA,MACd,oBAAoB;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEJ,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,mCAA8B;AAAA;AAAA,EAGjD,sBAAsB,CAClB,SACA,SACc;AAAA,IACd,MAAM,QAAQ;AAAA,MACV,GAAG,QAAQ,sBAAsB,IAAI,QAAQ;AAAA,MAC7C,GAAG,QAAQ,sBAAsB,IAAI,QAAQ;AAAA,IACjD;AAAA,IACA,IAAI,CAAC,QAAQ,uBAAuB;AAAA,MAChC,MAAM,IAAI,CAAC,MAAM;AAAA,IACrB;AAAA,IACA,QAAQ,yBAAyB,EAAE,GAAG,QAAQ,GAAG,GAAG,QAAQ,EAAE,CAAC;AAAA,IAC/D,OAAO;AAAA,MACH,MAAM;AAAA,MACN;AAAA,IACJ;AAAA;AAER;AAAA;AAOO,MAAM,sCAAsC,eAKjD;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACI,iBAAiB;AAAA,MACb,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEJ,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,mCAA8B;AAAA;AAErD;AAAA;AAOO,MAAM,iBAAiB,eAK5B;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAAA,EAGA,kBAKN;AAAA,IACI,eAAe;AAAA,MACX,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,MACb,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,IACA,YAAY;AAAA,MACR,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEJ,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,mCAA8B;AAAA;AAAA,EAGjD,UAAU,CAAC,SAAgC;AAAA,IACvC,QAAQ,OAAO,iCAA6B;AAAA;AAAA,EAGhD,sBAAsB,CAClB,SACA,SACc;AAAA,IACd,MAAM,QAAQ;AAAA,MACV,GAAG,QAAQ,sBAAsB,IAAI,QAAQ;AAAA,MAC7C,GAAG,QAAQ,sBAAsB,IAAI,QAAQ;AAAA,IACjD;AAAA,IACA,IAAI,CAAC,QAAQ,uBAAuB;AAAA,MAChC,MAAM,IAAI,CAAC,MAAM;AAAA,IACrB;AAAA,IACA,QAAQ,yBAAyB,EAAE,GAAG,QAAQ,GAAG,GAAG,QAAQ,EAAE,CAAC;AAAA,IAC/D,OAAO;AAAA,MACH,MAAM;AAAA,MACN;AAAA,IACJ;AAAA;AAER;AAAA;AAOO,MAAM,+BAA+B,eAK1C;AAAA,EACY,kBAKN;AAAA,IACI,iBAAiB;AAAA,MACb,QAAQ;AAAA,MACR,oBAAoB;AAAA,IACxB;AAAA,IACA,mBAAmB;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,oBAAoB;AAAA,IACxB;AAAA,EACJ;AAAA,EAEJ,wBAAwB,CACpB,SACA,SACc;AAAA,IACd,MAAM,QAAQ;AAAA,MACV,GAAG,QAAQ,sBAAsB,IAAI,QAAQ;AAAA,MAC7C,GAAG,QAAQ,sBAAsB,IAAI,QAAQ;AAAA,IACjD;AAAA,IACA,IAAI,CAAC,QAAQ,uBAAuB;AAAA,MAChC,MAAM,IAAI,CAAC,MAAM;AAAA,IACrB;AAAA,IACA,QAAQ,yBAAyB,EAAE,GAAG,QAAQ,GAAG,GAAG,QAAQ,EAAE,CAAC;AAAA,IAC/D,OAAO;AAAA,MACH,MAAM;AAAA,MACN;AAAA,IACJ;AAAA;AAAA,EAGJ,SAAS,CAAC,SAAgC;AAAA,IACtC,QAAQ,OAAO,mCAA8B;AAAA;AAErD;AAAA;AAEO,MAAM,sBAAsB,eAKjC;AAAA,EACE,WAAW,GAAG;AAAA,IACV,MAAM;AAAA;AAEd;AA4DO,SAAS,0BAA0B,CACtC,SACoB;AAAA,EACpB,MAAM,SAAS;AAAA,IACX,MAAM,IAAI;AAAA,IACV,2BAA2B,IAAI;AAAA,IAC/B,aAAa,IAAI;AAAA,IACjB,KAAK,IAAI;AAAA,IACT,+BAA+B,IAAI;AAAA,IACnC,sBAAsB,IAAI;AAAA,IAC1B,UAAU,IAAI;AAAA,EAClB;AAAA,EACA,OAAO,IAAI,sBAKT,QAAQ,QAAQ,OAAO;AAAA;AAGtB,SAAS,oCAAoC,CAChD,QACoB;AAAA,EACpB,MAAM,UAAU,IAAI,uBAAuB,MAAM;AAAA,EAEjD,OAAO,2BAA2B,OAAO;AAAA;AAAA;AAGtC,MAAM,2CAA2C,sBAKtD;AAAA,EACU;AAAA,EAER,WAAW,CAAC,WAAmB;AAAA,IAC3B,MACI;AAAA,MACI,MAAM,IAAI;AAAA,MACV,2BAA2B,IAAI;AAAA,MAC/B,aAAa,IAAI;AAAA,MACjB,KAAK,IAAI;AAAA,MACT,+BAA+B,IAAI;AAAA,MACnC,sBAAsB,IAAI;AAAA,MAC1B,UAAU,IAAI;AAAA,IAClB,GACA,QACA,IAAI,oBACR;AAAA,IACA,KAAK,aAAa;AAAA;AAAA,EAGtB,OAAO,IACA,MAIwB;AAAA,IAC3B,KAAK,WAAW,YAAY;AAAA,MACxB,MAAM;AAAA,MACN,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAClB,CAAC;AAAA,IACD,OAAO,EAAE,SAAS,MAAM,WAAW,OAAO;AAAA;AAElD;;ACznBO,MAAM,sBAAgD;AAAA,EACjD,YAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACE;AAAA,EAEV,WAAW,CACP,sBACA,cACA,QACF;AAAA,IACE,KAAK,UAAU;AAAA,IACf,KAAK,cAAc;AAAA,IACnB,KAAK,mBAAmB,IAAI;AAAA,IAC5B,KAAK,gBAAgB;AAAA,IACrB,KAAK,gBAAgB;AAAA,IACrB,KAAK,mBAAmB,IAAI;AAAA;AAAA,MAG5B,QAAQ,GAAY;AAAA,IACpB,OAAO,KAAK;AAAA;AAAA,EAGhB,OAAO,GAAS;AAAA,IACZ,KAAK,YAAY;AAAA;AAAA,EAGrB,MAAM,GAAS;AAAA,IACX,KAAK,YAAY;AAAA;AAAA,EAGrB,iBAAiB,CAAC,QAAqB;AAAA,IACnC,IAAI,KAAK,WAAW,WAAW;AAAA,MAC3B;AAAA,IACJ;AAAA,IACA,KAAK,QAAQ,iBACT,eACA,KAAK,oBACL,EAAE,OAAO,CACb;AAAA,IACA,KAAK,QAAQ,iBACT,aACA,KAAK,kBACL,EAAE,OAAO,CACb;AAAA,IACA,KAAK,QAAQ,iBACT,eACA,KAAK,oBACL,EAAE,OAAO,CACb;AAAA,IACA,KAAK,QAAQ,iBACT,SACA,KAAK,eACL,EAAE,OAAO,CACb;AAAA,IACA,OAAO,iBAAiB,WAAW,KAAK,iBAAiB,EAAE,OAAO,CAAC;AAAA,IACnE,OAAO,iBAAiB,SAAS,KAAK,cAAc,EAAE,OAAO,CAAC;AAAA;AAAA,EAGlE,KAAK,GAAS;AAAA,IACV,IAAI,KAAK,iBAAiB,OAAO,SAAS;AAAA,MACtC,KAAK,mBAAmB,IAAI;AAAA,IAChC;AAAA,IACA,KAAK,kBAAkB,KAAK,iBAAiB,MAAM;AAAA;AAAA,EAGvD,QAAQ,GAAS;AAAA,IACb,KAAK,iBAAiB,MAAM;AAAA,IAC5B,KAAK,mBAAmB,IAAI;AAAA,IAC5B,KAAK,UAAU;AAAA;AAAA,EAGnB,aAAa,GAAS;AAAA,IAClB,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAAA,IAC3D,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AAAA,IACvD,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAAA,IAC3D,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AAAA,IACjD,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AAAA,IACrD,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAAA;AAAA,EAGzC,YAAkD,IACrD,MACC;AAAA,IACJ,MAAM,SAAS,KAAK,cAAc,QAAQ,GAAG,IAAI;AAAA,IACjD,IACI,OAAO,WACP,YAAY,UACZ,OAAO,WAAW,WACpB;AAAA,MACE,KAAK,cAAc,wBAAwB,OAAO,MAAM;AAAA,IAC5D;AAAA;AAAA,EAGJ,kBAAkB,CAAC,GAAiB;AAAA,IAChC,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IACA,IAAI,EAAE,WAAW,KAAK,EAAE,gBAAgB,SAAS;AAAA,MAC7C,KAAK,aAAa,mBAAmB;AAAA,QACjC,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACJ;AAAA,IACA,IAAI,EAAE,WAAW,KAAK,EAAE,gBAAgB,SAAS;AAAA,MAC7C,KAAK,aAAa,qBAAqB;AAAA,QACnC,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACJ;AAAA;AAAA,EAGJ,gBAAgB,CAAC,GAAiB;AAAA,IAC9B,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IACA,IAAI,EAAE,WAAW,KAAK,EAAE,gBAAgB,SAAS;AAAA,MAC7C,KAAK,aAAa,iBAAiB,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,QAAQ,CAAC;AAAA,MACjE;AAAA,IACJ;AAAA,IACA,IAAI,EAAE,WAAW,KAAK,EAAE,gBAAgB,SAAS;AAAA,MAC7C,KAAK,aAAa,mBAAmB;AAAA,QACjC,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACJ;AAAA;AAAA,EAGJ,kBAAkB,CAAC,GAAiB;AAAA,IAChC,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IACA,IAAI,EAAE,YAAY,KAAK,EAAE,gBAAgB,SAAS;AAAA,MAC9C,KAAK,aAAa,mBAAmB;AAAA,QACjC,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACJ;AAAA,IACA,IAAI,EAAE,YAAY,KAAK,EAAE,gBAAgB,SAAS;AAAA,MAC9C,KAAK,aAAa,qBAAqB;AAAA,QACnC,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACJ;AAAA,IACA,KAAK,aAAa,eAAe,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,QAAQ,CAAC;AAAA;AAAA,EAGnE,aAAa,CAAC,GAAe;AAAA,IACzB,IAAI,KAAK;AAAA,MAAW;AAAA,IACpB,EAAE,eAAe;AAAA,IACjB,IAAI,EAAE,SAAS;AAAA,MACX,KAAK,aAAa,kBAAkB;AAAA,QAChC,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,QACL,QAAQ,EAAE;AAAA,QACV,QAAQ,EAAE;AAAA,MACd,CAAC;AAAA,IACL,EAAO;AAAA,MACH,KAAK,aAAa,UAAU;AAAA,QACxB,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,QACL,QAAQ,EAAE;AAAA,QACV,QAAQ,EAAE;AAAA,MACd,CAAC;AAAA;AAAA;AAAA,EAIT,eAAe,CAAC,GAAkB;AAAA,IAC9B,QAAQ,IAAI,mBAAmB,EAAE,GAAG;AAAA,IACpC,IAAI,EAAE,WAAW,SAAS,MAAM;AAAA,MAC5B;AAAA,IACJ;AAAA,IACA,IAAI,KAAK,iBAAiB,IAAI,EAAE,GAAG,GAAG;AAAA,MAClC;AAAA,IACJ;AAAA,IACA,KAAK,iBAAiB,IAAI,EAAE,KAAK,IAAI;AAAA,IACrC,IAAI,EAAE,QAAQ,KAAK;AAAA,MACf,KAAK,aAAa,cAAc;AAAA,IACpC;AAAA,IACA,IAAI,EAAE,QAAQ,UAAU;AAAA,MACpB,QAAQ,IAAI,oBAAoB;AAAA,MAChC,KAAK,aAAa,WAAW;AAAA,IACjC;AAAA,IACA,IAAI,EAAE,QAAQ,WAAW;AAAA,MACrB,KAAK,aAAa,SAAS;AAAA,IAC/B;AAAA,IACA,IAAI,EAAE,QAAQ,aAAa;AAAA,MACvB,KAAK,aAAa,WAAW;AAAA,IACjC;AAAA,IACA,IAAI,EAAE,QAAQ,KAAK;AAAA,MACf,KAAK,aAAa,GAAG;AAAA,IACzB;AAAA,IACA,IAAI,EAAE,QAAQ,KAAK;AAAA,MACf,KAAK,aAAa,GAAG;AAAA,IACzB;AAAA,IACA,IAAI,EAAE,QAAQ,KAAK;AAAA,MACf,KAAK,aAAa,GAAG;AAAA,IACzB;AAAA;AAAA,EAGJ,YAAY,CAAC,GAAkB;AAAA,IAC3B,IAAI,KAAK,iBAAiB,IAAI,EAAE,GAAG,GAAG;AAAA,MAClC,KAAK,iBAAiB,OAAO,EAAE,GAAG;AAAA,IACtC;AAAA,IACA,IAAI,EAAE,QAAQ,KAAK;AAAA,MACf,KAAK,aAAa,YAAY;AAAA,IAClC;AAAA;AAAA,EAGJ,MAAM,CAAC,QAA2B;AAAA,IAC9B,KAAK,SAAS;AAAA,IACd,KAAK,UAAU;AAAA,IACf,KAAK,MAAM;AAAA;AAAA,MAGX,YAAY,CAAC,cAA4B;AAAA,IACzC,KAAK,gBAAgB;AAAA;AAE7B;;ACnTO,MAAM,wBAAoD;AAAA,EACrD;AAAA,EACA;AAAA,EACA,eAAwB;AAAA,EACxB,gBAAyB;AAAA,EACzB,kBAA2B;AAAA,EAE3B;AAAA,EACA;AAAA,EAEA;AAAA,EAER,WAAW,CACP,wBACA,cACA,QACF;AAAA,IACE,KAAK,UAAU;AAAA,IACf,KAAK,YAAY;AAAA,IACjB,KAAK,gBAAgB;AAAA,IACrB,KAAK,gBAAgB;AAAA,IACrB,KAAK,mBAAmB,IAAI;AAAA,IAE5B,KAAK,cAAc;AAAA;AAAA,MAGnB,YAAY,GAAsB;AAAA,IAClC,OAAO,KAAK;AAAA;AAAA,EAGhB,aAAa,GAAS;AAAA,IAClB,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,IACzD,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AAAA,IACrD,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAAA,IAC3D,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AAAA;AAAA,EAG3D,cAAc,GAAS;AAAA,IACnB,KAAK,YAAY;AAAA;AAAA,EAGrB,eAAe,GAAS;AAAA,IACpB,KAAK,YAAY;AAAA;AAAA,EAGrB,KAAK,GAAS;AAAA,IACV,IAAI,KAAK,WAAW,WAAW;AAAA,MAC3B;AAAA,IACJ;AAAA,IACA,IAAI,KAAK,iBAAiB,OAAO,SAAS;AAAA,MACtC,KAAK,mBAAmB,IAAI;AAAA,IAChC;AAAA,IACA,KAAK,QAAQ,iBACT,cACA,KAAK,mBACL,EAAE,QAAQ,KAAK,iBAAiB,OAAO,CAC3C;AAAA,IACA,KAAK,QAAQ,iBACT,YACA,KAAK,iBACL,EAAE,QAAQ,KAAK,iBAAiB,OAAO,CAC3C;AAAA,IACA,KAAK,QAAQ,iBACT,eACA,KAAK,oBACL,EAAE,QAAQ,KAAK,iBAAiB,OAAO,CAC3C;AAAA,IACA,KAAK,QAAQ,iBACT,aACA,KAAK,kBACL,EAAE,QAAQ,KAAK,iBAAiB,OAAO,CAC3C;AAAA;AAAA,EAGJ,QAAQ,GAAS;AAAA,IACb,KAAK,iBAAiB,MAAM;AAAA,IAC5B,KAAK,mBAAmB,IAAI;AAAA,IAC5B,KAAK,UAAU;AAAA;AAAA,MAGf,QAAQ,GAAY;AAAA,IACpB,OAAO,KAAK;AAAA;AAAA,EAGhB,OAAO,GAAS;AAAA,IACZ,KAAK,YAAY;AAAA;AAAA,EAGrB,MAAM,GAAS;AAAA,IACX,KAAK,YAAY;AAAA;AAAA,EAGb,YAA+C,IAChD,MACC;AAAA,IACJ,MAAM,SAAS,KAAK,cAAc,QAAQ,GAAG,IAAI;AAAA,IACjD,IACI,OAAO,WACP,YAAY,UACZ,OAAO,WAAW,WACpB;AAAA,MACE,KAAK,cAAc,wBAAwB,OAAO,MAAM;AAAA,IAC5D;AAAA;AAAA,EAGJ,iBAAiB,CAAC,GAAe;AAAA,IAC7B,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IAEA,MAAM,cAA6B,CAAC;AAAA,IACpC,SAAS,IAAI,EAAG,IAAI,EAAE,eAAe,QAAQ,KAAK;AAAA,MAC9C,YAAY,KAAK;AAAA,QACb,OAAO,EAAE,eAAe,GAAG;AAAA,QAC3B,GAAG,EAAE,eAAe,GAAG;AAAA,QACvB,GAAG,EAAE,eAAe,GAAG;AAAA,MAC3B,CAAC;AAAA,IACL;AAAA,IACA,KAAK,aAAa,cAAc,EAAE,QAAQ,YAAY,CAAC;AAAA,IACvD,EAAE,eAAe;AAAA;AAAA,EAGrB,kBAAkB,CAAC,GAAe;AAAA,IAC9B,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IACA,MAAM,gBAA+B,CAAC;AAAA,IACtC,SAAS,IAAI,EAAG,IAAI,EAAE,eAAe,QAAQ,KAAK;AAAA,MAC9C,cAAc,KAAK;AAAA,QACf,OAAO,EAAE,eAAe,GAAG;AAAA,QAC3B,GAAG,EAAE,eAAe,GAAG;AAAA,QACvB,GAAG,EAAE,eAAe,GAAG;AAAA,MAC3B,CAAC;AAAA,IACL;AAAA,IACA,KAAK,aAAa,YAAY,EAAE,QAAQ,cAAc,CAAC;AAAA;AAAA,EAG3D,eAAe,CAAC,GAAe;AAAA,IAC3B,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IACA,MAAM,gBAA+B,CAAC;AAAA,IACtC,SAAS,IAAI,EAAG,IAAI,EAAE,eAAe,QAAQ,KAAK;AAAA,MAC9C,cAAc,KAAK;AAAA,QACf,OAAO,EAAE,eAAe,GAAG;AAAA,QAC3B,GAAG,EAAE,eAAe,GAAG;AAAA,QACvB,GAAG,EAAE,eAAe,GAAG;AAAA,MAC3B,CAAC;AAAA,IACL;AAAA,IACA,KAAK,aAAa,YAAY,EAAE,QAAQ,cAAc,CAAC;AAAA;AAAA,EAG3D,gBAAgB,CAAC,GAAe;AAAA,IAC5B,IAAI,KAAK,WAAW;AAAA,MAChB;AAAA,IACJ;AAAA,IACA,EAAE,eAAe;AAAA,IACjB,MAAM,cAA6B,CAAC;AAAA,IACpC,SAAS,IAAI,EAAG,IAAI,EAAE,cAAc,QAAQ,KAAK;AAAA,MAC7C,YAAY,KAAK;AAAA,QACb,OAAO,EAAE,cAAc,GAAG;AAAA,QAC1B,GAAG,EAAE,cAAc,GAAG;AAAA,QACtB,GAAG,EAAE,cAAc,GAAG;AAAA,MAC1B,CAAC;AAAA,IACL;AAAA,IACA,KAAK,aAAa,aAAa,EAAE,QAAQ,YAAY,CAAC;AAAA;AAAA,EAG1D,MAAM,CAAC,QAA2B;AAAA,IAC9B,KAAK,SAAS;AAAA,IACd,KAAK,UAAU;AAAA,IACf,KAAK,MAAM;AAAA;AAEnB;;AC3CO,MAAM,sBAAoD;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAW,GAAG;AAAA,IACV,KAAK,MAAM,IAAI;AAAA,IAGf,KAAK,OAAO,IAAI;AAAA,IAGhB,KAAK,SAAS,IAAI;AAAA,IAGlB,KAAK,MAAM,IAAI;AAAA;AAAA,EAKnB,SAAS,CAAC,MAAmB;AAAA,IACzB,KAAK,IAAI,OAAO,EAAE,KAAW,CAAC;AAAA,IAC9B,KAAK,IAAI,OAAO,EAAE,MAAM,OAAO,KAAW,CAAC;AAAA;AAAA,EAG/C,UAAU,CAAC,iBAAyB,aAA0B;AAAA,IAC1D,KAAK,KAAK,OAAO;AAAA,MACb;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,IACD,KAAK,IAAI,OAAO;AAAA,MACZ,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACJ,CAAC;AAAA;AAAA,EAGL,YAAY,CAAC,eAA6B;AAAA,IACtC,KAAK,OAAO,OAAO,EAAE,cAA6B,CAAC;AAAA,IACnD,KAAK,IAAI,OAAO,EAAE,MAAM,UAAU,cAA6B,CAAC;AAAA;AAAA,EAGpE,EAAwC,CACpC,WACA,UACyB;AAAA,IACzB,QAAQ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,IAAI,UACZ,QAGJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,KAAK,UACb,QAGJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,OAAO,UACf,QAGJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,IAAI,UACZ,QAGJ;AAAA;AAAA,QAEA,MAAM,IAAI,MAAM,mCAAmC;AAAA;AAAA;AAGnE;AAaO,SAAS,kCAAkC,GAA0B;AAAA,EACxE,OAAO,IAAI;AAAA;AAAA;AAGR,MAAM,wCAAsE;AAAA,EACvE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,WAAW,CAAC,WAAmB;AAAA,IAC3B,KAAK,MAAM,IAAI;AAAA,IAGf,KAAK,OAAO,IAAI;AAAA,IAGhB,KAAK,SAAS,IAAI;AAAA,IAGlB,KAAK,MAAM,IAAI;AAAA,IAGf,KAAK,YAAY;AAAA;AAAA,EAGrB,SAAS,CAAC,MAAmB;AAAA,IACzB,KAAK,UAAU,YAAY;AAAA,MACvB,MAAM;AAAA,MACN,SAAS,EAAE,MAAM,OAAO,KAAW;AAAA,IACvC,CAAC;AAAA,IACD,KAAK,IAAI,OAAO,EAAE,KAAW,CAAC;AAAA,IAC9B,KAAK,IAAI,OAAO,EAAE,MAAM,OAAO,KAAW,CAAC;AAAA;AAAA,EAG/C,UAAU,CAAC,iBAAyB,aAA0B;AAAA,IAC1D,KAAK,UAAU,YAAY;AAAA,MACvB,MAAM;AAAA,MACN,SAAS;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,IACD,KAAK,KAAK,OAAO;AAAA,MACb;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,IACD,KAAK,IAAI,OAAO;AAAA,MACZ,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACJ,CAAC;AAAA;AAAA,EAGL,YAAY,CAAC,eAA6B;AAAA,IACtC,KAAK,UAAU,YAAY;AAAA,MACvB,MAAM;AAAA,MACN,SAAS,EAAE,MAAM,UAAU,cAA6B;AAAA,IAC5D,CAAC;AAAA,IACD,KAAK,OAAO,OAAO,EAAE,cAA6B,CAAC;AAAA,IACnD,KAAK,IAAI,OAAO,EAAE,MAAM,UAAU,cAA6B,CAAC;AAAA;AAAA,EAGpE,EAAwC,CACpC,WACA,UACyB;AAAA,IACzB,QAAQ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,IAAI,UACZ,QAGJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,KAAK,UACb,QAGJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,OAAO,UACf,QAGJ;AAAA,WACC;AAAA,QACD,OAAO,KAAK,IAAI,UACZ,QAGJ;AAAA;AAAA,QAEA,MAAM,IAAI,MAAM,mCAAmC;AAAA;AAAA;AAGnE;;AtC1MA,MAAqB,MAAM;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA,yBAAkC;AAAA,EAClC,cAAuB;AAAA,EAEvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,qBAA6B;AAAA,EAC7B,sBAA8B;AAAA,EAC9B,0BAAkC;AAAA,EAElC,iBAAyB;AAAA,EAEzB;AAAA,EAgFR,WAAW,CAAC,QAA4B,QAAiB,OAAO;AAAA,IAC5D,MAAM,SAAS,IAAI;AAAA,IACnB,MAAM,QAAQ;AAAA,IACd,OAAO,aAAa;AAAA,MAChB,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM;AAAA,MAC5B,KAAK,EAAE,GAAG,OAAO,GAAG,MAAM;AAAA,IAC9B;AAAA,IAEA,KAAK,cAAc;AAAA,IAEnB,KAAK,eAAe,IAAI,YAAY,MAAM;AAAA,IAE1C,KAAK,aAAa,UAAU,sBAAoB;AAAA,MAC5C,KAAK,uBAAuB,gBAAgB;AAAA,MAC5C,KAAK,oBAAoB,gBAAgB;AAAA,KAC5C;AAAA,IAED,KAAK,YAAY,IAAI,iBACjB;AAAA,MACI,qBAAqB;AAAA,MACrB,8BAA8B;AAAA,MAC9B,8BAA8B;AAAA,MAC9B,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,cAAc;AAAA,MACd,kBAAkB;AAAA,MAClB,WAAW;AAAA,IACf,GACA,MACJ;AAAA,IAEA,KAAK,aAAa,oCAAoC;AAAA,IACtD,KAAK,sBAAsB,IAAI;AAAA,IAG/B,KAAK,0BAA0B,IAAI,uBAC/B,KAAK,YACT;AAAA,IACA,KAAK,qBAAqB,IAAI,kBAAkB,KAAK,YAAY;AAAA,IAEjE,MAAM,uBAAuB,2BACzB,KAAK,uBACT;AAAA,IACA,MAAM,yBAAyB,6BAC3B,KAAK,kBACT;AAAA,IAKA,KAAK,qBAAqB,IAAI,kBAC1B,KAAK,YACL,KAAK,WACL,KAAK,mBACT;AAAA,IAGA,KAAK,aAAa,IAAI,sBAClB,sBACA,KAAK,oBACL,MACJ;AAAA,IACA,KAAK,eAAe,IAAI,wBACpB,wBACA,KAAK,oBACL,MACJ;AAAA,IAEA,IAAI,UAAU,MAAW;AAAA,MACrB,QAAQ,IAAI,oCAAoC;AAAA,MAChD,KAAK,OAAO,QAAQ,KAAK;AAAA,IAC7B;AAAA;AAAA,EAGI,sBAAsB,CAAC,kBAG5B;AAAA,IACC,KAAK,OAAO,iBAAiB,iBAAiB;AAAA,IAC9C,KAAK,OAAO,gBAAgB,iBAAiB;AAAA;AAAA,EAwEjD,MAAM,CAAC,QAA2B,QAAiB,OAAO;AAAA,IACtD,KAAK,iBAAiB;AAAA,IACtB,MAAM,aAAa,OAAO,WAAW,MAAM;AAAA,MACvC,oBAAoB;AAAA,IACxB,CAAC;AAAA,IACD,IAAI,cAAc,MAAM;AAAA,MACpB,QAAQ,MAAM,4BAA4B;AAAA,MAC1C;AAAA,IACJ;AAAA,IACA,KAAK,WAAW,OAAO,MAAM;AAAA,IAC7B,KAAK,aAAa,OAAO,MAAM;AAAA,IAC/B,KAAK,aAAa,OAAO,MAAM;AAAA,IAE/B,IAAI,KAAK,qBAAqB;AAAA,MAC1B,KAAK,oBAAoB,KAAK,aAAa,UAAU;AAAA,IACzD;AAAA,IAEA,KAAK,WAAW;AAAA,IAChB,KAAK,mBAAmB,aAAa,KAAK,QAAQ;AAAA;AAAA,EAGtD,qBAAqB,GAAG;AAAA,IACpB,KAAK,WAAW,SAAS;AAAA,IACzB,KAAK,aAAa,SAAS;AAAA;AAAA,EAG/B,oBAAoB,GAAG;AAAA,IACnB,KAAK,WAAW,MAAM;AAAA,IACtB,KAAK,aAAa,MAAM;AAAA;AAAA,MAGxB,iBAAiB,GAAsB;AAAA,IACvC,OAAO,KAAK;AAAA;AAAA,EAOhB,QAAQ,GAAG;AAAA,IACP,KAAK,WAAW,SAAS;AAAA,IACzB,KAAK,aAAa,SAAS;AAAA,IAC3B,KAAK,aAAa,SAAS;AAAA,IAC3B,KAAK,iBAAiB;AAAA,IACtB,KAAK,WAAW;AAAA,IAChB,KAAK,mBAAmB;AAAA;AAAA,EAGpB,aAAa,GAAG;AAAA,IACpB,KAAK,OAAO,KAAK,KAAK,KAAK,IAAI;AAAA;AAAA,MAG/B,KAAK,GAAW;AAAA,IAChB,OAAO,KAAK,aAAa;AAAA;AAAA,MAGzB,MAAM,GAAW;AAAA,IACjB,OAAO,KAAK,aAAa;AAAA;AAAA,MAQzB,qBAAqB,CAAC,OAAgB;AAAA,IACtC,KAAK,yBAAyB;AAAA,IAC9B,KAAK,wBAAwB,wBAAwB;AAAA,IACrD,KAAK,mBAAmB,wBAAwB;AAAA;AAAA,MAGhD,qBAAqB,GAAY;AAAA,IACjC,OAAO,KAAK;AAAA;AAAA,MAOZ,UAAU,GAAY;AAAA,IACtB,OAAO,KAAK;AAAA;AAAA,MAGZ,UAAU,CAAC,OAAgB;AAAA,IAC3B,KAAK,cAAc;AAAA,IACnB,IAAI,KAAK,aAAa;AAAA,MAClB,KAAK,aAAa,SAAS,OAAO,UAAU;AAAA,MAC5C,KAAK,aAAa,UAAU,OAAO,WAAW;AAAA,IAClD;AAAA;AAAA,MAOA,OAAO,GAAyC;AAAA,IAChD,IAAI,CAAC,KAAK,wBAAwB;AAAA,MAC9B,OAAO,KAAK;AAAA,IAChB;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,MAOZ,mBAAmB,CAAC,OAAgB;AAAA,IACpC,KAAK,UAAU,OAAO,sBAAsB;AAAA,IAC5C,IAAI,KAAK,aAAa,UAAU;AAAA,MAC5B;AAAA,IACJ;AAAA,IACA,IAAI,OAAO;AAAA,MACP,KAAK,oBAAoB,KAAK,aAAa,UAAU;AAAA,IACzD;AAAA;AAAA,MAGA,mBAAmB,GAAY;AAAA,IAC/B,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAO7B,SAAS,CAAC,QAAwB;AAAA,IAClC,KAAK,WAAW,SAAS;AAAA,IACzB,OAAO,SAAS;AAAA,IAChB,IAAI,KAAK,kBAAkB,MAAW;AAAA,MAClC,OAAO,OAAO,KAAK,cAAc;AAAA,IACrC;AAAA,IACA,OAAO,MAAM;AAAA,IACb,KAAK,aAAa;AAAA;AAAA,MAGlB,SAAS,GAAmB;AAAA,IAC5B,OAAO,KAAK;AAAA;AAAA,MAOZ,WAAW,CAAC,QAA0B;AAAA,IACtC,KAAK,aAAa,SAAS;AAAA,IAC3B,OAAO,SAAS;AAAA,IAChB,IAAI,KAAK,kBAAkB,MAAW;AAAA,MAClC,OAAO,OAAO,KAAK,cAAc;AAAA,IACrC;AAAA,IACA,OAAO,MAAM;AAAA,IACb,KAAK,eAAe;AAAA;AAAA,MAGpB,WAAW,GAAqB;AAAA,IAChC,OAAO,KAAK;AAAA;AAAA,MAOZ,MAAM,GAA0B;AAAA,IAChC,OAAO,KAAK,UAAU;AAAA;AAAA,MAGtB,MAAM,CAAC,QAA+B;AAAA,IACtC,IAAI,CAAC,KAAK,aAAa,UAAU;AAAA,MAC7B,OAAO,iBACH,KAAK,aAAa,SAAS,OAAO;AAAA,MACtC,OAAO,gBACH,KAAK,aAAa,QAAQ,OAAO;AAAA,IACzC;AAAA,IACA,KAAK,UAAU,SAAS;AAAA;AAAA,MAGxB,SAAS,GAAc;AAAA,IACvB,OAAO,KAAK;AAAA;AAAA,MAGZ,SAAS,CAAC,WAAsB;AAAA,IAChC,KAAK,aAAa;AAAA,IAKlB,KAAK,mBAAmB,YAAY;AAAA;AAAA,EAOjC,IAAI,CAAC,WAAmB;AAAA,IAC3B,IAAI,KAAK,aAAa,YAAY,KAAK,YAAY,WAAW;AAAA,MAC1D;AAAA,IACJ;AAAA,IAEA,KAAK,UAAU,OAAO;AAAA,IACtB,IAAI,YAAY,YAAY,KAAK;AAAA,IACjC,KAAK,iBAAiB;AAAA,IACtB,YAAY,YAAY;AAAA,IAExB,KAAK,SAAS,MAAM;AAAA,IACpB,KAAK,SAAS,UACV,GACA,GACA,KAAK,aAAa,QAAQ,OAAO,kBACjC,KAAK,aAAa,SAAS,OAAO,gBACtC;AAAA,IAEA,IAAI,KAAK,4BAA4B,OAAO,kBAAkB;AAAA,MAC1D,KAAK,0BAA0B,OAAO;AAAA,MACtC,KAAK,aAAa,gBAAgB,KAAK,aAAa,MAAM;AAAA,MAC1D,KAAK,aAAa,eAAe,KAAK,aAAa,KAAK;AAAA,IAC5D;AAAA,IAEA,IAAI,KAAK,wBAAwB,KAAK,aAAa,QAAQ;AAAA,MACvD,KAAK,sBAAsB,KAAK,aAAa;AAAA,MAC7C,KAAK,aAAa,gBAAgB,KAAK,aAAa,MAAM;AAAA,IAC9D;AAAA,IACA,IAAI,KAAK,uBAAuB,KAAK,aAAa,OAAO;AAAA,MACrD,KAAK,qBAAqB,KAAK,aAAa;AAAA,MAC5C,KAAK,aAAa,eAAe,KAAK,aAAa,KAAK;AAAA,IAC5D;AAAA,IAEA,MAAM,kBAAkB,KAAK,OAAO,aAChC,OAAO,kBACP,KAAK,sBACT;AAAA,IACA,MAAM,mBAAmB,KAAK,SAAS,aAAa;AAAA,IACpD,IACI,iBAAiB,MAAM,gBAAgB,KACvC,iBAAiB,MAAM,gBAAgB,KACvC,iBAAiB,MAAM,gBAAgB,KACvC,iBAAiB,MAAM,gBAAgB,KACvC,iBAAiB,MAAM,gBAAgB,KACvC,iBAAiB,MAAM,gBAAgB,GACzC;AAAA,MACE,KAAK,SAAS,aACV,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,CACpB;AAAA,IACJ;AAAA;AAAA,EASJ,6BAA6B,CAAC,oBAAkC;AAAA,IAC5D,MAAM,eAAe,KAAK,aAAa;AAAA,IACvC,MAAM,uBAAuB;AAAA,MACzB,GAAG,aAAa,SAAS,IAAI,aAAa,QAAQ;AAAA,MAClD,GAAG,aAAa,SAAS,IAAI,aAAa,SAAS;AAAA,IACvD;AAAA,IACA,MAAM,kBAAkB,WAAS,UAC7B,oBACA,oBACJ;AAAA,IACA,IAAI,CAAC,KAAK,wBAAwB;AAAA,MAC9B,gBAAgB,IAAI,CAAC,gBAAgB;AAAA,IACzC;AAAA,IACA,OAAO,KAAK,OAAO,+BAA+B,eAAe;AAAA;AAAA,EAUrE,EAAkC,CAC9B,WACA,UACW;AAAA,IACX,OAAO,KAAK,OAAO,GAAG,WAAW,QAAQ;AAAA;AAAA,EAW7C,OAA6C,CACzC,WACA,UACyB;AAAA,IACzB,OAAO,KAAK,oBAAoB,GAAG,WAAW,QAAQ;AAAA;AAAA,MAMtD,kBAAkB,GAAuB;AAAA,IACzC,OAAO,wBAAwB,KAAK,OAAO,UAAU;AAAA;AAAA,MAMrD,iBAAiB,GAAuB;AAAA,IACxC,OAAO,uBAAuB,KAAK,OAAO,UAAU;AAAA;AAAA,EAGhD,mBAAmB,CAAC,kBAAoC;AAAA,IAC5D,IAAI,KAAK,qBAAqB;AAAA,MAC1B,MAAM,qBAAqB,6BACvB,KAAK,OAAO,YACZ,iBAAiB,OACjB,iBAAiB,QACjB,KAAK,OAAO,QAChB;AAAA,MACA,IACI,sBAAsB,QACtB,gCACI,KAAK,OAAO,gBACZ,kBACJ,GACF;AAAA,QACE,KAAK,OAAO,gBAAgB,kBAAkB;AAAA,MAClD;AAAA,IACJ;AAAA;AAAA,EAOJ,oCAAoC,CAAC,OAAe;AAAA,IAChD,MAAM,gBAAgB,KAAK,OAAO;AAAA,IAClC,MAAM,SACF,iBAAiB,YAAY,YAAY,cAAc;AAAA,IAC3D,MAAM,mBAAmB,UAAU,YAAY,YAAY,OAAO;AAAA,IAClE,IAAI,oBAAoB,WAAW;AAAA,MAC/B,KAAK,OAAO,wBAAwB,CAAC,OAAO,KAAK;AAAA,IACrD,EAAO;AAAA,MACH,KAAK,OAAO,wBACR,kBACA,mBAAmB,QAAQ,CAC/B;AAAA;AAAA,IAEJ,IAAI,KAAK,qBAAqB;AAAA,MAC1B,MAAM,qBAAqB,wBACvB,KAAK,OAAO,YACZ,KAAK,OAAO,eACZ,KAAK,OAAO,gBACZ,KAAK,OAAO,QAChB;AAAA,MACA,IACI,gCACI,KAAK,OAAO,gBACZ,kBACJ,GACF;AAAA,QACE,KAAK,OAAO,gBAAgB,kBAAkB;AAAA,MAClD;AAAA,IACJ;AAAA;AAAA,EAOJ,oCAAoC,CAAC,OAAe;AAAA,IAChD,MAAM,gBAAgB,KAAK,OAAO;AAAA,IAClC,MAAM,SACF,iBAAiB,YAAY,YAAY,cAAc;AAAA,IAC3D,MAAM,mBAAmB,UAAU,YAAY,YAAY,OAAO;AAAA,IAClE,IAAI,oBAAoB,WAAW;AAAA,MAC/B,KAAK,OAAO,wBAAwB,CAAC,OAAO,KAAK;AAAA,IACrD,EAAO;AAAA,MACH,KAAK,OAAO,wBACR,mBAAmB,QAAQ,GAC3B,gBACJ;AAAA;AAAA,IAEJ,IAAI,KAAK,qBAAqB;AAAA,MAC1B,MAAM,qBAAqB,wBACvB,KAAK,OAAO,YACZ,KAAK,OAAO,eACZ,KAAK,OAAO,gBACZ,KAAK,OAAO,QAChB;AAAA,MACA,IACI,gCACI,KAAK,OAAO,gBACZ,kBACJ,GACF;AAAA,QACE,KAAK,OAAO,gBAAgB,kBAAkB;AAAA,MAClD;AAAA,IACJ;AAAA;AAAA,MAGA,4BAA4B,GAAY;AAAA,IACxC,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,4BAA4B,GAAY;AAAA,IACxC,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,oBAAoB,GAAY;AAAA,IAChC,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,oBAAoB,GAAY;AAAA,IAChC,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,4BAA4B,CAAC,OAAgB;AAAA,IAC7C,KAAK,UAAU,OAAO,+BAA+B;AAAA;AAAA,MAGrD,4BAA4B,CAAC,OAAgB;AAAA,IAC7C,KAAK,UAAU,UAAU,EAAE,8BAA8B,MAAM,CAAC;AAAA;AAAA,MAGhE,oBAAoB,CAAC,OAAgB;AAAA,IACrC,KAAK,UAAU,UAAU,EAAE,sBAAsB,MAAM,CAAC;AAAA;AAAA,MAGxD,oBAAoB,CAAC,OAAgB;AAAA,IACrC,KAAK,UAAU,UAAU,EAAE,sBAAsB,MAAM,CAAC;AAAA;AAAA,MAGxD,YAAY,GAAY;AAAA,IACxB,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,YAAY,CAAC,OAAgB;AAAA,IAC7B,KAAK,UAAU,UAAU,EAAE,cAAc,MAAM,CAAC;AAAA;AAAA,MAGhD,gBAAgB,GAAY;AAAA,IAC5B,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,gBAAgB,CAAC,OAAgB;AAAA,IACjC,KAAK,UAAU,UAAU,EAAE,kBAAkB,MAAM,CAAC;AAAA;AAAA,MAGpD,gBAAgB,GAAY;AAAA,IAC5B,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,gBAAgB,CAAC,OAAgB;AAAA,IACjC,KAAK,UAAU,UAAU,EAAE,kBAAkB,MAAM,CAAC;AAAA;AAAA,MAGpD,SAAS,GAAY;AAAA,IACrB,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,SAAS,CAAC,OAAgB;AAAA,IAC1B,KAAK,UAAU,UAAU,EAAE,WAAW,MAAM,CAAC;AAAA;AAAA,MAG7C,aAAa,GAAY;AAAA,IACzB,OAAO,KAAK,UAAU,OAAO;AAAA;AAAA,MAG7B,aAAa,CAAC,OAAgB;AAAA,IAC9B,KAAK,UAAU,UAAU,EAAE,eAAe,MAAM,CAAC;AAAA;AAAA,EAGrD,YAAY,GAAc;AAAA,IACtB,OAAO,KAAK;AAAA;AAAA,EAGhB,YAAY,CAAC,MAAgC;AAAA,IACzC,KAAK,wBAAwB,QAAQ,IAAI;AAAA;AAAA,EAG7C,uBAAuB,CAAC,UAAkD;AAAA,IACtE,OAAO,KAAK,aAAa,UAAU,QAAQ;AAAA;AAAA,MAG3C,gBAAgB,GAAqB;AAAA,IACrC,OAAO,KAAK,aAAa;AAAA;AAEjC;",
86
86
  "debugId": "1FDA39FB516201FF64756E2164756E21",
87
87
  "names": []
88
88
  }
@@ -1,4 +1,5 @@
1
- import type { EventResult } from '@ue-too/being';
1
+ import type { EventArgs, EventResult } from '@ue-too/being';
2
+ import type { KmtInputEventMapping } from '../../input-interpretation/input-state-machine';
2
3
  import type { InputOrchestrator } from '../input-orchestrator';
3
4
  /**
4
5
  * Interface for KMT (Keyboard/Mouse/Trackpad) event parsers.
@@ -156,7 +157,7 @@ export declare class VanillaKMTEventParser implements KMTEventParser {
156
157
  private _orchestrator;
157
158
  private _keyfirstPressed;
158
159
  private _abortController;
159
- private _canvas?;
160
+ protected _canvas?: HTMLCanvasElement | SVGSVGElement;
160
161
  constructor(kmtInputStateMachine: StateMachine, orchestrator: InputOrchestrator, canvas?: HTMLCanvasElement | SVGSVGElement);
161
162
  get disabled(): boolean;
162
163
  disable(): void;
@@ -165,7 +166,7 @@ export declare class VanillaKMTEventParser implements KMTEventParser {
165
166
  setUp(): void;
166
167
  tearDown(): void;
167
168
  bindFunctions(): void;
168
- private processEvent;
169
+ protected processEvent<K extends keyof KmtInputEventMapping>(...args: EventArgs<KmtInputEventMapping, K>): void;
169
170
  pointerDownHandler(e: PointerEvent): void;
170
171
  pointerUpHandler(e: PointerEvent): void;
171
172
  pointerMoveHandler(e: PointerEvent): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ue-too/board",
3
3
  "type": "module",
4
- "version": "0.17.3",
4
+ "version": "0.17.4",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./index.d.ts",
@@ -14,8 +14,8 @@
14
14
  "types": "./index.d.ts",
15
15
  "module": "./index.js",
16
16
  "dependencies": {
17
- "@ue-too/being": "^0.17.3",
18
- "@ue-too/math": "^0.17.3"
17
+ "@ue-too/being": "^0.17.4",
18
+ "@ue-too/math": "^0.17.4"
19
19
  },
20
20
  "repository": {
21
21
  "type": "git",