react-native-web-serial-api 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +188 -117
  2. package/TESTING.md +417 -176
  3. package/android/build.gradle +14 -0
  4. package/android/src/main/java/dev/webserialapi/NativeUsbSerialModule.java +74 -11
  5. package/android/src/main/java/dev/webserialapi/PortPickerActivity.java +61 -59
  6. package/bin/expose-serial.js +205 -0
  7. package/lib/commonjs/UsbSerial.js +1 -1
  8. package/lib/commonjs/WebSerial.js +110 -26
  9. package/lib/commonjs/WebSerial.js.map +1 -1
  10. package/lib/commonjs/index.js +2 -2
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/lib/event-target.js +3 -1
  13. package/lib/commonjs/lib/event-target.js.map +1 -1
  14. package/lib/commonjs/lib/web-streams.js +42 -0
  15. package/lib/commonjs/lib/web-streams.js.map +1 -0
  16. package/lib/commonjs/testing/device-fixture.js +70 -0
  17. package/lib/commonjs/testing/device-fixture.js.map +1 -0
  18. package/lib/commonjs/testing/expose.js +91 -0
  19. package/lib/commonjs/testing/expose.js.map +1 -0
  20. package/lib/commonjs/testing/harness.js +98 -0
  21. package/lib/commonjs/testing/harness.js.map +1 -0
  22. package/lib/commonjs/testing/{virtual-serial.js → in-memory-serial-transport.js} +66 -28
  23. package/lib/commonjs/testing/in-memory-serial-transport.js.map +1 -0
  24. package/lib/commonjs/testing/index.js +100 -17
  25. package/lib/commonjs/testing/index.js.map +1 -1
  26. package/lib/commonjs/testing/install-in-memory-serial-transport.js +54 -0
  27. package/lib/commonjs/testing/install-in-memory-serial-transport.js.map +1 -0
  28. package/lib/commonjs/testing/serial-client.js +277 -0
  29. package/lib/commonjs/testing/serial-client.js.map +1 -0
  30. package/lib/commonjs/testing/{serial-device.js → simulated-device.js} +17 -17
  31. package/lib/commonjs/testing/simulated-device.js.map +1 -0
  32. package/lib/commonjs/testing/test-suite.js +142 -0
  33. package/lib/commonjs/testing/test-suite.js.map +1 -0
  34. package/lib/commonjs/transport.js +3 -3
  35. package/lib/commonjs/websocket/WebSocketSerialTransport.js +659 -0
  36. package/lib/commonjs/websocket/WebSocketSerialTransport.js.map +1 -0
  37. package/lib/commonjs/websocket/bridge.js +234 -0
  38. package/lib/commonjs/websocket/bridge.js.map +1 -0
  39. package/lib/commonjs/websocket/index.js +33 -0
  40. package/lib/commonjs/websocket/index.js.map +1 -0
  41. package/lib/commonjs/websocket/protocol.js +55 -0
  42. package/lib/commonjs/websocket/protocol.js.map +1 -0
  43. package/lib/commonjs/websocket/serial-device-bridge.js +130 -0
  44. package/lib/commonjs/websocket/serial-device-bridge.js.map +1 -0
  45. package/lib/typescript/src/UsbSerial.d.ts +1 -1
  46. package/lib/typescript/src/WebSerial.d.ts +7 -7
  47. package/lib/typescript/src/WebSerial.d.ts.map +1 -1
  48. package/lib/typescript/src/index.d.ts +1 -1
  49. package/lib/typescript/src/index.d.ts.map +1 -1
  50. package/lib/typescript/src/lib/event-target.d.ts +2 -0
  51. package/lib/typescript/src/lib/event-target.d.ts.map +1 -1
  52. package/lib/typescript/src/lib/web-streams.d.ts +9 -0
  53. package/lib/typescript/src/lib/web-streams.d.ts.map +1 -0
  54. package/lib/typescript/src/testing/device-fixture.d.ts +70 -0
  55. package/lib/typescript/src/testing/device-fixture.d.ts.map +1 -0
  56. package/lib/typescript/src/testing/expose.d.ts +71 -0
  57. package/lib/typescript/src/testing/expose.d.ts.map +1 -0
  58. package/lib/typescript/src/testing/harness.d.ts +34 -0
  59. package/lib/typescript/src/testing/harness.d.ts.map +1 -0
  60. package/lib/typescript/src/testing/{virtual-serial.d.ts → in-memory-serial-transport.d.ts} +37 -26
  61. package/lib/typescript/src/testing/in-memory-serial-transport.d.ts.map +1 -0
  62. package/lib/typescript/src/testing/index.d.ts +18 -8
  63. package/lib/typescript/src/testing/index.d.ts.map +1 -1
  64. package/lib/typescript/src/testing/install-in-memory-serial-transport.d.ts +25 -0
  65. package/lib/typescript/src/testing/install-in-memory-serial-transport.d.ts.map +1 -0
  66. package/lib/typescript/src/testing/serial-client.d.ts +62 -0
  67. package/lib/typescript/src/testing/serial-client.d.ts.map +1 -0
  68. package/lib/typescript/src/testing/{serial-device.d.ts → simulated-device.d.ts} +23 -23
  69. package/lib/typescript/src/testing/simulated-device.d.ts.map +1 -0
  70. package/lib/typescript/src/testing/test-suite.d.ts +75 -0
  71. package/lib/typescript/src/testing/test-suite.d.ts.map +1 -0
  72. package/lib/typescript/src/transport.d.ts +3 -3
  73. package/lib/typescript/src/websocket/WebSocketSerialTransport.d.ts +111 -0
  74. package/lib/typescript/src/websocket/WebSocketSerialTransport.d.ts.map +1 -0
  75. package/lib/typescript/src/websocket/bridge.d.ts +66 -0
  76. package/lib/typescript/src/websocket/bridge.d.ts.map +1 -0
  77. package/lib/typescript/src/websocket/index.d.ts +19 -0
  78. package/lib/typescript/src/websocket/index.d.ts.map +1 -0
  79. package/lib/typescript/src/websocket/protocol.d.ts +64 -0
  80. package/lib/typescript/src/websocket/protocol.d.ts.map +1 -0
  81. package/lib/typescript/src/websocket/serial-device-bridge.d.ts +32 -0
  82. package/lib/typescript/src/websocket/serial-device-bridge.d.ts.map +1 -0
  83. package/package.json +21 -3
  84. package/src/UsbSerial.ts +1 -1
  85. package/src/WebSerial.ts +134 -35
  86. package/src/index.ts +4 -1
  87. package/src/lib/event-target.ts +12 -0
  88. package/src/lib/web-streams.ts +43 -0
  89. package/src/testing/device-fixture.ts +150 -0
  90. package/src/testing/expose.ts +147 -0
  91. package/src/testing/harness.ts +124 -0
  92. package/src/testing/{virtual-serial.ts → in-memory-serial-transport.ts} +95 -56
  93. package/src/testing/index.ts +69 -21
  94. package/src/testing/install-in-memory-serial-transport.ts +65 -0
  95. package/src/testing/serial-client.ts +313 -0
  96. package/src/testing/{serial-device.ts → simulated-device.ts} +23 -23
  97. package/src/testing/test-suite.ts +186 -0
  98. package/src/transport.ts +3 -3
  99. package/src/websocket/WebSocketSerialTransport.ts +796 -0
  100. package/src/websocket/bridge.ts +299 -0
  101. package/src/websocket/index.ts +38 -0
  102. package/src/websocket/protocol.ts +101 -0
  103. package/src/websocket/serial-device-bridge.ts +160 -0
  104. package/lib/commonjs/testing/install.js +0 -54
  105. package/lib/commonjs/testing/install.js.map +0 -1
  106. package/lib/commonjs/testing/serial-device.js.map +0 -1
  107. package/lib/commonjs/testing/virtual-serial.js.map +0 -1
  108. package/lib/typescript/src/testing/install.d.ts +0 -25
  109. package/lib/typescript/src/testing/install.d.ts.map +0 -1
  110. package/lib/typescript/src/testing/serial-device.d.ts.map +0 -1
  111. package/lib/typescript/src/testing/virtual-serial.d.ts.map +0 -1
  112. package/src/testing/install.ts +0 -65
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.serial = exports.SerialPort = exports.Serial = void 0;
7
- var _webStreamsPolyfill = require("web-streams-polyfill");
8
7
  var _domException = require("./lib/dom-exception");
9
8
  var _eventTarget = require("./lib/event-target");
10
9
  var _promise = require("./lib/promise");
10
+ var _webStreams = require("./lib/web-streams");
11
11
  var _UsbSerial = require("./UsbSerial");
12
12
  /**
13
13
  * @see https://wicg.github.io/serial/#dom-paritytype
@@ -84,6 +84,23 @@ function flowControlToNative(flowControl) {
84
84
  return FLOW_CONTROL_NATIVE[flowControl];
85
85
  }
86
86
 
87
+ /**
88
+ * Normalise a writable chunk to a plain byte array. The Web Serial writable
89
+ * accepts any BufferSource — a bare `ArrayBuffer` or any `ArrayBufferView`
90
+ * (`DataView`, typed arrays, including views with a non-zero `byteOffset`). A
91
+ * naive `Array.from(chunk)` only works for the iterable typed arrays and
92
+ * silently yields `[]` for an `ArrayBuffer`/`DataView`, so handle each shape.
93
+ */
94
+ function bufferSourceToBytes(chunk) {
95
+ if (chunk instanceof Uint8Array) {
96
+ return Array.from(chunk);
97
+ }
98
+ if (ArrayBuffer.isView(chunk)) {
99
+ return Array.from(new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength));
100
+ }
101
+ return Array.from(new Uint8Array(chunk));
102
+ }
103
+
87
104
  /**
88
105
  * Methods on this interface typically complete asynchronously, queuing work on
89
106
  * the serial port task source.
@@ -118,13 +135,8 @@ class SerialPort extends _eventTarget.EventTarget {
118
135
  #portNumber;
119
136
  #usbVendorId;
120
137
  #usbProductId;
121
-
122
- // Tracks the current state of output signals for partial updates
123
- #outputSignals = {
124
- dataTerminalReady: false,
125
- requestToSend: false,
126
- break: false
127
- };
138
+ // Baud rate of the current open(), used to size the native write timeout.
139
+ #baudRate = 0;
128
140
  #dataSubscription = null;
129
141
  #errorSubscription = null;
130
142
 
@@ -146,10 +158,25 @@ class SerialPort extends _eventTarget.EventTarget {
146
158
  this.#writeFatal = false;
147
159
  this.#pendingClosePromise = null;
148
160
  this.#bufferSize = undefined;
161
+ this.#baudRate = 0;
149
162
  this.#state = state;
150
163
  this.#connected = false;
151
164
  this.#forgetRequested = state === 'forgotten';
152
165
  }
166
+
167
+ /**
168
+ * Compute a native write timeout (ms) large enough to actually drain `length`
169
+ * bytes at the negotiated baud rate. A fixed 2 s timeout spuriously fails
170
+ * large writes on slow links; this scales with the payload while keeping a 2 s
171
+ * floor. ~10 bits per byte (start + 8 data + stop) with a 2× safety margin.
172
+ */
173
+ #writeTimeoutFor(length) {
174
+ const kMinTimeoutMs = 2000;
175
+ /* istanbul ignore next — baudRate is always > 0 when the port is open */
176
+ const baud = this.#baudRate > 0 ? this.#baudRate : 9600;
177
+ const estimatedMs = Math.ceil(length * 10 * 1000 / baud) * 2;
178
+ return Math.max(kMinTimeoutMs, estimatedMs);
179
+ }
153
180
  constructor(usb, deviceId, portNumber, usbVendorId, usbProductId) {
154
181
  super();
155
182
  this.#usb = usb;
@@ -169,7 +196,8 @@ class SerialPort extends _eventTarget.EventTarget {
169
196
  this.#deviceId = id;
170
197
  serialPortDeviceIds.set(this, id);
171
198
  },
172
- handleDeviceLost: () => this.#handleDeviceLost()
199
+ handleDeviceLost: () => this.#handleDeviceLost(),
200
+ handleDeviceDetached: () => this.#handleDeviceDetached()
173
201
  });
