gitframes 1.2.35

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 (94) hide show
  1. package/LICENCE +202 -0
  2. package/README.md +77 -0
  3. package/dist/audio/index.d.mts +2 -0
  4. package/dist/audio/index.mjs +6 -0
  5. package/dist/audio-C0YslYEG.d.mts +32 -0
  6. package/dist/audio-C0YslYEG.d.mts.map +1 -0
  7. package/dist/audio-C4kiPbrV.mjs +1866 -0
  8. package/dist/audio-C4kiPbrV.mjs.map +1 -0
  9. package/dist/audio-CiXUMGyk.mjs +578 -0
  10. package/dist/audio-CiXUMGyk.mjs.map +1 -0
  11. package/dist/chunk-GMkBE123.mjs +47 -0
  12. package/dist/client-Dyypr8tt.mjs +66 -0
  13. package/dist/client-Dyypr8tt.mjs.map +1 -0
  14. package/dist/dist-C37594c6.mjs +27195 -0
  15. package/dist/dist-C37594c6.mjs.map +1 -0
  16. package/dist/dist-CMF9eNLB.mjs +4062 -0
  17. package/dist/dist-CMF9eNLB.mjs.map +1 -0
  18. package/dist/dist-cjs--KIl7Gqy.mjs +6 -0
  19. package/dist/dist-cjs-B-_4TVjP.mjs +66 -0
  20. package/dist/dist-cjs-B-_4TVjP.mjs.map +1 -0
  21. package/dist/dist-cjs-B3TIyZ3K.mjs +437 -0
  22. package/dist/dist-cjs-B3TIyZ3K.mjs.map +1 -0
  23. package/dist/dist-cjs-Bsz2eGzl.mjs +9069 -0
  24. package/dist/dist-cjs-Bsz2eGzl.mjs.map +1 -0
  25. package/dist/dist-cjs-BuJ2FXob.mjs +181 -0
  26. package/dist/dist-cjs-BuJ2FXob.mjs.map +1 -0
  27. package/dist/dist-cjs-C-FMsqmo.mjs +1091 -0
  28. package/dist/dist-cjs-C-FMsqmo.mjs.map +1 -0
  29. package/dist/dist-cjs-C4b9TCXd.mjs +48 -0
  30. package/dist/dist-cjs-C4b9TCXd.mjs.map +1 -0
  31. package/dist/dist-cjs-C817PNLc.mjs +51 -0
  32. package/dist/dist-cjs-C817PNLc.mjs.map +1 -0
  33. package/dist/dist-cjs-CBnnS4k8.mjs +43 -0
  34. package/dist/dist-cjs-CBnnS4k8.mjs.map +1 -0
  35. package/dist/dist-cjs-CWbeD0Mu.mjs +64 -0
  36. package/dist/dist-cjs-CWbeD0Mu.mjs.map +1 -0
  37. package/dist/dist-cjs-ChXEJ1ro.mjs +85 -0
  38. package/dist/dist-cjs-ChXEJ1ro.mjs.map +1 -0
  39. package/dist/dist-cjs-CslF8Dju.mjs +153 -0
  40. package/dist/dist-cjs-CslF8Dju.mjs.map +1 -0
  41. package/dist/dist-cjs-D52jYyEm.mjs +98 -0
  42. package/dist/dist-cjs-D52jYyEm.mjs.map +1 -0
  43. package/dist/dist-cjs-DhWYgNfa.mjs +209 -0
  44. package/dist/dist-cjs-DhWYgNfa.mjs.map +1 -0
  45. package/dist/dist-cjs-DssYqayv.mjs +5015 -0
  46. package/dist/dist-cjs-DssYqayv.mjs.map +1 -0
  47. package/dist/dist-cjs-Du6DnSjo.mjs +137 -0
  48. package/dist/dist-cjs-Du6DnSjo.mjs.map +1 -0
  49. package/dist/dist-cjs-b-oBQaxe.mjs +323 -0
  50. package/dist/dist-cjs-b-oBQaxe.mjs.map +1 -0
  51. package/dist/effects/index.d.mts +2 -0
  52. package/dist/effects/index.mjs +4 -0
  53. package/dist/effects-4t4qk-BR.mjs +21130 -0
  54. package/dist/effects-4t4qk-BR.mjs.map +1 -0
  55. package/dist/event-streams-B0YUBtyM.mjs +204 -0
  56. package/dist/event-streams-B0YUBtyM.mjs.map +1 -0
  57. package/dist/fonts/index.d.mts +2 -0
  58. package/dist/fonts/index.mjs +3 -0
  59. package/dist/fonts-Dn18r_ST.mjs +188 -0
  60. package/dist/fonts-Dn18r_ST.mjs.map +1 -0
  61. package/dist/index-B1557AUi.d.mts +928 -0
  62. package/dist/index-B1557AUi.d.mts.map +1 -0
  63. package/dist/index-DSaMXGoA.d.mts +65 -0
  64. package/dist/index-DSaMXGoA.d.mts.map +1 -0
  65. package/dist/index-FICUHo4P.d.mts +69 -0
  66. package/dist/index-FICUHo4P.d.mts.map +1 -0
  67. package/dist/index-YZsTjqut.d.mts +147 -0
  68. package/dist/index-YZsTjqut.d.mts.map +1 -0
  69. package/dist/index.d.mts +736 -0
  70. package/dist/index.d.mts.map +1 -0
  71. package/dist/index.mjs +7135 -0
  72. package/dist/index.mjs.map +1 -0
  73. package/dist/package-5RsA21g-.mjs +6 -0
  74. package/dist/package-5RsA21g-.mjs.map +1 -0
  75. package/dist/react/index.d.mts +3 -0
  76. package/dist/react/index.mjs +4 -0
  77. package/dist/renderer/index.d.mts +2 -0
  78. package/dist/renderer/index.mjs +6 -0
  79. package/dist/renderer-DVi31fSv.mjs +23274 -0
  80. package/dist/renderer-DVi31fSv.mjs.map +1 -0
  81. package/dist/renderers-CLJQRPVU-CMZnHNK0.mjs +49 -0
  82. package/dist/renderers-CLJQRPVU-CMZnHNK0.mjs.map +1 -0
  83. package/dist/signals/index.d.mts +9 -0
  84. package/dist/signals/index.mjs +8 -0
  85. package/dist/signals-BB_kdndF.mjs +227 -0
  86. package/dist/signals-BB_kdndF.mjs.map +1 -0
  87. package/dist/signin-CVUAIuED.mjs +865 -0
  88. package/dist/signin-CVUAIuED.mjs.map +1 -0
  89. package/dist/sso-oidc-D1GnNQYW.mjs +1051 -0
  90. package/dist/sso-oidc-D1GnNQYW.mjs.map +1 -0
  91. package/dist/sts-Bz-e3kNW.mjs +6 -0
  92. package/dist/sts-I4KhuCBs.mjs +1395 -0
  93. package/dist/sts-I4KhuCBs.mjs.map +1 -0
  94. package/package.json +174 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-cjs-DssYqayv.mjs","names":["stream_1","error","size","node_stream_1","logger","size","stream_1","abortError","error","abortError","stream_1","Uint8ArrayBlobAdapter","error","HttpResponse","ns","struct","year","date","RFC3339_WITH_OFFSET","IMF_FIXDATE","RFC_850_DATE","ASC_TIME","time","op","error","v","b","__assign","o","LazyJsonString","date","year","z","HttpRequest","HttpResponse","member","HttpRequest","member","list","HttpRequest","resolvedPath","HttpRequest","fromBase64","toUtf8","toUtf8","fromUtf8","toBase64","entry","member","operation","op","command","filter","date"],"sources":["../../../node_modules/.pnpm/@smithy+util-middleware@4.2.12/node_modules/@smithy/util-middleware/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-base64@4.3.2/node_modules/@smithy/util-base64/dist-cjs/fromBase64.js","../../../node_modules/.pnpm/@smithy+util-base64@4.3.2/node_modules/@smithy/util-base64/dist-cjs/toBase64.js","../../../node_modules/.pnpm/@smithy+util-base64@4.3.2/node_modules/@smithy/util-base64/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/headStream.js","../../../node_modules/.pnpm/@smithy+util-uri-escape@4.2.2/node_modules/@smithy/util-uri-escape/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+querystring-builder@4.2.12/node_modules/@smithy/querystring-builder/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+node-http-handler@4.5.0/node_modules/@smithy/node-http-handler/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+fetch-http-handler@5.3.15/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-hex-encoding@4.2.2/node_modules/@smithy/util-hex-encoding/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/splitStream.js","../../../node_modules/.pnpm/@smithy+util-stream@4.5.20/node_modules/@smithy/util-stream/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/deref.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/schema/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-cjs/randomUUID.js","../../../node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/generateIdempotencyToken.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/split-every.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/split-header.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/serde/index.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js","../../../node_modules/.pnpm/@smithy+core@3.23.12/node_modules/@smithy/core/dist-es/submodules/protocols/index.js","../../../node_modules/.pnpm/@smithy+middleware-stack@4.2.12/node_modules/@smithy/middleware-stack/dist-cjs/index.js","../../../node_modules/.pnpm/@smithy+smithy-client@4.12.6/node_modules/@smithy/smithy-client/dist-cjs/index.js"],"sourcesContent":["'use strict';\n\nvar types = require('@smithy/types');\n\nconst getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});\n\nconst normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n\nexports.getSmithyContext = getSmithyContext;\nexports.normalizeProvider = normalizeProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = (0, util_utf8_1.fromUtf8)(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\nexports.toBase64 = toBase64;\n","'use strict';\n\nvar fromBase64 = require('./fromBase64');\nvar toBase64 = require('./toBase64');\n\n\n\nObject.prototype.hasOwnProperty.call(fromBase64, '__proto__') &&\n\t!Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n\tObject.defineProperty(exports, '__proto__', {\n\t\tenumerable: true,\n\t\tvalue: fromBase64['__proto__']\n\t});\n\nObject.keys(fromBase64).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = fromBase64[k];\n});\nObject.prototype.hasOwnProperty.call(toBase64, '__proto__') &&\n\t!Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n\tObject.defineProperty(exports, '__proto__', {\n\t\tenumerable: true,\n\t\tvalue: toBase64['__proto__']\n\t});\n\nObject.keys(toBase64).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = toBase64[k];\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_1 = require(\"stream\");\nclass ChecksumStream extends stream_1.Duplex {\n expectedChecksum;\n checksumSourceLocation;\n checksum;\n source;\n base64Encoder;\n pendingCallback = null;\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder ?? util_base64_1.toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) {\n if (this.pendingCallback) {\n const callback = this.pendingCallback;\n this.pendingCallback = null;\n callback();\n }\n }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n const canPushMore = this.push(chunk);\n if (!canPushMore) {\n this.pendingCallback = callback;\n return;\n }\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\nexports.ChecksumStream = ChecksumStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBlob = exports.isReadableStream = void 0;\nconst isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexports.isReadableStream = isReadableStream;\nconst isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\nexports.isBlob = isBlob;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nclass ChecksumStream extends ReadableStreamRef {\n}\nexports.ChecksumStream = ChecksumStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_browser_1 = require(\"./ChecksumStream.browser\");\nconst createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!(0, stream_type_check_1.isReadableStream)(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? util_base64_1.toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream_browser_1.ChecksumStream.prototype);\n return readable;\n};\nexports.createChecksumStream = createChecksumStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = createChecksumStream;\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_1 = require(\"./ChecksumStream\");\nconst createChecksumStream_browser_1 = require(\"./createChecksumStream.browser\");\nfunction createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && (0, stream_type_check_1.isReadableStream)(init.source)) {\n return (0, createChecksumStream_browser_1.createChecksumStream)(init);\n }\n return new ChecksumStream_1.ChecksumStream(init);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ByteArrayCollector = void 0;\nclass ByteArrayCollector {\n allocByteArray;\n byteLength = 0;\n byteArrays = [];\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\nexports.ByteArrayCollector = ByteArrayCollector;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = void 0;\nexports.createBufferedReadableStream = createBufferedReadableStream;\nexports.merge = merge;\nexports.flush = flush;\nexports.sizeOf = sizeOf;\nexports.modeOf = modeOf;\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nfunction createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexports.createBufferedReadable = createBufferedReadableStream;\nfunction merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nfunction flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nfunction sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nfunction modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = createBufferedReadable;\nconst node_stream_1 = require(\"node:stream\");\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nconst createBufferedReadableStream_1 = require(\"./createBufferedReadableStream\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction createBufferedReadable(upstream, size, logger) {\n if ((0, stream_type_check_1.isReadableStream)(upstream)) {\n return (0, createBufferedReadableStream_1.createBufferedReadableStream)(upstream, size, logger);\n }\n const downstream = new node_stream_1.Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector_1.ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = (0, createBufferedReadableStream_1.modeOf)(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = (0, createBufferedReadableStream_1.sizeOf)(chunk);\n bytesSeen += chunkSize;\n const bufferSize = (0, createBufferedReadableStream_1.sizeOf)(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = (0, createBufferedReadableStream_1.merge)(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = (0, createBufferedReadableStream_1.flush)(buffers, mode);\n if ((0, createBufferedReadableStream_1.sizeOf)(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n bodyLengthChecker !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { value, done } = await reader.read();\n if (done) {\n controller.enqueue(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n controller.enqueue(`${checksumLocationName}:${checksum}\\r\\n`);\n controller.enqueue(`\\r\\n`);\n }\n controller.close();\n }\n else {\n controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\\r\\n${value}\\r\\n`);\n }\n },\n });\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\nconst node_stream_1 = require(\"node:stream\");\nconst getAwsChunkedEncodingStream_browser_1 = require(\"./getAwsChunkedEncodingStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction getAwsChunkedEncodingStream(stream, options) {\n const readable = stream;\n const readableStream = stream;\n if ((0, stream_type_check_1.isReadableStream)(readableStream)) {\n return (0, getAwsChunkedEncodingStream_browser_1.getAwsChunkedEncodingStream)(readableStream, options);\n }\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readable) : undefined;\n const awsChunkedEncodingStream = new node_stream_1.Readable({\n read: () => { },\n });\n readable.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n if (length === 0) {\n return;\n }\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readable.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = headStream;\nasync function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = void 0;\nconst stream_1 = require(\"stream\");\nconst headStream_browser_1 = require(\"./headStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst headStream = (stream, bytes) => {\n if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return (0, headStream_browser_1.headStream)(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nexports.headStream = headStream;\nclass Collector extends stream_1.Writable {\n buffers = [];\n limit = Infinity;\n bytesBuffered = 0;\n _write(chunk, encoding, callback) {\n this.buffers.push(chunk);\n this.bytesBuffered += chunk.byteLength ?? 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n","'use strict';\n\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n\nexports.escapeUri = escapeUri;\nexports.escapeUriPath = escapeUriPath;\n","'use strict';\n\nvar utilUriEscape = require('@smithy/util-uri-escape');\n\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = utilUriEscape.escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${utilUriEscape.escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${utilUriEscape.escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n\nexports.buildQueryString = buildQueryString;\n","'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar querystringBuilder = require('@smithy/querystring-builder');\nvar node_https = require('node:https');\nvar node_stream = require('node:stream');\nvar http2 = require('node:http2');\n\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\n\nconst timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n\nconst DEFER_EVENT_LISTENER_TIME$2 = 1000;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n\nconst setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n\nconst DEFER_EVENT_LISTENER_TIME$1 = 3000;\nconst setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n\nconst MIN_WAIT_TIME = 6_000;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers ?? {};\n const expect = headers.Expect || headers.expect;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof node_stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n const isBuffer = Buffer.isBuffer(body);\n const isString = typeof body === \"string\";\n if (isBuffer || isString) {\n if (isBuffer && body.byteLength === 0) {\n httpRequest.end();\n }\n else {\n httpRequest.end(body);\n }\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n\nconst DEFAULT_REQUEST_TIMEOUT = 0;\nlet hAgent = undefined;\nlet hRequest = undefined;\nclass NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const config = this.config;\n const isSSL = request.protocol === \"https:\";\n if (!isSSL && !this.config.httpAgent) {\n this.config.httpAgent = await this.config.httpAgentProvider();\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n const timeouts = [];\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const headers = request.headers ?? {};\n const expectContinue = (headers.Expect ?? headers.expect) === \"100-continue\";\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? node_https.Agent : hAgent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n timeouts.push(timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000)));\n const queryString = querystringBuilder.buildQueryString(request.query || {});\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? node_https.request : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocolHttp.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, config.connectionTimeout));\n timeouts.push(setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console));\n timeouts.push(setSocketTimeout(req, reject, config.socketTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n }));\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgentProvider: async () => {\n const { Agent, request } = await import('node:http');\n hRequest = request;\n hAgent = Agent;\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n },\n httpsAgent: (() => {\n if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger,\n };\n }\n}\n\nclass NodeHttp2ConnectionPool {\n sessions = [];\n constructor(sessions) {\n this.sessions = sessions ?? [];\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n}\n\nclass NodeHttp2ConnectionManager {\n constructor(config) {\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n config;\n sessionCache = new Map();\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = http2.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n session.unref();\n const destroySessionCb = () => {\n session.destroy();\n this.deleteSession(url, session);\n };\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n}\n\nclass NodeHttp2Handler {\n config;\n configProvider;\n metadata = { handlerProtocol: \"h2\" };\n connectionManager = new NodeHttp2ConnectionManager({});\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false,\n });\n const rejectWithDestroy = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = querystringBuilder.buildQueryString(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [http2.constants.HTTP2_HEADER_PATH]: path,\n [http2.constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new protocolHttp.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n req.close();\n const abortError = buildAbortError(abortSignal);\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n}\n\nclass Collector extends node_stream.Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n\nconst streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n\nexports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;\nexports.NodeHttp2Handler = NodeHttp2Handler;\nexports.NodeHttpHandler = NodeHttpHandler;\nexports.streamCollector = streamCollector;\n","'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar querystringBuilder = require('@smithy/querystring-builder');\nvar utilBase64 = require('@smithy/util-base64');\n\nfunction createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n\nfunction requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n\nconst keepAliveSupport = {\n supported: undefined,\n};\nclass FetchHttpHandler {\n config;\n configProvider;\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n }\n else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === undefined) {\n keepAliveSupport.supported = Boolean(typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout: requestTimeout$1 } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout$1 ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = querystringBuilder.buildQueryString(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method: method,\n credentials,\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = () => { };\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != undefined;\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new protocolHttp.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new protocolHttp.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise((resolve, reject) => {\n const onAbort = () => {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }));\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n\nconst streamCollector = async (stream) => {\n if ((typeof Blob === \"function\" && stream instanceof Blob) || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== undefined) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = utilBase64.fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\");\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n\nexports.FetchHttpHandler = FetchHttpHandler;\nexports.keepAliveSupport = keepAliveSupport;\nexports.streamCollector = streamCollector;\n","'use strict';\n\nconst SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n\nexports.fromHex = fromHex;\nexports.toHex = toHex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst fetch_http_handler_1 = require(\"@smithy/fetch-http-handler\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_hex_encoding_1 = require(\"@smithy/util-hex-encoding\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !(0, stream_type_check_1.isReadableStream)(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, fetch_http_handler_1.streamCollector)(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return (0, util_base64_1.toBase64)(buf);\n }\n else if (encoding === \"hex\") {\n return (0, util_hex_encoding_1.toHex)(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return (0, util_utf8_1.toUtf8)(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst sdk_stream_mixin_browser_1 = require(\"./sdk-stream-mixin.browser\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n if (!(stream instanceof stream_1.Readable)) {\n try {\n return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream);\n }\n catch (e) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nasync function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nconst stream_1 = require(\"stream\");\nconst splitStream_browser_1 = require(\"./splitStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nasync function splitStream(stream) {\n if ((0, stream_type_check_1.isReadableStream)(stream) || (0, stream_type_check_1.isBlob)(stream)) {\n return (0, splitStream_browser_1.splitStream)(stream);\n }\n const stream1 = new stream_1.PassThrough();\n const stream2 = new stream_1.PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n","'use strict';\n\nvar utilBase64 = require('@smithy/util-base64');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar ChecksumStream = require('./checksum/ChecksumStream');\nvar createChecksumStream = require('./checksum/createChecksumStream');\nvar createBufferedReadable = require('./createBufferedReadable');\nvar getAwsChunkedEncodingStream = require('./getAwsChunkedEncodingStream');\nvar headStream = require('./headStream');\nvar sdkStreamMixin = require('./sdk-stream-mixin');\nvar splitStream = require('./splitStream');\nvar streamTypeCheck = require('./stream-type-check');\n\nclass Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n if (typeof source === \"string\") {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(utilBase64.fromBase64(source));\n }\n return Uint8ArrayBlobAdapter.mutate(utilUtf8.fromUtf8(source));\n }\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return utilBase64.toBase64(this);\n }\n return utilUtf8.toUtf8(this);\n }\n}\n\nexports.isBlob = streamTypeCheck.isBlob;\nexports.isReadableStream = streamTypeCheck.isReadableStream;\nexports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter;\nObject.prototype.hasOwnProperty.call(ChecksumStream, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: ChecksumStream['__proto__']\n });\n\nObject.keys(ChecksumStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = ChecksumStream[k];\n});\nObject.prototype.hasOwnProperty.call(createChecksumStream, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: createChecksumStream['__proto__']\n });\n\nObject.keys(createChecksumStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = createChecksumStream[k];\n});\nObject.prototype.hasOwnProperty.call(createBufferedReadable, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: createBufferedReadable['__proto__']\n });\n\nObject.keys(createBufferedReadable).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = createBufferedReadable[k];\n});\nObject.prototype.hasOwnProperty.call(getAwsChunkedEncodingStream, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: getAwsChunkedEncodingStream['__proto__']\n });\n\nObject.keys(getAwsChunkedEncodingStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = getAwsChunkedEncodingStream[k];\n});\nObject.prototype.hasOwnProperty.call(headStream, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: headStream['__proto__']\n });\n\nObject.keys(headStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = headStream[k];\n});\nObject.prototype.hasOwnProperty.call(sdkStreamMixin, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: sdkStreamMixin['__proto__']\n });\n\nObject.keys(sdkStreamMixin).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = sdkStreamMixin[k];\n});\nObject.prototype.hasOwnProperty.call(splitStream, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: splitStream['__proto__']\n });\n\nObject.keys(splitStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = splitStream[k];\n});\n","import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n","export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n","export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n","export const operation = (namespace, name, traits, input, output) => ({\n name,\n namespace,\n traits,\n input,\n output,\n});\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n try {\n const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n","import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n const v1Endpoint = parseUrl(endpoint.url);\n if (endpoint.headers) {\n v1Endpoint.headers = {};\n for (const [name, values] of Object.entries(endpoint.headers)) {\n v1Endpoint.headers[name.toLowerCase()] = values.join(\", \");\n }\n }\n return v1Endpoint;\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n","export * from \"./toEndpointV1\";\n","import { toEndpointV1 } from \"@smithy/core/endpoints\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n const endpoint = context.endpointV2\n ? async () => toEndpointV1(context.endpointV2)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n","import { schemaDeserializationMiddleware } from \"./schemaDeserializationMiddleware\";\nimport { schemaSerializationMiddleware } from \"./schemaSerializationMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n","export class Schema {\n name;\n namespace;\n traits;\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n","import { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/lis\");\n name;\n traits;\n valueSchema;\n symbol = ListSchema.symbol;\n}\nexport const list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n","import { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/map\");\n name;\n traits;\n keySchema;\n valueSchema;\n symbol = MapSchema.symbol;\n}\nexport const map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n","import { Schema } from \"./Schema\";\nexport class OperationSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/ope\");\n name;\n traits;\n input;\n output;\n symbol = OperationSchema.symbol;\n}\nexport const op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n","import { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/str\");\n name;\n traits;\n memberNames;\n memberList;\n symbol = StructureSchema.symbol;\n}\nexport const struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n","import { Schema } from \"./Schema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class ErrorSchema extends StructureSchema {\n static symbol = Symbol.for(\"@smithy/err\");\n ctor;\n symbol = ErrorSchema.symbol;\n}\nexport const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor: null,\n});\n","export const traitsCache = [];\nexport function translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n if (traitsCache[indicator]) {\n return traitsCache[indicator];\n }\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return (traitsCache[indicator] = traits);\n}\n","import { deref } from \"../deref\";\nimport { translateTraits } from \"./translateTraits\";\nconst anno = {\n it: Symbol.for(\"@smithy/nor-struct-it\"),\n ns: Symbol.for(\"@smithy/ns\"),\n};\nexport const simpleSchemaCacheN = [];\nexport const simpleSchemaCacheS = {};\nexport class NormalizedSchema {\n ref;\n memberName;\n static symbol = Symbol.for(\"@smithy/nor\");\n symbol = NormalizedSchema.symbol;\n name;\n schema;\n _isMemberSchema;\n traits;\n memberTraits;\n normalizedTraits;\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (isMemberSchema(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n const computedMemberTraits = this.memberTraits;\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (isStaticSchema(this.schema)) {\n this.name = `${this.schema[1]}#${this.schema[2]}`;\n this.traits = this.schema[3];\n }\n else {\n this.name = this.memberName ?? String(schema);\n this.traits = 0;\n }\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === this.symbol;\n }\n return isPrototype;\n }\n static of(ref) {\n const keyAble = typeof ref === \"function\" || (typeof ref === \"object\" && ref !== null);\n if (typeof ref === \"number\") {\n if (simpleSchemaCacheN[ref]) {\n return simpleSchemaCacheN[ref];\n }\n }\n else if (typeof ref === \"string\") {\n if (simpleSchemaCacheS[ref]) {\n return simpleSchemaCacheS[ref];\n }\n }\n else if (keyAble) {\n if (ref[anno.ns]) {\n return ref[anno.ns];\n }\n }\n const sc = deref(ref);\n if (sc instanceof NormalizedSchema) {\n return sc;\n }\n if (isMemberSchema(sc)) {\n const [ns, traits] = sc;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n const ns = new NormalizedSchema(sc);\n if (keyAble) {\n return (ref[anno.ns] = ns);\n }\n if (typeof sc === \"string\") {\n return (simpleSchemaCacheS[sc] = ns);\n }\n if (typeof sc === \"number\") {\n return (simpleSchemaCacheN[sc] = ns);\n }\n return ns;\n }\n getSchema() {\n const sc = this.schema;\n if (Array.isArray(sc) && sc[0] === 0) {\n return sc[4];\n }\n return sc;\n }\n getName(withNamespace = false) {\n const { name } = this;\n const short = !withNamespace && name && name.includes(\"#\");\n return short ? name.split(\"#\")[1] : name || undefined;\n }\n getMemberName() {\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isListSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 64 && sc < 128\n : sc[0] === 1;\n }\n isMapSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 128 && sc <= 0b1111_1111\n : sc[0] === 2;\n }\n isStructSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n const id = sc[0];\n return (id === 3 ||\n id === -3 ||\n id === 4);\n }\n isUnionSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n return sc[0] === 4;\n }\n isBlobSchema() {\n const sc = this.getSchema();\n return sc === 21 || sc === 42;\n }\n isTimestampSchema() {\n const sc = this.getSchema();\n return (typeof sc === \"number\" &&\n sc >= 4 &&\n sc <= 7);\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isDocumentSchema() {\n return this.getSchema() === 15;\n }\n isStringSchema() {\n return this.getSchema() === 0;\n }\n isBooleanSchema() {\n return this.getSchema() === 2;\n }\n isNumericSchema() {\n return this.getSchema() === 1;\n }\n isBigIntegerSchema() {\n return this.getSchema() === 17;\n }\n isBigDecimalSchema() {\n return this.getSchema() === 19;\n }\n isStreaming() {\n const { streaming } = this.getMergedTraits();\n return !!streaming || this.getSchema() === 42;\n }\n isIdempotencyToken() {\n return !!this.getMergedTraits().idempotencyToken;\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return translateTraits(this.traits);\n }\n getKeySchema() {\n const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()];\n if (!isDoc && !isMap) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n const memberSchema = isDoc\n ? 15\n : schema[4] ?? 0;\n return member([memberSchema, 0], \"key\");\n }\n getValueSchema() {\n const sc = this.getSchema();\n const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];\n const memberSchema = typeof sc === \"number\"\n ? 0b0011_1111 & sc\n : sc && typeof sc === \"object\" && (isMap || isList)\n ? sc[3 + sc[0]]\n : isDoc\n ? 15\n : void 0;\n if (memberSchema != null) {\n return member([memberSchema, 0], isMap ? \"value\" : \"member\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n getMemberSchema(memberName) {\n const struct = this.getSchema();\n if (this.isStructSchema() && struct[4].includes(memberName)) {\n const i = struct[4].indexOf(memberName);\n const memberSchema = struct[5][i];\n return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);\n }\n if (this.isDocumentSchema()) {\n return member([15, 0], memberName);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${memberName}.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n const z = struct[4].length;\n let it = struct[anno.it];\n if (it && z === it.length) {\n yield* it;\n return;\n }\n it = Array(z);\n for (let i = 0; i < z; ++i) {\n const k = struct[4][i];\n const v = member([struct[5][i], 0], k);\n yield (it[i] = [k, v]);\n }\n struct[anno.it] = it;\n }\n}\nfunction member(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n const internalCtorAccess = NormalizedSchema;\n return new internalCtorAccess(memberSchema, memberName);\n}\nconst isMemberSchema = (sc) => Array.isArray(sc) && sc.length === 2;\nexport const isStaticSchema = (sc) => Array.isArray(sc) && sc.length >= 5;\n","import { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/sim\");\n name;\n schemaRef;\n traits;\n symbol = SimpleSchema.symbol;\n}\nexport const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\nexport const simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n","export const SCHEMA = {\n BLOB: 0b0001_0101,\n STREAMING_BLOB: 0b0010_1010,\n BOOLEAN: 0b0000_0010,\n STRING: 0b0000_0000,\n NUMERIC: 0b0000_0001,\n BIG_INTEGER: 0b0001_0001,\n BIG_DECIMAL: 0b0001_0011,\n DOCUMENT: 0b0000_1111,\n TIMESTAMP_DEFAULT: 0b0000_0100,\n TIMESTAMP_DATE_TIME: 0b0000_0101,\n TIMESTAMP_HTTP_DATE: 0b0000_0110,\n TIMESTAMP_EPOCH_SECONDS: 0b0000_0111,\n LIST_MODIFIER: 0b0100_0000,\n MAP_MODIFIER: 0b1000_0000,\n};\n","export class TypeRegistry {\n namespace;\n schemas;\n exceptions;\n static registries = new Map();\n constructor(namespace, schemas = new Map(), exceptions = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n this.exceptions = exceptions;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n copyFrom(other) {\n const { schemas, exceptions } = this;\n for (const [k, v] of other.schemas) {\n if (!schemas.has(k)) {\n schemas.set(k, v);\n }\n }\n for (const [k, v] of other.exceptions) {\n if (!exceptions.has(k)) {\n exceptions.set(k, v);\n }\n }\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n for (const r of [this, TypeRegistry.for(qualifiedName.split(\"#\")[0])]) {\n r.schemas.set(qualifiedName, schema);\n }\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n registerError(es, ctor) {\n const $error = es;\n const ns = $error[1];\n for (const r of [this, TypeRegistry.for(ns)]) {\n r.schemas.set(ns + \"#\" + $error[2], $error);\n r.exceptions.set($error, ctor);\n }\n }\n getErrorCtor(es) {\n const $error = es;\n if (this.exceptions.has($error)) {\n return this.exceptions.get($error);\n }\n const registry = TypeRegistry.for($error[1]);\n return registry.exceptions.get($error);\n }\n getBaseException() {\n for (const exceptionKey of this.exceptions.keys()) {\n if (Array.isArray(exceptionKey)) {\n const [, ns, name] = exceptionKey;\n const id = ns + \"#\" + name;\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return exceptionKey;\n }\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n clear() {\n this.schemas.clear();\n this.exceptions.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n}\n","export * from \"./deref\";\nexport * from \"./middleware/getSchemaSerdePlugin\";\nexport * from \"./schemas/ListSchema\";\nexport * from \"./schemas/MapSchema\";\nexport * from \"./schemas/OperationSchema\";\nexport * from \"./schemas/operation\";\nexport * from \"./schemas/ErrorSchema\";\nexport * from \"./schemas/NormalizedSchema\";\nexport * from \"./schemas/Schema\";\nexport * from \"./schemas/SimpleSchema\";\nexport * from \"./schemas/StructureSchema\";\nexport * from \"./schemas/sentinels\";\nexport * from \"./schemas/translateTraits\";\nexport * from \"./TypeRegistry\";\n","export const copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n","export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n","import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(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}\n\nexport function __classPrivateFieldSet(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}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomUUID = void 0;\nconst tslib_1 = require(\"tslib\");\nconst crypto_1 = tslib_1.__importDefault(require(\"crypto\"));\nexports.randomUUID = crypto_1.default.randomUUID.bind(crypto_1.default);\n","'use strict';\n\nvar randomUUID = require('./randomUUID');\n\nconst decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\nconst v4 = () => {\n if (randomUUID.randomUUID) {\n return randomUUID.randomUUID();\n }\n const rnds = new Uint8Array(16);\n crypto.getRandomValues(rnds);\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n return (decimalToHex[rnds[0]] +\n decimalToHex[rnds[1]] +\n decimalToHex[rnds[2]] +\n decimalToHex[rnds[3]] +\n \"-\" +\n decimalToHex[rnds[4]] +\n decimalToHex[rnds[5]] +\n \"-\" +\n decimalToHex[rnds[6]] +\n decimalToHex[rnds[7]] +\n \"-\" +\n decimalToHex[rnds[8]] +\n decimalToHex[rnds[9]] +\n \"-\" +\n decimalToHex[rnds[10]] +\n decimalToHex[rnds[11]] +\n decimalToHex[rnds[12]] +\n decimalToHex[rnds[13]] +\n decimalToHex[rnds[14]] +\n decimalToHex[rnds[15]]);\n};\n\nexports.v4 = v4;\n","import { v4 as generateIdempotencyToken } from \"@smithy/uuid\";\nexport { generateIdempotencyToken };\n","export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n","export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n","const ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;\nconst mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;\nconst time = `(\\\\d?\\\\d):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?`;\nconst date = `(\\\\d?\\\\d)`;\nconst year = `(\\\\d{4})`;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d\\d)-(\\d\\d)[tT](\\d\\d):(\\d\\d):(\\d\\d)(\\.(\\d+))?(([-+]\\d\\d:\\d\\d)|[zZ])$/);\nconst IMF_FIXDATE = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`);\nconst RFC_850_DATE = new RegExp(`^${ddd}, ${date}-${mmm}-(\\\\d\\\\d) ${time} GMT$`);\nconst ASC_TIME = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\\\d\\\\d) ${time} ${year}$`);\nconst months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport const _parseEpochTimestamp = (value) => {\n if (value == null) {\n return void 0;\n }\n let num = NaN;\n if (typeof value === \"number\") {\n num = value;\n }\n else if (typeof value === \"string\") {\n if (!/^-?\\d*\\.?\\d+$/.test(value)) {\n throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);\n }\n num = Number.parseFloat(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n num = value.value;\n }\n if (isNaN(num) || Math.abs(num) === Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid finite numbers.\");\n }\n return new Date(Math.round(num * 1000));\n};\nexport const _parseRfc3339DateTimeWithOffset = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC3339 timestamps must be strings\");\n }\n const matches = RFC3339_WITH_OFFSET.exec(value);\n if (!matches) {\n throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);\n }\n const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;\n range(monthStr, 1, 12);\n range(dayStr, 1, 31);\n range(hours, 0, 23);\n range(minutes, 0, 59);\n range(seconds, 0, 60);\n const date = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1000) : 0));\n date.setUTCFullYear(Number(yearStr));\n if (offsetStr.toUpperCase() != \"Z\") {\n const [, sign, offsetH, offsetM] = /([+-])(\\d\\d):(\\d\\d)/.exec(offsetStr) || [void 0, \"+\", 0, 0];\n const scalar = sign === \"-\" ? 1 : -1;\n date.setTime(date.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1000 + Number(offsetM) * 60 * 1000));\n }\n return date;\n};\nexport const _parseRfc7231DateTime = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC7231 timestamps must be strings.\");\n }\n let day;\n let month;\n let year;\n let hour;\n let minute;\n let second;\n let fraction;\n let matches;\n if ((matches = IMF_FIXDATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n }\n else if ((matches = RFC_850_DATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n year = (Number(year) + 1900).toString();\n }\n else if ((matches = ASC_TIME.exec(value))) {\n [, month, day, hour, minute, second, fraction, year] = matches;\n }\n if (year && second) {\n const timestamp = Date.UTC(Number(year), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0);\n range(day, 1, 31);\n range(hour, 0, 23);\n range(minute, 0, 59);\n range(second, 0, 60);\n const date = new Date(timestamp);\n date.setUTCFullYear(Number(year));\n return date;\n }\n throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);\n};\nfunction range(v, min, max) {\n const _v = Number(v);\n if (_v < min || _v > max) {\n throw new Error(`Value ${_v} out of range [${min}, ${max}]`);\n }\n}\n","export function splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n","export const splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n","const format = /^-?\\d*(\\.\\d+)?$/;\nexport class NumericValue {\n string;\n type;\n constructor(string, type) {\n this.string = string;\n this.type = type;\n if (!format.test(string)) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n return NumericValue.prototype.isPrototypeOf(object) || (_nv.type === \"bigDecimal\" && format.test(_nv.string));\n }\n}\nexport function nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n","export * from \"./copyDocumentWithTransform\";\nexport * from \"./date-utils\";\nexport * from \"./generateIdempotencyToken\";\nexport * from \"./lazy-json\";\nexport * from \"./parse-utils\";\nexport * from \"./quote-header\";\nexport * from \"./schema-serde-lib/schema-date-utils\";\nexport * from \"./split-every\";\nexport * from \"./split-header\";\nexport * from \"./value/NumericValue\";\n","export class SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n","import { NormalizedSchema, translateTraits, TypeRegistry } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { SerdeContext } from \"./SerdeContext\";\nexport class HttpProtocol extends SerdeContext {\n options;\n compositeErrorRegistry;\n constructor(options) {\n super();\n this.options = options;\n this.compositeErrorRegistry = TypeRegistry.for(options.defaultNamespace);\n for (const etr of options.errorTypeRegistries ?? []) {\n this.compositeErrorRegistry.copyFrom(etr);\n }\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n if (endpoint.headers) {\n for (const [name, values] of Object.entries(endpoint.headers)) {\n request.headers[name] = values.join(\", \");\n }\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n if (endpoint.headers) {\n for (const [name, value] of Object.entries(endpoint.headers)) {\n request.headers[name] = value;\n }\n }\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = NormalizedSchema.of(operationSchema.input);\n const opTraits = translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import(\"@smithy/core/event-streams\");\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n","import { NormalizedSchema, translateTraits } from \"@smithy/core/schema\";\nimport { splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const payloadMemberNames = [];\n const payloadMemberSchemas = [];\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n payloadMemberNames.push(memberName);\n payloadMemberSchemas.push(memberNs);\n }\n }\n if (hasNonHttpBindingMember && input) {\n const [namespace, name] = (ns.getName(true) ?? \"#Unknown\").split(\"#\");\n const requiredMembers = ns.getSchema()[6];\n const payloadSchema = [\n 3,\n namespace,\n name,\n ns.getMergedTraits(),\n payloadMemberNames,\n payloadMemberSchemas,\n undefined,\n ];\n if (requiredMembers) {\n payloadSchema[6] = requiredMembers;\n }\n else {\n payloadSchema.pop();\n }\n serializer.write(payloadSchema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n if (dataFromBody[member] != null) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, _input);\n payload = serializer.flush();\n }\n }\n request.headers = Object.assign(request.headers, headers);\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n","import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue == null || labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n","export function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime, LazyJsonString, NumericValue, splitHeader, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return _parseRfc3339DateTimeWithOffset(data);\n case 6:\n return _parseRfc7231DateTime(data);\n case 7:\n return _parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, quoteHeader } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n","export * from \"./collect-stream-body\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./HttpBindingProtocol\";\nexport * from \"./HttpProtocol\";\nexport * from \"./RpcProtocol\";\nexport * from \"./requestBuilder\";\nexport * from \"./resolve-path\";\nexport * from \"./serde/FromStringShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeSerializer\";\nexport * from \"./serde/ToStringShapeSerializer\";\nexport * from \"./serde/determineTimestampFormat\";\nexport * from \"./SerdeContext\";\n","'use strict';\n\nconst getAllAliases = (name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nconst constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n\nexports.constructStack = constructStack;\n","'use strict';\n\nvar middlewareStack = require('@smithy/middleware-stack');\nvar protocols = require('@smithy/core/protocols');\nvar types = require('@smithy/types');\nvar schema = require('@smithy/core/schema');\nvar serde = require('@smithy/core/serde');\n\nclass Client {\n config;\n middlewareStack = middlewareStack.constructStack();\n initConfig;\n handlers;\n constructor(config) {\n this.config = config;\n const { protocol, protocolSettings } = config;\n if (protocolSettings) {\n if (typeof protocol === \"function\") {\n config.protocol = new protocol(protocolSettings);\n }\n }\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n\nconst SENSITIVE_STRING$1 = \"***SensitiveInformation***\";\nfunction schemaLogFilter(schema$1, data) {\n if (data == null) {\n return data;\n }\n const ns = schema.NormalizedSchema.of(schema$1);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING$1;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n\nclass Command {\n middlewareStack = middlewareStack.constructStack();\n schema;\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n _init = () => { };\n _ep = {};\n _middlewareFn = () => [];\n _commandName = \"\";\n _clientName = \"\";\n _additionalContext = {};\n _smithyContext = {};\n _inputFilterSensitiveLog = undefined;\n _outputFilterSensitiveLog = undefined;\n _serializer = null;\n _deserializer = null;\n _operationSchema;\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n input;\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n resolveMiddleware(stack, configuration, options) {\n const op = closure._operationSchema;\n const input = op?.[4] ?? op?.input;\n const output = op?.[5] ?? op?.output;\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n serialize = closure._serializer;\n deserialize = closure._deserializer;\n });\n }\n}\n\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\n\nconst createAggregatedClient = (commands, Client, options) => {\n for (const [command, CommandCtor] of Object.entries(commands)) {\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n const { paginators = {}, waiters = {} } = options ?? {};\n for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {\n if (Client.prototype[paginatorName] === void 0) {\n Client.prototype[paginatorName] = function (commandInput = {}, paginationConfiguration, ...rest) {\n return paginatorFn({\n ...paginationConfiguration,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n for (const [waiterName, waiterFn] of Object.entries(waiters)) {\n if (Client.prototype[waiterName] === void 0) {\n Client.prototype[waiterName] = async function (commandInput = {}, waiterConfiguration, ...rest) {\n let config = waiterConfiguration;\n if (typeof waiterConfiguration === \"number\") {\n config = {\n maxWaitTime: waiterConfiguration,\n };\n }\n return waiterFn({\n ...config,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n};\n\nclass ServiceException extends Error {\n $fault;\n $response;\n $retryable;\n $metadata;\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nconst decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nconst withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\nconst loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n\nlet warningEmitted = false;\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n\nconst knownAlgorithms = Object.values(types.AlgorithmId);\nconst getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in types.AlgorithmId) {\n const algorithmId = types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) {\n checksumAlgorithms.push({\n algorithmId: () => id,\n checksumConstructor: () => ChecksumCtor,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {};\n const id = algo.algorithmId();\n const ctor = algo.checksumConstructor();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor;\n }\n else {\n runtimeConfig.checksumAlgorithms[id] = ctor;\n }\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nconst resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n const id = checksumAlgorithm.algorithmId();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig[id] = checksumAlgorithm.checksumConstructor();\n }\n });\n return runtimeConfig;\n};\n\nconst getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n },\n };\n};\nconst resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n\nconst getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nconst getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nconst resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n};\n\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n\nconst getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n\nconst isSerializableHeaderValue = (value) => {\n return value != null;\n};\n\nclass NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nconst convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nconst take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n\nconst serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nconst serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n\nconst _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n\nexports.collectBody = protocols.collectBody;\nexports.extendedEncodeURIComponent = protocols.extendedEncodeURIComponent;\nexports.resolvedPath = protocols.resolvedPath;\nexports.Client = Client;\nexports.Command = Command;\nexports.NoOpLogger = NoOpLogger;\nexports.SENSITIVE_STRING = SENSITIVE_STRING;\nexports.ServiceException = ServiceException;\nexports._json = _json;\nexports.convertMap = convertMap;\nexports.createAggregatedClient = createAggregatedClient;\nexports.decorateServiceException = decorateServiceException;\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\nexports.getArrayIfSingleItem = getArrayIfSingleItem;\nexports.getDefaultClientConfiguration = getDefaultClientConfiguration;\nexports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration;\nexports.getValueFromTextNode = getValueFromTextNode;\nexports.isSerializableHeaderValue = isSerializableHeaderValue;\nexports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;\nexports.map = map;\nexports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;\nexports.serializeDateTime = serializeDateTime;\nexports.serializeFloat = serializeFloat;\nexports.take = take;\nexports.throwDefaultError = throwDefaultError;\nexports.withBaseException = withBaseException;\nObject.prototype.hasOwnProperty.call(serde, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: serde['__proto__']\n });\n\nObject.keys(serde).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = serde[k];\n});\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],"mappings":";;;;;;;;CAEA,IAAI;CAEJ,MAAM,oBAAoB,YAAY,QAAQ,MAAM,wBAAwB,QAAQ,MAAM,sBAAsB,EAAE;CAElH,MAAM,qBAAqB,UAAU;AACjC,MAAI,OAAO,UAAU,WACjB,QAAO;EACX,MAAM,cAAc,QAAQ,QAAQ,MAAM;AAC1C,eAAa;;AAGjB,SAAQ,mBAAmB;AAC3B,SAAQ,oBAAoB;;;;;;ACb5B,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,aAAa,KAAK;CAC1B,MAAM;CACN,MAAM,eAAe;CACrB,MAAM,cAAc,UAAU;AAC1B,MAAK,MAAM,SAAS,IAAK,MAAM,EAC3B,OAAM,IAAI,UAAU,sCAAsC;AAE9D,MAAI,CAAC,aAAa,KAAK,MAAM,CACzB,OAAM,IAAI,UAAU,yBAAyB;EAEjD,MAAM,UAAU,GAAG,mBAAmB,YAAY,OAAO,SAAS;AAClE,SAAO,IAAI,WAAW,OAAO,QAAQ,OAAO,YAAY,OAAO,WAAW;;AAE9E,SAAQ,aAAa;;;;;;ACdrB,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,WAAW,KAAK;CACxB,MAAM;CACN,MAAM;CACN,MAAM,YAAY,WAAW;EACzB,IAAI;AACJ,MAAI,OAAO,WAAW,SAClB,UAAS,GAAG,YAAY,UAAU,OAAO;MAGzC,SAAQ;AAEZ,MAAI,OAAO,UAAU,YAAY,OAAO,MAAM,eAAe,YAAY,OAAO,MAAM,eAAe,SACjG,OAAM,IAAI,MAAM,mFAAmF;AAEvG,UAAQ,GAAG,mBAAmB,iBAAiB,MAAM,QAAQ,MAAM,YAAY,MAAM,WAAW,CAAC,SAAS,SAAS;;AAEvH,SAAQ,WAAW;;;;;;CChBnB,IAAI;CACJ,IAAI;AAIJ,QAAO,UAAU,eAAe,KAAK,YAAY,YAAY,IAC5D,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EAC3C,YAAY;EACZ,OAAO,WAAW;EAClB,CAAC;AAEH,QAAO,KAAK,WAAW,CAAC,QAAQ,SAAU,GAAG;AAC5C,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,WAAW;GACjG;AACF,QAAO,UAAU,eAAe,KAAK,UAAU,YAAY,IAC1D,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EAC3C,YAAY;EACZ,OAAO,SAAS;EAChB,CAAC;AAEH,QAAO,KAAK,SAAS,CAAC,QAAQ,SAAU,GAAG;AAC1C,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,SAAS;GAC/F;;;;;;ACzBF,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,iBAAiB,KAAK;CAC9B,MAAM;CACN,MAAMA,uBAAmB,SAAS;CAClC,IAAM,iBAAN,cAA6BA,WAAS,OAAO;EACzC;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB,YAAY,EAAE,kBAAkB,UAAU,QAAQ,wBAAwB,iBAAkB;AACxF,UAAO;AACP,OAAI,OAAO,OAAO,SAAS,WACvB,MAAK,SAAS;OAGd,OAAM,IAAI,MAAM,gDAAgD,QAAQ,aAAa,QAAQ,OAAO,qBAAqB;AAE7H,QAAK,gBAAgB,iBAAiB,cAAc;AACpD,QAAK,mBAAmB;AACxB,QAAK,WAAW;AAChB,QAAK,yBAAyB;AAC9B,QAAK,OAAO,KAAK,KAAK;;EAE1B,MAAM,MAAM;AACR,OAAI,KAAK,iBAAiB;IACtB,MAAM,WAAW,KAAK;AACtB,SAAK,kBAAkB;AACvB,cAAU;;;EAGlB,OAAO,OAAO,UAAU,UAAU;AAC9B,OAAI;AACA,SAAK,SAAS,OAAO,MAAM;AAE3B,QAAI,CADgB,KAAK,KAAK,MAAM,EAClB;AACd,UAAK,kBAAkB;AACvB;;YAGD,GAAG;AACN,WAAO,SAAS,EAAE;;AAEtB,UAAO,UAAU;;EAErB,MAAM,OAAO,UAAU;AACnB,OAAI;IACA,MAAM,SAAS,MAAM,KAAK,SAAS,QAAQ;IAC3C,MAAM,WAAW,KAAK,cAAc,OAAO;AAC3C,QAAI,KAAK,qBAAqB,SAC1B,QAAO,yBAAS,IAAI,MAAM,gCAAgC,KAAK,iBAAiB,kBAAkB,SAAS,wBAC/E,KAAK,uBAAuB,IAAI,CAAC;YAG9D,GAAG;AACN,WAAO,SAAS,EAAE;;AAEtB,QAAK,KAAK,KAAK;AACf,UAAO,UAAU;;;AAGzB,SAAQ,iBAAiB;;;;;;AC9DzB,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,SAAS,QAAQ,mBAAmB,KAAK;CACjD,MAAM,oBAAoB,WAAW,OAAO,mBAAmB,eAC1D,QAAQ,aAAa,SAAS,eAAe,QAAQ,kBAAkB;AAC5E,SAAQ,mBAAmB;CAC3B,MAAM,UAAU,SAAS;AACrB,SAAO,OAAO,SAAS,eAAe,MAAM,aAAa,SAAS,KAAK,QAAQ,gBAAgB;;AAEnG,SAAQ,SAAS;;;;;;ACRjB,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,iBAAiB,KAAK;CAC9B,MAAM,oBAAoB,OAAO,mBAAmB,aAAa,iBAAiB,WAAY;CAC9F,IAAM,iBAAN,cAA6B,kBAAkB;AAE/C,SAAQ,iBAAiB;;;;;;ACLzB,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,uBAAuB,KAAK;CACpC,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM,wBAAwB,EAAE,kBAAkB,UAAU,QAAQ,wBAAwB,oBAAqB;AAC7G,MAAI,EAAE,GAAG,oBAAoB,kBAAkB,OAAO,CAClD,OAAM,IAAI,MAAM,gDAAgD,QAAQ,aAAa,QAAQ,OAAO,qBAAqB;EAE7H,MAAM,UAAU,iBAAiB,cAAc;AAC/C,MAAI,OAAO,oBAAoB,WAC3B,OAAM,IAAI,MAAM,qHAAqH;EAEzI,MAAM,YAAY,IAAI,gBAAgB;GAClC,QAAQ;GACR,MAAM,UAAU,OAAO,YAAY;AAC/B,aAAS,OAAO,MAAM;AACtB,eAAW,QAAQ,MAAM;;GAE7B,MAAM,MAAM,YAAY;IAEpB,MAAM,WAAW,QADF,MAAM,SAAS,QAAQ,CACN;AAChC,QAAI,qBAAqB,UAAU;KAC/B,MAAMC,0BAAQ,IAAI,MAAM,gCAAgC,iBAAiB,kBAAkB,SAAS,wBACxE,uBAAuB,IAAI;AACvD,gBAAW,MAAMA,QAAM;UAGvB,YAAW,WAAW;;GAGjC,CAAC;AACF,SAAO,YAAY,UAAU;EAC7B,MAAM,WAAW,UAAU;AAC3B,SAAO,eAAe,UAAU,yBAAyB,eAAe,UAAU;AAClF,SAAO;;AAEX,SAAQ,uBAAuB;;;;;;ACrC/B,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,uBAAuB;CAC/B,MAAM;CACN,MAAM;CACN,MAAM;CACN,SAAS,qBAAqB,MAAM;AAChC,MAAI,OAAO,mBAAmB,eAAe,GAAG,oBAAoB,kBAAkB,KAAK,OAAO,CAC9F,SAAQ,GAAG,+BAA+B,sBAAsB,KAAK;AAEzE,SAAO,IAAI,iBAAiB,eAAe,KAAK;;;;;;;ACTpD,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,qBAAqB,KAAK;CAClC,IAAM,qBAAN,MAAyB;EACrB;EACA,aAAa;EACb,aAAa,EAAE;EACf,YAAY,gBAAgB;AACxB,QAAK,iBAAiB;;EAE1B,KAAK,WAAW;AACZ,QAAK,WAAW,KAAK,UAAU;AAC/B,QAAK,cAAc,UAAU;;EAEjC,QAAQ;AACJ,OAAI,KAAK,WAAW,WAAW,GAAG;IAC9B,MAAM,QAAQ,KAAK,WAAW;AAC9B,SAAK,OAAO;AACZ,WAAO;;GAEX,MAAM,cAAc,KAAK,eAAe,KAAK,WAAW;GACxD,IAAI,SAAS;AACb,QAAK,IAAI,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,EAAE,GAAG;IAC7C,MAAM,QAAQ,KAAK,WAAW;AAC9B,gBAAY,IAAI,OAAO,OAAO;AAC9B,cAAU,MAAM;;AAEpB,QAAK,OAAO;AACZ,UAAO;;EAEX,QAAQ;AACJ,QAAK,aAAa,EAAE;AACpB,QAAK,aAAa;;;AAG1B,SAAQ,qBAAqB;;;;;;AClC7B,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,yBAAyB,KAAK;AACtC,SAAQ,+BAA+B;AACvC,SAAQ,QAAQ;AAChB,SAAQ,QAAQ;AAChB,SAAQ,SAAS;AACjB,SAAQ,SAAS;CACjB,MAAM;CACN,SAAS,6BAA6B,UAAU,MAAM,UAAQ;EAC1D,MAAM,SAAS,SAAS,WAAW;EACnC,IAAI,+BAA+B;EACnC,IAAI,YAAY;EAChB,MAAM,UAAU,CAAC,IAAI,IAAI,qBAAqB,oBAAoB,WAAS,IAAI,WAAWC,OAAK,CAAC,CAAC;EACjG,IAAI,OAAO;EACX,MAAM,OAAO,OAAO,eAAe;GAC/B,MAAM,EAAE,OAAO,SAAS,MAAM,OAAO,MAAM;GAC3C,MAAM,QAAQ;AACd,OAAI,MAAM;AACN,QAAI,SAAS,IAAI;KACb,MAAM,YAAY,MAAM,SAAS,KAAK;AACtC,SAAI,OAAO,UAAU,GAAG,EACpB,YAAW,QAAQ,UAAU;;AAGrC,eAAW,OAAO;UAEjB;IACD,MAAM,YAAY,OAAO,OAAO,MAAM;AACtC,QAAI,SAAS,WAAW;AACpB,SAAI,QAAQ,EACR,YAAW,QAAQ,MAAM,SAAS,KAAK,CAAC;AAE5C,YAAO;;AAEX,QAAI,SAAS,IAAI;AACb,gBAAW,QAAQ,MAAM;AACzB;;IAEJ,MAAM,YAAY,OAAO,MAAM;AAC/B,iBAAa;IACb,MAAM,aAAa,OAAO,QAAQ,MAAM;AACxC,QAAI,aAAa,QAAQ,eAAe,EACpC,YAAW,QAAQ,MAAM;SAExB;KACD,MAAM,UAAU,MAAM,SAAS,MAAM,MAAM;AAC3C,SAAI,CAAC,gCAAgC,YAAY,OAAO,GAAG;AACvD,qCAA+B;AAC/B,gBAAQ,KAAK,2CAA2C,UAAU,yBAAyB,KAAK,4BAA4B;;AAEhI,SAAI,WAAW,KACX,YAAW,QAAQ,MAAM,SAAS,KAAK,CAAC;SAGxC,OAAM,KAAK,WAAW;;;;AAKtC,SAAO,IAAI,eAAe,EACtB,MACH,CAAC;;AAEN,SAAQ,yBAAyB;CACjC,SAAS,MAAM,SAAS,MAAM,OAAO;AACjC,UAAQ,MAAR;GACI,KAAK;AACD,YAAQ,MAAM;AACd,WAAO,OAAO,QAAQ,GAAG;GAC7B,KAAK;GACL,KAAK;AACD,YAAQ,MAAM,KAAK,MAAM;AACzB,WAAO,OAAO,QAAQ,MAAM;;;CAGxC,SAAS,MAAM,SAAS,MAAM;AAC1B,UAAQ,MAAR;GACI,KAAK;IACD,MAAM,IAAI,QAAQ;AAClB,YAAQ,KAAK;AACb,WAAO;GACX,KAAK;GACL,KAAK,EACD,QAAO,QAAQ,MAAM,OAAO;;AAEpC,QAAM,IAAI,MAAM,uCAAuC,KAAK,mBAAmB;;CAEnF,SAAS,OAAO,OAAO;AACnB,SAAO,OAAO,cAAc,OAAO,UAAU;;CAEjD,SAAS,OAAO,OAAO,cAAc,MAAM;AACvC,MAAI,eAAe,OAAO,WAAW,eAAe,iBAAiB,OACjE,QAAO;AAEX,MAAI,iBAAiB,WACjB,QAAO;AAEX,MAAI,OAAO,UAAU,SACjB,QAAO;AAEX,SAAO;;;;;;;ACpGX,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,yBAAyB;CACjC,MAAMC,4BAAwB,cAAc;CAC5C,MAAM;CACN,MAAM;CACN,MAAM;CACN,SAAS,uBAAuB,UAAU,MAAM,UAAQ;AACpD,OAAK,GAAG,oBAAoB,kBAAkB,SAAS,CACnD,SAAQ,GAAG,+BAA+B,8BAA8B,UAAU,MAAMC,SAAO;EAEnG,MAAM,aAAa,IAAID,gBAAc,SAAS,EAAE,OAAO,IAAK,CAAC;EAC7D,IAAI,+BAA+B;EACnC,IAAI,YAAY;EAChB,MAAM,UAAU;GACZ;GACA,IAAI,qBAAqB,oBAAoB,WAAS,IAAI,WAAWE,OAAK,CAAC;GAC3E,IAAI,qBAAqB,oBAAoB,WAAS,OAAO,KAAK,IAAI,WAAWA,OAAK,CAAC,CAAC;GAC3F;EACD,IAAI,OAAO;AACX,WAAS,GAAG,SAAS,UAAU;GAC3B,MAAM,aAAa,GAAG,+BAA+B,QAAQ,OAAO,KAAK;AACzE,OAAI,SAAS,WAAW;AACpB,QAAI,QAAQ,EACR,YAAW,MAAM,GAAG,+BAA+B,OAAO,SAAS,KAAK,CAAC;AAE7E,WAAO;;AAEX,OAAI,SAAS,IAAI;AACb,eAAW,KAAK,MAAM;AACtB;;GAEJ,MAAM,aAAa,GAAG,+BAA+B,QAAQ,MAAM;AACnE,gBAAa;GACb,MAAM,cAAc,GAAG,+BAA+B,QAAQ,QAAQ,MAAM;AAC5E,OAAI,aAAa,QAAQ,eAAe,EACpC,YAAW,KAAK,MAAM;QAErB;IACD,MAAM,WAAW,GAAG,+BAA+B,OAAO,SAAS,MAAM,MAAM;AAC/E,QAAI,CAAC,gCAAgC,YAAY,OAAO,GAAG;AACvD,oCAA+B;AAC/B,eAAQ,KAAK,2CAA2C,UAAU,yBAAyB,KAAK,4BAA4B;;AAEhI,QAAI,WAAW,KACX,YAAW,MAAM,GAAG,+BAA+B,OAAO,SAAS,KAAK,CAAC;;IAGnF;AACF,WAAS,GAAG,aAAa;AACrB,OAAI,SAAS,IAAI;IACb,MAAM,aAAa,GAAG,+BAA+B,OAAO,SAAS,KAAK;AAC1E,SAAK,GAAG,+BAA+B,QAAQ,UAAU,GAAG,EACxD,YAAW,KAAK,UAAU;;AAGlC,cAAW,KAAK,KAAK;IACvB;AACF,SAAO;;;;;;;ACzDX,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,8BAA8B,KAAK;CAC3C,MAAM,+BAA+B,gBAAgB,YAAY;EAC7D,MAAM,EAAE,eAAe,mBAAmB,qBAAqB,sBAAsB,iBAAiB;EACtG,MAAM,mBAAmB,kBAAkB,UACvC,sBAAsB,UACtB,wBAAwB,UACxB,yBAAyB,UACzB,iBAAiB;EACrB,MAAM,SAAS,mBAAmB,aAAa,qBAAqB,eAAe,GAAG;EACtF,MAAM,SAAS,eAAe,WAAW;AACzC,SAAO,IAAI,eAAe,EACtB,MAAM,KAAK,YAAY;GACnB,MAAM,EAAE,OAAO,SAAS,MAAM,OAAO,MAAM;AAC3C,OAAI,MAAM;AACN,eAAW,QAAQ,QAAQ;AAC3B,QAAI,kBAAkB;KAClB,MAAM,WAAW,cAAc,MAAM,OAAO;AAC5C,gBAAW,QAAQ,GAAG,qBAAqB,GAAG,SAAS,MAAM;AAC7D,gBAAW,QAAQ,OAAO;;AAE9B,eAAW,OAAO;SAGlB,YAAW,QAAQ,IAAI,kBAAkB,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,MAAM,MAAM;KAGhG,CAAC;;AAEN,SAAQ,8BAA8B;;;;;;AC7BtC,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,8BAA8B;CACtC,MAAM,0BAAwB,cAAc;CAC5C,MAAM;CACN,MAAM;CACN,SAAS,4BAA4B,QAAQ,SAAS;EAClD,MAAM,WAAW;EACjB,MAAM,iBAAiB;AACvB,OAAK,GAAG,oBAAoB,kBAAkB,eAAe,CACzD,SAAQ,GAAG,sCAAsC,6BAA6B,gBAAgB,QAAQ;EAE1G,MAAM,EAAE,eAAe,mBAAmB,qBAAqB,sBAAsB,iBAAiB;EACtG,MAAM,mBAAmB,kBAAkB,UACvC,wBAAwB,UACxB,yBAAyB,UACzB,iBAAiB;EACrB,MAAM,SAAS,mBAAmB,aAAa,qBAAqB,SAAS,GAAG;EAChF,MAAM,2BAA2B,IAAI,cAAc,SAAS,EACxD,YAAY,IACf,CAAC;AACF,WAAS,GAAG,SAAS,SAAS;GAC1B,MAAM,SAAS,kBAAkB,KAAK,IAAI;AAC1C,OAAI,WAAW,EACX;AAEJ,4BAAyB,KAAK,GAAG,OAAO,SAAS,GAAG,CAAC,MAAM;AAC3D,4BAAyB,KAAK,KAAK;AACnC,4BAAyB,KAAK,OAAO;IACvC;AACF,WAAS,GAAG,OAAO,YAAY;AAC3B,4BAAyB,KAAK,QAAQ;AACtC,OAAI,kBAAkB;IAClB,MAAM,WAAW,cAAc,MAAM,OAAO;AAC5C,6BAAyB,KAAK,GAAG,qBAAqB,GAAG,SAAS,MAAM;AACxE,6BAAyB,KAAK,OAAO;;AAEzC,4BAAyB,KAAK,KAAK;IACrC;AACF,SAAO;;;;;;;ACtCX,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,aAAa;CACrB,eAAe,WAAW,QAAQ,OAAO;EACrC,IAAI,oBAAoB;EACxB,MAAM,SAAS,EAAE;EACjB,MAAM,SAAS,OAAO,WAAW;EACjC,IAAI,SAAS;AACb,SAAO,CAAC,QAAQ;GACZ,MAAM,EAAE,MAAM,UAAU,MAAM,OAAO,MAAM;AAC3C,OAAI,OAAO;AACP,WAAO,KAAK,MAAM;AAClB,yBAAqB,OAAO,cAAc;;AAE9C,OAAI,qBAAqB,MACrB;AAEJ,YAAS;;AAEb,SAAO,aAAa;EACpB,MAAM,YAAY,IAAI,WAAW,KAAK,IAAI,OAAO,kBAAkB,CAAC;EACpE,IAAI,SAAS;AACb,OAAK,MAAM,SAAS,QAAQ;AACxB,OAAI,MAAM,aAAa,UAAU,aAAa,QAAQ;AAClD,cAAU,IAAI,MAAM,SAAS,GAAG,UAAU,aAAa,OAAO,EAAE,OAAO;AACvE;SAGA,WAAU,IAAI,OAAO,OAAO;AAEhC,aAAU,MAAM;;AAEpB,SAAO;;;;;;;AC/BX,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,aAAa,KAAK;CAC1B,MAAMC,uBAAmB,SAAS;CAClC,MAAM;CACN,MAAM;CACN,MAAM,cAAc,QAAQ,UAAU;AAClC,OAAK,GAAG,oBAAoB,kBAAkB,OAAO,CACjD,SAAQ,GAAG,qBAAqB,YAAY,QAAQ,MAAM;AAE9D,SAAO,IAAI,SAAS,SAAS,WAAW;GACpC,MAAM,YAAY,IAAI,WAAW;AACjC,aAAU,QAAQ;AAClB,UAAO,KAAK,UAAU;AACtB,UAAO,GAAG,UAAU,QAAQ;AACxB,cAAU,KAAK;AACf,WAAO,IAAI;KACb;AACF,aAAU,GAAG,SAAS,OAAO;AAC7B,aAAU,GAAG,UAAU,WAAY;AAE/B,YADc,IAAI,WAAW,OAAO,OAAO,KAAK,QAAQ,CAAC,CAC3C;KAChB;IACJ;;AAEN,SAAQ,aAAa;CACrB,IAAM,YAAN,cAAwBA,WAAS,SAAS;EACtC,UAAU,EAAE;EACZ,QAAQ;EACR,gBAAgB;EAChB,OAAO,OAAO,UAAU,UAAU;AAC9B,QAAK,QAAQ,KAAK,MAAM;AACxB,QAAK,iBAAiB,MAAM,cAAc;AAC1C,OAAI,KAAK,iBAAiB,KAAK,OAAO;IAClC,MAAM,SAAS,KAAK,gBAAgB,KAAK;IACzC,MAAM,aAAa,KAAK,QAAQ,KAAK,QAAQ,SAAS;AACtD,SAAK,QAAQ,KAAK,QAAQ,SAAS,KAAK,WAAW,SAAS,GAAG,WAAW,aAAa,OAAO;AAC9F,SAAK,KAAK,SAAS;;AAEvB,aAAU;;;;;;;;CCrClB,MAAM,aAAa,QAAQ,mBAAmB,IAAI,CAAC,QAAQ,YAAY,UAAU;CACjF,MAAM,aAAa,MAAM,IAAI,EAAE,WAAW,EAAE,CAAC,SAAS,GAAG,CAAC,aAAa;CAEvE,MAAM,iBAAiB,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,IAAI;AAEtE,SAAQ,YAAY;AACpB,SAAQ,gBAAgB;;;;;;CCNxB,IAAI;CAEJ,SAAS,iBAAiB,OAAO;EAC7B,MAAM,QAAQ,EAAE;AAChB,OAAK,IAAI,OAAO,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE;GACvC,MAAM,QAAQ,MAAM;AACpB,SAAM,cAAc,UAAU,IAAI;AAClC,OAAI,MAAM,QAAQ,MAAM,CACpB,MAAK,IAAI,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,IAC3C,OAAM,KAAK,GAAG,IAAI,GAAG,cAAc,UAAU,MAAM,GAAG,GAAG;QAG5D;IACD,IAAI,UAAU;AACd,QAAI,SAAS,OAAO,UAAU,SAC1B,YAAW,IAAI,cAAc,UAAU,MAAM;AAEjD,UAAM,KAAK,QAAQ;;;AAG3B,SAAO,MAAM,KAAK,IAAI;;AAG1B,SAAQ,mBAAmB;;;;;;CCvB3B,IAAI;CACJ,IAAI;CACJ,IAAI,uBAAqB,aAAa;CACtC,IAAI,wBAAsB,cAAc;CACxC,IAAI,kBAAgB,aAAa;CAEjC,SAAS,gBAAgB,aAAa;EAClC,MAAM,SAAS,eAAe,OAAO,gBAAgB,YAAY,YAAY,cACvE,YAAY,SACZ;AACN,MAAI,QAAQ;AACR,OAAI,kBAAkB,OAAO;IACzB,MAAMC,+BAAa,IAAI,MAAM,kBAAkB;AAC/C,iBAAW,OAAO;AAClB,iBAAW,QAAQ;AACnB,WAAOA;;GAEX,MAAMA,eAAa,IAAI,MAAM,OAAO,OAAO,CAAC;AAC5C,gBAAW,OAAO;AAClB,UAAOA;;EAEX,MAAM,6BAAa,IAAI,MAAM,kBAAkB;AAC/C,aAAW,OAAO;AAClB,SAAO;;CAGX,MAAM,6BAA6B;EAAC;EAAc;EAAS;EAAY;CAEvE,MAAM,yBAAyB,YAAY;EACvC,MAAM,qBAAqB,EAAE;AAC7B,OAAK,MAAM,QAAQ,OAAO,KAAK,QAAQ,EAAE;GACrC,MAAM,eAAe,QAAQ;AAC7B,sBAAmB,QAAQ,MAAM,QAAQ,aAAa,GAAG,aAAa,KAAK,IAAI,GAAG;;AAEtF,SAAO;;CAGX,MAAM,SAAS;EACX,aAAa,IAAI,OAAO,WAAW,IAAI,GAAG;EAC1C,eAAe,cAAc,aAAa,UAAU;EACvD;CAED,MAAM,8BAA8B;CACpC,MAAM,wBAAwB,SAAS,QAAQ,cAAc,MAAM;AAC/D,MAAI,CAAC,YACD,QAAO;EAEX,MAAM,mBAAmB,WAAW;GAChC,MAAM,YAAY,OAAO,iBAAiB;AACtC,YAAQ,SAAS;AACjB,WAAO,OAAO,uBAAO,IAAI,MAAM,kIAAkI,YAAY,MAAM,EAAE,EACjL,MAAM,gBACT,CAAC,CAAC;MACJ,cAAc,OAAO;GACxB,MAAM,gBAAgB,WAAW;AAC7B,QAAI,QAAQ,WACR,QAAO,GAAG,iBAAiB;AACvB,YAAO,aAAa,UAAU;MAChC;QAGF,QAAO,aAAa,UAAU;;AAGtC,OAAI,QAAQ,OACR,cAAa,QAAQ,OAAO;OAG5B,SAAQ,GAAG,UAAU,aAAa;;AAG1C,MAAI,cAAc,KAAM;AACpB,mBAAgB,EAAE;AAClB,UAAO;;AAEX,SAAO,OAAO,WAAW,gBAAgB,KAAK,MAAM,4BAA4B,EAAE,4BAA4B;;CAGlH,MAAM,qBAAqB,KAAK,QAAQ,cAAc,GAAG,uBAAuB,aAAW;AACvF,MAAI,YACA,QAAO,OAAO,iBAAiB;GAC3B,IAAI,MAAM,gCAAgC,wBAAwB,UAAU,OAAO,0CAA0C,YAAY;AACzI,OAAI,uBAAuB;IACvB,MAAMC,UAAQ,OAAO,OAAO,IAAI,MAAM,IAAI,EAAE;KACxC,MAAM;KACN,MAAM;KACT,CAAC;AACF,QAAI,QAAQA,QAAM;AAClB,WAAOA,QAAM;UAEZ;AACD,WAAO;AACP,cAAQ,OAAO,IAAI;;KAExB,YAAY;AAEnB,SAAO;;CAGX,MAAM,8BAA8B;CACpC,MAAM,sBAAsB,SAAS,EAAE,WAAW,kBAAkB,cAAc,gCAAgC;AAC9G,MAAI,cAAc,KACd,QAAO;EAEX,MAAM,yBAAyB;AAC3B,OAAI,QAAQ,OACR,SAAQ,OAAO,aAAa,WAAW,kBAAkB,EAAE;OAG3D,SAAQ,GAAG,WAAW,WAAW;AAC7B,WAAO,aAAa,WAAW,kBAAkB,EAAE;KACrD;;AAGV,MAAI,gBAAgB,GAAG;AACnB,qBAAkB;AAClB,UAAO;;AAEX,SAAO,OAAO,WAAW,kBAAkB,YAAY;;CAG3D,MAAM,4BAA4B;CAClC,MAAM,oBAAoB,SAAS,QAAQ,cAAc,MAAM;EAC3D,MAAM,mBAAmB,WAAW;GAChC,MAAM,UAAU,cAAc;GAC9B,MAAM,kBAAkB;AACpB,YAAQ,SAAS;AACjB,WAAO,OAAO,uBAAO,IAAI,MAAM,kEAAkE,YAAY,0DAA0D,EAAE,EAAE,MAAM,gBAAgB,CAAC,CAAC;;AAEvM,OAAI,QAAQ,QAAQ;AAChB,YAAQ,OAAO,WAAW,SAAS,UAAU;AAC7C,YAAQ,GAAG,eAAe,QAAQ,QAAQ,eAAe,WAAW,UAAU,CAAC;SAG/E,SAAQ,WAAW,SAAS,UAAU;;AAG9C,MAAI,IAAI,eAAe,cAAc,KAAM;AACvC,mBAAgB,EAAE;AAClB,UAAO;;AAEX,SAAO,OAAO,WAAW,gBAAgB,KAAK,MAAM,gBAAgB,IAAI,IAAI,0BAA0B,EAAE,0BAA0B;;CAGtI,MAAM,gBAAgB;CACtB,eAAe,iBAAiB,aAAa,SAAS,uBAAuB,eAAe,gBAAgB,OAAO;EAC/G,MAAM,UAAU,QAAQ,WAAW,EAAE;EACrC,MAAM,SAAS,QAAQ,UAAU,QAAQ;EACzC,IAAI,YAAY;EAChB,IAAI,WAAW;AACf,MAAI,CAAC,iBAAiB,WAAW,eAC7B,YAAW,MAAM,QAAQ,KAAK,CAC1B,IAAI,SAAS,YAAY;AACrB,eAAY,OAAO,OAAO,iBAAiB,QAAQ,KAAK,EAAE,KAAK,IAAI,eAAe,qBAAqB,CAAC,CAAC;IAC3G,EACF,IAAI,SAAS,YAAY;AACrB,eAAY,GAAG,kBAAkB;AAC7B,WAAO,aAAa,UAAU;AAC9B,YAAQ,KAAK;KACf;AACF,eAAY,GAAG,kBAAkB;AAC7B,WAAO,aAAa,UAAU;AAC9B,YAAQ,MAAM;KAChB;AACF,eAAY,GAAG,eAAe;AAC1B,WAAO,aAAa,UAAU;AAC9B,YAAQ,MAAM;KAChB;IACJ,CACL,CAAC;AAEN,MAAI,SACA,WAAU,aAAa,QAAQ,KAAK;;CAG5C,SAAS,UAAU,aAAa,MAAM;AAClC,MAAI,gBAAgB,YAAY,UAAU;AACtC,QAAK,KAAK,YAAY;AACtB;;AAEJ,MAAI,MAAM;GACN,MAAM,WAAW,OAAO,SAAS,KAAK;AAEtC,OAAI,YADa,OAAO,SAAS,UACP;AACtB,QAAI,YAAY,KAAK,eAAe,EAChC,aAAY,KAAK;QAGjB,aAAY,IAAI,KAAK;AAEzB;;GAEJ,MAAM,QAAQ;AACd,OAAI,OAAO,UAAU,YACjB,MAAM,UACN,OAAO,MAAM,eAAe,YAC5B,OAAO,MAAM,eAAe,UAAU;AACtC,gBAAY,IAAI,OAAO,KAAK,MAAM,QAAQ,MAAM,YAAY,MAAM,WAAW,CAAC;AAC9E;;AAEJ,eAAY,IAAI,OAAO,KAAK,KAAK,CAAC;AAClC;;AAEJ,cAAY,KAAK;;CAGrB,MAAM,0BAA0B;CAChC,IAAI,SAAS;CACb,IAAI,WAAW;CACf,IAAM,kBAAN,MAAM,gBAAgB;EAClB;EACA;EACA,yBAAyB;EACzB,gBAAgB;EAChB,WAAW,EAAE,iBAAiB,YAAY;EAC1C,OAAO,OAAO,mBAAmB;AAC7B,OAAI,OAAO,mBAAmB,WAAW,WACrC,QAAO;AAEX,UAAO,IAAI,gBAAgB,kBAAkB;;EAEjD,OAAO,iBAAiB,OAAO,wBAAwB,WAAS,SAAS;GACrE,MAAM,EAAE,SAAS,UAAU,eAAe;AAC1C,OAAI,OAAO,eAAe,YAAY,eAAe,SACjD,QAAO;AAGX,OAAI,KAAK,KAAK,GADG,OACW,uBACxB,QAAO;AAEX,OAAI,WAAW,SACX,MAAK,MAAM,UAAU,SAAS;IAC1B,MAAM,eAAe,QAAQ,SAAS,UAAU;IAChD,MAAM,mBAAmB,SAAS,SAAS,UAAU;AACrD,QAAI,gBAAgB,cAAc,oBAAoB,IAAI,YAAY;AAClE,eAAQ,OAAO,6DAA6D,aAAa,OAAO,iBAAiB;;qFAEhD;AACjE,YAAO,KAAK,KAAK;;;AAI7B,UAAO;;EAEX,YAAY,SAAS;AACjB,QAAK,iBAAiB,IAAI,SAAS,SAAS,WAAW;AACnD,QAAI,OAAO,YAAY,WACnB,UAAS,CACJ,MAAM,aAAa;AACpB,aAAQ,KAAK,qBAAqB,SAAS,CAAC;MAC9C,CACG,MAAM,OAAO;QAGlB,SAAQ,KAAK,qBAAqB,QAAQ,CAAC;KAEjD;;EAEN,UAAU;AACN,QAAK,QAAQ,WAAW,SAAS;AACjC,QAAK,QAAQ,YAAY,SAAS;;EAEtC,MAAM,OAAO,SAAS,EAAE,aAAa,mBAAmB,EAAE,EAAE;AACxD,OAAI,CAAC,KAAK,OACN,MAAK,SAAS,MAAM,KAAK;GAE7B,MAAM,SAAS,KAAK;GACpB,MAAM,QAAQ,QAAQ,aAAa;AACnC,OAAI,CAAC,SAAS,CAAC,KAAK,OAAO,UACvB,MAAK,OAAO,YAAY,MAAM,KAAK,OAAO,mBAAmB;AAEjE,UAAO,IAAI,SAAS,UAAU,YAAY;IACtC,IAAI,0BAA0B;IAC9B,MAAM,WAAW,EAAE;IACnB,MAAM,UAAU,OAAO,QAAQ;AAC3B,WAAM;AACN,cAAS,QAAQ,OAAO,aAAa;AACrC,cAAS,IAAI;;IAEjB,MAAM,SAAS,OAAO,QAAQ;AAC1B,WAAM;AACN,cAAS,QAAQ,OAAO,aAAa;AACrC,aAAQ,IAAI;;AAEhB,QAAI,aAAa,SAAS;AAEtB,YADmB,gBAAgB,YAAY,CAC7B;AAClB;;IAEJ,MAAM,UAAU,QAAQ,WAAW,EAAE;IACrC,MAAM,kBAAkB,QAAQ,UAAU,QAAQ,YAAY;IAC9D,IAAI,QAAQ,QAAQ,OAAO,aAAa,OAAO;AAC/C,QAAI,kBAAkB,CAAC,KAAK,cACxB,SAAQ,KAAK,QAAQ,WAAW,QAAQ,QAAQ;KAC5C,WAAW;KACX,YAAY;KACf,CAAC;AAEN,aAAS,KAAK,OAAO,iBAAiB;AAClC,UAAK,yBAAyB,gBAAgB,iBAAiB,OAAO,KAAK,wBAAwB,OAAO,OAAO;OAClH,OAAO,oCAAoC,OAAO,kBAAkB,QAAS,OAAO,qBAAqB,KAAM,CAAC;IACnH,MAAM,cAAc,mBAAmB,iBAAiB,QAAQ,SAAS,EAAE,CAAC;IAC5E,IAAI,OAAO;AACX,QAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,KAGhD,QAAO,GAFU,QAAQ,YAAY,GAElB,GADF,QAAQ,YAAY;IAGzC,IAAI,OAAO,QAAQ;AACnB,QAAI,YACA,SAAQ,IAAI;AAEhB,QAAI,QAAQ,SACR,SAAQ,IAAI,QAAQ;IAExB,IAAI,WAAW,QAAQ,YAAY;AACnC,QAAI,SAAS,OAAO,OAAO,SAAS,SAAS,IAAI,CAC7C,YAAW,QAAQ,SAAS,MAAM,GAAG,GAAG;QAGxC,YAAW,QAAQ;IAEvB,MAAM,mBAAmB;KACrB,SAAS,QAAQ;KACjB,MAAM;KACN,QAAQ,QAAQ;KAChB;KACA,MAAM,QAAQ;KACd;KACA;KACH;IAED,MAAM,OADc,QAAQ,WAAW,UAAU,UACzB,mBAAmB,QAAQ;AAO/C,aAAQ,EAAE,UANW,IAAI,aAAa,aAAa;MAC/C,YAAY,IAAI,cAAc;MAC9B,QAAQ,IAAI;MACZ,SAAS,sBAAsB,IAAI,QAAQ;MAC3C,MAAM;MACT,CAAC,EACgC,CAAC;MACrC;AACF,QAAI,GAAG,UAAU,QAAQ;AACrB,SAAI,2BAA2B,SAAS,IAAI,KAAK,CAC7C,QAAO,OAAO,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC,CAAC;SAGpD,QAAO,IAAI;MAEjB;AACF,QAAI,aAAa;KACb,MAAM,gBAAgB;AAClB,UAAI,SAAS;AAEb,aADmB,gBAAgB,YAAY,CAC7B;;AAEtB,SAAI,OAAO,YAAY,qBAAqB,YAAY;MACpD,MAAM,SAAS;AACf,aAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,MAAM,CAAC;AACzD,UAAI,KAAK,eAAe,OAAO,oBAAoB,SAAS,QAAQ,CAAC;WAGrE,aAAY,UAAU;;IAG9B,MAAM,0BAA0B,kBAAkB,OAAO;AACzD,aAAS,KAAK,qBAAqB,KAAK,QAAQ,OAAO,kBAAkB,CAAC;AAC1E,aAAS,KAAK,kBAAkB,KAAK,QAAQ,yBAAyB,OAAO,uBAAuB,OAAO,UAAU,QAAQ,CAAC;AAC9H,aAAS,KAAK,iBAAiB,KAAK,QAAQ,OAAO,cAAc,CAAC;IAClE,MAAM,YAAY,iBAAiB;AACnC,QAAI,OAAO,cAAc,YAAY,eAAe,UAChD,UAAS,KAAK,mBAAmB,KAAK;KAClC,WAAW,UAAU;KACrB,gBAAgB,UAAU;KAC7B,CAAC,CAAC;AAEP,8BAA0B,iBAAiB,KAAK,SAAS,yBAAyB,KAAK,cAAc,CAAC,OAAO,MAAM;AAC/G,cAAS,QAAQ,OAAO,aAAa;AACrC,YAAO,QAAQ,EAAE;MACnB;KACJ;;EAEN,uBAAuB,KAAK,OAAO;AAC/B,QAAK,SAAS;AACd,QAAK,iBAAiB,KAAK,eAAe,MAAM,WAAW;AACvD,WAAO;KACH,GAAG;MACF,MAAM;KACV;KACH;;EAEN,qBAAqB;AACjB,UAAO,KAAK,UAAU,EAAE;;EAE5B,qBAAqB,SAAS;GAC1B,MAAM,EAAE,gBAAgB,mBAAmB,eAAe,iCAAiC,WAAW,YAAY,uBAAuB,qBAAY,WAAW,EAAE;GAClK,MAAM,YAAY;GAClB,MAAM,aAAa;AACnB,UAAO;IACH;IACA;IACA;IACA;IACA;IACA,mBAAmB,YAAY;KAC3B,MAAM,EAAE,OAAO,YAAY,MAAM,OAAO;AACxC,gBAAW;AACX,cAAS;AACT,SAAI,qBAAqB,UAAU,OAAO,WAAW,YAAY,YAAY;AACzE,WAAK,gBAAgB;AACrB,aAAO;;AAEX,YAAO,IAAI,OAAO;MAAE;MAAW;MAAY,GAAG;MAAW,CAAC;;IAE9D,mBAAmB;AACf,SAAI,sBAAsB,WAAW,SAAS,OAAO,YAAY,YAAY,YAAY;AACrF,WAAK,gBAAgB;AACrB,aAAO;;AAEX,YAAO,IAAI,WAAW,MAAM;MAAE;MAAW;MAAY,GAAG;MAAY,CAAC;QACrE;IACJ;IACH;;;CAIT,IAAM,0BAAN,MAA8B;EAC1B,WAAW,EAAE;EACb,YAAY,UAAU;AAClB,QAAK,WAAW,YAAY,EAAE;;EAElC,OAAO;AACH,OAAI,KAAK,SAAS,SAAS,EACvB,QAAO,KAAK,SAAS,OAAO;;EAGpC,UAAU,SAAS;AACf,QAAK,SAAS,KAAK,QAAQ;;EAE/B,SAAS,SAAS;AACd,UAAO,KAAK,SAAS,SAAS,QAAQ;;EAE1C,OAAO,SAAS;AACZ,QAAK,WAAW,KAAK,SAAS,QAAQ,MAAM,MAAM,QAAQ;;EAE9D,CAAC,OAAO,YAAY;AAChB,UAAO,KAAK,SAAS,OAAO,WAAW;;EAE3C,QAAQ,YAAY;AAChB,QAAK,MAAM,WAAW,KAAK,SACvB,KAAI,YAAY,YACZ;QAAI,CAAC,QAAQ,UACT,SAAQ,SAAS;;;;CAOrC,IAAM,6BAAN,MAAiC;EAC7B,YAAY,QAAQ;AAChB,QAAK,SAAS;AACd,OAAI,KAAK,OAAO,kBAAkB,KAAK,OAAO,kBAAkB,EAC5D,OAAM,IAAI,WAAW,4CAA4C;;EAGzE;EACA,+BAAe,IAAI,KAAK;EACxB,MAAM,gBAAgB,yBAAyB;GAC3C,MAAM,MAAM,KAAK,aAAa,eAAe;GAC7C,MAAM,eAAe,KAAK,aAAa,IAAI,IAAI;AAC/C,OAAI,cAAc;IACd,MAAM,kBAAkB,aAAa,MAAM;AAC3C,QAAI,mBAAmB,CAAC,KAAK,OAAO,mBAChC,QAAO;;GAGf,MAAM,UAAU,MAAM,QAAQ,IAAI;AAClC,OAAI,KAAK,OAAO,eACZ,SAAQ,SAAS,EAAE,sBAAsB,KAAK,OAAO,gBAAgB,GAAG,QAAQ;AAC5E,QAAI,IACA,OAAM,IAAI,MAAM,yCACZ,KAAK,OAAO,iBACZ,mCACA,eAAe,YAAY,UAAU,CAAC;KAEhD;AAEN,WAAQ,OAAO;GACf,MAAM,yBAAyB;AAC3B,YAAQ,SAAS;AACjB,SAAK,cAAc,KAAK,QAAQ;;AAEpC,WAAQ,GAAG,UAAU,iBAAiB;AACtC,WAAQ,GAAG,SAAS,iBAAiB;AACrC,WAAQ,GAAG,cAAc,iBAAiB;AAC1C,WAAQ,GAAG,eAAe,KAAK,cAAc,KAAK,QAAQ,CAAC;AAC3D,OAAI,wBAAwB,eACxB,SAAQ,WAAW,wBAAwB,gBAAgB,iBAAiB;GAEhF,MAAM,iBAAiB,KAAK,aAAa,IAAI,IAAI,IAAI,IAAI,yBAAyB;AAClF,kBAAe,UAAU,QAAQ;AACjC,QAAK,aAAa,IAAI,KAAK,eAAe;AAC1C,UAAO;;EAEX,cAAc,WAAW,SAAS;GAC9B,MAAM,yBAAyB,KAAK,aAAa,IAAI,UAAU;AAC/D,OAAI,CAAC,uBACD;AAEJ,OAAI,CAAC,uBAAuB,SAAS,QAAQ,CACzC;AAEJ,0BAAuB,OAAO,QAAQ;AACtC,QAAK,aAAa,IAAI,WAAW,uBAAuB;;EAE5D,QAAQ,gBAAgB,SAAS;GAC7B,MAAM,WAAW,KAAK,aAAa,eAAe;AAClD,QAAK,aAAa,IAAI,SAAS,EAAE,UAAU,QAAQ;;EAEvD,UAAU;AACN,QAAK,MAAM,CAAC,KAAK,mBAAmB,KAAK,cAAc;AACnD,SAAK,MAAM,WAAW,gBAAgB;AAClC,SAAI,CAAC,QAAQ,UACT,SAAQ,SAAS;AAErB,oBAAe,OAAO,QAAQ;;AAElC,SAAK,aAAa,OAAO,IAAI;;;EAGrC,wBAAwB,sBAAsB;AAC1C,OAAI,wBAAwB,wBAAwB,EAChD,OAAM,IAAI,WAAW,kDAAkD;AAE3E,QAAK,OAAO,iBAAiB;;EAEjC,4BAA4B,0BAA0B;AAClD,QAAK,OAAO,qBAAqB;;EAErC,aAAa,SAAS;AAClB,UAAO,QAAQ,YAAY,UAAU;;;CAI7C,IAAM,mBAAN,MAAM,iBAAiB;EACnB;EACA;EACA,WAAW,EAAE,iBAAiB,MAAM;EACpC,oBAAoB,IAAI,2BAA2B,EAAE,CAAC;EACtD,OAAO,OAAO,mBAAmB;AAC7B,OAAI,OAAO,mBAAmB,WAAW,WACrC,QAAO;AAEX,UAAO,IAAI,iBAAiB,kBAAkB;;EAElD,YAAY,SAAS;AACjB,QAAK,iBAAiB,IAAI,SAAS,SAAS,WAAW;AACnD,QAAI,OAAO,YAAY,WACnB,UAAS,CACJ,MAAM,SAAS;AAChB,aAAQ,QAAQ,EAAE,CAAC;MACrB,CACG,MAAM,OAAO;QAGlB,SAAQ,WAAW,EAAE,CAAC;KAE5B;;EAEN,UAAU;AACN,QAAK,kBAAkB,SAAS;;EAEpC,MAAM,OAAO,SAAS,EAAE,aAAa,mBAAmB,EAAE,EAAE;AACxD,OAAI,CAAC,KAAK,QAAQ;AACd,SAAK,SAAS,MAAM,KAAK;AACzB,SAAK,kBAAkB,4BAA4B,KAAK,OAAO,4BAA4B,MAAM;AACjG,QAAI,KAAK,OAAO,qBACZ,MAAK,kBAAkB,wBAAwB,KAAK,OAAO,qBAAqB;;GAGxF,MAAM,EAAE,gBAAgB,sBAAsB,6BAA6B,KAAK;GAChF,MAAM,0BAA0B,kBAAkB;AAClD,UAAO,IAAI,SAAS,UAAU,YAAY;IACtC,IAAI,YAAY;IAChB,IAAI,0BAA0B;IAC9B,MAAM,UAAU,OAAO,QAAQ;AAC3B,WAAM;AACN,cAAS,IAAI;;IAEjB,MAAM,SAAS,OAAO,QAAQ;AAC1B,WAAM;AACN,aAAQ,IAAI;;AAEhB,QAAI,aAAa,SAAS;AACtB,iBAAY;AAEZ,YADmB,gBAAgB,YAAY,CAC7B;AAClB;;IAEJ,MAAM,EAAE,UAAU,QAAQ,MAAM,UAAU,UAAU;IACpD,IAAI,OAAO;AACX,QAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,KAGhD,QAAO,GAFU,QAAQ,YAAY,GAElB,GADF,QAAQ,YAAY,GACN;IAEnC,MAAM,YAAY,GAAG,SAAS,IAAI,OAAO,WAAW,OAAO,IAAI,SAAS;IACxE,MAAM,iBAAiB,EAAE,aAAa,IAAI,IAAI,UAAU,EAAE;IAC1D,MAAM,UAAU,KAAK,kBAAkB,MAAM,gBAAgB;KACzD,gBAAgB,KAAK,QAAQ;KAC7B,0BAA0B,4BAA4B;KACzD,CAAC;IACF,MAAM,qBAAqB,QAAQ;AAC/B,SAAI,yBACA,MAAK,eAAe,QAAQ;AAEhC,iBAAY;AACZ,YAAO,IAAI;;IAEf,MAAM,cAAc,mBAAmB,iBAAiB,SAAS,EAAE,CAAC;IACpE,IAAI,OAAO,QAAQ;AACnB,QAAI,YACA,SAAQ,IAAI;AAEhB,QAAI,QAAQ,SACR,SAAQ,IAAI,QAAQ;IAExB,MAAM,MAAM,QAAQ,QAAQ;KACxB,GAAG,QAAQ;MACV,MAAM,UAAU,oBAAoB;MACpC,MAAM,UAAU,sBAAsB;KAC1C,CAAC;AACF,YAAQ,KAAK;AACb,QAAI,GAAG,aAAa,YAAY;KAC5B,MAAM,eAAe,IAAI,aAAa,aAAa;MAC/C,YAAY,QAAQ,cAAc;MAClC,SAAS,sBAAsB,QAAQ;MACvC,MAAM;MACT,CAAC;AACF,iBAAY;AACZ,aAAQ,EAAE,UAAU,cAAc,CAAC;AACnC,SAAI,0BAA0B;AAC1B,cAAQ,OAAO;AACf,WAAK,kBAAkB,cAAc,WAAW,QAAQ;;MAE9D;AACF,QAAI,wBACA,KAAI,WAAW,+BAA+B;AAC1C,SAAI,OAAO;KACX,MAAM,+BAAe,IAAI,MAAM,+CAA+C,wBAAwB,KAAK;AAC3G,kBAAa,OAAO;AACpB,uBAAkB,aAAa;MACjC;AAEN,QAAI,aAAa;KACb,MAAM,gBAAgB;AAClB,UAAI,OAAO;AAEX,wBADmB,gBAAgB,YAAY,CAClB;;AAEjC,SAAI,OAAO,YAAY,qBAAqB,YAAY;MACpD,MAAM,SAAS;AACf,aAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,MAAM,CAAC;AACzD,UAAI,KAAK,eAAe,OAAO,oBAAoB,SAAS,QAAQ,CAAC;WAGrE,aAAY,UAAU;;AAG9B,QAAI,GAAG,eAAe,MAAM,MAAM,OAAO;AACrC,uCAAkB,IAAI,MAAM,iBAAiB,KAAK,gBAAgB,GAAG,wBAAwB,KAAK,GAAG,CAAC;MACxG;AACF,QAAI,GAAG,SAAS,kBAAkB;AAClC,QAAI,GAAG,iBAAiB;AACpB,uCAAkB,IAAI,MAAM,6EAA6E,IAAI,QAAQ,GAAG,CAAC;MAC3H;AACF,QAAI,GAAG,eAAe;AAClB,aAAQ,OAAO;AACf,SAAI,yBACA,SAAQ,SAAS;AAErB,SAAI,CAAC,UACD,mCAAkB,IAAI,MAAM,yDAAyD,CAAC;MAE5F;AACF,8BAA0B,iBAAiB,KAAK,SAAS,wBAAwB;KACnF;;EAEN,uBAAuB,KAAK,OAAO;AAC/B,QAAK,SAAS;AACd,QAAK,iBAAiB,KAAK,eAAe,MAAM,WAAW;AACvD,WAAO;KACH,GAAG;MACF,MAAM;KACV;KACH;;EAEN,qBAAqB;AACjB,UAAO,KAAK,UAAU,EAAE;;EAE5B,eAAe,SAAS;AACpB,OAAI,CAAC,QAAQ,UACT,SAAQ,SAAS;;;CAK7B,IAAM,YAAN,cAAwB,YAAY,SAAS;EACzC,gBAAgB,EAAE;EAClB,OAAO,OAAO,UAAU,UAAU;AAC9B,QAAK,cAAc,KAAK,MAAM;AAC9B,aAAU;;;CAIlB,MAAM,mBAAmB,WAAW;AAChC,MAAI,yBAAyB,OAAO,CAChC,QAAO,sBAAsB,OAAO;AAExC,SAAO,IAAI,SAAS,SAAS,WAAW;GACpC,MAAM,YAAY,IAAI,WAAW;AACjC,UAAO,KAAK,UAAU;AACtB,UAAO,GAAG,UAAU,QAAQ;AACxB,cAAU,KAAK;AACf,WAAO,IAAI;KACb;AACF,aAAU,GAAG,SAAS,OAAO;AAC7B,aAAU,GAAG,UAAU,WAAY;AAE/B,YADc,IAAI,WAAW,OAAO,OAAO,KAAK,cAAc,CAAC,CACjD;KAChB;IACJ;;CAEN,MAAM,4BAA4B,WAAW,OAAO,mBAAmB,cAAc,kBAAkB;CACvG,eAAe,sBAAsB,QAAQ;EACzC,MAAM,SAAS,EAAE;EACjB,MAAM,SAAS,OAAO,WAAW;EACjC,IAAI,SAAS;EACb,IAAI,SAAS;AACb,SAAO,CAAC,QAAQ;GACZ,MAAM,EAAE,MAAM,UAAU,MAAM,OAAO,MAAM;AAC3C,OAAI,OAAO;AACP,WAAO,KAAK,MAAM;AAClB,cAAU,MAAM;;AAEpB,YAAS;;EAEb,MAAM,YAAY,IAAI,WAAW,OAAO;EACxC,IAAI,SAAS;AACb,OAAK,MAAM,SAAS,QAAQ;AACxB,aAAU,IAAI,OAAO,OAAO;AAC5B,aAAU,MAAM;;AAEpB,SAAO;;AAGX,SAAQ,0BAA0B;AAClC,SAAQ,mBAAmB;AAC3B,SAAQ,kBAAkB;AAC1B,SAAQ,kBAAkB;;;;;;CCvvB1B,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,SAAS,cAAc,KAAK,gBAAgB;AACxC,SAAO,IAAI,QAAQ,KAAK,eAAe;;CAG3C,SAAS,eAAe,cAAc,GAAG;AACrC,SAAO,IAAI,SAAS,SAAS,WAAW;AACpC,OAAI,YACA,kBAAiB;IACb,MAAM,+BAAe,IAAI,MAAM,mCAAmC,YAAY,KAAK;AACnF,iBAAa,OAAO;AACpB,WAAO,aAAa;MACrB,YAAY;IAErB;;CAGN,MAAM,mBAAmB,EACrB,WAAW,QACd;CACD,IAAM,mBAAN,MAAM,iBAAiB;EACnB;EACA;EACA,OAAO,OAAO,mBAAmB;AAC7B,OAAI,OAAO,mBAAmB,WAAW,WACrC,QAAO;AAEX,UAAO,IAAI,iBAAiB,kBAAkB;;EAElD,YAAY,SAAS;AACjB,OAAI,OAAO,YAAY,WACnB,MAAK,iBAAiB,SAAS,CAAC,MAAM,SAAS,QAAQ,EAAE,CAAC;QAEzD;AACD,SAAK,SAAS,WAAW,EAAE;AAC3B,SAAK,iBAAiB,QAAQ,QAAQ,KAAK,OAAO;;AAEtD,OAAI,iBAAiB,cAAc,OAC/B,kBAAiB,YAAY,QAAQ,OAAO,YAAY,eAAe,eAAe,cAAc,gBAAgB,CAAC;;EAG7H,UAAU;EAEV,MAAM,OAAO,SAAS,EAAE,aAAa,gBAAgB,qBAAqB,EAAE,EAAE;AAC1E,OAAI,CAAC,KAAK,OACN,MAAK,SAAS,MAAM,KAAK;GAE7B,MAAM,qBAAqB,oBAAoB,KAAK,OAAO;GAC3D,MAAM,YAAY,KAAK,OAAO,cAAc;GAC5C,MAAM,cAAc,KAAK,OAAO;AAChC,OAAI,aAAa,SAAS;IACtB,MAAM,aAAa,gBAAgB,YAAY;AAC/C,WAAO,QAAQ,OAAO,WAAW;;GAErC,IAAI,OAAO,QAAQ;GACnB,MAAM,cAAc,mBAAmB,iBAAiB,QAAQ,SAAS,EAAE,CAAC;AAC5E,OAAI,YACA,SAAQ,IAAI;AAEhB,OAAI,QAAQ,SACR,SAAQ,IAAI,QAAQ;GAExB,IAAI,OAAO;AACX,OAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,KAGhD,QAAO,GAFU,QAAQ,YAAY,GAElB,GADF,QAAQ,YAAY,GACN;GAEnC,MAAM,EAAE,MAAM,WAAW;GACzB,MAAM,MAAM,GAAG,QAAQ,SAAS,IAAI,OAAO,QAAQ,WAAW,OAAO,IAAI,SAAS,KAAK;GACvF,MAAM,OAAO,WAAW,SAAS,WAAW,SAAS,SAAY,QAAQ;GACzE,MAAM,iBAAiB;IACnB;IACA,SAAS,IAAI,QAAQ,QAAQ,QAAQ;IAC7B;IACR;IACH;AACD,OAAI,KAAK,QAAQ,MACb,gBAAe,QAAQ,KAAK,OAAO;AAEvC,OAAI,KACA,gBAAe,SAAS;AAE5B,OAAI,OAAO,oBAAoB,YAC3B,gBAAe,SAAS;AAE5B,OAAI,iBAAiB,UACjB,gBAAe,YAAY;AAE/B,OAAI,OAAO,KAAK,OAAO,gBAAgB,WACnC,QAAO,OAAO,gBAAgB,KAAK,OAAO,YAAY,QAAQ,CAAC;GAEnE,IAAI,kCAAkC;GACtC,MAAM,eAAe,cAAc,KAAK,eAAe;GACvD,MAAM,iBAAiB,CACnB,MAAM,aAAa,CAAC,MAAM,aAAa;IACnC,MAAM,eAAe,SAAS;IAC9B,MAAM,qBAAqB,EAAE;AAC7B,SAAK,MAAM,QAAQ,aAAa,SAAS,CACrC,oBAAmB,KAAK,MAAM,KAAK;AAGvC,QAAI,EADsB,SAAS,QAAQ,QAEvC,QAAO,SAAS,MAAM,CAAC,MAAM,YAAU,EACnC,UAAU,IAAI,aAAa,aAAa;KACpC,SAAS;KACT,QAAQ,SAAS;KACjB,YAAY,SAAS;KACrB;KACH,CAAC,EACL,EAAE;AAEP,WAAO,EACH,UAAU,IAAI,aAAa,aAAa;KACpC,SAAS;KACT,QAAQ,SAAS;KACjB,YAAY,SAAS;KACrB,MAAM,SAAS;KAClB,CAAC,EACL;KACH,EACF,eAAe,mBAAmB,CACrC;AACD,OAAI,YACA,gBAAe,KAAK,IAAI,SAAS,SAAS,WAAW;IACjD,MAAM,gBAAgB;AAElB,YADmB,gBAAgB,YAAY,CAC7B;;AAEtB,QAAI,OAAO,YAAY,qBAAqB,YAAY;KACpD,MAAM,SAAS;AACf,YAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,MAAM,CAAC;AACzD,uCAAkC,OAAO,oBAAoB,SAAS,QAAQ;UAG9E,aAAY,UAAU;KAE5B,CAAC;AAEP,UAAO,QAAQ,KAAK,eAAe,CAAC,QAAQ,0BAA0B;;EAE1E,uBAAuB,KAAK,OAAO;AAC/B,QAAK,SAAS;AACd,QAAK,iBAAiB,KAAK,eAAe,MAAM,WAAW;AACvD,WAAO,OAAO;AACd,WAAO;KACT;;EAEN,qBAAqB;AACjB,UAAO,KAAK,UAAU,EAAE;;;CAGhC,SAAS,gBAAgB,aAAa;EAClC,MAAM,SAAS,eAAe,OAAO,gBAAgB,YAAY,YAAY,cACvE,YAAY,SACZ;AACN,MAAI,QAAQ;AACR,OAAI,kBAAkB,OAAO;IACzB,MAAMC,+BAAa,IAAI,MAAM,kBAAkB;AAC/C,iBAAW,OAAO;AAClB,iBAAW,QAAQ;AACnB,WAAOA;;GAEX,MAAMA,eAAa,IAAI,MAAM,OAAO,OAAO,CAAC;AAC5C,gBAAW,OAAO;AAClB,UAAOA;;EAEX,MAAM,6BAAa,IAAI,MAAM,kBAAkB;AAC/C,aAAW,OAAO;AAClB,SAAO;;CAGX,MAAM,kBAAkB,OAAO,WAAW;AACtC,MAAK,OAAO,SAAS,cAAc,kBAAkB,QAAS,OAAO,aAAa,SAAS,QAAQ;AAC/F,OAAI,KAAK,UAAU,gBAAgB,OAC/B,QAAO,IAAI,WAAW,MAAM,OAAO,aAAa,CAAC;AAErD,UAAO,YAAY,OAAO;;AAE9B,SAAO,cAAc,OAAO;;CAEhC,eAAe,YAAY,MAAM;EAC7B,MAAM,SAAS,MAAM,aAAa,KAAK;EACvC,MAAM,cAAc,WAAW,WAAW,OAAO;AACjD,SAAO,IAAI,WAAW,YAAY;;CAEtC,eAAe,cAAc,QAAQ;EACjC,MAAM,SAAS,EAAE;EACjB,MAAM,SAAS,OAAO,WAAW;EACjC,IAAI,SAAS;EACb,IAAI,SAAS;AACb,SAAO,CAAC,QAAQ;GACZ,MAAM,EAAE,MAAM,UAAU,MAAM,OAAO,MAAM;AAC3C,OAAI,OAAO;AACP,WAAO,KAAK,MAAM;AAClB,cAAU,MAAM;;AAEpB,YAAS;;EAEb,MAAM,YAAY,IAAI,WAAW,OAAO;EACxC,IAAI,SAAS;AACb,OAAK,MAAM,SAAS,QAAQ;AACxB,aAAU,IAAI,OAAO,OAAO;AAC5B,aAAU,MAAM;;AAEpB,SAAO;;CAEX,SAAS,aAAa,MAAM;AACxB,SAAO,IAAI,SAAS,SAAS,WAAW;GACpC,MAAM,SAAS,IAAI,YAAY;AAC/B,UAAO,kBAAkB;AACrB,QAAI,OAAO,eAAe,EACtB,QAAO,uBAAO,IAAI,MAAM,2BAA2B,CAAC;IAExD,MAAM,SAAU,OAAO,UAAU;IACjC,MAAM,aAAa,OAAO,QAAQ,IAAI;IACtC,MAAM,aAAa,aAAa,KAAK,aAAa,IAAI,OAAO;AAC7D,YAAQ,OAAO,UAAU,WAAW,CAAC;;AAEzC,UAAO,gBAAgB,uBAAO,IAAI,MAAM,eAAe,CAAC;AACxD,UAAO,gBAAgB,OAAO,OAAO,MAAM;AAC3C,UAAO,cAAc,KAAK;IAC5B;;AAGN,SAAQ,mBAAmB;AAC3B,SAAQ,mBAAmB;AAC3B,SAAQ,kBAAkB;;;;;;CCtO1B,MAAM,eAAe,EAAE;CACvB,MAAM,eAAe,EAAE;AACvB,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK;EAC1B,IAAI,cAAc,EAAE,SAAS,GAAG,CAAC,aAAa;AAC9C,MAAI,YAAY,WAAW,EACvB,eAAc,IAAI;AAEtB,eAAa,KAAK;AAClB,eAAa,eAAe;;CAEhC,SAAS,QAAQ,SAAS;AACtB,MAAI,QAAQ,SAAS,MAAM,EACvB,OAAM,IAAI,MAAM,sDAAsD;EAE1E,MAAM,MAAM,IAAI,WAAW,QAAQ,SAAS,EAAE;AAC9C,OAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG;GACxC,MAAM,cAAc,QAAQ,MAAM,GAAG,IAAI,EAAE,CAAC,aAAa;AACzD,OAAI,eAAe,aACf,KAAI,IAAI,KAAK,aAAa;OAG1B,OAAM,IAAI,MAAM,uCAAuC,YAAY,iBAAiB;;AAG5F,SAAO;;CAEX,SAAS,MAAM,OAAO;EAClB,IAAI,MAAM;AACV,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,YAAY,IAClC,QAAO,aAAa,MAAM;AAE9B,SAAO;;AAGX,SAAQ,UAAU;AAClB,SAAQ,QAAQ;;;;;;ACpChB,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,iBAAiB,KAAK;CAC9B,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM,sCAAsC;CAC5C,MAAM,kBAAkB,WAAW;AAC/B,MAAI,CAAC,eAAe,OAAO,IAAI,EAAE,GAAG,oBAAoB,kBAAkB,OAAO,EAAE;GAC/E,MAAM,OAAO,QAAQ,WAAW,aAAa,QAAQ;AACrD,SAAM,IAAI,MAAM,wEAAwE,OAAO;;EAEnG,IAAI,cAAc;EAClB,MAAM,uBAAuB,YAAY;AACrC,OAAI,YACA,OAAM,IAAI,MAAM,oCAAoC;AAExD,iBAAc;AACd,UAAO,OAAO,GAAG,qBAAqB,iBAAiB,OAAO;;EAElE,MAAM,mBAAmB,SAAS;AAC9B,OAAI,OAAO,KAAK,WAAW,WACvB,OAAM,IAAI,MAAM,2OAC+H;AAEnJ,UAAO,KAAK,QAAQ;;AAExB,SAAO,OAAO,OAAO,QAAQ;GACH;GACtB,mBAAmB,OAAO,aAAa;IACnC,MAAM,MAAM,MAAM,sBAAsB;AACxC,QAAI,aAAa,SACb,SAAQ,GAAG,cAAc,UAAU,IAAI;aAElC,aAAa,MAClB,SAAQ,GAAG,oBAAoB,OAAO,IAAI;aAErC,aAAa,UAAa,aAAa,UAAU,aAAa,QACnE,SAAQ,GAAG,YAAY,QAAQ,IAAI;aAE9B,OAAO,gBAAgB,WAC5B,QAAO,IAAI,YAAY,SAAS,CAAC,OAAO,IAAI;QAG5C,OAAM,IAAI,MAAM,uEAAuE;;GAG/F,4BAA4B;AACxB,QAAI,YACA,OAAM,IAAI,MAAM,oCAAoC;AAExD,kBAAc;AACd,QAAI,eAAe,OAAO,CACtB,QAAO,gBAAgB,OAAO;cAExB,GAAG,oBAAoB,kBAAkB,OAAO,CACtD,QAAO;QAGP,OAAM,IAAI,MAAM,+CAA+C,SAAS;;GAGnF,CAAC;;AAEN,SAAQ,iBAAiB;CACzB,MAAM,kBAAkB,WAAW,OAAO,SAAS,cAAc,kBAAkB;;;;;;AClEnF,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,iBAAiB,KAAK;CAC9B,MAAM;CACN,MAAM;CACN,MAAMC,uBAAmB,SAAS;CAClC,MAAM;CACN,MAAM,sCAAsC;CAC5C,MAAM,kBAAkB,WAAW;AAC/B,MAAI,EAAE,kBAAkBA,WAAS,UAC7B,KAAI;AACA,WAAQ,GAAG,2BAA2B,gBAAgB,OAAO;WAE1D,GAAG;GACN,MAAM,OAAO,QAAQ,WAAW,aAAa,QAAQ;AACrD,SAAM,IAAI,MAAM,0EAA0E,OAAO;;EAGzG,IAAI,cAAc;EAClB,MAAM,uBAAuB,YAAY;AACrC,OAAI,YACA,OAAM,IAAI,MAAM,oCAAoC;AAExD,iBAAc;AACd,UAAO,OAAO,GAAG,oBAAoB,iBAAiB,OAAO;;AAEjE,SAAO,OAAO,OAAO,QAAQ;GACzB;GACA,mBAAmB,OAAO,aAAa;IACnC,MAAM,MAAM,MAAM,sBAAsB;AACxC,QAAI,aAAa,UAAa,OAAO,WAAW,SAAS,CACrD,SAAQ,GAAG,mBAAmB,iBAAiB,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW,CAAC,SAAS,SAAS;QAI7G,QADgB,IAAI,YAAY,SAAS,CAC1B,OAAO,IAAI;;GAGlC,4BAA4B;AACxB,QAAI,YACA,OAAM,IAAI,MAAM,oCAAoC;AAExD,QAAI,OAAO,oBAAoB,KAC3B,OAAM,IAAI,MAAM,mDAAmD;AAEvE,QAAI,OAAOA,WAAS,SAAS,UAAU,WACnC,OAAM,IAAI,MAAM,4EAA4E;AAEhG,kBAAc;AACd,WAAOA,WAAS,SAAS,MAAM,OAAO;;GAE7C,CAAC;;AAEN,SAAQ,iBAAiB;;;;;;ACpDzB,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,cAAc;CACtB,eAAe,YAAY,QAAQ;AAC/B,MAAI,OAAO,OAAO,WAAW,WACzB,UAAS,OAAO,QAAQ;AAG5B,SADuB,OACD,KAAK;;;;;;;ACP/B,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,cAAc;CACtB,MAAM,qBAAmB,SAAS;CAClC,MAAM;CACN,MAAM;CACN,eAAe,YAAY,QAAQ;AAC/B,OAAK,GAAG,oBAAoB,kBAAkB,OAAO,KAAK,GAAG,oBAAoB,QAAQ,OAAO,CAC5F,SAAQ,GAAG,sBAAsB,aAAa,OAAO;EAEzD,MAAM,UAAU,IAAI,SAAS,aAAa;EAC1C,MAAM,UAAU,IAAI,SAAS,aAAa;AAC1C,SAAO,KAAK,QAAQ;AACpB,SAAO,KAAK,QAAQ;AACpB,SAAO,CAAC,SAAS,QAAQ;;;;;;;CCZ7B,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,IAAM,wBAAN,MAAM,8BAA8B,WAAW;EAC3C,OAAO,WAAW,QAAQ,WAAW,SAAS;AAC1C,OAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,aAAa,SACb,QAAO,sBAAsB,OAAO,WAAW,WAAW,OAAO,CAAC;AAEtE,WAAO,sBAAsB,OAAO,SAAS,SAAS,OAAO,CAAC;;AAElE,SAAM,IAAI,MAAM,+BAA+B,OAAO,OAAO,4BAA4B;;EAE7F,OAAO,OAAO,QAAQ;AAClB,UAAO,eAAe,QAAQ,sBAAsB,UAAU;AAC9D,UAAO;;EAEX,kBAAkB,WAAW,SAAS;AAClC,OAAI,aAAa,SACb,QAAO,WAAW,SAAS,KAAK;AAEpC,UAAO,SAAS,OAAO,KAAK;;;AAIpC,SAAQ,SAAS,gBAAgB;AACjC,SAAQ,mBAAmB,gBAAgB;AAC3C,SAAQ,wBAAwB;AAChC,QAAO,UAAU,eAAe,KAAK,gBAAgB,YAAY,IAC7D,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,eAAe;EACzB,CAAC;AAEN,QAAO,KAAK,eAAe,CAAC,QAAQ,SAAU,GAAG;AAC7C,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,eAAe;GACxG;AACF,QAAO,UAAU,eAAe,KAAK,sBAAsB,YAAY,IACnE,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,qBAAqB;EAC/B,CAAC;AAEN,QAAO,KAAK,qBAAqB,CAAC,QAAQ,SAAU,GAAG;AACnD,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,qBAAqB;GAC9G;AACF,QAAO,UAAU,eAAe,KAAK,wBAAwB,YAAY,IACrE,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,uBAAuB;EACjC,CAAC;AAEN,QAAO,KAAK,uBAAuB,CAAC,QAAQ,SAAU,GAAG;AACrD,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,uBAAuB;GAChH;AACF,QAAO,UAAU,eAAe,KAAK,6BAA6B,YAAY,IAC1E,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,4BAA4B;EACtC,CAAC;AAEN,QAAO,KAAK,4BAA4B,CAAC,QAAQ,SAAU,GAAG;AAC1D,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,4BAA4B;GACrH;AACF,QAAO,UAAU,eAAe,KAAK,YAAY,YAAY,IACzD,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,WAAW;EACrB,CAAC;AAEN,QAAO,KAAK,WAAW,CAAC,QAAQ,SAAU,GAAG;AACzC,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,WAAW;GACpG;AACF,QAAO,UAAU,eAAe,KAAK,gBAAgB,YAAY,IAC7D,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,eAAe;EACzB,CAAC;AAEN,QAAO,KAAK,eAAe,CAAC,QAAQ,SAAU,GAAG;AAC7C,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,eAAe;GACxG;AACF,QAAO,UAAU,eAAe,KAAK,aAAa,YAAY,IAC1D,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,YAAY;EACtB,CAAC;AAEN,QAAO,KAAK,YAAY,CAAC,QAAQ,SAAU,GAAG;AAC1C,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,YAAY;GACrG;;;;;;;;CC1GW,cAAc,OAAO,aAAa,IAAI,YAAY,EAAE,YAAY;AACzE,MAAI,sBAAsB,WACtB,QAAOC,yCAAsB,OAAO,WAAW;AAEnD,MAAI,CAAC,WACD,QAAOA,yCAAsB,OAAO,IAAI,YAAY,CAAC;EAEzD,MAAM,cAAc,QAAQ,gBAAgB,WAAW;AACvD,SAAOA,yCAAsB,OAAO,MAAM,YAAY;;;;;;ACT1D,SAAgB,2BAA2B,KAAK;AAC5C,QAAO,mBAAmB,IAAI,CAAC,QAAQ,YAAY,SAAU,GAAG;AAC5D,SAAO,MAAM,EAAE,WAAW,EAAE,CAAC,SAAS,GAAG,CAAC,aAAa;GACzD;;;;;;;;CCHO,SAAS,cAAc;AAChC,MAAI,OAAO,cAAc,WACrB,QAAO,WAAW;AAEtB,SAAO;;;;;;;;CCJE,aAAa,WAAW,MAAM,QAAQ,OAAO,YAAY;EAClE;EACA;EACA;EACA;EACA;EACH;;;;;;;;;iBCJgD;CACpC,mCAAmC,YAAY,MAAM,YAAY,OAAO,SAAS;EAC1F,MAAM,EAAE,aAAa,MAAM,KAAK,KAAK;EACrC,MAAM,EAAE,6DAAqC,QAAQ;EACrD,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,mBAAmB,EAAE;AAChD,MAAI;AAKA,UAAO;IACH;IACA,QANW,MAAM,OAAO,SAAS,oBAAoB,UAAU,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE;KAChF,GAAG;KACH,GAAG;KACN,EAAE,SAAS;IAIX;WAEEC,SAAO;AACV,UAAO,eAAeA,SAAO,aAAa;IACtC,OAAO;IACP,YAAY;IACZ,UAAU;IACV,cAAc;IACjB,CAAC;AACF,OAAI,EAAE,eAAeA,UAAQ;IACzB,MAAM,OAAO;AACb,QAAI;AACA,aAAM,WAAW,SAAS;aAEvB,GAAG;AACN,SAAI,CAAC,QAAQ,UAAU,QAAQ,QAAQ,aAAa,SAAS,aACzD,SAAQ,KAAK,KAAK;SAGlB,SAAQ,QAAQ,OAAO,KAAK;;AAGpC,QAAI,OAAOA,QAAM,sBAAsB,aACnC;SAAIA,QAAM,UACN,SAAM,UAAU,OAAOA,QAAM;;AAGrC,QAAI;AACA,SAAIC,gCAAa,WAAW,SAAS,EAAE;MACnC,MAAM,EAAE,UAAU,EAAE,KAAK;MACzB,MAAM,gBAAgB,OAAO,QAAQ,QAAQ;AAC7C,cAAM,YAAY;OACd,gBAAgB,SAAS;OACzB,WAAW,WAAW,0BAA0B,cAAc;OAC9D,mBAAmB,WAAW,mBAAmB,cAAc;OAC/D,MAAM,WAAW,oBAAoB,cAAc;OACtD;;aAGF,GAAG;;AAGd,SAAMD;;;CAGR,cAAc,SAAS,YAAY;AACrC,UAAQ,QAAQ,MAAM,CAAC,OAAO;AAC1B,UAAO,EAAE,MAAM,QAAQ;IACzB,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE;;;;;;;;;CC9Df,gBAAgB,aAAa;AACtC,MAAI,OAAO,aAAa,UAAU;AAC9B,OAAI,SAAS,UAAU;IACnB,MAAM,8CAAsB,SAAS,IAAI;AACzC,QAAI,SAAS,SAAS;AAClB,gBAAW,UAAU,EAAE;AACvB,UAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,SAAS,QAAQ,CACzD,YAAW,QAAQ,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK;;AAGlE,WAAO;;AAEX,UAAO;;AAEX,0CAAgB,SAAS;;;;;;;;;;;;;;;iBEfyB;;iBAEL;CACpC,iCAAiC,YAAY,MAAM,YAAY,OAAO,SAAS;EACxF,MAAM,EAAE,6DAAqC,QAAQ;EACrD,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,mBAAmB,EAAE;EAChD,MAAM,WAAW,QAAQ,aACnB,YAAY,aAAa,QAAQ,WAAW,GAC5C,OAAO;EACb,MAAM,UAAU,MAAM,OAAO,SAAS,iBAAiB,UAAU,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,KAAK,OAAO;GAC1F,GAAG;GACH,GAAG;GACH;GACH,CAAC;AACF,SAAO,KAAK;GACR,GAAG;GACH;GACH,CAAC;;;;;;ACHN,SAAgB,qBAAqB,QAAQ;AACzC,QAAO,EACH,eAAe,iBAAiB;AAC5B,eAAa,IAAI,8BAA8B,OAAO,EAAE,2BAA2B;AACnF,eAAa,IAAI,gCAAgC,OAAO,EAAE,6BAA6B;AACvF,SAAO,SAAS,gBAAgB,OAAO;IAE9C;;;;uCArB+E;qCACJ;CACnE,+BAA+B;EACxC,MAAM;EACN,MAAM;EACN,MAAM,CAAC,eAAe;EACtB,UAAU;EACb;CACY,6BAA6B;EACtC,MAAM;EACN,MAAM;EACN,MAAM,CAAC,aAAa;EACpB,UAAU;EACb;;;;;;;CCbY,SAAb,MAAoB;EAChB;EACA;EACA;EACA,OAAO,OAAO,UAAU,QAAQ;AAE5B,UADe,OAAO,OAAO,UAAU,OAAO;;EAGlD,QAAQ,OAAO,aAAa,KAAK;GAC7B,MAAM,cAAc,KAAK,UAAU,cAAc,IAAI;AACrD,OAAI,CAAC,eAAe,OAAO,QAAQ,YAAY,QAAQ,KAEnD,QADa,IACD,WAAW,KAAK;AAEhC,UAAO;;EAEX,UAAU;AACN,UAAO,KAAK,YAAY,MAAM,KAAK;;;;;;;;;cCjBT;CACrB,aAAb,MAAa,mBAAmB,OAAO;EACnC,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC;EACA;EACA;EACA,SAAS,WAAW;;CAEX,QAAQ,WAAW,MAAM,QAAQ,gBAAgB,OAAO,OAAO,IAAI,YAAY,EAAE;EAC1F;EACA;EACA;EACA;EACH,CAAC;;;;;;;cCbgC;CACrB,YAAb,MAAa,kBAAkB,OAAO;EAClC,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC;EACA;EACA;EACA;EACA,SAAS,UAAU;;CAEV,OAAO,WAAW,MAAM,QAAQ,WAAW,gBAAgB,OAAO,OAAO,IAAI,WAAW,EAAE;EACnG;EACA;EACA;EACA;EACA;EACH,CAAC;;;;;;;cCfgC;CACrB,kBAAb,MAAa,wBAAwB,OAAO;EACxC,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC;EACA;EACA;EACA;EACA,SAAS,gBAAgB;;CAEhB,MAAM,WAAW,MAAM,QAAQ,OAAO,WAAW,OAAO,OAAO,IAAI,iBAAiB,EAAE;EAC/F;EACA;EACA;EACA;EACA;EACH,CAAC;;;;;;;cCfgC;CACrB,kBAAb,MAAa,wBAAwB,OAAO;EACxC,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC;EACA;EACA;EACA;EACA,SAAS,gBAAgB;;CAEhB,UAAU,WAAW,MAAM,QAAQ,aAAa,eAAe,OAAO,OAAO,IAAI,iBAAiB,EAAE;EAC7G;EACA;EACA;EACA;EACA;EACH,CAAC;;;;;;;cCfgC;uBACkB;CACvC,cAAb,MAAa,oBAAoB,gBAAgB;EAC7C,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC;EACA,SAAS,YAAY;;CAEZ,SAAS,WAAW,MAAM,QAAQ,aAAa,YAAY,SAAS,OAAO,OAAO,IAAI,aAAa,EAAE;EAC9G;EACA;EACA;EACA;EACA;EACA,MAAM;EACT,CAAC;;;;;ACbF,SAAgB,gBAAgB,WAAW;AACvC,KAAI,OAAO,cAAc,SACrB,QAAO;AAEX,aAAY,YAAY;AACxB,KAAI,YAAY,WACZ,QAAO,YAAY;CAEvB,MAAM,SAAS,EAAE;CACjB,IAAI,IAAI;AACR,MAAK,MAAM,SAAS;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACH,CACG,MAAM,aAAa,MAAO,OAAO,EAC7B,QAAO,SAAS;AAGxB,QAAQ,YAAY,aAAa;;;;CAxBxB,cAAc,EAAE;;;;;ACmS7B,SAAS,OAAO,cAAc,YAAY;AACtC,KAAI,wBAAwB,iBACxB,QAAO,OAAO,OAAO,cAAc;EAC/B;EACA,iBAAiB;EACpB,CAAC;AAGN,QAAO,IADoB,iBACG,cAAc,WAAW;;;;aA3S1B;uBACmB;CAC9C,OAAO;EACT,IAAI,OAAO,IAAI,wBAAwB;EACvC,IAAI,OAAO,IAAI,aAAa;EAC/B;CACY,qBAAqB,EAAE;CACvB,qBAAqB,EAAE;CACvB,mBAAb,MAAa,iBAAiB;EAC1B;EACA;EACA,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC,SAAS,iBAAiB;EAC1B;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,KAAK,YAAY;AACzB,QAAK,MAAM;AACX,QAAK,aAAa;GAClB,MAAM,aAAa,EAAE;GACrB,IAAI,OAAO;GACX,IAAI,SAAS;AACb,QAAK,kBAAkB;AACvB,UAAO,eAAe,KAAK,EAAE;AACzB,eAAW,KAAK,KAAK,GAAG;AACxB,WAAO,KAAK;AACZ,aAAS,MAAM,KAAK;AACpB,SAAK,kBAAkB;;AAE3B,OAAI,WAAW,SAAS,GAAG;AACvB,SAAK,eAAe,EAAE;AACtB,SAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;KAC7C,MAAM,WAAW,WAAW;AAC5B,YAAO,OAAO,KAAK,cAAc,gBAAgB,SAAS,CAAC;;SAI/D,MAAK,eAAe;AAExB,OAAI,kBAAkB,kBAAkB;IACpC,MAAM,uBAAuB,KAAK;AAClC,WAAO,OAAO,MAAM,OAAO;AAC3B,SAAK,eAAe,OAAO,OAAO,EAAE,EAAE,sBAAsB,OAAO,iBAAiB,EAAE,KAAK,iBAAiB,CAAC;AAC7G,SAAK,mBAAmB,KAAK;AAC7B,SAAK,aAAa,cAAc,OAAO;AACvC;;AAEJ,QAAK,SAAS,MAAM,OAAO;AAC3B,OAAI,eAAe,KAAK,OAAO,EAAE;AAC7B,SAAK,OAAO,GAAG,KAAK,OAAO,GAAG,GAAG,KAAK,OAAO;AAC7C,SAAK,SAAS,KAAK,OAAO;UAEzB;AACD,SAAK,OAAO,KAAK,cAAc,OAAO,OAAO;AAC7C,SAAK,SAAS;;AAElB,OAAI,KAAK,mBAAmB,CAAC,WACzB,OAAM,IAAI,MAAM,sDAAsD,KAAK,QAAQ,KAAK,CAAC,uBAAuB;;EAGxH,QAAQ,OAAO,aAAa,KAAK;GAC7B,MAAM,cAAc,KAAK,UAAU,cAAc,IAAI;AACrD,OAAI,CAAC,eAAe,OAAO,QAAQ,YAAY,QAAQ,KAEnD,QADW,IACD,WAAW,KAAK;AAE9B,UAAO;;EAEX,OAAO,GAAG,KAAK;GACX,MAAM,UAAU,OAAO,QAAQ,cAAe,OAAO,QAAQ,YAAY,QAAQ;AACjF,OAAI,OAAO,QAAQ,UACf;QAAI,mBAAmB,KACnB,QAAO,mBAAmB;cAGzB,OAAO,QAAQ,UACpB;QAAI,mBAAmB,KACnB,QAAO,mBAAmB;cAGzB,SACL;QAAI,IAAI,KAAK,IACT,QAAO,IAAI,KAAK;;GAGxB,MAAM,KAAK,MAAM,IAAI;AACrB,OAAI,cAAc,iBACd,QAAO;AAEX,OAAI,eAAe,GAAG,EAAE;IACpB,MAAM,CAACE,MAAI,UAAU;AACrB,QAAIA,gBAAc,kBAAkB;AAChC,YAAO,OAAOA,KAAG,iBAAiB,EAAE,gBAAgB,OAAO,CAAC;AAC5D,YAAOA;;AAEX,UAAM,IAAI,MAAM,8DAA8D,KAAK,UAAU,KAAK,MAAM,EAAE,CAAC,GAAG;;GAElH,MAAM,KAAK,IAAI,iBAAiB,GAAG;AACnC,OAAI,QACA,QAAQ,IAAI,KAAK,MAAM;AAE3B,OAAI,OAAO,OAAO,SACd,QAAQ,mBAAmB,MAAM;AAErC,OAAI,OAAO,OAAO,SACd,QAAQ,mBAAmB,MAAM;AAErC,UAAO;;EAEX,YAAY;GACR,MAAM,KAAK,KAAK;AAChB,OAAI,MAAM,QAAQ,GAAG,IAAI,GAAG,OAAO,EAC/B,QAAO,GAAG;AAEd,UAAO;;EAEX,QAAQ,gBAAgB,OAAO;GAC3B,MAAM,EAAE,SAAS;AAEjB,UADc,CAAC,iBAAiB,QAAQ,KAAK,SAAS,IAAI,GAC3C,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ;;EAEhD,gBAAgB;AACZ,UAAO,KAAK;;EAEhB,iBAAiB;AACb,UAAO,KAAK;;EAEhB,eAAe;GACX,MAAM,KAAK,KAAK,WAAW;AAC3B,UAAO,OAAO,OAAO,WACf,MAAM,MAAM,KAAK,MACjB,GAAG,OAAO;;EAEpB,cAAc;GACV,MAAM,KAAK,KAAK,WAAW;AAC3B,UAAO,OAAO,OAAO,WACf,MAAM,OAAO,MAAM,MACnB,GAAG,OAAO;;EAEpB,iBAAiB;GACb,MAAM,KAAK,KAAK,WAAW;AAC3B,OAAI,OAAO,OAAO,SACd,QAAO;GAEX,MAAM,KAAK,GAAG;AACd,UAAQ,OAAO,KACX,OAAO,MACP,OAAO;;EAEf,gBAAgB;GACZ,MAAM,KAAK,KAAK,WAAW;AAC3B,OAAI,OAAO,OAAO,SACd,QAAO;AAEX,UAAO,GAAG,OAAO;;EAErB,eAAe;GACX,MAAM,KAAK,KAAK,WAAW;AAC3B,UAAO,OAAO,MAAM,OAAO;;EAE/B,oBAAoB;GAChB,MAAM,KAAK,KAAK,WAAW;AAC3B,UAAQ,OAAO,OAAO,YAClB,MAAM,KACN,MAAM;;EAEd,eAAe;AACX,UAAO,KAAK,WAAW,KAAK;;EAEhC,mBAAmB;AACf,UAAO,KAAK,WAAW,KAAK;;EAEhC,iBAAiB;AACb,UAAO,KAAK,WAAW,KAAK;;EAEhC,kBAAkB;AACd,UAAO,KAAK,WAAW,KAAK;;EAEhC,kBAAkB;AACd,UAAO,KAAK,WAAW,KAAK;;EAEhC,qBAAqB;AACjB,UAAO,KAAK,WAAW,KAAK;;EAEhC,qBAAqB;AACjB,UAAO,KAAK,WAAW,KAAK;;EAEhC,cAAc;GACV,MAAM,EAAE,cAAc,KAAK,iBAAiB;AAC5C,UAAO,CAAC,CAAC,aAAa,KAAK,WAAW,KAAK;;EAE/C,qBAAqB;AACjB,UAAO,CAAC,CAAC,KAAK,iBAAiB,CAAC;;EAEpC,kBAAkB;AACd,UAAQ,KAAK,qBACR,KAAK,mBAAmB;IACrB,GAAG,KAAK,cAAc;IACtB,GAAG,KAAK,iBAAiB;IAC5B;;EAET,kBAAkB;AACd,UAAO,gBAAgB,KAAK,aAAa;;EAE7C,eAAe;AACX,UAAO,gBAAgB,KAAK,OAAO;;EAEvC,eAAe;GACX,MAAM,CAAC,OAAO,SAAS,CAAC,KAAK,kBAAkB,EAAE,KAAK,aAAa,CAAC;AACpE,OAAI,CAAC,SAAS,CAAC,MACX,OAAM,IAAI,MAAM,qDAAqD,KAAK,QAAQ,KAAK,GAAG;GAE9F,MAAM,SAAS,KAAK,WAAW;AAI/B,UAAO,OAAO,CAHO,QACf,KACA,OAAO,MAAM,GACU,EAAE,EAAE,MAAM;;EAE3C,iBAAiB;GACb,MAAM,KAAK,KAAK,WAAW;GAC3B,MAAM,CAAC,OAAO,OAAO,UAAU;IAAC,KAAK,kBAAkB;IAAE,KAAK,aAAa;IAAE,KAAK,cAAc;IAAC;GACjG,MAAM,eAAe,OAAO,OAAO,WAC7B,KAAc,KACd,MAAM,OAAO,OAAO,aAAa,SAAS,UACtC,GAAG,IAAI,GAAG,MACV,QACI,KACA,KAAK;AACnB,OAAI,gBAAgB,KAChB,QAAO,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,UAAU,SAAS;AAEhE,SAAM,IAAI,MAAM,yBAAyB,KAAK,QAAQ,KAAK,CAAC,uBAAuB;;EAEvF,gBAAgB,YAAY;GACxB,MAAMC,WAAS,KAAK,WAAW;AAC/B,OAAI,KAAK,gBAAgB,IAAIA,SAAO,GAAG,SAAS,WAAW,EAAE;IACzD,MAAM,IAAIA,SAAO,GAAG,QAAQ,WAAW;IACvC,MAAM,eAAeA,SAAO,GAAG;AAC/B,WAAO,OAAO,eAAe,aAAa,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,WAAW;;AAE9F,OAAI,KAAK,kBAAkB,CACvB,QAAO,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW;AAEtC,SAAM,IAAI,MAAM,yBAAyB,KAAK,QAAQ,KAAK,CAAC,iBAAiB,WAAW,GAAG;;EAE/F,mBAAmB;GACf,MAAM,SAAS,EAAE;AACjB,OAAI;AACA,SAAK,MAAM,CAAC,GAAG,MAAM,KAAK,gBAAgB,CACtC,QAAO,KAAK;YAGb,SAAS;AAChB,UAAO;;EAEX,uBAAuB;AACnB,OAAI,KAAK,gBAAgB,EACrB;SAAK,MAAM,CAAC,YAAY,iBAAiB,KAAK,gBAAgB,CAC1D,KAAI,aAAa,aAAa,IAAI,aAAa,gBAAgB,CAC3D,QAAO;;AAInB,UAAO;;EAEX,CAAC,iBAAiB;AACd,OAAI,KAAK,cAAc,CACnB;AAEJ,OAAI,CAAC,KAAK,gBAAgB,CACtB,OAAM,IAAI,MAAM,0DAA0D;GAE9E,MAAMA,WAAS,KAAK,WAAW;GAC/B,MAAM,IAAIA,SAAO,GAAG;GACpB,IAAI,KAAKA,SAAO,KAAK;AACrB,OAAI,MAAM,MAAM,GAAG,QAAQ;AACvB,WAAO;AACP;;AAEJ,QAAK,MAAM,EAAE;AACb,QAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;IACxB,MAAM,IAAIA,SAAO,GAAG;IACpB,MAAM,IAAI,OAAO,CAACA,SAAO,GAAG,IAAI,EAAE,EAAE,EAAE;AACtC,UAAO,GAAG,KAAK,CAAC,GAAG,EAAE;;AAEzB,YAAO,KAAK,MAAM;;;CAapB,kBAAkB,OAAO,MAAM,QAAQ,GAAG,IAAI,GAAG,WAAW;CACrD,kBAAkB,OAAO,MAAM,QAAQ,GAAG,IAAI,GAAG,UAAU;;;;;;;cC9StC;CACrB,eAAb,MAAa,qBAAqB,OAAO;EACrC,OAAO,SAAS,OAAO,IAAI,cAAc;EACzC;EACA;EACA;EACA,SAAS,aAAa;;CAEb,OAAO,WAAW,MAAM,WAAW,WAAW,OAAO,OAAO,IAAI,cAAc,EAAE;EACzF;EACA;EACA;EACA;EACH,CAAC;CACW,cAAc,WAAW,MAAM,QAAQ,cAAc,OAAO,OAAO,IAAI,cAAc,EAAE;EAChG;EACA;EACA;EACA;EACH,CAAC;;;;;;;CCnBW,SAAS;EAClB,MAAM;EACN,gBAAgB;EAChB,SAAS;EACT,QAAQ;EACR,SAAS;EACT,aAAa;EACb,aAAa;EACb,UAAU;EACV,mBAAmB;EACnB,qBAAqB;EACrB,qBAAqB;EACrB,yBAAyB;EACzB,eAAe;EACf,cAAc;EACjB;;;;;;;CCfY,eAAb,MAAa,aAAa;EACtB;EACA;EACA;EACA,OAAO,6BAAa,IAAI,KAAK;EAC7B,YAAY,WAAW,0BAAU,IAAI,KAAK,EAAE,6BAAa,IAAI,KAAK,EAAE;AAChE,QAAK,YAAY;AACjB,QAAK,UAAU;AACf,QAAK,aAAa;;EAEtB,OAAO,IAAI,WAAW;AAClB,OAAI,CAAC,aAAa,WAAW,IAAI,UAAU,CACvC,cAAa,WAAW,IAAI,WAAW,IAAI,aAAa,UAAU,CAAC;AAEvE,UAAO,aAAa,WAAW,IAAI,UAAU;;EAEjD,SAAS,OAAO;GACZ,MAAM,EAAE,SAAS,eAAe;AAChC,QAAK,MAAM,CAAC,GAAG,MAAM,MAAM,QACvB,KAAI,CAAC,QAAQ,IAAI,EAAE,CACf,SAAQ,IAAI,GAAG,EAAE;AAGzB,QAAK,MAAM,CAAC,GAAG,MAAM,MAAM,WACvB,KAAI,CAAC,WAAW,IAAI,EAAE,CAClB,YAAW,IAAI,GAAG,EAAE;;EAIhC,SAAS,SAAS,QAAQ;GACtB,MAAM,gBAAgB,KAAK,iBAAiB,QAAQ;AACpD,QAAK,MAAM,KAAK,CAAC,MAAM,aAAa,IAAI,cAAc,MAAM,IAAI,CAAC,GAAG,CAAC,CACjE,GAAE,QAAQ,IAAI,eAAe,OAAO;;EAG5C,UAAU,SAAS;GACf,MAAM,KAAK,KAAK,iBAAiB,QAAQ;AACzC,OAAI,CAAC,KAAK,QAAQ,IAAI,GAAG,CACrB,OAAM,IAAI,MAAM,8CAA8C,KAAK;AAEvE,UAAO,KAAK,QAAQ,IAAI,GAAG;;EAE/B,cAAc,IAAI,MAAM;GACpB,MAAM,SAAS;GACf,MAAM,KAAK,OAAO;AAClB,QAAK,MAAM,KAAK,CAAC,MAAM,aAAa,IAAI,GAAG,CAAC,EAAE;AAC1C,MAAE,QAAQ,IAAI,KAAK,MAAM,OAAO,IAAI,OAAO;AAC3C,MAAE,WAAW,IAAI,QAAQ,KAAK;;;EAGtC,aAAa,IAAI;GACb,MAAM,SAAS;AACf,OAAI,KAAK,WAAW,IAAI,OAAO,CAC3B,QAAO,KAAK,WAAW,IAAI,OAAO;AAGtC,UADiB,aAAa,IAAI,OAAO,GAAG,CAC5B,WAAW,IAAI,OAAO;;EAE1C,mBAAmB;AACf,QAAK,MAAM,gBAAgB,KAAK,WAAW,MAAM,CAC7C,KAAI,MAAM,QAAQ,aAAa,EAAE;IAC7B,MAAM,GAAG,IAAI,QAAQ;IACrB,MAAM,KAAK,KAAK,MAAM;AACtB,QAAI,GAAG,WAAW,2BAA2B,IAAI,GAAG,SAAS,mBAAmB,CAC5E,QAAO;;;EAMvB,KAAK,WAAW;AACZ,UAAO,CAAC,GAAG,KAAK,QAAQ,QAAQ,CAAC,CAAC,KAAK,UAAU;;EAErD,QAAQ;AACJ,QAAK,QAAQ,OAAO;AACpB,QAAK,WAAW,OAAO;;EAE3B,iBAAiB,SAAS;AACtB,OAAI,QAAQ,SAAS,IAAI,CACrB,QAAO;AAEX,UAAO,KAAK,YAAY,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CEjFzB,6BAA6B,QAAQ,WAAW,aAAa,MAAM,MAAM;;;;;;;CCAzE,gBAAgB,UAAU;AACnC,UAAQ,OAAR;GACI,KAAK,OACD,QAAO;GACX,KAAK,QACD,QAAO;GACX,QACI,OAAM,IAAI,MAAM,kCAAkC,MAAM,GAAG;;;CAG1D,iBAAiB,UAAU;AACpC,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,UAAU;AAC3B,OAAI,UAAU,KAAK,UAAU,EACzB,QAAO,KAAK,kBAAkB,yBAAyB,OAAO,MAAM,IAAI,QAAQ,CAAC;AAErF,OAAI,UAAU,EACV,QAAO;AAEX,OAAI,UAAU,EACV,QAAO;;AAGf,MAAI,OAAO,UAAU,UAAU;GAC3B,MAAM,QAAQ,MAAM,aAAa;AACjC,OAAI,UAAU,WAAW,UAAU,OAC/B,QAAO,KAAK,kBAAkB,yBAAyB,OAAO,MAAM,IAAI,QAAQ,CAAC;AAErF,OAAI,UAAU,QACV,QAAO;AAEX,OAAI,UAAU,OACV,QAAO;;AAGf,MAAI,OAAO,UAAU,UACjB,QAAO;AAEX,QAAM,IAAI,UAAU,yBAAyB,OAAO,MAAM,IAAI,QAAQ;;CAE7D,gBAAgB,UAAU;AACnC,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,UAAU;GAC3B,MAAM,SAAS,WAAW,MAAM;AAChC,OAAI,CAAC,OAAO,MAAM,OAAO,EAAE;AACvB,QAAI,OAAO,OAAO,KAAK,OAAO,MAAM,CAChC,QAAO,KAAK,kBAAkB,wCAAwC,QAAQ,CAAC;AAEnF,WAAO;;;AAGf,MAAI,OAAO,UAAU,SACjB,QAAO;AAEX,QAAM,IAAI,UAAU,wBAAwB,OAAO,MAAM,IAAI,QAAQ;;CAEnE,YAAY,KAAK,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK;CACzC,iBAAiB,UAAU;EACpC,MAAM,WAAW,aAAa,MAAM;AACpC,MAAI,aAAa,UAAa,CAAC,OAAO,MAAM,SAAS,IAAI,aAAa,YAAY,aAAa,WAC3F;OAAI,KAAK,IAAI,SAAS,GAAG,UACrB,OAAM,IAAI,UAAU,8BAA8B,QAAQ;;AAGlE,SAAO;;CAEE,cAAc,UAAU;AACjC,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,MAAM,IAAI,CAAC,OAAO,MAAM,MAAM,CAC/C,QAAO;AAEX,QAAM,IAAI,UAAU,yBAAyB,OAAO,MAAM,IAAI,QAAQ;;CAE7D,YAAY;CACZ,eAAe,UAAU,eAAe,OAAO,GAAG;CAClD,eAAe,UAAU,eAAe,OAAO,GAAG;CAClD,cAAc,UAAU,eAAe,OAAO,EAAE;CACvD,kBAAkB,OAAO,SAAS;EACpC,MAAM,WAAW,WAAW,MAAM;AAClC,MAAI,aAAa,UAAa,QAAQ,UAAU,KAAK,KAAK,SACtD,OAAM,IAAI,UAAU,YAAY,KAAK,oBAAoB,QAAQ;AAErE,SAAO;;CAEL,WAAW,OAAO,SAAS;AAC7B,UAAQ,MAAR;GACI,KAAK,GACD,QAAO,WAAW,GAAG,MAAM,CAAC;GAChC,KAAK,GACD,QAAO,WAAW,GAAG,MAAM,CAAC;GAChC,KAAK,EACD,QAAO,UAAU,GAAG,MAAM,CAAC;;;CAG1B,iBAAiB,OAAO,aAAa;AAC9C,MAAI,UAAU,QAAQ,UAAU,QAAW;AACvC,OAAI,SACA,OAAM,IAAI,UAAU,iCAAiC,WAAW;AAEpE,SAAM,IAAI,UAAU,4BAA4B;;AAEpD,SAAO;;CAEE,gBAAgB,UAAU;AACnC,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM,CAClD,QAAO;EAEX,MAAM,eAAe,MAAM,QAAQ,MAAM,GAAG,UAAU,OAAO;AAC7D,QAAM,IAAI,UAAU,wBAAwB,aAAa,IAAI,QAAQ;;CAE5D,gBAAgB,UAAU;AACnC,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,SACjB,QAAO;AAEX,MAAI;GAAC;GAAW;GAAU;GAAS,CAAC,SAAS,OAAO,MAAM,EAAE;AACxD,UAAO,KAAK,kBAAkB,wBAAwB,OAAO,MAAM,IAAI,QAAQ,CAAC;AAChF,UAAO,OAAO,MAAM;;AAExB,QAAM,IAAI,UAAU,wBAAwB,OAAO,MAAM,IAAI,QAAQ;;CAE5D,eAAe,UAAU;AAClC,MAAI,UAAU,QAAQ,UAAU,OAC5B;EAEJ,MAAM,WAAW,aAAa,MAAM;EACpC,MAAM,UAAU,OAAO,QAAQ,SAAS,CACnC,QAAQ,GAAG,OAAO,KAAK,KAAK,CAC5B,KAAK,CAAC,OAAO,EAAE;AACpB,MAAI,QAAQ,WAAW,EACnB,OAAM,IAAI,UAAU,iEAAiE;AAEzF,MAAI,QAAQ,SAAS,EACjB,OAAM,IAAI,UAAU,sDAAsD,QAAQ,iBAAiB;AAEvG,SAAO;;CAEE,qBAAqB,UAAU;AACxC,MAAI,OAAO,SAAS,SAChB,QAAO,aAAa,YAAY,MAAM,CAAC;AAE3C,SAAO,aAAa,MAAM;;CAEjB,mBAAmB;CACnB,sBAAsB,UAAU;AACzC,MAAI,OAAO,SAAS,SAChB,QAAO,cAAc,YAAY,MAAM,CAAC;AAE5C,SAAO,cAAc,MAAM;;CAEzB,eAAe;CACf,eAAe,UAAU;EAC3B,MAAM,UAAU,MAAM,MAAM,aAAa;AACzC,MAAI,YAAY,QAAQ,QAAQ,GAAG,WAAW,MAAM,OAChD,OAAM,IAAI,UAAU,yCAAyC;AAEjE,SAAO,WAAW,MAAM;;CAEf,sBAAsB,UAAU;AACzC,MAAI,OAAO,SAAS,SAChB,QAAO,iBAAiB,MAAM;AAElC,SAAO,aAAa,MAAM;;CAEjB,cAAc;CACd,oBAAoB;CACpB,uBAAuB,UAAU;AAC1C,MAAI,OAAO,SAAS,SAChB,QAAO,iBAAiB,MAAM;AAElC,SAAO,cAAc,MAAM;;CAEzB,oBAAoB,UAAU;AAChC,UAAQ,OAAR;GACI,KAAK,MACD,QAAO;GACX,KAAK,WACD,QAAO;GACX,KAAK,YACD,QAAO;GACX,QACI,OAAM,IAAI,MAAM,gCAAgC,QAAQ;;;CAGvD,mBAAmB,UAAU;AACtC,MAAI,OAAO,UAAU,SACjB,QAAO,WAAW,YAAY,MAAM,CAAC;AAEzC,SAAO,WAAW,MAAM;;CAEf,iBAAiB;CACjB,oBAAoB,UAAU;AACvC,MAAI,OAAO,UAAU,SACjB,QAAO,YAAY,YAAY,MAAM,CAAC;AAE1C,SAAO,YAAY,MAAM;;CAEhB,oBAAoB,UAAU;AACvC,MAAI,OAAO,UAAU,SACjB,QAAO,YAAY,YAAY,MAAM,CAAC;AAE1C,SAAO,YAAY,MAAM;;CAEhB,mBAAmB,UAAU;AACtC,MAAI,OAAO,UAAU,SACjB,QAAO,WAAW,YAAY,MAAM,CAAC;AAEzC,SAAO,WAAW,MAAM;;CAEtB,qBAAqB,YAAY;AACnC,SAAO,OAAO,IAAI,UAAU,QAAQ,CAAC,SAAS,QAAQ,CACjD,MAAM,KAAK,CACX,MAAM,GAAG,EAAE,CACX,QAAQ,MAAM,CAAC,EAAE,SAAS,oBAAoB,CAAC,CAC/C,KAAK,KAAK;;CAEN,SAAS,EAClB,MAAM,QAAQ,MACjB;;;;;AClOD,SAAgB,gBAAgB,QAAM;CAClC,MAAMC,SAAOC,OAAK,gBAAgB;CAClC,MAAM,QAAQA,OAAK,aAAa;CAChC,MAAM,YAAYA,OAAK,WAAW;CAClC,MAAM,gBAAgBA,OAAK,YAAY;CACvC,MAAM,WAAWA,OAAK,aAAa;CACnC,MAAM,aAAaA,OAAK,eAAe;CACvC,MAAM,aAAaA,OAAK,eAAe;CACvC,MAAM,mBAAmB,gBAAgB,KAAK,IAAI,kBAAkB,GAAG;CACvE,MAAM,cAAc,WAAW,KAAK,IAAI,aAAa,GAAG;CACxD,MAAM,gBAAgB,aAAa,KAAK,IAAI,eAAe,GAAG;CAC9D,MAAM,gBAAgB,aAAa,KAAK,IAAI,eAAe,GAAG;AAC9D,QAAO,GAAG,KAAK,WAAW,IAAI,iBAAiB,GAAG,OAAO,OAAO,GAAGD,OAAK,GAAG,YAAY,GAAG,cAAc,GAAG,cAAc;;;;mBAfpB;CACnG,OAAO;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAM;CACxD,SAAS;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAM;CAe7F,0BAAU,IAAI,OAAO,uEAAuE;CACrF,wBAAwB,UAAU;AAC3C,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,SACjB,OAAM,IAAI,UAAU,mDAAmD;EAE3E,MAAM,QAAQ,QAAQ,KAAK,MAAM;AACjC,MAAI,CAAC,MACD,OAAM,IAAI,UAAU,mCAAmC;EAE3D,MAAM,CAAC,GAAG,SAAS,UAAU,QAAQ,OAAO,SAAS,SAAS,0BAA0B;AAIxF,SAAO,UAHM,iBAAiB,mBAAmB,QAAQ,CAAC,EAC5C,eAAe,UAAU,SAAS,GAAG,GAAG,EAC1C,eAAe,QAAQ,OAAO,GAAG,GAAG,EACb;GAAE;GAAO;GAAS;GAAS;GAAwB,CAAC;;CAErFE,wCAAsB,IAAI,OAAO,4FAA4F;CACtH,kCAAkC,UAAU;AACrD,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,SACjB,OAAM,IAAI,UAAU,mDAAmD;EAE3E,MAAM,QAAQA,sBAAoB,KAAK,MAAM;AAC7C,MAAI,CAAC,MACD,OAAM,IAAI,UAAU,mCAAmC;EAE3D,MAAM,CAAC,GAAG,SAAS,UAAU,QAAQ,OAAO,SAAS,SAAS,wBAAwB,aAAa;EAInG,MAAMD,SAAO,UAHA,iBAAiB,mBAAmB,QAAQ,CAAC,EAC5C,eAAe,UAAU,SAAS,GAAG,GAAG,EAC1C,eAAe,QAAQ,OAAO,GAAG,GAAG,EACP;GAAE;GAAO;GAAS;GAAS;GAAwB,CAAC;AAC7F,MAAI,UAAU,aAAa,IAAI,IAC3B,QAAK,QAAQA,OAAK,SAAS,GAAG,0BAA0B,UAAU,CAAC;AAEvE,SAAOA;;CAELE,gCAAc,IAAI,OAAO,iJAAiJ;CAC1KC,iCAAe,IAAI,OAAO,8KAA8K;CACxMC,6BAAW,IAAI,OAAO,mJAAmJ;CAClK,wBAAwB,UAAU;AAC3C,MAAI,UAAU,QAAQ,UAAU,OAC5B;AAEJ,MAAI,OAAO,UAAU,SACjB,OAAM,IAAI,UAAU,mDAAmD;EAE3E,IAAI,QAAQF,cAAY,KAAK,MAAM;AACnC,MAAI,OAAO;GACP,MAAM,CAAC,GAAG,QAAQ,UAAU,SAAS,OAAO,SAAS,SAAS,0BAA0B;AACxF,UAAO,UAAU,iBAAiB,mBAAmB,QAAQ,CAAC,EAAE,sBAAsB,SAAS,EAAE,eAAe,QAAQ,OAAO,GAAG,GAAG,EAAE;IAAE;IAAO;IAAS;IAAS;IAAwB,CAAC;;AAE/L,UAAQC,eAAa,KAAK,MAAM;AAChC,MAAI,OAAO;GACP,MAAM,CAAC,GAAG,QAAQ,UAAU,SAAS,OAAO,SAAS,SAAS,0BAA0B;AACxF,UAAO,iBAAiB,UAAU,kBAAkB,QAAQ,EAAE,sBAAsB,SAAS,EAAE,eAAe,QAAQ,OAAO,GAAG,GAAG,EAAE;IACjI;IACA;IACA;IACA;IACH,CAAC,CAAC;;AAEP,UAAQC,WAAS,KAAK,MAAM;AAC5B,MAAI,OAAO;GACP,MAAM,CAAC,GAAG,UAAU,QAAQ,OAAO,SAAS,SAAS,wBAAwB,WAAW;AACxF,UAAO,UAAU,iBAAiB,mBAAmB,QAAQ,CAAC,EAAE,sBAAsB,SAAS,EAAE,eAAe,OAAO,UAAU,EAAE,OAAO,GAAG,GAAG,EAAE;IAAE;IAAO;IAAS;IAAS;IAAwB,CAAC;;AAE1M,QAAM,IAAI,UAAU,mCAAmC;;CAE9C,uBAAuB,UAAU;AAC1C,MAAI,UAAU,QAAQ,UAAU,OAC5B;EAEJ,IAAI;AACJ,MAAI,OAAO,UAAU,SACjB,iBAAgB;WAEX,OAAO,UAAU,SACtB,iBAAgB,kBAAkB,MAAM;WAEnC,OAAO,UAAU,YAAY,MAAM,QAAQ,EAChD,iBAAgB,MAAM;MAGtB,OAAM,IAAI,UAAU,8FAA8F;AAEtH,MAAI,OAAO,MAAM,cAAc,IAAI,kBAAkB,YAAY,kBAAkB,UAC/E,OAAM,IAAI,UAAU,iEAAiE;AAEzF,SAAO,IAAI,KAAK,KAAK,MAAM,gBAAgB,IAAK,CAAC;;CAE/C,aAAa,QAAM,OAAO,KAAK,WAAS;EAC1C,MAAM,gBAAgB,QAAQ;AAC9B,qBAAmBL,QAAM,eAAe,IAAI;AAC5C,SAAO,IAAI,KAAK,KAAK,IAAIA,QAAM,eAAe,KAAK,eAAeM,OAAK,OAAO,QAAQ,GAAG,GAAG,EAAE,eAAeA,OAAK,SAAS,UAAU,GAAG,GAAG,EAAE,eAAeA,OAAK,SAAS,WAAW,GAAG,GAAG,EAAE,kBAAkBA,OAAK,uBAAuB,CAAC,CAAC;;CAE3O,qBAAqB,UAAU;EACjC,MAAM,4BAAW,IAAI,MAAM,EAAC,gBAAgB;EAC5C,MAAM,qBAAqB,KAAK,MAAM,WAAW,IAAI,GAAG,MAAM,iBAAiB,mBAAmB,MAAM,CAAC;AACzG,MAAI,qBAAqB,SACrB,QAAO,qBAAqB;AAEhC,SAAO;;CAEL,wBAAwB,KAAK,MAAM,KAAK,KAAK,KAAK;CAClD,oBAAoB,UAAU;AAChC,MAAI,MAAM,SAAS,oBAAG,IAAI,MAAM,EAAC,SAAS,GAAG,sBACzC,QAAO,IAAI,KAAK,KAAK,IAAI,MAAM,gBAAgB,GAAG,KAAK,MAAM,aAAa,EAAE,MAAM,YAAY,EAAE,MAAM,aAAa,EAAE,MAAM,eAAe,EAAE,MAAM,eAAe,EAAE,MAAM,oBAAoB,CAAC,CAAC;AAEnM,SAAO;;CAEL,yBAAyB,UAAU;EACrC,MAAM,WAAW,OAAO,QAAQ,MAAM;AACtC,MAAI,WAAW,EACX,OAAM,IAAI,UAAU,kBAAkB,QAAQ;AAElD,SAAO,WAAW;;CAEhB,gBAAgB;EAAC;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAG;CAChE,sBAAsB,QAAM,OAAO,QAAQ;EAC7C,IAAI,UAAU,cAAc;AAC5B,MAAI,UAAU,KAAK,WAAWN,OAAK,CAC/B,WAAU;AAEd,MAAI,MAAM,QACN,OAAM,IAAI,UAAU,mBAAmB,OAAO,OAAO,MAAMA,OAAK,IAAI,MAAM;;CAG5E,cAAc,WAAS;AACzB,SAAOA,SAAO,MAAM,MAAMA,SAAO,QAAQ,KAAKA,SAAO,QAAQ;;CAE3D,kBAAkB,OAAO,MAAM,OAAO,UAAU;EAClD,MAAM,UAAU,gBAAgB,mBAAmB,MAAM,CAAC;AAC1D,MAAI,UAAU,SAAS,UAAU,MAC7B,OAAM,IAAI,UAAU,GAAG,KAAK,mBAAmB,MAAM,OAAO,MAAM,aAAa;AAEnF,SAAO;;CAEL,qBAAqB,UAAU;AACjC,MAAI,UAAU,QAAQ,UAAU,OAC5B,QAAO;AAEX,SAAO,mBAAmB,OAAO,MAAM,GAAG;;CAExC,6BAA6B,UAAU;EACzC,MAAM,eAAe,MAAM;EAC3B,IAAI,YAAY;AAChB,MAAI,gBAAgB,IAChB,aAAY;WAEP,gBAAgB,IACrB,aAAY;MAGZ,OAAM,IAAI,UAAU,qBAAqB,aAAa,sBAAsB;EAEhF,MAAM,OAAO,OAAO,MAAM,UAAU,GAAG,EAAE,CAAC;EAC1C,MAAM,SAAS,OAAO,MAAM,UAAU,GAAG,EAAE,CAAC;AAC5C,SAAO,aAAa,OAAO,KAAK,UAAU,KAAK;;CAE7C,sBAAsB,UAAU;EAClC,IAAI,MAAM;AACV,SAAO,MAAM,MAAM,SAAS,KAAK,MAAM,OAAO,IAAI,KAAK,IACnD;AAEJ,MAAI,QAAQ,EACR,QAAO;AAEX,SAAO,MAAM,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrK3B,SAAgB,UAAU,GAAG,GAAG;AAC9B,KAAI,OAAO,MAAM,cAAc,MAAM,KACjC,OAAM,IAAI,UAAU,yBAAyB,OAAO,EAAE,GAAG,gCAAgC;AAC7F,eAAc,GAAG,EAAE;CACnB,SAAS,KAAK;AAAE,OAAK,cAAc;;AACnC,GAAE,YAAY,MAAM,OAAO,OAAO,OAAO,EAAE,IAAI,GAAG,YAAY,EAAE,WAAW,IAAI,IAAI;;AAcrF,SAAgB,OAAO,GAAG,GAAG;CAC3B,IAAI,IAAI,EAAE;AACV,MAAK,IAAI,KAAK,EAAG,KAAI,OAAO,UAAU,eAAe,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAC9E,GAAE,KAAK,EAAE;AACb,KAAI,KAAK,QAAQ,OAAO,OAAO,0BAA0B,YACrD;OAAK,IAAI,IAAI,GAAG,IAAI,OAAO,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,IAC/D,KAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,OAAO,UAAU,qBAAqB,KAAK,GAAG,EAAE,GAAG,CAC1E,GAAE,EAAE,MAAM,EAAE,EAAE;;AAE1B,QAAO;;AAGT,SAAgB,WAAW,YAAY,QAAQ,KAAK,MAAM;CACxD,IAAI,IAAI,UAAU,QAAQ,IAAI,IAAI,IAAI,SAAS,SAAS,OAAO,OAAO,OAAO,yBAAyB,QAAQ,IAAI,GAAG,MAAM;AAC3H,KAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa,WAAY,KAAI,QAAQ,SAAS,YAAY,QAAQ,KAAK,KAAK;KACzH,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,IAAK,KAAI,IAAI,WAAW,GAAI,MAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,QAAQ,KAAK,EAAE,GAAG,EAAE,QAAQ,IAAI,KAAK;AAChJ,QAAO,IAAI,KAAK,KAAK,OAAO,eAAe,QAAQ,KAAK,EAAE,EAAE;;AAG9D,SAAgB,QAAQ,YAAY,WAAW;AAC7C,QAAO,SAAU,QAAQ,KAAK;AAAE,YAAU,QAAQ,KAAK,WAAW;;;AAGpE,SAAgB,aAAa,MAAM,cAAc,YAAY,WAAW,cAAc,mBAAmB;CACvG,SAAS,OAAO,GAAG;AAAE,MAAI,MAAM,KAAK,KAAK,OAAO,MAAM,WAAY,OAAM,IAAI,UAAU,oBAAoB;AAAE,SAAO;;CACnH,IAAI,OAAO,UAAU,MAAM,MAAM,SAAS,WAAW,QAAQ,SAAS,WAAW,QAAQ;CACzF,IAAI,SAAS,CAAC,gBAAgB,OAAO,UAAU,YAAY,OAAO,KAAK,YAAY;CACnF,IAAI,aAAa,iBAAiB,SAAS,OAAO,yBAAyB,QAAQ,UAAU,KAAK,GAAG,EAAE;CACvG,IAAI,GAAG,OAAO;AACd,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;EAC7C,IAAI,UAAU,EAAE;AAChB,OAAK,IAAI,KAAK,UAAW,SAAQ,KAAK,MAAM,WAAW,EAAE,GAAG,UAAU;AACtE,OAAK,IAAI,KAAK,UAAU,OAAQ,SAAQ,OAAO,KAAK,UAAU,OAAO;AACrE,UAAQ,iBAAiB,SAAU,GAAG;AAAE,OAAI,KAAM,OAAM,IAAI,UAAU,yDAAyD;AAAE,qBAAkB,KAAK,OAAO,KAAK,KAAK,CAAC;;EAC1K,IAAI,UAAU,GAAG,WAAW,IAAI,SAAS,aAAa;GAAE,KAAK,WAAW;GAAK,KAAK,WAAW;GAAK,GAAG,WAAW,MAAM,QAAQ;AAC9H,MAAI,SAAS,YAAY;AACrB,OAAI,WAAW,KAAK,EAAG;AACvB,OAAI,WAAW,QAAQ,OAAO,WAAW,SAAU,OAAM,IAAI,UAAU,kBAAkB;AACzF,OAAI,IAAI,OAAO,OAAO,IAAI,CAAE,YAAW,MAAM;AAC7C,OAAI,IAAI,OAAO,OAAO,IAAI,CAAE,YAAW,MAAM;AAC7C,OAAI,IAAI,OAAO,OAAO,KAAK,CAAE,cAAa,QAAQ,EAAE;aAE/C,IAAI,OAAO,OAAO,CACvB,KAAI,SAAS,QAAS,cAAa,QAAQ,EAAE;MACxC,YAAW,OAAO;;AAG/B,KAAI,OAAQ,QAAO,eAAe,QAAQ,UAAU,MAAM,WAAW;AACrE,QAAO;;AAGT,SAAgB,kBAAkB,SAAS,cAAc,OAAO;CAC9D,IAAI,WAAW,UAAU,SAAS;AAClC,MAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,IACrC,SAAQ,WAAW,aAAa,GAAG,KAAK,SAAS,MAAM,GAAG,aAAa,GAAG,KAAK,QAAQ;AAE3F,QAAO,WAAW,QAAQ,KAAK;;AAGjC,SAAgB,UAAU,GAAG;AAC3B,QAAO,OAAO,MAAM,WAAW,IAAI,GAAG,OAAO,EAAE;;AAGjD,SAAgB,kBAAkB,GAAG,MAAM,QAAQ;AACjD,KAAI,OAAO,SAAS,SAAU,QAAO,KAAK,cAAc,IAAI,OAAO,KAAK,aAAa,IAAI,GAAG;AAC5F,QAAO,OAAO,eAAe,GAAG,QAAQ;EAAE,cAAc;EAAM,OAAO,SAAS,GAAG,OAAO,QAAQ,KAAK,KAAK,GAAG;EAAM,CAAC;;AAGtH,SAAgB,WAAW,aAAa,eAAe;AACrD,KAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa,WAAY,QAAO,QAAQ,SAAS,aAAa,cAAc;;AAGhI,SAAgB,UAAU,SAAS,YAAY,GAAG,WAAW;CAC3D,SAAS,MAAM,OAAO;AAAE,SAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,WAAQ,MAAM;IAAI;;AACzG,QAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;EACvD,SAAS,UAAU,OAAO;AAAE,OAAI;AAAE,SAAK,UAAU,KAAK,MAAM,CAAC;YAAW,GAAG;AAAE,WAAO,EAAE;;;EACtF,SAAS,SAAS,OAAO;AAAE,OAAI;AAAE,SAAK,UAAU,SAAS,MAAM,CAAC;YAAW,GAAG;AAAE,WAAO,EAAE;;;EACzF,SAAS,KAAK,QAAQ;AAAE,UAAO,OAAO,QAAQ,OAAO,MAAM,GAAG,MAAM,OAAO,MAAM,CAAC,KAAK,WAAW,SAAS;;AAC3G,QAAM,YAAY,UAAU,MAAM,SAAS,cAAc,EAAE,CAAC,EAAE,MAAM,CAAC;GACvE;;AAGJ,SAAgB,YAAY,SAAS,MAAM;CACzC,IAAI,IAAI;EAAE,OAAO;EAAG,MAAM,WAAW;AAAE,OAAI,EAAE,KAAK,EAAG,OAAM,EAAE;AAAI,UAAO,EAAE;;EAAO,MAAM,EAAE;EAAE,KAAK,EAAE;EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,QAAQ,OAAO,aAAa,aAAa,WAAW,QAAQ,UAAU;AAChM,QAAO,EAAE,OAAO,KAAK,EAAE,EAAE,EAAE,WAAW,KAAK,EAAE,EAAE,EAAE,YAAY,KAAK,EAAE,EAAE,OAAO,WAAW,eAAe,EAAE,OAAO,YAAY,WAAW;AAAE,SAAO;KAAU;CAC1J,SAAS,KAAK,GAAG;AAAE,SAAO,SAAU,GAAG;AAAE,UAAO,KAAK,CAAC,GAAG,EAAE,CAAC;;;CAC5D,SAAS,KAAK,MAAI;AACd,MAAI,EAAG,OAAM,IAAI,UAAU,kCAAkC;AAC7D,SAAO,MAAM,IAAI,GAAGO,KAAG,OAAO,IAAI,KAAK,EAAG,KAAI;AAC1C,OAAI,IAAI,GAAG,MAAM,IAAIA,KAAG,KAAK,IAAI,EAAE,YAAYA,KAAG,KAAK,EAAE,cAAc,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,GAAGA,KAAG,GAAG,EAAE,KAAM,QAAO;AAC3J,OAAI,IAAI,GAAG,EAAG,QAAK,CAACA,KAAG,KAAK,GAAG,EAAE,MAAM;AACvC,WAAQA,KAAG,IAAX;IACI,KAAK;IAAG,KAAK;AAAG,SAAIA;AAAI;IACxB,KAAK;AAAG,OAAE;AAAS,YAAO;MAAE,OAAOA,KAAG;MAAI,MAAM;MAAO;IACvD,KAAK;AAAG,OAAE;AAAS,SAAIA,KAAG;AAAI,YAAK,CAAC,EAAE;AAAE;IACxC,KAAK;AAAG,YAAK,EAAE,IAAI,KAAK;AAAE,OAAE,KAAK,KAAK;AAAE;IACxC;AACI,SAAI,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,QAAQA,KAAG,OAAO,KAAKA,KAAG,OAAO,IAAI;AAAE,UAAI;AAAG;;AACjG,SAAIA,KAAG,OAAO,MAAM,CAAC,KAAMA,KAAG,KAAK,EAAE,MAAMA,KAAG,KAAK,EAAE,KAAM;AAAE,QAAE,QAAQA,KAAG;AAAI;;AAC9E,SAAIA,KAAG,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI;AAAE,QAAE,QAAQ,EAAE;AAAI,UAAIA;AAAI;;AAC7D,SAAI,KAAK,EAAE,QAAQ,EAAE,IAAI;AAAE,QAAE,QAAQ,EAAE;AAAI,QAAE,IAAI,KAAKA,KAAG;AAAE;;AAC3D,SAAI,EAAE,GAAI,GAAE,IAAI,KAAK;AACrB,OAAE,KAAK,KAAK;AAAE;;AAEtB,UAAK,KAAK,KAAK,SAAS,EAAE;WACrB,GAAG;AAAE,UAAK,CAAC,GAAG,EAAE;AAAE,OAAI;YAAa;AAAE,OAAI,IAAI;;AACtD,MAAIA,KAAG,KAAK,EAAG,OAAMA,KAAG;AAAI,SAAO;GAAE,OAAOA,KAAG,KAAKA,KAAG,KAAK,KAAK;GAAG,MAAM;GAAM;;;AAgBtF,SAAgB,aAAa,GAAG,GAAG;AACjC,MAAK,IAAI,KAAK,EAAG,KAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,EAAE,CAAE,iBAAgB,GAAG,GAAG,EAAE;;AAG/G,SAAgB,SAAS,GAAG;CAC1B,IAAI,IAAI,OAAO,WAAW,cAAc,OAAO,UAAU,IAAI,KAAK,EAAE,IAAI,IAAI;AAC5E,KAAI,EAAG,QAAO,EAAE,KAAK,EAAE;AACvB,KAAI,KAAK,OAAO,EAAE,WAAW,SAAU,QAAO,EAC1C,MAAM,WAAY;AACd,MAAI,KAAK,KAAK,EAAE,OAAQ,KAAI,KAAK;AACjC,SAAO;GAAE,OAAO,KAAK,EAAE;GAAM,MAAM,CAAC;GAAG;IAE9C;AACD,OAAM,IAAI,UAAU,IAAI,4BAA4B,kCAAkC;;AAGxF,SAAgB,OAAO,GAAG,GAAG;CAC3B,IAAI,IAAI,OAAO,WAAW,cAAc,EAAE,OAAO;AACjD,KAAI,CAAC,EAAG,QAAO;CACf,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE;AAC/B,KAAI;AACA,UAAQ,MAAM,KAAK,KAAK,MAAM,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAM,IAAG,KAAK,EAAE,MAAM;UAEvEC,SAAO;AAAE,MAAI,EAAE,OAAOA,SAAO;WAC5B;AACJ,MAAI;AACA,OAAI,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,WAAY,GAAE,KAAK,EAAE;YAE5C;AAAE,OAAI,EAAG,OAAM,EAAE;;;AAE7B,QAAO;;;AAIT,SAAgB,WAAW;AACzB,MAAK,IAAI,KAAK,EAAE,EAAE,IAAI,GAAG,IAAI,UAAU,QAAQ,IAC3C,MAAK,GAAG,OAAO,OAAO,UAAU,GAAG,CAAC;AACxC,QAAO;;;AAIT,SAAgB,iBAAiB;AAC/B,MAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,UAAU,QAAQ,IAAI,IAAI,IAAK,MAAK,UAAU,GAAG;AAC7E,MAAK,IAAI,IAAI,MAAM,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IACzC,MAAK,IAAI,IAAI,UAAU,IAAI,IAAI,GAAG,KAAK,EAAE,QAAQ,IAAI,IAAI,KAAK,IAC1D,GAAE,KAAK,EAAE;AACjB,QAAO;;AAGT,SAAgB,cAAc,IAAI,MAAM,MAAM;AAC5C,KAAI,QAAQ,UAAU,WAAW,GAAG;OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,IAC5E,KAAI,MAAM,EAAE,KAAK,OAAO;AACpB,OAAI,CAAC,GAAI,MAAK,MAAM,UAAU,MAAM,KAAK,MAAM,GAAG,EAAE;AACpD,MAAG,KAAK,KAAK;;;AAGrB,QAAO,GAAG,OAAO,MAAM,MAAM,UAAU,MAAM,KAAK,KAAK,CAAC;;AAG1D,SAAgB,QAAQ,GAAG;AACzB,QAAO,gBAAgB,WAAW,KAAK,IAAI,GAAG,QAAQ,IAAI,QAAQ,EAAE;;AAGtE,SAAgB,iBAAiB,SAAS,YAAY,WAAW;AAC/D,KAAI,CAAC,OAAO,cAAe,OAAM,IAAI,UAAU,uCAAuC;CACtF,IAAI,IAAI,UAAU,MAAM,SAAS,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE;AAC7D,QAAO,IAAI,OAAO,QAAQ,OAAO,kBAAkB,aAAa,gBAAgB,QAAQ,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,YAAY,EAAE,EAAE,OAAO,iBAAiB,WAAY;AAAE,SAAO;IAAS;CACtN,SAAS,YAAY,GAAG;AAAE,SAAO,SAAU,GAAG;AAAE,UAAO,QAAQ,QAAQ,EAAE,CAAC,KAAK,GAAG,OAAO;;;CACzF,SAAS,KAAK,GAAG,GAAG;AAAE,MAAI,EAAE,IAAI;AAAE,KAAE,KAAK,SAAU,GAAG;AAAE,WAAO,IAAI,QAAQ,SAAU,GAAG,GAAG;AAAE,OAAE,KAAK;MAAC;MAAG;MAAG;MAAG;MAAE,CAAC,GAAG,KAAK,OAAO,GAAG,EAAE;MAAI;;AAAK,OAAI,EAAG,GAAE,KAAK,EAAE,EAAE,GAAG;;;CACnK,SAAS,OAAO,GAAG,GAAG;AAAE,MAAI;AAAE,QAAK,EAAE,GAAG,EAAE,CAAC;WAAW,GAAG;AAAE,UAAO,EAAE,GAAG,IAAI,EAAE;;;CAC7E,SAAS,KAAK,GAAG;AAAE,IAAE,iBAAiB,UAAU,QAAQ,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE;;CACrH,SAAS,QAAQ,OAAO;AAAE,SAAO,QAAQ,MAAM;;CAC/C,SAAS,OAAO,OAAO;AAAE,SAAO,SAAS,MAAM;;CAC/C,SAAS,OAAO,GAAG,GAAG;AAAE,MAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAQ,QAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG;;;AAGjF,SAAgB,iBAAiB,GAAG;CAClC,IAAI,GAAG;AACP,QAAO,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,SAAU,GAAG;AAAE,QAAM;GAAK,EAAE,KAAK,SAAS,EAAE,EAAE,OAAO,YAAY,WAAY;AAAE,SAAO;IAAS;CAC1I,SAAS,KAAK,GAAG,GAAG;AAAE,IAAE,KAAK,EAAE,KAAK,SAAU,GAAG;AAAE,WAAQ,IAAI,CAAC,KAAK;IAAE,OAAO,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAE,MAAM;IAAO,GAAG,IAAI,EAAE,EAAE,GAAG;MAAO;;;AAGpI,SAAgB,cAAc,GAAG;AAC/B,KAAI,CAAC,OAAO,cAAe,OAAM,IAAI,UAAU,uCAAuC;CACtF,IAAI,IAAI,EAAE,OAAO,gBAAgB;AACjC,QAAO,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,OAAO,aAAa,aAAa,SAAS,EAAE,GAAG,EAAE,OAAO,WAAW,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,EAAE,OAAO,iBAAiB,WAAY;AAAE,SAAO;IAAS;CAC9M,SAAS,KAAK,GAAG;AAAE,IAAE,KAAK,EAAE,MAAM,SAAU,GAAG;AAAE,UAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAAE,QAAI,EAAE,GAAG,EAAE,EAAE,OAAO,SAAS,QAAQ,EAAE,MAAM,EAAE,MAAM;KAAI;;;CAC1J,SAAS,OAAO,SAAS,QAAQ,GAAG,GAAG;AAAE,UAAQ,QAAQ,EAAE,CAAC,KAAK,SAAS,KAAG;AAAE,WAAQ;IAAE,OAAOC;IAAG,MAAM;IAAG,CAAC;KAAK,OAAO;;;AAG3H,SAAgB,qBAAqB,QAAQ,KAAK;AAChD,KAAI,OAAO,eAAkB,QAAO,eAAe,QAAQ,OAAO,EAAE,OAAO,KAAK,CAAC;KAAW,QAAO,MAAM;AACzG,QAAO;;AAkBT,SAAgB,aAAa,KAAK;AAChC,KAAI,OAAO,IAAI,WAAY,QAAO;CAClC,IAAI,SAAS,EAAE;AACf,KAAI,OAAO,MAAM;OAAK,IAAI,IAAI,QAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAI,EAAE,OAAO,UAAW,iBAAgB,QAAQ,KAAK,EAAE,GAAG;;AAChI,oBAAmB,QAAQ,IAAI;AAC/B,QAAO;;AAGT,SAAgB,gBAAgB,KAAK;AACnC,QAAQ,OAAO,IAAI,aAAc,MAAM,EAAE,SAAS,KAAK;;AAGzD,SAAgB,uBAAuB,UAAU,OAAO,MAAM,GAAG;AAC/D,KAAI,SAAS,OAAO,CAAC,EAAG,OAAM,IAAI,UAAU,gDAAgD;AAC5F,KAAI,OAAO,UAAU,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAE,OAAM,IAAI,UAAU,2EAA2E;AAClL,QAAO,SAAS,MAAM,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,GAAG,IAAI,EAAE,QAAQ,MAAM,IAAI,SAAS;;AAG/F,SAAgB,uBAAuB,UAAU,OAAO,OAAO,MAAM,GAAG;AACtE,KAAI,SAAS,IAAK,OAAM,IAAI,UAAU,iCAAiC;AACvE,KAAI,SAAS,OAAO,CAAC,EAAG,OAAM,IAAI,UAAU,gDAAgD;AAC5F,KAAI,OAAO,UAAU,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAE,OAAM,IAAI,UAAU,0EAA0E;AACjL,QAAQ,SAAS,MAAM,EAAE,KAAK,UAAU,MAAM,GAAG,IAAI,EAAE,QAAQ,QAAQ,MAAM,IAAI,UAAU,MAAM,EAAG;;AAGtG,SAAgB,sBAAsB,OAAO,UAAU;AACrD,KAAI,aAAa,QAAS,OAAO,aAAa,YAAY,OAAO,aAAa,WAAa,OAAM,IAAI,UAAU,yCAAyC;AACxJ,QAAO,OAAO,UAAU,aAAa,aAAa,QAAQ,MAAM,IAAI,SAAS;;AAG/E,SAAgB,wBAAwB,KAAK,OAAO,OAAO;AACzD,KAAI,UAAU,QAAQ,UAAU,KAAK,GAAG;AACtC,MAAI,OAAO,UAAU,YAAY,OAAO,UAAU,WAAY,OAAM,IAAI,UAAU,mBAAmB;EACrG,IAAI,SAAS;AACb,MAAI,OAAO;AACT,OAAI,CAAC,OAAO,aAAc,OAAM,IAAI,UAAU,sCAAsC;AACpF,aAAU,MAAM,OAAO;;AAEzB,MAAI,YAAY,KAAK,GAAG;AACtB,OAAI,CAAC,OAAO,QAAS,OAAM,IAAI,UAAU,iCAAiC;AAC1E,aAAU,MAAM,OAAO;AACvB,OAAI,MAAO,SAAQ;;AAErB,MAAI,OAAO,YAAY,WAAY,OAAM,IAAI,UAAU,yBAAyB;AAChF,MAAI,MAAO,WAAU,WAAW;AAAE,OAAI;AAAE,UAAM,KAAK,KAAK;YAAW,GAAG;AAAE,WAAO,QAAQ,OAAO,EAAE;;;AAChG,MAAI,MAAM,KAAK;GAAS;GAAgB;GAAgB;GAAO,CAAC;YAEzD,MACP,KAAI,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEjC,QAAO;;AAQT,SAAgB,mBAAmB,KAAK;CACtC,SAAS,KAAK,GAAG;AACf,MAAI,QAAQ,IAAI,WAAW,IAAI,iBAAiB,GAAG,IAAI,OAAO,2CAA2C,GAAG;AAC5G,MAAI,WAAW;;CAEjB,IAAI,GAAG,IAAI;CACX,SAAS,OAAO;AACd,SAAO,IAAI,IAAI,MAAM,KAAK,CACxB,KAAI;AACF,OAAI,CAAC,EAAE,SAAS,MAAM,EAAG,QAAO,IAAI,GAAG,IAAI,MAAM,KAAK,EAAE,EAAE,QAAQ,SAAS,CAAC,KAAK,KAAK;AACtF,OAAI,EAAE,SAAS;IACb,IAAI,SAAS,EAAE,QAAQ,KAAK,EAAE,MAAM;AACpC,QAAI,EAAE,MAAO,QAAO,KAAK,GAAG,QAAQ,QAAQ,OAAO,CAAC,KAAK,MAAM,SAAS,GAAG;AAAE,UAAK,EAAE;AAAE,YAAO,MAAM;MAAI;SAEpG,MAAK;WAEL,GAAG;AACR,QAAK,EAAE;;AAGX,MAAI,MAAM,EAAG,QAAO,IAAI,WAAW,QAAQ,OAAO,IAAI,MAAM,GAAG,QAAQ,SAAS;AAChF,MAAI,IAAI,SAAU,OAAM,IAAI;;AAE9B,QAAO,MAAM;;AAGf,SAAgB,iCAAiC,MAAM,aAAa;AAClE,KAAI,OAAO,SAAS,YAAY,WAAW,KAAK,KAAK,CACjD,QAAO,KAAK,QAAQ,oDAAoD,SAAU,GAAG,KAAK,GAAG,KAAK,IAAI;AAClG,SAAO,MAAM,cAAc,SAAS,QAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,IAAK,IAAI,MAAM,MAAM,GAAG,aAAa,GAAG;GAC3G;AAEN,QAAO;;;;CA5VL,gBAAgB,SAAS,GAAG,GAAG;AACjC,kBAAgB,OAAO,kBAClB,EAAE,WAAW,EAAE,EAAE,YAAY,SAAS,SAAU,KAAG,KAAG;AAAE,OAAE,YAAYC;OACvE,SAAU,KAAG,KAAG;AAAE,QAAK,IAAI,KAAKA,IAAG,KAAI,OAAO,UAAU,eAAe,KAAKA,KAAG,EAAE,CAAE,KAAE,KAAKA,IAAE;;AAChG,SAAO,cAAc,GAAG,EAAE;;CAWjB,WAAW,WAAW;AAC/B,aAAW,OAAO,UAAU,SAASC,WAAS,GAAG;AAC7C,QAAK,IAAI,GAAG,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AACjD,QAAI,UAAU;AACd,SAAK,IAAI,KAAK,EAAG,KAAI,OAAO,UAAU,eAAe,KAAK,GAAG,EAAE,CAAE,GAAE,KAAK,EAAE;;AAE9E,UAAO;;AAEX,SAAO,SAAS,MAAM,MAAM,UAAU;;CAiH7B,kBAAkB,OAAO,UAAU,SAAS,GAAG,GAAG,GAAG,IAAI;AAClE,MAAI,OAAO,OAAW,MAAK;EAC3B,IAAI,OAAO,OAAO,yBAAyB,GAAG,EAAE;AAChD,MAAI,CAAC,SAAS,SAAS,OAAO,CAAC,EAAE,aAAa,KAAK,YAAY,KAAK,cAChE,QAAO;GAAE,YAAY;GAAM,KAAK,WAAW;AAAE,WAAO,EAAE;;GAAO;AAEjE,SAAO,eAAe,GAAG,IAAI,KAAK;OAC9B,SAAS,GAAG,GAAG,GAAG,IAAI;AAC1B,MAAI,OAAO,OAAW,MAAK;AAC3B,IAAE,MAAM,EAAE;;CAkGR,qBAAqB,OAAO,UAAU,SAAS,GAAG,GAAG;AACvD,SAAO,eAAe,GAAG,WAAW;GAAE,YAAY;GAAM,OAAO;GAAG,CAAC;MAChE,SAAS,GAAG,GAAG;AAClB,IAAE,aAAa;;CAGb,UAAU,SAAS,GAAG;AACxB,YAAU,OAAO,uBAAuB,SAAU,KAAG;GACnD,IAAI,KAAK,EAAE;AACX,QAAK,IAAI,KAAKC,IAAG,KAAI,OAAO,UAAU,eAAe,KAAKA,KAAG,EAAE,CAAE,IAAG,GAAG,UAAU;AACjF,UAAO;;AAET,SAAO,QAAQ,EAAE;;CAwDf,mBAAmB,OAAO,oBAAoB,aAAa,kBAAkB,SAAU,SAAO,YAAY,SAAS;EACrH,IAAI,IAAI,IAAI,MAAM,QAAQ;AAC1B,SAAO,EAAE,OAAO,mBAAmB,EAAE,QAAQJ,SAAO,EAAE,aAAa,YAAY;;qBAsClE;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;;;;;;AC/YD,QAAO,eAAe,SAAS,cAAc,EAAE,OAAO,MAAM,CAAC;AAC7D,SAAQ,aAAa,KAAK;CAE1B,MAAM,+DAAmB,0BAAwB,SAAS,CAAC;AAC3D,SAAQ,aAAa,SAAS,QAAQ,WAAW,KAAK,SAAS,QAAQ;;;;;;CCHvE,IAAI;CAEJ,MAAM,eAAe,MAAM,KAAK,EAAE,QAAQ,KAAK,GAAG,GAAG,MAAM,EAAE,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;CAC3F,MAAM,WAAW;AACb,MAAI,WAAW,WACX,QAAO,WAAW,YAAY;EAElC,MAAM,OAAO,IAAI,WAAW,GAAG;AAC/B,SAAO,gBAAgB,KAAK;AAC5B,OAAK,KAAM,KAAK,KAAK,KAAQ;AAC7B,OAAK,KAAM,KAAK,KAAK,KAAQ;AAC7B,SAAQ,aAAa,KAAK,MACtB,aAAa,KAAK,MAClB,aAAa,KAAK,MAClB,aAAa,KAAK,MAClB,MACA,aAAa,KAAK,MAClB,aAAa,KAAK,MAClB,MACA,aAAa,KAAK,MAClB,aAAa,KAAK,MAClB,MACA,aAAa,KAAK,MAClB,aAAa,KAAK,MAClB,MACA,aAAa,KAAK,OAClB,aAAa,KAAK,OAClB,aAAa,KAAK,OAClB,aAAa,KAAK,OAClB,aAAa,KAAK,OAClB,aAAa,KAAK;;AAG1B,SAAQ,KAAK;;;;;;;;;;;;;;CEnCA,iBAAiB,SAASK,iBAAe,KAAK;AAYvD,SAXY,OAAO,OAAO,IAAI,OAAO,IAAI,EAAE;GACvC,kBAAkB;AACd,WAAO,KAAK,MAAM,OAAO,IAAI,CAAC;;GAElC,WAAW;AACP,WAAO,OAAO,IAAI;;GAEtB,SAAS;AACL,WAAO,OAAO,IAAI;;GAEzB,CAAC;;AAGN,gBAAe,QAAQ,WAAW;AAC9B,MAAI,UAAU,OAAO,WAAW,aAAa,kBAAkB,kBAAkB,qBAAqB,QAClG,QAAO;WAEF,OAAO,WAAW,YAAY,OAAO,eAAe,OAAO,KAAK,OAAO,UAC5E,QAAO,eAAe,OAAO,OAAO,CAAC;AAEzC,SAAO,eAAe,KAAK,UAAU,OAAO,CAAC;;AAEjD,gBAAe,aAAa,eAAe;;;;;ACvB3C,SAAgB,YAAY,MAAM;AAC9B,KAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,KAAI,CACxC,QAAO,IAAI,KAAK,QAAQ,MAAM,OAAM,CAAC;AAEzC,QAAO;;;;;;AC2FX,SAAS,MAAM,GAAG,KAAK,KAAK;CACxB,MAAM,KAAK,OAAO,EAAE;AACpB,KAAI,KAAK,OAAO,KAAK,IACjB,OAAM,IAAI,MAAM,SAAS,GAAG,iBAAiB,IAAI,IAAI,IAAI,GAAG;;;;CAlG9D,MAAM;CACN,MAAM;CACN,OAAO;CACP,OAAO;CACP,OAAO;CACP,sCAAsB,IAAI,OAAO,kFAAkF;CACnH,8BAAc,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,OAAO;CACxE,+BAAe,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,YAAY,KAAK,OAAO;CAC1E,2BAAW,IAAI,OAAO,IAAI,IAAI,GAAG,IAAI,mBAAmB,KAAK,GAAG,KAAK,GAAG;CACxE,SAAS;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAM;CACtF,wBAAwB,UAAU;AAC3C,MAAI,SAAS,KACT;EAEJ,IAAI,MAAM;AACV,MAAI,OAAO,UAAU,SACjB,OAAM;WAED,OAAO,UAAU,UAAU;AAChC,OAAI,CAAC,gBAAgB,KAAK,MAAM,CAC5B,OAAM,IAAI,UAAU,gDAAgD;AAExE,SAAM,OAAO,WAAW,MAAM;aAEzB,OAAO,UAAU,YAAY,MAAM,QAAQ,EAChD,OAAM,MAAM;AAEhB,MAAI,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,SAChC,OAAM,IAAI,UAAU,iDAAiD;AAEzE,SAAO,IAAI,KAAK,KAAK,MAAM,MAAM,IAAK,CAAC;;CAE9B,mCAAmC,UAAU;AACtD,MAAI,SAAS,KACT;AAEJ,MAAI,OAAO,UAAU,SACjB,OAAM,IAAI,UAAU,qCAAqC;EAE7D,MAAM,UAAU,oBAAoB,KAAK,MAAM;AAC/C,MAAI,CAAC,QACD,OAAM,IAAI,UAAU,oCAAoC,QAAQ;EAEpE,MAAM,GAAG,SAAS,UAAU,QAAQ,OAAO,SAAS,WAAW,IAAI,aAAa;AAChF,QAAM,UAAU,GAAG,GAAG;AACtB,QAAM,QAAQ,GAAG,GAAG;AACpB,QAAM,OAAO,GAAG,GAAG;AACnB,QAAM,SAAS,GAAG,GAAG;AACrB,QAAM,SAAS,GAAG,GAAG;EACrB,MAAMC,SAAO,IAAI,KAAK,KAAK,IAAI,OAAO,QAAQ,EAAE,OAAO,SAAS,GAAG,GAAG,OAAO,OAAO,EAAE,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,OAAO,QAAQ,EAAE,OAAO,GAAG,GAAG,KAAK,MAAM,WAAW,KAAK,KAAK,GAAG,IAAK,GAAG,EAAE,CAAC;AAClM,SAAK,eAAe,OAAO,QAAQ,CAAC;AACpC,MAAI,UAAU,aAAa,IAAI,KAAK;GAChC,MAAM,GAAG,MAAM,SAAS,WAAW,sBAAsB,KAAK,UAAU,IAAI;IAAC,KAAK;IAAG;IAAK;IAAG;IAAE;GAC/F,MAAM,SAAS,SAAS,MAAM,IAAI;AAClC,UAAK,QAAQA,OAAK,SAAS,GAAG,UAAU,OAAO,QAAQ,GAAG,KAAK,KAAK,MAAO,OAAO,QAAQ,GAAG,KAAK,KAAM;;AAE5G,SAAOA;;CAEE,yBAAyB,UAAU;AAC5C,MAAI,SAAS,KACT;AAEJ,MAAI,OAAO,UAAU,SACjB,OAAM,IAAI,UAAU,sCAAsC;EAE9D,IAAI;EACJ,IAAI;EACJ,IAAIC;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;AACJ,MAAK,UAAU,YAAY,KAAK,MAAM,CAClC,IAAG,KAAK,OAAOA,QAAM,MAAM,QAAQ,QAAQ,YAAY;WAEjD,UAAU,aAAa,KAAK,MAAM,EAAG;AAC3C,MAAG,KAAK,OAAOA,QAAM,MAAM,QAAQ,QAAQ,YAAY;AACvD,aAAQ,OAAOA,OAAK,GAAG,MAAM,UAAU;aAEjC,UAAU,SAAS,KAAK,MAAM,CACpC,IAAG,OAAO,KAAK,MAAM,QAAQ,QAAQ,UAAUA,UAAQ;AAE3D,MAAIA,UAAQ,QAAQ;GAChB,MAAM,YAAY,KAAK,IAAI,OAAOA,OAAK,EAAE,OAAO,QAAQ,MAAM,EAAE,OAAO,IAAI,EAAE,OAAO,KAAK,EAAE,OAAO,OAAO,EAAE,OAAO,OAAO,EAAE,WAAW,KAAK,MAAM,WAAW,KAAK,WAAW,GAAG,IAAK,GAAG,EAAE;AACzL,SAAM,KAAK,GAAG,GAAG;AACjB,SAAM,MAAM,GAAG,GAAG;AAClB,SAAM,QAAQ,GAAG,GAAG;AACpB,SAAM,QAAQ,GAAG,GAAG;GACpB,MAAMD,SAAO,IAAI,KAAK,UAAU;AAChC,UAAK,eAAe,OAAOC,OAAK,CAAC;AACjC,UAAOD;;AAEX,QAAM,IAAI,UAAU,mCAAmC,MAAM,GAAG;;;;;;AC7FpE,SAAgB,WAAW,OAAO,WAAW,eAAe;AACxD,KAAI,iBAAiB,KAAK,CAAC,OAAO,UAAU,cAAc,CACtD,OAAM,IAAI,MAAM,mCAAmC,gBAAgB,oBAAoB;CAE3F,MAAM,WAAW,MAAM,MAAM,UAAU;AACvC,KAAI,kBAAkB,EAClB,QAAO;CAEX,MAAM,mBAAmB,EAAE;CAC3B,IAAI,iBAAiB;AACrB,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACtC,MAAI,mBAAmB,GACnB,kBAAiB,SAAS;MAG1B,mBAAkB,YAAY,SAAS;AAE3C,OAAK,IAAI,KAAK,kBAAkB,GAAG;AAC/B,oBAAiB,KAAK,eAAe;AACrC,oBAAiB;;;AAGzB,KAAI,mBAAmB,GACnB,kBAAiB,KAAK,eAAe;AAEzC,QAAO;;;;;;;;CCzBE,eAAe,UAAU;EAClC,MAAM,IAAI,MAAM;EAChB,MAAM,SAAS,EAAE;EACjB,IAAI,eAAe;EACnB,IAAI,WAAW;EACf,IAAI,SAAS;AACb,OAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;GACxB,MAAM,OAAO,MAAM;AACnB,WAAQ,MAAR;IACI,KAAK;AACD,SAAI,aAAa,KACb,gBAAe,CAAC;AAEpB;IACJ,KAAK;AACD,SAAI,CAAC,cAAc;AACf,aAAO,KAAK,MAAM,MAAM,QAAQ,EAAE,CAAC;AACnC,eAAS,IAAI;;AAEjB;IACJ;;AAEJ,cAAW;;AAEf,SAAO,KAAK,MAAM,MAAM,OAAO,CAAC;AAChC,SAAO,OAAO,KAAK,MAAM;AACrB,OAAI,EAAE,MAAM;GACZ,MAAME,MAAI,EAAE;AACZ,OAAIA,MAAI,EACJ,QAAO;AAEX,OAAI,EAAE,OAAO,OAAO,EAAEA,MAAI,OAAO,IAC7B,KAAI,EAAE,MAAM,GAAGA,MAAI,EAAE;AAEzB,UAAO,EAAE,QAAQ,QAAQ,KAAI;IAC/B;;;;;;ACbN,SAAgB,GAAG,OAAO;AACtB,QAAO,IAAI,aAAa,OAAO,MAAM,EAAE,aAAa;;;;CAvBlD,SAAS;CACF,eAAb,MAAa,aAAa;EACtB;EACA;EACA,YAAY,QAAQ,MAAM;AACtB,QAAK,SAAS;AACd,QAAK,OAAO;AACZ,OAAI,CAAC,OAAO,KAAK,OAAO,CACpB,OAAM,IAAI,MAAM,iIAAiI;;EAGzJ,WAAW;AACP,UAAO,KAAK;;EAEhB,QAAQ,OAAO,aAAa,QAAQ;AAChC,OAAI,CAAC,UAAU,OAAO,WAAW,SAC7B,QAAO;GAEX,MAAM,MAAM;AACZ,UAAO,aAAa,UAAU,cAAc,OAAO,IAAK,IAAI,SAAS,gBAAgB,OAAO,KAAK,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CEnBvG,eAAb,MAA0B;EACtB;EACA,gBAAgB,cAAc;AAC1B,QAAK,eAAe;;;;;;;;;cCH0D;;oBAExC;CACjC,eAAb,cAAkC,aAAa;EAC3C;EACA;EACA,YAAY,SAAS;AACjB,UAAO;AACP,QAAK,UAAU;AACf,QAAK,yBAAyB,aAAa,IAAI,QAAQ,iBAAiB;AACxE,QAAK,MAAM,OAAO,QAAQ,uBAAuB,EAAE,CAC/C,MAAK,uBAAuB,SAAS,IAAI;;EAGjD,iBAAiB;AACb,UAAOC;;EAEX,kBAAkB;AACd,UAAOC;;EAEX,gBAAgB,cAAc;AAC1B,QAAK,eAAe;AACpB,QAAK,WAAW,gBAAgB,aAAa;AAC7C,QAAK,aAAa,gBAAgB,aAAa;AAC/C,OAAI,KAAK,iBAAiB,CACtB,MAAK,iBAAiB,CAAC,gBAAgB,aAAa;;EAG5D,sBAAsB,SAAS,UAAU;AACrC,OAAI,SAAS,UAAU;AACnB,YAAQ,WAAW,SAAS,IAAI;AAChC,YAAQ,WAAW,SAAS,IAAI;AAChC,YAAQ,OAAO,SAAS,IAAI,OAAO,OAAO,SAAS,IAAI,KAAK,GAAG;AAC/D,YAAQ,OAAO,SAAS,IAAI;AAC5B,YAAQ,WAAW,SAAS,IAAI,QAAQ,KAAK;AAC7C,YAAQ,WAAW,SAAS,IAAI,YAAY,KAAK;AACjD,YAAQ,WAAW,SAAS,IAAI,YAAY,KAAK;AACjD,QAAI,CAAC,QAAQ,MACT,SAAQ,QAAQ,EAAE;AAEtB,SAAK,MAAM,CAAC,GAAG,MAAM,SAAS,IAAI,aAAa,SAAS,CACpD,SAAQ,MAAM,KAAK;AAEvB,QAAI,SAAS,QACT,MAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,SAAS,QAAQ,CACzD,SAAQ,QAAQ,QAAQ,OAAO,KAAK,KAAK;AAGjD,WAAO;UAEN;AACD,YAAQ,WAAW,SAAS;AAC5B,YAAQ,WAAW,SAAS;AAC5B,YAAQ,OAAO,SAAS,OAAO,OAAO,SAAS,KAAK,GAAG;AACvD,YAAQ,OAAO,SAAS;AACxB,YAAQ,QAAQ,EACZ,GAAG,SAAS,OACf;AACD,QAAI,SAAS,QACT,MAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,SAAS,QAAQ,CACxD,SAAQ,QAAQ,QAAQ;AAGhC,WAAO;;;EAGf,cAAc,SAAS,iBAAiB,OAAO;AAC3C,OAAI,KAAK,cAAc,kBACnB;GAEJ,MAAM,UAAU,iBAAiB,GAAG,gBAAgB,MAAM;GAC1D,MAAM,WAAW,gBAAgB,gBAAgB,UAAU,EAAE,CAAC;AAC9D,OAAI,SAAS,UAAU;IACnB,IAAI,aAAa,SAAS,WAAW;AACrC,QAAI,OAAO,eAAe,UAAU;KAChC,MAAM,kBAAkB,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC,QAAQ,GAAGC,cAAYA,SAAO,iBAAiB,CAAC,UAAU;AAChH,UAAK,MAAM,CAAC,SAAS,iBAAiB;MAClC,MAAM,cAAc,MAAM;AAC1B,UAAI,OAAO,gBAAgB,SACvB,OAAM,IAAI,MAAM,yBAAyB,KAAK,0CAA0C;AAE5F,mBAAa,WAAW,QAAQ,IAAI,KAAK,IAAI,YAAY;;AAE7D,aAAQ,WAAW,aAAa,QAAQ;;;;EAIpD,oBAAoB,QAAQ;AACxB,UAAO;IACH,gBAAgB,OAAO;IACvB,WAAW,OAAO,QAAQ,uBAAuB,OAAO,QAAQ,wBAAwB,OAAO,QAAQ;IACvG,mBAAmB,OAAO,QAAQ;IAClC,MAAM,OAAO,QAAQ;IACxB;;EAEL,MAAM,qBAAqB,EAAE,aAAa,eAAe,kBAAmB;AAExE,WADyB,MAAM,KAAK,2BAA2B,EACvC,qBAAqB;IACzC;IACA;IACA;IACH,CAAC;;EAEN,MAAM,uBAAuB,EAAE,UAAU,gBAAgB,4BAA6B;AAElF,WADyB,MAAM,KAAK,2BAA2B,EACvC,uBAAuB;IAC3C;IACA;IACA;IACH,CAAC;;EAEN,MAAM,4BAA4B;GAC9B,MAAM,EAAE,qBAAqB,MAAM,OAAO;AAC1C,UAAO,IAAI,iBAAiB;IACxB,YAAY,KAAK,0BAA0B;IAC3C,YAAY,KAAK;IACjB,cAAc,KAAK;IACnB,cAAc,KAAK;IACnB,oBAAoB,KAAK,uBAAuB;IACnD,CAAC;;EAEN,wBAAwB;AACpB,SAAM,IAAI,MAAM,4BAA4B,KAAK,YAAY,KAAK,kDAAkD;;EAExH,MAAM,uBAAuB,QAAQ,SAAS,UAAU,MAAM,MAAM;AAMhE,UAAO,EAAE;;EAEb,2BAA2B;GACvB,MAAM,UAAU,KAAK;AACrB,OAAI,CAAC,QAAQ,sBACT,OAAM,IAAI,MAAM,8EAA8E;AAElG,UAAO,QAAQ;;;;;;;;;cCzIiD;aACX;;;2BAGT;qCACyB;oBAC/B;CACjC,sBAAb,cAAyC,aAAa;EAClD,MAAM,iBAAiB,iBAAiB,QAAQ,SAAS;GACrD,MAAM,QAAQ,EACV,GAAI,UAAU,EAAE,EACnB;GACD,MAAM,aAAa,KAAK;GACxB,MAAM,QAAQ,EAAE;GAChB,MAAM,UAAU,EAAE;GAClB,MAAM,WAAW,MAAM,QAAQ,UAAU;GACzC,MAAM,KAAK,iBAAiB,GAAG,iBAAiB,MAAM;GACtD,MAAM,qBAAqB,EAAE;GAC7B,MAAM,uBAAuB,EAAE;GAC/B,IAAI,0BAA0B;GAC9B,IAAI;GACJ,MAAM,UAAU,IAAIC,8BAAY;IAC5B,UAAU;IACV,UAAU;IACV,MAAM;IACN,MAAM;IACN,UAAU;IACH;IACE;IACT,MAAM;IACT,CAAC;AACF,OAAI,UAAU;AACV,SAAK,sBAAsB,SAAS,SAAS;AAC7C,SAAK,cAAc,SAAS,iBAAiB,MAAM;IACnD,MAAM,WAAW,gBAAgB,gBAAgB,OAAO;AACxD,QAAI,SAAS,MAAM;AACf,aAAQ,SAAS,SAAS,KAAK;KAC/B,MAAM,CAAC,MAAM,UAAU,SAAS,KAAK,GAAG,MAAM,IAAI;AAClD,SAAI,QAAQ,QAAQ,IAChB,SAAQ,OAAO;SAGf,SAAQ,QAAQ;KAEpB,MAAM,oBAAoB,IAAI,gBAAgB,UAAU,GAAG;AAC3D,YAAO,OAAO,OAAO,OAAO,YAAY,kBAAkB,CAAC;;;AAGnE,QAAK,MAAM,CAAC,YAAY,aAAa,GAAG,gBAAgB,EAAE;IACtD,MAAM,eAAe,SAAS,iBAAiB,IAAI,EAAE;IACrD,MAAM,mBAAmB,MAAM;AAC/B,QAAI,oBAAoB,QAAQ,CAAC,SAAS,oBAAoB,EAAE;AAC5D,SAAI,aAAa,WACb;UAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,GAAG,CACrF,OAAM,IAAI,MAAM,2CAA2C,WAAW,GAAG;;AAGjF;;AAEJ,QAAI,aAAa,aAAa;AAE1B,SADoB,SAAS,aAAa,CAGtC,KADsB,SAAS,gBAAgB,EAE3C;UAAI,MAAM,YACN,WAAU,MAAM,KAAK,qBAAqB;OACtC,aAAa,MAAM;OACnB,eAAe;OAClB,CAAC;WAIN,WAAU;UAGb;AACD,iBAAW,MAAM,UAAU,iBAAiB;AAC5C,gBAAU,WAAW,OAAO;;AAEhC,YAAO,MAAM;eAER,aAAa,WAAW;AAC7B,gBAAW,MAAM,UAAU,iBAAiB;KAC5C,MAAM,cAAc,WAAW,OAAO;AACtC,SAAI,QAAQ,KAAK,SAAS,IAAI,WAAW,IAAI,CACzC,SAAQ,OAAO,QAAQ,KAAK,QAAQ,IAAI,WAAW,KAAK,YAAY,MAAM,IAAI,CAAC,IAAI,2BAA2B,CAAC,KAAK,IAAI,CAAC;cAEpH,QAAQ,KAAK,SAAS,IAAI,WAAW,GAAG,CAC7C,SAAQ,OAAO,QAAQ,KAAK,QAAQ,IAAI,WAAW,IAAI,2BAA2B,YAAY,CAAC;AAEnG,YAAO,MAAM;eAER,aAAa,YAAY;AAC9B,gBAAW,MAAM,UAAU,iBAAiB;AAC5C,aAAQ,aAAa,WAAW,aAAa,IAAI,OAAO,WAAW,OAAO,CAAC;AAC3E,YAAO,MAAM;eAER,OAAO,aAAa,sBAAsB,UAAU;AACzD,UAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,iBAAiB,EAAE;MACvD,MAAM,UAAU,aAAa,oBAAoB;AACjD,iBAAW,MAAM,CAAC,SAAS,gBAAgB,EAAE,EAAE,YAAY,SAAS,CAAC,EAAE,IAAI;AAC3E,cAAQ,QAAQ,aAAa,IAAI,WAAW,OAAO;;AAEvD,YAAO,MAAM;eAER,aAAa,aAAa,aAAa,iBAAiB;AAC7D,UAAK,eAAe,UAAU,kBAAkB,MAAM;AACtD,YAAO,MAAM;WAEZ;AACD,+BAA0B;AAC1B,wBAAmB,KAAK,WAAW;AACnC,0BAAqB,KAAK,SAAS;;;AAG3C,OAAI,2BAA2B,OAAO;IAClC,MAAM,CAAC,WAAW,SAAS,GAAG,QAAQ,KAAK,IAAI,YAAY,MAAM,IAAI;IACrE,MAAM,kBAAkB,GAAG,WAAW,CAAC;IACvC,MAAM,gBAAgB;KAClB;KACA;KACA;KACA,GAAG,iBAAiB;KACpB;KACA;KACA;KACH;AACD,QAAI,gBACA,eAAc,KAAK;QAGnB,eAAc,KAAK;AAEvB,eAAW,MAAM,eAAe,MAAM;AACtC,cAAU,WAAW,OAAO;;AAEhC,WAAQ,UAAU;AAClB,WAAQ,QAAQ;AAChB,WAAQ,OAAO;AACf,UAAO;;EAEX,eAAe,IAAI,MAAM,OAAO;GAC5B,MAAM,aAAa,KAAK;GACxB,MAAM,SAAS,GAAG,iBAAiB;AACnC,OAAI,OAAO,iBAAiB;AACxB,SAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,KAAK,CACzC,KAAI,EAAE,OAAO,QAAQ;KACjB,MAAM,cAAc,GAAG,gBAAgB;AACvC,YAAO,OAAO,YAAY,iBAAiB,EAAE;MACzC,GAAG;MACH,WAAW;MACX,iBAAiB;MACpB,CAAC;AACF,UAAK,eAAe,aAAa,KAAK,MAAM;;AAGpD;;AAEJ,OAAI,GAAG,cAAc,EAAE;IACnB,MAAM,SAAS,CAAC,CAAC,GAAG,iBAAiB,CAAC;IACtC,MAAM,SAAS,EAAE;AACjB,SAAK,MAAM,QAAQ,MAAM;AACrB,gBAAW,MAAM,CAAC,GAAG,gBAAgB,EAAE,OAAO,EAAE,KAAK;KACrD,MAAM,eAAe,WAAW,OAAO;AACvC,SAAI,UAAU,iBAAiB,OAC3B,QAAO,KAAK,aAAa;;AAGjC,UAAM,OAAO,aAAa;UAEzB;AACD,eAAW,MAAM,CAAC,IAAI,OAAO,EAAE,KAAK;AACpC,UAAM,OAAO,aAAa,WAAW,OAAO;;;EAGpD,MAAM,oBAAoB,iBAAiB,SAAS,UAAU;GAC1D,MAAM,eAAe,KAAK;GAC1B,MAAM,KAAK,iBAAiB,GAAG,gBAAgB,OAAO;GACtD,MAAM,aAAa,EAAE;AACrB,OAAI,SAAS,cAAc,KAAK;IAC5B,MAAM,QAAQ,MAAM,YAAY,SAAS,MAAM,QAAQ;AACvD,QAAI,MAAM,aAAa,EACnB,QAAO,OAAO,YAAY,MAAM,aAAa,KAAK,IAAI,MAAM,CAAC;AAEjE,UAAM,KAAK,YAAY,iBAAiB,SAAS,UAAU,YAAY,KAAK,oBAAoB,SAAS,CAAC;AAC1G,UAAM,IAAI,MAAM,wEAAwE;;AAE5F,QAAK,MAAM,UAAU,SAAS,SAAS;IACnC,MAAM,QAAQ,SAAS,QAAQ;AAC/B,WAAO,SAAS,QAAQ;AACxB,aAAS,QAAQ,OAAO,aAAa,IAAI;;GAE7C,MAAM,wBAAwB,MAAM,KAAK,uBAAuB,IAAI,SAAS,UAAU,WAAW;AAClG,OAAI,sBAAsB,QAAQ;IAC9B,MAAM,QAAQ,MAAM,YAAY,SAAS,MAAM,QAAQ;AACvD,QAAI,MAAM,aAAa,GAAG;KACtB,MAAM,eAAe,MAAM,aAAa,KAAK,IAAI,MAAM;AACvD,UAAK,MAAMC,YAAU,sBACjB,KAAI,aAAaA,aAAW,KACxB,YAAWA,YAAU,aAAaA;;cAKzC,sBAAsB,oBAC3B,OAAM,YAAY,SAAS,MAAM,QAAQ;AAE7C,cAAW,YAAY,KAAK,oBAAoB,SAAS;AACzD,UAAO;;EAEX,MAAM,uBAAuB,QAAQ,SAAS,UAAU,MAAM,MAAM;GAChE,IAAI;AACJ,OAAI,gBAAgB,IAChB,cAAa;OAGb,cAAa;GAEjB,IAAI,sBAAsB;GAC1B,MAAM,eAAe,KAAK;GAC1B,MAAM,KAAK,iBAAiB,GAAG,OAAO;GACtC,MAAM,wBAAwB,EAAE;AAChC,QAAK,MAAM,CAAC,YAAY,iBAAiB,GAAG,gBAAgB,EAAE;IAC1D,MAAM,eAAe,aAAa,iBAAiB;AACnD,QAAI,aAAa,aAAa;AAC1B,2BAAsB;AAEtB,SADoB,aAAa,aAAa,CAG1C,KADsB,aAAa,gBAAgB,CAE/C,YAAW,cAAc,MAAM,KAAK,uBAAuB;MACvD;MACA,gBAAgB;MACnB,CAAC;SAGF,YAAW,oDAA6B,SAAS,KAAK;cAGrD,SAAS,MAAM;MACpB,MAAM,QAAQ,MAAM,YAAY,SAAS,MAAM,QAAQ;AACvD,UAAI,MAAM,aAAa,EACnB,YAAW,cAAc,MAAM,aAAa,KAAK,cAAc,MAAM;;eAIxE,aAAa,YAAY;KAC9B,MAAM,MAAM,OAAO,aAAa,WAAW,CAAC,aAAa;KACzD,MAAM,QAAQ,SAAS,QAAQ;AAC/B,SAAI,QAAQ,MACR,KAAI,aAAa,cAAc,EAAE;MAC7B,MAAM,wBAAwB,aAAa,gBAAgB;AAC3D,4BAAsB,iBAAiB,CAAC,aAAa;MACrD,IAAI;AACJ,UAAI,sBAAsB,mBAAmB,IACzC,sBAAsB,WAAW,KAAK,EACtC,YAAW,WAAW,OAAO,KAAK,EAAE;UAGpC,YAAW,YAAY,MAAM;MAEjC,MAAMC,SAAO,EAAE;AACf,WAAK,MAAM,WAAW,SAClB,QAAK,KAAK,MAAM,aAAa,KAAK,uBAAuB,QAAQ,MAAM,CAAC,CAAC;AAE7E,iBAAW,cAAcA;WAGzB,YAAW,cAAc,MAAM,aAAa,KAAK,cAAc,MAAM;eAIxE,aAAa,sBAAsB,QAAW;AACnD,gBAAW,cAAc,EAAE;AAC3B,UAAK,MAAM,CAAC,QAAQ,UAAU,OAAO,QAAQ,SAAS,QAAQ,CAC1D,KAAI,OAAO,WAAW,aAAa,kBAAkB,EAAE;MACnD,MAAM,cAAc,aAAa,gBAAgB;AACjD,kBAAY,iBAAiB,CAAC,aAAa;AAC3C,iBAAW,YAAY,OAAO,MAAM,aAAa,kBAAkB,OAAO,IAAI,MAAM,aAAa,KAAK,aAAa,MAAM;;eAI5H,aAAa,iBAClB,YAAW,cAAc,SAAS;QAGlC,uBAAsB,KAAK,WAAW;;AAG9C,yBAAsB,sBAAsB;AAC5C,UAAO;;;;;;;;;cClSwC;;2BAEH;oBACN;CACjC,cAAb,cAAiC,aAAa;EAC1C,MAAM,iBAAiB,iBAAiB,OAAO,SAAS;GACpD,MAAM,aAAa,KAAK;GACxB,MAAM,QAAQ,EAAE;GAChB,MAAM,UAAU,EAAE;GAClB,MAAM,WAAW,MAAM,QAAQ,UAAU;GACzC,MAAM,KAAK,iBAAiB,GAAG,iBAAiB,MAAM;GACtD,MAAM,SAAS,GAAG,WAAW;GAC7B,IAAI;GACJ,MAAM,UAAU,IAAIC,8BAAY;IAC5B,UAAU;IACV,UAAU;IACV,MAAM;IACN,MAAM;IACN,UAAU;IACH;IACE;IACT,MAAM;IACT,CAAC;AACF,OAAI,UAAU;AACV,SAAK,sBAAsB,SAAS,SAAS;AAC7C,SAAK,cAAc,SAAS,iBAAiB,MAAM;;GAEvD,MAAM,SAAS,EACX,GAAG,OACN;AACD,OAAI,OAAO;IACP,MAAM,oBAAoB,GAAG,sBAAsB;AACnD,QAAI,mBACA;SAAI,OAAO,oBAAoB;MAC3B,MAAM,iBAAiB,EAAE;AACzB,WAAK,MAAM,CAAC,YAAY,iBAAiB,GAAG,gBAAgB,CACxD,KAAI,eAAe,qBAAqB,OAAO,aAAa;AACxD,kBAAW,MAAM,cAAc,OAAO,YAAY;AAClD,sBAAe,cAAc,WAAW,OAAO;;AAGvD,gBAAU,MAAM,KAAK,qBAAqB;OACtC,aAAa,OAAO;OACpB,eAAe;OACf;OACH,CAAC;;WAGL;AACD,gBAAW,MAAM,QAAQ,OAAO;AAChC,eAAU,WAAW,OAAO;;;AAGpC,WAAQ,UAAU,OAAO,OAAO,QAAQ,SAAS,QAAQ;AACzD,WAAQ,QAAQ;AAChB,WAAQ,OAAO;AACf,WAAQ,SAAS;AACjB,UAAO;;EAEX,MAAM,oBAAoB,iBAAiB,SAAS,UAAU;GAC1D,MAAM,eAAe,KAAK;GAC1B,MAAM,KAAK,iBAAiB,GAAG,gBAAgB,OAAO;GACtD,MAAM,aAAa,EAAE;AACrB,OAAI,SAAS,cAAc,KAAK;IAC5B,MAAM,QAAQ,MAAM,YAAY,SAAS,MAAM,QAAQ;AACvD,QAAI,MAAM,aAAa,EACnB,QAAO,OAAO,YAAY,MAAM,aAAa,KAAK,IAAI,MAAM,CAAC;AAEjE,UAAM,KAAK,YAAY,iBAAiB,SAAS,UAAU,YAAY,KAAK,oBAAoB,SAAS,CAAC;AAC1G,UAAM,IAAI,MAAM,uEAAuE;;AAE3F,QAAK,MAAM,UAAU,SAAS,SAAS;IACnC,MAAM,QAAQ,SAAS,QAAQ;AAC/B,WAAO,SAAS,QAAQ;AACxB,aAAS,QAAQ,OAAO,aAAa,IAAI;;GAE7C,MAAM,oBAAoB,GAAG,sBAAsB;AACnD,OAAI,kBACA,YAAW,qBAAqB,MAAM,KAAK,uBAAuB;IAC9D;IACA,gBAAgB;IAChB,0BAA0B;IAC7B,CAAC;QAED;IACD,MAAM,QAAQ,MAAM,YAAY,SAAS,MAAM,QAAQ;AACvD,QAAI,MAAM,aAAa,EACnB,QAAO,OAAO,YAAY,MAAM,aAAa,KAAK,IAAI,MAAM,CAAC;;AAGrE,cAAW,YAAY,KAAK,oBAAoB,SAAS;AACzD,UAAO;;;;;;;;;qCC3F8D;CAChE,gBAAgB,gBAAc,OAAO,YAAY,oBAAoB,UAAU,kBAAkB;AAC1G,MAAI,SAAS,QAAQ,MAAM,gBAAgB,QAAW;GAClD,MAAM,aAAa,oBAAoB;AACvC,OAAI,cAAc,QAAQ,WAAW,UAAU,EAC3C,OAAM,IAAI,MAAM,gDAAgD,aAAa,IAAI;AAErF,oBAAeC,eAAa,QAAQ,UAAU,gBACxC,WACG,MAAM,IAAI,CACV,KAAK,YAAY,2BAA2B,QAAQ,CAAC,CACrD,KAAK,IAAI,GACZ,2BAA2B,WAAW,CAAC;QAG7C,OAAM,IAAI,MAAM,6CAA6C,aAAa,IAAI;AAElF,SAAOA;;;;;;ACfX,SAAgB,eAAe,OAAO,SAAS;AAC3C,QAAO,IAAI,eAAe,OAAO,QAAQ;;;;;oBAFC;CAIjC,iBAAb,MAA4B;EACxB;EACA;EACA,QAAQ,EAAE;EACV,SAAS;EACT,UAAU,EAAE;EACZ,OAAO;EACP,OAAO;EACP,WAAW;EACX,mBAAmB,EAAE;EACrB,YAAY,OAAO,SAAS;AACxB,QAAK,QAAQ;AACb,QAAK,UAAU;;EAEnB,MAAM,QAAQ;GACV,MAAM,EAAE,UAAU,WAAW,SAAS,MAAM,MAAM,aAAa,MAAM,KAAK,QAAQ,UAAU;AAC5F,QAAK,OAAO;AACZ,QAAK,MAAM,eAAe,KAAK,iBAC3B,aAAY,KAAK,KAAK;AAE1B,UAAO,IAAIC,8BAAY;IACnB;IACA,UAAU,KAAK,YAAY;IAC3B;IACA,QAAQ,KAAK;IACb,MAAM,KAAK;IACX,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,SAAS,KAAK;IACjB,CAAC;;EAEN,GAAG,UAAU;AACT,QAAK,WAAW;AAChB,UAAO;;EAEX,GAAG,UAAU;AACT,QAAK,iBAAiB,MAAM,aAAa;AACrC,SAAK,OAAO,GAAG,UAAU,SAAS,IAAI,GAAG,SAAS,MAAM,GAAG,GAAG,GAAG,YAAY,OAAO;KACtF;AACF,UAAO;;EAEX,EAAE,YAAY,oBAAoB,UAAU,eAAe;AACvD,QAAK,iBAAiB,MAAM,SAAS;AACjC,SAAK,OAAO,aAAa,MAAM,KAAK,OAAO,YAAY,oBAAoB,UAAU,cAAc;KACrG;AACF,UAAO;;EAEX,EAAE,SAAS;AACP,QAAK,UAAU;AACf,UAAO;;EAEX,EAAE,OAAO;AACL,QAAK,QAAQ;AACb,UAAO;;EAEX,EAAE,MAAM;AACJ,QAAK,OAAO;AACZ,UAAO;;EAEX,EAAE,QAAQ;AACN,QAAK,SAAS;AACd,UAAO;;;;;;;AClEf,SAAgB,yBAAyB,IAAI,UAAU;AACnD,KAAI,SAAS,gBAAgB,UACzB;MAAI,GAAG,mBAAmB,KACrB,GAAG,WAAW,KAAK,KAChB,GAAG,WAAW,KAAK,KACnB,GAAG,WAAW,KAAK,GACvB,QAAO,GAAG,WAAW;;CAG7B,MAAM,EAAE,WAAW,mBAAmB,YAAY,cAAc,GAAG,iBAAiB;AAQpF,SAPsB,SAAS,eACzB,OAAO,sBAAsB,YAAY,QAAQ,WAAW,GACxD,IACA,QAAQ,UAAU,IAAI,QAAQ,UAAU,GACpC,IACA,SACR,WACkB,SAAS,gBAAgB;;;;;;;;cCjBE;aACuG;;;oBAG/G;gCACuB;CACzD,8BAAb,cAAiD,aAAa;EAC1D;EACA,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,KAAK,SAAS,MAAM;GAChB,MAAM,KAAK,iBAAiB,GAAG,QAAQ;AACvC,OAAI,GAAG,cAAc,CACjB,QAAO,YAAY,KAAK,CAAC,KAAK,SAAS,KAAK,KAAK,GAAG,gBAAgB,EAAE,KAAK,CAAC;AAEhF,OAAI,GAAG,cAAc,CACjB,SAAQ,KAAK,cAAc,iBAAiBC,8BAAY,KAAK;AAEjE,OAAI,GAAG,mBAAmB,CAEtB,SADe,yBAAyB,IAAI,KAAK,SAAS,EAC1D;IACI,KAAK,EACD,QAAO,gCAAgC,KAAK;IAChD,KAAK,EACD,QAAO,sBAAsB,KAAK;IACtC,KAAK,EACD,QAAO,qBAAqB,KAAK;IACrC;AACI,aAAQ,KAAK,kEAAkE,KAAK;AACpF,YAAO,IAAI,KAAK,KAAK;;AAGjC,OAAI,GAAG,gBAAgB,EAAE;IACrB,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACvC,IAAI,oBAAoB;AACxB,QAAI,WAAW;AACX,SAAI,GAAG,iBAAiB,CAAC,WACrB,qBAAoB,KAAK,aAAa,kBAAkB;AAG5D,SADe,cAAc,sBAAsB,UAAU,SAAS,QAAQ,CAE1E,qBAAoB,eAAe,KAAK,kBAAkB;AAE9D,YAAO;;;AAGf,OAAI,GAAG,iBAAiB,CACpB,QAAO,OAAO,KAAK;AAEvB,OAAI,GAAG,oBAAoB,CACvB,QAAO,OAAO,KAAK;AAEvB,OAAI,GAAG,oBAAoB,CACvB,QAAO,IAAI,aAAa,MAAM,aAAa;AAE/C,OAAI,GAAG,iBAAiB,CACpB,QAAO,OAAO,KAAK,CAAC,aAAa,KAAK;AAE1C,UAAO;;EAEX,aAAa,cAAc;AACvB,WAAQ,KAAK,cAAc,eAAeC,2BAAS,KAAK,cAAc,iBAAiBD,8BAAY,aAAa,CAAC;;;;;;;;;cC/DlE;;oBAER;mCAC6B;CAC/D,oCAAb,cAAuD,aAAa;EAChE;EACA;EACA,YAAY,mBAAmB,eAAe;AAC1C,UAAO;AACP,QAAK,oBAAoB;AACzB,QAAK,qBAAqB,IAAI,4BAA4B,cAAc;;EAE5E,gBAAgB,cAAc;AAC1B,QAAK,mBAAmB,gBAAgB,aAAa;AACrD,QAAK,kBAAkB,gBAAgB,aAAa;AACpD,QAAK,eAAe;;EAExB,KAAK,QAAQ,MAAM;GACf,MAAM,KAAK,iBAAiB,GAAG,OAAO;GACtC,MAAM,SAAS,GAAG,iBAAiB;GACnC,MAAM,WAAW,KAAK,cAAc,eAAeE;AACnD,OAAI,OAAO,cAAc,OAAO,iBAC5B,QAAO,KAAK,mBAAmB,KAAK,IAAI,SAAS,KAAK,CAAC;AAE3D,OAAI,OAAO,aACP;QAAI,GAAG,cAAc,EAAE;KACnB,MAAM,UAAU,KAAK,cAAc,eAAeC;AAClD,SAAI,OAAO,SAAS,SAChB,QAAO,QAAQ,KAAK;AAExB,YAAO;eAEF,GAAG,gBAAgB,EAAE;AAC1B,SAAI,gBAAgB,KAChB,QAAO,SAAS,KAAK;AAEzB,YAAO;;;AAGf,UAAO,KAAK,kBAAkB,KAAK,IAAI,KAAK;;;;;;;;;cCvCG;aACqD;;oBAE7D;gCACuB;CACzD,0BAAb,cAA6C,aAAa;EACtD;EACA,eAAe;EACf,YAAY,UAAU;AAClB,UAAO;AACP,QAAK,WAAW;;EAEpB,MAAM,QAAQ,OAAO;GACjB,MAAM,KAAK,iBAAiB,GAAG,OAAO;AACtC,WAAQ,OAAO,OAAf;IACI,KAAK;AACD,SAAI,UAAU,MAAM;AAChB,WAAK,eAAe;AACpB;;AAEJ,SAAI,GAAG,mBAAmB,EAAE;AACxB,UAAI,EAAE,iBAAiB,MACnB,OAAM,IAAI,MAAM,oDAAoD,MAAM,gCAAgC,GAAG,QAAQ,KAAK,GAAG;AAGjI,cADe,yBAAyB,IAAI,KAAK,SAAS,EAC1D;OACI,KAAK;AACD,aAAK,eAAe,MAAM,aAAa,CAAC,QAAQ,SAAS,IAAI;AAC7D;OACJ,KAAK;AACD,aAAK,eAAe,gBAAgB,MAAM;AAC1C;OACJ,KAAK;AACD,aAAK,eAAe,OAAO,MAAM,SAAS,GAAG,IAAK;AAClD;OACJ;AACI,gBAAQ,KAAK,iDAAiD,MAAM;AACpE,aAAK,eAAe,OAAO,MAAM,SAAS,GAAG,IAAK;;AAE1D;;AAEJ,SAAI,GAAG,cAAc,IAAI,gBAAgB,OAAO;AAC5C,WAAK,gBAAgB,KAAK,cAAc,iBAAiBC,0BAAU,MAAM;AACzE;;AAEJ,SAAI,GAAG,cAAc,IAAI,MAAM,QAAQ,MAAM,EAAE;MAC3C,IAAI,SAAS;AACb,WAAK,MAAM,QAAQ,OAAO;AACtB,YAAK,MAAM,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,EAAE,KAAK;OAC7D,MAAM,aAAa,KAAK,OAAO;OAC/B,MAAM,aAAa,GAAG,gBAAgB,CAAC,mBAAmB,GAAG,aAAa,YAAY,WAAW;AACjG,WAAI,WAAW,GACX,WAAU;AAEd,iBAAU;;AAEd,WAAK,eAAe;AACpB;;AAEJ,UAAK,eAAe,KAAK,UAAU,OAAO,MAAM,EAAE;AAClD;IACJ,KAAK;KACD,MAAM,YAAY,GAAG,iBAAiB,CAAC;KACvC,IAAI,oBAAoB;AACxB,SAAI,WAAW;AAEX,UADe,cAAc,sBAAsB,UAAU,SAAS,QAAQ,CAE1E,qBAAoB,eAAe,KAAK,kBAAkB;AAE9D,UAAI,GAAG,iBAAiB,CAAC,YAAY;AACjC,YAAK,gBAAgB,KAAK,cAAc,iBAAiBA,0BAAU,kBAAkB,UAAU,CAAC;AAChG;;;AAGR,UAAK,eAAe;AACpB;IACJ,QACI,KAAI,GAAG,oBAAoB,CACvB,MAAK,0CAAyC;QAG9C,MAAK,eAAe,OAAO,MAAM;;;EAIjD,QAAQ;GACJ,MAAM,SAAS,KAAK;AACpB,QAAK,eAAe;AACpB,UAAO;;;;;;;;;cCxFwC;+BACa;CACvD,kCAAb,MAA6C;EACzC;EACA;EACA;EACA,YAAY,iBAAiB,eAAe,mBAAmB,IAAI,wBAAwB,cAAc,EAAE;AACvG,QAAK,kBAAkB;AACvB,QAAK,mBAAmB;;EAE5B,gBAAgB,cAAc;AAC1B,QAAK,gBAAgB,gBAAgB,aAAa;AAClD,QAAK,iBAAiB,gBAAgB,aAAa;;EAEvD,MAAM,QAAQ,OAAO;GACjB,MAAM,KAAK,iBAAiB,GAAG,OAAO;GACtC,MAAM,SAAS,GAAG,iBAAiB;AACnC,OAAI,OAAO,cAAc,OAAO,aAAa,OAAO,WAAW;AAC3D,SAAK,iBAAiB,MAAM,IAAI,MAAM;AACtC,SAAK,SAAS,KAAK,iBAAiB,OAAO;AAC3C;;AAEJ,UAAO,KAAK,gBAAgB,MAAM,IAAI,MAAM;;EAEhD,QAAQ;AACJ,OAAI,KAAK,WAAW,QAAW;IAC3B,MAAM,SAAS,KAAK;AACpB,SAAK,SAAS;AACd,WAAO;;AAEX,UAAO,KAAK,gBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CE5B3C,MAAM,iBAAiB,MAAM,YAAY;EACrC,MAAM,WAAW,EAAE;AACnB,MAAI,KACA,UAAS,KAAK,KAAK;AAEvB,MAAI,QACA,MAAK,MAAM,SAAS,QAChB,UAAS,KAAK,MAAM;AAG5B,SAAO;;CAEX,MAAM,gCAAgC,MAAM,YAAY;AACpD,SAAO,GAAG,QAAQ,cAAc,WAAW,QAAQ,SAAS,IAAI,YAAY,QAAQ,KAAK,IAAI,CAAC,KAAK;;CAEvG,MAAM,uBAAuB;EACzB,IAAI,kBAAkB,EAAE;EACxB,IAAI,kBAAkB,EAAE;EACxB,IAAI,oBAAoB;EACxB,MAAM,iCAAiB,IAAI,KAAK;EAChC,MAAM,QAAQ,YAAY,QAAQ,MAAM,GAAG,MAAM,YAAY,EAAE,QAAQ,YAAY,EAAE,SACjF,gBAAgB,EAAE,YAAY,YAAY,gBAAgB,EAAE,YAAY,UAAU;EACtF,MAAM,gBAAgB,aAAa;GAC/B,IAAI,YAAY;GAChB,MAAM,YAAY,UAAU;IACxB,MAAM,UAAU,cAAc,MAAM,MAAM,MAAM,QAAQ;AACxD,QAAI,QAAQ,SAAS,SAAS,EAAE;AAC5B,iBAAY;AACZ,UAAK,MAAM,SAAS,QAChB,gBAAe,OAAO,MAAM;AAEhC,YAAO;;AAEX,WAAO;;AAEX,qBAAkB,gBAAgB,OAAO,SAAS;AAClD,qBAAkB,gBAAgB,OAAO,SAAS;AAClD,UAAO;;EAEX,MAAM,qBAAqB,aAAa;GACpC,IAAI,YAAY;GAChB,MAAM,YAAY,UAAU;AACxB,QAAI,MAAM,eAAe,UAAU;AAC/B,iBAAY;AACZ,UAAK,MAAM,SAAS,cAAc,MAAM,MAAM,MAAM,QAAQ,CACxD,gBAAe,OAAO,MAAM;AAEhC,YAAO;;AAEX,WAAO;;AAEX,qBAAkB,gBAAgB,OAAO,SAAS;AAClD,qBAAkB,gBAAgB,OAAO,SAAS;AAClD,UAAO;;EAEX,MAAM,WAAW,YAAY;AACzB,mBAAgB,SAAS,UAAU;AAC/B,YAAQ,IAAI,MAAM,YAAY,EAAE,GAAG,OAAO,CAAC;KAC7C;AACF,mBAAgB,SAAS,UAAU;AAC/B,YAAQ,cAAc,MAAM,YAAY,EAAE,GAAG,OAAO,CAAC;KACvD;AACF,WAAQ,oBAAoB,MAAM,mBAAmB,CAAC;AACtD,UAAO;;EAEX,MAAM,gCAAgC,SAAS;GAC3C,MAAM,yBAAyB,EAAE;AACjC,QAAK,OAAO,SAAS,UAAU;AAC3B,QAAI,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,WAAW,EACpD,wBAAuB,KAAK,MAAM;QAGlC,wBAAuB,KAAK,GAAG,6BAA6B,MAAM,CAAC;KAEzE;AACF,0BAAuB,KAAK,KAAK;AACjC,QAAK,MAAM,SAAS,CAAC,SAAS,UAAU;AACpC,QAAI,MAAM,OAAO,WAAW,KAAK,MAAM,MAAM,WAAW,EACpD,wBAAuB,KAAK,MAAM;QAGlC,wBAAuB,KAAK,GAAG,6BAA6B,MAAM,CAAC;KAEzE;AACF,UAAO;;EAEX,MAAM,qBAAqB,QAAQ,UAAU;GACzC,MAAM,4BAA4B,EAAE;GACpC,MAAM,4BAA4B,EAAE;GACpC,MAAM,2BAA2B,EAAE;AACnC,mBAAgB,SAAS,UAAU;IAC/B,MAAM,kBAAkB;KACpB,GAAG;KACH,QAAQ,EAAE;KACV,OAAO,EAAE;KACZ;AACD,SAAK,MAAM,SAAS,cAAc,gBAAgB,MAAM,gBAAgB,QAAQ,CAC5E,0BAAyB,SAAS;AAEtC,8BAA0B,KAAK,gBAAgB;KACjD;AACF,mBAAgB,SAAS,UAAU;IAC/B,MAAM,kBAAkB;KACpB,GAAG;KACH,QAAQ,EAAE;KACV,OAAO,EAAE;KACZ;AACD,SAAK,MAAM,SAAS,cAAc,gBAAgB,MAAM,gBAAgB,QAAQ,CAC5E,0BAAyB,SAAS;AAEtC,8BAA0B,KAAK,gBAAgB;KACjD;AACF,6BAA0B,SAAS,UAAU;AACzC,QAAI,MAAM,cAAc;KACpB,MAAM,eAAe,yBAAyB,MAAM;AACpD,SAAI,iBAAiB,QAAW;AAC5B,UAAI,MACA;AAEJ,YAAM,IAAI,MAAM,GAAG,MAAM,aAAa,4BAC/B,6BAA6B,MAAM,MAAM,MAAM,QAAQ,CAAC,cAC7C,MAAM,SAAS,GAAG,MAAM,eAAe;;AAE7D,SAAI,MAAM,aAAa,QACnB,cAAa,MAAM,KAAK,MAAM;AAElC,SAAI,MAAM,aAAa,SACnB,cAAa,OAAO,KAAK,MAAM;;KAGzC;AAOF,UANkB,KAAK,0BAA0B,CAC5C,IAAI,6BAA6B,CACjC,QAAQ,WAAW,2BAA2B;AAC/C,cAAU,KAAK,GAAG,uBAAuB;AACzC,WAAO;MACR,EAAE,CAAC;;EAGV,MAAM,QAAQ;GACV,MAAM,YAAY,UAAU,EAAE,KAAK;IAC/B,MAAM,EAAE,MAAM,UAAU,SAAS,aAAa;IAC9C,MAAM,QAAQ;KACV,MAAM;KACN,UAAU;KACV;KACA,GAAG;KACN;IACD,MAAM,UAAU,cAAc,MAAM,SAAS;AAC7C,QAAI,QAAQ,SAAS,GAAG;AACpB,SAAI,QAAQ,MAAM,UAAU,eAAe,IAAI,MAAM,CAAC,EAAE;AACpD,UAAI,CAAC,SACD,OAAM,IAAI,MAAM,8BAA8B,6BAA6B,MAAM,SAAS,CAAC,GAAG;AAClG,WAAK,MAAM,SAAS,SAAS;OACzB,MAAM,kBAAkB,gBAAgB,WAAW,YAAUC,QAAM,SAAS,SAASA,QAAM,SAAS,MAAM,MAAM,MAAM,MAAM,CAAC;AAC7H,WAAI,oBAAoB,GACpB;OAEJ,MAAM,aAAa,gBAAgB;AACnC,WAAI,WAAW,SAAS,MAAM,QAAQ,MAAM,aAAa,WAAW,SAChE,OAAM,IAAI,MAAM,IAAI,6BAA6B,WAAW,MAAM,WAAW,QAAQ,CAAC,oBAC/E,WAAW,SAAS,eAAe,WAAW,KAAK,iCACjC,6BAA6B,MAAM,SAAS,CAAC,oBAC/D,MAAM,SAAS,eAAe,MAAM,KAAK,QAAQ;AAE5D,uBAAgB,OAAO,iBAAiB,EAAE;;;AAGlD,UAAK,MAAM,SAAS,QAChB,gBAAe,IAAI,MAAM;;AAGjC,oBAAgB,KAAK,MAAM;;GAE/B,gBAAgB,YAAY,YAAY;IACpC,MAAM,EAAE,MAAM,UAAU,SAAS,aAAa;IAC9C,MAAM,QAAQ;KACV;KACA,GAAG;KACN;IACD,MAAM,UAAU,cAAc,MAAM,SAAS;AAC7C,QAAI,QAAQ,SAAS,GAAG;AACpB,SAAI,QAAQ,MAAM,UAAU,eAAe,IAAI,MAAM,CAAC,EAAE;AACpD,UAAI,CAAC,SACD,OAAM,IAAI,MAAM,8BAA8B,6BAA6B,MAAM,SAAS,CAAC,GAAG;AAClG,WAAK,MAAM,SAAS,SAAS;OACzB,MAAM,kBAAkB,gBAAgB,WAAW,YAAUA,QAAM,SAAS,SAASA,QAAM,SAAS,MAAM,MAAM,MAAM,MAAM,CAAC;AAC7H,WAAI,oBAAoB,GACpB;OAEJ,MAAM,aAAa,gBAAgB;AACnC,WAAI,WAAW,iBAAiB,MAAM,gBAAgB,WAAW,aAAa,MAAM,SAChF,OAAM,IAAI,MAAM,IAAI,6BAA6B,WAAW,MAAM,WAAW,QAAQ,CAAC,eAC/E,WAAW,SAAS,IAAI,WAAW,aAAa,wCAC5C,6BAA6B,MAAM,SAAS,CAAC,eAAe,MAAM,SAAS,IAC9E,MAAM,aAAa,eAAe;AAE9C,uBAAgB,OAAO,iBAAiB,EAAE;;;AAGlD,UAAK,MAAM,SAAS,QAChB,gBAAe,IAAI,MAAM;;AAGjC,oBAAgB,KAAK,MAAM;;GAE/B,aAAa,QAAQ,gBAAgB,CAAC;GACtC,MAAM,WAAW;AACb,WAAO,aAAa,MAAM;;GAE9B,SAAS,aAAa;AAClB,QAAI,OAAO,aAAa,SACpB,QAAO,aAAa,SAAS;QAE7B,QAAO,kBAAkB,SAAS;;GAE1C,cAAc,aAAa;IACvB,IAAI,YAAY;IAChB,MAAM,YAAY,UAAU;KACxB,MAAM,EAAE,MAAM,MAAM,SAAS,aAAa;AAC1C,SAAI,QAAQ,KAAK,SAAS,SAAS,EAAE;MACjC,MAAM,UAAU,cAAc,MAAM,SAAS;AAC7C,WAAK,MAAM,SAAS,QAChB,gBAAe,OAAO,MAAM;AAEhC,kBAAY;AACZ,aAAO;;AAEX,YAAO;;AAEX,sBAAkB,gBAAgB,OAAO,SAAS;AAClD,sBAAkB,gBAAgB,OAAO,SAAS;AAClD,WAAO;;GAEX,SAAS,SAAS;IACd,MAAM,SAAS,QAAQ,gBAAgB,CAAC;AACxC,WAAO,IAAI,KAAK;AAChB,WAAO,kBAAkB,qBAAqB,OAAO,mBAAmB,KAAK,KAAK,qBAAqB,IAAI,OAAO;AAClH,WAAO;;GAEX,cAAc;GACd,gBAAgB;AACZ,WAAO,kBAAkB,KAAK,CAAC,KAAK,OAAO;KACvC,MAAM,OAAO,GAAG,QACZ,GAAG,WACC,MACA,GAAG;AACX,YAAO,6BAA6B,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ;MACrE;;GAEN,kBAAkB,QAAQ;AACtB,QAAI,OAAO,WAAW,UAClB,qBAAoB;AACxB,WAAO;;GAEX,UAAU,SAAS,YAAY;AAC3B,SAAK,MAAM,cAAc,mBAAmB,CACvC,KAAK,UAAU,MAAM,WAAW,CAChC,SAAS,CACV,WAAU,WAAW,SAAS,QAAQ;AAE1C,QAAI,kBACA,SAAQ,IAAI,MAAM,UAAU,CAAC;AAEjC,WAAO;;GAEd;AACD,SAAO;;CAEX,MAAM,cAAc;EAChB,YAAY;EACZ,WAAW;EACX,OAAO;EACP,iBAAiB;EACjB,aAAa;EAChB;CACD,MAAM,kBAAkB;EACpB,MAAM;EACN,QAAQ;EACR,KAAK;EACR;AAED,SAAQ,iBAAiB;;;;;;CC1RzB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,IAAM,SAAN,MAAa;EACT;EACA,kBAAkB,gBAAgB,gBAAgB;EAClD;EACA;EACA,YAAY,QAAQ;AAChB,QAAK,SAAS;GACd,MAAM,EAAE,UAAU,qBAAqB;AACvC,OAAI,kBACA;QAAI,OAAO,aAAa,WACpB,QAAO,WAAW,IAAI,SAAS,iBAAiB;;;EAI5D,KAAK,SAAS,aAAa,IAAI;GAC3B,MAAM,UAAU,OAAO,gBAAgB,aAAa,cAAc;GAClE,MAAM,WAAW,OAAO,gBAAgB,aAAa,cAAc;GACnE,MAAM,kBAAkB,YAAY,UAAa,KAAK,OAAO,oBAAoB;GACjF,IAAI;AACJ,OAAI,iBAAiB;AACjB,QAAI,CAAC,KAAK,SACN,MAAK,2BAAW,IAAI,SAAS;IAEjC,MAAM,WAAW,KAAK;AACtB,QAAI,SAAS,IAAI,QAAQ,YAAY,CACjC,WAAU,SAAS,IAAI,QAAQ,YAAY;SAE1C;AACD,eAAU,QAAQ,kBAAkB,KAAK,iBAAiB,KAAK,QAAQ,QAAQ;AAC/E,cAAS,IAAI,QAAQ,aAAa,QAAQ;;UAG7C;AACD,WAAO,KAAK;AACZ,cAAU,QAAQ,kBAAkB,KAAK,iBAAiB,KAAK,QAAQ,QAAQ;;AAEnF,OAAI,SACA,SAAQ,QAAQ,CACX,MAAM,WAAW,SAAS,MAAM,OAAO,OAAO,GAAG,QAAQ,SAAS,IAAI,CAAC,CACvE,YAAY,GAAI;OAGrB,QAAO,QAAQ,QAAQ,CAAC,MAAM,WAAW,OAAO,OAAO;;EAG/D,UAAU;AACN,QAAK,QAAQ,gBAAgB,WAAW;AACxC,UAAO,KAAK;;;CAIpB,MAAM,qBAAqB;CAC3B,SAAS,gBAAgB,UAAU,MAAM;AACrC,MAAI,QAAQ,KACR,QAAO;EAEX,MAAM,KAAK,OAAO,iBAAiB,GAAG,SAAS;AAC/C,MAAI,GAAG,iBAAiB,CAAC,UACrB,QAAO;AAEX,MAAI,GAAG,cAAc,EAEjB;OADoB,CAAC,CAAC,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,UAExD,QAAO;aAGN,GAAG,aAAa,EAErB;OADoB,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,UAE3G,QAAO;aAGN,GAAG,gBAAgB,IAAI,OAAO,SAAS,UAAU;GACtD,MAAM,SAAS;GACf,MAAM,YAAY,EAAE;AACpB,QAAK,MAAM,CAACC,UAAQ,aAAa,GAAG,gBAAgB,CAChD,KAAI,OAAOA,aAAW,KAClB,WAAUA,YAAU,gBAAgB,UAAU,OAAOA,UAAQ;AAGrE,UAAO;;AAEX,SAAO;;CAGX,IAAM,UAAN,MAAc;EACV,kBAAkB,gBAAgB,gBAAgB;EAClD;EACA,OAAO,eAAe;AAClB,UAAO,IAAI,cAAc;;EAE7B,6BAA6B,aAAa,eAAe,SAAS,EAAE,cAAc,YAAY,aAAa,yBAAyB,0BAA0B,eAAe,mBAAmB,eAAgB;AAC5M,QAAK,MAAM,MAAM,aAAa,KAAK,KAAK,CAAC,aAAa,aAAa,eAAe,QAAQ,CACtF,MAAK,gBAAgB,IAAI,GAAG;GAEhC,MAAM,QAAQ,YAAY,OAAO,KAAK,gBAAgB;GACtD,MAAM,EAAE,qBAAW;GACnB,MAAM,0BAA0B;IAC5B;IACA;IACA;IACA;IACA;KACC,MAAM,qBAAqB;KACxB,iBAAiB;KACjB,GAAG;KACN;IACD,GAAG;IACN;GACD,MAAM,EAAE,mBAAmB;AAC3B,UAAO,MAAM,SAAS,YAAY,eAAe,OAAO,QAAQ,SAAS,WAAW,EAAE,CAAC,EAAE,wBAAwB;;;CAGzH,IAAM,eAAN,MAAmB;EACf,cAAc;EACd,MAAM,EAAE;EACR,sBAAsB,EAAE;EACxB,eAAe;EACf,cAAc;EACd,qBAAqB,EAAE;EACvB,iBAAiB,EAAE;EACnB,2BAA2B;EAC3B,4BAA4B;EAC5B,cAAc;EACd,gBAAgB;EAChB;EACA,KAAK,IAAI;AACL,QAAK,QAAQ;;EAEjB,GAAG,+BAA+B;AAC9B,QAAK,MAAM;AACX,UAAO;;EAEX,EAAE,oBAAoB;AAClB,QAAK,gBAAgB;AACrB,UAAO;;EAEX,EAAE,SAAS,aAAW,gBAAgB,EAAE,EAAE;AACtC,QAAK,iBAAiB;IAClB;IACA;IACA,GAAG;IACN;AACD,UAAO;;EAEX,EAAE,oBAAoB,EAAE,EAAE;AACtB,QAAK,qBAAqB;AAC1B,UAAO;;EAEX,EAAE,YAAY,aAAa;AACvB,QAAK,cAAc;AACnB,QAAK,eAAe;AACpB,UAAO;;EAEX,EAAE,eAAe,MAAM,GAAG,gBAAgB,MAAM,GAAG;AAC/C,QAAK,2BAA2B;AAChC,QAAK,4BAA4B;AACjC,UAAO;;EAEX,IAAI,YAAY;AACZ,QAAK,cAAc;AACnB,UAAO;;EAEX,GAAG,cAAc;AACb,QAAK,gBAAgB;AACrB,UAAO;;EAEX,GAAG,aAAW;AACV,QAAK,mBAAmBC;AACxB,QAAK,eAAe,kBAAkBA;AACtC,UAAO;;EAEX,QAAQ;GACJ,MAAM,UAAU;GAChB,IAAI;AACJ,UAAQ,aAAa,cAAc,QAAQ;IACvC;IACA,OAAO,mCAAmC;AACtC,YAAO,QAAQ;;IAEnB,YAAY,GAAG,CAAC,QAAQ;AACpB,YAAO;AACP,UAAK,QAAQ,SAAS,EAAE;AACxB,aAAQ,MAAM,KAAK;AACnB,UAAK,SAAS,QAAQ;;IAE1B,kBAAkB,OAAO,eAAe,SAAS;KAC7C,MAAMC,OAAK,QAAQ;KACnB,MAAM,QAAQA,OAAK,MAAMA,MAAI;KAC7B,MAAM,SAASA,OAAK,MAAMA,MAAI;AAC9B,YAAO,KAAK,6BAA6B,OAAO,eAAe,SAAS;MACpE,aAAa;MACb,cAAc,QAAQ;MACtB,YAAY,QAAQ;MACpB,aAAa,QAAQ;MACrB,yBAAyB,QAAQ,6BAA6BA,OAAK,gBAAgB,KAAK,MAAM,MAAM,IAAI,MAAM;MAC9G,0BAA0B,QAAQ,8BAA8BA,OAAK,gBAAgB,KAAK,MAAM,OAAO,IAAI,MAAM;MACjH,eAAe,QAAQ;MACvB,mBAAmB,QAAQ;MAC9B,CAAC;;IAEN,YAAY,QAAQ;IACpB,cAAc,QAAQ;;;;CAKlC,MAAM,mBAAmB;CAEzB,MAAM,0BAA0B,UAAU,QAAQ,YAAY;AAC1D,OAAK,MAAM,CAAC,SAAS,gBAAgB,OAAO,QAAQ,SAAS,EAAE;GAC3D,MAAM,aAAa,eAAgB,MAAM,aAAa,IAAI;IACtD,MAAMC,YAAU,IAAI,YAAY,KAAK;AACrC,QAAI,OAAO,gBAAgB,WACvB,MAAK,KAAKA,WAAS,YAAY;aAE1B,OAAO,OAAO,YAAY;AAC/B,SAAI,OAAO,gBAAgB,SACvB,OAAM,IAAI,MAAM,iCAAiC,OAAO,cAAc;AAC1E,UAAK,KAAKA,WAAS,eAAe,EAAE,EAAE,GAAG;UAGzC,QAAO,KAAK,KAAKA,WAAS,YAAY;;GAG9C,MAAM,cAAc,QAAQ,GAAG,aAAa,GAAG,QAAQ,MAAM,EAAE,EAAE,QAAQ,YAAY,GAAG;AACxF,UAAO,UAAU,cAAc;;EAEnC,MAAM,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE;AACvD,OAAK,MAAM,CAAC,eAAe,gBAAgB,OAAO,QAAQ,WAAW,CACjE,KAAI,OAAO,UAAU,mBAAmB,KAAK,EACzC,QAAO,UAAU,iBAAiB,SAAU,eAAe,EAAE,EAAE,yBAAyB,GAAG,MAAM;AAC7F,UAAO,YAAY;IACf,GAAG;IACH,QAAQ;IACX,EAAE,cAAc,GAAG,KAAK;;AAIrC,OAAK,MAAM,CAAC,YAAY,aAAa,OAAO,QAAQ,QAAQ,CACxD,KAAI,OAAO,UAAU,gBAAgB,KAAK,EACtC,QAAO,UAAU,cAAc,eAAgB,eAAe,EAAE,EAAE,qBAAqB,GAAG,MAAM;GAC5F,IAAI,SAAS;AACb,OAAI,OAAO,wBAAwB,SAC/B,UAAS,EACL,aAAa,qBAChB;AAEL,UAAO,SAAS;IACZ,GAAG;IACH,QAAQ;IACX,EAAE,cAAc,GAAG,KAAK;;;CAMzC,IAAM,mBAAN,MAAM,yBAAyB,MAAM;EACjC;EACA;EACA;EACA;EACA,YAAY,SAAS;AACjB,SAAM,QAAQ,QAAQ;AACtB,UAAO,eAAe,MAAM,OAAO,eAAe,KAAK,CAAC,YAAY,UAAU;AAC9E,QAAK,OAAO,QAAQ;AACpB,QAAK,SAAS,QAAQ;AACtB,QAAK,YAAY,QAAQ;;EAE7B,OAAO,WAAW,OAAO;AACrB,OAAI,CAAC,MACD,QAAO;GACX,MAAM,YAAY;AAClB,UAAQ,iBAAiB,UAAU,cAAc,UAAU,IACtD,QAAQ,UAAU,OAAO,IACtB,QAAQ,UAAU,UAAU,KAC3B,UAAU,WAAW,YAAY,UAAU,WAAW;;EAEnE,QAAQ,OAAO,aAAa,UAAU;AAClC,OAAI,CAAC,SACD,QAAO;GACX,MAAM,YAAY;AAClB,OAAI,SAAS,iBACT,QAAO,iBAAiB,WAAW,SAAS;AAEhD,OAAI,iBAAiB,WAAW,SAAS,EAAE;AACvC,QAAI,UAAU,QAAQ,KAAK,KACvB,QAAO,KAAK,UAAU,cAAc,SAAS,IAAI,UAAU,SAAS,KAAK;AAE7E,WAAO,KAAK,UAAU,cAAc,SAAS;;AAEjD,UAAO;;;CAGf,MAAM,4BAA4B,WAAW,YAAY,EAAE,KAAK;AAC5D,SAAO,QAAQ,UAAU,CACpB,QAAQ,GAAG,OAAO,MAAM,OAAU,CAClC,SAAS,CAAC,GAAG,OAAO;AACrB,OAAI,UAAU,MAAM,UAAa,UAAU,OAAO,GAC9C,WAAU,KAAK;IAErB;AAEF,YAAU,UADM,UAAU,WAAW,UAAU,WAAW;AAE1D,SAAO,UAAU;AACjB,SAAO;;CAGX,MAAM,qBAAqB,EAAE,QAAQ,YAAY,eAAe,gBAAgB;EAC5E,MAAM,YAAY,oBAAoB,OAAO;EAC7C,MAAM,aAAa,UAAU,iBAAiB,UAAU,iBAAiB,KAAK;AAM9E,QAAM,yBALW,IAAI,cAAc;GAC/B,MAAM,YAAY,QAAQ,YAAY,QAAQ,aAAa,cAAc;GACzE,QAAQ;GACR;GACH,CAAC,EACuC,WAAW;;CAExD,MAAM,qBAAqB,kBAAkB;AACzC,UAAQ,EAAE,QAAQ,YAAY,gBAAgB;AAC1C,qBAAkB;IAAE;IAAQ;IAAY,eAAe;IAAe;IAAW,CAAC;;;CAG1F,MAAM,uBAAuB,YAAY;EACrC,gBAAgB,OAAO;EACvB,WAAW,OAAO,QAAQ,uBAAuB,OAAO,QAAQ,wBAAwB,OAAO,QAAQ;EACvG,mBAAmB,OAAO,QAAQ;EAClC,MAAM,OAAO,QAAQ;EACxB;CAED,MAAM,6BAA6B,SAAS;AACxC,UAAQ,MAAR;GACI,KAAK,WACD,QAAO;IACH,WAAW;IACX,mBAAmB;IACtB;GACL,KAAK,YACD,QAAO;IACH,WAAW;IACX,mBAAmB;IACtB;GACL,KAAK,eACD,QAAO;IACH,WAAW;IACX,mBAAmB;IACtB;GACL,KAAK,SACD,QAAO;IACH,WAAW;IACX,mBAAmB;IACtB;GACL,QACI,QAAO,EAAE;;;CAIrB,IAAI,iBAAiB;CACrB,MAAM,mCAAmC,YAAY;AACjD,MAAI,WAAW,CAAC,kBAAkB,SAAS,QAAQ,UAAU,GAAG,QAAQ,QAAQ,IAAI,CAAC,CAAC,GAAG,GACrF,kBAAiB;;CAIzB,MAAM,kBAAkB,OAAO,OAAO,MAAM,YAAY;CACxD,MAAM,4BAA4B,kBAAkB;EAChD,MAAM,qBAAqB,EAAE;AAC7B,OAAK,MAAM,MAAM,MAAM,aAAa;GAChC,MAAM,cAAc,MAAM,YAAY;AACtC,OAAI,cAAc,iBAAiB,OAC/B;AAEJ,sBAAmB,KAAK;IACpB,mBAAmB;IACnB,2BAA2B,cAAc;IAC5C,CAAC;;AAEN,OAAK,MAAM,CAAC,IAAI,iBAAiB,OAAO,QAAQ,cAAc,sBAAsB,EAAE,CAAC,CACnF,oBAAmB,KAAK;GACpB,mBAAmB;GACnB,2BAA2B;GAC9B,CAAC;AAEN,SAAO;GACH,qBAAqB,MAAM;AACvB,kBAAc,qBAAqB,cAAc,sBAAsB,EAAE;IACzE,MAAM,KAAK,KAAK,aAAa;IAC7B,MAAM,OAAO,KAAK,qBAAqB;AACvC,QAAI,gBAAgB,SAAS,GAAG,CAC5B,eAAc,mBAAmB,GAAG,aAAa,IAAI;QAGrD,eAAc,mBAAmB,MAAM;AAE3C,uBAAmB,KAAK,KAAK;;GAEjC,qBAAqB;AACjB,WAAO;;GAEd;;CAEL,MAAM,gCAAgC,iBAAiB;EACnD,MAAM,gBAAgB,EAAE;AACxB,eAAa,oBAAoB,CAAC,SAAS,sBAAsB;GAC7D,MAAM,KAAK,kBAAkB,aAAa;AAC1C,OAAI,gBAAgB,SAAS,GAAG,CAC5B,eAAc,MAAM,kBAAkB,qBAAqB;IAEjE;AACF,SAAO;;CAGX,MAAM,yBAAyB,kBAAkB;AAC7C,SAAO;GACH,iBAAiB,eAAe;AAC5B,kBAAc,gBAAgB;;GAElC,gBAAgB;AACZ,WAAO,cAAc;;GAE5B;;CAEL,MAAM,6BAA6B,+BAA+B;EAC9D,MAAM,gBAAgB,EAAE;AACxB,gBAAc,gBAAgB,2BAA2B,eAAe;AACxE,SAAO;;CAGX,MAAM,oCAAoC,kBAAkB;AACxD,SAAO,OAAO,OAAO,yBAAyB,cAAc,EAAE,sBAAsB,cAAc,CAAC;;CAEvG,MAAM,gCAAgC;CACtC,MAAM,+BAA+B,WAAW;AAC5C,SAAO,OAAO,OAAO,6BAA6B,OAAO,EAAE,0BAA0B,OAAO,CAAC;;CAGjG,MAAM,wBAAwB,eAAe,MAAM,QAAQ,WAAW,GAAG,aAAa,CAAC,WAAW;CAElG,MAAM,wBAAwB,QAAQ;EAClC,MAAM,eAAe;AACrB,OAAK,MAAM,OAAO,IACd,KAAI,IAAI,eAAe,IAAI,IAAI,IAAI,KAAK,kBAAkB,OACtD,KAAI,OAAO,IAAI,KAAK;WAEf,OAAO,IAAI,SAAS,YAAY,IAAI,SAAS,KAClD,KAAI,OAAO,qBAAqB,IAAI,KAAK;AAGjD,SAAO;;CAGX,MAAM,6BAA6B,UAAU;AACzC,SAAO,SAAS;;CAGpB,IAAM,aAAN,MAAiB;EACb,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,OAAO;EACP,QAAQ;;CAGZ,SAAS,IAAI,MAAM,MAAM,MAAM;EAC3B,IAAI;EACJ,IAAI;EACJ,IAAI;AACJ,MAAI,OAAO,SAAS,eAAe,OAAO,SAAS,aAAa;AAC5D,YAAS,EAAE;AACX,kBAAe;SAEd;AACD,YAAS;AACT,OAAI,OAAO,SAAS,YAAY;AAC5B,aAAS;AACT,mBAAe;AACf,WAAO,cAAc,QAAQ,QAAQ,aAAa;SAGlD,gBAAe;;AAGvB,OAAK,MAAM,OAAO,OAAO,KAAK,aAAa,EAAE;AACzC,OAAI,CAAC,MAAM,QAAQ,aAAa,KAAK,EAAE;AACnC,WAAO,OAAO,aAAa;AAC3B;;AAEJ,oBAAiB,QAAQ,MAAM,cAAc,IAAI;;AAErD,SAAO;;CAEX,MAAM,cAAc,WAAW;EAC3B,MAAM,SAAS,EAAE;AACjB,OAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,CAC7C,QAAO,KAAK,GAAG,EAAE;AAErB,SAAO;;CAEX,MAAM,QAAQ,QAAQ,iBAAiB;EACnC,MAAM,MAAM,EAAE;AACd,OAAK,MAAM,OAAO,aACd,kBAAiB,KAAK,QAAQ,cAAc,IAAI;AAEpD,SAAO;;CAEX,MAAM,iBAAiB,QAAQ,QAAQ,iBAAiB;AACpD,SAAO,IAAI,QAAQ,OAAO,QAAQ,aAAa,CAAC,QAAQ,eAAe,CAAC,KAAK,WAAW;AACpF,OAAI,MAAM,QAAQ,MAAM,CACpB,eAAc,OAAO;YAGjB,OAAO,UAAU,WACjB,eAAc,OAAO,CAAC,QAAQ,OAAO,CAAC;OAGtC,eAAc,OAAO,CAAC,QAAQ,MAAM;AAG5C,UAAO;KACR,EAAE,CAAC,CAAC;;CAEX,MAAM,oBAAoB,QAAQ,QAAQ,cAAc,cAAc;AAClE,MAAI,WAAW,MAAM;GACjB,IAAI,cAAc,aAAa;AAC/B,OAAI,OAAO,gBAAgB,WACvB,eAAc,GAAG,YAAY;GAEjC,MAAM,CAACC,WAAS,YAAY,UAAU,MAAM,YAAY,aAAa;AACrE,OAAK,OAAOA,aAAW,cAAcA,SAAO,OAAO,WAAW,IAAM,OAAOA,aAAW,cAAc,CAAC,CAACA,SAClG,QAAO,aAAa,QAAQ,OAAO,WAAW;AAElD;;EAEJ,IAAI,CAAC,QAAQ,SAAS,aAAa;AACnC,MAAI,OAAO,UAAU,YAAY;GAC7B,IAAI;GACJ,MAAM,sBAAsB,WAAW,WAAc,SAAS,OAAO,KAAK;GAC1E,MAAM,qBAAsB,OAAO,WAAW,cAAc,CAAC,CAAC,OAAO,KAAK,EAAE,IAAM,OAAO,WAAW,cAAc,CAAC,CAAC;AACpH,OAAI,oBACA,QAAO,aAAa;YAEf,mBACL,QAAO,aAAa,OAAO;SAG9B;GACD,MAAM,sBAAsB,WAAW,UAAa,SAAS;GAC7D,MAAM,qBAAsB,OAAO,WAAW,cAAc,CAAC,CAAC,OAAO,MAAM,IAAM,OAAO,WAAW,cAAc,CAAC,CAAC;AACnH,OAAI,uBAAuB,mBACvB,QAAO,aAAa;;;CAIhC,MAAM,cAAc,MAAM,KAAK;CAC/B,MAAM,QAAQ,MAAM;CAEpB,MAAM,kBAAkB,UAAU;AAC9B,MAAI,UAAU,MACV,QAAO;AAEX,UAAQ,OAAR;GACI,KAAK,SACD,QAAO;GACX,KAAK,UACD,QAAO;GACX,QACI,QAAO;;;CAGnB,MAAM,qBAAqB,WAASC,OAAK,aAAa,CAAC,QAAQ,SAAS,IAAI;CAE5E,MAAM,SAAS,QAAQ;AACnB,MAAI,OAAO,KACP,QAAO,EAAE;AAEb,MAAI,MAAM,QAAQ,IAAI,CAClB,QAAO,IAAI,QAAQ,MAAM,KAAK,KAAK,CAAC,IAAI,MAAM;AAElD,MAAI,OAAO,QAAQ,UAAU;GACzB,MAAM,SAAS,EAAE;AACjB,QAAK,MAAM,OAAO,OAAO,KAAK,IAAI,EAAE;AAChC,QAAI,IAAI,QAAQ,KACZ;AAEJ,WAAO,OAAO,MAAM,IAAI,KAAK;;AAEjC,UAAO;;AAEX,SAAO;;AAGX,SAAQ,cAAc,UAAU;AAChC,SAAQ,6BAA6B,UAAU;AAC/C,SAAQ,eAAe,UAAU;AACjC,SAAQ,SAAS;AACjB,SAAQ,UAAU;AAClB,SAAQ,aAAa;AACrB,SAAQ,mBAAmB;AAC3B,SAAQ,mBAAmB;AAC3B,SAAQ,QAAQ;AAChB,SAAQ,aAAa;AACrB,SAAQ,yBAAyB;AACjC,SAAQ,2BAA2B;AACnC,SAAQ,kCAAkC;AAC1C,SAAQ,uBAAuB;AAC/B,SAAQ,gCAAgC;AACxC,SAAQ,mCAAmC;AAC3C,SAAQ,uBAAuB;AAC/B,SAAQ,4BAA4B;AACpC,SAAQ,4BAA4B;AACpC,SAAQ,MAAM;AACd,SAAQ,8BAA8B;AACtC,SAAQ,oBAAoB;AAC5B,SAAQ,iBAAiB;AACzB,SAAQ,OAAO;AACf,SAAQ,oBAAoB;AAC5B,SAAQ,oBAAoB;AAC5B,QAAO,UAAU,eAAe,KAAK,OAAO,YAAY,IACpD,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,YAAY,IAC3D,OAAO,eAAe,SAAS,aAAa;EACxC,YAAY;EACZ,OAAO,MAAM;EAChB,CAAC;AAEN,QAAO,KAAK,MAAM,CAAC,QAAQ,SAAU,GAAG;AACpC,MAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,EAAE,CAAE,SAAQ,KAAK,MAAM;GAC/F"}