yamchart 0.10.0 → 0.10.2

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 (109) hide show
  1. package/dist/{advisor-O2BRAI4T.js → advisor-5F73GF54.js} +13 -13
  2. package/dist/{advisor-O2BRAI4T.js.map → advisor-5F73GF54.js.map} +1 -1
  3. package/dist/agent-TZZHNDPK.js +1 -0
  4. package/dist/{chunk-S2CH4HUZ.js → chunk-25ES7MGF.js} +5 -4
  5. package/dist/{chunk-QUIDZO5G.js → chunk-5CRXV5PQ.js} +23 -6
  6. package/dist/chunk-5CRXV5PQ.js.map +1 -0
  7. package/dist/chunk-7D4SUZUM.js +1 -0
  8. package/dist/chunk-7HWFVUGP.js +1239 -0
  9. package/dist/chunk-7HWFVUGP.js.map +1 -0
  10. package/dist/chunk-DZVT6PHW.js +1 -0
  11. package/dist/chunk-EAQXUGP6.js +1 -0
  12. package/dist/chunk-HJVVHYVN.js +1 -0
  13. package/dist/chunk-IVD4OP3K.js +1 -0
  14. package/dist/{chunk-5FHV22X2.js → chunk-PYVROL7Z.js} +5 -4
  15. package/dist/chunk-TZKNU5TD.js +1 -0
  16. package/dist/chunk-UOSOZT47.js +966 -0
  17. package/dist/chunk-UOSOZT47.js.map +1 -0
  18. package/dist/chunk-VJC24RKT.js +1 -0
  19. package/dist/{chunk-ZBCQNWVN.js → chunk-WVSDQNAN.js} +6 -5
  20. package/dist/chunk-WYS4ULBE.js +1 -0
  21. package/dist/{chunk-UFDQ3C7Q.js → chunk-X3UG6T3Q.js} +258 -257
  22. package/dist/chunk-X3UG6T3Q.js.map +1 -0
  23. package/dist/chunk-ZMJPRNOA.js +1 -0
  24. package/dist/compare-RQFCEZIK.js +1 -0
  25. package/dist/connection-utils-HNX3473B.js +20 -0
  26. package/dist/{describe-MEP72B56.js → describe-KDGXFPDQ.js} +8 -7
  27. package/dist/{dev-LZ4YHNDJ.js → dev-KOWFGDOP.js} +934 -128
  28. package/dist/dev-KOWFGDOP.js.map +1 -0
  29. package/dist/dev-supervisor-JXLVGEHP.js +43 -0
  30. package/dist/dev-supervisor-JXLVGEHP.js.map +1 -0
  31. package/dist/{dist-5IFWLWND.js → dist-LK3ZG74Q.js} +6 -6
  32. package/dist/dist-MIKFZKSD.js +1 -0
  33. package/dist/{dist-PPAD6KOM.js → dist-WMP7BFKP.js} +25 -2
  34. package/dist/{dist-XNCED7JW.js → dist-YB5RBWCC.js} +5 -4
  35. package/dist/generate-B7FAWVIQ.js +1 -0
  36. package/dist/index.js +66 -42
  37. package/dist/index.js.map +1 -1
  38. package/dist/{init-SECXKD5G.js → init-TJJVKMEN.js} +25 -5
  39. package/dist/init-TJJVKMEN.js.map +1 -0
  40. package/dist/lineage-HYO4RKZT.js +1 -0
  41. package/dist/public/assets/DataView-BfwnWnLH.js +9 -0
  42. package/dist/public/assets/{EventManagement-BnmeJDQl.js → EventManagement-BIkVUSCe.js} +2 -2
  43. package/dist/public/assets/ExplorePage-CeaAulqT.js +1 -0
  44. package/dist/public/assets/{LoginPage-CzaFkkjg.js → LoginPage-4WeNcdRi.js} +1 -1
  45. package/dist/public/assets/{PublicViewer-irjxqH6a.js → PublicViewer-CkW-G56D.js} +1 -1
  46. package/dist/public/assets/{SetupWizard-ConWIcmy.js → SetupWizard-CwTr3PCy.js} +1 -1
  47. package/dist/public/assets/{ShareManagement-CP4wdwLR.js → ShareManagement-DSon6CoC.js} +1 -1
  48. package/dist/public/assets/{SourceDetailView-DZS5518E.js → SourceDetailView-BA4XVKqV.js} +1 -1
  49. package/dist/public/assets/UserManagement-BWD2Ugkv.js +1 -0
  50. package/dist/public/assets/{index-C1X8RW4Z.css → index-Cb4omrVn.css} +1 -1
  51. package/dist/public/assets/{index-jlfTO7f5.js → index-iR9gLdl9.js} +41 -41
  52. package/dist/public/assets/{index.es-CgnvEWi5.js → index.es-BuEtjxhO.js} +1 -1
  53. package/dist/public/assets/{jspdf.es.min-Cw5WefMt.js → jspdf.es.min-CScx2_oK.js} +3 -3
  54. package/dist/public/index.html +2 -2
  55. package/dist/{query-2H3YOPI2.js → query-7XHKSZ5H.js} +6 -5
  56. package/dist/reset-password-YVCZKZPC.js +1 -0
  57. package/dist/rewrite-database-BOA4QPUR.js +1 -0
  58. package/dist/sample-YNSJ3I3T.js +76 -0
  59. package/dist/sample-YNSJ3I3T.js.map +1 -0
  60. package/dist/{search-IPE4ISFB.js → search-NKRXXLRS.js} +8 -7
  61. package/dist/semantic-DD7P4634.js +30 -0
  62. package/dist/semantic-NBAX4WU4.js +76 -0
  63. package/dist/semantic-NBAX4WU4.js.map +1 -0
  64. package/dist/source-resolver-7NY3KEZ2.js +19 -0
  65. package/dist/source-resolver-7NY3KEZ2.js.map +1 -0
  66. package/dist/sync-dbt-72GVO75P.js +1 -0
  67. package/dist/{sync-warehouse-26L6JDSV.js → sync-warehouse-PK7HXW7U.js} +11 -6
  68. package/dist/sync-warehouse-PK7HXW7U.js.map +1 -0
  69. package/dist/{tables-K5NAN2WK.js → tables-WQTRZSXR.js} +8 -7
  70. package/dist/templates/default/docs/yamchart-reference.md +26 -0
  71. package/dist/{test-SRHVOXZB.js → test-MKNKUR3N.js} +20 -7
  72. package/dist/test-MKNKUR3N.js.map +1 -0
  73. package/dist/update-HWCJNQRP.js +1 -0
  74. package/package.json +9 -7
  75. package/dist/chunk-FN6R2LAC.js +0 -15442
  76. package/dist/chunk-FN6R2LAC.js.map +0 -1
  77. package/dist/chunk-QJ5CPQJK.js +0 -2053
  78. package/dist/chunk-QJ5CPQJK.js.map +0 -1
  79. package/dist/chunk-QUIDZO5G.js.map +0 -1
  80. package/dist/chunk-UFDQ3C7Q.js.map +0 -1
  81. package/dist/chunk-ZIY22VO7.js +0 -1189
  82. package/dist/chunk-ZIY22VO7.js.map +0 -1
  83. package/dist/connection-utils-FEUWER5I.js +0 -19
  84. package/dist/dev-LZ4YHNDJ.js.map +0 -1
  85. package/dist/fileFromPath-7TNUU6RI.js +0 -130
  86. package/dist/fileFromPath-7TNUU6RI.js.map +0 -1
  87. package/dist/init-SECXKD5G.js.map +0 -1
  88. package/dist/public/assets/DataView-DUCz_96y.js +0 -9
  89. package/dist/public/assets/ExplorePage-kk4z9ldZ.js +0 -1
  90. package/dist/public/assets/UserManagement-AubGd9hl.js +0 -1
  91. package/dist/sample-ODUGGSFA.js +0 -41
  92. package/dist/sample-ODUGGSFA.js.map +0 -1
  93. package/dist/semantic-K3MYXXJI.js +0 -40
  94. package/dist/semantic-K3MYXXJI.js.map +0 -1
  95. package/dist/source-resolver-HZQLOODU.js +0 -18
  96. package/dist/sync-warehouse-26L6JDSV.js.map +0 -1
  97. package/dist/test-SRHVOXZB.js.map +0 -1
  98. /package/dist/{chunk-S2CH4HUZ.js.map → chunk-25ES7MGF.js.map} +0 -0
  99. /package/dist/{chunk-5FHV22X2.js.map → chunk-PYVROL7Z.js.map} +0 -0
  100. /package/dist/{chunk-ZBCQNWVN.js.map → chunk-WVSDQNAN.js.map} +0 -0
  101. /package/dist/{connection-utils-FEUWER5I.js.map → connection-utils-HNX3473B.js.map} +0 -0
  102. /package/dist/{describe-MEP72B56.js.map → describe-KDGXFPDQ.js.map} +0 -0
  103. /package/dist/{dist-5IFWLWND.js.map → dist-LK3ZG74Q.js.map} +0 -0
  104. /package/dist/{dist-PPAD6KOM.js.map → dist-WMP7BFKP.js.map} +0 -0
  105. /package/dist/{dist-XNCED7JW.js.map → dist-YB5RBWCC.js.map} +0 -0
  106. /package/dist/{query-2H3YOPI2.js.map → query-7XHKSZ5H.js.map} +0 -0
  107. /package/dist/{search-IPE4ISFB.js.map → search-NKRXXLRS.js.map} +0 -0
  108. /package/dist/{source-resolver-HZQLOODU.js.map → semantic-DD7P4634.js.map} +0 -0
  109. /package/dist/{tables-K5NAN2WK.js.map → tables-WQTRZSXR.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/web-streams-polyfill@4.0.0-beta.3/node_modules/web-streams-polyfill/dist/ponyfill.mjs","../../../node_modules/.pnpm/formdata-node@4.4.1/node_modules/formdata-node/lib/esm/isFunction.js","../../../node_modules/.pnpm/formdata-node@4.4.1/node_modules/formdata-node/lib/esm/blobHelpers.js","../../../node_modules/.pnpm/formdata-node@4.4.1/node_modules/formdata-node/lib/esm/Blob.js","../../../node_modules/.pnpm/formdata-node@4.4.1/node_modules/formdata-node/lib/esm/File.js","../../../node_modules/.pnpm/formdata-node@4.4.1/node_modules/formdata-node/lib/esm/isFile.js"],"sourcesContent":["/**\n * @license\n * web-streams-polyfill v4.0.0-beta.3\n * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors.\n * This code is released under the MIT license.\n * SPDX-License-Identifier: MIT\n */\nconst e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?Symbol:e=>`Symbol(${e})`;function t(){}function r(e){return\"object\"==typeof e&&null!==e||\"function\"==typeof e}const o=t;function n(e,t){try{Object.defineProperty(e,\"name\",{value:t,configurable:!0})}catch(e){}}const a=Promise,i=Promise.prototype.then,l=Promise.resolve.bind(a),s=Promise.reject.bind(a);function u(e){return new a(e)}function c(e){return l(e)}function d(e){return s(e)}function f(e,t,r){return i.call(e,t,r)}function b(e,t,r){f(f(e,t,r),void 0,o)}function h(e,t){b(e,t)}function _(e,t){b(e,void 0,t)}function p(e,t,r){return f(e,t,r)}function m(e){f(e,void 0,o)}let y=e=>{if(\"function\"==typeof queueMicrotask)y=queueMicrotask;else{const e=c(void 0);y=t=>f(e,t)}return y(e)};function g(e,t,r){if(\"function\"!=typeof e)throw new TypeError(\"Argument is not a function\");return Function.prototype.apply.call(e,t,r)}function w(e,t,r){try{return c(g(e,t,r))}catch(e){return d(e)}}class S{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let o=r+1;const n=e._elements,a=n[r];return 16384===o&&(t=e._next,o=0),--this._size,this._cursor=o,e!==t&&(this._front=t),n[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,o=r._elements;for(;!(t===o.length&&void 0===r._next||t===o.length&&(r=r._next,o=r._elements,t=0,0===o.length));)e(o[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}const v=e(\"[[AbortSteps]]\"),R=e(\"[[ErrorSteps]]\"),T=e(\"[[CancelSteps]]\"),q=e(\"[[PullSteps]]\"),C=e(\"[[ReleaseSteps]]\");function E(e,t){e._ownerReadableStream=t,t._reader=e,\"readable\"===t._state?O(e):\"closed\"===t._state?function(e){O(e),j(e)}(e):B(e,t._storedError)}function P(e,t){return Gt(e._ownerReadableStream,t)}function W(e){const t=e._ownerReadableStream;\"readable\"===t._state?A(e,new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\")):function(e,t){B(e,t)}(e,new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\")),t._readableStreamController[C](),t._reader=void 0,e._ownerReadableStream=void 0}function k(e){return new TypeError(\"Cannot \"+e+\" a stream using a released reader\")}function O(e){e._closedPromise=u(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function B(e,t){O(e),A(e,t)}function A(e,t){void 0!==e._closedPromise_reject&&(m(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function j(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const z=Number.isFinite||function(e){return\"number\"==typeof e&&isFinite(e)},L=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function F(e,t){if(void 0!==e&&(\"object\"!=typeof(r=e)&&\"function\"!=typeof r))throw new TypeError(`${t} is not an object.`);var r}function I(e,t){if(\"function\"!=typeof e)throw new TypeError(`${t} is not a function.`)}function D(e,t){if(!function(e){return\"object\"==typeof e&&null!==e||\"function\"==typeof e}(e))throw new TypeError(`${t} is not an object.`)}function $(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function M(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function Y(e){return Number(e)}function Q(e){return 0===e?0:e}function N(e,t){const r=Number.MAX_SAFE_INTEGER;let o=Number(e);if(o=Q(o),!z(o))throw new TypeError(`${t} is not a finite number`);if(o=function(e){return Q(L(e))}(o),o<0||o>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return z(o)&&0!==o?o:0}function H(e){if(!r(e))return!1;if(\"function\"!=typeof e.getReader)return!1;try{return\"boolean\"==typeof e.locked}catch(e){return!1}}function x(e){if(!r(e))return!1;if(\"function\"!=typeof e.getWriter)return!1;try{return\"boolean\"==typeof e.locked}catch(e){return!1}}function V(e,t){if(!Vt(e))throw new TypeError(`${t} is not a ReadableStream.`)}function U(e,t){e._reader._readRequests.push(t)}function G(e,t,r){const o=e._reader._readRequests.shift();r?o._closeSteps():o._chunkSteps(t)}function X(e){return e._reader._readRequests.length}function J(e){const t=e._reader;return void 0!==t&&!!K(t)}class ReadableStreamDefaultReader{constructor(e){if($(e,1,\"ReadableStreamDefaultReader\"),V(e,\"First parameter\"),Ut(e))throw new TypeError(\"This stream has already been locked for exclusive reading by another reader\");E(this,e),this._readRequests=new S}get closed(){return K(this)?this._closedPromise:d(ee(\"closed\"))}cancel(e){return K(this)?void 0===this._ownerReadableStream?d(k(\"cancel\")):P(this,e):d(ee(\"cancel\"))}read(){if(!K(this))return d(ee(\"read\"));if(void 0===this._ownerReadableStream)return d(k(\"read from\"));let e,t;const r=u(((r,o)=>{e=r,t=o}));return function(e,t){const r=e._ownerReadableStream;r._disturbed=!0,\"closed\"===r._state?t._closeSteps():\"errored\"===r._state?t._errorSteps(r._storedError):r._readableStreamController[q](t)}(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!K(this))throw ee(\"releaseLock\");void 0!==this._ownerReadableStream&&function(e){W(e);const t=new TypeError(\"Reader was released\");Z(e,t)}(this)}}function K(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_readRequests\")&&e instanceof ReadableStreamDefaultReader)}function Z(e,t){const r=e._readRequests;e._readRequests=new S,r.forEach((e=>{e._errorSteps(t)}))}function ee(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}Object.defineProperties(ReadableStreamDefaultReader.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),n(ReadableStreamDefaultReader.prototype.cancel,\"cancel\"),n(ReadableStreamDefaultReader.prototype.read,\"read\"),n(ReadableStreamDefaultReader.prototype.releaseLock,\"releaseLock\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ReadableStreamDefaultReader.prototype,e.toStringTag,{value:\"ReadableStreamDefaultReader\",configurable:!0});class te{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?p(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise?p(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;return void 0===e?d(k(\"iterate\")):f(e.read(),(e=>{var t;return this._ongoingPromise=void 0,e.done&&(this._isFinished=!0,null===(t=this._reader)||void 0===t||t.releaseLock(),this._reader=void 0),e}),(e=>{var t;throw this._ongoingPromise=void 0,this._isFinished=!0,null===(t=this._reader)||void 0===t||t.releaseLock(),this._reader=void 0,e}))}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(void 0===t)return d(k(\"finish iterating\"));if(this._reader=void 0,!this._preventCancel){const r=t.cancel(e);return t.releaseLock(),p(r,(()=>({value:e,done:!0})))}return t.releaseLock(),c({value:e,done:!0})}}const re={next(){return oe(this)?this._asyncIteratorImpl.next():d(ne(\"next\"))},return(e){return oe(this)?this._asyncIteratorImpl.return(e):d(ne(\"return\"))}};function oe(e){if(!r(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,\"_asyncIteratorImpl\"))return!1;try{return e._asyncIteratorImpl instanceof te}catch(e){return!1}}function ne(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}\"symbol\"==typeof e.asyncIterator&&Object.defineProperty(re,e.asyncIterator,{value(){return this},writable:!0,configurable:!0});const ae=Number.isNaN||function(e){return e!=e};function ie(e,t,r,o,n){new Uint8Array(e).set(new Uint8Array(r,o,n),t)}function le(e){const t=function(e,t,r){if(e.slice)return e.slice(t,r);const o=r-t,n=new ArrayBuffer(o);return ie(n,0,e,t,o),n}(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function se(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function ue(e,t,r){if(\"number\"!=typeof(o=r)||ae(o)||o<0||r===1/0)throw new RangeError(\"Size must be a finite, non-NaN, non-negative number.\");var o;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function ce(e){e._queue=new S,e._queueTotalSize=0}class ReadableStreamBYOBRequest{constructor(){throw new TypeError(\"Illegal constructor\")}get view(){if(!fe(this))throw Be(\"view\");return this._view}respond(e){if(!fe(this))throw Be(\"respond\");if($(e,1,\"respond\"),e=N(e,\"First parameter\"),void 0===this._associatedReadableByteStreamController)throw new TypeError(\"This BYOB request has been invalidated\");this._view.buffer,function(e,t){const r=e._pendingPullIntos.peek();if(\"closed\"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError(\"bytesWritten must be 0 when calling respond() on a closed stream\")}else{if(0===t)throw new TypeError(\"bytesWritten must be greater than 0 when calling respond() on a readable stream\");if(r.bytesFilled+t>r.byteLength)throw new RangeError(\"bytesWritten out of range\")}r.buffer=r.buffer,qe(e,t)}(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!fe(this))throw Be(\"respondWithNewView\");if($(e,1,\"respondWithNewView\"),!ArrayBuffer.isView(e))throw new TypeError(\"You can only respond with array buffer views\");if(void 0===this._associatedReadableByteStreamController)throw new TypeError(\"This BYOB request has been invalidated\");e.buffer,function(e,t){const r=e._pendingPullIntos.peek();if(\"closed\"===e._controlledReadableByteStream._state){if(0!==t.byteLength)throw new TypeError(\"The view's length must be 0 when calling respondWithNewView() on a closed stream\")}else if(0===t.byteLength)throw new TypeError(\"The view's length must be greater than 0 when calling respondWithNewView() on a readable stream\");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError(\"The region specified by view does not match byobRequest\");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError(\"The buffer of view has different capacity than byobRequest\");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError(\"The region specified by view is larger than byobRequest\");const o=t.byteLength;r.buffer=t.buffer,qe(e,o)}(this._associatedReadableByteStreamController,e)}}Object.defineProperties(ReadableStreamBYOBRequest.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),n(ReadableStreamBYOBRequest.prototype.respond,\"respond\"),n(ReadableStreamBYOBRequest.prototype.respondWithNewView,\"respondWithNewView\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ReadableStreamBYOBRequest.prototype,e.toStringTag,{value:\"ReadableStreamBYOBRequest\",configurable:!0});class ReadableByteStreamController{constructor(){throw new TypeError(\"Illegal constructor\")}get byobRequest(){if(!de(this))throw Ae(\"byobRequest\");return function(e){if(null===e._byobRequest&&e._pendingPullIntos.length>0){const t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),o=Object.create(ReadableStreamBYOBRequest.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(o,e,r),e._byobRequest=o}return e._byobRequest}(this)}get desiredSize(){if(!de(this))throw Ae(\"desiredSize\");return ke(this)}close(){if(!de(this))throw Ae(\"close\");if(this._closeRequested)throw new TypeError(\"The stream has already been closed; do not close it again!\");const e=this._controlledReadableByteStream._state;if(\"readable\"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);!function(e){const t=e._controlledReadableByteStream;if(e._closeRequested||\"readable\"!==t._state)return;if(e._queueTotalSize>0)return void(e._closeRequested=!0);if(e._pendingPullIntos.length>0){if(e._pendingPullIntos.peek().bytesFilled>0){const t=new TypeError(\"Insufficient bytes to fill elements in the given buffer\");throw Pe(e,t),t}}Ee(e),Xt(t)}(this)}enqueue(e){if(!de(this))throw Ae(\"enqueue\");if($(e,1,\"enqueue\"),!ArrayBuffer.isView(e))throw new TypeError(\"chunk must be an array buffer view\");if(0===e.byteLength)throw new TypeError(\"chunk must have non-zero byteLength\");if(0===e.buffer.byteLength)throw new TypeError(\"chunk's buffer must have non-zero byteLength\");if(this._closeRequested)throw new TypeError(\"stream is closed or draining\");const t=this._controlledReadableByteStream._state;if(\"readable\"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);!function(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||\"readable\"!==r._state)return;const o=t.buffer,n=t.byteOffset,a=t.byteLength,i=o;if(e._pendingPullIntos.length>0){const t=e._pendingPullIntos.peek();t.buffer,0,Re(e),t.buffer=t.buffer,\"none\"===t.readerType&&ge(e,t)}if(J(r))if(function(e){const t=e._controlledReadableByteStream._reader;for(;t._readRequests.length>0;){if(0===e._queueTotalSize)return;We(e,t._readRequests.shift())}}(e),0===X(r))me(e,i,n,a);else{e._pendingPullIntos.length>0&&Ce(e);G(r,new Uint8Array(i,n,a),!1)}else Le(r)?(me(e,i,n,a),Te(e)):me(e,i,n,a);be(e)}(this,e)}error(e){if(!de(this))throw Ae(\"error\");Pe(this,e)}[T](e){he(this),ce(this);const t=this._cancelAlgorithm(e);return Ee(this),t}[q](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void We(this,e);const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const o={buffer:t,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:\"default\"};this._pendingPullIntos.push(o)}U(t,e),be(this)}[C](){if(this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek();e.readerType=\"none\",this._pendingPullIntos=new S,this._pendingPullIntos.push(e)}}}function de(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledReadableByteStream\")&&e instanceof ReadableByteStreamController)}function fe(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_associatedReadableByteStreamController\")&&e instanceof ReadableStreamBYOBRequest)}function be(e){const t=function(e){const t=e._controlledReadableByteStream;if(\"readable\"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(J(t)&&X(t)>0)return!0;if(Le(t)&&ze(t)>0)return!0;if(ke(e)>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;b(e._pullAlgorithm(),(()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,be(e)),null)),(t=>(Pe(e,t),null)))}function he(e){Re(e),e._pendingPullIntos=new S}function _e(e,t){let r=!1;\"closed\"===e._state&&(r=!0);const o=pe(t);\"default\"===t.readerType?G(e,o,r):function(e,t,r){const o=e._reader._readIntoRequests.shift();r?o._closeSteps(t):o._chunkSteps(t)}(e,o,r)}function pe(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function me(e,t,r,o){e._queue.push({buffer:t,byteOffset:r,byteLength:o}),e._queueTotalSize+=o}function ye(e,t,r,o){let n;try{n=t.slice(r,r+o)}catch(t){throw Pe(e,t),t}me(e,n,0,o)}function ge(e,t){t.bytesFilled>0&&ye(e,t.buffer,t.byteOffset,t.bytesFilled),Ce(e)}function we(e,t){const r=t.elementSize,o=t.bytesFilled-t.bytesFilled%r,n=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+n,i=a-a%r;let l=n,s=!1;i>o&&(l=i-t.bytesFilled,s=!0);const u=e._queue;for(;l>0;){const r=u.peek(),o=Math.min(l,r.byteLength),n=t.byteOffset+t.bytesFilled;ie(t.buffer,n,r.buffer,r.byteOffset,o),r.byteLength===o?u.shift():(r.byteOffset+=o,r.byteLength-=o),e._queueTotalSize-=o,Se(e,o,t),l-=o}return s}function Se(e,t,r){r.bytesFilled+=t}function ve(e){0===e._queueTotalSize&&e._closeRequested?(Ee(e),Xt(e._controlledReadableByteStream)):be(e)}function Re(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Te(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;const t=e._pendingPullIntos.peek();we(e,t)&&(Ce(e),_e(e._controlledReadableByteStream,t))}}function qe(e,t){const r=e._pendingPullIntos.peek();Re(e);\"closed\"===e._controlledReadableByteStream._state?function(e,t){\"none\"===t.readerType&&Ce(e);const r=e._controlledReadableByteStream;if(Le(r))for(;ze(r)>0;)_e(r,Ce(e))}(e,r):function(e,t,r){if(Se(0,t,r),\"none\"===r.readerType)return ge(e,r),void Te(e);if(r.bytesFilled<r.elementSize)return;Ce(e);const o=r.bytesFilled%r.elementSize;if(o>0){const t=r.byteOffset+r.bytesFilled;ye(e,r.buffer,t-o,o)}r.bytesFilled-=o,_e(e._controlledReadableByteStream,r),Te(e)}(e,t,r),be(e)}function Ce(e){return e._pendingPullIntos.shift()}function Ee(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Pe(e,t){const r=e._controlledReadableByteStream;\"readable\"===r._state&&(he(e),ce(e),Ee(e),Jt(r,t))}function We(e,t){const r=e._queue.shift();e._queueTotalSize-=r.byteLength,ve(e);const o=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(o)}function ke(e){const t=e._controlledReadableByteStream._state;return\"errored\"===t?null:\"closed\"===t?0:e._strategyHWM-e._queueTotalSize}function Oe(e,t,r){const o=Object.create(ReadableByteStreamController.prototype);let n,a,i;n=void 0!==t.start?()=>t.start(o):()=>{},a=void 0!==t.pull?()=>t.pull(o):()=>c(void 0),i=void 0!==t.cancel?e=>t.cancel(e):()=>c(void 0);const l=t.autoAllocateChunkSize;if(0===l)throw new TypeError(\"autoAllocateChunkSize must be greater than 0\");!function(e,t,r,o,n,a,i){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,ce(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=o,t._cancelAlgorithm=n,t._autoAllocateChunkSize=i,t._pendingPullIntos=new S,e._readableStreamController=t,b(c(r()),(()=>(t._started=!0,be(t),null)),(e=>(Pe(t,e),null)))}(e,o,n,a,i,r,l)}function Be(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Ae(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function je(e,t){e._reader._readIntoRequests.push(t)}function ze(e){return e._reader._readIntoRequests.length}function Le(e){const t=e._reader;return void 0!==t&&!!Fe(t)}Object.defineProperties(ReadableByteStreamController.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),n(ReadableByteStreamController.prototype.close,\"close\"),n(ReadableByteStreamController.prototype.enqueue,\"enqueue\"),n(ReadableByteStreamController.prototype.error,\"error\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ReadableByteStreamController.prototype,e.toStringTag,{value:\"ReadableByteStreamController\",configurable:!0});class ReadableStreamBYOBReader{constructor(e){if($(e,1,\"ReadableStreamBYOBReader\"),V(e,\"First parameter\"),Ut(e))throw new TypeError(\"This stream has already been locked for exclusive reading by another reader\");if(!de(e._readableStreamController))throw new TypeError(\"Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source\");E(this,e),this._readIntoRequests=new S}get closed(){return Fe(this)?this._closedPromise:d(De(\"closed\"))}cancel(e){return Fe(this)?void 0===this._ownerReadableStream?d(k(\"cancel\")):P(this,e):d(De(\"cancel\"))}read(e){if(!Fe(this))return d(De(\"read\"));if(!ArrayBuffer.isView(e))return d(new TypeError(\"view must be an array buffer view\"));if(0===e.byteLength)return d(new TypeError(\"view must have non-zero byteLength\"));if(0===e.buffer.byteLength)return d(new TypeError(\"view's buffer must have non-zero byteLength\"));if(e.buffer,void 0===this._ownerReadableStream)return d(k(\"read from\"));let t,r;const o=u(((e,o)=>{t=e,r=o}));return function(e,t,r){const o=e._ownerReadableStream;o._disturbed=!0,\"errored\"===o._state?r._errorSteps(o._storedError):function(e,t,r){const o=e._controlledReadableByteStream;let n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);const a=t.constructor,i=t.buffer,l={buffer:i,bufferByteLength:i.byteLength,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,viewConstructor:a,readerType:\"byob\"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(l),void je(o,r);if(\"closed\"!==o._state){if(e._queueTotalSize>0){if(we(e,l)){const t=pe(l);return ve(e),void r._chunkSteps(t)}if(e._closeRequested){const t=new TypeError(\"Insufficient bytes to fill elements in the given buffer\");return Pe(e,t),void r._errorSteps(t)}}e._pendingPullIntos.push(l),je(o,r),be(e)}else{const e=new a(l.buffer,l.byteOffset,0);r._closeSteps(e)}}(o._readableStreamController,t,r)}(this,e,{_chunkSteps:e=>t({value:e,done:!1}),_closeSteps:e=>t({value:e,done:!0}),_errorSteps:e=>r(e)}),o}releaseLock(){if(!Fe(this))throw De(\"releaseLock\");void 0!==this._ownerReadableStream&&function(e){W(e);const t=new TypeError(\"Reader was released\");Ie(e,t)}(this)}}function Fe(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_readIntoRequests\")&&e instanceof ReadableStreamBYOBReader)}function Ie(e,t){const r=e._readIntoRequests;e._readIntoRequests=new S,r.forEach((e=>{e._errorSteps(t)}))}function De(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function $e(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(ae(r)||r<0)throw new RangeError(\"Invalid highWaterMark\");return r}function Me(e){const{size:t}=e;return t||(()=>1)}function Ye(e,t){F(e,t);const r=null==e?void 0:e.highWaterMark,o=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:Y(r),size:void 0===o?void 0:Qe(o,`${t} has member 'size' that`)}}function Qe(e,t){return I(e,t),t=>Y(e(t))}function Ne(e,t,r){return I(e,r),r=>w(e,t,[r])}function He(e,t,r){return I(e,r),()=>w(e,t,[])}function xe(e,t,r){return I(e,r),r=>g(e,t,[r])}function Ve(e,t,r){return I(e,r),(r,o)=>w(e,t,[r,o])}Object.defineProperties(ReadableStreamBYOBReader.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),n(ReadableStreamBYOBReader.prototype.cancel,\"cancel\"),n(ReadableStreamBYOBReader.prototype.read,\"read\"),n(ReadableStreamBYOBReader.prototype.releaseLock,\"releaseLock\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ReadableStreamBYOBReader.prototype,e.toStringTag,{value:\"ReadableStreamBYOBReader\",configurable:!0});const Ue=\"function\"==typeof AbortController;class WritableStream{constructor(e={},t={}){void 0===e?e=null:D(e,\"First parameter\");const r=Ye(t,\"Second parameter\"),o=function(e,t){F(e,t);const r=null==e?void 0:e.abort,o=null==e?void 0:e.close,n=null==e?void 0:e.start,a=null==e?void 0:e.type,i=null==e?void 0:e.write;return{abort:void 0===r?void 0:Ne(r,e,`${t} has member 'abort' that`),close:void 0===o?void 0:He(o,e,`${t} has member 'close' that`),start:void 0===n?void 0:xe(n,e,`${t} has member 'start' that`),write:void 0===i?void 0:Ve(i,e,`${t} has member 'write' that`),type:a}}(e,\"First parameter\");var n;(n=this)._state=\"writable\",n._storedError=void 0,n._writer=void 0,n._writableStreamController=void 0,n._writeRequests=new S,n._inFlightWriteRequest=void 0,n._closeRequest=void 0,n._inFlightCloseRequest=void 0,n._pendingAbortRequest=void 0,n._backpressure=!1;if(void 0!==o.type)throw new RangeError(\"Invalid type is specified\");const a=Me(r);!function(e,t,r,o){const n=Object.create(WritableStreamDefaultController.prototype);let a,i,l,s;a=void 0!==t.start?()=>t.start(n):()=>{};i=void 0!==t.write?e=>t.write(e,n):()=>c(void 0);l=void 0!==t.close?()=>t.close():()=>c(void 0);s=void 0!==t.abort?e=>t.abort(e):()=>c(void 0);!function(e,t,r,o,n,a,i,l){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,ce(t),t._abortReason=void 0,t._abortController=function(){if(Ue)return new AbortController}(),t._started=!1,t._strategySizeAlgorithm=l,t._strategyHWM=i,t._writeAlgorithm=o,t._closeAlgorithm=n,t._abortAlgorithm=a;const s=bt(t);nt(e,s);const u=r();b(c(u),(()=>(t._started=!0,dt(t),null)),(r=>(t._started=!0,Ze(e,r),null)))}(e,n,a,i,l,s,r,o)}(this,o,$e(r,1),a)}get locked(){if(!Ge(this))throw _t(\"locked\");return Xe(this)}abort(e){return Ge(this)?Xe(this)?d(new TypeError(\"Cannot abort a stream that already has a writer\")):Je(this,e):d(_t(\"abort\"))}close(){return Ge(this)?Xe(this)?d(new TypeError(\"Cannot close a stream that already has a writer\")):rt(this)?d(new TypeError(\"Cannot close an already-closing stream\")):Ke(this):d(_t(\"close\"))}getWriter(){if(!Ge(this))throw _t(\"getWriter\");return new WritableStreamDefaultWriter(this)}}function Ge(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_writableStreamController\")&&e instanceof WritableStream)}function Xe(e){return void 0!==e._writer}function Je(e,t){var r;if(\"closed\"===e._state||\"errored\"===e._state)return c(void 0);e._writableStreamController._abortReason=t,null===(r=e._writableStreamController._abortController)||void 0===r||r.abort(t);const o=e._state;if(\"closed\"===o||\"errored\"===o)return c(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let n=!1;\"erroring\"===o&&(n=!0,t=void 0);const a=u(((r,o)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:o,_reason:t,_wasAlreadyErroring:n}}));return e._pendingAbortRequest._promise=a,n||et(e,t),a}function Ke(e){const t=e._state;if(\"closed\"===t||\"errored\"===t)return d(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=u(((t,r)=>{const o={_resolve:t,_reject:r};e._closeRequest=o})),o=e._writer;var n;return void 0!==o&&e._backpressure&&\"writable\"===t&&Et(o),ue(n=e._writableStreamController,lt,0),dt(n),r}function Ze(e,t){\"writable\"!==e._state?tt(e):et(e,t)}function et(e,t){const r=e._writableStreamController;e._state=\"erroring\",e._storedError=t;const o=e._writer;void 0!==o&&it(o,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&tt(e)}function tt(e){e._state=\"errored\",e._writableStreamController[R]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new S,void 0===e._pendingAbortRequest)return void ot(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void ot(e);b(e._writableStreamController[v](r._reason),(()=>(r._resolve(),ot(e),null)),(t=>(r._reject(t),ot(e),null)))}function rt(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function ot(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&St(t,e._storedError)}function nt(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){Rt(e)}(r):Et(r)),e._backpressure=t}Object.defineProperties(WritableStream.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),n(WritableStream.prototype.abort,\"abort\"),n(WritableStream.prototype.close,\"close\"),n(WritableStream.prototype.getWriter,\"getWriter\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(WritableStream.prototype,e.toStringTag,{value:\"WritableStream\",configurable:!0});class WritableStreamDefaultWriter{constructor(e){if($(e,1,\"WritableStreamDefaultWriter\"),function(e,t){if(!Ge(e))throw new TypeError(`${t} is not a WritableStream.`)}(e,\"First parameter\"),Xe(e))throw new TypeError(\"This stream has already been locked for exclusive writing by another writer\");this._ownerWritableStream=e,e._writer=this;const t=e._state;if(\"writable\"===t)!rt(e)&&e._backpressure?Rt(this):qt(this),gt(this);else if(\"erroring\"===t)Tt(this,e._storedError),gt(this);else if(\"closed\"===t)qt(this),gt(r=this),vt(r);else{const t=e._storedError;Tt(this,t),wt(this,t)}var r}get closed(){return at(this)?this._closedPromise:d(mt(\"closed\"))}get desiredSize(){if(!at(this))throw mt(\"desiredSize\");if(void 0===this._ownerWritableStream)throw yt(\"desiredSize\");return function(e){const t=e._ownerWritableStream,r=t._state;if(\"errored\"===r||\"erroring\"===r)return null;if(\"closed\"===r)return 0;return ct(t._writableStreamController)}(this)}get ready(){return at(this)?this._readyPromise:d(mt(\"ready\"))}abort(e){return at(this)?void 0===this._ownerWritableStream?d(yt(\"abort\")):function(e,t){return Je(e._ownerWritableStream,t)}(this,e):d(mt(\"abort\"))}close(){if(!at(this))return d(mt(\"close\"));const e=this._ownerWritableStream;return void 0===e?d(yt(\"close\")):rt(e)?d(new TypeError(\"Cannot close an already-closing stream\")):Ke(this._ownerWritableStream)}releaseLock(){if(!at(this))throw mt(\"releaseLock\");void 0!==this._ownerWritableStream&&function(e){const t=e._ownerWritableStream,r=new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");it(e,r),function(e,t){\"pending\"===e._closedPromiseState?St(e,t):function(e,t){wt(e,t)}(e,t)}(e,r),t._writer=void 0,e._ownerWritableStream=void 0}(this)}write(e){return at(this)?void 0===this._ownerWritableStream?d(yt(\"write to\")):function(e,t){const r=e._ownerWritableStream,o=r._writableStreamController,n=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return ft(e,t),1}}(o,t);if(r!==e._ownerWritableStream)return d(yt(\"write to\"));const a=r._state;if(\"errored\"===a)return d(r._storedError);if(rt(r)||\"closed\"===a)return d(new TypeError(\"The stream is closing or closed and cannot be written to\"));if(\"erroring\"===a)return d(r._storedError);const i=function(e){return u(((t,r)=>{const o={_resolve:t,_reject:r};e._writeRequests.push(o)}))}(r);return function(e,t,r){try{ue(e,t,r)}catch(t){return void ft(e,t)}const o=e._controlledWritableStream;if(!rt(o)&&\"writable\"===o._state){nt(o,bt(e))}dt(e)}(o,t,n),i}(this,e):d(mt(\"write\"))}}function at(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_ownerWritableStream\")&&e instanceof WritableStreamDefaultWriter)}function it(e,t){\"pending\"===e._readyPromiseState?Ct(e,t):function(e,t){Tt(e,t)}(e,t)}Object.defineProperties(WritableStreamDefaultWriter.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),n(WritableStreamDefaultWriter.prototype.abort,\"abort\"),n(WritableStreamDefaultWriter.prototype.close,\"close\"),n(WritableStreamDefaultWriter.prototype.releaseLock,\"releaseLock\"),n(WritableStreamDefaultWriter.prototype.write,\"write\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(WritableStreamDefaultWriter.prototype,e.toStringTag,{value:\"WritableStreamDefaultWriter\",configurable:!0});const lt={};class WritableStreamDefaultController{constructor(){throw new TypeError(\"Illegal constructor\")}get abortReason(){if(!st(this))throw pt(\"abortReason\");return this._abortReason}get signal(){if(!st(this))throw pt(\"signal\");if(void 0===this._abortController)throw new TypeError(\"WritableStreamDefaultController.prototype.signal is not supported\");return this._abortController.signal}error(e){if(!st(this))throw pt(\"error\");\"writable\"===this._controlledWritableStream._state&&ht(this,e)}[v](e){const t=this._abortAlgorithm(e);return ut(this),t}[R](){ce(this)}}function st(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledWritableStream\")&&e instanceof WritableStreamDefaultController)}function ut(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function ct(e){return e._strategyHWM-e._queueTotalSize}function dt(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if(\"erroring\"===t._state)return void tt(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===lt?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),se(e);const r=e._closeAlgorithm();ut(e),b(r,(()=>(function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,\"erroring\"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state=\"closed\";const t=e._writer;void 0!==t&&vt(t)}(t),null)),(e=>(function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),Ze(e,t)}(t,e),null)))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);b(e._writeAlgorithm(t),(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(se(e),!rt(r)&&\"writable\"===t){const t=bt(e);nt(r,t)}return dt(e),null}),(t=>(\"writable\"===r._state&&ut(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,Ze(e,t)}(r,t),null)))}(e,r)}function ft(e,t){\"writable\"===e._controlledWritableStream._state&&ht(e,t)}function bt(e){return ct(e)<=0}function ht(e,t){const r=e._controlledWritableStream;ut(e),et(r,t)}function _t(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function pt(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function mt(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function yt(e){return new TypeError(\"Cannot \"+e+\" a stream using a released writer\")}function gt(e){e._closedPromise=u(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState=\"pending\"}))}function wt(e,t){gt(e),St(e,t)}function St(e,t){void 0!==e._closedPromise_reject&&(m(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState=\"rejected\")}function vt(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState=\"resolved\")}function Rt(e){e._readyPromise=u(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState=\"pending\"}function Tt(e,t){Rt(e),Ct(e,t)}function qt(e){Rt(e),Et(e)}function Ct(e,t){void 0!==e._readyPromise_reject&&(m(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState=\"rejected\")}function Et(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState=\"fulfilled\")}Object.defineProperties(WritableStreamDefaultController.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(WritableStreamDefaultController.prototype,e.toStringTag,{value:\"WritableStreamDefaultController\",configurable:!0});const Pt=\"undefined\"!=typeof DOMException?DOMException:void 0;const Wt=function(e){if(\"function\"!=typeof e&&\"object\"!=typeof e)return!1;try{return new e,!0}catch(e){return!1}}(Pt)?Pt:function(){const e=function(e,t){this.message=e||\"\",this.name=t||\"Error\",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,\"constructor\",{value:e,writable:!0,configurable:!0}),e}();function kt(e,t,r,o,n,a){const i=e.getReader(),l=t.getWriter();Vt(e)&&(e._disturbed=!0);let s,_,g,w=!1,S=!1,v=\"readable\",R=\"writable\",T=!1,q=!1;const C=u((e=>{g=e}));let E=Promise.resolve(void 0);return u(((P,W)=>{let k;function O(){if(w)return;const e=u(((e,t)=>{!function r(o){o?e():f(function(){if(w)return c(!0);return f(l.ready,(()=>f(i.read(),(e=>!!e.done||(E=l.write(e.value),m(E),!1)))))}(),r,t)}(!1)}));m(e)}function B(){return v=\"closed\",r?L():z((()=>(Ge(t)&&(T=rt(t),R=t._state),T||\"closed\"===R?c(void 0):\"erroring\"===R||\"errored\"===R?d(_):(T=!0,l.close()))),!1,void 0),null}function A(e){return w||(v=\"errored\",s=e,o?L(!0,e):z((()=>l.abort(e)),!0,e)),null}function j(e){return S||(R=\"errored\",_=e,n?L(!0,e):z((()=>i.cancel(e)),!0,e)),null}if(void 0!==a&&(k=()=>{const e=void 0!==a.reason?a.reason:new Wt(\"Aborted\",\"AbortError\"),t=[];o||t.push((()=>\"writable\"===R?l.abort(e):c(void 0))),n||t.push((()=>\"readable\"===v?i.cancel(e):c(void 0))),z((()=>Promise.all(t.map((e=>e())))),!0,e)},a.aborted?k():a.addEventListener(\"abort\",k)),Vt(e)&&(v=e._state,s=e._storedError),Ge(t)&&(R=t._state,_=t._storedError,T=rt(t)),Vt(e)&&Ge(t)&&(q=!0,g()),\"errored\"===v)A(s);else if(\"erroring\"===R||\"errored\"===R)j(_);else if(\"closed\"===v)B();else if(T||\"closed\"===R){const e=new TypeError(\"the destination writable stream closed before all data could be piped to it\");n?L(!0,e):z((()=>i.cancel(e)),!0,e)}function z(e,t,r){function o(){return\"writable\"!==R||T?n():h(function(){let e;return c(function t(){if(e!==E)return e=E,p(E,t,t)}())}(),n),null}function n(){return e?b(e(),(()=>F(t,r)),(e=>F(!0,e))):F(t,r),null}w||(w=!0,q?o():h(C,o))}function L(e,t){z(void 0,e,t)}function F(e,t){return S=!0,l.releaseLock(),i.releaseLock(),void 0!==a&&a.removeEventListener(\"abort\",k),e?W(t):P(void 0),null}w||(b(i.closed,B,A),b(l.closed,(function(){return S||(R=\"closed\"),null}),j)),q?O():y((()=>{q=!0,g(),O()}))}))}function Ot(e,t){return function(e){try{return e.getReader({mode:\"byob\"}).releaseLock(),!0}catch(e){return!1}}(e)?function(e){let t,r,o,n,a,i=e.getReader(),l=!1,s=!1,d=!1,f=!1,h=!1,p=!1;const m=u((e=>{a=e}));function y(e){_(e.closed,(t=>(e!==i||(o.error(t),n.error(t),h&&p||a(void 0)),null)))}function g(){l&&(i.releaseLock(),i=e.getReader(),y(i),l=!1),b(i.read(),(e=>{var t,r;if(d=!1,f=!1,e.done)return h||o.close(),p||n.close(),null===(t=o.byobRequest)||void 0===t||t.respond(0),null===(r=n.byobRequest)||void 0===r||r.respond(0),h&&p||a(void 0),null;const l=e.value,u=l;let c=l;if(!h&&!p)try{c=le(l)}catch(e){return o.error(e),n.error(e),a(i.cancel(e)),null}return h||o.enqueue(u),p||n.enqueue(c),s=!1,d?S():f&&v(),null}),(()=>(s=!1,null)))}function w(t,r){l||(i.releaseLock(),i=e.getReader({mode:\"byob\"}),y(i),l=!0);const u=r?n:o,c=r?o:n;b(i.read(t),(e=>{var t;d=!1,f=!1;const o=r?p:h,n=r?h:p;if(e.done){o||u.close(),n||c.close();const r=e.value;return void 0!==r&&(o||u.byobRequest.respondWithNewView(r),n||null===(t=c.byobRequest)||void 0===t||t.respond(0)),o&&n||a(void 0),null}const l=e.value;if(n)o||u.byobRequest.respondWithNewView(l);else{let e;try{e=le(l)}catch(e){return u.error(e),c.error(e),a(i.cancel(e)),null}o||u.byobRequest.respondWithNewView(l),c.enqueue(e)}return s=!1,d?S():f&&v(),null}),(()=>(s=!1,null)))}function S(){if(s)return d=!0,c(void 0);s=!0;const e=o.byobRequest;return null===e?g():w(e.view,!1),c(void 0)}function v(){if(s)return f=!0,c(void 0);s=!0;const e=n.byobRequest;return null===e?g():w(e.view,!0),c(void 0)}function R(e){if(h=!0,t=e,p){const e=[t,r],o=i.cancel(e);a(o)}return m}function T(e){if(p=!0,r=e,h){const e=[t,r],o=i.cancel(e);a(o)}return m}const q=new ReadableStream({type:\"bytes\",start(e){o=e},pull:S,cancel:R}),C=new ReadableStream({type:\"bytes\",start(e){n=e},pull:v,cancel:T});return y(i),[q,C]}(e):function(e,t){const r=e.getReader();let o,n,a,i,l,s=!1,d=!1,f=!1,h=!1;const p=u((e=>{l=e}));function m(){return s?(d=!0,c(void 0)):(s=!0,b(r.read(),(e=>{if(d=!1,e.done)return f||a.close(),h||i.close(),f&&h||l(void 0),null;const t=e.value,r=t,o=t;return f||a.enqueue(r),h||i.enqueue(o),s=!1,d&&m(),null}),(()=>(s=!1,null))),c(void 0))}function y(e){if(f=!0,o=e,h){const e=[o,n],t=r.cancel(e);l(t)}return p}function g(e){if(h=!0,n=e,f){const e=[o,n],t=r.cancel(e);l(t)}return p}const w=new ReadableStream({start(e){a=e},pull:m,cancel:y}),S=new ReadableStream({start(e){i=e},pull:m,cancel:g});return _(r.closed,(e=>(a.error(e),i.error(e),f&&h||l(void 0),null))),[w,S]}(e)}class ReadableStreamDefaultController{constructor(){throw new TypeError(\"Illegal constructor\")}get desiredSize(){if(!Bt(this))throw Dt(\"desiredSize\");return Lt(this)}close(){if(!Bt(this))throw Dt(\"close\");if(!Ft(this))throw new TypeError(\"The stream is not in a state that permits close\");!function(e){if(!Ft(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(jt(e),Xt(t))}(this)}enqueue(e){if(!Bt(this))throw Dt(\"enqueue\");if(!Ft(this))throw new TypeError(\"The stream is not in a state that permits enqueue\");return function(e,t){if(!Ft(e))return;const r=e._controlledReadableStream;if(Ut(r)&&X(r)>0)G(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw zt(e,t),t}try{ue(e,t,r)}catch(t){throw zt(e,t),t}}At(e)}(this,e)}error(e){if(!Bt(this))throw Dt(\"error\");zt(this,e)}[T](e){ce(this);const t=this._cancelAlgorithm(e);return jt(this),t}[q](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=se(this);this._closeRequested&&0===this._queue.length?(jt(this),Xt(t)):At(this),e._chunkSteps(r)}else U(t,e),At(this)}[C](){}}function Bt(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledReadableStream\")&&e instanceof ReadableStreamDefaultController)}function At(e){const t=function(e){const t=e._controlledReadableStream;if(!Ft(e))return!1;if(!e._started)return!1;if(Ut(t)&&X(t)>0)return!0;if(Lt(e)>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;b(e._pullAlgorithm(),(()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,At(e)),null)),(t=>(zt(e,t),null)))}function jt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function zt(e,t){const r=e._controlledReadableStream;\"readable\"===r._state&&(ce(e),jt(e),Jt(r,t))}function Lt(e){const t=e._controlledReadableStream._state;return\"errored\"===t?null:\"closed\"===t?0:e._strategyHWM-e._queueTotalSize}function Ft(e){return!e._closeRequested&&\"readable\"===e._controlledReadableStream._state}function It(e,t,r,o){const n=Object.create(ReadableStreamDefaultController.prototype);let a,i,l;a=void 0!==t.start?()=>t.start(n):()=>{},i=void 0!==t.pull?()=>t.pull(n):()=>c(void 0),l=void 0!==t.cancel?e=>t.cancel(e):()=>c(void 0),function(e,t,r,o,n,a,i){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,ce(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=i,t._strategyHWM=a,t._pullAlgorithm=o,t._cancelAlgorithm=n,e._readableStreamController=t,b(c(r()),(()=>(t._started=!0,At(t),null)),(e=>(zt(t,e),null)))}(e,n,a,i,l,r,o)}function Dt(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function $t(e,t,r){return I(e,r),r=>w(e,t,[r])}function Mt(e,t,r){return I(e,r),r=>w(e,t,[r])}function Yt(e,t,r){return I(e,r),r=>g(e,t,[r])}function Qt(e,t){if(\"bytes\"!==(e=`${e}`))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function Nt(e,t){if(\"byob\"!==(e=`${e}`))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Ht(e,t){F(e,t);const r=null==e?void 0:e.preventAbort,o=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,a=null==e?void 0:e.signal;return void 0!==a&&function(e,t){if(!function(e){if(\"object\"!=typeof e||null===e)return!1;try{return\"boolean\"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(`${t} is not an AbortSignal.`)}(a,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(o),preventClose:Boolean(n),signal:a}}function xt(e,t){F(e,t);const r=null==e?void 0:e.readable;M(r,\"readable\",\"ReadableWritablePair\"),function(e,t){if(!H(e))throw new TypeError(`${t} is not a ReadableStream.`)}(r,`${t} has member 'readable' that`);const o=null==e?void 0:e.writable;return M(o,\"writable\",\"ReadableWritablePair\"),function(e,t){if(!x(e))throw new TypeError(`${t} is not a WritableStream.`)}(o,`${t} has member 'writable' that`),{readable:r,writable:o}}Object.defineProperties(ReadableStreamDefaultController.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),n(ReadableStreamDefaultController.prototype.close,\"close\"),n(ReadableStreamDefaultController.prototype.enqueue,\"enqueue\"),n(ReadableStreamDefaultController.prototype.error,\"error\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ReadableStreamDefaultController.prototype,e.toStringTag,{value:\"ReadableStreamDefaultController\",configurable:!0});class ReadableStream{constructor(e={},t={}){void 0===e?e=null:D(e,\"First parameter\");const r=Ye(t,\"Second parameter\"),o=function(e,t){F(e,t);const r=e,o=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,a=null==r?void 0:r.pull,i=null==r?void 0:r.start,l=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===o?void 0:N(o,`${t} has member 'autoAllocateChunkSize' that`),cancel:void 0===n?void 0:$t(n,r,`${t} has member 'cancel' that`),pull:void 0===a?void 0:Mt(a,r,`${t} has member 'pull' that`),start:void 0===i?void 0:Yt(i,r,`${t} has member 'start' that`),type:void 0===l?void 0:Qt(l,`${t} has member 'type' that`)}}(e,\"First parameter\");var n;if((n=this)._state=\"readable\",n._reader=void 0,n._storedError=void 0,n._disturbed=!1,\"bytes\"===o.type){if(void 0!==r.size)throw new RangeError(\"The strategy for a byte stream cannot have a size function\");Oe(this,o,$e(r,0))}else{const e=Me(r);It(this,o,$e(r,1),e)}}get locked(){if(!Vt(this))throw Kt(\"locked\");return Ut(this)}cancel(e){return Vt(this)?Ut(this)?d(new TypeError(\"Cannot cancel a stream that already has a reader\")):Gt(this,e):d(Kt(\"cancel\"))}getReader(e){if(!Vt(this))throw Kt(\"getReader\");return void 0===function(e,t){F(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:Nt(r,`${t} has member 'mode' that`)}}(e,\"First parameter\").mode?new ReadableStreamDefaultReader(this):function(e){return new ReadableStreamBYOBReader(e)}(this)}pipeThrough(e,t={}){if(!H(this))throw Kt(\"pipeThrough\");$(e,1,\"pipeThrough\");const r=xt(e,\"First parameter\"),o=Ht(t,\"Second parameter\");if(this.locked)throw new TypeError(\"ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream\");if(r.writable.locked)throw new TypeError(\"ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream\");return m(kt(this,r.writable,o.preventClose,o.preventAbort,o.preventCancel,o.signal)),r.readable}pipeTo(e,t={}){if(!H(this))return d(Kt(\"pipeTo\"));if(void 0===e)return d(\"Parameter 1 is required in 'pipeTo'.\");if(!x(e))return d(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));let r;try{r=Ht(t,\"Second parameter\")}catch(e){return d(e)}return this.locked?d(new TypeError(\"ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream\")):e.locked?d(new TypeError(\"ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream\")):kt(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!H(this))throw Kt(\"tee\");if(this.locked)throw new TypeError(\"Cannot tee a stream that already has a reader\");return Ot(this)}values(e){if(!H(this))throw Kt(\"values\");return function(e,t){const r=e.getReader(),o=new te(r,t),n=Object.create(re);return n._asyncIteratorImpl=o,n}(this,function(e,t){F(e,t);const r=null==e?void 0:e.preventCancel;return{preventCancel:Boolean(r)}}(e,\"First parameter\").preventCancel)}}function Vt(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_readableStreamController\")&&e instanceof ReadableStream)}function Ut(e){return void 0!==e._reader}function Gt(e,r){if(e._disturbed=!0,\"closed\"===e._state)return c(void 0);if(\"errored\"===e._state)return d(e._storedError);Xt(e);const o=e._reader;if(void 0!==o&&Fe(o)){const e=o._readIntoRequests;o._readIntoRequests=new S,e.forEach((e=>{e._closeSteps(void 0)}))}return p(e._readableStreamController[T](r),t)}function Xt(e){e._state=\"closed\";const t=e._reader;if(void 0!==t&&(j(t),K(t))){const e=t._readRequests;t._readRequests=new S,e.forEach((e=>{e._closeSteps()}))}}function Jt(e,t){e._state=\"errored\",e._storedError=t;const r=e._reader;void 0!==r&&(A(r,t),K(r)?Z(r,t):Ie(r,t))}function Kt(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Zt(e,t){F(e,t);const r=null==e?void 0:e.highWaterMark;return M(r,\"highWaterMark\",\"QueuingStrategyInit\"),{highWaterMark:Y(r)}}Object.defineProperties(ReadableStream.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),n(ReadableStream.prototype.cancel,\"cancel\"),n(ReadableStream.prototype.getReader,\"getReader\"),n(ReadableStream.prototype.pipeThrough,\"pipeThrough\"),n(ReadableStream.prototype.pipeTo,\"pipeTo\"),n(ReadableStream.prototype.tee,\"tee\"),n(ReadableStream.prototype.values,\"values\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ReadableStream.prototype,e.toStringTag,{value:\"ReadableStream\",configurable:!0}),\"symbol\"==typeof e.asyncIterator&&Object.defineProperty(ReadableStream.prototype,e.asyncIterator,{value:ReadableStream.prototype.values,writable:!0,configurable:!0});const er=e=>e.byteLength;n(er,\"size\");class ByteLengthQueuingStrategy{constructor(e){$(e,1,\"ByteLengthQueuingStrategy\"),e=Zt(e,\"First parameter\"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!rr(this))throw tr(\"highWaterMark\");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!rr(this))throw tr(\"size\");return er}}function tr(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function rr(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_byteLengthQueuingStrategyHighWaterMark\")&&e instanceof ByteLengthQueuingStrategy)}Object.defineProperties(ByteLengthQueuingStrategy.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(ByteLengthQueuingStrategy.prototype,e.toStringTag,{value:\"ByteLengthQueuingStrategy\",configurable:!0});const or=()=>1;n(or,\"size\");class CountQueuingStrategy{constructor(e){$(e,1,\"CountQueuingStrategy\"),e=Zt(e,\"First parameter\"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!ar(this))throw nr(\"highWaterMark\");return this._countQueuingStrategyHighWaterMark}get size(){if(!ar(this))throw nr(\"size\");return or}}function nr(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function ar(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_countQueuingStrategyHighWaterMark\")&&e instanceof CountQueuingStrategy)}function ir(e,t,r){return I(e,r),r=>w(e,t,[r])}function lr(e,t,r){return I(e,r),r=>g(e,t,[r])}function sr(e,t,r){return I(e,r),(r,o)=>w(e,t,[r,o])}Object.defineProperties(CountQueuingStrategy.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(CountQueuingStrategy.prototype,e.toStringTag,{value:\"CountQueuingStrategy\",configurable:!0});class TransformStream{constructor(e={},t={},r={}){void 0===e&&(e=null);const o=Ye(t,\"Second parameter\"),n=Ye(r,\"Third parameter\"),a=function(e,t){F(e,t);const r=null==e?void 0:e.flush,o=null==e?void 0:e.readableType,n=null==e?void 0:e.start,a=null==e?void 0:e.transform,i=null==e?void 0:e.writableType;return{flush:void 0===r?void 0:ir(r,e,`${t} has member 'flush' that`),readableType:o,start:void 0===n?void 0:lr(n,e,`${t} has member 'start' that`),transform:void 0===a?void 0:sr(a,e,`${t} has member 'transform' that`),writableType:i}}(e,\"First parameter\");if(void 0!==a.readableType)throw new RangeError(\"Invalid readableType specified\");if(void 0!==a.writableType)throw new RangeError(\"Invalid writableType specified\");const i=$e(n,0),l=Me(n),s=$e(o,1),f=Me(o);let b;!function(e,t,r,o,n,a){function i(){return t}function l(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return p(e._backpressureChangePromise,(()=>{if(\"erroring\"===(Ge(e._writable)?e._writable._state:e._writableState))throw Ge(e._writable)?e._writable._storedError:e._writableStoredError;return pr(r,t)}))}return pr(r,t)}(e,t)}function s(t){return function(e,t){return cr(e,t),c(void 0)}(e,t)}function u(){return function(e){const t=e._transformStreamController,r=t._flushAlgorithm();return hr(t),p(r,(()=>{if(\"errored\"===e._readableState)throw e._readableStoredError;gr(e)&&wr(e)}),(t=>{throw cr(e,t),e._readableStoredError}))}(e)}function d(){return function(e){return fr(e,!1),e._backpressureChangePromise}(e)}function f(t){return dr(e,t),c(void 0)}e._writableState=\"writable\",e._writableStoredError=void 0,e._writableHasInFlightOperation=!1,e._writableStarted=!1,e._writable=function(e,t,r,o,n,a,i){return new WritableStream({start(r){e._writableController=r;try{const t=r.signal;void 0!==t&&t.addEventListener(\"abort\",(()=>{\"writable\"===e._writableState&&(e._writableState=\"erroring\",t.reason&&(e._writableStoredError=t.reason))}))}catch(e){}return p(t(),(()=>(e._writableStarted=!0,Cr(e),null)),(t=>{throw e._writableStarted=!0,Rr(e,t),t}))},write:t=>(function(e){e._writableHasInFlightOperation=!0}(e),p(r(t),(()=>(function(e){e._writableHasInFlightOperation=!1}(e),Cr(e),null)),(t=>{throw function(e,t){e._writableHasInFlightOperation=!1,Rr(e,t)}(e,t),t}))),close:()=>(function(e){e._writableHasInFlightOperation=!0}(e),p(o(),(()=>(function(e){e._writableHasInFlightOperation=!1;\"erroring\"===e._writableState&&(e._writableStoredError=void 0);e._writableState=\"closed\"}(e),null)),(t=>{throw function(e,t){e._writableHasInFlightOperation=!1,e._writableState,Rr(e,t)}(e,t),t}))),abort:t=>(e._writableState=\"errored\",e._writableStoredError=t,n(t))},{highWaterMark:a,size:i})}(e,i,l,u,s,r,o),e._readableState=\"readable\",e._readableStoredError=void 0,e._readableCloseRequested=!1,e._readablePulling=!1,e._readable=function(e,t,r,o,n,a){return new ReadableStream({start:r=>(e._readableController=r,t().catch((t=>{Sr(e,t)}))),pull:()=>(e._readablePulling=!0,r().catch((t=>{Sr(e,t)}))),cancel:t=>(e._readableState=\"closed\",o(t))},{highWaterMark:n,size:a})}(e,i,d,f,n,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,fr(e,!0),e._transformStreamController=void 0}(this,u((e=>{b=e})),s,f,i,l),function(e,t){const r=Object.create(TransformStreamDefaultController.prototype);let o,n;o=void 0!==t.transform?e=>t.transform(e,r):e=>{try{return _r(r,e),c(void 0)}catch(e){return d(e)}};n=void 0!==t.flush?()=>t.flush(r):()=>c(void 0);!function(e,t,r,o){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=o}(e,r,o,n)}(this,a),void 0!==a.start?b(a.start(this._transformStreamController)):b(void 0)}get readable(){if(!ur(this))throw yr(\"readable\");return this._readable}get writable(){if(!ur(this))throw yr(\"writable\");return this._writable}}function ur(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_transformStreamController\")&&e instanceof TransformStream)}function cr(e,t){Sr(e,t),dr(e,t)}function dr(e,t){hr(e._transformStreamController),function(e,t){e._writableController.error(t);\"writable\"===e._writableState&&Tr(e,t)}(e,t),e._backpressure&&fr(e,!1)}function fr(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=u((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(TransformStream.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(TransformStream.prototype,e.toStringTag,{value:\"TransformStream\",configurable:!0});class TransformStreamDefaultController{constructor(){throw new TypeError(\"Illegal constructor\")}get desiredSize(){if(!br(this))throw mr(\"desiredSize\");return vr(this._controlledTransformStream)}enqueue(e){if(!br(this))throw mr(\"enqueue\");_r(this,e)}error(e){if(!br(this))throw mr(\"error\");var t;t=e,cr(this._controlledTransformStream,t)}terminate(){if(!br(this))throw mr(\"terminate\");!function(e){const t=e._controlledTransformStream;gr(t)&&wr(t);const r=new TypeError(\"TransformStream terminated\");dr(t,r)}(this)}}function br(e){return!!r(e)&&(!!Object.prototype.hasOwnProperty.call(e,\"_controlledTransformStream\")&&e instanceof TransformStreamDefaultController)}function hr(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function _r(e,t){const r=e._controlledTransformStream;if(!gr(r))throw new TypeError(\"Readable side is not in a state that permits enqueue\");try{!function(e,t){e._readablePulling=!1;try{e._readableController.enqueue(t)}catch(t){throw Sr(e,t),t}}(r,t)}catch(e){throw dr(r,e),r._readableStoredError}const o=function(e){return!function(e){if(!gr(e))return!1;if(e._readablePulling)return!0;if(vr(e)>0)return!0;return!1}(e)}(r);o!==r._backpressure&&fr(r,!0)}function pr(e,t){return p(e._transformAlgorithm(t),void 0,(t=>{throw cr(e._controlledTransformStream,t),t}))}function mr(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function yr(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}function gr(e){return!e._readableCloseRequested&&\"readable\"===e._readableState}function wr(e){e._readableState=\"closed\",e._readableCloseRequested=!0,e._readableController.close()}function Sr(e,t){\"readable\"===e._readableState&&(e._readableState=\"errored\",e._readableStoredError=t),e._readableController.error(t)}function vr(e){return e._readableController.desiredSize}function Rr(e,t){\"writable\"!==e._writableState?qr(e):Tr(e,t)}function Tr(e,t){e._writableState=\"erroring\",e._writableStoredError=t,!function(e){return e._writableHasInFlightOperation}(e)&&e._writableStarted&&qr(e)}function qr(e){e._writableState=\"errored\"}function Cr(e){\"erroring\"===e._writableState&&qr(e)}Object.defineProperties(TransformStreamDefaultController.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),n(TransformStreamDefaultController.prototype.enqueue,\"enqueue\"),n(TransformStreamDefaultController.prototype.error,\"error\"),n(TransformStreamDefaultController.prototype.terminate,\"terminate\"),\"symbol\"==typeof e.toStringTag&&Object.defineProperty(TransformStreamDefaultController.prototype,e.toStringTag,{value:\"TransformStreamDefaultController\",configurable:!0});export{ByteLengthQueuingStrategy,CountQueuingStrategy,ReadableByteStreamController,ReadableStream,ReadableStreamBYOBReader,ReadableStreamBYOBRequest,ReadableStreamDefaultController,ReadableStreamDefaultReader,TransformStream,TransformStreamDefaultController,WritableStream,WritableStreamDefaultController,WritableStreamDefaultWriter};\n","export const isFunction = (value) => (typeof value === \"function\");\n","/*! Based on fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> & David Frank */\nimport { isFunction } from \"./isFunction.js\";\nconst CHUNK_SIZE = 65536;\nasync function* clonePart(part) {\n const end = part.byteOffset + part.byteLength;\n let position = part.byteOffset;\n while (position !== end) {\n const size = Math.min(end - position, CHUNK_SIZE);\n const chunk = part.buffer.slice(position, position + size);\n position += chunk.byteLength;\n yield new Uint8Array(chunk);\n }\n}\nasync function* consumeNodeBlob(blob) {\n let position = 0;\n while (position !== blob.size) {\n const chunk = blob.slice(position, Math.min(blob.size, position + CHUNK_SIZE));\n const buffer = await chunk.arrayBuffer();\n position += buffer.byteLength;\n yield new Uint8Array(buffer);\n }\n}\nexport async function* consumeBlobParts(parts, clone = false) {\n for (const part of parts) {\n if (ArrayBuffer.isView(part)) {\n if (clone) {\n yield* clonePart(part);\n }\n else {\n yield part;\n }\n }\n else if (isFunction(part.stream)) {\n yield* part.stream();\n }\n else {\n yield* consumeNodeBlob(part);\n }\n }\n}\nexport function* sliceBlob(blobParts, blobSize, start = 0, end) {\n end !== null && end !== void 0 ? end : (end = blobSize);\n let relativeStart = start < 0\n ? Math.max(blobSize + start, 0)\n : Math.min(start, blobSize);\n let relativeEnd = end < 0\n ? Math.max(blobSize + end, 0)\n : Math.min(end, blobSize);\n const span = Math.max(relativeEnd - relativeStart, 0);\n let added = 0;\n for (const part of blobParts) {\n if (added >= span) {\n break;\n }\n const partSize = ArrayBuffer.isView(part) ? part.byteLength : part.size;\n if (relativeStart && partSize <= relativeStart) {\n relativeStart -= partSize;\n relativeEnd -= partSize;\n }\n else {\n let chunk;\n if (ArrayBuffer.isView(part)) {\n chunk = part.subarray(relativeStart, Math.min(partSize, relativeEnd));\n added += chunk.byteLength;\n }\n else {\n chunk = part.slice(relativeStart, Math.min(partSize, relativeEnd));\n added += chunk.size;\n }\n relativeEnd -= partSize;\n relativeStart = 0;\n yield chunk;\n }\n }\n}\n","/*! Based on fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> & David Frank */\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _Blob_parts, _Blob_type, _Blob_size;\nimport { ReadableStream } from \"web-streams-polyfill\";\nimport { isFunction } from \"./isFunction.js\";\nimport { consumeBlobParts, sliceBlob } from \"./blobHelpers.js\";\nexport class Blob {\n constructor(blobParts = [], options = {}) {\n _Blob_parts.set(this, []);\n _Blob_type.set(this, \"\");\n _Blob_size.set(this, 0);\n options !== null && options !== void 0 ? options : (options = {});\n if (typeof blobParts !== \"object\" || blobParts === null) {\n throw new TypeError(\"Failed to construct 'Blob': \"\n + \"The provided value cannot be converted to a sequence.\");\n }\n if (!isFunction(blobParts[Symbol.iterator])) {\n throw new TypeError(\"Failed to construct 'Blob': \"\n + \"The object must have a callable @@iterator property.\");\n }\n if (typeof options !== \"object\" && !isFunction(options)) {\n throw new TypeError(\"Failed to construct 'Blob': parameter 2 cannot convert to dictionary.\");\n }\n const encoder = new TextEncoder();\n for (const raw of blobParts) {\n let part;\n if (ArrayBuffer.isView(raw)) {\n part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength));\n }\n else if (raw instanceof ArrayBuffer) {\n part = new Uint8Array(raw.slice(0));\n }\n else if (raw instanceof Blob) {\n part = raw;\n }\n else {\n part = encoder.encode(String(raw));\n }\n __classPrivateFieldSet(this, _Blob_size, __classPrivateFieldGet(this, _Blob_size, \"f\") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), \"f\");\n __classPrivateFieldGet(this, _Blob_parts, \"f\").push(part);\n }\n const type = options.type === undefined ? \"\" : String(options.type);\n __classPrivateFieldSet(this, _Blob_type, /^[\\x20-\\x7E]*$/.test(type) ? type : \"\", \"f\");\n }\n static [(_Blob_parts = new WeakMap(), _Blob_type = new WeakMap(), _Blob_size = new WeakMap(), Symbol.hasInstance)](value) {\n return Boolean(value\n && typeof value === \"object\"\n && isFunction(value.constructor)\n && (isFunction(value.stream)\n || isFunction(value.arrayBuffer))\n && /^(Blob|File)$/.test(value[Symbol.toStringTag]));\n }\n get type() {\n return __classPrivateFieldGet(this, _Blob_type, \"f\");\n }\n get size() {\n return __classPrivateFieldGet(this, _Blob_size, \"f\");\n }\n slice(start, end, contentType) {\n return new Blob(sliceBlob(__classPrivateFieldGet(this, _Blob_parts, \"f\"), this.size, start, end), {\n type: contentType\n });\n }\n async text() {\n const decoder = new TextDecoder();\n let result = \"\";\n for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, \"f\"))) {\n result += decoder.decode(chunk, { stream: true });\n }\n result += decoder.decode();\n return result;\n }\n async arrayBuffer() {\n const view = new Uint8Array(this.size);\n let offset = 0;\n for await (const chunk of consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, \"f\"))) {\n view.set(chunk, offset);\n offset += chunk.length;\n }\n return view.buffer;\n }\n stream() {\n const iterator = consumeBlobParts(__classPrivateFieldGet(this, _Blob_parts, \"f\"), true);\n return new ReadableStream({\n async pull(controller) {\n const { value, done } = await iterator.next();\n if (done) {\n return queueMicrotask(() => controller.close());\n }\n controller.enqueue(value);\n },\n async cancel() {\n await iterator.return();\n }\n });\n }\n get [Symbol.toStringTag]() {\n return \"Blob\";\n }\n}\nObject.defineProperties(Blob.prototype, {\n type: { enumerable: true },\n size: { enumerable: true },\n slice: { enumerable: true },\n stream: { enumerable: true },\n text: { enumerable: true },\n arrayBuffer: { enumerable: true }\n});\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _File_name, _File_lastModified;\nimport { Blob } from \"./Blob.js\";\nexport class File extends Blob {\n constructor(fileBits, name, options = {}) {\n super(fileBits, options);\n _File_name.set(this, void 0);\n _File_lastModified.set(this, 0);\n if (arguments.length < 2) {\n throw new TypeError(\"Failed to construct 'File': 2 arguments required, \"\n + `but only ${arguments.length} present.`);\n }\n __classPrivateFieldSet(this, _File_name, String(name), \"f\");\n const lastModified = options.lastModified === undefined\n ? Date.now()\n : Number(options.lastModified);\n if (!Number.isNaN(lastModified)) {\n __classPrivateFieldSet(this, _File_lastModified, lastModified, \"f\");\n }\n }\n static [(_File_name = new WeakMap(), _File_lastModified = new WeakMap(), Symbol.hasInstance)](value) {\n return value instanceof Blob\n && value[Symbol.toStringTag] === \"File\"\n && typeof value.name === \"string\";\n }\n get name() {\n return __classPrivateFieldGet(this, _File_name, \"f\");\n }\n get lastModified() {\n return __classPrivateFieldGet(this, _File_lastModified, \"f\");\n }\n get webkitRelativePath() {\n return \"\";\n }\n get [Symbol.toStringTag]() {\n return \"File\";\n }\n}\n","import { File } from \"./File.js\";\nexport const isFile = (value) => value instanceof File;\n"],"mappings":"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","names":["e","t","r","o","n","a","i","l","s","u","_","g","w","S","v","R","T","q","C","E","P","W","k","O","B","L","z","A","j","F","d","f","h","p","m","y","c","b","f","__classPrivateFieldSet","f","__classPrivateFieldGet"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/query/src/parser.ts","../../../packages/query/src/template.ts","../../../packages/query/src/compiler.ts","../../../packages/query/src/connectors/duckdb.ts","../../../packages/query/src/connectors/postgres.ts","../../../packages/query/src/connectors/mysql.ts","../../../packages/query/src/connectors/sqlite.ts","../../../packages/query/src/connectors/snowflake.ts","../../../packages/query/src/connectors/bigquery.ts","../../../packages/query/src/connectors/auth.ts","../../../packages/query/src/connectors/reconnecting.ts","../../../packages/query/src/connectors/index.ts","../../../packages/query/src/test-runner.ts","../../../packages/query/src/profiling/profiler.ts","../../../packages/query/src/sql-safety.ts","../../../packages/query/src/index.ts"],"sourcesContent":["import type { ModelMetadata, ModelParam, ReturnColumn } from '@yamchart/schema';\n\nexport interface ParsedModel {\n metadata: ModelMetadata;\n sql: string;\n}\n\ninterface ParseResult extends ModelMetadata {\n sql: string;\n}\n\n/**\n * Parse model metadata from SQL comments.\n *\n * Supports:\n * - @name: model_name\n * - @description: text\n * - @owner: team-name\n * - @tags: [tag1, tag2]\n * - @param name: type = default {option1, option2}\n * - @returns: (multiline)\n * - @tests: (multiline)\n */\nexport function parseModelMetadata(sql: string): ParseResult {\n const lines = sql.split('\\n');\n const metadataLines: string[] = [];\n const sqlLines: string[] = [];\n\n let inMetadata = true;\n let inMultiline: 'returns' | 'tests' | null = null;\n\n for (const line of lines) {\n const trimmed = line.trim();\n\n // Check if this is a metadata comment\n if (trimmed.startsWith('-- @') || (inMultiline && trimmed.startsWith('--'))) {\n metadataLines.push(trimmed);\n inMetadata = true;\n } else if (trimmed.startsWith('--') && inMetadata && metadataLines.length > 0) {\n // Continuation of metadata block\n metadataLines.push(trimmed);\n } else if (trimmed === '' && inMetadata) {\n // Empty line in metadata section, keep going\n continue;\n } else {\n // SQL content\n inMetadata = false;\n sqlLines.push(line);\n }\n }\n\n // Parse metadata\n const metadata = parseMetadataLines(metadataLines);\n\n if (!metadata.name) {\n throw new Error('Model must have a @name');\n }\n\n return {\n ...metadata,\n name: metadata.name,\n sql: sqlLines.join('\\n').trim(),\n };\n}\n\nfunction parseMetadataLines(lines: string[]): Partial<ModelMetadata> & { sql?: string } {\n const result: Partial<ModelMetadata> = {};\n const params: ModelParam[] = [];\n const returns: ReturnColumn[] = [];\n const tests: string[] = [];\n\n let currentMultiline: 'returns' | 'tests' | null = null;\n\n for (const line of lines) {\n const content = line.replace(/^--\\s*/, '').trim();\n\n // Check for multiline content (indented with -)\n if (currentMultiline && content.startsWith('- ')) {\n const itemContent = content.slice(2).trim();\n\n if (currentMultiline === 'returns') {\n const returnCol = parseReturnColumn(itemContent);\n if (returnCol) returns.push(returnCol);\n } else if (currentMultiline === 'tests') {\n tests.push(itemContent);\n }\n continue;\n }\n\n // Check for new directive\n if (content.startsWith('@')) {\n currentMultiline = null;\n\n if (content.startsWith('@name:')) {\n result.name = content.slice(6).trim();\n } else if (content.startsWith('@description:')) {\n result.description = content.slice(13).trim();\n } else if (content.startsWith('@owner:')) {\n result.owner = content.slice(7).trim();\n } else if (content.startsWith('@tags:')) {\n result.tags = parseTags(content.slice(6).trim());\n } else if (content.startsWith('@param')) {\n const param = parseParam(content.slice(6).trim());\n if (param) params.push(param);\n } else if (content.startsWith('@returns:')) {\n currentMultiline = 'returns';\n } else if (content.startsWith('@tests:')) {\n currentMultiline = 'tests';\n }\n }\n }\n\n if (params.length > 0) result.params = params;\n if (returns.length > 0) result.returns = returns;\n if (tests.length > 0) result.tests = tests;\n\n return result;\n}\n\nfunction parseTags(input: string): string[] {\n // Parse [tag1, tag2, tag3]\n const match = input.match(/\\[(.*)\\]/);\n if (!match?.[1]) return [];\n return match[1].split(',').map(t => t.trim());\n}\n\nfunction parseParam(input: string): ModelParam | null {\n // Parse: name: type = default {option1, option2}\n // Or: name: type = default\n // Or: name: type\n\n const match = input.match(/^(\\w+):\\s*(\\w+(?:\\[\\])?)\\s*(?:=\\s*([^{]+))?\\s*(?:\\{([^}]+)\\})?/);\n if (!match) return null;\n\n const [, name, type, defaultValue, options] = match;\n if (!name || !type) return null;\n\n const param: ModelParam = {\n name: name.trim(),\n type: type.trim() as ModelParam['type'],\n };\n\n if (defaultValue) {\n param.default = defaultValue.trim();\n }\n\n if (options) {\n param.options = options.split(',').map(o => o.trim());\n }\n\n return param;\n}\n\nfunction parseReturnColumn(input: string): ReturnColumn | null {\n // Parse: name: type -- description\n // Or: name: type\n\n const match = input.match(/^(\\w+):\\s*(\\w+)\\s*(?:--\\s*(.+))?/);\n if (!match) return null;\n\n const [, name, type, description] = match;\n if (!name || !type) return null;\n\n const col: ReturnColumn = {\n name: name.trim(),\n type: type.trim(),\n };\n\n if (description) {\n col.description = description.trim();\n }\n\n return col;\n}\n","import nunjucks from 'nunjucks';\n\n// Configure Nunjucks environment\nconst env = new nunjucks.Environment(null, {\n autoescape: false, // SQL doesn't need HTML escaping\n throwOnUndefined: false, // user.x may be undefined for RLS\n});\n\n/**\n * Array subclass that renders as SQL-safe quoted, comma-separated values.\n * Used for multi_select parameters so {{ param }} produces 'val1', 'val2'.\n * Remains iterable for {% for item in param %} loops.\n */\nexport class SqlList extends Array<string> {\n override toString(): string {\n return this.map(v => `'${String(v).replace(/'/g, \"''\")}'`).join(', ');\n }\n}\n\nexport interface TemplateContext {\n [key: string]: unknown;\n ref: (name: string) => string;\n}\n\nexport interface ModelRefs {\n [modelName: string]: string; // model name -> table/subquery\n}\n\n/**\n * Create a template context with parameters and ref() function.\n * Array values are wrapped in SqlList so {{ param }} auto-quotes for SQL IN clauses.\n */\nexport function createTemplateContext(\n params: Record<string, unknown>,\n refs: ModelRefs = {},\n userContext?: Record<string, unknown>\n): TemplateContext {\n const processed: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n const list = new SqlList(...value);\n processed[key] = list;\n } else {\n processed[key] = value;\n }\n }\n\n return {\n ...processed,\n user: userContext ?? {},\n ref: (name: string): string => {\n const resolved = refs[name];\n if (resolved === undefined) {\n throw new Error(`Unknown model reference: ${name}`);\n }\n return resolved;\n },\n };\n}\n\n/**\n * Render a SQL template with the given context.\n */\nexport function renderTemplate(\n template: string,\n context: Record<string, unknown>\n): string {\n const rendered = env.renderString(template, context);\n // Clean up extra whitespace from conditionals\n return rendered\n .split('\\n')\n .map(line => line.trimEnd())\n .filter((line, i, arr) => {\n // Remove consecutive blank lines\n if (line === '' && arr[i - 1] === '') return false;\n return true;\n })\n .join('\\n')\n .trim();\n}\n\n/**\n * Check if a template contains a specific variable reference.\n */\nexport function templateHasVariable(template: string, varName: string): boolean {\n // Match {{ varName }} or {{ varName | filter }}\n const regex = new RegExp(`\\\\{\\\\{\\\\s*${varName}(?:\\\\s*\\\\|[^}]+)?\\\\s*\\\\}\\\\}`, 'g');\n return regex.test(template);\n}\n\n/**\n * Extract all variable names from a template.\n */\nexport function extractTemplateVariables(template: string): string[] {\n const variables = new Set<string>();\n\n // Match {{ variable }} or {{ variable | filter }}\n const regex = /\\{\\{\\s*(\\w+)(?:\\s*\\|[^}]+)?\\s*\\}\\}/g;\n let match;\n\n while ((match = regex.exec(template)) !== null) {\n const varName = match[1];\n // Exclude built-in functions\n if (varName && varName !== 'ref' && varName !== 'loop') {\n variables.add(varName);\n }\n }\n\n return Array.from(variables);\n}\n","import type { Chart, ModelMetadata } from '@yamchart/schema';\nimport { renderTemplate, createTemplateContext, type ModelRefs } from './template.js';\nimport { expandDatePreset, isDatePreset, isCustomDateRange, expandCustomDateRange, isRelativeDateRange, expandRelativeDateRange } from './presets.js';\nimport { createHash } from 'node:crypto';\nimport {\n format,\n subDays,\n addDays,\n startOfYear,\n startOfMonth,\n startOfQuarter,\n endOfYear,\n endOfMonth,\n endOfQuarter,\n} from 'date-fns';\n\n/**\n * Resolve dynamic default values like current_date(), today, today - 30d to actual dates.\n *\n * Supported expressions:\n * - current_date, current_date(), now() → today's date\n * - today → today's date\n * - today - 30, today - 30d → 30 days ago\n * - today + 7, today + 7d → 7 days from now\n * - start_of_year, start_of_month, start_of_quarter → period boundaries\n * - end_of_year, end_of_month, end_of_quarter → period boundaries\n */\nexport function resolveDynamicDefault(value: unknown): unknown {\n if (typeof value !== 'string') return value;\n\n const trimmed = value.trim().toLowerCase();\n\n // Exact matches: current_date, now(), today\n if (\n trimmed === 'current_date()' ||\n trimmed === 'current_date' ||\n trimmed === 'now()' ||\n trimmed === 'today'\n ) {\n return format(new Date(), 'yyyy-MM-dd');\n }\n\n // Period boundary functions\n const now = new Date();\n switch (trimmed) {\n case 'start_of_year':\n return format(startOfYear(now), 'yyyy-MM-dd');\n case 'start_of_month':\n return format(startOfMonth(now), 'yyyy-MM-dd');\n case 'start_of_quarter':\n return format(startOfQuarter(now), 'yyyy-MM-dd');\n case 'end_of_year':\n return format(endOfYear(now), 'yyyy-MM-dd');\n case 'end_of_month':\n return format(endOfMonth(now), 'yyyy-MM-dd');\n case 'end_of_quarter':\n return format(endOfQuarter(now), 'yyyy-MM-dd');\n }\n\n // Date arithmetic: today - 30, today - 30d, today + 7, today + 7d\n // Also: current_date - 30, current_date() - 30\n const arithMatch = trimmed.match(\n /^(?:today|current_date(?:\\(\\))?)\\s*([+-])\\s*(\\d+)\\s*d?$/\n );\n if (arithMatch) {\n const [, op, numStr] = arithMatch;\n const days = parseInt(numStr!, 10);\n const result = op === '-' ? subDays(now, days) : addDays(now, days);\n return format(result, 'yyyy-MM-dd');\n }\n\n return value;\n}\n\nexport interface CompiledQuery {\n sql: string;\n params: Record<string, unknown>;\n cacheKey: string;\n chartName: string;\n}\n\nexport interface CompilerConfig {\n models: Record<string, { metadata: ModelMetadata; sql: string }>;\n refs: ModelRefs;\n}\n\nexport class QueryCompiler {\n private models: Map<string, { metadata: ModelMetadata; sql: string }>;\n private refs: ModelRefs;\n\n constructor(config: CompilerConfig) {\n this.models = new Map(Object.entries(config.models));\n this.refs = config.refs;\n }\n\n /**\n * Compile a chart definition into an executable SQL query.\n */\n compile(\n chart: Chart,\n inputParams: Record<string, unknown>,\n userContext?: Record<string, unknown>\n ): CompiledQuery {\n // Get SQL template\n const { sql, modelParams } = this.getSQL(chart);\n\n // Merge parameters: model defaults < chart defaults < input params\n const params = this.resolveParams(chart, modelParams, inputParams);\n\n // Expand date presets (pass inputParams to avoid overwriting explicit start_date/end_date)\n const expandedParams = this.expandPresets(params, inputParams);\n\n // Create template context with params, refs, and user context\n const context = createTemplateContext(expandedParams, this.refs, userContext);\n\n // Render template\n const renderedSQL = renderTemplate(sql, context);\n\n // Generate cache key (includes user context hash for RLS)\n const cacheKey = this.generateCacheKey(chart.name, renderedSQL, expandedParams, userContext);\n\n return {\n sql: renderedSQL,\n params: expandedParams,\n cacheKey,\n chartName: chart.name,\n };\n }\n\n private getSQL(chart: Chart): { sql: string; modelParams: ModelMetadata['params'] } {\n if (chart.source.sql) {\n return { sql: chart.source.sql, modelParams: undefined };\n }\n\n if (chart.source.model) {\n const model = this.models.get(chart.source.model);\n if (!model) {\n throw new Error(`Unknown model: ${chart.source.model}`);\n }\n return { sql: model.sql, modelParams: model.metadata.params };\n }\n\n throw new Error('Chart source must specify either model or sql');\n }\n\n private resolveParams(\n chart: Chart,\n modelParams: ModelMetadata['params'],\n inputParams: Record<string, unknown>\n ): Record<string, unknown> {\n const params: Record<string, unknown> = {};\n\n // Apply model parameter defaults (resolve dynamic values like current_date())\n if (modelParams) {\n for (const param of modelParams) {\n if (param.default !== undefined) {\n params[param.name] = resolveDynamicDefault(param.default);\n }\n }\n }\n\n // Apply chart parameter defaults (resolve dynamic values)\n if (chart.parameters) {\n for (const param of chart.parameters) {\n if (param.default !== undefined) {\n params[param.name] = resolveDynamicDefault(param.default);\n }\n }\n }\n\n // Apply input params (overrides defaults)\n Object.assign(params, inputParams);\n\n return params;\n }\n\n private expandPresets(params: Record<string, unknown>, inputParams: Record<string, unknown>): Record<string, unknown> {\n const expanded: Record<string, unknown> = { ...params };\n\n // If input explicitly provided start_date and end_date, don't overwrite from date_range.\n // This prevents previous-period comparison queries from having their dates\n // clobbered by a default date_range parameter re-expanding to the current period.\n if (inputParams.start_date && inputParams.end_date) {\n return expanded;\n }\n\n // Check for date_range and expand it (preset string, custom range, or relative range)\n if (isRelativeDateRange(params.date_range)) {\n const dateRange = expandRelativeDateRange(params.date_range);\n expanded.start_date = dateRange.start_date;\n expanded.end_date = dateRange.end_date;\n } else if (isCustomDateRange(params.date_range)) {\n const dateRange = expandCustomDateRange(params.date_range);\n expanded.start_date = dateRange.start_date;\n expanded.end_date = dateRange.end_date;\n } else if (typeof params.date_range === 'string' && isDatePreset(params.date_range)) {\n const dateRange = expandDatePreset(params.date_range);\n if (dateRange) {\n expanded.start_date = dateRange.start_date;\n expanded.end_date = dateRange.end_date;\n }\n }\n\n return expanded;\n }\n\n private generateCacheKey(\n chartName: string,\n sql: string,\n params: Record<string, unknown>,\n userContext?: Record<string, unknown>\n ): string {\n const sqlHash = createHash('sha256').update(sql).digest('hex').slice(0, 8);\n const paramsHash = createHash('sha256')\n .update(JSON.stringify(params, Object.keys(params).sort()))\n .digest('hex')\n .slice(0, 8);\n\n let key = `${chartName}:${sqlHash}:${paramsHash}`;\n\n if (userContext && Object.keys(userContext).length > 0) {\n const userHash = createHash('sha256')\n .update(JSON.stringify(userContext, Object.keys(userContext).sort()))\n .digest('hex')\n .slice(0, 8);\n key += `:${userHash}`;\n }\n\n return key;\n }\n\n /**\n * Add or update a model in the compiler.\n */\n addModel(name: string, metadata: ModelMetadata, sql: string): void {\n this.models.set(name, { metadata, sql });\n }\n\n /**\n * Add or update a ref mapping.\n */\n addRef(name: string, target: string): void {\n this.refs[name] = target;\n }\n}\n","import duckdb from 'duckdb';\nimport { performance } from 'node:perf_hooks';\nimport { serializeDateValue, type Connector, type QueryResult } from './index.js';\n\nexport interface DuckDBConfig {\n path: string; // file path or ':memory:'\n}\n\nexport class DuckDBConnector implements Connector {\n private config: DuckDBConfig;\n private db: duckdb.Database | null = null;\n private connection: duckdb.Connection | null = null;\n\n constructor(config: DuckDBConfig) {\n this.config = config;\n }\n\n async connect(): Promise<void> {\n return new Promise((resolve, reject) => {\n this.db = new duckdb.Database(this.config.path, (err) => {\n if (err) {\n reject(err);\n return;\n }\n this.connection = this.db!.connect();\n resolve();\n });\n });\n }\n\n async disconnect(): Promise<void> {\n return new Promise((resolve) => {\n if (this.connection) {\n this.connection.close(() => {\n this.connection = null;\n });\n }\n if (this.db) {\n this.db.close(() => {\n this.db = null;\n resolve();\n });\n } else {\n resolve();\n }\n });\n }\n\n async execute(sql: string): Promise<QueryResult> {\n if (!this.connection) {\n throw new Error('Not connected to database');\n }\n\n const startTime = performance.now();\n\n return new Promise((resolve, reject) => {\n const stmt = this.connection!.prepare(sql, (prepErr) => {\n if (prepErr) {\n reject(prepErr);\n return;\n }\n\n // Extract column metadata from the prepared statement\n const columnInfo = stmt.columns();\n\n stmt.all((err, rows) => {\n const durationMs = performance.now() - startTime;\n\n if (err) {\n reject(err);\n return;\n }\n\n const typedRows = rows as Array<Record<string, unknown>>;\n // Convert BigInt values to numbers for JSON serialization\n const serializedRows = typedRows.map((row) => this.serializeRow(row));\n\n const columns = columnInfo.map((col) => ({\n name: col.name,\n type: col.type.sql_type,\n }));\n\n stmt.finalize();\n\n resolve({\n columns,\n rows: serializedRows,\n rowCount: serializedRows.length,\n durationMs,\n });\n });\n });\n });\n }\n\n isConnected(): boolean {\n return this.connection !== null;\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n if (!this.connection) {\n throw new Error('Not connected to database');\n }\n\n return new Promise((resolve) => {\n this.connection!.all(`EXPLAIN ${sql}`, (err) => {\n if (err) {\n resolve({ valid: false, error: err.message });\n } else {\n resolve({ valid: true });\n }\n });\n });\n }\n\n private serializeRow(row: Record<string, unknown>): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(row)) {\n if (typeof value === 'bigint') {\n // Convert BigInt to number for JSON serialization\n result[key] = Number(value);\n } else if (value instanceof Date) {\n result[key] = serializeDateValue(value);\n } else {\n result[key] = value;\n }\n }\n return result;\n }\n}\n","import { performance } from 'node:perf_hooks';\nimport { serializeDateValue, type Connector, type QueryResult } from './index.js';\n\nexport interface PostgresConfig {\n host: string;\n port: number;\n database: string;\n user: string;\n password: string;\n schema?: string;\n ssl?: boolean | object;\n // Pool settings\n min?: number;\n max?: number;\n idleTimeoutMillis?: number;\n connectTimeoutMillis?: number;\n // Query settings\n statementTimeout?: number;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet sdk: any = null;\nlet typeParserConfigured = false;\n\nasync function loadSDK() {\n if (!sdk) {\n try {\n sdk = await import('pg');\n } catch {\n throw new Error(\n 'pg is not installed. Install it with: npm install pg'\n );\n }\n\n // Configure pg to return int8 (bigint) as JavaScript BigInt instead of string\n // OID 20 = int8 in PostgreSQL\n if (!typeParserConfigured) {\n sdk.types.setTypeParser(20, (val: string) => {\n if (val === null) return null;\n return BigInt(val);\n });\n typeParserConfigured = true;\n }\n }\n return sdk;\n}\n\n// Safe identifier escaping for schema names\nfunction escapeIdentifier(identifier: string): string {\n // Only allow alphanumeric and underscores for safety\n if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(identifier)) {\n throw new Error(`Invalid identifier: ${identifier}`);\n }\n return `\"${identifier}\"`;\n}\n\nexport class PostgresConnector implements Connector {\n private config: PostgresConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private pool: any = null;\n\n constructor(config: PostgresConfig) {\n this.config = config;\n }\n\n async connect(): Promise<void> {\n const pg = await loadSDK();\n\n const poolConfig = {\n host: this.config.host,\n port: this.config.port,\n database: this.config.database,\n user: this.config.user,\n password: this.config.password,\n ssl: this.config.ssl,\n min: this.config.min ?? 2,\n max: this.config.max ?? 10,\n idleTimeoutMillis: this.config.idleTimeoutMillis ?? 30000,\n connectionTimeoutMillis: this.config.connectTimeoutMillis ?? 10000,\n statement_timeout: this.config.statementTimeout,\n };\n\n this.pool = new pg.Pool(poolConfig);\n\n // Handle pool errors (idle client errors)\n this.pool.on('error', (err: Error) => {\n console.error('Unexpected postgres pool error:', err.message);\n });\n\n // Set search_path on each new client from the pool\n if (this.config.schema) {\n const schema = escapeIdentifier(this.config.schema);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.pool.on('connect', (client: any) => {\n client.query(`SET search_path TO ${schema}`).catch((err: Error) => {\n console.error('Failed to set search_path:', err.message);\n });\n });\n }\n\n // Verify connection works\n const client = await this.pool.connect();\n client.release();\n }\n\n async disconnect(): Promise<void> {\n if (this.pool) {\n await this.pool.end();\n this.pool = null;\n }\n }\n\n isConnected(): boolean {\n return this.pool !== null;\n }\n\n async execute(sql: string): Promise<QueryResult> {\n if (!this.pool) {\n throw new Error('Not connected to database');\n }\n\n const start = performance.now();\n const result = await this.pool.query(sql);\n const durationMs = performance.now() - start;\n\n return {\n columns: this.extractColumns(result),\n rows: result.rows.map((row: Record<string, unknown>) => this.serializeRow(row)),\n rowCount: result.rowCount ?? result.rows.length,\n durationMs,\n };\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n if (!this.pool) {\n throw new Error('Not connected to database');\n }\n\n try {\n await this.pool.query(`EXPLAIN ${sql}`);\n return { valid: true };\n } catch (err) {\n return {\n valid: false,\n error: err instanceof Error ? err.message : String(err)\n };\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private extractColumns(result: any): Array<{ name: string; type: string }> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return result.fields.map((field: any) => ({\n name: field.name,\n type: this.pgTypeToString(field.dataTypeID),\n }));\n }\n\n private pgTypeToString(oid: number): string {\n // Common Postgres type OIDs\n const typeMap: Record<number, string> = {\n 16: 'boolean', // bool\n 20: 'integer', // int8\n 21: 'integer', // int2\n 23: 'integer', // int4\n 700: 'number', // float4\n 701: 'number', // float8\n 1700: 'number', // numeric\n 25: 'string', // text\n 1043: 'string', // varchar\n 1082: 'date', // date\n 1114: 'date', // timestamp\n 1184: 'date', // timestamptz\n 114: 'unknown', // json\n 3802: 'unknown', // jsonb\n };\n return typeMap[oid] ?? 'unknown';\n }\n\n private serializeRow(row: Record<string, unknown>): Record<string, unknown> {\n const serialized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(row)) {\n serialized[key] = this.serializeValue(value);\n }\n return serialized;\n }\n\n private serializeValue(value: unknown): unknown {\n if (value === null || value === undefined) {\n return null;\n }\n if (typeof value === 'bigint') {\n // Return as string if value exceeds safe integer range to preserve precision\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n return value.toString();\n }\n return Number(value);\n }\n if (value instanceof Date) {\n return serializeDateValue(value);\n }\n return value;\n }\n}\n","import { performance } from 'node:perf_hooks';\nimport { serializeDateValue, type Connector, type QueryResult } from './index.js';\n\nexport interface MySQLConfig {\n host: string;\n port: number;\n database: string;\n user: string;\n password: string;\n ssl?: boolean | object;\n // Pool settings\n min?: number;\n max?: number;\n idleTimeoutMillis?: number;\n connectTimeoutMillis?: number;\n // Query settings\n statementTimeout?: number;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet sdk: any = null;\n\nasync function loadSDK() {\n if (!sdk) {\n try {\n sdk = await import('mysql2/promise');\n } catch {\n throw new Error(\n 'mysql2 is not installed. Install it with: npm install mysql2'\n );\n }\n }\n return sdk;\n}\n\nexport class MySQLConnector implements Connector {\n private config: MySQLConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private pool: any = null;\n\n constructor(config: MySQLConfig) {\n this.config = config;\n }\n\n async connect(): Promise<void> {\n const mysql = await loadSDK();\n\n const poolConfig = {\n host: this.config.host,\n port: this.config.port,\n database: this.config.database,\n user: this.config.user,\n password: this.config.password,\n ssl: this.config.ssl ? {} : undefined,\n waitForConnections: true,\n connectionLimit: this.config.max ?? 10,\n queueLimit: 0,\n connectTimeout: this.config.connectTimeoutMillis ?? 10000,\n };\n\n this.pool = mysql.createPool(poolConfig);\n\n // Verify connection works\n const connection = await this.pool.getConnection();\n connection.release();\n }\n\n async disconnect(): Promise<void> {\n if (this.pool) {\n await this.pool.end();\n this.pool = null;\n }\n }\n\n isConnected(): boolean {\n return this.pool !== null;\n }\n\n async execute(sql: string): Promise<QueryResult> {\n if (!this.pool) {\n throw new Error('Not connected to database');\n }\n\n const start = performance.now();\n const [rows, fields] = await this.pool.query(sql);\n const durationMs = performance.now() - start;\n\n return {\n columns: this.extractColumns(fields),\n rows: rows.map((row: Record<string, unknown>) => this.serializeRow(row)),\n rowCount: rows.length,\n durationMs,\n };\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n if (!this.pool) {\n throw new Error('Not connected to database');\n }\n\n try {\n await this.pool.query(`EXPLAIN ${sql}`);\n return { valid: true };\n } catch (err) {\n return {\n valid: false,\n error: err instanceof Error ? err.message : String(err)\n };\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private extractColumns(fields: any[]): Array<{ name: string; type: string }> {\n return fields.map(field => ({\n name: field.name,\n type: this.mysqlTypeToString(field.type),\n }));\n }\n\n private mysqlTypeToString(type: number | undefined): string {\n // MySQL field type constants\n const typeMap: Record<number, string> = {\n 0: 'number', // DECIMAL\n 1: 'integer', // TINY\n 2: 'integer', // SHORT\n 3: 'integer', // LONG\n 4: 'number', // FLOAT\n 5: 'number', // DOUBLE\n 7: 'date', // TIMESTAMP\n 8: 'integer', // LONGLONG\n 9: 'integer', // INT24\n 10: 'date', // DATE\n 11: 'string', // TIME\n 12: 'date', // DATETIME\n 13: 'integer', // YEAR\n 15: 'string', // VARCHAR\n 245: 'unknown', // JSON\n 246: 'number', // NEWDECIMAL\n 252: 'string', // BLOB\n 253: 'string', // VAR_STRING\n 254: 'string', // STRING\n };\n return typeMap[type ?? 0] ?? 'unknown';\n }\n\n private serializeRow(row: Record<string, unknown>): Record<string, unknown> {\n const serialized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(row)) {\n serialized[key] = this.serializeValue(value);\n }\n return serialized;\n }\n\n private serializeValue(value: unknown): unknown {\n if (value === null || value === undefined) {\n return null;\n }\n if (typeof value === 'bigint') {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n return value.toString();\n }\n return Number(value);\n }\n if (value instanceof Date) {\n return serializeDateValue(value);\n }\n if (Buffer.isBuffer(value)) {\n return value.toString('utf-8');\n }\n return value;\n }\n}\n","import Database, { type Database as DatabaseType } from 'better-sqlite3';\nimport { performance } from 'node:perf_hooks';\nimport type { Connector, QueryResult } from './index.js';\n\nexport interface SQLiteConfig {\n path: string; // file path or :memory:\n readonly?: boolean;\n}\n\nexport class SQLiteConnector implements Connector {\n private config: SQLiteConfig;\n private db: DatabaseType | null = null;\n\n constructor(config: SQLiteConfig) {\n this.config = config;\n }\n\n async connect(): Promise<void> {\n this.db = new Database(this.config.path, {\n readonly: this.config.readonly ?? false,\n });\n\n // Enable foreign keys and WAL mode for better performance\n this.db.pragma('journal_mode = WAL');\n this.db.pragma('foreign_keys = ON');\n }\n\n async disconnect(): Promise<void> {\n if (this.db) {\n this.db.close();\n this.db = null;\n }\n }\n\n isConnected(): boolean {\n return this.db !== null;\n }\n\n async execute(sql: string): Promise<QueryResult> {\n if (!this.db) {\n throw new Error('Not connected to database');\n }\n\n const start = performance.now();\n const stmt = this.db.prepare(sql);\n const rows = stmt.all() as Record<string, unknown>[];\n const durationMs = performance.now() - start;\n\n // Extract column info from the statement\n const columns = stmt.columns().map(col => ({\n name: col.name,\n type: this.sqliteTypeToString(col.type),\n }));\n\n return {\n columns,\n rows: rows.map(row => this.serializeRow(row)),\n rowCount: rows.length,\n durationMs,\n };\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n if (!this.db) {\n throw new Error('Not connected to database');\n }\n\n try {\n this.db.prepare(`EXPLAIN ${sql}`);\n return { valid: true };\n } catch (err) {\n return {\n valid: false,\n error: err instanceof Error ? err.message : String(err)\n };\n }\n }\n\n private sqliteTypeToString(type: string | null): string {\n if (!type) return 'unknown';\n\n const upperType = type.toUpperCase();\n\n if (upperType.includes('INT')) return 'integer';\n if (upperType.includes('CHAR') || upperType.includes('TEXT') || upperType.includes('CLOB')) return 'string';\n if (upperType.includes('BLOB')) return 'unknown';\n if (upperType.includes('REAL') || upperType.includes('FLOA') || upperType.includes('DOUB')) return 'number';\n if (upperType.includes('NUMERIC') || upperType.includes('DECIMAL')) return 'number';\n if (upperType.includes('DATE') || upperType.includes('TIME')) return 'date';\n if (upperType.includes('BOOL')) return 'boolean';\n\n return 'unknown';\n }\n\n private serializeRow(row: Record<string, unknown>): Record<string, unknown> {\n const serialized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(row)) {\n serialized[key] = this.serializeValue(value);\n }\n return serialized;\n }\n\n private serializeValue(value: unknown): unknown {\n if (value === null || value === undefined) {\n return null;\n }\n if (typeof value === 'bigint') {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n return value.toString();\n }\n return Number(value);\n }\n if (Buffer.isBuffer(value)) {\n return value.toString('base64');\n }\n return value;\n }\n}\n","import { performance } from 'node:perf_hooks';\nimport { serializeDateValue, type Connector, type QueryResult } from './index.js';\n\nexport interface SnowflakeConfig {\n account: string;\n username: string;\n password?: string;\n privateKey?: string;\n authenticator?: string;\n clientStoreTemporaryCredential?: boolean;\n warehouse: string;\n database: string;\n schema?: string;\n role?: string;\n // Connection settings\n connectTimeoutMillis?: number;\n // Query settings\n statementTimeout?: number;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet sdk: any = null;\n\nasync function loadSDK() {\n if (!sdk) {\n try {\n sdk = (await import('snowflake-sdk')).default;\n } catch {\n throw new Error(\n 'snowflake-sdk is not installed. Snowflake support requires a separate install:\\n' +\n ' npm install -g snowflake-sdk\\n' +\n 'This package is optional and not bundled with yamchart to keep the default install lightweight.'\n );\n }\n }\n return sdk;\n}\n\nexport class SnowflakeConnector implements Connector {\n private config: SnowflakeConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private connection: any = null;\n\n constructor(config: SnowflakeConfig) {\n this.config = config;\n }\n\n async connect(): Promise<void> {\n const snowflake = await loadSDK();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const connectionOptions: Record<string, any> = {\n account: this.config.account,\n username: this.config.username,\n password: this.config.password,\n privateKey: this.config.privateKey,\n warehouse: this.config.warehouse,\n database: this.config.database,\n schema: this.config.schema,\n role: this.config.role,\n timeout: this.config.connectTimeoutMillis ?? 60000,\n };\n\n if (this.config.authenticator) {\n connectionOptions.authenticator = this.config.authenticator;\n }\n if (this.config.clientStoreTemporaryCredential !== undefined) {\n connectionOptions.clientStoreTemporaryCredential = this.config.clientStoreTemporaryCredential;\n }\n\n this.connection = snowflake.createConnection(connectionOptions);\n\n if (this.config.authenticator === 'EXTERNALBROWSER') {\n // connectAsync handles browser-based SSO flow\n await this.connection!.connectAsync();\n } else {\n return new Promise((resolve, reject) => {\n this.connection!.connect((err: Error | undefined) => {\n if (err) {\n this.connection = null;\n reject(err);\n } else {\n resolve();\n }\n });\n });\n }\n }\n\n async disconnect(): Promise<void> {\n if (this.connection) {\n return new Promise((resolve, reject) => {\n this.connection!.destroy((err: Error | undefined) => {\n this.connection = null;\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n }\n }\n\n isConnected(): boolean {\n return this.connection !== null && this.connection.isUp();\n }\n\n async execute(sql: string): Promise<QueryResult> {\n if (!this.connection) {\n throw new Error('Not connected to database');\n }\n\n const start = performance.now();\n\n return new Promise((resolve, reject) => {\n this.connection!.execute({\n sqlText: sql,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n complete: (err: Error | undefined, stmt: any, rows: any[]) => {\n const durationMs = performance.now() - start;\n\n if (err) {\n reject(err);\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const columns = stmt ? stmt.getColumns().map((col: any) => ({\n name: col.getName().toLowerCase(),\n type: this.snowflakeTypeToString(col.getType()),\n })) : [];\n\n resolve({\n columns,\n rows: (rows || []).map(row => this.serializeRow(this.lowercaseKeys(row as Record<string, unknown>))),\n rowCount: rows?.length ?? 0,\n durationMs,\n });\n },\n });\n });\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n if (!this.connection) {\n throw new Error('Not connected to database');\n }\n\n try {\n await this.execute(`EXPLAIN ${sql}`);\n return { valid: true };\n } catch (err) {\n return {\n valid: false,\n error: err instanceof Error ? err.message : String(err)\n };\n }\n }\n\n private snowflakeTypeToString(type: string): string {\n const typeMap: Record<string, string> = {\n 'NUMBER': 'number',\n 'DECIMAL': 'number',\n 'NUMERIC': 'number',\n 'INT': 'integer',\n 'INTEGER': 'integer',\n 'BIGINT': 'integer',\n 'SMALLINT': 'integer',\n 'TINYINT': 'integer',\n 'BYTEINT': 'integer',\n 'FLOAT': 'number',\n 'FLOAT4': 'number',\n 'FLOAT8': 'number',\n 'DOUBLE': 'number',\n 'DOUBLE PRECISION': 'number',\n 'REAL': 'number',\n 'VARCHAR': 'string',\n 'CHAR': 'string',\n 'CHARACTER': 'string',\n 'STRING': 'string',\n 'TEXT': 'string',\n 'BINARY': 'unknown',\n 'VARBINARY': 'unknown',\n 'BOOLEAN': 'boolean',\n 'DATE': 'date',\n 'DATETIME': 'date',\n 'TIME': 'string',\n 'TIMESTAMP': 'date',\n 'TIMESTAMP_LTZ': 'date',\n 'TIMESTAMP_NTZ': 'date',\n 'TIMESTAMP_TZ': 'date',\n 'VARIANT': 'unknown',\n 'OBJECT': 'unknown',\n 'ARRAY': 'unknown',\n };\n\n const upperType = type.toUpperCase();\n return typeMap[upperType] ?? 'unknown';\n }\n\n private lowercaseKeys(row: Record<string, unknown>): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(row)) {\n result[key.toLowerCase()] = value;\n }\n return result;\n }\n\n private serializeRow(row: Record<string, unknown>): Record<string, unknown> {\n const serialized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(row)) {\n serialized[key] = this.serializeValue(value);\n }\n return serialized;\n }\n\n private serializeValue(value: unknown): unknown {\n if (value === null || value === undefined) {\n return null;\n }\n if (typeof value === 'bigint') {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n return value.toString();\n }\n return Number(value);\n }\n if (value instanceof Date) {\n return serializeDateValue(value);\n }\n return value;\n }\n}\n","import { performance } from 'node:perf_hooks';\nimport { serializeDateValue, type Connector, type QueryResult } from './index.js';\n\nexport interface BigQueryConfig {\n projectId: string;\n dataset?: string;\n location?: string;\n maxBytesBilled?: number;\n credentials?: Record<string, unknown>;\n keyFilename?: string;\n}\n\n// @google-cloud/bigquery is an optional peer dependency (not bundled by default).\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet BigQueryCtor: any = null;\nasync function loadSDK() {\n if (!BigQueryCtor) {\n try {\n BigQueryCtor = (await import('@google-cloud/bigquery')).BigQuery;\n } catch {\n throw new Error(\n '@google-cloud/bigquery is not installed. BigQuery support requires a separate install:\\n' +\n ' npm install -g @google-cloud/bigquery\\n' +\n 'This package is optional and not bundled with yamchart to keep the default install lightweight.',\n );\n }\n }\n return BigQueryCtor;\n}\n\n/** Map a BigQuery field type to a yamchart column type. */\nexport function bigQueryTypeToString(type: string): string {\n const map: Record<string, string> = {\n INT64: 'integer', INTEGER: 'integer',\n FLOAT64: 'number', FLOAT: 'number',\n NUMERIC: 'number', BIGNUMERIC: 'number', DECIMAL: 'number', BIGDECIMAL: 'number',\n BOOL: 'boolean', BOOLEAN: 'boolean',\n STRING: 'string',\n DATE: 'date', DATETIME: 'date', TIMESTAMP: 'date',\n TIME: 'string',\n BYTES: 'unknown', GEOGRAPHY: 'unknown', JSON: 'unknown',\n STRUCT: 'unknown', RECORD: 'unknown', ARRAY: 'unknown', INTERVAL: 'unknown', RANGE: 'unknown',\n };\n return map[type.toUpperCase()] ?? 'unknown';\n}\n\nfunction serializeValue(value: unknown): unknown {\n if (value === null || value === undefined) return null;\n if (typeof value === 'bigint') {\n return value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER ? value.toString() : Number(value);\n }\n if (value instanceof Date) return serializeDateValue(value);\n if (Buffer.isBuffer(value)) return value.toString('base64');\n if (typeof value === 'object') {\n // BigQuery wraps DATE/DATETIME/TIME/TIMESTAMP as objects with a string `.value`.\n const v = value as { value?: unknown; constructor?: { name?: string } };\n if (typeof v.value === 'string') return v.value;\n // NUMERIC/BIGNUMERIC come back as Big (big.js) instances.\n if (v.constructor?.name === 'Big') {\n const s = String(value);\n const n = Number(s);\n return Number.isFinite(n) ? n : s;\n }\n }\n return value;\n}\n\nfunction serializeRow(row: Record<string, unknown>): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [k, val] of Object.entries(row)) out[k] = serializeValue(val);\n return out;\n}\n\nexport class BigQueryConnector implements Connector {\n private config: BigQueryConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private client: any = null;\n private connected = false;\n\n constructor(config: BigQueryConfig) {\n this.config = config;\n }\n\n async connect(): Promise<void> {\n const BigQuery = await loadSDK();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const opts: Record<string, any> = { projectId: this.config.projectId };\n if (this.config.location) opts.location = this.config.location;\n if (this.config.credentials) opts.credentials = this.config.credentials;\n if (this.config.keyFilename) opts.keyFilename = this.config.keyFilename;\n this.client = new BigQuery(opts);\n // Validate credentials/connectivity with a no-cost dry run.\n await this.client.createQueryJob({ query: 'SELECT 1', dryRun: true, location: this.config.location });\n this.connected = true;\n }\n\n async disconnect(): Promise<void> {\n this.client = null;\n this.connected = false;\n }\n\n isConnected(): boolean {\n return this.connected;\n }\n\n async execute(sql: string): Promise<QueryResult> {\n if (!this.connected || !this.client) {\n throw new Error('Not connected to database');\n }\n const start = performance.now();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const jobOptions: Record<string, any> = { query: sql };\n if (this.config.location) jobOptions.location = this.config.location;\n if (this.config.maxBytesBilled !== undefined) jobOptions.maximumBytesBilled = String(this.config.maxBytesBilled);\n const [job] = await this.client.createQueryJob(jobOptions);\n const [rows, , apiResponse] = await job.getQueryResults();\n const durationMs = performance.now() - start;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fields = (apiResponse?.schema?.fields ?? []) as Array<{ name: string; type: string }>;\n const columns = fields.map((f) => ({ name: f.name, type: bigQueryTypeToString(f.type) }));\n return {\n columns,\n rows: (rows ?? []).map((r: Record<string, unknown>) => serializeRow(r)),\n rowCount: rows?.length ?? 0,\n durationMs,\n };\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n if (!this.connected || !this.client) {\n throw new Error('Not connected to database');\n }\n try {\n // Dry run: validates the SQL and estimates bytes WITHOUT running or billing it.\n await this.client.createQueryJob({ query: sql, dryRun: true, location: this.config.location });\n return { valid: true };\n } catch (err) {\n return { valid: false, error: err instanceof Error ? err.message : String(err) };\n }\n }\n}\n","import type { PostgresConnection, MySQLConnection, SnowflakeConnection, BigQueryConnection } from '@yamchart/schema';\n\nexport interface ResolvedCredentials {\n user: string;\n password: string;\n}\n\nexport interface ResolvedSnowflakeCredentials {\n username: string;\n password?: string;\n privateKey?: string;\n authenticator?: string;\n clientStoreTemporaryCredential?: boolean;\n}\n\nexport function resolvePostgresAuth(connection: PostgresConnection): ResolvedCredentials {\n const auth = connection.auth;\n\n // Auth is optional for Postgres (local dev with trust auth)\n if (!auth) {\n return {\n user: process.env.PGUSER ?? 'postgres',\n password: process.env.PGPASSWORD ?? '',\n };\n }\n\n if (auth.type === 'env') {\n const user = process.env[auth.user_var];\n const password = process.env[auth.password_var];\n\n if (!user) {\n throw new Error(`Missing environment variable: ${auth.user_var}`);\n }\n\n return { user, password: password ?? '' };\n }\n\n // key_pair and secret_manager deferred to post-MVP\n throw new Error(`Auth type \"${auth.type}\" not yet implemented`);\n}\n\nexport function resolveMySQLAuth(connection: MySQLConnection): ResolvedCredentials {\n const auth = connection.auth;\n\n // Auth is optional for MySQL (local dev)\n if (!auth) {\n return {\n user: process.env.MYSQL_USER ?? 'root',\n password: process.env.MYSQL_PASSWORD ?? '',\n };\n }\n\n if (auth.type === 'env') {\n const user = process.env[auth.user_var];\n const password = process.env[auth.password_var];\n\n if (!user) {\n throw new Error(`Missing environment variable: ${auth.user_var}`);\n }\n\n return { user, password: password ?? '' };\n }\n\n throw new Error(`Auth type \"${auth.type}\" not yet implemented`);\n}\n\nexport function resolveSnowflakeAuth(connection: SnowflakeConnection): ResolvedSnowflakeCredentials {\n const auth = connection.auth;\n\n if (auth.type === 'env') {\n const username = process.env[auth.user_var];\n const password = process.env[auth.password_var];\n\n if (!username) {\n throw new Error(`Missing environment variable: ${auth.user_var}`);\n }\n\n return { username, password: password ?? undefined };\n }\n\n if (auth.type === 'key_pair') {\n const username = process.env[auth.user_var];\n\n if (!username) {\n throw new Error(`Missing environment variable: ${auth.user_var}`);\n }\n\n // Read private key from file path\n const fs = require('fs');\n const privateKey = fs.readFileSync(auth.private_key_path, 'utf-8');\n\n return { username, privateKey };\n }\n\n if (auth.type === 'externalbrowser') {\n const username = process.env[auth.user_var];\n\n if (!username) {\n throw new Error(`Missing environment variable: ${auth.user_var}`);\n }\n\n return {\n username,\n authenticator: 'EXTERNALBROWSER',\n clientStoreTemporaryCredential: auth.cache_token ?? false,\n };\n }\n\n throw new Error(`Auth type \"${auth.type}\" not yet implemented for Snowflake`);\n}\n\nexport interface ResolvedBigQueryCredentials {\n credentials?: Record<string, unknown>;\n keyFilename?: string;\n}\n\n/** Resolve BigQuery service-account credentials: env-var JSON → key file → ADC. */\nexport function resolveBigQueryAuth(connection: BigQueryConnection): ResolvedBigQueryCredentials {\n const auth = connection.auth;\n if (auth.type !== 'service_account') {\n throw new Error(\n `Auth type \"${auth.type}\" is not supported for BigQuery. Use { type: service_account } ` +\n `with credentials_var (env var holding the JSON) or key_file, or omit both for ADC.`,\n );\n }\n if (auth.credentials_var) {\n const raw = process.env[auth.credentials_var];\n if (!raw) throw new Error(`Missing environment variable: ${auth.credentials_var}`);\n let credentials: Record<string, unknown>;\n try {\n credentials = JSON.parse(raw);\n } catch {\n throw new Error(`Environment variable ${auth.credentials_var} is not valid JSON (expected service-account key contents)`);\n }\n return { credentials };\n }\n if (auth.key_file) {\n return { keyFilename: auth.key_file };\n }\n return {}; // ADC: client discovers GOOGLE_APPLICATION_CREDENTIALS / gcloud / workload identity\n}\n","import type { Connector, QueryResult } from './index.js';\n\n/**\n * Error patterns that indicate a stale/terminated connection rather than\n * a query-level error. When these are encountered, the connector will\n * automatically reconnect and retry the operation once.\n */\nconst CONNECTION_ERROR_PATTERNS = [\n 'terminated connection',\n 'socket hang up',\n 'connection reset',\n 'ECONNRESET',\n 'ECONNREFUSED',\n 'ETIMEDOUT',\n 'connection lost',\n 'gone away', // MySQL: \"server has gone away\"\n 'not connected',\n];\n\nfunction isConnectionError(error: unknown): boolean {\n const message = error instanceof Error ? error.message : String(error);\n const lower = message.toLowerCase();\n return CONNECTION_ERROR_PATTERNS.some((pattern) => lower.includes(pattern.toLowerCase()));\n}\n\n/**\n * Wraps a Connector with automatic reconnection logic.\n * When a query fails due to a connection error (e.g. terminated connection\n * after process suspend/resume), the wrapper disconnects, reconnects, and\n * retries the operation once.\n */\nexport class ReconnectingConnector implements Connector {\n private inner: Connector;\n\n constructor(inner: Connector) {\n this.inner = inner;\n }\n\n async connect(): Promise<void> {\n return this.inner.connect();\n }\n\n async disconnect(): Promise<void> {\n return this.inner.disconnect();\n }\n\n isConnected(): boolean {\n return this.inner.isConnected();\n }\n\n async execute(sql: string): Promise<QueryResult> {\n await this.ensureConnected();\n\n try {\n return await this.inner.execute(sql);\n } catch (err) {\n if (isConnectionError(err)) {\n await this.reconnect();\n return this.inner.execute(sql);\n }\n throw err;\n }\n }\n\n async explain(sql: string): Promise<{ valid: boolean; error?: string }> {\n await this.ensureConnected();\n\n try {\n return await this.inner.explain(sql);\n } catch (err) {\n if (isConnectionError(err)) {\n await this.reconnect();\n return this.inner.explain(sql);\n }\n throw err;\n }\n }\n\n private async ensureConnected(): Promise<void> {\n if (!this.inner.isConnected()) {\n await this.reconnect();\n }\n }\n\n private async reconnect(): Promise<void> {\n try { await this.inner.disconnect(); } catch { /* may already be disconnected */ }\n await this.inner.connect();\n }\n}\n","export interface QueryResult {\n columns: Array<{\n name: string;\n type: string;\n }>;\n rows: Array<Record<string, unknown>>;\n rowCount: number;\n durationMs: number;\n}\n\nexport interface Connector {\n connect(): Promise<void>;\n disconnect(): Promise<void>;\n execute(sql: string): Promise<QueryResult>;\n explain(sql: string): Promise<{ valid: boolean; error?: string }>;\n isConnected(): boolean;\n}\n\n/**\n * Serialize a Date value for JSON responses. Dates at midnight UTC are\n * formatted as date-only strings (\"2026-02-19\") to avoid timezone-shift\n * issues on the client. Database DATE columns and day-level aggregations\n * (e.g. date_trunc('day', ...)) produce midnight UTC timestamps that would\n * otherwise display as the previous day in timezones west of UTC.\n */\nexport function serializeDateValue(value: Date): string {\n if (\n value.getUTCHours() === 0 &&\n value.getUTCMinutes() === 0 &&\n value.getUTCSeconds() === 0 &&\n value.getUTCMilliseconds() === 0\n ) {\n const y = value.getUTCFullYear();\n const m = String(value.getUTCMonth() + 1).padStart(2, '0');\n const d = String(value.getUTCDate()).padStart(2, '0');\n return `${y}-${m}-${d}`;\n }\n return value.toISOString();\n}\n\nexport * from './duckdb.js';\nexport * from './postgres.js';\nexport * from './mysql.js';\nexport * from './sqlite.js';\nexport * from './snowflake.js';\nexport * from './bigquery.js';\nexport * from './auth.js';\nexport * from './reconnecting.js';\n","import type { ModelMetadata, ReturnColumn } from '@yamchart/schema';\nimport type { Connector, QueryResult } from './connectors/index.js';\n\nexport interface AssertionResult {\n sql: string;\n passed: boolean;\n violationCount?: number;\n sampleViolations?: Array<Record<string, unknown>>;\n error?: string;\n warning?: string;\n}\n\nexport interface SchemaCheckResult {\n passed: boolean;\n expectedColumns: string[];\n actualColumns: string[];\n missingColumns: string[];\n extraColumns: string[];\n typeMismatches: Array<{ column: string; expected: string; actual: string }>;\n}\n\nexport interface ModelTestResult {\n modelName: string;\n schemaCheck?: SchemaCheckResult;\n assertions: AssertionResult[];\n durationMs: number;\n error?: string;\n}\n\nexport interface TestSuiteResult {\n models: ModelTestResult[];\n passed: number;\n failed: number;\n skipped: number;\n durationMs: number;\n}\n\nexport interface TestModelInput {\n compiledSql: string;\n metadata: ModelMetadata;\n}\n\nconst TYPE_MAP: Record<string, string[]> = {\n date: ['date', 'timestamp', 'datetime', 'timestamptz', 'timestamp with time zone'],\n number: ['integer', 'int', 'bigint', 'float', 'double', 'decimal', 'numeric', 'real', 'smallint', 'tinyint', 'hugeint', 'int4', 'int8', 'float4', 'float8'],\n integer: ['integer', 'int', 'bigint', 'smallint', 'tinyint', 'hugeint', 'int4', 'int8'],\n string: ['varchar', 'text', 'char', 'string', 'character varying', 'nvarchar'],\n boolean: ['boolean', 'bool'],\n};\n\nfunction typesMatch(expectedType: string, actualType: string): boolean {\n const expected = expectedType.toLowerCase();\n const actual = actualType.toLowerCase();\n if (expected === actual) return true;\n const acceptedTypes = TYPE_MAP[expected];\n if (acceptedTypes) return acceptedTypes.includes(actual);\n return false;\n}\n\n/**\n * Replace {{this}} (with optional whitespace) with compiled model SQL.\n */\nexport function expandThis(assertionSql: string, compiledSql: string): string {\n return assertionSql.replace(/\\{\\{\\s*this\\s*\\}\\}/g, compiledSql);\n}\n\nconst MAX_SAMPLE_VIOLATIONS = 5;\n\nexport async function runAssertion(\n compiledSql: string,\n assertionSql: string,\n connector: Connector,\n): Promise<AssertionResult> {\n const warning = !/\\{\\{\\s*this\\s*\\}\\}/.test(assertionSql)\n ? 'Test assertion does not reference {{this}} — did you mean to include it?'\n : undefined;\n\n const expandedSql = expandThis(assertionSql, compiledSql);\n\n try {\n const result = await connector.execute(expandedSql);\n\n return {\n sql: assertionSql,\n passed: result.rowCount === 0,\n violationCount: result.rowCount,\n sampleViolations: result.rows.slice(0, MAX_SAMPLE_VIOLATIONS),\n warning,\n };\n } catch (err) {\n return {\n sql: assertionSql,\n passed: false,\n error: err instanceof Error ? err.message : String(err),\n warning,\n };\n }\n}\n\nexport async function runModel(\n compiledSql: string,\n metadata: ModelMetadata,\n connector: Connector,\n): Promise<ModelTestResult> {\n const start = performance.now();\n const hasReturns = metadata.returns && metadata.returns.length > 0;\n const hasTests = metadata.tests && metadata.tests.length > 0;\n\n // Nothing to test\n if (!hasReturns && !hasTests) {\n return {\n modelName: metadata.name,\n assertions: [],\n durationMs: performance.now() - start,\n };\n }\n\n // Schema check\n let schemaCheckResult: SchemaCheckResult | undefined;\n if (hasReturns) {\n try {\n schemaCheckResult = await checkSchema(compiledSql, connector, metadata.returns!);\n } catch (err) {\n return {\n modelName: metadata.name,\n assertions: [],\n durationMs: performance.now() - start,\n error: err instanceof Error ? err.message : String(err),\n };\n }\n }\n\n // Data assertions\n const assertions: AssertionResult[] = [];\n if (hasTests) {\n for (const testSql of metadata.tests!) {\n const result = await runAssertion(compiledSql, testSql, connector);\n assertions.push(result);\n }\n }\n\n return {\n modelName: metadata.name,\n schemaCheck: schemaCheckResult,\n assertions,\n durationMs: performance.now() - start,\n };\n}\n\nexport async function runAll(\n models: TestModelInput[],\n connector: Connector,\n): Promise<TestSuiteResult> {\n const start = performance.now();\n const results: ModelTestResult[] = [];\n let passed = 0;\n let failed = 0;\n let skipped = 0;\n\n for (const model of models) {\n const result = await runModel(model.compiledSql, model.metadata, connector);\n results.push(result);\n\n const hasAnyCheck = result.schemaCheck || result.assertions.length > 0;\n if (!hasAnyCheck && !result.error) {\n skipped++;\n continue;\n }\n\n if (result.error) {\n failed++;\n continue;\n }\n\n // Count individual checks\n if (result.schemaCheck) {\n if (result.schemaCheck.passed) passed++;\n else failed++;\n }\n for (const assertion of result.assertions) {\n if (assertion.passed) passed++;\n else failed++;\n }\n }\n\n return {\n models: results,\n passed,\n failed,\n skipped,\n durationMs: performance.now() - start,\n };\n}\n\nexport async function checkSchema(\n compiledSql: string,\n connector: Connector,\n expectedReturns: ReturnColumn[],\n): Promise<SchemaCheckResult> {\n const wrappedSql = `SELECT * FROM (${compiledSql}) AS _model LIMIT 0`;\n const result = await connector.execute(wrappedSql);\n\n const actualColumns = result.columns.map((c) => c.name);\n const expectedColumns = expectedReturns.map((c) => c.name);\n\n const missingColumns = expectedColumns.filter((name) => !actualColumns.includes(name));\n const extraColumns = actualColumns.filter((name) => !expectedColumns.includes(name));\n\n const typeMismatches: SchemaCheckResult['typeMismatches'] = [];\n for (const expected of expectedReturns) {\n const actual = result.columns.find((c) => c.name === expected.name);\n if (actual && !typesMatch(expected.type, actual.type)) {\n typeMismatches.push({\n column: expected.name,\n expected: expected.type,\n actual: actual.type,\n });\n }\n }\n\n return {\n passed: missingColumns.length === 0 && typeMismatches.length === 0,\n expectedColumns,\n actualColumns,\n missingColumns,\n extraColumns,\n typeMismatches,\n };\n}\n","// packages/query/src/profiling/profiler.ts\nimport type { SourceProfile, TableProfile, ColumnProfile } from '@yamchart/schema';\nimport { getDialect } from '../semantic/dialect.js';\n\nexport interface ProfileColumn { name: string; type: string; }\nexport interface ProfileTableInput { table: string; columns: ProfileColumn[]; }\nexport interface ExecuteFn {\n (sql: string): Promise<{ columns: { name: string }[]; rows: Record<string, unknown>[] }>;\n}\n\nconst NUMERIC = /(INT|DEC|NUM|DOUBLE|FLOAT|REAL|BIGINT)/i;\nconst STRINGY = /(CHAR|TEXT|STRING|VARCHAR)/i;\nconst TOP_N = 10;\n\nexport function buildTableStatsSql(table: string, columns: ProfileColumn[], dialect: string): string {\n const d = getDialect(dialect);\n const tbl = d.quoteIdent(table);\n const parts: string[] = ['COUNT(*) AS total'];\n for (const c of columns) {\n const col = d.quoteIdent(c.name);\n parts.push(`COUNT(*) - COUNT(${col}) AS ${c.name}_nulls`);\n parts.push(`COUNT(DISTINCT ${col}) AS ${c.name}_distinct`);\n if (NUMERIC.test(c.type)) {\n parts.push(`MIN(${col}) AS ${c.name}_min`);\n parts.push(`MAX(${col}) AS ${c.name}_max`);\n }\n }\n return `SELECT ${parts.join(', ')} FROM ${tbl}`;\n}\n\nexport function buildTopValuesSql(table: string, column: string, dialect?: string): string {\n const d = getDialect(dialect);\n const tbl = d.quoteIdent(table);\n const col = d.quoteIdent(column);\n return `SELECT ${col} AS v, COUNT(*) AS c FROM ${tbl} GROUP BY ${col} ORDER BY c DESC LIMIT ${TOP_N}`;\n}\n\nexport async function buildSourceProfile(input: {\n connection: string; dialect: string; tables: ProfileTableInput[];\n execute: ExecuteFn; sampleLimit?: number; maxTopValueDistinct?: number;\n}): Promise<SourceProfile> {\n const { connection, dialect, tables, execute } = input;\n const d = getDialect(dialect);\n const maxTopValueDistinct = input.maxTopValueDistinct ?? 50;\n const tableProfiles: TableProfile[] = [];\n\n for (const t of tables) {\n try {\n const statsRes = await execute(buildTableStatsSql(t.table, t.columns, dialect));\n const stats = statsRes.rows[0] ?? {};\n const total = Number(stats.total ?? 0);\n const columns: ColumnProfile[] = [];\n for (const c of t.columns) {\n const nulls = Number(stats[`${c.name}_nulls`] ?? 0);\n const distinct = stats[`${c.name}_distinct`] != null ? Number(stats[`${c.name}_distinct`]) : undefined;\n const col: ColumnProfile = {\n name: c.name, type: c.type,\n nullRate: total > 0 ? nulls / total : undefined,\n distinctCount: distinct,\n min: stats[`${c.name}_min`], max: stats[`${c.name}_max`],\n };\n if (STRINGY.test(c.type) && distinct != null && distinct <= maxTopValueDistinct) {\n const tv = await execute(buildTopValuesSql(t.table, c.name, dialect));\n col.topValues = tv.rows.map((r) => ({ value: r.v, count: Number(r.c) }));\n }\n columns.push(col);\n }\n const sampleLimit = input.sampleLimit ?? 5;\n const sampleRows = sampleLimit > 0 ? (await execute(`SELECT * FROM ${d.quoteIdent(t.table)} LIMIT ${sampleLimit}`)).rows : [];\n tableProfiles.push({ table: t.table, rowCount: total, columns, sampleRows });\n } catch {\n // isolate per-table failures\n tableProfiles.push({ table: t.table, columns: t.columns.map((c) => ({ name: c.name, type: c.type })), sampleRows: [] });\n }\n }\n return { connection, profiledAt: new Date().toISOString(), tables: tableProfiles };\n}\n","// packages/query/src/sql-safety.ts\n// Shared read-only SQL guard. Used by the hunch generator (drop destructive\n// candidates) and the server (gate confirm + run). Conservative: anything that\n// is not clearly a single read-only SELECT/WITH query is rejected.\n\nconst DESTRUCTIVE_START =\n /^\\s*(INSERT|UPDATE|DELETE|DROP|ALTER|TRUNCATE|CREATE|MERGE|GRANT|REVOKE|COPY|ATTACH|DETACH|EXPORT|IMPORT|INSTALL|LOAD)\\b/i;\nconst WRITABLE_CTE = /\\b(INSERT|UPDATE|DELETE|MERGE)\\b/i;\nconst READ_ONLY_START = /^\\s*(SELECT|WITH)\\b/i;\n\n/**\n * Returns true only when `sql` is a single, read-only SELECT/WITH statement.\n * - Strips a single trailing semicolon.\n * - Rejects statement chaining (any remaining `;`).\n * - Rejects destructive leading keywords.\n * - Rejects writable CTEs (WITH ... DELETE/INSERT/UPDATE/MERGE).\n * - Requires the statement to start with SELECT or WITH.\n */\nexport function isReadOnlySql(sql: string): boolean {\n let s = sql.trim();\n // Strip a single trailing semicolon (and any trailing whitespace after it).\n s = s.replace(/;\\s*$/, '');\n // No statement chaining.\n if (s.includes(';')) return false;\n if (DESTRUCTIVE_START.test(s)) return false;\n if (/^\\s*WITH\\b/i.test(s) && WRITABLE_CTE.test(s)) return false;\n return READ_ONLY_START.test(s);\n}\n","// Yamchart Query Engine\nexport const VERSION = '0.1.0';\n\nexport * from './parser.js';\nexport * from './presets.js';\nexport * from './template.js';\nexport * from './compiler.js';\nexport * from './connectors/index.js';\nexport * from './test-runner.js';\nexport * from './semantic/index.js';\nexport * from './profiling/profiler.js';\nexport * from './sql-safety.js';\n"],"mappings":";;;;;;;;;;;;;;AAuBM,SAAU,mBAAmB,KAAW;AAC5C,QAAM,QAAQ,IAAI,MAAM,IAAI;AAC5B,QAAM,gBAA0B,CAAA;AAChC,QAAM,WAAqB,CAAA;AAE3B,MAAI,aAAa;AACjB,MAAI,cAA0C;AAE9C,aAAW,QAAQ,OAAO;AACxB,UAAM,UAAU,KAAK,KAAI;AAGzB,QAAI,QAAQ,WAAW,MAAM,KAAM,eAAe,QAAQ,WAAW,IAAI,GAAI;AAC3E,oBAAc,KAAK,OAAO;AAC1B,mBAAa;IACf,WAAW,QAAQ,WAAW,IAAI,KAAK,cAAc,cAAc,SAAS,GAAG;AAE7E,oBAAc,KAAK,OAAO;IAC5B,WAAW,YAAY,MAAM,YAAY;AAEvC;IACF,OAAO;AAEL,mBAAa;AACb,eAAS,KAAK,IAAI;IACpB;EACF;AAGA,QAAM,WAAW,mBAAmB,aAAa;AAEjD,MAAI,CAAC,SAAS,MAAM;AAClB,UAAM,IAAI,MAAM,yBAAyB;EAC3C;AAEA,SAAO;IACL,GAAG;IACH,MAAM,SAAS;IACf,KAAK,SAAS,KAAK,IAAI,EAAE,KAAI;;AAEjC;AAEA,SAAS,mBAAmB,OAAe;AACzC,QAAM,SAAiC,CAAA;AACvC,QAAM,SAAuB,CAAA;AAC7B,QAAM,UAA0B,CAAA;AAChC,QAAM,QAAkB,CAAA;AAExB,MAAI,mBAA+C;AAEnD,aAAW,QAAQ,OAAO;AACxB,UAAM,UAAU,KAAK,QAAQ,UAAU,EAAE,EAAE,KAAI;AAG/C,QAAI,oBAAoB,QAAQ,WAAW,IAAI,GAAG;AAChD,YAAM,cAAc,QAAQ,MAAM,CAAC,EAAE,KAAI;AAEzC,UAAI,qBAAqB,WAAW;AAClC,cAAM,YAAY,kBAAkB,WAAW;AAC/C,YAAI;AAAW,kBAAQ,KAAK,SAAS;MACvC,WAAW,qBAAqB,SAAS;AACvC,cAAM,KAAK,WAAW;MACxB;AACA;IACF;AAGA,QAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,yBAAmB;AAEnB,UAAI,QAAQ,WAAW,QAAQ,GAAG;AAChC,eAAO,OAAO,QAAQ,MAAM,CAAC,EAAE,KAAI;MACrC,WAAW,QAAQ,WAAW,eAAe,GAAG;AAC9C,eAAO,cAAc,QAAQ,MAAM,EAAE,EAAE,KAAI;MAC7C,WAAW,QAAQ,WAAW,SAAS,GAAG;AACxC,eAAO,QAAQ,QAAQ,MAAM,CAAC,EAAE,KAAI;MACtC,WAAW,QAAQ,WAAW,QAAQ,GAAG;AACvC,eAAO,OAAO,UAAU,QAAQ,MAAM,CAAC,EAAE,KAAI,CAAE;MACjD,WAAW,QAAQ,WAAW,QAAQ,GAAG;AACvC,cAAM,QAAQ,WAAW,QAAQ,MAAM,CAAC,EAAE,KAAI,CAAE;AAChD,YAAI;AAAO,iBAAO,KAAK,KAAK;MAC9B,WAAW,QAAQ,WAAW,WAAW,GAAG;AAC1C,2BAAmB;MACrB,WAAW,QAAQ,WAAW,SAAS,GAAG;AACxC,2BAAmB;MACrB;IACF;EACF;AAEA,MAAI,OAAO,SAAS;AAAG,WAAO,SAAS;AACvC,MAAI,QAAQ,SAAS;AAAG,WAAO,UAAU;AACzC,MAAI,MAAM,SAAS;AAAG,WAAO,QAAQ;AAErC,SAAO;AACT;AAEA,SAAS,UAAU,OAAa;AAE9B,QAAM,QAAQ,MAAM,MAAM,UAAU;AACpC,MAAI,CAAC,QAAQ,CAAC;AAAG,WAAO,CAAA;AACxB,SAAO,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,OAAK,EAAE,KAAI,CAAE;AAC9C;AAEA,SAAS,WAAW,OAAa;AAK/B,QAAM,QAAQ,MAAM,MAAM,gEAAgE;AAC1F,MAAI,CAAC;AAAO,WAAO;AAEnB,QAAM,CAAC,EAAE,MAAM,MAAM,cAAc,OAAO,IAAI;AAC9C,MAAI,CAAC,QAAQ,CAAC;AAAM,WAAO;AAE3B,QAAM,QAAoB;IACxB,MAAM,KAAK,KAAI;IACf,MAAM,KAAK,KAAI;;AAGjB,MAAI,cAAc;AAChB,UAAM,UAAU,aAAa,KAAI;EACnC;AAEA,MAAI,SAAS;AACX,UAAM,UAAU,QAAQ,MAAM,GAAG,EAAE,IAAI,OAAK,EAAE,KAAI,CAAE;EACtD;AAEA,SAAO;AACT;AAEA,SAAS,kBAAkB,OAAa;AAItC,QAAM,QAAQ,MAAM,MAAM,kCAAkC;AAC5D,MAAI,CAAC;AAAO,WAAO;AAEnB,QAAM,CAAC,EAAE,MAAM,MAAM,WAAW,IAAI;AACpC,MAAI,CAAC,QAAQ,CAAC;AAAM,WAAO;AAE3B,QAAM,MAAoB;IACxB,MAAM,KAAK,KAAI;IACf,MAAM,KAAK,KAAI;;AAGjB,MAAI,aAAa;AACf,QAAI,cAAc,YAAY,KAAI;EACpC;AAEA,SAAO;AACT;;;AC7KA,OAAO,cAAc;AAGrB,IAAM,MAAM,IAAI,SAAS,YAAY,MAAM;EACzC,YAAY;;EACZ,kBAAkB;;CACnB;AAOK,IAAO,UAAP,cAAuB,MAAa;EAC/B,WAAQ;AACf,WAAO,KAAK,IAAI,OAAK,IAAI,OAAO,CAAC,EAAE,QAAQ,MAAM,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI;EACtE;;AAgBI,SAAU,sBACd,QACA,OAAkB,CAAA,GAClB,aAAqC;AAErC,QAAM,YAAqC,CAAA;AAC3C,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAM,OAAO,IAAI,QAAQ,GAAG,KAAK;AACjC,gBAAU,GAAG,IAAI;IACnB,OAAO;AACL,gBAAU,GAAG,IAAI;IACnB;EACF;AAEA,SAAO;IACL,GAAG;IACH,MAAM,eAAe,CAAA;IACrB,KAAK,CAAC,SAAwB;AAC5B,YAAM,WAAW,KAAK,IAAI;AAC1B,UAAI,aAAa,QAAW;AAC1B,cAAM,IAAI,MAAM,4BAA4B,IAAI,EAAE;MACpD;AACA,aAAO;IACT;;AAEJ;AAKM,SAAU,eACd,UACA,SAAgC;AAEhC,QAAM,WAAW,IAAI,aAAa,UAAU,OAAO;AAEnD,SAAO,SACJ,MAAM,IAAI,EACV,IAAI,UAAQ,KAAK,QAAO,CAAE,EAC1B,OAAO,CAAC,MAAM,GAAG,QAAO;AAEvB,QAAI,SAAS,MAAM,IAAI,IAAI,CAAC,MAAM;AAAI,aAAO;AAC7C,WAAO;EACT,CAAC,EACA,KAAK,IAAI,EACT,KAAI;AACT;AAKM,SAAU,oBAAoB,UAAkB,SAAe;AAEnE,QAAM,QAAQ,IAAI,OAAO,aAAa,OAAO,+BAA+B,GAAG;AAC/E,SAAO,MAAM,KAAK,QAAQ;AAC5B;AAKM,SAAU,yBAAyB,UAAgB;AACvD,QAAM,YAAY,oBAAI,IAAG;AAGzB,QAAM,QAAQ;AACd,MAAI;AAEJ,UAAQ,QAAQ,MAAM,KAAK,QAAQ,OAAO,MAAM;AAC9C,UAAM,UAAU,MAAM,CAAC;AAEvB,QAAI,WAAW,YAAY,SAAS,YAAY,QAAQ;AACtD,gBAAU,IAAI,OAAO;IACvB;EACF;AAEA,SAAO,MAAM,KAAK,SAAS;AAC7B;;;AC1GA,SAAS,kBAAkB;AAC3B,SACE,QACA,SACA,SACA,aACA,cACA,gBACA,WACA,YACA,oBACK;AAaD,SAAU,sBAAsB,OAAc;AAClD,MAAI,OAAO,UAAU;AAAU,WAAO;AAEtC,QAAM,UAAU,MAAM,KAAI,EAAG,YAAW;AAGxC,MACE,YAAY,oBACZ,YAAY,kBACZ,YAAY,WACZ,YAAY,SACZ;AACA,WAAO,OAAO,oBAAI,KAAI,GAAI,YAAY;EACxC;AAGA,QAAM,MAAM,oBAAI,KAAI;AACpB,UAAQ,SAAS;IACf,KAAK;AACH,aAAO,OAAO,YAAY,GAAG,GAAG,YAAY;IAC9C,KAAK;AACH,aAAO,OAAO,aAAa,GAAG,GAAG,YAAY;IAC/C,KAAK;AACH,aAAO,OAAO,eAAe,GAAG,GAAG,YAAY;IACjD,KAAK;AACH,aAAO,OAAO,UAAU,GAAG,GAAG,YAAY;IAC5C,KAAK;AACH,aAAO,OAAO,WAAW,GAAG,GAAG,YAAY;IAC7C,KAAK;AACH,aAAO,OAAO,aAAa,GAAG,GAAG,YAAY;EACjD;AAIA,QAAM,aAAa,QAAQ,MACzB,yDAAyD;AAE3D,MAAI,YAAY;AACd,UAAM,CAAC,EAAE,IAAI,MAAM,IAAI;AACvB,UAAM,OAAO,SAAS,QAAS,EAAE;AACjC,UAAM,SAAS,OAAO,MAAM,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;AAClE,WAAO,OAAO,QAAQ,YAAY;EACpC;AAEA,SAAO;AACT;AAcM,IAAO,gBAAP,MAAoB;EAChB;EACA;EAER,YAAY,QAAsB;AAChC,SAAK,SAAS,IAAI,IAAI,OAAO,QAAQ,OAAO,MAAM,CAAC;AACnD,SAAK,OAAO,OAAO;EACrB;;;;EAKA,QACE,OACA,aACA,aAAqC;AAGrC,UAAM,EAAE,KAAK,YAAW,IAAK,KAAK,OAAO,KAAK;AAG9C,UAAM,SAAS,KAAK,cAAc,OAAO,aAAa,WAAW;AAGjE,UAAM,iBAAiB,KAAK,cAAc,QAAQ,WAAW;AAG7D,UAAM,UAAU,sBAAsB,gBAAgB,KAAK,MAAM,WAAW;AAG5E,UAAM,cAAc,eAAe,KAAK,OAAO;AAG/C,UAAM,WAAW,KAAK,iBAAiB,MAAM,MAAM,aAAa,gBAAgB,WAAW;AAE3F,WAAO;MACL,KAAK;MACL,QAAQ;MACR;MACA,WAAW,MAAM;;EAErB;EAEQ,OAAO,OAAY;AACzB,QAAI,MAAM,OAAO,KAAK;AACpB,aAAO,EAAE,KAAK,MAAM,OAAO,KAAK,aAAa,OAAS;IACxD;AAEA,QAAI,MAAM,OAAO,OAAO;AACtB,YAAM,QAAQ,KAAK,OAAO,IAAI,MAAM,OAAO,KAAK;AAChD,UAAI,CAAC,OAAO;AACV,cAAM,IAAI,MAAM,kBAAkB,MAAM,OAAO,KAAK,EAAE;MACxD;AACA,aAAO,EAAE,KAAK,MAAM,KAAK,aAAa,MAAM,SAAS,OAAM;IAC7D;AAEA,UAAM,IAAI,MAAM,+CAA+C;EACjE;EAEQ,cACN,OACA,aACA,aAAoC;AAEpC,UAAM,SAAkC,CAAA;AAGxC,QAAI,aAAa;AACf,iBAAW,SAAS,aAAa;AAC/B,YAAI,MAAM,YAAY,QAAW;AAC/B,iBAAO,MAAM,IAAI,IAAI,sBAAsB,MAAM,OAAO;QAC1D;MACF;IACF;AAGA,QAAI,MAAM,YAAY;AACpB,iBAAW,SAAS,MAAM,YAAY;AACpC,YAAI,MAAM,YAAY,QAAW;AAC/B,iBAAO,MAAM,IAAI,IAAI,sBAAsB,MAAM,OAAO;QAC1D;MACF;IACF;AAGA,WAAO,OAAO,QAAQ,WAAW;AAEjC,WAAO;EACT;EAEQ,cAAc,QAAiC,aAAoC;AACzF,UAAM,WAAoC,EAAE,GAAG,OAAM;AAKrD,QAAI,YAAY,cAAc,YAAY,UAAU;AAClD,aAAO;IACT;AAGA,QAAI,oBAAoB,OAAO,UAAU,GAAG;AAC1C,YAAM,YAAY,wBAAwB,OAAO,UAAU;AAC3D,eAAS,aAAa,UAAU;AAChC,eAAS,WAAW,UAAU;IAChC,WAAW,kBAAkB,OAAO,UAAU,GAAG;AAC/C,YAAM,YAAY,sBAAsB,OAAO,UAAU;AACzD,eAAS,aAAa,UAAU;AAChC,eAAS,WAAW,UAAU;IAChC,WAAW,OAAO,OAAO,eAAe,YAAY,aAAa,OAAO,UAAU,GAAG;AACnF,YAAM,YAAY,iBAAiB,OAAO,UAAU;AACpD,UAAI,WAAW;AACb,iBAAS,aAAa,UAAU;AAChC,iBAAS,WAAW,UAAU;MAChC;IACF;AAEA,WAAO;EACT;EAEQ,iBACN,WACA,KACA,QACA,aAAqC;AAErC,UAAM,UAAU,WAAW,QAAQ,EAAE,OAAO,GAAG,EAAE,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AACzE,UAAM,aAAa,WAAW,QAAQ,EACnC,OAAO,KAAK,UAAU,QAAQ,OAAO,KAAK,MAAM,EAAE,KAAI,CAAE,CAAC,EACzD,OAAO,KAAK,EACZ,MAAM,GAAG,CAAC;AAEb,QAAI,MAAM,GAAG,SAAS,IAAI,OAAO,IAAI,UAAU;AAE/C,QAAI,eAAe,OAAO,KAAK,WAAW,EAAE,SAAS,GAAG;AACtD,YAAM,WAAW,WAAW,QAAQ,EACjC,OAAO,KAAK,UAAU,aAAa,OAAO,KAAK,WAAW,EAAE,KAAI,CAAE,CAAC,EACnE,OAAO,KAAK,EACZ,MAAM,GAAG,CAAC;AACb,aAAO,IAAI,QAAQ;IACrB;AAEA,WAAO;EACT;;;;EAKA,SAAS,MAAc,UAAyB,KAAW;AACzD,SAAK,OAAO,IAAI,MAAM,EAAE,UAAU,IAAG,CAAE;EACzC;;;;EAKA,OAAO,MAAc,QAAc;AACjC,SAAK,KAAK,IAAI,IAAI;EACpB;;;;ACnPF,OAAO,YAAY;AACnB,SAAS,eAAAA,oBAAmB;AAOtB,IAAO,kBAAP,MAAsB;EAClB;EACA,KAA6B;EAC7B,aAAuC;EAE/C,YAAY,QAAoB;AAC9B,SAAK,SAAS;EAChB;EAEA,MAAM,UAAO;AACX,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,WAAK,KAAK,IAAI,OAAO,SAAS,KAAK,OAAO,MAAM,CAAC,QAAO;AACtD,YAAI,KAAK;AACP,iBAAO,GAAG;AACV;QACF;AACA,aAAK,aAAa,KAAK,GAAI,QAAO;AAClC,gBAAO;MACT,CAAC;IACH,CAAC;EACH;EAEA,MAAM,aAAU;AACd,WAAO,IAAI,QAAQ,CAAC,YAAW;AAC7B,UAAI,KAAK,YAAY;AACnB,aAAK,WAAW,MAAM,MAAK;AACzB,eAAK,aAAa;QACpB,CAAC;MACH;AACA,UAAI,KAAK,IAAI;AACX,aAAK,GAAG,MAAM,MAAK;AACjB,eAAK,KAAK;AACV,kBAAO;QACT,CAAC;MACH,OAAO;AACL,gBAAO;MACT;IACF,CAAC;EACH;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,UAAM,YAAYC,aAAY,IAAG;AAEjC,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,YAAM,OAAO,KAAK,WAAY,QAAQ,KAAK,CAAC,YAAW;AACrD,YAAI,SAAS;AACX,iBAAO,OAAO;AACd;QACF;AAGA,cAAM,aAAa,KAAK,QAAO;AAE/B,aAAK,IAAI,CAAC,KAAK,SAAQ;AACrB,gBAAM,aAAaA,aAAY,IAAG,IAAK;AAEvC,cAAI,KAAK;AACP,mBAAO,GAAG;AACV;UACF;AAEA,gBAAM,YAAY;AAElB,gBAAM,iBAAiB,UAAU,IAAI,CAAC,QAAQ,KAAK,aAAa,GAAG,CAAC;AAEpE,gBAAM,UAAU,WAAW,IAAI,CAAC,SAAS;YACvC,MAAM,IAAI;YACV,MAAM,IAAI,KAAK;YACf;AAEF,eAAK,SAAQ;AAEb,kBAAQ;YACN;YACA,MAAM;YACN,UAAU,eAAe;YACzB;WACD;QACH,CAAC;MACH,CAAC;IACH,CAAC;EACH;EAEA,cAAW;AACT,WAAO,KAAK,eAAe;EAC7B;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,WAAO,IAAI,QAAQ,CAAC,YAAW;AAC7B,WAAK,WAAY,IAAI,WAAW,GAAG,IAAI,CAAC,QAAO;AAC7C,YAAI,KAAK;AACP,kBAAQ,EAAE,OAAO,OAAO,OAAO,IAAI,QAAO,CAAE;QAC9C,OAAO;AACL,kBAAQ,EAAE,OAAO,KAAI,CAAE;QACzB;MACF,CAAC;IACH,CAAC;EACH;EAEQ,aAAa,KAA4B;AAC/C,UAAM,SAAkC,CAAA;AACxC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,UAAI,OAAO,UAAU,UAAU;AAE7B,eAAO,GAAG,IAAI,OAAO,KAAK;MAC5B,WAAW,iBAAiB,MAAM;AAChC,eAAO,GAAG,IAAI,mBAAmB,KAAK;MACxC,OAAO;AACL,eAAO,GAAG,IAAI;MAChB;IACF;AACA,WAAO;EACT;;;;AChIF,SAAS,eAAAC,oBAAmB;AAqB5B,IAAI,MAAW;AACf,IAAI,uBAAuB;AAE3B,eAAe,UAAO;AACpB,MAAI,CAAC,KAAK;AACR,QAAI;AACF,YAAM,MAAM,OAAO,IAAI;IACzB,QAAQ;AACN,YAAM,IAAI,MACR,sDAAsD;IAE1D;AAIA,QAAI,CAAC,sBAAsB;AACzB,UAAI,MAAM,cAAc,IAAI,CAAC,QAAe;AAC1C,YAAI,QAAQ;AAAM,iBAAO;AACzB,eAAO,OAAO,GAAG;MACnB,CAAC;AACD,6BAAuB;IACzB;EACF;AACA,SAAO;AACT;AAGA,SAAS,iBAAiB,YAAkB;AAE1C,MAAI,CAAC,2BAA2B,KAAK,UAAU,GAAG;AAChD,UAAM,IAAI,MAAM,uBAAuB,UAAU,EAAE;EACrD;AACA,SAAO,IAAI,UAAU;AACvB;AAEM,IAAO,oBAAP,MAAwB;EACpB;;EAEA,OAAY;EAEpB,YAAY,QAAsB;AAChC,SAAK,SAAS;EAChB;EAEA,MAAM,UAAO;AACX,UAAM,KAAK,MAAM,QAAO;AAExB,UAAM,aAAa;MACjB,MAAM,KAAK,OAAO;MAClB,MAAM,KAAK,OAAO;MAClB,UAAU,KAAK,OAAO;MACtB,MAAM,KAAK,OAAO;MAClB,UAAU,KAAK,OAAO;MACtB,KAAK,KAAK,OAAO;MACjB,KAAK,KAAK,OAAO,OAAO;MACxB,KAAK,KAAK,OAAO,OAAO;MACxB,mBAAmB,KAAK,OAAO,qBAAqB;MACpD,yBAAyB,KAAK,OAAO,wBAAwB;MAC7D,mBAAmB,KAAK,OAAO;;AAGjC,SAAK,OAAO,IAAI,GAAG,KAAK,UAAU;AAGlC,SAAK,KAAK,GAAG,SAAS,CAAC,QAAc;AACnC,cAAQ,MAAM,mCAAmC,IAAI,OAAO;IAC9D,CAAC;AAGD,QAAI,KAAK,OAAO,QAAQ;AACtB,YAAM,SAAS,iBAAiB,KAAK,OAAO,MAAM;AAElD,WAAK,KAAK,GAAG,WAAW,CAACC,YAAe;AACtC,QAAAA,QAAO,MAAM,sBAAsB,MAAM,EAAE,EAAE,MAAM,CAAC,QAAc;AAChE,kBAAQ,MAAM,8BAA8B,IAAI,OAAO;QACzD,CAAC;MACH,CAAC;IACH;AAGA,UAAM,SAAS,MAAM,KAAK,KAAK,QAAO;AACtC,WAAO,QAAO;EAChB;EAEA,MAAM,aAAU;AACd,QAAI,KAAK,MAAM;AACb,YAAM,KAAK,KAAK,IAAG;AACnB,WAAK,OAAO;IACd;EACF;EAEA,cAAW;AACT,WAAO,KAAK,SAAS;EACvB;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,MAAM;AACd,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,UAAM,QAAQC,aAAY,IAAG;AAC7B,UAAM,SAAS,MAAM,KAAK,KAAK,MAAM,GAAG;AACxC,UAAM,aAAaA,aAAY,IAAG,IAAK;AAEvC,WAAO;MACL,SAAS,KAAK,eAAe,MAAM;MACnC,MAAM,OAAO,KAAK,IAAI,CAAC,QAAiC,KAAK,aAAa,GAAG,CAAC;MAC9E,UAAU,OAAO,YAAY,OAAO,KAAK;MACzC;;EAEJ;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,MAAM;AACd,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,QAAI;AACF,YAAM,KAAK,KAAK,MAAM,WAAW,GAAG,EAAE;AACtC,aAAO,EAAE,OAAO,KAAI;IACtB,SAAS,KAAK;AACZ,aAAO;QACL,OAAO;QACP,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;;IAE1D;EACF;;EAGQ,eAAe,QAAW;AAEhC,WAAO,OAAO,OAAO,IAAI,CAAC,WAAgB;MACxC,MAAM,MAAM;MACZ,MAAM,KAAK,eAAe,MAAM,UAAU;MAC1C;EACJ;EAEQ,eAAe,KAAW;AAEhC,UAAM,UAAkC;MACtC,IAAI;;MACJ,IAAI;;MACJ,IAAI;;MACJ,IAAI;;MACJ,KAAK;;MACL,KAAK;;MACL,MAAM;;MACN,IAAI;;MACJ,MAAM;;MACN,MAAM;;MACN,MAAM;;MACN,MAAM;;MACN,KAAK;;MACL,MAAM;;;AAER,WAAO,QAAQ,GAAG,KAAK;EACzB;EAEQ,aAAa,KAA4B;AAC/C,UAAM,aAAsC,CAAA;AAC5C,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,iBAAW,GAAG,IAAI,KAAK,eAAe,KAAK;IAC7C;AACA,WAAO;EACT;EAEQ,eAAe,OAAc;AACnC,QAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,aAAO;IACT;AACA,QAAI,OAAO,UAAU,UAAU;AAE7B,UAAI,QAAQ,OAAO,oBAAoB,QAAQ,OAAO,kBAAkB;AACtE,eAAO,MAAM,SAAQ;MACvB;AACA,aAAO,OAAO,KAAK;IACrB;AACA,QAAI,iBAAiB,MAAM;AACzB,aAAO,mBAAmB,KAAK;IACjC;AACA,WAAO;EACT;;;;AC1MF,SAAS,eAAAC,oBAAmB;AAoB5B,IAAIC,OAAW;AAEf,eAAeC,WAAO;AACpB,MAAI,CAACD,MAAK;AACR,QAAI;AACF,MAAAA,OAAM,MAAM,OAAO,gBAAgB;IACrC,QAAQ;AACN,YAAM,IAAI,MACR,8DAA8D;IAElE;EACF;AACA,SAAOA;AACT;AAEM,IAAO,iBAAP,MAAqB;EACjB;;EAEA,OAAY;EAEpB,YAAY,QAAmB;AAC7B,SAAK,SAAS;EAChB;EAEA,MAAM,UAAO;AACX,UAAM,QAAQ,MAAMC,SAAO;AAE3B,UAAM,aAAa;MACjB,MAAM,KAAK,OAAO;MAClB,MAAM,KAAK,OAAO;MAClB,UAAU,KAAK,OAAO;MACtB,MAAM,KAAK,OAAO;MAClB,UAAU,KAAK,OAAO;MACtB,KAAK,KAAK,OAAO,MAAM,CAAA,IAAK;MAC5B,oBAAoB;MACpB,iBAAiB,KAAK,OAAO,OAAO;MACpC,YAAY;MACZ,gBAAgB,KAAK,OAAO,wBAAwB;;AAGtD,SAAK,OAAO,MAAM,WAAW,UAAU;AAGvC,UAAM,aAAa,MAAM,KAAK,KAAK,cAAa;AAChD,eAAW,QAAO;EACpB;EAEA,MAAM,aAAU;AACd,QAAI,KAAK,MAAM;AACb,YAAM,KAAK,KAAK,IAAG;AACnB,WAAK,OAAO;IACd;EACF;EAEA,cAAW;AACT,WAAO,KAAK,SAAS;EACvB;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,MAAM;AACd,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,UAAM,QAAQC,aAAY,IAAG;AAC7B,UAAM,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK,KAAK,MAAM,GAAG;AAChD,UAAM,aAAaA,aAAY,IAAG,IAAK;AAEvC,WAAO;MACL,SAAS,KAAK,eAAe,MAAM;MACnC,MAAM,KAAK,IAAI,CAAC,QAAiC,KAAK,aAAa,GAAG,CAAC;MACvE,UAAU,KAAK;MACf;;EAEJ;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,MAAM;AACd,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,QAAI;AACF,YAAM,KAAK,KAAK,MAAM,WAAW,GAAG,EAAE;AACtC,aAAO,EAAE,OAAO,KAAI;IACtB,SAAS,KAAK;AACZ,aAAO;QACL,OAAO;QACP,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;;IAE1D;EACF;;EAGQ,eAAe,QAAa;AAClC,WAAO,OAAO,IAAI,YAAU;MAC1B,MAAM,MAAM;MACZ,MAAM,KAAK,kBAAkB,MAAM,IAAI;MACvC;EACJ;EAEQ,kBAAkB,MAAwB;AAEhD,UAAM,UAAkC;MACtC,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,GAAG;;MACH,IAAI;;MACJ,IAAI;;MACJ,IAAI;;MACJ,IAAI;;MACJ,IAAI;;MACJ,KAAK;;MACL,KAAK;;MACL,KAAK;;MACL,KAAK;;MACL,KAAK;;;AAEP,WAAO,QAAQ,QAAQ,CAAC,KAAK;EAC/B;EAEQ,aAAa,KAA4B;AAC/C,UAAM,aAAsC,CAAA;AAC5C,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,iBAAW,GAAG,IAAI,KAAK,eAAe,KAAK;IAC7C;AACA,WAAO;EACT;EAEQ,eAAe,OAAc;AACnC,QAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,aAAO;IACT;AACA,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI,QAAQ,OAAO,oBAAoB,QAAQ,OAAO,kBAAkB;AACtE,eAAO,MAAM,SAAQ;MACvB;AACA,aAAO,OAAO,KAAK;IACrB;AACA,QAAI,iBAAiB,MAAM;AACzB,aAAO,mBAAmB,KAAK;IACjC;AACA,QAAI,OAAO,SAAS,KAAK,GAAG;AAC1B,aAAO,MAAM,SAAS,OAAO;IAC/B;AACA,WAAO;EACT;;;;AC1KF,OAAO,cAAiD;AACxD,SAAS,eAAAC,oBAAmB;AAQtB,IAAO,kBAAP,MAAsB;EAClB;EACA,KAA0B;EAElC,YAAY,QAAoB;AAC9B,SAAK,SAAS;EAChB;EAEA,MAAM,UAAO;AACX,SAAK,KAAK,IAAI,SAAS,KAAK,OAAO,MAAM;MACvC,UAAU,KAAK,OAAO,YAAY;KACnC;AAGD,SAAK,GAAG,OAAO,oBAAoB;AACnC,SAAK,GAAG,OAAO,mBAAmB;EACpC;EAEA,MAAM,aAAU;AACd,QAAI,KAAK,IAAI;AACX,WAAK,GAAG,MAAK;AACb,WAAK,KAAK;IACZ;EACF;EAEA,cAAW;AACT,WAAO,KAAK,OAAO;EACrB;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,IAAI;AACZ,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,UAAM,QAAQA,aAAY,IAAG;AAC7B,UAAM,OAAO,KAAK,GAAG,QAAQ,GAAG;AAChC,UAAM,OAAO,KAAK,IAAG;AACrB,UAAM,aAAaA,aAAY,IAAG,IAAK;AAGvC,UAAM,UAAU,KAAK,QAAO,EAAG,IAAI,UAAQ;MACzC,MAAM,IAAI;MACV,MAAM,KAAK,mBAAmB,IAAI,IAAI;MACtC;AAEF,WAAO;MACL;MACA,MAAM,KAAK,IAAI,SAAO,KAAK,aAAa,GAAG,CAAC;MAC5C,UAAU,KAAK;MACf;;EAEJ;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,IAAI;AACZ,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,QAAI;AACF,WAAK,GAAG,QAAQ,WAAW,GAAG,EAAE;AAChC,aAAO,EAAE,OAAO,KAAI;IACtB,SAAS,KAAK;AACZ,aAAO;QACL,OAAO;QACP,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;;IAE1D;EACF;EAEQ,mBAAmB,MAAmB;AAC5C,QAAI,CAAC;AAAM,aAAO;AAElB,UAAM,YAAY,KAAK,YAAW;AAElC,QAAI,UAAU,SAAS,KAAK;AAAG,aAAO;AACtC,QAAI,UAAU,SAAS,MAAM,KAAK,UAAU,SAAS,MAAM,KAAK,UAAU,SAAS,MAAM;AAAG,aAAO;AACnG,QAAI,UAAU,SAAS,MAAM;AAAG,aAAO;AACvC,QAAI,UAAU,SAAS,MAAM,KAAK,UAAU,SAAS,MAAM,KAAK,UAAU,SAAS,MAAM;AAAG,aAAO;AACnG,QAAI,UAAU,SAAS,SAAS,KAAK,UAAU,SAAS,SAAS;AAAG,aAAO;AAC3E,QAAI,UAAU,SAAS,MAAM,KAAK,UAAU,SAAS,MAAM;AAAG,aAAO;AACrE,QAAI,UAAU,SAAS,MAAM;AAAG,aAAO;AAEvC,WAAO;EACT;EAEQ,aAAa,KAA4B;AAC/C,UAAM,aAAsC,CAAA;AAC5C,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,iBAAW,GAAG,IAAI,KAAK,eAAe,KAAK;IAC7C;AACA,WAAO;EACT;EAEQ,eAAe,OAAc;AACnC,QAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,aAAO;IACT;AACA,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI,QAAQ,OAAO,oBAAoB,QAAQ,OAAO,kBAAkB;AACtE,eAAO,MAAM,SAAQ;MACvB;AACA,aAAO,OAAO,KAAK;IACrB;AACA,QAAI,OAAO,SAAS,KAAK,GAAG;AAC1B,aAAO,MAAM,SAAS,QAAQ;IAChC;AACA,WAAO;EACT;;;;ACpHF,SAAS,eAAAC,oBAAmB;AAqB5B,IAAIC,OAAW;AAEf,eAAeC,WAAO;AACpB,MAAI,CAACD,MAAK;AACR,QAAI;AACF,MAAAA,QAAO,MAAM,OAAO,eAAe,GAAG;IACxC,QAAQ;AACN,YAAM,IAAI,MACR,iNAEiG;IAErG;EACF;AACA,SAAOA;AACT;AAEM,IAAO,qBAAP,MAAyB;EACrB;;EAEA,aAAkB;EAE1B,YAAY,QAAuB;AACjC,SAAK,SAAS;EAChB;EAEA,MAAM,UAAO;AACX,UAAM,YAAY,MAAMC,SAAO;AAG/B,UAAM,oBAAyC;MAC7C,SAAS,KAAK,OAAO;MACrB,UAAU,KAAK,OAAO;MACtB,UAAU,KAAK,OAAO;MACtB,YAAY,KAAK,OAAO;MACxB,WAAW,KAAK,OAAO;MACvB,UAAU,KAAK,OAAO;MACtB,QAAQ,KAAK,OAAO;MACpB,MAAM,KAAK,OAAO;MAClB,SAAS,KAAK,OAAO,wBAAwB;;AAG/C,QAAI,KAAK,OAAO,eAAe;AAC7B,wBAAkB,gBAAgB,KAAK,OAAO;IAChD;AACA,QAAI,KAAK,OAAO,mCAAmC,QAAW;AAC5D,wBAAkB,iCAAiC,KAAK,OAAO;IACjE;AAEA,SAAK,aAAa,UAAU,iBAAiB,iBAAiB;AAE9D,QAAI,KAAK,OAAO,kBAAkB,mBAAmB;AAEnD,YAAM,KAAK,WAAY,aAAY;IACrC,OAAO;AACL,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,aAAK,WAAY,QAAQ,CAAC,QAA0B;AAClD,cAAI,KAAK;AACP,iBAAK,aAAa;AAClB,mBAAO,GAAG;UACZ,OAAO;AACL,oBAAO;UACT;QACF,CAAC;MACH,CAAC;IACH;EACF;EAEA,MAAM,aAAU;AACd,QAAI,KAAK,YAAY;AACnB,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,aAAK,WAAY,QAAQ,CAAC,QAA0B;AAClD,eAAK,aAAa;AAClB,cAAI,KAAK;AACP,mBAAO,GAAG;UACZ,OAAO;AACL,oBAAO;UACT;QACF,CAAC;MACH,CAAC;IACH;EACF;EAEA,cAAW;AACT,WAAO,KAAK,eAAe,QAAQ,KAAK,WAAW,KAAI;EACzD;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,UAAM,QAAQC,aAAY,IAAG;AAE7B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,WAAK,WAAY,QAAQ;QACvB,SAAS;;QAET,UAAU,CAAC,KAAwB,MAAW,SAAe;AAC3D,gBAAM,aAAaA,aAAY,IAAG,IAAK;AAEvC,cAAI,KAAK;AACP,mBAAO,GAAG;AACV;UACF;AAGA,gBAAM,UAAU,OAAO,KAAK,WAAU,EAAG,IAAI,CAAC,SAAc;YAC1D,MAAM,IAAI,QAAO,EAAG,YAAW;YAC/B,MAAM,KAAK,sBAAsB,IAAI,QAAO,CAAE;YAC9C,IAAI,CAAA;AAEN,kBAAQ;YACN;YACA,OAAO,QAAQ,CAAA,GAAI,IAAI,SAAO,KAAK,aAAa,KAAK,cAAc,GAA8B,CAAC,CAAC;YACnG,UAAU,MAAM,UAAU;YAC1B;WACD;QACH;OACD;IACH,CAAC;EACH;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AAEA,QAAI;AACF,YAAM,KAAK,QAAQ,WAAW,GAAG,EAAE;AACnC,aAAO,EAAE,OAAO,KAAI;IACtB,SAAS,KAAK;AACZ,aAAO;QACL,OAAO;QACP,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;;IAE1D;EACF;EAEQ,sBAAsB,MAAY;AACxC,UAAM,UAAkC;MACtC,UAAU;MACV,WAAW;MACX,WAAW;MACX,OAAO;MACP,WAAW;MACX,UAAU;MACV,YAAY;MACZ,WAAW;MACX,WAAW;MACX,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,oBAAoB;MACpB,QAAQ;MACR,WAAW;MACX,QAAQ;MACR,aAAa;MACb,UAAU;MACV,QAAQ;MACR,UAAU;MACV,aAAa;MACb,WAAW;MACX,QAAQ;MACR,YAAY;MACZ,QAAQ;MACR,aAAa;MACb,iBAAiB;MACjB,iBAAiB;MACjB,gBAAgB;MAChB,WAAW;MACX,UAAU;MACV,SAAS;;AAGX,UAAM,YAAY,KAAK,YAAW;AAClC,WAAO,QAAQ,SAAS,KAAK;EAC/B;EAEQ,cAAc,KAA4B;AAChD,UAAM,SAAkC,CAAA;AACxC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,aAAO,IAAI,YAAW,CAAE,IAAI;IAC9B;AACA,WAAO;EACT;EAEQ,aAAa,KAA4B;AAC/C,UAAM,aAAsC,CAAA;AAC5C,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,GAAG,GAAG;AAC9C,iBAAW,GAAG,IAAI,KAAK,eAAe,KAAK;IAC7C;AACA,WAAO;EACT;EAEQ,eAAe,OAAc;AACnC,QAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,aAAO;IACT;AACA,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI,QAAQ,OAAO,oBAAoB,QAAQ,OAAO,kBAAkB;AACtE,eAAO,MAAM,SAAQ;MACvB;AACA,aAAO,OAAO,KAAK;IACrB;AACA,QAAI,iBAAiB,MAAM;AACzB,aAAO,mBAAmB,KAAK;IACjC;AACA,WAAO;EACT;;;;ACvOF,SAAS,eAAAC,oBAAmB;AAc5B,IAAI,eAAoB;AACxB,eAAeC,WAAO;AACpB,MAAI,CAAC,cAAc;AACjB,QAAI;AACF,sBAAgB,MAAM,OAAO,wBAAwB,GAAG;IAC1D,QAAQ;AACN,YAAM,IAAI,MACR,kOAEiG;IAErG;EACF;AACA,SAAO;AACT;AAGM,SAAU,qBAAqB,MAAY;AAC/C,QAAM,MAA8B;IAClC,OAAO;IAAW,SAAS;IAC3B,SAAS;IAAU,OAAO;IAC1B,SAAS;IAAU,YAAY;IAAU,SAAS;IAAU,YAAY;IACxE,MAAM;IAAW,SAAS;IAC1B,QAAQ;IACR,MAAM;IAAQ,UAAU;IAAQ,WAAW;IAC3C,MAAM;IACN,OAAO;IAAW,WAAW;IAAW,MAAM;IAC9C,QAAQ;IAAW,QAAQ;IAAW,OAAO;IAAW,UAAU;IAAW,OAAO;;AAEtF,SAAO,IAAI,KAAK,YAAW,CAAE,KAAK;AACpC;AAEA,SAAS,eAAe,OAAc;AACpC,MAAI,UAAU,QAAQ,UAAU;AAAW,WAAO;AAClD,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,QAAQ,OAAO,oBAAoB,QAAQ,OAAO,mBAAmB,MAAM,SAAQ,IAAK,OAAO,KAAK;EAC7G;AACA,MAAI,iBAAiB;AAAM,WAAO,mBAAmB,KAAK;AAC1D,MAAI,OAAO,SAAS,KAAK;AAAG,WAAO,MAAM,SAAS,QAAQ;AAC1D,MAAI,OAAO,UAAU,UAAU;AAE7B,UAAM,IAAI;AACV,QAAI,OAAO,EAAE,UAAU;AAAU,aAAO,EAAE;AAE1C,QAAI,EAAE,aAAa,SAAS,OAAO;AACjC,YAAM,IAAI,OAAO,KAAK;AACtB,YAAM,IAAI,OAAO,CAAC;AAClB,aAAO,OAAO,SAAS,CAAC,IAAI,IAAI;IAClC;EACF;AACA,SAAO;AACT;AAEA,SAAS,aAAa,KAA4B;AAChD,QAAM,MAA+B,CAAA;AACrC,aAAW,CAAC,GAAG,GAAG,KAAK,OAAO,QAAQ,GAAG;AAAG,QAAI,CAAC,IAAI,eAAe,GAAG;AACvE,SAAO;AACT;AAEM,IAAO,oBAAP,MAAwB;EACpB;;EAEA,SAAc;EACd,YAAY;EAEpB,YAAY,QAAsB;AAChC,SAAK,SAAS;EAChB;EAEA,MAAM,UAAO;AACX,UAAM,WAAW,MAAMA,SAAO;AAE9B,UAAM,OAA4B,EAAE,WAAW,KAAK,OAAO,UAAS;AACpE,QAAI,KAAK,OAAO;AAAU,WAAK,WAAW,KAAK,OAAO;AACtD,QAAI,KAAK,OAAO;AAAa,WAAK,cAAc,KAAK,OAAO;AAC5D,QAAI,KAAK,OAAO;AAAa,WAAK,cAAc,KAAK,OAAO;AAC5D,SAAK,SAAS,IAAI,SAAS,IAAI;AAE/B,UAAM,KAAK,OAAO,eAAe,EAAE,OAAO,YAAY,QAAQ,MAAM,UAAU,KAAK,OAAO,SAAQ,CAAE;AACpG,SAAK,YAAY;EACnB;EAEA,MAAM,aAAU;AACd,SAAK,SAAS;AACd,SAAK,YAAY;EACnB;EAEA,cAAW;AACT,WAAO,KAAK;EACd;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,aAAa,CAAC,KAAK,QAAQ;AACnC,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AACA,UAAM,QAAQC,aAAY,IAAG;AAE7B,UAAM,aAAkC,EAAE,OAAO,IAAG;AACpD,QAAI,KAAK,OAAO;AAAU,iBAAW,WAAW,KAAK,OAAO;AAC5D,QAAI,KAAK,OAAO,mBAAmB;AAAW,iBAAW,qBAAqB,OAAO,KAAK,OAAO,cAAc;AAC/G,UAAM,CAAC,GAAG,IAAI,MAAM,KAAK,OAAO,eAAe,UAAU;AACzD,UAAM,CAAC,MAAK,EAAG,WAAW,IAAI,MAAM,IAAI,gBAAe;AACvD,UAAM,aAAaA,aAAY,IAAG,IAAK;AAEvC,UAAM,SAAU,aAAa,QAAQ,UAAU,CAAA;AAC/C,UAAM,UAAU,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,qBAAqB,EAAE,IAAI,EAAC,EAAG;AACxF,WAAO;MACL;MACA,OAAO,QAAQ,CAAA,GAAI,IAAI,CAAC,MAA+B,aAAa,CAAC,CAAC;MACtE,UAAU,MAAM,UAAU;MAC1B;;EAEJ;EAEA,MAAM,QAAQ,KAAW;AACvB,QAAI,CAAC,KAAK,aAAa,CAAC,KAAK,QAAQ;AACnC,YAAM,IAAI,MAAM,2BAA2B;IAC7C;AACA,QAAI;AAEF,YAAM,KAAK,OAAO,eAAe,EAAE,OAAO,KAAK,QAAQ,MAAM,UAAU,KAAK,OAAO,SAAQ,CAAE;AAC7F,aAAO,EAAE,OAAO,KAAI;IACtB,SAAS,KAAK;AACZ,aAAO,EAAE,OAAO,OAAO,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,EAAC;IAChF;EACF;;;;AC5HI,SAAU,oBAAoB,YAA8B;AAChE,QAAM,OAAO,WAAW;AAGxB,MAAI,CAAC,MAAM;AACT,WAAO;MACL,MAAM,QAAQ,IAAI,UAAU;MAC5B,UAAU,QAAQ,IAAI,cAAc;;EAExC;AAEA,MAAI,KAAK,SAAS,OAAO;AACvB,UAAM,OAAO,QAAQ,IAAI,KAAK,QAAQ;AACtC,UAAM,WAAW,QAAQ,IAAI,KAAK,YAAY;AAE9C,QAAI,CAAC,MAAM;AACT,YAAM,IAAI,MAAM,iCAAiC,KAAK,QAAQ,EAAE;IAClE;AAEA,WAAO,EAAE,MAAM,UAAU,YAAY,GAAE;EACzC;AAGA,QAAM,IAAI,MAAM,cAAc,KAAK,IAAI,uBAAuB;AAChE;AAEM,SAAU,iBAAiB,YAA2B;AAC1D,QAAM,OAAO,WAAW;AAGxB,MAAI,CAAC,MAAM;AACT,WAAO;MACL,MAAM,QAAQ,IAAI,cAAc;MAChC,UAAU,QAAQ,IAAI,kBAAkB;;EAE5C;AAEA,MAAI,KAAK,SAAS,OAAO;AACvB,UAAM,OAAO,QAAQ,IAAI,KAAK,QAAQ;AACtC,UAAM,WAAW,QAAQ,IAAI,KAAK,YAAY;AAE9C,QAAI,CAAC,MAAM;AACT,YAAM,IAAI,MAAM,iCAAiC,KAAK,QAAQ,EAAE;IAClE;AAEA,WAAO,EAAE,MAAM,UAAU,YAAY,GAAE;EACzC;AAEA,QAAM,IAAI,MAAM,cAAc,KAAK,IAAI,uBAAuB;AAChE;AAEM,SAAU,qBAAqB,YAA+B;AAClE,QAAM,OAAO,WAAW;AAExB,MAAI,KAAK,SAAS,OAAO;AACvB,UAAM,WAAW,QAAQ,IAAI,KAAK,QAAQ;AAC1C,UAAM,WAAW,QAAQ,IAAI,KAAK,YAAY;AAE9C,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,MAAM,iCAAiC,KAAK,QAAQ,EAAE;IAClE;AAEA,WAAO,EAAE,UAAU,UAAU,YAAY,OAAS;EACpD;AAEA,MAAI,KAAK,SAAS,YAAY;AAC5B,UAAM,WAAW,QAAQ,IAAI,KAAK,QAAQ;AAE1C,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,MAAM,iCAAiC,KAAK,QAAQ,EAAE;IAClE;AAGA,UAAM,KAAK,UAAQ,IAAI;AACvB,UAAM,aAAa,GAAG,aAAa,KAAK,kBAAkB,OAAO;AAEjE,WAAO,EAAE,UAAU,WAAU;EAC/B;AAEA,MAAI,KAAK,SAAS,mBAAmB;AACnC,UAAM,WAAW,QAAQ,IAAI,KAAK,QAAQ;AAE1C,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,MAAM,iCAAiC,KAAK,QAAQ,EAAE;IAClE;AAEA,WAAO;MACL;MACA,eAAe;MACf,gCAAgC,KAAK,eAAe;;EAExD;AAEA,QAAM,IAAI,MAAM,cAAc,KAAK,IAAI,qCAAqC;AAC9E;AAQM,SAAU,oBAAoB,YAA8B;AAChE,QAAM,OAAO,WAAW;AACxB,MAAI,KAAK,SAAS,mBAAmB;AACnC,UAAM,IAAI,MACR,cAAc,KAAK,IAAI,mJAC6D;EAExF;AACA,MAAI,KAAK,iBAAiB;AACxB,UAAM,MAAM,QAAQ,IAAI,KAAK,eAAe;AAC5C,QAAI,CAAC;AAAK,YAAM,IAAI,MAAM,iCAAiC,KAAK,eAAe,EAAE;AACjF,QAAI;AACJ,QAAI;AACF,oBAAc,KAAK,MAAM,GAAG;IAC9B,QAAQ;AACN,YAAM,IAAI,MAAM,wBAAwB,KAAK,eAAe,4DAA4D;IAC1H;AACA,WAAO,EAAE,YAAW;EACtB;AACA,MAAI,KAAK,UAAU;AACjB,WAAO,EAAE,aAAa,KAAK,SAAQ;EACrC;AACA,SAAO,CAAA;AACT;;;ACrIA,IAAM,4BAA4B;EAChC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EACA;;AAGF,SAAS,kBAAkB,OAAc;AACvC,QAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,QAAM,QAAQ,QAAQ,YAAW;AACjC,SAAO,0BAA0B,KAAK,CAAC,YAAY,MAAM,SAAS,QAAQ,YAAW,CAAE,CAAC;AAC1F;AAQM,IAAO,wBAAP,MAA4B;EACxB;EAER,YAAY,OAAgB;AAC1B,SAAK,QAAQ;EACf;EAEA,MAAM,UAAO;AACX,WAAO,KAAK,MAAM,QAAO;EAC3B;EAEA,MAAM,aAAU;AACd,WAAO,KAAK,MAAM,WAAU;EAC9B;EAEA,cAAW;AACT,WAAO,KAAK,MAAM,YAAW;EAC/B;EAEA,MAAM,QAAQ,KAAW;AACvB,UAAM,KAAK,gBAAe;AAE1B,QAAI;AACF,aAAO,MAAM,KAAK,MAAM,QAAQ,GAAG;IACrC,SAAS,KAAK;AACZ,UAAI,kBAAkB,GAAG,GAAG;AAC1B,cAAM,KAAK,UAAS;AACpB,eAAO,KAAK,MAAM,QAAQ,GAAG;MAC/B;AACA,YAAM;IACR;EACF;EAEA,MAAM,QAAQ,KAAW;AACvB,UAAM,KAAK,gBAAe;AAE1B,QAAI;AACF,aAAO,MAAM,KAAK,MAAM,QAAQ,GAAG;IACrC,SAAS,KAAK;AACZ,UAAI,kBAAkB,GAAG,GAAG;AAC1B,cAAM,KAAK,UAAS;AACpB,eAAO,KAAK,MAAM,QAAQ,GAAG;MAC/B;AACA,YAAM;IACR;EACF;EAEQ,MAAM,kBAAe;AAC3B,QAAI,CAAC,KAAK,MAAM,YAAW,GAAI;AAC7B,YAAM,KAAK,UAAS;IACtB;EACF;EAEQ,MAAM,YAAS;AACrB,QAAI;AAAE,YAAM,KAAK,MAAM,WAAU;IAAI,QAAQ;IAAoC;AACjF,UAAM,KAAK,MAAM,QAAO;EAC1B;;;;AC9DI,SAAU,mBAAmB,OAAW;AAC5C,MACE,MAAM,YAAW,MAAO,KACxB,MAAM,cAAa,MAAO,KAC1B,MAAM,cAAa,MAAO,KAC1B,MAAM,mBAAkB,MAAO,GAC/B;AACA,UAAM,IAAI,MAAM,eAAc;AAC9B,UAAM,IAAI,OAAO,MAAM,YAAW,IAAK,CAAC,EAAE,SAAS,GAAG,GAAG;AACzD,UAAM,IAAI,OAAO,MAAM,WAAU,CAAE,EAAE,SAAS,GAAG,GAAG;AACpD,WAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;EACvB;AACA,SAAO,MAAM,YAAW;AAC1B;;;ACIA,IAAM,WAAqC;EACzC,MAAM,CAAC,QAAQ,aAAa,YAAY,eAAe,0BAA0B;EACjF,QAAQ,CAAC,WAAW,OAAO,UAAU,SAAS,UAAU,WAAW,WAAW,QAAQ,YAAY,WAAW,WAAW,QAAQ,QAAQ,UAAU,QAAQ;EAC1J,SAAS,CAAC,WAAW,OAAO,UAAU,YAAY,WAAW,WAAW,QAAQ,MAAM;EACtF,QAAQ,CAAC,WAAW,QAAQ,QAAQ,UAAU,qBAAqB,UAAU;EAC7E,SAAS,CAAC,WAAW,MAAM;;AAG7B,SAAS,WAAW,cAAsB,YAAkB;AAC1D,QAAM,WAAW,aAAa,YAAW;AACzC,QAAM,SAAS,WAAW,YAAW;AACrC,MAAI,aAAa;AAAQ,WAAO;AAChC,QAAM,gBAAgB,SAAS,QAAQ;AACvC,MAAI;AAAe,WAAO,cAAc,SAAS,MAAM;AACvD,SAAO;AACT;AAKM,SAAU,WAAW,cAAsB,aAAmB;AAClE,SAAO,aAAa,QAAQ,uBAAuB,WAAW;AAChE;AAEA,IAAM,wBAAwB;AAE9B,eAAsB,aACpB,aACA,cACA,WAAoB;AAEpB,QAAM,UAAU,CAAC,qBAAqB,KAAK,YAAY,IACnD,kFACA;AAEJ,QAAM,cAAc,WAAW,cAAc,WAAW;AAExD,MAAI;AACF,UAAM,SAAS,MAAM,UAAU,QAAQ,WAAW;AAElD,WAAO;MACL,KAAK;MACL,QAAQ,OAAO,aAAa;MAC5B,gBAAgB,OAAO;MACvB,kBAAkB,OAAO,KAAK,MAAM,GAAG,qBAAqB;MAC5D;;EAEJ,SAAS,KAAK;AACZ,WAAO;MACL,KAAK;MACL,QAAQ;MACR,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;MACtD;;EAEJ;AACF;AAEA,eAAsB,SACpB,aACA,UACA,WAAoB;AAEpB,QAAM,QAAQ,YAAY,IAAG;AAC7B,QAAM,aAAa,SAAS,WAAW,SAAS,QAAQ,SAAS;AACjE,QAAM,WAAW,SAAS,SAAS,SAAS,MAAM,SAAS;AAG3D,MAAI,CAAC,cAAc,CAAC,UAAU;AAC5B,WAAO;MACL,WAAW,SAAS;MACpB,YAAY,CAAA;MACZ,YAAY,YAAY,IAAG,IAAK;;EAEpC;AAGA,MAAI;AACJ,MAAI,YAAY;AACd,QAAI;AACF,0BAAoB,MAAM,YAAY,aAAa,WAAW,SAAS,OAAQ;IACjF,SAAS,KAAK;AACZ,aAAO;QACL,WAAW,SAAS;QACpB,YAAY,CAAA;QACZ,YAAY,YAAY,IAAG,IAAK;QAChC,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;;IAE1D;EACF;AAGA,QAAM,aAAgC,CAAA;AACtC,MAAI,UAAU;AACZ,eAAW,WAAW,SAAS,OAAQ;AACrC,YAAM,SAAS,MAAM,aAAa,aAAa,SAAS,SAAS;AACjE,iBAAW,KAAK,MAAM;IACxB;EACF;AAEA,SAAO;IACL,WAAW,SAAS;IACpB,aAAa;IACb;IACA,YAAY,YAAY,IAAG,IAAK;;AAEpC;AAEA,eAAsB,OACpB,QACA,WAAoB;AAEpB,QAAM,QAAQ,YAAY,IAAG;AAC7B,QAAM,UAA6B,CAAA;AACnC,MAAI,SAAS;AACb,MAAI,SAAS;AACb,MAAI,UAAU;AAEd,aAAW,SAAS,QAAQ;AAC1B,UAAM,SAAS,MAAM,SAAS,MAAM,aAAa,MAAM,UAAU,SAAS;AAC1E,YAAQ,KAAK,MAAM;AAEnB,UAAM,cAAc,OAAO,eAAe,OAAO,WAAW,SAAS;AACrE,QAAI,CAAC,eAAe,CAAC,OAAO,OAAO;AACjC;AACA;IACF;AAEA,QAAI,OAAO,OAAO;AAChB;AACA;IACF;AAGA,QAAI,OAAO,aAAa;AACtB,UAAI,OAAO,YAAY;AAAQ;;AAC1B;IACP;AACA,eAAW,aAAa,OAAO,YAAY;AACzC,UAAI,UAAU;AAAQ;;AACjB;IACP;EACF;AAEA,SAAO;IACL,QAAQ;IACR;IACA;IACA;IACA,YAAY,YAAY,IAAG,IAAK;;AAEpC;AAEA,eAAsB,YACpB,aACA,WACA,iBAA+B;AAE/B,QAAM,aAAa,kBAAkB,WAAW;AAChD,QAAM,SAAS,MAAM,UAAU,QAAQ,UAAU;AAEjD,QAAM,gBAAgB,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AACtD,QAAM,kBAAkB,gBAAgB,IAAI,CAAC,MAAM,EAAE,IAAI;AAEzD,QAAM,iBAAiB,gBAAgB,OAAO,CAAC,SAAS,CAAC,cAAc,SAAS,IAAI,CAAC;AACrF,QAAM,eAAe,cAAc,OAAO,CAAC,SAAS,CAAC,gBAAgB,SAAS,IAAI,CAAC;AAEnF,QAAM,iBAAsD,CAAA;AAC5D,aAAW,YAAY,iBAAiB;AACtC,UAAM,SAAS,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,SAAS,IAAI;AAClE,QAAI,UAAU,CAAC,WAAW,SAAS,MAAM,OAAO,IAAI,GAAG;AACrD,qBAAe,KAAK;QAClB,QAAQ,SAAS;QACjB,UAAU,SAAS;QACnB,QAAQ,OAAO;OAChB;IACH;EACF;AAEA,SAAO;IACL,QAAQ,eAAe,WAAW,KAAK,eAAe,WAAW;IACjE;IACA;IACA;IACA;IACA;;AAEJ;;;AC1NA,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,QAAQ;AAER,SAAU,mBAAmB,OAAe,SAA0B,SAAe;AACzF,QAAM,IAAI,WAAW,OAAO;AAC5B,QAAM,MAAM,EAAE,WAAW,KAAK;AAC9B,QAAM,QAAkB,CAAC,mBAAmB;AAC5C,aAAW,KAAK,SAAS;AACvB,UAAM,MAAM,EAAE,WAAW,EAAE,IAAI;AAC/B,UAAM,KAAK,oBAAoB,GAAG,QAAQ,EAAE,IAAI,QAAQ;AACxD,UAAM,KAAK,kBAAkB,GAAG,QAAQ,EAAE,IAAI,WAAW;AACzD,QAAI,QAAQ,KAAK,EAAE,IAAI,GAAG;AACxB,YAAM,KAAK,OAAO,GAAG,QAAQ,EAAE,IAAI,MAAM;AACzC,YAAM,KAAK,OAAO,GAAG,QAAQ,EAAE,IAAI,MAAM;IAC3C;EACF;AACA,SAAO,UAAU,MAAM,KAAK,IAAI,CAAC,SAAS,GAAG;AAC/C;AAEM,SAAU,kBAAkB,OAAe,QAAgB,SAAgB;AAC/E,QAAM,IAAI,WAAW,OAAO;AAC5B,QAAM,MAAM,EAAE,WAAW,KAAK;AAC9B,QAAM,MAAM,EAAE,WAAW,MAAM;AAC/B,SAAO,UAAU,GAAG,6BAA6B,GAAG,aAAa,GAAG,0BAA0B,KAAK;AACrG;AAEA,eAAsB,mBAAmB,OAGxC;AACC,QAAM,EAAE,YAAY,SAAS,QAAQ,QAAO,IAAK;AACjD,QAAM,IAAI,WAAW,OAAO;AAC5B,QAAM,sBAAsB,MAAM,uBAAuB;AACzD,QAAM,gBAAgC,CAAA;AAEtC,aAAW,KAAK,QAAQ;AACtB,QAAI;AACF,YAAM,WAAW,MAAM,QAAQ,mBAAmB,EAAE,OAAO,EAAE,SAAS,OAAO,CAAC;AAC9E,YAAM,QAAQ,SAAS,KAAK,CAAC,KAAK,CAAA;AAClC,YAAM,QAAQ,OAAO,MAAM,SAAS,CAAC;AACrC,YAAM,UAA2B,CAAA;AACjC,iBAAW,KAAK,EAAE,SAAS;AACzB,cAAM,QAAQ,OAAO,MAAM,GAAG,EAAE,IAAI,QAAQ,KAAK,CAAC;AAClD,cAAM,WAAW,MAAM,GAAG,EAAE,IAAI,WAAW,KAAK,OAAO,OAAO,MAAM,GAAG,EAAE,IAAI,WAAW,CAAC,IAAI;AAC7F,cAAM,MAAqB;UACzB,MAAM,EAAE;UAAM,MAAM,EAAE;UACtB,UAAU,QAAQ,IAAI,QAAQ,QAAQ;UACtC,eAAe;UACf,KAAK,MAAM,GAAG,EAAE,IAAI,MAAM;UAAG,KAAK,MAAM,GAAG,EAAE,IAAI,MAAM;;AAEzD,YAAI,QAAQ,KAAK,EAAE,IAAI,KAAK,YAAY,QAAQ,YAAY,qBAAqB;AAC/E,gBAAM,KAAK,MAAM,QAAQ,kBAAkB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpE,cAAI,YAAY,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,EAAE,CAAC,EAAC,EAAG;QACzE;AACA,gBAAQ,KAAK,GAAG;MAClB;AACA,YAAM,cAAc,MAAM,eAAe;AACzC,YAAM,aAAa,cAAc,KAAK,MAAM,QAAQ,iBAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,WAAW,EAAE,GAAG,OAAO,CAAA;AAC3H,oBAAc,KAAK,EAAE,OAAO,EAAE,OAAO,UAAU,OAAO,SAAS,WAAU,CAAE;IAC7E,QAAQ;AAEN,oBAAc,KAAK,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,KAAI,EAAG,GAAG,YAAY,CAAA,EAAE,CAAE;IACxH;EACF;AACA,SAAO,EAAE,YAAY,aAAY,oBAAI,KAAI,GAAG,YAAW,GAAI,QAAQ,cAAa;AAClF;;;ACvEA,IAAM,oBACJ;AACF,IAAM,eAAe;AACrB,IAAM,kBAAkB;AAUlB,SAAU,cAAc,KAAW;AACvC,MAAI,IAAI,IAAI,KAAI;AAEhB,MAAI,EAAE,QAAQ,SAAS,EAAE;AAEzB,MAAI,EAAE,SAAS,GAAG;AAAG,WAAO;AAC5B,MAAI,kBAAkB,KAAK,CAAC;AAAG,WAAO;AACtC,MAAI,cAAc,KAAK,CAAC,KAAK,aAAa,KAAK,CAAC;AAAG,WAAO;AAC1D,SAAO,gBAAgB,KAAK,CAAC;AAC/B;;;AC1BO,IAAM,UAAU;","names":["performance","performance","performance","client","performance","performance","sdk","loadSDK","performance","performance","performance","sdk","loadSDK","performance","performance","loadSDK","performance"]}