174
202
  }
175
203
 
@@ -203,6 +231,49 @@ class SerialPort extends _eventTarget.EventTarget {
203
231
  this.dispatchEvent(new _eventTarget.Event('disconnect'));
204
232
  }
205
233
 
234
+ /**
235
+ * Reset this port to a closed, re-openable state after a clean physical
236
+ * detach. Unlike device loss, buffered readable bytes should still be
237
+ * observable before the stream ends.
238
+ */
239
+ #handleDeviceDetached() {
240
+ const wasForgotten = this.#state === 'forgotten';
241
+ const readable = this.#readable;
242
+ const writable = this.#writable;
243
+
244
+ // Keep the public event and state transition synchronous so existing
245
+ // callers observe the detach immediately, but defer the stream teardown by
246
+ // one microtask to let already-queued data drain first.
247
+ this.#state = wasForgotten ? 'forgotten' : 'closed';
248
+ this.#connected = false;
249
+ this.#readable = null;
250
+ this.#writable = null;
251
+ this.dispatchEvent(new _eventTarget.Event('disconnect'));
252
+ queueMicrotask(() => {
253
+ // Close the readable stream so any bytes already queued can still be
254
+ // drained by the consumer before EOF.
255
+ try {
256
+ if (readable) this.#readableController?.close();
257
+ } catch {}
258
+
259
+ // A detached device can no longer accept writes, so reject any writable
260
+ // traffic and clear local state.
261
+ const lost = new _domException.DOMException('The device has been lost.', 'NetworkError');
262
+ if (writable) {
263
+ this.#writeFatal = true;
264
+ try {
265
+ this.#writableController?.error(lost);
266
+ } catch {}
267
+ }
268
+
269
+ // Mirror the stream-closing bookkeeping without treating this as a hard
270
+ // read fatal error.
271
+ this.#handleClosingReadableStream();
272
+ this.#handleClosingWritableStream();
273
+ this.#resetToClosedState(wasForgotten ? 'forgotten' : 'closed');
274
+ });
275
+ }
276
+
206
277
  /**
207
278
  * @see https://wicg.github.io/serial/#dom-serialport-onconnect
208
279
  */
@@ -269,12 +340,20 @@ class SerialPort extends _eventTarget.EventTarget {
269
340
  const deviceId = this.#deviceId;
270
341
  const portNumber = this.#portNumber;
271
342
  const bufferSize = this.#bufferSize;
272
- const stream = new _webStreamsPolyfill.ReadableStream({
343
+ const stream = new _webStreams.ReadableStreamImpl({
273
344
  start(controller) {
274
345
  self.#readableController = controller;
275
346
  self.#dataSubscription = self.#usb.onData(event => {
276
347
  if (event.deviceId === deviceId && event.portNumber === portNumber) {
277
- controller.enqueue(new Uint8Array(event.data));
348
+ try {
349
+ controller.enqueue(new Uint8Array(event.data));
350
+ } catch {
351
+ // The stream may already be closing/closed — e.g. a data event
352
+ // racing cancel()/close(), where the stream is closed but this
353
+ // subscription is not yet torn down. Dropping the chunk is
354
+ // correct (the consumer has stopped reading) and avoids throwing
355
+ // out of the transport's event-dispatch loop.
356
+ }
278
357
  }
279
358
  });
280
359
  self.#errorSubscription = self.#usb.onError(event => {
@@ -294,7 +373,7 @@ class SerialPort extends _eventTarget.EventTarget {
294
373
  await self.#usb.purgeHwBuffers(deviceId, portNumber, false, true).catch(() => {});
295
374
  self.#handleClosingReadableStream();
296
375
  }
297
- }, new _webStreamsPolyfill.ByteLengthQueuingStrategy({
376
+ }, new _webStreams.ByteLengthQueuingStrategyImpl({
298
377
  highWaterMark: bufferSize
299
378
  }));
300
379
 
@@ -325,13 +404,14 @@ class SerialPort extends _eventTarget.EventTarget {
325
404
  const deviceId = this.#deviceId;
326
405
  const portNumber = this.#portNumber;
327
406
  const bufferSize = this.#bufferSize;
328
- const stream = new _webStreamsPolyfill.WritableStream({
407
+ const stream = new _webStreams.WritableStreamImpl({
329
408
  start(controller) {
330
409
  self.#writableController = controller;
331
410
  },
332
411
  async write(chunk) {
412
+ const bytes = bufferSourceToBytes(chunk);
333
413
  try {
334
- await self.#usb.write(deviceId, portNumber, Array.from(chunk));
414
+ await self.#usb.write(deviceId, portNumber, bytes, self.#writeTimeoutFor(bytes.length));
335
415
  } catch (e) {
336
416
  // If the port was disconnected, set this.[[writeFatal]] to true.
337
417
  self.#writeFatal = true;
@@ -350,7 +430,7 @@ class SerialPort extends _eventTarget.EventTarget {
350
430
  // of all software and hardware transmit buffers for the port.
351
431
  self.#handleClosingWritableStream();
352
432
  }
353
- }, new _webStreamsPolyfill.ByteLengthQueuingStrategy({
433
+ }, new _webStreams.ByteLengthQueuingStrategyImpl({
354
434
  highWaterMark: bufferSize
355
435
  }));
356
436
 
@@ -495,6 +575,7 @@ class SerialPort extends _eventTarget.EventTarget {
495
575
  }
496
576
  this.#state = 'opened'; // 9.3. Set this.[[state]] to "opened".
497
577
  this.#bufferSize = bufferSize; // 9.4. Set this.[[bufferSize]] to options["bufferSize"].
578
+ this.#baudRate = options.baudRate;
498
579
 
499
580
  // When the port becomes logically connected:
500
581
  this.#connected = true; // 2. Set port.[[connected]] to true.
@@ -502,6 +583,13 @@ class SerialPort extends _eventTarget.EventTarget {
502
583
  // device presence (attach/detach), dispatched by Serial from the native
503
584
  // USB state events — not logical open()/close(). So we do not dispatch them
504
585
  // here; that also avoids re-entrancy with auto-reconnect listeners.
586
+
587
+ // Materialise the readable eagerly so its data subscription is live the
588
+ // instant the native read pump (startReading, above) begins emitting. The
589
+ // device may transmit immediately on open; without an active subscription
590
+ // those first bytes would be delivered to no listener and silently lost in
591
+ // the window between open() resolving and the first port.readable access.
592
+ void this.readable;
505
593
  }
506
594
 
507
595
  /**
@@ -600,12 +688,6 @@ class SerialPort extends _eventTarget.EventTarget {
600
688
  if (signals.dataTerminalReady === undefined && signals.requestToSend === undefined && signals.break === undefined) {
601
689
  throw new TypeError('At least one signal must be specified.');
602
690
  }
603
-
604
- // Merge with current output signal state for partial updates
605
- this.#outputSignals = {
606
- ...this.#outputSignals,
607
- ...signals
608
- };
609
691
  const promises = [];
610
692
 
611
693
  // 4.1. If signals["dataTerminalReady"] is present, invoke the operating
@@ -735,8 +817,8 @@ class Serial extends _eventTarget.EventTarget {
735
817
 
736
818
  /**
737
819
  * @param transport Optional transport override. When provided, this `Serial`
738
- * talks to it instead of the global native module — the seam used by tests
739
- * and the virtual-device harness (`new Serial(new VirtualSerialTransport())`).
820
+ * talks to it instead of the global native module — the transport override used by tests
821
+ * and the virtual serial device harness (`new Serial(new InMemorySerialTransport())`).
740
822
  * Omit it for the normal native-backed instance; the singleton `serial`
741
823
  * export is created this way and can still be redirected globally via
742
824
  * `setUsbSerial()`.
@@ -806,13 +888,15 @@ class Serial extends _eventTarget.EventTarget {
806
888
  // SerialPort instance so a re-attach can reuse it. handleDeviceLost()
807
889
  // dispatches "disconnect" on the port.
808
890
  this.#usb.onDisconnect(event => {
891
+ const wasLost = event.lost ?? true;
809
892
  const prefix = `${event.deviceId}:`;
810
893
  let matched = false;
811
894
  for (const [key, port] of [...this.#knownPorts.entries()]) {
812
895
  if (key.startsWith(prefix)) {
813
- // handleDeviceLost() dispatches "disconnect" on the port, which
814
- // bubbles here with event.target === the port (per spec).
815
- portInternals.get(port)?.handleDeviceLost();
896
+ // Physical loss tears down the stream immediately; a clean detach
897
+ // lets any already-buffered bytes drain before EOF.
898
+ const internals = portInternals.get(port);
899
+ if (wasLost) internals?.handleDeviceLost();else internals?.handleDeviceDetached();
816
900
  matched = true;
817
901
  }
818
902
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_webStreamsPolyfill","require","_domException","_eventTarget","_promise","_UsbSerial","serialPortDeviceIds","WeakMap","portInternals","kDefaultDataBits","kDefaultStopBits","kDefaultParity","kDefaultBufferSize","kDefaultFlowControl","kAcceptableDataBits","kAcceptableStopBits","kAcceptableParity","kAcceptableFlowControl","parityToNative","parity","FLOW_CONTROL_NATIVE","none","hardware","flowControlToNative","flowControl","SerialPort","EventTarget","events","connect","disconnect","state","bufferSize","undefined","connected","readable","readFatal","writable","writeFatal","pendingClosePromise","usb","deviceId","portNumber","usbVendorId","usbProductId","outputSignals","dataTerminalReady","requestToSend","break","dataSubscription","errorSubscription","readableController","writableController","forgetRequested","resetToClosedState","#resetToClosedState","remove","constructor","set","getVid","getPid","getPortNumber","isForgotten","setDeviceId","id","handleDeviceLost","#handleDeviceLost","wasForgotten","lost","DOMException","error","dispatchEvent","Event","onconnect","fn","removeEventListener","addEventListener","ondisconnect","self","stream","ReadableStream","start","controller","onData","event","enqueue","Uint8Array","data","onError","errorName","handleClosingReadableStream","cancel","purgeHwBuffers","catch","ByteLengthQueuingStrategy","highWaterMark","WritableStream","write","chunk","Array","from","e","handleClosingWritableStream","message","abort","close","getInfo","info","Object","create","open","options","Number","isFinite","baudRate","TypeError","dataBits","includes","stopBits","join","nativeOptions","setFlowControl","startReading","cancelPromise","Promise","resolve","abortPromise","createDeferredPromise","all","promise","forget","setSignals","signals","promises","push","setDTR","setRTS","setBreak","getSignals","dcd","cts","ri","dsr","getCD","getCTS","getRI","getDSR","dataCarrierDetect","clearToSend","ringIndicator","dataSetReady","#handleClosingReadableStream","#handleClosingWritableStream","exports","Serial","knownPorts","Map","initialized","injected","transport","args","ensureInit","#ensureInit","getUsbSerial","onConnect","candidates","entries","filter","port","internals","get","length","key","newKey","portKey","delete","onDisconnect","prefix","matched","startsWith","#portKey","getPorts","portIds","findAllDrivers","ports","hasPermission","known","setEventParent","requestPort","allowedBluetoothServiceClassIds","filters","bluetoothServiceClassId","nativeFilters","f","map","portId","showPortPicker","serial"],"sourceRoot":"../../src","sources":["WebSerial.ts"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AASA,IAAAI,UAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAsCA;AACA;AACA;;AAgBA;AACA;AACA;;AAoBA;AACA;AACA;;AAgBA;AACA;AACA;;AAUA;AACA;AACA;;AAeA;AACA;AACA,MAAMK,mBAAmB,GAAG,IAAIC,OAAO,CAAqB,CAAC;;AAE7D;AACA;AACA;AACA;;AAUA,MAAMC,aAAa,GAAG,IAAID,OAAO,CAA4B,CAAC;AAE9D,MAAME,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,cAA0B,GAAG,MAAM;AACzC,MAAMC,kBAAkB,GAAG,GAAG;AAC9B,MAAMC,mBAAoC,GAAG,MAAM;AAEnD,MAAMC,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AAC3C,MAAMC,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AAC3C,MAAMC,iBAA+B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AAC/D,MAAMC,sBAAyC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;AAEtE,SAASC,cAAcA,CAACC,MAAkB,EAAU;EAClD,QAAQA,MAAM;IACZ,KAAK,KAAK;MACR,OAAO,CAAC;IACV,KAAK,MAAM;MACT,OAAO,CAAC;IACV;MACE,OAAO,CAAC;EACZ;AACF;AAEA,MAAMC,mBAEL,GAAG;EACFC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE;AACZ,CAAC;AAED,SAASC,mBAAmBA,CAACC,WAA4B,EAAsB;EAC7E,OAAOJ,mBAAmB,CAACI,WAAW,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,SAASC,wBAAW,CAAC;EAC1C,CAACC,MAAM,GAAG;IACRC,OAAO,EAAE,IAAuC;IAChDC,UAAU,EAAE;EACd,CAAC;;EAED;EACA,CAACC,KAAK,GAMY,QAAQ,CAAC,CAAC;EAC5B,CAACC,UAAU,GAAuBC,SAAS,CAAC,CAAC;EAC7C,CAACC,SAAS,GAAY,KAAK,CAAC,CAAC;EAC7B,CAACC,QAAQ,GAAsC,IAAI,CAAC,CAAC;EACrD,CAACC,SAAS,GAAY,KAAK,CAAC,CAAC;EAC7B,CAACC,QAAQ,GAAsC,IAAI,CAAC,CAAC;EACrD,CAACC,UAAU,GAAY,KAAK,CAAC,CAAC;EAC9B,CAACC,mBAAmB,GAClB,IAAI,CAAC,CAAC;;EAER,CAACC,GAAG;EACJ,CAACC,QAAQ;EACT,CAACC,UAAU;EACX,CAACC,WAAW;EACZ,CAACC,YAAY;;EAEb;EACA,CAACC,aAAa,GAAkC;IAC9CC,iBAAiB,EAAE,KAAK;IACxBC,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE;EACT,CAAC;EAED,CAACC,gBAAgB,GAAgC,IAAI;EACrD,CAACC,iBAAiB,GAAgC,IAAI;;EAEtD;EACA;EACA,CAACC,kBAAkB,GACjB,IAAI;EACN,CAACC,kBAAkB,GAA2C,IAAI;EAClE,CAACC,eAAe,GAAY,KAAK;EAEjC,CAACC,kBAAkBC,CAACxB,KAA6B,GAAG,QAAQ,EAAQ;IAClE,IAAI,CAAC,CAACkB,gBAAgB,EAAEO,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,CAACN,iBAAiB,EAAEM,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,CAACP,gBAAgB,GAAG,IAAI;IAC7B,IAAI,CAAC,CAACC,iBAAiB,GAAG,IAAI;IAC9B,IAAI,CAAC,CAACC,kBAAkB,GAAG,IAAI;IAC/B,IAAI,CAAC,CAACC,kBAAkB,GAAG,IAAI;IAE/B,IAAI,CAAC,CAACjB,QAAQ,GAAG,IAAI;IACrB,IAAI,CAAC,CAACE,QAAQ,GAAG,IAAI;IACrB,IAAI,CAAC,CAACD,SAAS,GAAG,KAAK;IACvB,IAAI,CAAC,CAACE,UAAU,GAAG,KAAK;IACxB,IAAI,CAAC,CAACC,mBAAmB,GAAG,IAAI;IAChC,IAAI,CAAC,CAACP,UAAU,GAAGC,SAAS;IAC5B,IAAI,CAAC,CAACF,KAAK,GAAGA,KAAK;IACnB,IAAI,CAAC,CAACG,SAAS,GAAG,KAAK;IACvB,IAAI,CAAC,CAACmB,eAAe,GAAGtB,KAAK,KAAK,WAAW;EAC/C;EAEA0B,WAAWA,CACTjB,GAAoB,EACpBC,QAAgB,EAChBC,UAAkB,EAClBC,WAAmB,EACnBC,YAAoB,EACpB;IACA,KAAK,CAAC,CAAC;IACP,IAAI,CAAC,CAACJ,GAAG,GAAGA,GAAG;IACf,IAAI,CAAC,CAACC,QAAQ,GAAGA,QAAQ;IACzB,IAAI,CAAC,CAACC,UAAU,GAAGA,UAAU;IAC7BnC,mBAAmB,CAACmD,GAAG,CAAC,IAAI,EAAEjB,QAAQ,CAAC;IACvC,IAAI,CAAC,CAACE,WAAW,GAAGA,WAAW;IAC/B,IAAI,CAAC,CAACC,YAAY,GAAGA,YAAY;;IAEjC;IACAnC,aAAa,CAACiD,GAAG,CAAC,IAAI,EAAE;MACtBC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAAC,CAAChB,WAAW;MAC/BiB,MAAM,EAAEA,CAAA,KAAM,IAAI,CAAC,CAAChB,YAAY;MAChCiB,aAAa,EAAEA,CAAA,KAAM,IAAI,CAAC,CAACnB,UAAU;MACrCoB,WAAW,EAAEA,CAAA,KAAM,IAAI,CAAC,CAAC/B,KAAK,KAAK,WAAW;MAC9CgC,WAAW,EAAGC,EAAU,IAAK;QAC3B,IAAI,CAAC,CAACvB,QAAQ,GAAGuB,EAAE;QACnBzD,mBAAmB,CAACmD,GAAG,CAAC,IAAI,EAAEM,EAAE,CAAC;MACnC,CAAC;MACDC,gBAAgB,EAAEA,CAAA,KAAM,IAAI,CAAC,CAACA,gBAAgB,CAAC;IACjD,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,CAACA,gBAAgBC,CAAA,EAAS;IACxB,MAAMC,YAAY,GAAG,IAAI,CAAC,CAACpC,KAAK,KAAK,WAAW;;IAEhD;IACA;IACA;IACA;IACA,MAAMqC,IAAI,GAAG,IAAIC,0BAAY,CAAC,2BAA2B,EAAE,cAAc,CAAC;IAC1E,IAAI,IAAI,CAAC,CAAClC,QAAQ,EAAE;MAClB,IAAI,CAAC,CAACC,SAAS,GAAG,IAAI;MACtB,IAAI;QACF,IAAI,CAAC,CAACe,kBAAkB,EAAEmB,KAAK,CAACF,IAAI,CAAC;MACvC,CAAC,CAAC,MAAM,CAAC;IACX;IACA,IAAI,IAAI,CAAC,CAAC/B,QAAQ,EAAE;MAClB,IAAI,CAAC,CAACC,UAAU,GAAG,IAAI;MACvB,IAAI;QACF,IAAI,CAAC,CAACc,kBAAkB,EAAEkB,KAAK,CAACF,IAAI,CAAC;MACvC,CAAC,CAAC,MAAM,CAAC;IACX;IACA,IAAI,CAAC,CAACd,kBAAkB,CAACa,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAE/D,IAAI,CAACI,aAAa,CAAC,IAAIC,kBAAK,CAAC,YAAY,CAAC,CAAC;EAC7C;;EAEA;AACF;AACA;EACE,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAAC,CAAC7C,MAAM,CAACC,OAAO;EAC7B;EAEA,IAAI4C,SAASA,CAACC,EAAmC,EAAE;IACjD,IAAI,IAAI,CAAC,CAAC9C,MAAM,CAACC,OAAO,EAAE;MACxB,IAAI,CAAC8C,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC/C,MAAM,CAACC,OAAO,CAAC;IAC3D;IACA,IAAI6C,EAAE,KAAK,IAAI,EAAE;MACf,IAAI,CAACE,gBAAgB,CAAC,SAAS,EAAEF,EAAE,CAAC;MACpC,IAAI,CAAC,CAAC9C,MAAM,CAACC,OAAO,GAAG6C,EAAE;IAC3B,CAAC,MAAM;MACL,IAAI,CAAC,CAAC9C,MAAM,CAACC,OAAO,GAAG,IAAI;IAC7B;EACF;;EAEA;AACF;AACA;EACE,IAAIgD,YAAYA,CAAA,EAAG;IACjB,OAAO,IAAI,CAAC,CAACjD,MAAM,CAACE,UAAU;EAChC;EAEA,IAAI+C,YAAYA,CAACH,EAAmC,EAAE;IACpD,IAAI,IAAI,CAAC,CAAC9C,MAAM,CAACE,UAAU,EAAE;MAC3B,IAAI,CAAC6C,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC/C,MAAM,CAACE,UAAU,CAAC;IACjE;IACA,IAAI4C,EAAE,KAAK,IAAI,EAAE;MACf,IAAI,CAACE,gBAAgB,CAAC,YAAY,EAAEF,EAAE,CAAC;MACvC,IAAI,CAAC,CAAC9C,MAAM,CAACE,UAAU,GAAG4C,EAAE;IAC9B,CAAC,MAAM;MACL,IAAI,CAAC,CAAC9C,MAAM,CAACE,UAAU,GAAG,IAAI;IAChC;EACF;;EAEA;AACF;AACA;EACE,IAAII,SAASA,CAAA,EAAY;IACvB;;IAEA;IACA,OAAO,IAAI,CAAC,CAACA,SAAS;EACxB;;EAEA;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAsC;IAChD;;IAEA;IACA,IAAI,IAAI,CAAC,CAACA,QAAQ,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC,CAACA,QAAQ;;IAElD;IACA,IAAI,IAAI,CAAC,CAACJ,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;;IAEzC;IACA,IAAI,IAAI,CAAC,CAACK,SAAS,EAAE,OAAO,IAAI;;IAEhC;IACA,MAAM0C,IAAI,GAAG,IAAI;IACjB,MAAMrC,QAAQ,GAAG,IAAI,CAAC,CAACA,QAAQ;IAC/B,MAAMC,UAAU,GAAG,IAAI,CAAC,CAACA,UAAU;IACnC,MAAMV,UAAU,GAAG,IAAI,CAAC,CAACA,UAAW;IAEpC,MAAM+C,MAAM,GAAG,IAAIC,kCAAc,CAC/B;MACEC,KAAKA,CAACC,UAAU,EAAE;QAChBJ,IAAI,CAAC,CAAC3B,kBAAkB,GAAG+B,UAAU;QACrCJ,IAAI,CAAC,CAAC7B,gBAAgB,GAAG6B,IAAI,CAAC,CAACtC,GAAG,CAAC2C,MAAM,CAAEC,KAAgB,IAAK;UAC9D,IACEA,KAAK,CAAC3C,QAAQ,KAAKA,QAAQ,IAC3B2C,KAAK,CAAC1C,UAAU,KAAKA,UAAU,EAC/B;YACAwC,UAAU,CAACG,OAAO,CAAC,IAAIC,UAAU,CAACF,KAAK,CAACG,IAAI,CAAC,CAAC;UAChD;QACF,CAAC,CAAC;QAEFT,IAAI,CAAC,CAAC5B,iBAAiB,GAAG4B,IAAI,CAAC,CAACtC,GAAG,CAACgD,OAAO,CAAEJ,KAAiB,IAAK;UACjE,IACEA,KAAK,CAAC3C,QAAQ,KAAKA,QAAQ,IAC3B2C,KAAK,CAAC1C,UAAU,KAAKA,UAAU,EAC/B;YACAoC,IAAI,CAAC,CAAC1C,SAAS,GAAG,IAAI,CAAC,CAAC;YACxB;YACA;YACA;YACA8C,UAAU,CAACZ,KAAK,CACd,IAAID,0BAAY,CACde,KAAK,CAACd,KAAK,EACXc,KAAK,CAACK,SAAS,IAAI,cACrB,CACF,CAAC;YACDX,IAAI,CAAC,CAACY,2BAA2B,CAAC,CAAC;UACrC;QACF,CAAC,CAAC;MACJ,CAAC;MACD,MAAMC,MAAMA,CAAA,EAAG;QACb;QACA;QACA,MAAMb,IAAI,CAAC,CAACtC,GAAG,CACZoD,cAAc,CAACnD,QAAQ,EAAEC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CACjDmD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClBf,IAAI,CAAC,CAACY,2BAA2B,CAAC,CAAC;MACrC;IACF,CAAC,EACD,IAAII,6CAAyB,CAAC;MAACC,aAAa,EAAE/D;IAAU,CAAC,CAC3D,CAAC;;IAED;IACA,IAAI,CAAC,CAACG,QAAQ,GAAG4C,MAAM;;IAEvB;IACA,OAAOA,MAAM;EACf;;EAEA;AACF;AACA;EACE,IAAI1C,QAAQA,CAAA,EAAsC;IAChD;;IAEA;IACA,IAAI,IAAI,CAAC,CAACA,QAAQ,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC,CAACA,QAAQ;;IAElD;IACA,IAAI,IAAI,CAAC,CAACN,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;;IAEzC;IACA,IAAI,IAAI,CAAC,CAACO,UAAU,EAAE,OAAO,IAAI;;IAEjC;IACA,MAAMwC,IAAI,GAAG,IAAI;IACjB,MAAMrC,QAAQ,GAAG,IAAI,CAAC,CAACA,QAAQ;IAC/B,MAAMC,UAAU,GAAG,IAAI,CAAC,CAACA,UAAU;IACnC,MAAMV,UAAU,GAAG,IAAI,CAAC,CAACA,UAAW;IAEpC,MAAM+C,MAAM,GAAG,IAAIiB,kCAAc,CAC/B;MACEf,KAAKA,CAACC,UAAU,EAAE;QAChBJ,IAAI,CAAC,CAAC1B,kBAAkB,GAAG8B,UAAU;MACvC,CAAC;MACD,MAAMe,KAAKA,CAACC,KAAK,EAAE;QACjB,IAAI;UACF,MAAMpB,IAAI,CAAC,CAACtC,GAAG,CAACyD,KAAK,CAACxD,QAAQ,EAAEC,UAAU,EAAEyD,KAAK,CAACC,IAAI,CAACF,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC,OAAOG,CAAC,EAAE;UACV;UACAvB,IAAI,CAAC,CAACxC,UAAU,GAAG,IAAI;UACvBwC,IAAI,CAAC,CAACwB,2BAA2B,CAAC,CAAC;UACnC,MAAM,IAAIjC,0BAAY,CACpB,iBAAkBgC,CAAC,CAAWE,OAAO,EAAE,EACvC,cACF,CAAC;QACH;MACF,CAAC;MACD,MAAMC,KAAKA,CAAA,EAAG;QACZ;QACA;QACA,MAAM1B,IAAI,CAAC,CAACtC,GAAG,CACZoD,cAAc,CAACnD,QAAQ,EAAEC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CACjDmD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClBf,IAAI,CAAC,CAACwB,2BAA2B,CAAC,CAAC;MACrC,CAAC;MACD,MAAMG,KAAKA,CAAA,EAAG;QACZ;QACA;QACA3B,IAAI,CAAC,CAACwB,2BAA2B,CAAC,CAAC;MACrC;IACF,CAAC,EACD,IAAIR,6CAAyB,CAAC;MAACC,aAAa,EAAE/D;IAAU,CAAC,CAC3D,CAAC;;IAED;IACA,IAAI,CAAC,CAACK,QAAQ,GAAG0C,MAAM;;IAEvB;IACA,OAAOA,MAAM;EACf;;EAEA;AACF;AACA;EACE2B,OAAOA,CAAA,EAAmB;IACxB;;IAEA;IACA,MAAMC,IAAoB,GAAGC,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC;;IAEhD;IACA,IAAI,IAAI,CAAC,CAAClE,WAAW,KAAKV,SAAS,EAAE;MACnC;MACA0E,IAAI,CAAChE,WAAW,GAAG,IAAI,CAAC,CAACA,WAAW;MACpC;MACAgE,IAAI,CAAC/D,YAAY,GAAG,IAAI,CAAC,CAACA,YAAY;IACxC;;IAEA;IACA;;IAEA;IACA,OAAO+D,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,IAAIA,CAACC,OAAsB,EAAiB;IAChD;;IAEA;IACA;IACA,IAAI,IAAI,CAAC,CAAChF,KAAK,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIsC,0BAAY,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;IAC1E;;IAEA;IACA;IACA,IAAI,CAAC2C,MAAM,CAACC,QAAQ,CAACF,OAAO,CAACG,QAAQ,CAAC,IAAIH,OAAO,CAACG,QAAQ,IAAI,CAAC,EAAE;MAC/D,MAAM,IAAIC,SAAS,CAAC,8CAA8C,CAAC;IACrE;;IAEA;IACA;IACA,MAAMC,QAAQ,GAAGL,OAAO,CAACK,QAAQ,IAAI1G,gBAAgB;IACrD,IAAI,CAACK,mBAAmB,CAACsG,QAAQ,CAACD,QAAQ,CAAC,EAAE;MAC3C,MAAM,IAAID,SAAS,CAAC,0BAA0B,CAAC;IACjD;;IAEA;IACA;IACA,MAAMG,QAAQ,GAAGP,OAAO,CAACO,QAAQ,IAAI3G,gBAAgB;IACrD,IAAI,CAACK,mBAAmB,CAACqG,QAAQ,CAACC,QAAQ,CAAC,EAAE;MAC3C,MAAM,IAAIH,SAAS,CAAC,0BAA0B,CAAC;IACjD;;IAEA;IACA;IACA,MAAMnF,UAAU,GAAG+E,OAAO,CAAC/E,UAAU,IAAInB,kBAAkB;IAC3D,IAAI,CAACmG,MAAM,CAACC,QAAQ,CAACjF,UAAU,CAAC,IAAIA,UAAU,IAAI,CAAC,EAAE;MACnD,MAAM,IAAImF,SAAS,CAAC,gDAAgD,CAAC;IACvE;IAEA,MAAM/F,MAAM,GAAG2F,OAAO,CAAC3F,MAAM,IAAIR,cAAc;IAC/C,IAAI,CAACK,iBAAiB,CAACoG,QAAQ,CAACjG,MAAM,CAAC,EAAE;MACvC,MAAM,IAAI+F,SAAS,CACjB,0BAA0BlG,iBAAiB,CAACsG,IAAI,CAAC,IAAI,CAAC,GACxD,CAAC;IACH;IAEA,MAAM9F,WAAW,GAAGsF,OAAO,CAACtF,WAAW,IAAIX,mBAAmB;IAC9D,IAAI,CAACI,sBAAsB,CAACmG,QAAQ,CAAC5F,WAAW,CAAC,EAAE;MACjD,MAAM,IAAI0F,SAAS,CACjB,+BAA+BjG,sBAAsB,CAACqG,IAAI,CAAC,IAAI,CAAC,GAClE,CAAC;IACH;;IAEA;IACA,IAAI,CAAC,CAACxF,KAAK,GAAG,SAAS;;IAEvB;IACA;IACA,MAAMyF,aAA0B,GAAG;MACjCN,QAAQ,EAAEH,OAAO,CAACG,QAAQ;MAC1BE,QAAQ;MACRE,QAAQ;MACRlG,MAAM,EAAED,cAAc,CAACC,MAAM;IAC/B,CAAC;IAED,IAAI;MACF,MAAM,IAAI,CAAC,CAACoB,GAAG,CAACsE,IAAI,CAAC,IAAI,CAAC,CAACrE,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,EAAE8E,aAAa,CAAC;IACvE,CAAC,CAAC,OAAOnB,CAAC,EAAE;MACV;MACA;MACA,IAAI,CAAC,CAACtE,KAAK,GAAG,QAAQ;MACtB,MAAM,IAAIsC,0BAAY,CACpB,+BAAgCgC,CAAC,CAAWE,OAAO,EAAE,EACrD,cACF,CAAC;IACH;IAEA,IAAI;MACF,IAAI9E,WAAW,KAAK,MAAM,EAAE;QAC1B,MAAM,IAAI,CAAC,CAACe,GAAG,CAACiF,cAAc,CAC5B,IAAI,CAAC,CAAChF,QAAQ,EACd,IAAI,CAAC,CAACC,UAAU,EAChBlB,mBAAmB,CAACC,WAAW,CACjC,CAAC;MACH;MAEA,MAAM,IAAI,CAAC,CAACe,GAAG,CAACkF,YAAY,CAAC,IAAI,CAAC,CAACjF,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;IAChE,CAAC,CAAC,OAAO2D,CAAC,EAAE;MACV;MACA;MACA,IAAI;QACF,MAAM,IAAI,CAAC,CAAC7D,GAAG,CAACiE,KAAK,CAAC,IAAI,CAAC,CAAChE,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;MACzD,CAAC,CAAC,MAAM;QACN;MAAA;MAGF,IAAI,CAAC,CAACY,kBAAkB,CAAC,IAAI,CAAC,CAACD,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;MAExE,MAAM,IAAIgB,0BAAY,CACpB,+BAAgCgC,CAAC,CAAWE,OAAO,EAAE,EACrD,cACF,CAAC;IACH;;IAEA;IACA;IACA,IAAI,IAAI,CAAC,CAACxE,KAAK,KAAK,SAAS,EAAE;MAC7B,IAAI;QACF,MAAM,IAAI,CAAC,CAACS,GAAG,CAACiE,KAAK,CAAC,IAAI,CAAC,CAAChE,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;MACzD,CAAC,CAAC,MAAM;QACN;MAAA;MAGF,IAAI,IAAI,CAAC,CAACX,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,CAACA,KAAK,KAAK,YAAY,EAAE;QAC/D,IAAI,CAAC,CAACuB,kBAAkB,CAAC,WAAW,CAAC;QACrC,MAAM,IAAIe,0BAAY,CACpB,4CAA4C,EAC5C,mBACF,CAAC;MACH;MAEA,IAAI,CAAC,CAACf,kBAAkB,CAAC,CAAC;MAC1B,MAAM,IAAIe,0BAAY,CACpB,0DAA0D,EAC1D,cACF,CAAC;IACH;IAEA,IAAI,CAAC,CAACtC,KAAK,GAAG,QAAQ,CAAC,CAAC;IACxB,IAAI,CAAC,CAACC,UAAU,GAAGA,UAAU,CAAC,CAAC;;IAE/B;IACA,IAAI,CAAC,CAACE,SAAS,GAAG,IAAI,CAAC,CAAC;IACxB;IACA;IACA;IACA;EACF;;EAEA;AACF;AACA;EACE,MAAMuE,KAAKA,CAAA,EAAkB;IAC3B;;IAEA;IACA;IACA,IAAI,IAAI,CAAC,CAAC1E,KAAK,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIsC,0BAAY,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IACtE;;IAEA;IACA;IACA,MAAMsD,aAAa,GAAG,IAAI,CAAC,CAACxF,QAAQ,GAChC,IAAI,CAAC,CAACA,QAAQ,CAACwD,MAAM,CAAC,CAAC,CAACE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GACvC+B,OAAO,CAACC,OAAO,CAAC,CAAC;;IAErB;IACA;IACA,MAAMC,YAAY,GAAG,IAAI,CAAC,CAACzF,QAAQ,GAC/B,IAAI,CAAC,CAACA,QAAQ,CAACmE,KAAK,CAAC,CAAC,CAACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GACtC+B,OAAO,CAACC,OAAO,CAAC,CAAC;;IAErB;IACA,MAAMtF,mBAAmB,GAAG,IAAAwF,8BAAqB,EAAO,CAAC;;IAEzD;IACA;IACA,IAAI,IAAI,CAAC,CAAC5F,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,CAACE,QAAQ,KAAK,IAAI,EAAE;MACtDE,mBAAmB,CAACsF,OAAO,CAAC,CAAC;IAC/B,CAAC,MAAM;MACL;MACA,IAAI,CAAC,CAACtF,mBAAmB,GAAGA,mBAAmB;IACjD;;IAEA;IACA,IAAI,CAAC,CAACR,KAAK,GAAG,SAAS;;IAEvB;IACA;IACA;IACA,MAAM6F,OAAO,CAACI,GAAG,CAAC,CAChBL,aAAa,EACbG,YAAY,EACZvF,mBAAmB,CAAC0F,OAAO,CAC5B,CAAC;;IAEF;IACA;IACA,IAAI;MACF,MAAM,IAAI,CAAC,CAACzF,GAAG,CAACiE,KAAK,CAAC,IAAI,CAAC,CAAChE,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;IACzD,CAAC,CAAC,MAAM;MACN;IAAA;;IAGF;IACA;IACA;IACA,IAAI,CAAC,CAACY,kBAAkB,CAAC,IAAI,CAAC,CAACD,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxE;IACA;EACF;;EAEA;AACF;AACA;EACE,MAAM6E,MAAMA,CAAA,EAAkB;IAC5B;;IAEA,IAAI,CAAC,CAAC7E,eAAe,GAAG,IAAI;;IAE5B;IACA;IACA,IAAI,IAAI,CAAC,CAACtB,KAAK,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAI,CAAC0E,KAAK,CAAC,CAAC;IACpB;;IAEA;IACA,IAAI,CAAC,CAAC1E,KAAK,GAAG,YAAY;IAC1B;IACA;IACA;IACA;IACA,IAAI,CAAC,CAACA,KAAK,GAAG,WAAW;EAC3B;;EAEA;AACF;AACA;EACE,MAAMoG,UAAUA,CAACC,OAA4B,GAAG,CAAC,CAAC,EAAiB;IACjE;;IAEA;IACA;IACA,IAAI,IAAI,CAAC,CAACrG,KAAK,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIsC,0BAAY,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IACtE;;IAEA;IACA;IACA,IACE+D,OAAO,CAACtF,iBAAiB,KAAKb,SAAS,IACvCmG,OAAO,CAACrF,aAAa,KAAKd,SAAS,IACnCmG,OAAO,CAACpF,KAAK,KAAKf,SAAS,EAC3B;MACA,MAAM,IAAIkF,SAAS,CAAC,wCAAwC,CAAC;IAC/D;;IAEA;IACA,IAAI,CAAC,CAACtE,aAAa,GAAG;MAAC,GAAG,IAAI,CAAC,CAACA,aAAa;MAAE,GAAGuF;IAAO,CAAC;IAE1D,MAAMC,QAAyB,GAAG,EAAE;;IAEpC;IACA;IACA,IAAID,OAAO,CAACtF,iBAAiB,KAAKb,SAAS,EAAE;MAC3CoG,QAAQ,CAACC,IAAI,CACX,IAAI,CAAC,CAAC9F,GAAG,CAAC+F,MAAM,CACd,IAAI,CAAC,CAAC9F,QAAQ,EACd,IAAI,CAAC,CAACC,UAAU,EAChB0F,OAAO,CAACtF,iBACV,CACF,CAAC;IACH;;IAEA;IACA;IACA,IAAIsF,OAAO,CAACrF,aAAa,KAAKd,SAAS,EAAE;MACvCoG,QAAQ,CAACC,IAAI,CACX,IAAI,CAAC,CAAC9F,GAAG,CAACgG,MAAM,CACd,IAAI,CAAC,CAAC/F,QAAQ,EACd,IAAI,CAAC,CAACC,UAAU,EAChB0F,OAAO,CAACrF,aACV,CACF,CAAC;IACH;;IAEA;IACA;IACA,IAAIqF,OAAO,CAACpF,KAAK,KAAKf,SAAS,EAAE;MAC/BoG,QAAQ,CAACC,IAAI,CACX,IAAI,CAAC,CAAC9F,GAAG,CAACiG,QAAQ,CAAC,IAAI,CAAC,CAAChG,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,EAAE0F,OAAO,CAACpF,KAAK,CACpE,CAAC;IACH;IAEA,IAAI;MACF,MAAM4E,OAAO,CAACI,GAAG,CAACK,QAAQ,CAAC;IAC7B,CAAC,CAAC,OAAOhC,CAAC,EAAE;MACV;MACA;MACA,MAAM,IAAIhC,0BAAY,CACpB,0BAA2BgC,CAAC,CAAWE,OAAO,EAAE,EAChD,cACF,CAAC;IACH;EACF;;EAEA;AACF;AACA;EACE,MAAMmC,UAAUA,CAAA,EAAgC;IAC9C;;IAEA;IACA;IACA,IAAI,IAAI,CAAC,CAAC3G,KAAK,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIsC,0BAAY,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IACtE;;IAEA;IACA;IACA,IAAI;MACF,MAAM,CAACsE,GAAG,EAAEC,GAAG,EAAEC,EAAE,EAAEC,GAAG,CAAC,GAAG,MAAMlB,OAAO,CAACI,GAAG,CAAC,CAC5C,IAAI,CAAC,CAACxF,GAAG,CAACuG,KAAK,CAAC,IAAI,CAAC,CAACtG,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;MAAE;MACnD,IAAI,CAAC,CAACF,GAAG,CAACwG,MAAM,CAAC,IAAI,CAAC,CAACvG,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;MAAE;MACpD,IAAI,CAAC,CAACF,GAAG,CAACyG,KAAK,CAAC,IAAI,CAAC,CAACxG,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC;MAAE;MACnD,IAAI,CAAC,CAACF,GAAG,CAAC0G,MAAM,CAAC,IAAI,CAAC,CAACzG,QAAQ,EAAE,IAAI,CAAC,CAACC,UAAU,CAAC,CAAE;MAAA,CACrD,CAAC;;MAEF;MACA,OAAO;QACLyG,iBAAiB,EAAER,GAAG;QACtBS,WAAW,EAAER,GAAG;QAChBS,aAAa,EAAER,EAAE;QACjBS,YAAY,EAAER;MAChB,CAAC;IACH,CAAC,CAAC,OAAOzC,CAAC,EAAE;MACV;MACA;MACA;MACA,MAAM,IAAIhC,0BAAY,CACpB,0BAA2BgC,CAAC,CAAWE,OAAO,EAAE,EAChD,cACF,CAAC;IACH;EACF;;EAEA;AACF;AACA;EACE,CAACb,2BAA2B6D,CAAA,EAAS;IACnC;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAI,CAAC,CAACtG,gBAAgB,EAAEO,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,CAACN,iBAAiB,EAAEM,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,CAACP,gBAAgB,GAAG,IAAI;IAC7B,IAAI,CAAC,CAACC,iBAAiB,GAAG,IAAI;IAC9B,IAAI,CAAC,CAACC,kBAAkB,GAAG,IAAI;;IAE/B;IACA,IAAI,CAAC,CAAChB,QAAQ,GAAG,IAAI;;IAErB;IACA;IACA,IAAI,IAAI,CAAC,CAACE,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,CAACE,mBAAmB,KAAK,IAAI,EAAE;MACjE,IAAI,CAAC,CAACA,mBAAmB,CAACsF,OAAO,CAAC,CAAC;IACrC;EACF;;EAEA;AACF;AACA;EACE,CAACvB,2BAA2BkD,CAAA,EAAS;IACnC;;IAEA,IAAI,CAAC,CAACpG,kBAAkB,GAAG,IAAI;;IAE/B;IACA,IAAI,CAAC,CAACf,QAAQ,GAAG,IAAI;;IAErB;IACA;IACA,IAAI,IAAI,CAAC,CAACF,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,CAACI,mBAAmB,KAAK,IAAI,EAAE;MACjE,IAAI,CAAC,CAACA,mBAAmB,CAACsF,OAAO,CAAC,CAAC;IACrC;EACF;AACF;;AAEA;AACA;AACA;AAFA4B,OAAA,CAAA/H,UAAA,GAAAA,UAAA;AAGO,MAAMgI,MAAM,SAAS/H,wBAAW,CAAC;EACtC,CAACC,MAAM,GAAG;IACRC,OAAO,EAAE,IAAuC;IAChDC,UAAU,EAAE;EACd,CAAC;EAED,CAACU,GAAG,GAA2B,IAAI;EACnC,CAACmH,UAAU,GAA4B,IAAIC,GAAG,CAAC,CAAC;EAChD,CAACC,WAAW,GAAG,KAAK;EACpB,CAACC,QAAQ;;EAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACErG,WAAWA,CAACsG,SAA2B,EAAE;IACvC,KAAK,CAAC,CAAC;IACP,IAAI,CAAC,CAACD,QAAQ,GAAGC,SAAS,IAAI,IAAI;EACpC;;EAEA;AACF;AACA;AACA;AACA;EACEnF,gBAAgBA,CAAC,GAAGoF,IAAiD,EAAQ;IAC3E,IAAI,CAAC,CAACC,UAAU,CAAC,CAAC;IAClB,KAAK,CAACrF,gBAAgB,CAAC,GAAGoF,IAAI,CAAC;EACjC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,CAACC,UAAUC,CAAA,EAA2B;IACpC,IAAI,IAAI,CAAC,CAACL,WAAW,EAAE,OAAO,IAAI,CAAC,CAACrH,GAAG;IACvC,IAAI,CAAC,CAACqH,WAAW,GAAG,IAAI;IACxB,IAAI;MACF,IAAI,CAAC,CAACrH,GAAG,GAAG,IAAI,CAAC,CAACsH,QAAQ,IAAI,IAAAK,uBAAY,EAAC,CAAC;;MAE5C;MACA;MACA;MACA;MACA,IAAI,CAAC,CAAC3H,GAAG,CAAC4H,SAAS,CAAEhF,KAAmB,IAAK;QAC3C;QACA;QACA;QACA,MAAMiF,UAAU,GAAGlE,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC,CAACuD,UAAU,CAACW,OAAO,CAAC,CAAC,CAAC,CAACC,MAAM,CAC9D,CAAC,GAAGC,IAAI,CAAC,KAAK;UACZ,MAAMC,SAAS,GAAGhK,aAAa,CAACiK,GAAG,CAACF,IAAI,CAAE;UAC1C,IAAIC,SAAS,CAAC9G,MAAM,CAAC,CAAC,KAAKyB,KAAK,CAACzC,WAAW,EAAE,OAAO,KAAK;UAC1D,IAAI8H,SAAS,CAAC7G,MAAM,CAAC,CAAC,KAAKwB,KAAK,CAACxC,YAAY,EAAE,OAAO,KAAK;UAC3D,IAAI6H,SAAS,CAAC3G,WAAW,CAAC,CAAC,EAAE,OAAO,KAAK;UACzC,OAAO,CAAC0G,IAAI,CAACtI,SAAS;QACxB,CACF,CAAC;QAED,IAAImI,UAAU,CAACM,MAAM,KAAK,CAAC,EAAE;UAC3B,MAAM,CAACC,GAAG,EAAEJ,IAAI,CAAC,GAAGH,UAAU,CAAC,CAAC,CAAC;UACjC,MAAMI,SAAS,GAAGhK,aAAa,CAACiK,GAAG,CAACF,IAAI,CAAE;UAC1CC,SAAS,CAAC1G,WAAW,CAACqB,KAAK,CAAC3C,QAAQ,CAAC;UACrC,MAAMoI,MAAM,GAAG,IAAI,CAAC,CAACC,OAAO,CAC1B1F,KAAK,CAAC3C,QAAQ,EACdgI,SAAS,CAAC5G,aAAa,CAAC,CAC1B,CAAC;UACD,IAAI,CAAC,CAAC8F,UAAU,CAACoB,MAAM,CAACH,GAAG,CAAC;UAC5B,IAAI,CAAC,CAACjB,UAAU,CAACjG,GAAG,CAACmH,MAAM,EAAEL,IAAI,CAAC;UAClC;UACA;UACAA,IAAI,CAACjG,aAAa,CAAC,IAAIC,kBAAK,CAAC,SAAS,CAAC,CAAC;UACxC;QACF;;QAEA;QACA;QACA,IAAI,CAACD,aAAa,CAAC,IAAIC,kBAAK,CAAC,SAAS,CAAC,CAAC;MAC1C,CAAC,CAAC;;MAEF;MACA;MACA;MACA;MACA,IAAI,CAAC,CAAChC,GAAG,CAACwI,YAAY,CAAE5F,KAAmB,IAAK;QAC9C,MAAM6F,MAAM,GAAG,GAAG7F,KAAK,CAAC3C,QAAQ,GAAG;QACnC,IAAIyI,OAAO,GAAG,KAAK;QACnB,KAAK,MAAM,CAACN,GAAG,EAAEJ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAACb,UAAU,CAACW,OAAO,CAAC,CAAC,CAAC,EAAE;UACzD,IAAIM,GAAG,CAACO,UAAU,CAACF,MAAM,CAAC,EAAE;YAC1B;YACA;YACAxK,aAAa,CAACiK,GAAG,CAACF,IAAI,CAAC,EAAEvG,gBAAgB,CAAC,CAAC;YAC3CiH,OAAO,GAAG,IAAI;UAChB;QACF;QACA;QACA;QACA,IAAI,CAACA,OAAO,EAAE,IAAI,CAAC3G,aAAa,CAAC,IAAIC,kBAAK,CAAC,YAAY,CAAC,CAAC;MAC3D,CAAC,CAAC;IACJ,CAAC,CAAC,MAAM;MACN,IAAI,CAAC,CAAChC,GAAG,GAAG,IAAI;IAClB;IACA,OAAO,IAAI,CAAC,CAACA,GAAG;EAClB;EACA;AACF;AACA;EACE,IAAIiC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAAC,CAAC7C,MAAM,CAACC,OAAO;EAC7B;EAEA,IAAI4C,SAASA,CAACC,EAAmC,EAAE;IACjD,IAAI,IAAI,CAAC,CAAC9C,MAAM,CAACC,OAAO,EAAE;MACxB,IAAI,CAAC8C,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC/C,MAAM,CAACC,OAAO,CAAC;IAC3D;IACA,IAAI6C,EAAE,KAAK,IAAI,EAAE;MACf,IAAI,CAACE,gBAAgB,CAAC,SAAS,EAAEF,EAAE,CAAC;MACpC,IAAI,CAAC,CAAC9C,MAAM,CAACC,OAAO,GAAG6C,EAAE;IAC3B,CAAC,MAAM;MACL,IAAI,CAAC,CAAC9C,MAAM,CAACC,OAAO,GAAG,IAAI;IAC7B;EACF;;EAEA;AACF;AACA;EACE,IAAIgD,YAAYA,CAAA,EAAG;IACjB,OAAO,IAAI,CAAC,CAACjD,MAAM,CAACE,UAAU;EAChC;EAEA,IAAI+C,YAAYA,CAACH,EAAmC,EAAE;IACpD,IAAI,IAAI,CAAC,CAAC9C,MAAM,CAACE,UAAU,EAAE;MAC3B,IAAI,CAAC6C,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC/C,MAAM,CAACE,UAAU,CAAC;IACjE;IACA,IAAI4C,EAAE,KAAK,IAAI,EAAE;MACf,IAAI,CAACE,gBAAgB,CAAC,YAAY,EAAEF,EAAE,CAAC;MACvC,IAAI,CAAC,CAAC9C,MAAM,CAACE,UAAU,GAAG4C,EAAE;IAC9B,CAAC,MAAM;MACL,IAAI,CAAC,CAAC9C,MAAM,CAACE,UAAU,GAAG,IAAI;IAChC;EACF;EAEA,CAACgJ,OAAOM,CAAC3I,QAAgB,EAAEC,UAAkB,EAAU;IACrD,OAAO,GAAGD,QAAQ,IAAIC,UAAU,EAAE;EACpC;;EAEA;AACF;AACA;EACE,MAAM2I,QAAQA,CAAA,EAA0B;IACtC;;IAEA,MAAM7I,GAAG,GAAG,IAAI,CAAC,CAACyH,UAAU,CAAC,CAAC;IAC9B,IAAI,CAACzH,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;;IAErB;IACA;IACA;IACA;IACA;IACA;IACA,MAAM8I,OAAO,GAAG,MAAM9I,GAAG,CAAC+I,cAAc,CAAC,CAAC;;IAE1C;IACA;IACA,MAAMC,KAAmB,GAAG,EAAE;IAC9B,KAAK,MAAM;MACT/I,QAAQ;MACRC,UAAU;MACVC,WAAW;MACXC,YAAY;MACZ6I;IACF,CAAC,IAAIH,OAAO,EAAE;MACZ,IAAI,CAACG,aAAa,EAAE;MACpB,MAAMb,GAAG,GAAG,IAAI,CAAC,CAACE,OAAO,CAACrI,QAAQ,EAAEC,UAAU,CAAC;MAC/C,MAAMgJ,KAAK,GAAG,IAAI,CAAC,CAAC/B,UAAU,CAACe,GAAG,CAACE,GAAG,CAAC;MACvC,IAAI,CAACc,KAAK,IAAIjL,aAAa,CAACiK,GAAG,CAACgB,KAAK,CAAC,EAAE5H,WAAW,CAAC,CAAC,EAAE;QACrD,MAAM0G,IAAI,GAAG,IAAI9I,UAAU,CACzBc,GAAG,EACHC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,YACF,CAAC;QACD;QACA,IAAA+I,2BAAc,EAACnB,IAAI,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,CAACb,UAAU,CAACjG,GAAG,CAACkH,GAAG,EAAEJ,IAAI,CAAC;MACjC;MACAgB,KAAK,CAAClD,IAAI,CAAC,IAAI,CAAC,CAACqB,UAAU,CAACe,GAAG,CAACE,GAAG,CAAE,CAAC;IACxC;;IAEA;IACA,OAAOY,KAAK;EACd;;EAEA;AACF;AACA;EACE,MAAMI,WAAWA,CACf7E,OAAiC,GAAG,CAAC,CAAC,EACjB;IACrB;;IAEA,MAAMvE,GAAG,GAAG,IAAI,CAAC,CAACyH,UAAU,CAAC,CAAC;IAC9B,IAAI,CAACzH,GAAG,EAAE;MACR,MAAM,IAAI6B,0BAAY,CACpB,mCAAmC,EACnC,eACF,CAAC;IACH;IAEA,IAAI,CAAC0C,OAAO,CAAC8E,+BAA+B,EAAElB,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;MAC9D,MAAM,IAAIxD,SAAS,CACjB,uEACF,CAAC;IACH;;IAEA;IACA;IACA,IAAIJ,OAAO,CAAC+E,OAAO,EAAE;MACnB,KAAK,MAAMvB,MAAM,IAAIxD,OAAO,CAAC+E,OAAO,EAAE;QACpC,IAAIvB,MAAM,CAACwB,uBAAuB,KAAK9J,SAAS,EAAE;UAChD;UACA;UACA,IAAIsI,MAAM,CAAC5H,WAAW,KAAKV,SAAS,EAAE;YACpC,MAAM,IAAIkF,SAAS,CACjB,uEACF,CAAC;UACH;UACA;UACA;UACA,IAAIoD,MAAM,CAAC3H,YAAY,KAAKX,SAAS,EAAE;YACrC,MAAM,IAAIkF,SAAS,CACjB,wEACF,CAAC;UACH;QACF,CAAC,MAAM,IAAIoD,MAAM,CAAC5H,WAAW,KAAKV,SAAS,EAAE;UAC3C;UACA;UACA,MAAM,IAAIkF,SAAS,CACjB,uFACF,CAAC;QACH;MACF;IACF;;IAEA;IACA;IACA;IACA,MAAM6E,aAAa,GAAG,CAACjF,OAAO,CAAC+E,OAAO,IAAI,EAAE,EACzCvB,MAAM,CAAC0B,CAAC,IAAIA,CAAC,CAACtJ,WAAW,KAAKV,SAAS,CAAC,CACxCiK,GAAG,CAACD,CAAC,KAAK;MAACtJ,WAAW,EAAEsJ,CAAC,CAACtJ,WAAW;MAAEC,YAAY,EAAEqJ,CAAC,CAACrJ;IAAY,CAAC,CAAC,CAAC;IAEzE,IAAIuJ,MAAc;IAClB,IAAI;MACFA,MAAM,GAAG,MAAM3J,GAAG,CAAC4J,cAAc,CAACJ,aAAa,CAAC;IAClD,CAAC,CAAC,MAAM;MACN;MACA;MACA,MAAM,IAAI3H,0BAAY,CAAC,+BAA+B,EAAE,eAAe,CAAC;IAC1E;;IAEA;IACA,MAAMuG,GAAG,GAAG,GAAGuB,MAAM,CAAC1J,QAAQ,IAAI0J,MAAM,CAACzJ,UAAU,EAAE;IACrD,MAAMgJ,KAAK,GAAG,IAAI,CAAC,CAAC/B,UAAU,CAACe,GAAG,CAACE,GAAG,CAAC;IACvC,IAAI,CAACc,KAAK,IAAIjL,aAAa,CAACiK,GAAG,CAACgB,KAAK,CAAC,EAAE5H,WAAW,CAAC,CAAC,EAAE;MACrD,MAAM0G,IAAI,GAAG,IAAI9I,UAAU,CACzBc,GAAG,EACH2J,MAAM,CAAC1J,QAAQ,EACf0J,MAAM,CAACzJ,UAAU,EACjByJ,MAAM,CAACxJ,WAAW,EAClBwJ,MAAM,CAACvJ,YACT,CAAC;MACD;MACA,IAAA+I,2BAAc,EAACnB,IAAI,EAAE,IAAI,CAAC;MAC1B,IAAI,CAAC,CAACb,UAAU,CAACjG,GAAG,CAACkH,GAAG,EAAEJ,IAAI,CAAC;IACjC;;IAEA;IACA,OAAO,IAAI,CAAC,CAACb,UAAU,CAACe,GAAG,CAACE,GAAG,CAAC;EAClC;AACF;AAACnB,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAEM,MAAM2C,MAAM,GAAA5C,OAAA,CAAA4C,MAAA,GAAG,IAAI3C,MAAM,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_domException","require","_eventTarget","_promise","_webStreams","_UsbSerial","serialPortDeviceIds","WeakMap","portInternals","kDefaultDataBits","kDefaultStopBits","kDefaultParity","kDefaultBufferSize","kDefaultFlowControl","kAcceptableDataBits","kAcceptableStopBits","kAcceptableParity","kAcceptableFlowControl","parityToNative","parity","FLOW_CONTROL_NATIVE","none","hardware","flowControlToNative","flowControl","bufferSourceToBytes","chunk","Uint8Array","Array","from","ArrayBuffer","isView","buffer","byteOffset","byteLength","SerialPort","EventTarget","events","connect","disconnect","state","bufferSize","undefined","connected","readable","readFatal","writable","writeFatal","pendingClosePromise","usb","deviceId","portNumber","usbVendorId","usbProductId","baudRate","dataSubscription","errorSubscription","readableController","writableController","forgetRequested","resetToClosedState","#resetToClosedState","remove","writeTimeoutFor","#writeTimeoutFor","length","kMinTimeoutMs","baud","estimatedMs","Math","ceil","max","constructor","set","getVid","getPid","getPortNumber","isForgotten","setDeviceId","id","handleDeviceLost","handleDeviceDetached","#handleDeviceLost","wasForgotten","lost","DOMException","error","dispatchEvent","Event","#handleDeviceDetached","queueMicrotask","close","handleClosingReadableStream","handleClosingWritableStream","onconnect","fn","removeEventListener","addEventListener","ondisconnect","self","stream","ReadableStream","start","controller","onData","event","enqueue","data","onError","errorName","cancel","purgeHwBuffers","catch","ByteLengthQueuingStrategy","highWaterMark","WritableStream","write","bytes","e","message","abort","getInfo","info","Object","create","open","options","Number","isFinite","TypeError","dataBits","includes","stopBits","join","nativeOptions","setFlowControl","startReading","cancelPromise","Promise","resolve","abortPromise","createDeferredPromise","all","promise","forget","setSignals","signals","dataTerminalReady","requestToSend","break","promises","push","setDTR","setRTS","setBreak","getSignals","dcd","cts","ri","dsr","getCD","getCTS","getRI","getDSR","dataCarrierDetect","clearToSend","ringIndicator","dataSetReady","#handleClosingReadableStream","#handleClosingWritableStream","exports","Serial","knownPorts","Map","initialized","injected","transport","args","ensureInit","#ensureInit","getUsbSerial","onConnect","candidates","entries","filter","port","internals","get","key","newKey","portKey","delete","onDisconnect","wasLost","prefix","matched","startsWith","#portKey","getPorts","portIds","findAllDrivers","ports","hasPermission","known","setEventParent","requestPort","allowedBluetoothServiceClassIds","filters","bluetoothServiceClassId","nativeFilters","f","map","portId","showPortPicker","serial"],"sourceRoot":"../../src","sources":["WebSerial.ts"],"mappings":"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","ignoreList":[]}
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "Event", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _eventTarget.Event;
9
+ return _eventTarget.EventImpl;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "EventTarget", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _eventTarget.EventTarget;
15
+ return _eventTarget.EventTargetImpl;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "Serial", {
@@ -1 +1 @@
1
- {"version":3,"names":["_serial","_interopRequireDefault","require","UsbSerial","_interopRequireWildcard","exports","_WebSerial","_eventTarget","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAyDG,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAUzD,IAAAG,UAAA,GAAAJ,OAAA;AAIA,IAAAK,YAAA,GAAAL,OAAA;AAAsD,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAR,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_serial","_interopRequireDefault","require","UsbSerial","_interopRequireWildcard","exports","_WebSerial","_eventTarget","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAyDG,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAUzD,IAAAG,UAAA,GAAAJ,OAAA;AAIA,IAAAK,YAAA,GAAAL,OAAA;AAG4B,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAR,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.EventTarget = exports.Event = void 0;
6
+ exports.EventTargetImpl = exports.EventTarget = exports.EventImpl = exports.Event = void 0;
7
7
  exports.setEventParent = setEventParent;
8
8
  class Event {
9
9
  target = null;
@@ -135,4 +135,6 @@ class EventTarget {
135
135
  }
136
136
  }
137
137
  exports.EventTarget = EventTarget;
138
+ const EventImpl = exports.EventImpl = typeof globalThis.Event === 'function' ? globalThis.Event : Event;
139
+ const EventTargetImpl = exports.EventTargetImpl = typeof globalThis.EventTarget === 'function' ? globalThis.EventTarget : EventTarget;
138
140
  //# sourceMappingURL=event-target.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Event","target","currentTarget","defaultPrevented","cancelBubble","_stopImmediatePropagationFlag","timeStamp","Date","now","isTrusted","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","eventPhase","constructor","type","options","bubbles","cancelable","composed","preventDefault","stopPropagation","stopImmediatePropagation","composedPath","initEvent","exports","wm","WeakMap","eventParents","setEventParent","child","parent","set","define","name","value","Object","defineProperty","configurable","writable","dispatch","info","once","removeEventListener","listener","call","handleEvent","EventTarget","create","addEventListener","secret","get","listeners","i","length","push","dispatchEvent","event","node","slice","some","_options","splice"],"sourceRoot":"../../../src","sources":["lib/event-target.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Event","target","currentTarget","defaultPrevented","cancelBubble","_stopImmediatePropagationFlag","timeStamp","Date","now","isTrusted","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","eventPhase","constructor","type","options","bubbles","cancelable","composed","preventDefault","stopPropagation","stopImmediatePropagation","composedPath","initEvent","exports","wm","WeakMap","eventParents","setEventParent","child","parent","set","define","name","value","Object","defineProperty","configurable","writable","dispatch","info","once","removeEventListener","listener","call","handleEvent","EventTarget","create","addEventListener","secret","get","listeners","i","length","push","dispatchEvent","event","node","slice","some","_options","splice","EventImpl","globalThis","EventTargetImpl"],"sourceRoot":"../../../src","sources":["lib/event-target.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ByteLengthQueuingStrategyImpl = void 0;
7
+ Object.defineProperty(exports, "ByteLengthQueuingStrategyPolyfill", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _webStreamsPolyfill.ByteLengthQueuingStrategy;
11
+ }
12
+ });
13
+ exports.ReadableStreamImpl = void 0;
14
+ Object.defineProperty(exports, "ReadableStreamPolyfill", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _webStreamsPolyfill.ReadableStream;
18
+ }
19
+ });
20
+ exports.WritableStreamImpl = void 0;
21
+ Object.defineProperty(exports, "WritableStreamPolyfill", {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _webStreamsPolyfill.WritableStream;
25
+ }
26
+ });
27
+ var _webStreamsPolyfill = require("web-streams-polyfill");
28
+ function getCtor(name, fallback) {
29
+ const value = globalThis[name];
30
+ return typeof value === 'function' ? value : fallback;
31
+ }
32
+ const ReadableStreamImpl = exports.ReadableStreamImpl = getCtor('ReadableStream', _webStreamsPolyfill.ReadableStream);
33
+ const WritableStreamImpl = exports.WritableStreamImpl = getCtor('WritableStream', _webStreamsPolyfill.WritableStream);
34
+ const ByteLengthQueuingStrategyImpl = exports.ByteLengthQueuingStrategyImpl = getCtor('ByteLengthQueuingStrategy', _webStreamsPolyfill.ByteLengthQueuingStrategy);
35
+
36
+ // Companion TYPE aliases so that `Impl as X` imports carry a type too. Without
37
+ // these, an annotation like `ReadableStream<Uint8Array>` (where `ReadableStream`
38
+ // is the imported value) falls back to the ambient *global* ReadableStream and
39
+ // no longer matches the polyfill instances actually constructed — the runtime
40
+ // pick stays native-or-polyfill; only the static type is anchored to the
41
+ // (structurally faithful) polyfill instance type.
42
+ //# sourceMappingURL=web-streams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_webStreamsPolyfill","require","getCtor","name","fallback","value","globalThis","ReadableStreamImpl","exports","ReadableStreamPolyfill","WritableStreamImpl","WritableStreamPolyfill","ByteLengthQueuingStrategyImpl","ByteLengthQueuingStrategyPolyfill"],"sourceRoot":"../../../src","sources":["lib/web-streams.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAQA,SAASC,OAAOA,CAAIC,IAAY,EAAEC,QAAW,EAAK;EAChD,MAAMC,KAAK,GAAIC,UAAU,CAAiBH,IAAI,CAAC;EAC/C,OAAO,OAAOE,KAAK,KAAK,UAAU,GAAIA,KAAK,GAASD,QAAQ;AAC9D;AAQO,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGL,OAAO,CACvC,gBAAgB,EAChBO,kCACF,CAAC;AAEM,MAAMC,kBAAkB,GAAAF,OAAA,CAAAE,kBAAA,GAAGR,OAAO,CACvC,gBAAgB,EAChBS,kCACF,CAAC;AAEM,MAAMC,6BAA6B,GAAAJ,OAAA,CAAAI,6BAAA,GAAGV,OAAO,CAClD,2BAA2B,EAC3BW,6CACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDeviceFixture = createDeviceFixture;
7
+ var _UsbSerial = require("../UsbSerial");
8
+ var _WebSerial = require("../WebSerial");
9
+ var _inMemorySerialTransport = require("./in-memory-serial-transport");
10
+ var _serialClient = require("./serial-client");
11
+ /**
12
+ * `createDeviceFixture` — the one-call fixture for testing serial code. It wires a
13
+ * {@link SimulatedDevice} simulator to an {@link InMemorySerialTransport} + `Serial`,
14
+ * and hands back everything a test needs to drive *both* sides:
15
+ *
16
+ * - `serial`/`port` — what the app-under-test consumes,
17
+ * - `simulatedDevice` (typed) + `device` handle — drive the device (inject data,
18
+ * move the GPS, inject faults),
19
+ * - `client` — a host-side {@link SerialClient} (for protocol tests), and
20
+ * - `whenOpened()/whenClosed()` — `await` the app connecting.
21
+ *
22
+ * @example Test how your app reacts to a device event
23
+ * const {simulatedDevice, device, whenOpened} = await createDeviceFixture(new MyGps());
24
+ * renderMyApp(); // opens the port itself
25
+ * await whenOpened();
26
+ * simulatedDevice.update({latitude: 51.48, longitude: 0});
27
+ * // …assert your app's UI updated
28
+ */
29
+
30
+ async function createDeviceFixture(deviceOrDevices, options = {}) {
31
+ const list = Array.isArray(deviceOrDevices) ? deviceOrDevices : [deviceOrDevices];
32
+ const hasPermission = options.hasPermission ?? true;
33
+ const transport = new _inMemorySerialTransport.InMemorySerialTransport(options.transport);
34
+ const handles = list.map((dev, i) => transport.addDevice(dev, {
35
+ hasPermission,
36
+ ...(Array.isArray(deviceOrDevices) ? options.devices?.[i] : options.device)
37
+ }));
38
+ const serial = new _WebSerial.Serial(transport);
39
+ if (options.installGlobally) (0, _UsbSerial.setUsbSerial)(transport);
40
+ const ports = await serial.getPorts();
41
+ const clients = ports.map(p => new _serialClient.SerialClient(p, {
42
+ defaultTimeoutMs: options.client?.defaultTimeoutMs
43
+ }));
44
+ if (!Array.isArray(deviceOrDevices)) {
45
+ const handle = handles[0];
46
+ const port = ports[0];
47
+ if (!port) throw new Error('createDeviceFixture: device did not enumerate');
48
+ return {
49
+ transport,
50
+ serial,
51
+ port,
52
+ device: handle,
53
+ simulatedDevice: deviceOrDevices,
54
+ client: clients[0],
55
+ whenOpened: () => handle.whenOpened(),
56
+ whenClosed: () => handle.whenClosed()
57
+ };
58
+ }
59
+ return {
60
+ transport,
61
+ serial,
62
+ ports,
63
+ devices: handles,
64
+ simulatedDevices: list,
65
+ clients,
66
+ whenOpened: index => index === undefined ? Promise.race(handles.map(h => h.whenOpened())) : handles[index].whenOpened(),
67
+ whenClosed: index => index === undefined ? Promise.race(handles.map(h => h.whenClosed())) : handles[index].whenClosed()
68
+ };
69
+ }
70
+ //# sourceMappingURL=device-fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_UsbSerial","require","_WebSerial","_inMemorySerialTransport","_serialClient","createDeviceFixture","deviceOrDevices","options","list","Array","isArray","hasPermission","transport","InMemorySerialTransport","handles","map","dev","i","addDevice","devices","device","serial","Serial","installGlobally","setUsbSerial","ports","getPorts","clients","p","SerialClient","defaultTimeoutMs","client","handle","port","Error","simulatedDevice","whenOpened","whenClosed","simulatedDevices","index","undefined","Promise","race","h"],"sourceRoot":"../../../src","sources":["testing/device-fixture.ts"],"mappings":";;;;;;AAmBA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,wBAAA,GAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AA9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwEO,eAAeI,mBAAmBA,CACvCC,eAAoD,EACpDC,OAA6B,GAAG,CAAC,CAAC,EACqB;EACvD,MAAMC,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACJ,eAAe,CAAC,GACvCA,eAAe,GACf,CAACA,eAAe,CAAC;EACrB,MAAMK,aAAa,GAAGJ,OAAO,CAACI,aAAa,IAAI,IAAI;EACnD,MAAMC,SAAS,GAAG,IAAIC,gDAAuB,CAACN,OAAO,CAACK,SAAS,CAAC;EAChE,MAAME,OAAO,GAAGN,IAAI,CAACO,GAAG,CAAC,CAACC,GAAG,EAAEC,CAAC,KAC9BL,SAAS,CAACM,SAAS,CAACF,GAAG,EAAE;IACvBL,aAAa;IACb,IAAIF,KAAK,CAACC,OAAO,CAACJ,eAAe,CAAC,GAC9BC,OAAO,CAACY,OAAO,GAAGF,CAAC,CAAC,GACpBV,OAAO,CAACa,MAAM;EACpB,CAAC,CACH,CAAC;EACD,MAAMC,MAAM,GAAG,IAAIC,iBAAM,CAACV,SAAS,CAAC;EACpC,IAAIL,OAAO,CAACgB,eAAe,EAAE,IAAAC,uBAAY,EAACZ,SAAS,CAAC;EAEpD,MAAMa,KAAK,GAAG,MAAMJ,MAAM,CAACK,QAAQ,CAAC,CAAC;EACrC,MAAMC,OAAO,GAAGF,KAAK,CAACV,GAAG,CACvBa,CAAC,IACC,IAAIC,0BAAY,CAACD,CAAC,EAAE;IAClBE,gBAAgB,EAAEvB,OAAO,CAACwB,MAAM,EAAED;EACpC,CAAC,CACL,CAAC;EAED,IAAI,CAACrB,KAAK,CAACC,OAAO,CAACJ,eAAe,CAAC,EAAE;IACnC,MAAM0B,MAAM,GAAGlB,OAAO,CAAC,CAAC,CAAC;IACzB,MAAMmB,IAAI,GAAGR,KAAK,CAAC,CAAC,CAAC;IACrB,IAAI,CAACQ,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;IAC3E,OAAO;MACLtB,SAAS;MACTS,MAAM;MACNY,IAAI;MACJb,MAAM,EAAEY,MAAM;MACdG,eAAe,EAAE7B,eAAe;MAChCyB,MAAM,EAAEJ,OAAO,CAAC,CAAC,CAAC;MAClBS,UAAU,EAAEA,CAAA,KAAMJ,MAAM,CAACI,UAAU,CAAC,CAAC;MACrCC,UAAU,EAAEA,CAAA,KAAML,MAAM,CAACK,UAAU,CAAC;IACtC,CAAC;EACH;EAEA,OAAO;IACLzB,SAAS;IACTS,MAAM;IACNI,KAAK;IACLN,OAAO,EAAEL,OAAO;IAChBwB,gBAAgB,EAAE9B,IAAI;IACtBmB,OAAO;IACPS,UAAU,EAAGG,KAAc,IACzBA,KAAK,KAAKC,SAAS,GACfC,OAAO,CAACC,IAAI,CAAC5B,OAAO,CAACC,GAAG,CAAC4B,CAAC,IAAIA,CAAC,CAACP,UAAU,CAAC,CAAC,CAAC,CAAC,GAC9CtB,OAAO,CAACyB,KAAK,CAAC,CAACH,UAAU,CAAC,CAAC;IACjCC,UAAU,EAAGE,KAAc,IACzBA,KAAK,KAAKC,SAAS,GACfC,OAAO,CAACC,IAAI,CAAC5B,OAAO,CAACC,GAAG,CAAC4B,CAAC,IAAIA,CAAC,CAACN,UAAU,CAAC,CAAC,CAAC,CAAC,GAC9CvB,OAAO,CAACyB,KAAK,CAAC,CAACF,UAAU,CAAC;EAClC,CAAC;AACH","ignoreList":[]}