@opencode-ai/cli-darwin-x64 0.0.0-beta-202606050413 → 0.0.0-beta-202606050607
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/{chunk-kkvk5eez.js.map → chunk-00dzkjhz.js.map} +1 -1
- package/bin/{chunk-xd2mrkwy.js.map → chunk-01twjd9t.js.map} +1 -1
- package/bin/{chunk-3zmvhepw.js.map → chunk-094xfckf.js.map} +1 -1
- package/bin/{chunk-2wqpg9fb.js.map → chunk-0a1sbep7.js.map} +2 -2
- package/bin/{chunk-17j53wgt.js.map → chunk-0n5bt1g8.js.map} +1 -1
- package/bin/{chunk-d6nz1m6v.js.map → chunk-0yq28232.js.map} +1 -1
- package/bin/{chunk-gv6nagng.js.map → chunk-1jjzc8en.js.map} +1 -1
- package/bin/{chunk-8rd9r1gb.js.map → chunk-1srt9zq1.js.map} +1 -1
- package/bin/{chunk-0d9ja06r.js.map → chunk-24r1extg.js.map} +1 -1
- package/bin/{chunk-3r74gwy2.js.map → chunk-267rsrtg.js.map} +1 -1
- package/bin/{chunk-yymwxqpy.js.map → chunk-2bj59myd.js.map} +1 -1
- package/bin/{chunk-jcqp2wmf.js.map → chunk-2d69p4k2.js.map} +1 -1
- package/bin/{chunk-h413ry19.js.map → chunk-2gqj6qs3.js.map} +1 -1
- package/bin/{chunk-kv0b3sh5.js.map → chunk-2hks567y.js.map} +1 -1
- package/bin/chunk-3brw1pw4.js.map +10 -0
- package/bin/{chunk-0qebdpsf.js.map → chunk-3ns5mnbb.js.map} +5 -4
- package/bin/{chunk-9vf55fj3.js.map → chunk-3qk1pb08.js.map} +1 -1
- package/bin/{chunk-rrwp4x01.js.map → chunk-3vzrwrnt.js.map} +2 -2
- package/bin/{chunk-x3ywttp7.js.map → chunk-4w6sn6ka.js.map} +1 -1
- package/bin/{chunk-n10mj2m3.js.map → chunk-4z9x1zr9.js.map} +1 -1
- package/bin/{chunk-qgpzv4wt.js.map → chunk-51brv8qd.js.map} +1 -1
- package/bin/{chunk-ck4nkjtx.js.map → chunk-563dfx2j.js.map} +1 -1
- package/bin/{chunk-ny5cyeha.js.map → chunk-58vn4c6w.js.map} +1 -1
- package/bin/{chunk-rt02k446.js.map → chunk-5dep2jyh.js.map} +1 -1
- package/bin/{chunk-pnkd37ss.js.map → chunk-5he3ax73.js.map} +1 -1
- package/bin/{chunk-1wb39pye.js.map → chunk-5j946rfb.js.map} +1 -1
- package/bin/{chunk-4980h0t7.js.map → chunk-5r8cxgxc.js.map} +1 -1
- package/bin/{chunk-98cxndhz.js.map → chunk-5szq6efb.js.map} +1 -1
- package/bin/{chunk-xaqrhtz6.js.map → chunk-5trdzhfm.js.map} +1 -1
- package/bin/{chunk-gmc0r6tm.js.map → chunk-5wmm6h35.js.map} +1 -1
- package/bin/{chunk-7fvpf4bs.js.map → chunk-66tvnnse.js.map} +1 -1
- package/bin/{chunk-sjd3wbjd.js.map → chunk-67v4vbcb.js.map} +1 -1
- package/bin/{chunk-vs30er58.js.map → chunk-6b9x631k.js.map} +1 -1
- package/bin/{chunk-g4fcmhkj.js.map → chunk-6hfeeqc8.js.map} +2 -2
- package/bin/{chunk-q6nf6fka.js.map → chunk-6htwbfva.js.map} +1 -1
- package/bin/{chunk-qq4f9z8v.js.map → chunk-71z3f2xg.js.map} +1 -1
- package/bin/{chunk-g8mpn6ke.js.map → chunk-7hyaqehy.js.map} +2 -2
- package/bin/{chunk-va2h4xya.js.map → chunk-7w1699jg.js.map} +1 -1
- package/bin/{chunk-mkze6twx.js.map → chunk-8dxqz4vx.js.map} +1 -1
- package/bin/{chunk-84amh6xf.js.map → chunk-8fawnrs0.js.map} +1 -1
- package/bin/{chunk-06d8aa69.js.map → chunk-8qdws1ne.js.map} +1 -1
- package/bin/{chunk-hxfsfpek.js.map → chunk-8wpfm04w.js.map} +1 -1
- package/bin/{chunk-3jqjf0hd.js.map → chunk-8y0z37en.js.map} +1 -1
- package/bin/{chunk-8dnkfkds.js.map → chunk-90e15fyj.js.map} +1 -1
- package/bin/{chunk-kjyd3xxc.js.map → chunk-9afhm2rq.js.map} +1 -1
- package/bin/{chunk-yg7w4jgd.js.map → chunk-9cpbbkbt.js.map} +1 -1
- package/bin/{chunk-tc8tvjey.js.map → chunk-ay5sdrq5.js.map} +2 -2
- package/bin/{chunk-9f8tmby0.js.map → chunk-bep15vm4.js.map} +1 -1
- package/bin/{chunk-vmbpvmpg.js.map → chunk-bjtanfsz.js.map} +1 -1
- package/bin/{chunk-tcqtz83b.js.map → chunk-c8d6exp6.js.map} +1 -1
- package/bin/{chunk-hp5nnq6f.js.map → chunk-caj38hx8.js.map} +1 -1
- package/bin/{chunk-sfk73pp2.js.map → chunk-csexd3e9.js.map} +1 -1
- package/bin/{chunk-hav16yge.js.map → chunk-d35vqxtw.js.map} +1 -1
- package/bin/{chunk-cyb9bpgm.js.map → chunk-d9ay6qca.js.map} +1 -1
- package/bin/{chunk-p7j7e7hb.js.map → chunk-dc6grv94.js.map} +1 -1
- package/bin/{chunk-k0980eb5.js.map → chunk-dhr2x6qc.js.map} +1 -1
- package/bin/{chunk-dk4qekzk.js.map → chunk-dj3n1gz9.js.map} +1 -1
- package/bin/{chunk-m9md5mth.js.map → chunk-dk0ryzde.js.map} +1 -1
- package/bin/{chunk-w7p62pb6.js.map → chunk-dqry7reh.js.map} +1 -1
- package/bin/{chunk-d1p8awq6.js.map → chunk-ds933zn3.js.map} +1 -1
- package/bin/{chunk-6ttpn29p.js.map → chunk-dz7a5fyh.js.map} +1 -1
- package/bin/{chunk-7vb6kdat.js.map → chunk-e1v2epap.js.map} +1 -1
- package/bin/{chunk-d7v38w4j.js.map → chunk-eygq9tnw.js.map} +1 -1
- package/bin/{chunk-9y4hgfns.js.map → chunk-f9y6s5dn.js.map} +1 -1
- package/bin/{chunk-swbdmja3.js.map → chunk-fc59m93b.js.map} +1 -1
- package/bin/{chunk-mf0qqhvb.js.map → chunk-g06twqwt.js.map} +1 -1
- package/bin/{chunk-p89bk96c.js.map → chunk-gb9cn8xk.js.map} +1 -1
- package/bin/{chunk-9hq8aywf.js.map → chunk-habd2zb7.js.map} +1 -1
- package/bin/{chunk-s983v0dp.js.map → chunk-hczcsgeg.js.map} +1 -1
- package/bin/{chunk-94yf089p.js.map → chunk-hx4hrnc1.js.map} +1 -1
- package/bin/{chunk-xs0ras4j.js.map → chunk-j0whcw6t.js.map} +1 -1
- package/bin/{chunk-p3pr1t3k.js.map → chunk-j7nfke6k.js.map} +1 -1
- package/bin/{chunk-32ewzcjk.js.map → chunk-jkwj9fs3.js.map} +1 -1
- package/bin/{chunk-8akfq1ty.js.map → chunk-jshrcjs5.js.map} +2 -2
- package/bin/{chunk-cab6ccj0.js.map → chunk-jzs9n0j5.js.map} +2 -2
- package/bin/{chunk-d9g5798m.js.map → chunk-k1rzyemp.js.map} +1 -1
- package/bin/{chunk-tvxakxv2.js.map → chunk-k3ts9xpy.js.map} +1 -1
- package/bin/{chunk-9pcp46bs.js.map → chunk-k89r0qpm.js.map} +22 -18
- package/bin/{chunk-ymy66kr8.js.map → chunk-k8aw4xj3.js.map} +2 -2
- package/bin/{chunk-qbpebjh2.js.map → chunk-mgnakf8s.js.map} +1 -1
- package/bin/chunk-mh8m416a.js.map +9 -0
- package/bin/{chunk-san15sca.js.map → chunk-nczqpjnh.js.map} +1 -1
- package/bin/{chunk-cvm4kr56.js.map → chunk-ne38zr15.js.map} +1 -1
- package/bin/chunk-ng4heg9z.js.map +9 -0
- package/bin/{chunk-gahs293a.js.map → chunk-ph9dmmvn.js.map} +1 -1
- package/bin/{chunk-xt7ap9fb.js.map → chunk-pyx64x7f.js.map} +2 -2
- package/bin/{chunk-fs6t8jdg.js.map → chunk-q2382j01.js.map} +1 -1
- package/bin/{chunk-zkqyr3hc.js.map → chunk-qdf44zd9.js.map} +1 -1
- package/bin/{chunk-01tb5qes.js.map → chunk-qgadgd0b.js.map} +1 -1
- package/bin/{chunk-gh9dcqbv.js.map → chunk-qrv36618.js.map} +1 -1
- package/bin/{chunk-p3nkd9t2.js.map → chunk-r3g4d1sf.js.map} +1 -1
- package/bin/{chunk-mzjs3qj3.js.map → chunk-ravdtrkh.js.map} +1 -1
- package/bin/{chunk-fzcqzwx5.js.map → chunk-rect24wp.js.map} +1 -1
- package/bin/{chunk-1jb1dn9p.js.map → chunk-rh1cqh58.js.map} +1 -1
- package/bin/{chunk-wr4x72qd.js.map → chunk-rmt8ghn4.js.map} +1 -1
- package/bin/{chunk-4de8gawx.js.map → chunk-rssj1p0v.js.map} +1 -1
- package/bin/{chunk-fdw7znt6.js.map → chunk-rvf5cbzt.js.map} +2 -2
- package/bin/chunk-s4k86gsy.js.map +9 -0
- package/bin/{chunk-nkhzpsnk.js.map → chunk-s8fzc9my.js.map} +1 -1
- package/bin/{chunk-g4ff66n8.js.map → chunk-sbqne7np.js.map} +1 -1
- package/bin/chunk-sevseqbq.js.map +9 -0
- package/bin/{chunk-c2gsyspz.js.map → chunk-srv13ex9.js.map} +1 -1
- package/bin/{chunk-yx4z6xsb.js.map → chunk-sstynsrs.js.map} +2 -2
- package/bin/{chunk-aag5p1fp.js.map → chunk-stma0bjm.js.map} +2 -2
- package/bin/{chunk-943th5qs.js.map → chunk-stmvhy1d.js.map} +1 -1
- package/bin/{chunk-xfh2377b.js.map → chunk-syvvz2kz.js.map} +1 -1
- package/bin/{chunk-dzzhxh1c.js.map → chunk-t0vxmebt.js.map} +1 -1
- package/bin/chunk-tb3ddhhy.js.map +9 -0
- package/bin/chunk-tkf420bz.js.map +9 -0
- package/bin/{chunk-tgxxchfy.js.map → chunk-tq7p74c2.js.map} +1 -1
- package/bin/{chunk-xya5qk3h.js.map → chunk-tz8qtdwa.js.map} +1 -1
- package/bin/{chunk-dcn0azxw.js.map → chunk-v1acxjrb.js.map} +1 -1
- package/bin/{chunk-pjbsd0sw.js.map → chunk-va9kbmg7.js.map} +1 -1
- package/bin/{chunk-njn9a3jp.js.map → chunk-vfawbmgk.js.map} +1 -1
- package/bin/chunk-vhjc1xhb.js.map +9 -0
- package/bin/chunk-vkc26enp.js.map +9 -0
- package/bin/{chunk-8x80qvzn.js.map → chunk-wh4tjf7w.js.map} +1 -1
- package/bin/{chunk-q4n12vgf.js.map → chunk-wz03fvr7.js.map} +1 -1
- package/bin/{chunk-07w2xsfy.js.map → chunk-x0qvaeq5.js.map} +1 -1
- package/bin/{chunk-z70c75xe.js.map → chunk-x3zawn3w.js.map} +1 -1
- package/bin/{chunk-0azwkk9z.js.map → chunk-xd5hhydg.js.map} +1 -1
- package/bin/{chunk-x9zjg1f7.js.map → chunk-xgc5g9zp.js.map} +1 -1
- package/bin/{chunk-x988wmrk.js.map → chunk-xjz65pxd.js.map} +1 -1
- package/bin/{chunk-1paeax4j.js.map → chunk-yerk1fzb.js.map} +1 -1
- package/bin/{chunk-gyavdmtb.js.map → chunk-yqevrpk5.js.map} +1 -1
- package/bin/{chunk-3n6vddyq.js.map → chunk-yx6c5kwa.js.map} +1 -1
- package/bin/{chunk-yhpv46tb.js.map → chunk-zgevjtft.js.map} +1 -1
- package/bin/{chunk-9w9rk9en.js.map → chunk-zh1hcqmd.js.map} +1 -1
- package/bin/index.js.map +1 -1
- package/bin/lildax +0 -0
- package/package.json +1 -1
- package/bin/chunk-9fbstsnw.js.map +0 -9
- package/bin/chunk-bt0r89ee.js.map +0 -9
- package/bin/chunk-efsmps94.js.map +0 -9
- package/bin/chunk-hrcbafh3.js.map +0 -9
- package/bin/chunk-kghptcgb.js.map +0 -9
- package/bin/chunk-mfr0xsxw.js.map +0 -9
- package/bin/chunk-n2fbt143.js.map +0 -9
- package/bin/chunk-s39nwv01.js.map +0 -9
- /package/bin/{chunk-jt9t8203.js.map → chunk-3n9pdrx3.js.map} +0 -0
- /package/bin/{chunk-vezq3hc4.js.map → chunk-g3pfgtfg.js.map} +0 -0
- /package/bin/{chunk-n6a0rctn.js.map → chunk-h4y8edw2.js.map} +0 -0
- /package/bin/{chunk-dk9tgwkh.js.map → chunk-szpksttz.js.map} +0 -0
- /package/bin/{chunk-4q5k6a0e.js.map → chunk-tf648vq4.js.map} +0 -0
- /package/bin/{chunk-r55kafff.js.map → chunk-vcx2bt68.js.map} +0 -0
- /package/bin/{chunk-c8hr0q5n.js.map → chunk-zhsdkzkr.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// src/google-provider.ts\nimport {\n generateId as generateId2,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix as withUserAgentSuffix2\n} from \"@ai-sdk/provider-utils\";\n\n// src/version.ts\nvar VERSION = true ? \"3.0.73\" : \"0.0.0-test\";\n\n// src/google-generative-ai-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createJsonResponseHandler,\n lazySchema as lazySchema3,\n parseProviderOptions,\n postJsonToApi,\n resolve,\n zodSchema as zodSchema3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/google-error.ts\nimport {\n createJsonErrorResponseHandler,\n lazySchema,\n zodSchema\n} from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod/v4\";\nvar googleErrorDataSchema = lazySchema(\n () => zodSchema(\n z.object({\n error: z.object({\n code: z.number().nullable(),\n message: z.string(),\n status: z.string()\n })\n })\n )\n);\nvar googleFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: googleErrorDataSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/google-generative-ai-embedding-options.ts\nimport {\n lazySchema as lazySchema2,\n zodSchema as zodSchema2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod/v4\";\nvar googleEmbeddingContentPartSchema = z2.union([\n z2.object({ text: z2.string() }),\n z2.object({\n inlineData: z2.object({\n mimeType: z2.string(),\n data: z2.string()\n })\n }),\n z2.object({\n fileData: z2.object({\n fileUri: z2.string(),\n mimeType: z2.string()\n })\n })\n]);\nvar googleEmbeddingModelOptions = lazySchema2(\n () => zodSchema2(\n z2.object({\n /**\n * Optional. Optional reduced dimension for the output embedding.\n * If set, excessive values in the output embedding are truncated from the end.\n */\n outputDimensionality: z2.number().optional(),\n /**\n * Optional. Specifies the task type for generating embeddings.\n * Supported task types:\n * - SEMANTIC_SIMILARITY: Optimized for text similarity.\n * - CLASSIFICATION: Optimized for text classification.\n * - CLUSTERING: Optimized for clustering texts based on similarity.\n * - RETRIEVAL_DOCUMENT: Optimized for document retrieval.\n * - RETRIEVAL_QUERY: Optimized for query-based retrieval.\n * - QUESTION_ANSWERING: Optimized for answering questions.\n * - FACT_VERIFICATION: Optimized for verifying factual information.\n * - CODE_RETRIEVAL_QUERY: Optimized for retrieving code blocks based on natural language queries.\n */\n taskType: z2.enum([\n \"SEMANTIC_SIMILARITY\",\n \"CLASSIFICATION\",\n \"CLUSTERING\",\n \"RETRIEVAL_DOCUMENT\",\n \"RETRIEVAL_QUERY\",\n \"QUESTION_ANSWERING\",\n \"FACT_VERIFICATION\",\n \"CODE_RETRIEVAL_QUERY\"\n ]).optional(),\n /**\n * Optional. Per-value multimodal content parts for embedding non-text\n * content (images, video, PDF, audio). Each entry corresponds to the\n * embedding value at the same index and its parts are merged with the\n * text value in the request. Use `null` for entries that are text-only.\n *\n * The array length must match the number of values being embedded. In\n * the case of a single embedding, the array length must be 1.\n */\n content: z2.array(z2.array(googleEmbeddingContentPartSchema).min(1).nullable()).optional()\n })\n )\n);\n\n// src/google-generative-ai-embedding-model.ts\nvar GoogleGenerativeAIEmbeddingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.maxEmbeddingsPerCall = 2048;\n this.supportsParallelCalls = true;\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions\n }) {\n const googleOptions = await parseProviderOptions({\n provider: \"google\",\n providerOptions,\n schema: googleEmbeddingModelOptions\n });\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const mergedHeaders = combineHeaders(\n await resolve(this.config.headers),\n headers\n );\n const multimodalContent = googleOptions == null ? void 0 : googleOptions.content;\n if (multimodalContent != null && multimodalContent.length !== values.length) {\n throw new Error(\n `The number of multimodal content entries (${multimodalContent.length}) must match the number of values (${values.length}).`\n );\n }\n if (values.length === 1) {\n const valueParts = multimodalContent == null ? void 0 : multimodalContent[0];\n const textPart = values[0] ? [{ text: values[0] }] : [];\n const parts = valueParts != null ? [...textPart, ...valueParts] : [{ text: values[0] }];\n const {\n responseHeaders: responseHeaders2,\n value: response2,\n rawValue: rawValue2\n } = await postJsonToApi({\n url: `${this.config.baseURL}/models/${this.modelId}:embedContent`,\n headers: mergedHeaders,\n body: {\n model: `models/${this.modelId}`,\n content: {\n parts\n },\n outputDimensionality: googleOptions == null ? void 0 : googleOptions.outputDimensionality,\n taskType: googleOptions == null ? void 0 : googleOptions.taskType\n },\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n googleGenerativeAISingleEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings: [],\n embeddings: [response2.embedding.values],\n usage: void 0,\n response: { headers: responseHeaders2, body: rawValue2 }\n };\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi({\n url: `${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,\n headers: mergedHeaders,\n body: {\n requests: values.map((value, index) => {\n const valueParts = multimodalContent == null ? void 0 : multimodalContent[index];\n const textPart = value ? [{ text: value }] : [];\n return {\n model: `models/${this.modelId}`,\n content: {\n role: \"user\",\n parts: valueParts != null ? [...textPart, ...valueParts] : [{ text: value }]\n },\n outputDimensionality: googleOptions == null ? void 0 : googleOptions.outputDimensionality,\n taskType: googleOptions == null ? void 0 : googleOptions.taskType\n };\n })\n },\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n googleGenerativeAITextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings: [],\n embeddings: response.embeddings.map((item) => item.values),\n usage: void 0,\n response: { headers: responseHeaders, body: rawValue }\n };\n }\n};\nvar googleGenerativeAITextEmbeddingResponseSchema = lazySchema3(\n () => zodSchema3(\n z3.object({\n embeddings: z3.array(z3.object({ values: z3.array(z3.number()) }))\n })\n )\n);\nvar googleGenerativeAISingleEmbeddingResponseSchema = lazySchema3(\n () => zodSchema3(\n z3.object({\n embedding: z3.object({ values: z3.array(z3.number()) })\n })\n )\n);\n\n// src/google-generative-ai-language-model.ts\nimport {\n combineHeaders as combineHeaders2,\n createEventSourceResponseHandler,\n createJsonResponseHandler as createJsonResponseHandler2,\n generateId,\n lazySchema as lazySchema5,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi2,\n resolve as resolve2,\n zodSchema as zodSchema5\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod/v4\";\n\n// src/convert-google-generative-ai-usage.ts\nfunction convertGoogleGenerativeAIUsage(usage) {\n var _a, _b, _c, _d;\n if (usage == null) {\n return {\n inputTokens: {\n total: void 0,\n noCache: void 0,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: void 0,\n text: void 0,\n reasoning: void 0\n },\n raw: void 0\n };\n }\n const promptTokens = (_a = usage.promptTokenCount) != null ? _a : 0;\n const candidatesTokens = (_b = usage.candidatesTokenCount) != null ? _b : 0;\n const cachedContentTokens = (_c = usage.cachedContentTokenCount) != null ? _c : 0;\n const thoughtsTokens = (_d = usage.thoughtsTokenCount) != null ? _d : 0;\n return {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens - cachedContentTokens,\n cacheRead: cachedContentTokens,\n cacheWrite: void 0\n },\n outputTokens: {\n total: candidatesTokens + thoughtsTokens,\n text: candidatesTokens,\n reasoning: thoughtsTokens\n },\n raw: usage\n };\n}\n\n// src/convert-json-schema-to-openapi-schema.ts\nfunction convertJSONSchemaToOpenAPISchema(jsonSchema, isRoot = true) {\n if (jsonSchema == null) {\n return void 0;\n }\n if (isEmptyObjectSchema(jsonSchema)) {\n if (isRoot) {\n return void 0;\n }\n if (typeof jsonSchema === \"object\" && jsonSchema.description) {\n return { type: \"object\", description: jsonSchema.description };\n }\n return { type: \"object\" };\n }\n if (typeof jsonSchema === \"boolean\") {\n return { type: \"boolean\", properties: {} };\n }\n const {\n type,\n description,\n required,\n properties,\n items,\n allOf,\n anyOf,\n oneOf,\n format,\n const: constValue,\n minLength,\n enum: enumValues\n } = jsonSchema;\n const result = {};\n if (description) result.description = description;\n if (required) result.required = required;\n if (format) result.format = format;\n if (constValue !== void 0) {\n result.enum = [constValue];\n }\n if (type) {\n if (Array.isArray(type)) {\n const hasNull = type.includes(\"null\");\n const nonNullTypes = type.filter((t) => t !== \"null\");\n if (nonNullTypes.length === 0) {\n result.type = \"null\";\n } else {\n result.anyOf = nonNullTypes.map((t) => ({ type: t }));\n if (hasNull) {\n result.nullable = true;\n }\n }\n } else {\n result.type = type;\n }\n }\n if (enumValues !== void 0) {\n result.enum = enumValues;\n }\n if (properties != null) {\n result.properties = Object.entries(properties).reduce(\n (acc, [key, value]) => {\n acc[key] = convertJSONSchemaToOpenAPISchema(value, false);\n return acc;\n },\n {}\n );\n }\n if (items) {\n result.items = Array.isArray(items) ? items.map((item) => convertJSONSchemaToOpenAPISchema(item, false)) : convertJSONSchemaToOpenAPISchema(items, false);\n }\n if (allOf) {\n result.allOf = allOf.map(\n (item) => convertJSONSchemaToOpenAPISchema(item, false)\n );\n }\n if (anyOf) {\n if (anyOf.some(\n (schema) => typeof schema === \"object\" && (schema == null ? void 0 : schema.type) === \"null\"\n )) {\n const nonNullSchemas = anyOf.filter(\n (schema) => !(typeof schema === \"object\" && (schema == null ? void 0 : schema.type) === \"null\")\n );\n if (nonNullSchemas.length === 1) {\n const converted = convertJSONSchemaToOpenAPISchema(\n nonNullSchemas[0],\n false\n );\n if (typeof converted === \"object\") {\n result.nullable = true;\n Object.assign(result, converted);\n }\n } else {\n result.anyOf = nonNullSchemas.map(\n (item) => convertJSONSchemaToOpenAPISchema(item, false)\n );\n result.nullable = true;\n }\n } else {\n result.anyOf = anyOf.map(\n (item) => convertJSONSchemaToOpenAPISchema(item, false)\n );\n }\n }\n if (oneOf) {\n result.oneOf = oneOf.map(\n (item) => convertJSONSchemaToOpenAPISchema(item, false)\n );\n }\n if (minLength !== void 0) {\n result.minLength = minLength;\n }\n return result;\n}\nfunction isEmptyObjectSchema(jsonSchema) {\n return jsonSchema != null && typeof jsonSchema === \"object\" && jsonSchema.type === \"object\" && (jsonSchema.properties == null || Object.keys(jsonSchema.properties).length === 0) && !jsonSchema.additionalProperties;\n}\n\n// src/convert-to-google-generative-ai-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertToBase64 } from \"@ai-sdk/provider-utils\";\nvar dataUrlRegex = /^data:([^;,]+);base64,(.+)$/s;\nfunction parseBase64DataUrl(value) {\n const match = dataUrlRegex.exec(value);\n if (match == null) {\n return void 0;\n }\n return {\n mediaType: match[1],\n data: match[2]\n };\n}\nfunction convertUrlToolResultPart(url) {\n const parsedDataUrl = parseBase64DataUrl(url);\n if (parsedDataUrl == null) {\n return void 0;\n }\n return {\n inlineData: {\n mimeType: parsedDataUrl.mediaType,\n data: parsedDataUrl.data\n }\n };\n}\nfunction appendToolResultParts(parts, toolName, outputValue) {\n const functionResponseParts = [];\n const responseTextParts = [];\n for (const contentPart of outputValue) {\n switch (contentPart.type) {\n case \"text\": {\n responseTextParts.push(contentPart.text);\n break;\n }\n case \"image-data\":\n case \"file-data\": {\n functionResponseParts.push({\n inlineData: {\n mimeType: contentPart.mediaType,\n data: contentPart.data\n }\n });\n break;\n }\n case \"image-url\":\n case \"file-url\": {\n const functionResponsePart = convertUrlToolResultPart(\n contentPart.url\n );\n if (functionResponsePart != null) {\n functionResponseParts.push(functionResponsePart);\n } else {\n responseTextParts.push(JSON.stringify(contentPart));\n }\n break;\n }\n default: {\n responseTextParts.push(JSON.stringify(contentPart));\n break;\n }\n }\n }\n parts.push({\n functionResponse: {\n name: toolName,\n response: {\n name: toolName,\n content: responseTextParts.length > 0 ? responseTextParts.join(\"\\n\") : \"Tool executed successfully.\"\n },\n ...functionResponseParts.length > 0 ? { parts: functionResponseParts } : {}\n }\n });\n}\nfunction appendLegacyToolResultParts(parts, toolName, outputValue) {\n for (const contentPart of outputValue) {\n switch (contentPart.type) {\n case \"text\":\n parts.push({\n functionResponse: {\n name: toolName,\n response: {\n name: toolName,\n content: contentPart.text\n }\n }\n });\n break;\n case \"image-data\":\n parts.push(\n {\n inlineData: {\n mimeType: String(contentPart.mediaType),\n data: String(contentPart.data)\n }\n },\n {\n text: \"Tool executed successfully and returned this image as a response\"\n }\n );\n break;\n default:\n parts.push({ text: JSON.stringify(contentPart) });\n break;\n }\n }\n}\nfunction convertToGoogleGenerativeAIMessages(prompt, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const systemInstructionParts = [];\n const contents = [];\n let systemMessagesAllowed = true;\n const isGemmaModel = (_a = options == null ? void 0 : options.isGemmaModel) != null ? _a : false;\n const providerOptionsName = (_b = options == null ? void 0 : options.providerOptionsName) != null ? _b : \"google\";\n const supportsFunctionResponseParts = (_c = options == null ? void 0 : options.supportsFunctionResponseParts) != null ? _c : true;\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n if (!systemMessagesAllowed) {\n throw new UnsupportedFunctionalityError({\n functionality: \"system messages are only supported at the beginning of the conversation\"\n });\n }\n systemInstructionParts.push({ text: content });\n break;\n }\n case \"user\": {\n systemMessagesAllowed = false;\n const parts = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n parts.push({ text: part.text });\n break;\n }\n case \"file\": {\n const mediaType = part.mediaType === \"image/*\" ? \"image/jpeg\" : part.mediaType;\n parts.push(\n part.data instanceof URL ? {\n fileData: {\n mimeType: mediaType,\n fileUri: part.data.toString()\n }\n } : {\n inlineData: {\n mimeType: mediaType,\n data: convertToBase64(part.data)\n }\n }\n );\n break;\n }\n }\n }\n contents.push({ role: \"user\", parts });\n break;\n }\n case \"assistant\": {\n systemMessagesAllowed = false;\n contents.push({\n role: \"model\",\n parts: content.map((part) => {\n var _a2, _b2, _c2, _d2;\n const providerOpts = (_d2 = (_a2 = part.providerOptions) == null ? void 0 : _a2[providerOptionsName]) != null ? _d2 : providerOptionsName !== \"google\" ? (_b2 = part.providerOptions) == null ? void 0 : _b2.google : (_c2 = part.providerOptions) == null ? void 0 : _c2.vertex;\n const thoughtSignature = (providerOpts == null ? void 0 : providerOpts.thoughtSignature) != null ? String(providerOpts.thoughtSignature) : void 0;\n switch (part.type) {\n case \"text\": {\n return part.text.length === 0 ? void 0 : {\n text: part.text,\n thoughtSignature\n };\n }\n case \"reasoning\": {\n return part.text.length === 0 ? void 0 : {\n text: part.text,\n thought: true,\n thoughtSignature\n };\n }\n case \"file\": {\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError({\n functionality: \"File data URLs in assistant messages are not supported\"\n });\n }\n return {\n inlineData: {\n mimeType: part.mediaType,\n data: convertToBase64(part.data)\n },\n ...(providerOpts == null ? void 0 : providerOpts.thought) === true ? { thought: true } : {},\n thoughtSignature\n };\n }\n case \"tool-call\": {\n const serverToolCallId = (providerOpts == null ? void 0 : providerOpts.serverToolCallId) != null ? String(providerOpts.serverToolCallId) : void 0;\n const serverToolType = (providerOpts == null ? void 0 : providerOpts.serverToolType) != null ? String(providerOpts.serverToolType) : void 0;\n if (serverToolCallId && serverToolType) {\n return {\n toolCall: {\n toolType: serverToolType,\n args: typeof part.input === \"string\" ? JSON.parse(part.input) : part.input,\n id: serverToolCallId\n },\n thoughtSignature\n };\n }\n return {\n functionCall: {\n name: part.toolName,\n args: part.input\n },\n thoughtSignature\n };\n }\n case \"tool-result\": {\n const serverToolCallId = (providerOpts == null ? void 0 : providerOpts.serverToolCallId) != null ? String(providerOpts.serverToolCallId) : void 0;\n const serverToolType = (providerOpts == null ? void 0 : providerOpts.serverToolType) != null ? String(providerOpts.serverToolType) : void 0;\n if (serverToolCallId && serverToolType) {\n return {\n toolResponse: {\n toolType: serverToolType,\n response: part.output.type === \"json\" ? part.output.value : {},\n id: serverToolCallId\n },\n thoughtSignature\n };\n }\n return void 0;\n }\n }\n }).filter((part) => part !== void 0)\n });\n if (contents[contents.length - 1].parts.length === 0) {\n contents.pop();\n }\n break;\n }\n case \"tool\": {\n systemMessagesAllowed = false;\n const parts = [];\n for (const part of content) {\n if (part.type === \"tool-approval-response\") {\n continue;\n }\n const partProviderOpts = (_g = (_d = part.providerOptions) == null ? void 0 : _d[providerOptionsName]) != null ? _g : providerOptionsName !== \"google\" ? (_e = part.providerOptions) == null ? void 0 : _e.google : (_f = part.providerOptions) == null ? void 0 : _f.vertex;\n const serverToolCallId = (partProviderOpts == null ? void 0 : partProviderOpts.serverToolCallId) != null ? String(partProviderOpts.serverToolCallId) : void 0;\n const serverToolType = (partProviderOpts == null ? void 0 : partProviderOpts.serverToolType) != null ? String(partProviderOpts.serverToolType) : void 0;\n if (serverToolCallId && serverToolType) {\n const serverThoughtSignature = (partProviderOpts == null ? void 0 : partProviderOpts.thoughtSignature) != null ? String(partProviderOpts.thoughtSignature) : void 0;\n if (contents.length > 0) {\n const lastContent = contents[contents.length - 1];\n if (lastContent.role === \"model\") {\n lastContent.parts.push({\n toolResponse: {\n toolType: serverToolType,\n response: part.output.type === \"json\" ? part.output.value : {},\n id: serverToolCallId\n },\n thoughtSignature: serverThoughtSignature\n });\n continue;\n }\n }\n }\n const output = part.output;\n if (output.type === \"content\") {\n if (supportsFunctionResponseParts) {\n appendToolResultParts(parts, part.toolName, output.value);\n } else {\n appendLegacyToolResultParts(parts, part.toolName, output.value);\n }\n } else {\n parts.push({\n functionResponse: {\n name: part.toolName,\n response: {\n name: part.toolName,\n content: output.type === \"execution-denied\" ? (_h = output.reason) != null ? _h : \"Tool execution denied.\" : output.value\n }\n }\n });\n }\n }\n contents.push({\n role: \"user\",\n parts\n });\n break;\n }\n }\n }\n if (isGemmaModel && systemInstructionParts.length > 0 && contents.length > 0 && contents[0].role === \"user\") {\n const systemText = systemInstructionParts.map((part) => part.text).join(\"\\n\\n\");\n contents[0].parts.unshift({ text: systemText + \"\\n\\n\" });\n }\n return {\n systemInstruction: systemInstructionParts.length > 0 && !isGemmaModel ? { parts: systemInstructionParts } : void 0,\n contents\n };\n}\n\n// src/get-model-path.ts\nfunction getModelPath(modelId) {\n return modelId.includes(\"/\") ? modelId : `models/${modelId}`;\n}\n\n// src/google-generative-ai-options.ts\nimport {\n lazySchema as lazySchema4,\n zodSchema as zodSchema4\n} from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod/v4\";\nvar googleLanguageModelOptions = lazySchema4(\n () => zodSchema4(\n z4.object({\n responseModalities: z4.array(z4.enum([\"TEXT\", \"IMAGE\"])).optional(),\n thinkingConfig: z4.object({\n thinkingBudget: z4.number().optional(),\n includeThoughts: z4.boolean().optional(),\n // https://ai.google.dev/gemini-api/docs/gemini-3?thinking=high#thinking_level\n thinkingLevel: z4.enum([\"minimal\", \"low\", \"medium\", \"high\"]).optional()\n }).optional(),\n /**\n * Optional.\n * The name of the cached content used as context to serve the prediction.\n * Format: cachedContents/{cachedContent}\n */\n cachedContent: z4.string().optional(),\n /**\n * Optional. Enable structured output. Default is true.\n *\n * This is useful when the JSON Schema contains elements that are\n * not supported by the OpenAPI schema version that\n * Google Generative AI uses. You can use this to disable\n * structured outputs if you need to.\n */\n structuredOutputs: z4.boolean().optional(),\n /**\n * Optional. A list of unique safety settings for blocking unsafe content.\n */\n safetySettings: z4.array(\n z4.object({\n category: z4.enum([\n \"HARM_CATEGORY_UNSPECIFIED\",\n \"HARM_CATEGORY_HATE_SPEECH\",\n \"HARM_CATEGORY_DANGEROUS_CONTENT\",\n \"HARM_CATEGORY_HARASSMENT\",\n \"HARM_CATEGORY_SEXUALLY_EXPLICIT\",\n \"HARM_CATEGORY_CIVIC_INTEGRITY\"\n ]),\n threshold: z4.enum([\n \"HARM_BLOCK_THRESHOLD_UNSPECIFIED\",\n \"BLOCK_LOW_AND_ABOVE\",\n \"BLOCK_MEDIUM_AND_ABOVE\",\n \"BLOCK_ONLY_HIGH\",\n \"BLOCK_NONE\",\n \"OFF\"\n ])\n })\n ).optional(),\n threshold: z4.enum([\n \"HARM_BLOCK_THRESHOLD_UNSPECIFIED\",\n \"BLOCK_LOW_AND_ABOVE\",\n \"BLOCK_MEDIUM_AND_ABOVE\",\n \"BLOCK_ONLY_HIGH\",\n \"BLOCK_NONE\",\n \"OFF\"\n ]).optional(),\n /**\n * Optional. Enables timestamp understanding for audio-only files.\n *\n * https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/audio-understanding\n */\n audioTimestamp: z4.boolean().optional(),\n /**\n * Optional. Defines labels used in billing reports. Available on Vertex AI only.\n *\n * https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/add-labels-to-api-calls\n */\n labels: z4.record(z4.string(), z4.string()).optional(),\n /**\n * Optional. If specified, the media resolution specified will be used.\n *\n * https://ai.google.dev/api/generate-content#MediaResolution\n */\n mediaResolution: z4.enum([\n \"MEDIA_RESOLUTION_UNSPECIFIED\",\n \"MEDIA_RESOLUTION_LOW\",\n \"MEDIA_RESOLUTION_MEDIUM\",\n \"MEDIA_RESOLUTION_HIGH\"\n ]).optional(),\n /**\n * Optional. Configures the image generation aspect ratio for Gemini models.\n *\n * https://ai.google.dev/gemini-api/docs/image-generation#aspect_ratios\n */\n imageConfig: z4.object({\n aspectRatio: z4.enum([\n \"1:1\",\n \"2:3\",\n \"3:2\",\n \"3:4\",\n \"4:3\",\n \"4:5\",\n \"5:4\",\n \"9:16\",\n \"16:9\",\n \"21:9\",\n \"1:8\",\n \"8:1\",\n \"1:4\",\n \"4:1\"\n ]).optional(),\n imageSize: z4.enum([\"1K\", \"2K\", \"4K\", \"512\"]).optional()\n }).optional(),\n /**\n * Optional. Configuration for grounding retrieval.\n * Used to provide location context for Google Maps and Google Search grounding.\n *\n * https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps\n */\n retrievalConfig: z4.object({\n latLng: z4.object({\n latitude: z4.number(),\n longitude: z4.number()\n }).optional()\n }).optional(),\n /**\n * Optional. When set to true, function call arguments will be streamed\n * incrementally via partialArgs in streaming responses. Only supported\n * on the Vertex AI API (not the Gemini API) and only for Gemini 3+\n * models.\n *\n * @default false\n *\n * https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc\n */\n streamFunctionCallArguments: z4.boolean().optional(),\n /**\n * Optional. The service tier to use for the request.\n */\n serviceTier: z4.enum([\"standard\", \"flex\", \"priority\"]).optional()\n })\n )\n);\nvar VertexServiceTierMap = {\n standard: \"SERVICE_TIER_STANDARD\",\n flex: \"SERVICE_TIER_FLEX\",\n priority: \"SERVICE_TIER_PRIORITY\"\n};\n\n// src/google-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n tools,\n toolChoice,\n modelId,\n isVertexProvider = false\n}) {\n var _a, _b;\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n const isLatest = [\n \"gemini-flash-latest\",\n \"gemini-flash-lite-latest\",\n \"gemini-pro-latest\"\n ].some((id) => id === modelId);\n const isGemini2orNewer = modelId.includes(\"gemini-2\") || modelId.includes(\"gemini-3\") || modelId.includes(\"nano-banana\") || isLatest;\n const isGemini3orNewer = modelId.includes(\"gemini-3\");\n const supportsFileSearch = modelId.includes(\"gemini-2.5\") || modelId.includes(\"gemini-3\");\n if (tools == null) {\n return { tools: void 0, toolConfig: void 0, toolWarnings };\n }\n const hasFunctionTools = tools.some((tool) => tool.type === \"function\");\n const hasProviderTools = tools.some((tool) => tool.type === \"provider\");\n if (hasFunctionTools && hasProviderTools && !isGemini3orNewer) {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `combination of function and provider-defined tools`\n });\n }\n if (hasProviderTools) {\n const googleTools2 = [];\n const ProviderTools = tools.filter((tool) => tool.type === \"provider\");\n ProviderTools.forEach((tool) => {\n switch (tool.id) {\n case \"google.google_search\":\n if (isGemini2orNewer) {\n googleTools2.push({ googleSearch: { ...tool.args } });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"Google Search requires Gemini 2.0 or newer.\"\n });\n }\n break;\n case \"google.enterprise_web_search\":\n if (isGemini2orNewer) {\n googleTools2.push({ enterpriseWebSearch: {} });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"Enterprise Web Search requires Gemini 2.0 or newer.\"\n });\n }\n break;\n case \"google.url_context\":\n if (isGemini2orNewer) {\n googleTools2.push({ urlContext: {} });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"The URL context tool is not supported with other Gemini models than Gemini 2.\"\n });\n }\n break;\n case \"google.code_execution\":\n if (isGemini2orNewer) {\n googleTools2.push({ codeExecution: {} });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"The code execution tool is not supported with other Gemini models than Gemini 2.\"\n });\n }\n break;\n case \"google.file_search\":\n if (supportsFileSearch) {\n googleTools2.push({ fileSearch: { ...tool.args } });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models.\"\n });\n }\n break;\n case \"google.vertex_rag_store\":\n if (isGemini2orNewer) {\n googleTools2.push({\n retrieval: {\n vertex_rag_store: {\n rag_resources: {\n rag_corpus: tool.args.ragCorpus\n },\n similarity_top_k: tool.args.topK\n }\n }\n });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"The RAG store tool is not supported with other Gemini models than Gemini 2.\"\n });\n }\n break;\n case \"google.google_maps\":\n if (isGemini2orNewer) {\n googleTools2.push({ googleMaps: {} });\n } else {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: \"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer.\"\n });\n }\n break;\n default:\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n break;\n }\n });\n if (hasFunctionTools && isGemini3orNewer && googleTools2.length > 0) {\n const functionDeclarations2 = [];\n for (const tool of tools) {\n if (tool.type === \"function\") {\n functionDeclarations2.push({\n name: tool.name,\n description: (_a = tool.description) != null ? _a : \"\",\n parameters: convertJSONSchemaToOpenAPISchema(tool.inputSchema)\n });\n }\n }\n const combinedToolConfig = {\n functionCallingConfig: { mode: \"VALIDATED\" },\n ...!isVertexProvider && {\n includeServerSideToolInvocations: true\n }\n };\n if (toolChoice != null) {\n switch (toolChoice.type) {\n case \"auto\":\n break;\n case \"none\":\n combinedToolConfig.functionCallingConfig = { mode: \"NONE\" };\n break;\n case \"required\":\n combinedToolConfig.functionCallingConfig = { mode: \"ANY\" };\n break;\n case \"tool\":\n combinedToolConfig.functionCallingConfig = {\n mode: \"ANY\",\n allowedFunctionNames: [toolChoice.toolName]\n };\n break;\n }\n }\n return {\n tools: [...googleTools2, { functionDeclarations: functionDeclarations2 }],\n toolConfig: combinedToolConfig,\n toolWarnings\n };\n }\n return {\n tools: googleTools2.length > 0 ? googleTools2 : void 0,\n toolConfig: void 0,\n toolWarnings\n };\n }\n const functionDeclarations = [];\n let hasStrictTools = false;\n for (const tool of tools) {\n switch (tool.type) {\n case \"function\":\n functionDeclarations.push({\n name: tool.name,\n description: (_b = tool.description) != null ? _b : \"\",\n parameters: convertJSONSchemaToOpenAPISchema(tool.inputSchema)\n });\n if (tool.strict === true) {\n hasStrictTools = true;\n }\n break;\n default:\n toolWarnings.push({\n type: \"unsupported\",\n feature: `function tool ${tool.name}`\n });\n break;\n }\n }\n if (toolChoice == null) {\n return {\n tools: [{ functionDeclarations }],\n toolConfig: hasStrictTools ? { functionCallingConfig: { mode: \"VALIDATED\" } } : void 0,\n toolWarnings\n };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n return {\n tools: [{ functionDeclarations }],\n toolConfig: {\n functionCallingConfig: {\n mode: hasStrictTools ? \"VALIDATED\" : \"AUTO\"\n }\n },\n toolWarnings\n };\n case \"none\":\n return {\n tools: [{ functionDeclarations }],\n toolConfig: { functionCallingConfig: { mode: \"NONE\" } },\n toolWarnings\n };\n case \"required\":\n return {\n tools: [{ functionDeclarations }],\n toolConfig: {\n functionCallingConfig: {\n mode: hasStrictTools ? \"VALIDATED\" : \"ANY\"\n }\n },\n toolWarnings\n };\n case \"tool\":\n return {\n tools: [{ functionDeclarations }],\n toolConfig: {\n functionCallingConfig: {\n mode: hasStrictTools ? \"VALIDATED\" : \"ANY\",\n allowedFunctionNames: [toolChoice.toolName]\n }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/google-json-accumulator.ts\nvar GoogleJSONAccumulator = class {\n constructor() {\n this.accumulatedArgs = {};\n this.jsonText = \"\";\n /**\n * Stack representing the currently \"open\" containers in the JSON output.\n * Entry 0 is always the root `{` object once the first value is written.\n */\n this.pathStack = [];\n /**\n * Whether a string value is currently \"open\" (willContinue was true),\n * meaning the closing quote has not yet been emitted.\n */\n this.stringOpen = false;\n }\n /**\n * Input: [{jsonPath:\"$.brightness\",numberValue:50}]\n * Output: { currentJSON:{brightness:50}, textDelta:'{\"brightness\":50' }\n */\n processPartialArgs(partialArgs) {\n let delta = \"\";\n for (const arg of partialArgs) {\n const rawPath = arg.jsonPath.replace(/^\\$\\./, \"\");\n if (!rawPath) continue;\n const segments = parsePath(rawPath);\n const existingValue = getNestedValue(this.accumulatedArgs, segments);\n const isStringContinuation = arg.stringValue != null && existingValue !== void 0;\n if (isStringContinuation) {\n const escaped = JSON.stringify(arg.stringValue).slice(1, -1);\n setNestedValue(\n this.accumulatedArgs,\n segments,\n existingValue + arg.stringValue\n );\n delta += escaped;\n continue;\n }\n const resolved = resolvePartialArgValue(arg);\n if (resolved == null) continue;\n setNestedValue(this.accumulatedArgs, segments, resolved.value);\n delta += this.emitNavigationTo(segments, arg, resolved.json);\n }\n this.jsonText += delta;\n return {\n currentJSON: this.accumulatedArgs,\n textDelta: delta\n };\n }\n /**\n * Input: jsonText='{\"brightness\":50', accumulatedArgs={brightness:50}\n * Output: { finalJSON:'{\"brightness\":50}', closingDelta:'}' }\n */\n finalize() {\n const finalArgs = JSON.stringify(this.accumulatedArgs);\n const closingDelta = finalArgs.slice(this.jsonText.length);\n return { finalJSON: finalArgs, closingDelta };\n }\n /**\n * Input: pathStack=[] (first call) or pathStack=[root,...] (subsequent calls)\n * Output: '{' (first call) or '' (subsequent calls)\n */\n ensureRoot() {\n if (this.pathStack.length === 0) {\n this.pathStack.push({ segment: \"\", isArray: false, childCount: 0 });\n return \"{\";\n }\n return \"\";\n }\n /**\n * Emits the JSON text fragment needed to navigate from the current open\n * path to the new leaf at `targetSegments`, then writes the value.\n *\n * Input: targetSegments=[\"recipe\",\"name\"], arg={jsonPath:\"$.recipe.name\",stringValue:\"Lasagna\"}, valueJson='\"Lasagna\"'\n * Output: '{\"recipe\":{\"name\":\"Lasagna\"'\n */\n emitNavigationTo(targetSegments, arg, valueJson) {\n let fragment = \"\";\n if (this.stringOpen) {\n fragment += '\"';\n this.stringOpen = false;\n }\n fragment += this.ensureRoot();\n const targetContainerSegments = targetSegments.slice(0, -1);\n const leafSegment = targetSegments[targetSegments.length - 1];\n const commonDepth = this.findCommonStackDepth(targetContainerSegments);\n fragment += this.closeDownTo(commonDepth);\n fragment += this.openDownTo(targetContainerSegments, leafSegment);\n fragment += this.emitLeaf(leafSegment, arg, valueJson);\n return fragment;\n }\n /**\n * Returns the stack depth to preserve when navigating to a new target\n * container path. Always >= 1 (the root is never popped).\n *\n * Input: stack=[root,\"recipe\",\"ingredients\",0], target=[\"recipe\",\"ingredients\",1]\n * Output: 3 (keep root+\"recipe\"+\"ingredients\")\n */\n findCommonStackDepth(targetContainer) {\n const maxDepth = Math.min(\n this.pathStack.length - 1,\n targetContainer.length\n );\n let common = 0;\n for (let i = 0; i < maxDepth; i++) {\n if (this.pathStack[i + 1].segment === targetContainer[i]) {\n common++;\n } else {\n break;\n }\n }\n return common + 1;\n }\n /**\n * Closes containers from the current stack depth back down to `targetDepth`.\n *\n * Input: this.pathStack=[root,\"recipe\",\"ingredients\",0], targetDepth=3\n * Output: '}'\n */\n closeDownTo(targetDepth) {\n let fragment = \"\";\n while (this.pathStack.length > targetDepth) {\n const entry = this.pathStack.pop();\n fragment += entry.isArray ? \"]\" : \"}\";\n }\n return fragment;\n }\n /**\n * Opens containers from the current stack depth down to the full target\n * container path, emitting opening `{`, `[`, keys, and commas as needed.\n * `leafSegment` is used to determine if the innermost container is an array.\n *\n * Input: this.pathStack=[root], targetContainer=[\"recipe\",\"ingredients\"], leafSegment=0\n * Output: '\"recipe\":{\"ingredients\":['\n */\n openDownTo(targetContainer, leafSegment) {\n let fragment = \"\";\n const startIdx = this.pathStack.length - 1;\n for (let i = startIdx; i < targetContainer.length; i++) {\n const seg = targetContainer[i];\n const parentEntry = this.pathStack[this.pathStack.length - 1];\n if (parentEntry.childCount > 0) {\n fragment += \",\";\n }\n parentEntry.childCount++;\n if (typeof seg === \"string\") {\n fragment += `${JSON.stringify(seg)}:`;\n }\n const childSeg = i + 1 < targetContainer.length ? targetContainer[i + 1] : leafSegment;\n const isArray = typeof childSeg === \"number\";\n fragment += isArray ? \"[\" : \"{\";\n this.pathStack.push({ segment: seg, isArray, childCount: 0 });\n }\n return fragment;\n }\n /**\n * Emits the comma, key, and value for a leaf entry in the current container.\n *\n * Input: leafSegment=\"name\", arg={stringValue:\"Lasagna\"}, valueJson='\"Lasagna\"'\n * Output: '\"name\":\"Lasagna\"' (or ',\"name\":\"Lasagna\"' if container.childCount > 0)\n */\n emitLeaf(leafSegment, arg, valueJson) {\n let fragment = \"\";\n const container = this.pathStack[this.pathStack.length - 1];\n if (container.childCount > 0) {\n fragment += \",\";\n }\n container.childCount++;\n if (typeof leafSegment === \"string\") {\n fragment += `${JSON.stringify(leafSegment)}:`;\n }\n if (arg.stringValue != null && arg.willContinue) {\n fragment += valueJson.slice(0, -1);\n this.stringOpen = true;\n } else {\n fragment += valueJson;\n }\n return fragment;\n }\n};\nfunction parsePath(rawPath) {\n const segments = [];\n for (const part of rawPath.split(\".\")) {\n const bracketIdx = part.indexOf(\"[\");\n if (bracketIdx === -1) {\n segments.push(part);\n } else {\n if (bracketIdx > 0) segments.push(part.slice(0, bracketIdx));\n for (const m of part.matchAll(/\\[(\\d+)\\]/g)) {\n segments.push(parseInt(m[1], 10));\n }\n }\n }\n return segments;\n}\nfunction getNestedValue(obj, segments) {\n let current = obj;\n for (const seg of segments) {\n if (current == null || typeof current !== \"object\") return void 0;\n current = current[seg];\n }\n return current;\n}\nfunction setNestedValue(obj, segments, value) {\n let current = obj;\n for (let i = 0; i < segments.length - 1; i++) {\n const seg = segments[i];\n const nextSeg = segments[i + 1];\n if (current[seg] == null) {\n current[seg] = typeof nextSeg === \"number\" ? [] : {};\n }\n current = current[seg];\n }\n current[segments[segments.length - 1]] = value;\n}\nfunction resolvePartialArgValue(arg) {\n var _a, _b;\n const value = (_b = (_a = arg.stringValue) != null ? _a : arg.numberValue) != null ? _b : arg.boolValue;\n if (value != null) return { value, json: JSON.stringify(value) };\n if (\"nullValue\" in arg) return { value: null, json: \"null\" };\n return void 0;\n}\n\n// src/map-google-generative-ai-finish-reason.ts\nfunction mapGoogleGenerativeAIFinishReason({\n finishReason,\n hasToolCalls\n}) {\n switch (finishReason) {\n case \"STOP\":\n return hasToolCalls ? \"tool-calls\" : \"stop\";\n case \"MAX_TOKENS\":\n return \"length\";\n case \"IMAGE_SAFETY\":\n case \"RECITATION\":\n case \"SAFETY\":\n case \"BLOCKLIST\":\n case \"PROHIBITED_CONTENT\":\n case \"SPII\":\n return \"content-filter\";\n case \"MALFORMED_FUNCTION_CALL\":\n return \"error\";\n case \"FINISH_REASON_UNSPECIFIED\":\n case \"OTHER\":\n default:\n return \"other\";\n }\n}\n\n// src/google-generative-ai-language-model.ts\nvar GoogleGenerativeAILanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n var _a;\n this.modelId = modelId;\n this.config = config;\n this.generateId = (_a = config.generateId) != null ? _a : generateId;\n }\n get provider() {\n return this.config.provider;\n }\n get supportedUrls() {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.config).supportedUrls) == null ? void 0 : _b.call(_a)) != null ? _c : {};\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n tools,\n toolChoice,\n providerOptions\n }, { isStreaming = false } = {}) {\n var _a, _b;\n const warnings = [];\n const providerOptionsName = this.config.provider.includes(\"vertex\") ? \"vertex\" : \"google\";\n let googleOptions = await parseProviderOptions2({\n provider: providerOptionsName,\n providerOptions,\n schema: googleLanguageModelOptions\n });\n if (googleOptions == null && providerOptionsName !== \"google\") {\n googleOptions = await parseProviderOptions2({\n provider: \"google\",\n providerOptions,\n schema: googleLanguageModelOptions\n });\n }\n const isVertexProvider = this.config.provider.startsWith(\"google.vertex.\");\n if ((tools == null ? void 0 : tools.some(\n (tool) => tool.type === \"provider\" && tool.id === \"google.vertex_rag_store\"\n )) && !isVertexProvider) {\n warnings.push({\n type: \"other\",\n message: `The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`\n });\n }\n if ((googleOptions == null ? void 0 : googleOptions.streamFunctionCallArguments) && !isVertexProvider) {\n warnings.push({\n type: \"other\",\n message: `'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${this.config.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`\n });\n }\n let sanitizedServiceTier = googleOptions == null ? void 0 : googleOptions.serviceTier;\n if ((googleOptions == null ? void 0 : googleOptions.serviceTier) && isVertexProvider) {\n sanitizedServiceTier = VertexServiceTierMap[googleOptions.serviceTier];\n }\n const isGemmaModel = this.modelId.toLowerCase().startsWith(\"gemma-\");\n const supportsFunctionResponseParts = this.modelId.startsWith(\"gemini-3\");\n const { contents, systemInstruction } = convertToGoogleGenerativeAIMessages(\n prompt,\n {\n isGemmaModel,\n providerOptionsName,\n supportsFunctionResponseParts\n }\n );\n const {\n tools: googleTools2,\n toolConfig: googleToolConfig,\n toolWarnings\n } = prepareTools({\n tools,\n toolChoice,\n modelId: this.modelId,\n isVertexProvider\n });\n const streamFunctionCallArguments = isStreaming && isVertexProvider ? (_a = googleOptions == null ? void 0 : googleOptions.streamFunctionCallArguments) != null ? _a : false : void 0;\n const toolConfig = googleToolConfig || streamFunctionCallArguments || (googleOptions == null ? void 0 : googleOptions.retrievalConfig) ? {\n ...googleToolConfig,\n ...streamFunctionCallArguments && {\n functionCallingConfig: {\n ...googleToolConfig == null ? void 0 : googleToolConfig.functionCallingConfig,\n streamFunctionCallArguments: true\n }\n },\n ...(googleOptions == null ? void 0 : googleOptions.retrievalConfig) && {\n retrievalConfig: googleOptions.retrievalConfig\n }\n } : void 0;\n return {\n args: {\n generationConfig: {\n // standardized settings:\n maxOutputTokens,\n temperature,\n topK,\n topP,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n seed,\n // response format:\n responseMimeType: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? \"application/json\" : void 0,\n responseSchema: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" && responseFormat.schema != null && // Google GenAI does not support all OpenAPI Schema features,\n // so this is needed as an escape hatch:\n // TODO convert into provider option\n ((_b = googleOptions == null ? void 0 : googleOptions.structuredOutputs) != null ? _b : true) ? convertJSONSchemaToOpenAPISchema(responseFormat.schema) : void 0,\n ...(googleOptions == null ? void 0 : googleOptions.audioTimestamp) && {\n audioTimestamp: googleOptions.audioTimestamp\n },\n // provider options:\n responseModalities: googleOptions == null ? void 0 : googleOptions.responseModalities,\n thinkingConfig: googleOptions == null ? void 0 : googleOptions.thinkingConfig,\n ...(googleOptions == null ? void 0 : googleOptions.mediaResolution) && {\n mediaResolution: googleOptions.mediaResolution\n },\n ...(googleOptions == null ? void 0 : googleOptions.imageConfig) && {\n imageConfig: googleOptions.imageConfig\n }\n },\n contents,\n systemInstruction: isGemmaModel ? void 0 : systemInstruction,\n safetySettings: googleOptions == null ? void 0 : googleOptions.safetySettings,\n tools: googleTools2,\n toolConfig,\n cachedContent: googleOptions == null ? void 0 : googleOptions.cachedContent,\n labels: googleOptions == null ? void 0 : googleOptions.labels,\n serviceTier: sanitizedServiceTier\n },\n warnings: [...warnings, ...toolWarnings],\n providerOptionsName\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;\n const { args, warnings, providerOptionsName } = await this.getArgs(options);\n const mergedHeaders = combineHeaders2(\n await resolve2(this.config.headers),\n options.headers\n );\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi2({\n url: `${this.config.baseURL}/${getModelPath(\n this.modelId\n )}:generateContent`,\n headers: mergedHeaders,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(responseSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const candidate = response.candidates[0];\n const content = [];\n const parts = (_b = (_a = candidate.content) == null ? void 0 : _a.parts) != null ? _b : [];\n const usageMetadata = response.usageMetadata;\n let lastCodeExecutionToolCallId;\n let lastServerToolCallId;\n for (const part of parts) {\n if (\"executableCode\" in part && ((_c = part.executableCode) == null ? void 0 : _c.code)) {\n const toolCallId = this.config.generateId();\n lastCodeExecutionToolCallId = toolCallId;\n content.push({\n type: \"tool-call\",\n toolCallId,\n toolName: \"code_execution\",\n input: JSON.stringify(part.executableCode),\n providerExecuted: true\n });\n } else if (\"codeExecutionResult\" in part && part.codeExecutionResult) {\n content.push({\n type: \"tool-result\",\n // Assumes a result directly follows its corresponding call part.\n toolCallId: lastCodeExecutionToolCallId,\n toolName: \"code_execution\",\n result: {\n outcome: part.codeExecutionResult.outcome,\n output: (_d = part.codeExecutionResult.output) != null ? _d : \"\"\n }\n });\n lastCodeExecutionToolCallId = void 0;\n } else if (\"text\" in part && part.text != null) {\n const thoughtSignatureMetadata = part.thoughtSignature ? {\n [providerOptionsName]: {\n thoughtSignature: part.thoughtSignature\n }\n } : void 0;\n if (part.text.length === 0) {\n if (thoughtSignatureMetadata != null && content.length > 0) {\n const lastContent = content[content.length - 1];\n lastContent.providerMetadata = thoughtSignatureMetadata;\n }\n } else {\n content.push({\n type: part.thought === true ? \"reasoning\" : \"text\",\n text: part.text,\n providerMetadata: thoughtSignatureMetadata\n });\n }\n } else if (\"functionCall\" in part && part.functionCall.name != null) {\n content.push({\n type: \"tool-call\",\n toolCallId: this.config.generateId(),\n toolName: part.functionCall.name,\n input: JSON.stringify((_e = part.functionCall.args) != null ? _e : {}),\n providerMetadata: part.thoughtSignature ? {\n [providerOptionsName]: {\n thoughtSignature: part.thoughtSignature\n }\n } : void 0\n });\n } else if (\"inlineData\" in part) {\n const hasThought = part.thought === true;\n const hasThoughtSignature = !!part.thoughtSignature;\n content.push({\n type: \"file\",\n data: part.inlineData.data,\n mediaType: part.inlineData.mimeType,\n providerMetadata: hasThought || hasThoughtSignature ? {\n [providerOptionsName]: {\n ...hasThought ? { thought: true } : {},\n ...hasThoughtSignature ? { thoughtSignature: part.thoughtSignature } : {}\n }\n } : void 0\n });\n } else if (\"toolCall\" in part && part.toolCall) {\n const toolCallId = (_f = part.toolCall.id) != null ? _f : this.config.generateId();\n lastServerToolCallId = toolCallId;\n content.push({\n type: \"tool-call\",\n toolCallId,\n toolName: `server:${part.toolCall.toolType}`,\n input: JSON.stringify((_g = part.toolCall.args) != null ? _g : {}),\n providerExecuted: true,\n dynamic: true,\n providerMetadata: part.thoughtSignature ? {\n [providerOptionsName]: {\n thoughtSignature: part.thoughtSignature,\n serverToolCallId: toolCallId,\n serverToolType: part.toolCall.toolType\n }\n } : {\n [providerOptionsName]: {\n serverToolCallId: toolCallId,\n serverToolType: part.toolCall.toolType\n }\n }\n });\n } else if (\"toolResponse\" in part && part.toolResponse) {\n const responseToolCallId = (_h = lastServerToolCallId != null ? lastServerToolCallId : part.toolResponse.id) != null ? _h : this.config.generateId();\n content.push({\n type: \"tool-result\",\n toolCallId: responseToolCallId,\n toolName: `server:${part.toolResponse.toolType}`,\n result: (_i = part.toolResponse.response) != null ? _i : {},\n providerMetadata: part.thoughtSignature ? {\n [providerOptionsName]: {\n thoughtSignature: part.thoughtSignature,\n serverToolCallId: responseToolCallId,\n serverToolType: part.toolResponse.toolType\n }\n } : {\n [providerOptionsName]: {\n serverToolCallId: responseToolCallId,\n serverToolType: part.toolResponse.toolType\n }\n }\n });\n lastServerToolCallId = void 0;\n }\n }\n const sources = (_j = extractSources({\n groundingMetadata: candidate.groundingMetadata,\n generateId: this.config.generateId\n })) != null ? _j : [];\n for (const source of sources) {\n content.push(source);\n }\n return {\n content,\n finishReason: {\n unified: mapGoogleGenerativeAIFinishReason({\n finishReason: candidate.finishReason,\n // Only count client-executed tool calls for finish reason determination.\n hasToolCalls: content.some(\n (part) => part.type === \"tool-call\" && !part.providerExecuted\n )\n }),\n raw: (_k = candidate.finishReason) != null ? _k : void 0\n },\n usage: convertGoogleGenerativeAIUsage(usageMetadata),\n warnings,\n providerMetadata: {\n [providerOptionsName]: {\n promptFeedback: (_l = response.promptFeedback) != null ? _l : null,\n groundingMetadata: (_m = candidate.groundingMetadata) != null ? _m : null,\n urlContextMetadata: (_n = candidate.urlContextMetadata) != null ? _n : null,\n safetyRatings: (_o = candidate.safetyRatings) != null ? _o : null,\n usageMetadata: usageMetadata != null ? usageMetadata : null,\n finishMessage: (_p = candidate.finishMessage) != null ? _p : null,\n serviceTier: (_q = response.serviceTier) != null ? _q : null\n }\n },\n request: { body: args },\n response: {\n // TODO timestamp, model id, id\n headers: responseHeaders,\n body: rawResponse\n }\n };\n }\n async doStream(options) {\n const { args, warnings, providerOptionsName } = await this.getArgs(\n options,\n { isStreaming: true }\n );\n const headers = combineHeaders2(\n await resolve2(this.config.headers),\n options.headers\n );\n const { responseHeaders, value: response } = await postJsonToApi2({\n url: `${this.config.baseURL}/${getModelPath(\n this.modelId\n )}:streamGenerateContent?alt=sse`,\n headers,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(chunkSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n let finishReason = {\n unified: \"other\",\n raw: void 0\n };\n let usage = void 0;\n let providerMetadata = void 0;\n let lastGroundingMetadata = null;\n let lastUrlContextMetadata = null;\n let serviceTier = null;\n const generateId3 = this.config.generateId;\n let hasToolCalls = false;\n let currentTextBlockId = null;\n let currentReasoningBlockId = null;\n let blockCounter = 0;\n const emittedSourceUrls = /* @__PURE__ */ new Set();\n let lastCodeExecutionToolCallId;\n let lastServerToolCallId;\n const activeStreamingToolCalls = [];\n return {\n stream: response.pipeThrough(\n new TransformStream({\n start(controller) {\n controller.enqueue({ type: \"stream-start\", warnings });\n },\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n const usageMetadata = value.usageMetadata;\n if (usageMetadata != null) {\n usage = usageMetadata;\n }\n if (value.serviceTier != null) {\n serviceTier = value.serviceTier;\n }\n const candidate = (_a = value.candidates) == null ? void 0 : _a[0];\n if (candidate == null) {\n return;\n }\n const content = candidate.content;\n if (candidate.groundingMetadata != null) {\n lastGroundingMetadata = candidate.groundingMetadata;\n }\n if (candidate.urlContextMetadata != null) {\n lastUrlContextMetadata = candidate.urlContextMetadata;\n }\n const sources = extractSources({\n groundingMetadata: candidate.groundingMetadata,\n generateId: generateId3\n });\n if (sources != null) {\n for (const source of sources) {\n if (source.sourceType === \"url\" && !emittedSourceUrls.has(source.url)) {\n emittedSourceUrls.add(source.url);\n controller.enqueue(source);\n }\n }\n }\n if (content != null) {\n const parts = (_b = content.parts) != null ? _b : [];\n for (const part of parts) {\n if (\"executableCode\" in part && ((_c = part.executableCode) == null ? void 0 : _c.code)) {\n const toolCallId = generateId3();\n lastCodeExecutionToolCallId = toolCallId;\n controller.enqueue({\n type: \"tool-call\",\n toolCallId,\n toolName: \"code_execution\",\n input: JSON.stringify(part.executableCode),\n providerExecuted: true\n });\n } else if (\"codeExecutionResult\" in part && part.codeExecutionResult) {\n const toolCallId = lastCodeExecutionToolCallId;\n if (toolCallId) {\n controller.enqueue({\n type: \"tool-result\",\n toolCallId,\n toolName: \"code_execution\",\n result: {\n outcome: part.codeExecutionResult.outcome,\n output: (_d = part.codeExecutionResult.output) != null ? _d : \"\"\n }\n });\n lastCodeExecutionToolCallId = void 0;\n }\n } else if (\"text\" in part && part.text != null) {\n const thoughtSignatureMetadata = part.thoughtSignature ? {\n [providerOptionsName]: {\n thoughtSignature: part.thoughtSignature\n }\n } : void 0;\n if (part.text.length === 0) {\n if (thoughtSignatureMetadata != null && currentTextBlockId !== null) {\n controller.enqueue({\n type: \"text-delta\",\n id: currentTextBlockId,\n delta: \"\",\n providerMetadata: thoughtSignatureMetadata\n });\n }\n } else if (part.thought === true) {\n if (currentTextBlockId !== null) {\n controller.enqueue({\n type: \"text-end\",\n id: currentTextBlockId\n });\n currentTextBlockId = null;\n }\n if (currentReasoningBlockId === null) {\n currentReasoningBlockId = String(blockCounter++);\n controller.enqueue({\n type: \"reasoning-start\",\n id: currentReasoningBlockId,\n providerMetadata: thoughtSignatureMetadata\n });\n }\n controller.enqueue({\n type: \"reasoning-delta\",\n id: currentReasoningBlockId,\n delta: part.text,\n providerMetadata: thoughtSignatureMetadata\n });\n } else {\n if (currentReasoningBlockId !== null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: currentReasoningBlockId\n });\n currentReasoningBlockId = null;\n }\n if (currentTextBlockId === null) {\n currentTextBlockId = String(blockCounter++);\n controller.enqueue({\n type: \"text-start\",\n id: currentTextBlockId,\n providerMetadata: thoughtSignatureMetadata\n });\n }\n controller.enqueue({\n type: \"text-delta\",\n id: currentTextBlockId,\n delta: part.text,\n providerMetadata: thoughtSignatureMetadata\n });\n }\n } else if (\"inlineData\" in part) {\n if (currentTextBlockId !== null) {\n controller.enqueue({\n type: \"text-end\",\n id: currentTextBlockId\n });\n currentTextBlockId = null;\n }\n if (currentReasoningBlockId !== null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: currentReasoningBlockId\n });\n currentReasoningBlockId = null;\n }\n const hasThought = part.thought === true;\n const hasThoughtSignature = !!part.thoughtSignature;\n const fileMeta = hasThought || hasThoughtSignature ? {\n [providerOptionsName]: {\n ...hasThought ? { thought: true } : {},\n ...hasThoughtSignature ? { thoughtSignature: part.thoughtSignature } : {}\n }\n } : void 0;\n controller.enqueue({\n type: \"file\",\n mediaType: part.inlineData.mimeType,\n data: part.inlineData.data,\n providerMetadata: fileMeta\n });\n } else if (\"toolCall\" in part && part.toolCall) {\n const toolCallId = (_e = part.toolCall.id) != null ? _e : generateId3();\n lastServerToolCallId = toolCallId;\n const serverMeta = {\n [providerOptionsName]: {\n ...part.thoughtSignature ? { thoughtSignature: part.thoughtSignature } : {},\n serverToolCallId: toolCallId,\n serverToolType: part.toolCall.toolType\n }\n };\n controller.enqueue({\n type: \"tool-call\",\n toolCallId,\n toolName: `server:${part.toolCall.toolType}`,\n input: JSON.stringify((_f = part.toolCall.args) != null ? _f : {}),\n providerExecuted: true,\n dynamic: true,\n providerMetadata: serverMeta\n });\n } else if (\"toolResponse\" in part && part.toolResponse) {\n const responseToolCallId = (_g = lastServerToolCallId != null ? lastServerToolCallId : part.toolResponse.id) != null ? _g : generateId3();\n const serverMeta = {\n [providerOptionsName]: {\n ...part.thoughtSignature ? { thoughtSignature: part.thoughtSignature } : {},\n serverToolCallId: responseToolCallId,\n serverToolType: part.toolResponse.toolType\n }\n };\n controller.enqueue({\n type: \"tool-result\",\n toolCallId: responseToolCallId,\n toolName: `server:${part.toolResponse.toolType}`,\n result: (_h = part.toolResponse.response) != null ? _h : {},\n providerMetadata: serverMeta\n });\n lastServerToolCallId = void 0;\n }\n }\n for (const part of parts) {\n if (!(\"functionCall\" in part)) continue;\n const providerMeta = part.thoughtSignature ? {\n [providerOptionsName]: {\n thoughtSignature: part.thoughtSignature\n }\n } : void 0;\n const isStreamingChunk = part.functionCall.partialArgs != null || part.functionCall.name != null && part.functionCall.willContinue === true;\n const isTerminalChunk = part.functionCall.name == null && part.functionCall.args == null && part.functionCall.partialArgs == null && part.functionCall.willContinue == null;\n const isCompleteCall = part.functionCall.name != null && part.functionCall.args != null && part.functionCall.partialArgs == null;\n const isNoArgsCompleteCall = part.functionCall.name != null && part.functionCall.args == null && part.functionCall.partialArgs == null && part.functionCall.willContinue !== true;\n if (isStreamingChunk) {\n if (part.functionCall.name != null && part.functionCall.willContinue === true) {\n const toolCallId = generateId3();\n const accumulator = new GoogleJSONAccumulator();\n activeStreamingToolCalls.push({\n toolCallId,\n toolName: part.functionCall.name,\n accumulator,\n providerMetadata: providerMeta\n });\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallId,\n toolName: part.functionCall.name,\n providerMetadata: providerMeta\n });\n if (part.functionCall.partialArgs != null) {\n const { textDelta } = accumulator.processPartialArgs(\n part.functionCall.partialArgs\n );\n if (textDelta.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCallId,\n delta: textDelta,\n providerMetadata: providerMeta\n });\n }\n }\n } else if (part.functionCall.partialArgs != null && activeStreamingToolCalls.length > 0) {\n const active = activeStreamingToolCalls[activeStreamingToolCalls.length - 1];\n const { textDelta } = active.accumulator.processPartialArgs(\n part.functionCall.partialArgs\n );\n if (textDelta.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: active.toolCallId,\n delta: textDelta,\n providerMetadata: providerMeta\n });\n }\n }\n } else if (isTerminalChunk && activeStreamingToolCalls.length > 0) {\n const active = activeStreamingToolCalls.pop();\n const { finalJSON, closingDelta } = active.accumulator.finalize();\n if (closingDelta.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: active.toolCallId,\n delta: closingDelta,\n providerMetadata: active.providerMetadata\n });\n }\n controller.enqueue({\n type: \"tool-input-end\",\n id: active.toolCallId,\n providerMetadata: active.providerMetadata\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: active.toolCallId,\n toolName: active.toolName,\n input: finalJSON,\n providerMetadata: active.providerMetadata\n });\n hasToolCalls = true;\n } else if (isCompleteCall) {\n const toolCallId = generateId3();\n const toolName = part.functionCall.name;\n const args2 = typeof part.functionCall.args === \"string\" ? part.functionCall.args : JSON.stringify((_i = part.functionCall.args) != null ? _i : {});\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallId,\n toolName,\n providerMetadata: providerMeta\n });\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCallId,\n delta: args2,\n providerMetadata: providerMeta\n });\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCallId,\n providerMetadata: providerMeta\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId,\n toolName,\n input: args2,\n providerMetadata: providerMeta\n });\n hasToolCalls = true;\n } else if (isNoArgsCompleteCall) {\n const toolCallId = generateId3();\n const toolName = part.functionCall.name;\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallId,\n toolName,\n providerMetadata: providerMeta\n });\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCallId,\n providerMetadata: providerMeta\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId,\n toolName,\n input: \"{}\",\n providerMetadata: providerMeta\n });\n hasToolCalls = true;\n }\n }\n }\n if (candidate.finishReason != null) {\n finishReason = {\n unified: mapGoogleGenerativeAIFinishReason({\n finishReason: candidate.finishReason,\n hasToolCalls\n }),\n raw: candidate.finishReason\n };\n providerMetadata = {\n [providerOptionsName]: {\n promptFeedback: (_j = value.promptFeedback) != null ? _j : null,\n groundingMetadata: lastGroundingMetadata,\n urlContextMetadata: lastUrlContextMetadata,\n safetyRatings: (_k = candidate.safetyRatings) != null ? _k : null,\n usageMetadata: usageMetadata != null ? usageMetadata : null,\n finishMessage: (_l = candidate.finishMessage) != null ? _l : null,\n serviceTier\n }\n };\n }\n },\n flush(controller) {\n if (currentTextBlockId !== null) {\n controller.enqueue({\n type: \"text-end\",\n id: currentTextBlockId\n });\n }\n if (currentReasoningBlockId !== null) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: currentReasoningBlockId\n });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertGoogleGenerativeAIUsage(usage),\n providerMetadata\n });\n }\n })\n ),\n response: { headers: responseHeaders },\n request: { body: args }\n };\n }\n};\nfunction extractSources({\n groundingMetadata,\n generateId: generateId3\n}) {\n var _a, _b, _c, _d, _e, _f;\n if (!(groundingMetadata == null ? void 0 : groundingMetadata.groundingChunks)) {\n return void 0;\n }\n const sources = [];\n for (const chunk of groundingMetadata.groundingChunks) {\n if (chunk.web != null) {\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: chunk.web.uri,\n title: (_a = chunk.web.title) != null ? _a : void 0\n });\n } else if (chunk.image != null) {\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n // Google requires attribution to the source URI, not the actual image URI.\n // TODO: add another type in v7 to allow both the image and source URL to be included separately\n url: chunk.image.sourceUri,\n title: (_b = chunk.image.title) != null ? _b : void 0\n });\n } else if (chunk.retrievedContext != null) {\n const uri = chunk.retrievedContext.uri;\n const fileSearchStore = chunk.retrievedContext.fileSearchStore;\n if (uri && (uri.startsWith(\"http://\") || uri.startsWith(\"https://\"))) {\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: uri,\n title: (_c = chunk.retrievedContext.title) != null ? _c : void 0\n });\n } else if (uri) {\n const title = (_d = chunk.retrievedContext.title) != null ? _d : \"Unknown Document\";\n let mediaType = \"application/octet-stream\";\n let filename = void 0;\n if (uri.endsWith(\".pdf\")) {\n mediaType = \"application/pdf\";\n filename = uri.split(\"/\").pop();\n } else if (uri.endsWith(\".txt\")) {\n mediaType = \"text/plain\";\n filename = uri.split(\"/\").pop();\n } else if (uri.endsWith(\".docx\")) {\n mediaType = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\";\n filename = uri.split(\"/\").pop();\n } else if (uri.endsWith(\".doc\")) {\n mediaType = \"application/msword\";\n filename = uri.split(\"/\").pop();\n } else if (uri.match(/\\.(md|markdown)$/)) {\n mediaType = \"text/markdown\";\n filename = uri.split(\"/\").pop();\n } else {\n filename = uri.split(\"/\").pop();\n }\n sources.push({\n type: \"source\",\n sourceType: \"document\",\n id: generateId3(),\n mediaType,\n title,\n filename\n });\n } else if (fileSearchStore) {\n const title = (_e = chunk.retrievedContext.title) != null ? _e : \"Unknown Document\";\n sources.push({\n type: \"source\",\n sourceType: \"document\",\n id: generateId3(),\n mediaType: \"application/octet-stream\",\n title,\n filename: fileSearchStore.split(\"/\").pop()\n });\n }\n } else if (chunk.maps != null) {\n if (chunk.maps.uri) {\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: chunk.maps.uri,\n title: (_f = chunk.maps.title) != null ? _f : void 0\n });\n }\n }\n }\n return sources.length > 0 ? sources : void 0;\n}\nvar getGroundingMetadataSchema = () => z5.object({\n webSearchQueries: z5.array(z5.string()).nullish(),\n imageSearchQueries: z5.array(z5.string()).nullish(),\n retrievalQueries: z5.array(z5.string()).nullish(),\n searchEntryPoint: z5.object({ renderedContent: z5.string() }).nullish(),\n groundingChunks: z5.array(\n z5.object({\n web: z5.object({ uri: z5.string(), title: z5.string().nullish() }).nullish(),\n image: z5.object({\n sourceUri: z5.string(),\n imageUri: z5.string(),\n title: z5.string().nullish(),\n domain: z5.string().nullish()\n }).nullish(),\n retrievedContext: z5.object({\n uri: z5.string().nullish(),\n title: z5.string().nullish(),\n text: z5.string().nullish(),\n fileSearchStore: z5.string().nullish()\n }).nullish(),\n maps: z5.object({\n uri: z5.string().nullish(),\n title: z5.string().nullish(),\n text: z5.string().nullish(),\n placeId: z5.string().nullish()\n }).nullish()\n })\n ).nullish(),\n groundingSupports: z5.array(\n z5.object({\n segment: z5.object({\n startIndex: z5.number().nullish(),\n endIndex: z5.number().nullish(),\n text: z5.string().nullish()\n }).nullish(),\n segment_text: z5.string().nullish(),\n groundingChunkIndices: z5.array(z5.number()).nullish(),\n supportChunkIndices: z5.array(z5.number()).nullish(),\n confidenceScores: z5.array(z5.number()).nullish(),\n confidenceScore: z5.array(z5.number()).nullish()\n })\n ).nullish(),\n retrievalMetadata: z5.union([\n z5.object({\n webDynamicRetrievalScore: z5.number()\n }),\n z5.object({})\n ]).nullish()\n});\nvar partialArgSchema = z5.object({\n jsonPath: z5.string(),\n stringValue: z5.string().nullish(),\n numberValue: z5.number().nullish(),\n boolValue: z5.boolean().nullish(),\n nullValue: z5.unknown().nullish(),\n willContinue: z5.boolean().nullish()\n});\nvar getContentSchema = () => z5.object({\n parts: z5.array(\n z5.union([\n // note: order matters since text can be fully empty\n z5.object({\n functionCall: z5.object({\n name: z5.string().nullish(),\n args: z5.unknown().nullish(),\n partialArgs: z5.array(partialArgSchema).nullish(),\n willContinue: z5.boolean().nullish()\n }),\n thoughtSignature: z5.string().nullish()\n }),\n z5.object({\n inlineData: z5.object({\n mimeType: z5.string(),\n data: z5.string()\n }),\n thought: z5.boolean().nullish(),\n thoughtSignature: z5.string().nullish()\n }),\n z5.object({\n toolCall: z5.object({\n toolType: z5.string(),\n args: z5.unknown().nullish(),\n id: z5.string()\n }),\n thoughtSignature: z5.string().nullish()\n }),\n z5.object({\n toolResponse: z5.object({\n toolType: z5.string(),\n response: z5.unknown().nullish(),\n id: z5.string()\n }),\n thoughtSignature: z5.string().nullish()\n }),\n z5.object({\n executableCode: z5.object({\n language: z5.string(),\n code: z5.string()\n }).nullish(),\n codeExecutionResult: z5.object({\n outcome: z5.string(),\n output: z5.string().nullish()\n }).nullish(),\n text: z5.string().nullish(),\n thought: z5.boolean().nullish(),\n thoughtSignature: z5.string().nullish()\n })\n ])\n ).nullish()\n});\nvar getSafetyRatingSchema = () => z5.object({\n category: z5.string().nullish(),\n probability: z5.string().nullish(),\n probabilityScore: z5.number().nullish(),\n severity: z5.string().nullish(),\n severityScore: z5.number().nullish(),\n blocked: z5.boolean().nullish()\n});\nvar tokenDetailsSchema = z5.array(\n z5.object({\n modality: z5.string(),\n tokenCount: z5.number()\n })\n).nullish();\nvar usageSchema = z5.object({\n cachedContentTokenCount: z5.number().nullish(),\n thoughtsTokenCount: z5.number().nullish(),\n promptTokenCount: z5.number().nullish(),\n candidatesTokenCount: z5.number().nullish(),\n totalTokenCount: z5.number().nullish(),\n // https://cloud.google.com/vertex-ai/generative-ai/docs/reference/rest/v1/GenerateContentResponse#TrafficType\n trafficType: z5.string().nullish(),\n // https://ai.google.dev/api/generate-content#Modality\n promptTokensDetails: tokenDetailsSchema,\n candidatesTokensDetails: tokenDetailsSchema\n});\nvar getUrlContextMetadataSchema = () => z5.object({\n urlMetadata: z5.array(\n z5.object({\n retrievedUrl: z5.string(),\n urlRetrievalStatus: z5.string()\n })\n ).nullish()\n});\nvar responseSchema = lazySchema5(\n () => zodSchema5(\n z5.object({\n candidates: z5.array(\n z5.object({\n content: getContentSchema().nullish().or(z5.object({}).strict()),\n finishReason: z5.string().nullish(),\n finishMessage: z5.string().nullish(),\n safetyRatings: z5.array(getSafetyRatingSchema()).nullish(),\n groundingMetadata: getGroundingMetadataSchema().nullish(),\n urlContextMetadata: getUrlContextMetadataSchema().nullish()\n })\n ),\n usageMetadata: usageSchema.nullish(),\n promptFeedback: z5.object({\n blockReason: z5.string().nullish(),\n safetyRatings: z5.array(getSafetyRatingSchema()).nullish()\n }).nullish(),\n serviceTier: z5.string().nullish()\n })\n )\n);\nvar chunkSchema = lazySchema5(\n () => zodSchema5(\n z5.object({\n candidates: z5.array(\n z5.object({\n content: getContentSchema().nullish(),\n finishReason: z5.string().nullish(),\n finishMessage: z5.string().nullish(),\n safetyRatings: z5.array(getSafetyRatingSchema()).nullish(),\n groundingMetadata: getGroundingMetadataSchema().nullish(),\n urlContextMetadata: getUrlContextMetadataSchema().nullish()\n })\n ).nullish(),\n usageMetadata: usageSchema.nullish(),\n promptFeedback: z5.object({\n blockReason: z5.string().nullish(),\n safetyRatings: z5.array(getSafetyRatingSchema()).nullish()\n }).nullish(),\n serviceTier: z5.string().nullish()\n })\n )\n);\n\n// src/tool/code-execution.ts\nimport { createProviderToolFactoryWithOutputSchema } from \"@ai-sdk/provider-utils\";\nimport { z as z6 } from \"zod/v4\";\nvar codeExecution = createProviderToolFactoryWithOutputSchema({\n id: \"google.code_execution\",\n inputSchema: z6.object({\n language: z6.string().describe(\"The programming language of the code.\"),\n code: z6.string().describe(\"The code to be executed.\")\n }),\n outputSchema: z6.object({\n outcome: z6.string().describe('The outcome of the execution (e.g., \"OUTCOME_OK\").'),\n output: z6.string().describe(\"The output from the code execution.\")\n })\n});\n\n// src/tool/enterprise-web-search.ts\nimport {\n createProviderToolFactory,\n lazySchema as lazySchema6,\n zodSchema as zodSchema6\n} from \"@ai-sdk/provider-utils\";\nimport { z as z7 } from \"zod/v4\";\nvar enterpriseWebSearch = createProviderToolFactory({\n id: \"google.enterprise_web_search\",\n inputSchema: lazySchema6(() => zodSchema6(z7.object({})))\n});\n\n// src/tool/file-search.ts\nimport {\n createProviderToolFactory as createProviderToolFactory2,\n lazySchema as lazySchema7,\n zodSchema as zodSchema7\n} from \"@ai-sdk/provider-utils\";\nimport { z as z8 } from \"zod/v4\";\nvar fileSearchArgsBaseSchema = z8.object({\n /** The names of the file_search_stores to retrieve from.\n * Example: `fileSearchStores/my-file-search-store-123`\n */\n fileSearchStoreNames: z8.array(z8.string()).describe(\n \"The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`\"\n ),\n /** The number of file search retrieval chunks to retrieve. */\n topK: z8.number().int().positive().describe(\"The number of file search retrieval chunks to retrieve.\").optional(),\n /** Metadata filter to apply to the file search retrieval documents.\n * See https://google.aip.dev/160 for the syntax of the filter expression.\n */\n metadataFilter: z8.string().describe(\n \"Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression.\"\n ).optional()\n}).passthrough();\nvar fileSearchArgsSchema = lazySchema7(\n () => zodSchema7(fileSearchArgsBaseSchema)\n);\nvar fileSearch = createProviderToolFactory2({\n id: \"google.file_search\",\n inputSchema: fileSearchArgsSchema\n});\n\n// src/tool/google-maps.ts\nimport {\n createProviderToolFactory as createProviderToolFactory3,\n lazySchema as lazySchema8,\n zodSchema as zodSchema8\n} from \"@ai-sdk/provider-utils\";\nimport { z as z9 } from \"zod/v4\";\nvar googleMaps = createProviderToolFactory3({\n id: \"google.google_maps\",\n inputSchema: lazySchema8(() => zodSchema8(z9.object({})))\n});\n\n// src/tool/google-search.ts\nimport {\n createProviderToolFactory as createProviderToolFactory4,\n lazySchema as lazySchema9,\n zodSchema as zodSchema9\n} from \"@ai-sdk/provider-utils\";\nimport { z as z10 } from \"zod/v4\";\nvar googleSearchToolArgsBaseSchema = z10.object({\n searchTypes: z10.object({\n webSearch: z10.object({}).optional(),\n imageSearch: z10.object({}).optional()\n }).optional(),\n timeRangeFilter: z10.object({\n startTime: z10.string(),\n endTime: z10.string()\n }).optional()\n}).passthrough();\nvar googleSearchToolArgsSchema = lazySchema9(\n () => zodSchema9(googleSearchToolArgsBaseSchema)\n);\nvar googleSearch = createProviderToolFactory4(\n {\n id: \"google.google_search\",\n inputSchema: googleSearchToolArgsSchema\n }\n);\n\n// src/tool/url-context.ts\nimport {\n createProviderToolFactory as createProviderToolFactory5,\n lazySchema as lazySchema10,\n zodSchema as zodSchema10\n} from \"@ai-sdk/provider-utils\";\nimport { z as z11 } from \"zod/v4\";\nvar urlContext = createProviderToolFactory5({\n id: \"google.url_context\",\n inputSchema: lazySchema10(() => zodSchema10(z11.object({})))\n});\n\n// src/tool/vertex-rag-store.ts\nimport { createProviderToolFactory as createProviderToolFactory6 } from \"@ai-sdk/provider-utils\";\nimport { z as z12 } from \"zod/v4\";\nvar vertexRagStore = createProviderToolFactory6({\n id: \"google.vertex_rag_store\",\n inputSchema: z12.object({\n ragCorpus: z12.string(),\n topK: z12.number().optional()\n })\n});\n\n// src/google-tools.ts\nvar googleTools = {\n /**\n * Creates a Google search tool that gives Google direct access to real-time web content.\n * Must have name \"google_search\".\n */\n googleSearch,\n /**\n * Creates an Enterprise Web Search tool for grounding responses using a compliance-focused web index.\n * Designed for highly-regulated industries (finance, healthcare, public sector).\n * Does not log customer data and supports VPC service controls.\n * Must have name \"enterprise_web_search\".\n *\n * @note Only available on Vertex AI. Requires Gemini 2.0 or newer.\n *\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/web-grounding-enterprise\n */\n enterpriseWebSearch,\n /**\n * Creates a Google Maps grounding tool that gives the model access to Google Maps data.\n * Must have name \"google_maps\".\n *\n * @see https://ai.google.dev/gemini-api/docs/maps-grounding\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps\n */\n googleMaps,\n /**\n * Creates a URL context tool that gives Google direct access to real-time web content.\n * Must have name \"url_context\".\n */\n urlContext,\n /**\n * Enables Retrieval Augmented Generation (RAG) via the Gemini File Search tool.\n * Must have name \"file_search\".\n *\n * @param fileSearchStoreNames - Fully-qualified File Search store resource names.\n * @param metadataFilter - Optional filter expression to restrict the files that can be retrieved.\n * @param topK - Optional result limit for the number of chunks returned from File Search.\n *\n * @see https://ai.google.dev/gemini-api/docs/file-search\n */\n fileSearch,\n /**\n * A tool that enables the model to generate and run Python code.\n * Must have name \"code_execution\".\n *\n * @note Ensure the selected model supports Code Execution.\n * Multi-tool usage with the code execution tool is typically compatible with Gemini >=2 models.\n *\n * @see https://ai.google.dev/gemini-api/docs/code-execution (Google AI)\n * @see https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/code-execution-api (Vertex AI)\n */\n codeExecution,\n /**\n * Creates a Vertex RAG Store tool that enables the model to perform RAG searches against a Vertex RAG Store.\n * Must have name \"vertex_rag_store\".\n */\n vertexRagStore\n};\n\n// src/google-generative-ai-image-model.ts\nimport {\n combineHeaders as combineHeaders3,\n convertToBase64 as convertToBase642,\n createJsonResponseHandler as createJsonResponseHandler3,\n generateId as defaultGenerateId,\n lazySchema as lazySchema11,\n parseProviderOptions as parseProviderOptions3,\n postJsonToApi as postJsonToApi3,\n resolve as resolve3,\n zodSchema as zodSchema11\n} from \"@ai-sdk/provider-utils\";\nimport { z as z13 } from \"zod/v4\";\nvar GoogleGenerativeAIImageModel = class {\n constructor(modelId, settings, config) {\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n this.specificationVersion = \"v3\";\n }\n get maxImagesPerCall() {\n if (this.settings.maxImagesPerCall != null) {\n return this.settings.maxImagesPerCall;\n }\n if (isGeminiModel(this.modelId)) {\n return 10;\n }\n return 4;\n }\n get provider() {\n return this.config.provider;\n }\n async doGenerate(options) {\n if (isGeminiModel(this.modelId)) {\n return this.doGenerateGemini(options);\n }\n return this.doGenerateImagen(options);\n }\n async doGenerateImagen(options) {\n var _a, _b, _c;\n const {\n prompt,\n n = 1,\n size,\n aspectRatio = \"1:1\",\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n } = options;\n const warnings = [];\n if (files != null && files.length > 0) {\n throw new Error(\n \"Google Generative AI does not support image editing with Imagen models. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.\"\n );\n }\n if (mask != null) {\n throw new Error(\n \"Google Generative AI does not support image editing with masks. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.\"\n );\n }\n if (size != null) {\n warnings.push({\n type: \"unsupported\",\n feature: \"size\",\n details: \"This model does not support the `size` option. Use `aspectRatio` instead.\"\n });\n }\n if (seed != null) {\n warnings.push({\n type: \"unsupported\",\n feature: \"seed\",\n details: \"This model does not support the `seed` option through this provider.\"\n });\n }\n const googleOptions = await parseProviderOptions3({\n provider: \"google\",\n providerOptions,\n schema: googleImageModelOptionsSchema\n });\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const parameters = {\n sampleCount: n\n };\n if (aspectRatio != null) {\n parameters.aspectRatio = aspectRatio;\n }\n if (googleOptions) {\n Object.assign(parameters, googleOptions);\n }\n const body = {\n instances: [{ prompt }],\n parameters\n };\n const { responseHeaders, value: response } = await postJsonToApi3({\n url: `${this.config.baseURL}/models/${this.modelId}:predict`,\n headers: combineHeaders3(await resolve3(this.config.headers), headers),\n body,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler3(\n googleImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.predictions.map(\n (p) => p.bytesBase64Encoded\n ),\n warnings,\n providerMetadata: {\n google: {\n images: response.predictions.map(() => ({\n // Add any prediction-specific metadata here\n }))\n }\n },\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n async doGenerateGemini(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i;\n const {\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n } = options;\n const warnings = [];\n if (mask != null) {\n throw new Error(\n \"Gemini image models do not support mask-based image editing.\"\n );\n }\n if (n != null && n > 1) {\n throw new Error(\n \"Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.\"\n );\n }\n if (size != null) {\n warnings.push({\n type: \"unsupported\",\n feature: \"size\",\n details: \"This model does not support the `size` option. Use `aspectRatio` instead.\"\n });\n }\n const userContent = [];\n if (prompt != null) {\n userContent.push({ type: \"text\", text: prompt });\n }\n if (files != null && files.length > 0) {\n for (const file of files) {\n if (file.type === \"url\") {\n userContent.push({\n type: \"file\",\n data: new URL(file.url),\n mediaType: \"image/*\"\n });\n } else {\n userContent.push({\n type: \"file\",\n data: typeof file.data === \"string\" ? file.data : new Uint8Array(file.data),\n mediaType: file.mediaType\n });\n }\n }\n }\n const languageModelPrompt = [\n { role: \"user\", content: userContent }\n ];\n const languageModel = new GoogleGenerativeAILanguageModel(this.modelId, {\n provider: this.config.provider,\n baseURL: this.config.baseURL,\n headers: (_a = this.config.headers) != null ? _a : {},\n fetch: this.config.fetch,\n generateId: (_b = this.config.generateId) != null ? _b : defaultGenerateId\n });\n const result = await languageModel.doGenerate({\n prompt: languageModelPrompt,\n seed,\n providerOptions: {\n google: {\n responseModalities: [\"IMAGE\"],\n imageConfig: aspectRatio ? {\n aspectRatio\n } : void 0,\n ...(_c = providerOptions == null ? void 0 : providerOptions.google) != null ? _c : {}\n }\n },\n headers,\n abortSignal\n });\n const currentDate = (_f = (_e = (_d = this.config._internal) == null ? void 0 : _d.currentDate) == null ? void 0 : _e.call(_d)) != null ? _f : /* @__PURE__ */ new Date();\n const images = [];\n for (const part of result.content) {\n if (part.type === \"file\" && part.mediaType.startsWith(\"image/\")) {\n images.push(convertToBase642(part.data));\n }\n }\n return {\n images,\n warnings,\n providerMetadata: {\n google: {\n images: images.map(() => ({}))\n }\n },\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: (_g = result.response) == null ? void 0 : _g.headers\n },\n usage: result.usage ? {\n inputTokens: result.usage.inputTokens.total,\n outputTokens: result.usage.outputTokens.total,\n totalTokens: ((_h = result.usage.inputTokens.total) != null ? _h : 0) + ((_i = result.usage.outputTokens.total) != null ? _i : 0)\n } : void 0\n };\n }\n};\nfunction isGeminiModel(modelId) {\n return modelId.startsWith(\"gemini-\");\n}\nvar googleImageResponseSchema = lazySchema11(\n () => zodSchema11(\n z13.object({\n predictions: z13.array(z13.object({ bytesBase64Encoded: z13.string() })).default([])\n })\n )\n);\nvar googleImageModelOptionsSchema = lazySchema11(\n () => zodSchema11(\n z13.object({\n personGeneration: z13.enum([\"dont_allow\", \"allow_adult\", \"allow_all\"]).nullish(),\n aspectRatio: z13.enum([\"1:1\", \"3:4\", \"4:3\", \"9:16\", \"16:9\"]).nullish()\n })\n )\n);\n\n// src/google-generative-ai-video-model.ts\nimport {\n AISDKError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders4,\n convertUint8ArrayToBase64,\n createJsonResponseHandler as createJsonResponseHandler4,\n delay,\n getFromApi,\n lazySchema as lazySchema12,\n parseProviderOptions as parseProviderOptions4,\n postJsonToApi as postJsonToApi4,\n resolve as resolve4,\n zodSchema as zodSchema12\n} from \"@ai-sdk/provider-utils\";\nimport { z as z14 } from \"zod/v4\";\nvar GoogleGenerativeAIVideoModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n }\n get provider() {\n return this.config.provider;\n }\n get maxVideosPerCall() {\n return 4;\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const warnings = [];\n const googleOptions = await parseProviderOptions4({\n provider: \"google\",\n providerOptions: options.providerOptions,\n schema: googleVideoModelOptionsSchema\n });\n const instances = [{}];\n const instance = instances[0];\n if (options.prompt != null) {\n instance.prompt = options.prompt;\n }\n if (options.image != null) {\n if (options.image.type === \"url\") {\n warnings.push({\n type: \"unsupported\",\n feature: \"URL-based image input\",\n details: \"Google Generative AI video models require base64-encoded images. URL will be ignored.\"\n });\n } else {\n const base64Data = typeof options.image.data === \"string\" ? options.image.data : convertUint8ArrayToBase64(options.image.data);\n instance.image = {\n inlineData: {\n mimeType: options.image.mediaType || \"image/png\",\n data: base64Data\n }\n };\n }\n }\n if ((googleOptions == null ? void 0 : googleOptions.referenceImages) != null) {\n instance.referenceImages = googleOptions.referenceImages.map((refImg) => {\n if (refImg.bytesBase64Encoded) {\n return {\n inlineData: {\n mimeType: \"image/png\",\n data: refImg.bytesBase64Encoded\n }\n };\n } else if (refImg.gcsUri) {\n return {\n gcsUri: refImg.gcsUri\n };\n }\n return refImg;\n });\n }\n const parameters = {\n sampleCount: options.n\n };\n if (options.aspectRatio) {\n parameters.aspectRatio = options.aspectRatio;\n }\n if (options.resolution) {\n const resolutionMap = {\n \"1280x720\": \"720p\",\n \"1920x1080\": \"1080p\",\n \"3840x2160\": \"4k\"\n };\n parameters.resolution = resolutionMap[options.resolution] || options.resolution;\n }\n if (options.duration) {\n parameters.durationSeconds = options.duration;\n }\n if (options.seed) {\n parameters.seed = options.seed;\n }\n if (googleOptions != null) {\n const opts = googleOptions;\n if (opts.personGeneration !== void 0 && opts.personGeneration !== null) {\n parameters.personGeneration = opts.personGeneration;\n }\n if (opts.negativePrompt !== void 0 && opts.negativePrompt !== null) {\n parameters.negativePrompt = opts.negativePrompt;\n }\n for (const [key, value] of Object.entries(opts)) {\n if (![\n \"pollIntervalMs\",\n \"pollTimeoutMs\",\n \"personGeneration\",\n \"negativePrompt\",\n \"referenceImages\"\n ].includes(key)) {\n parameters[key] = value;\n }\n }\n }\n const { value: operation } = await postJsonToApi4({\n url: `${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,\n headers: combineHeaders4(\n await resolve4(this.config.headers),\n options.headers\n ),\n body: {\n instances,\n parameters\n },\n successfulResponseHandler: createJsonResponseHandler4(\n googleOperationSchema\n ),\n failedResponseHandler: googleFailedResponseHandler,\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const operationName = operation.name;\n if (!operationName) {\n throw new AISDKError({\n name: \"GOOGLE_VIDEO_GENERATION_ERROR\",\n message: \"No operation name returned from API\"\n });\n }\n const pollIntervalMs = (_d = googleOptions == null ? void 0 : googleOptions.pollIntervalMs) != null ? _d : 1e4;\n const pollTimeoutMs = (_e = googleOptions == null ? void 0 : googleOptions.pollTimeoutMs) != null ? _e : 6e5;\n const startTime = Date.now();\n let finalOperation = operation;\n let responseHeaders;\n while (!finalOperation.done) {\n if (Date.now() - startTime > pollTimeoutMs) {\n throw new AISDKError({\n name: \"GOOGLE_VIDEO_GENERATION_TIMEOUT\",\n message: `Video generation timed out after ${pollTimeoutMs}ms`\n });\n }\n await delay(pollIntervalMs);\n if ((_f = options.abortSignal) == null ? void 0 : _f.aborted) {\n throw new AISDKError({\n name: \"GOOGLE_VIDEO_GENERATION_ABORTED\",\n message: \"Video generation request was aborted\"\n });\n }\n const { value: statusOperation, responseHeaders: pollHeaders } = await getFromApi({\n url: `${this.config.baseURL}/${operationName}`,\n headers: combineHeaders4(\n await resolve4(this.config.headers),\n options.headers\n ),\n successfulResponseHandler: createJsonResponseHandler4(\n googleOperationSchema\n ),\n failedResponseHandler: googleFailedResponseHandler,\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n finalOperation = statusOperation;\n responseHeaders = pollHeaders;\n }\n if (finalOperation.error) {\n throw new AISDKError({\n name: \"GOOGLE_VIDEO_GENERATION_FAILED\",\n message: `Video generation failed: ${finalOperation.error.message}`\n });\n }\n const response = finalOperation.response;\n if (!((_g = response == null ? void 0 : response.generateVideoResponse) == null ? void 0 : _g.generatedSamples) || response.generateVideoResponse.generatedSamples.length === 0) {\n throw new AISDKError({\n name: \"GOOGLE_VIDEO_GENERATION_ERROR\",\n message: `No videos in response. Response: ${JSON.stringify(finalOperation)}`\n });\n }\n const videos = [];\n const videoMetadata = [];\n const resolvedHeaders = await resolve4(this.config.headers);\n const apiKey = resolvedHeaders == null ? void 0 : resolvedHeaders[\"x-goog-api-key\"];\n for (const generatedSample of response.generateVideoResponse.generatedSamples) {\n if ((_h = generatedSample.video) == null ? void 0 : _h.uri) {\n const urlWithAuth = apiKey ? `${generatedSample.video.uri}${generatedSample.video.uri.includes(\"?\") ? \"&\" : \"?\"}key=${apiKey}` : generatedSample.video.uri;\n videos.push({\n type: \"url\",\n url: urlWithAuth,\n mediaType: \"video/mp4\"\n });\n videoMetadata.push({\n uri: generatedSample.video.uri\n });\n }\n }\n if (videos.length === 0) {\n throw new AISDKError({\n name: \"GOOGLE_VIDEO_GENERATION_ERROR\",\n message: \"No valid videos in response\"\n });\n }\n return {\n videos,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n },\n providerMetadata: {\n google: {\n videos: videoMetadata\n }\n }\n };\n }\n};\nvar googleOperationSchema = z14.object({\n name: z14.string().nullish(),\n done: z14.boolean().nullish(),\n error: z14.object({\n code: z14.number().nullish(),\n message: z14.string(),\n status: z14.string().nullish()\n }).nullish(),\n response: z14.object({\n generateVideoResponse: z14.object({\n generatedSamples: z14.array(\n z14.object({\n video: z14.object({\n uri: z14.string().nullish()\n }).nullish()\n })\n ).nullish()\n }).nullish()\n }).nullish()\n});\nvar googleVideoModelOptionsSchema = lazySchema12(\n () => zodSchema12(\n z14.object({\n pollIntervalMs: z14.number().positive().nullish(),\n pollTimeoutMs: z14.number().positive().nullish(),\n personGeneration: z14.enum([\"dont_allow\", \"allow_adult\", \"allow_all\"]).nullish(),\n negativePrompt: z14.string().nullish(),\n referenceImages: z14.array(\n z14.object({\n bytesBase64Encoded: z14.string().nullish(),\n gcsUri: z14.string().nullish()\n })\n ).nullish()\n }).passthrough()\n )\n);\n\n// src/interactions/google-interactions-language-model.ts\nimport {\n combineHeaders as combineHeaders6,\n createEventSourceResponseHandler as createEventSourceResponseHandler3,\n createJsonResponseHandler as createJsonResponseHandler6,\n generateId as defaultGenerateId2,\n parseProviderOptions as parseProviderOptions5,\n postJsonToApi as postJsonToApi5,\n resolve as resolve5\n} from \"@ai-sdk/provider-utils\";\n\n// src/interactions/convert-google-interactions-usage.ts\nfunction convertGoogleInteractionsUsage(usage) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (usage == null) {\n return {\n inputTokens: {\n total: void 0,\n noCache: void 0,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: void 0,\n text: void 0,\n reasoning: void 0\n },\n raw: void 0\n };\n }\n const totalInput = (_a = usage.total_input_tokens) != null ? _a : 0;\n const totalOutput = (_b = usage.total_output_tokens) != null ? _b : 0;\n const totalThought = (_c = usage.total_thought_tokens) != null ? _c : 0;\n const totalCached = (_d = usage.total_cached_tokens) != null ? _d : 0;\n return {\n inputTokens: {\n total: (_e = usage.total_input_tokens) != null ? _e : void 0,\n noCache: usage.total_input_tokens == null ? void 0 : totalInput - totalCached,\n cacheRead: (_f = usage.total_cached_tokens) != null ? _f : void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: usage.total_output_tokens == null && usage.total_thought_tokens == null ? void 0 : totalOutput + totalThought,\n text: (_g = usage.total_output_tokens) != null ? _g : void 0,\n reasoning: (_h = usage.total_thought_tokens) != null ? _h : void 0\n },\n raw: usage\n };\n}\n\n// src/interactions/extract-google-interactions-sources.ts\nvar KNOWN_DOC_EXTENSIONS = {\n pdf: \"application/pdf\",\n txt: \"text/plain\",\n md: \"text/markdown\",\n markdown: \"text/markdown\",\n doc: \"application/msword\",\n docx: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\n};\nfunction inferDocMediaType(uriOrName) {\n const lower = uriOrName.toLowerCase();\n for (const [ext, media] of Object.entries(KNOWN_DOC_EXTENSIONS)) {\n if (lower.endsWith(`.${ext}`)) return media;\n }\n return \"application/octet-stream\";\n}\nfunction basename(uriOrName) {\n const parts = uriOrName.split(\"/\");\n const last = parts[parts.length - 1];\n return last && last.length > 0 ? last : void 0;\n}\nfunction annotationToSource({\n annotation,\n generateId: generateId3\n}) {\n var _a, _b, _c, _d, _e;\n switch (annotation.type) {\n case \"url_citation\": {\n const a = annotation;\n if (a.url == null || a.url.length === 0) return void 0;\n return {\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: a.url,\n ...a.title != null ? { title: a.title } : {}\n };\n }\n case \"file_citation\": {\n const a = annotation;\n const uri = (_b = (_a = a.document_uri) != null ? _a : a.source) != null ? _b : a.file_name;\n if (uri == null || uri.length === 0) return void 0;\n if (uri.startsWith(\"http://\") || uri.startsWith(\"https://\")) {\n return {\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: uri,\n ...a.file_name != null ? { title: a.file_name } : {}\n };\n }\n const filename = (_c = a.file_name) != null ? _c : basename(uri);\n const mediaType = inferDocMediaType(uri);\n return {\n type: \"source\",\n sourceType: \"document\",\n id: generateId3(),\n mediaType,\n title: (_e = (_d = a.file_name) != null ? _d : filename) != null ? _e : uri,\n ...filename != null ? { filename } : {}\n };\n }\n case \"place_citation\": {\n const a = annotation;\n if (a.url == null || a.url.length === 0) return void 0;\n return {\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: a.url,\n ...a.name != null ? { title: a.name } : {}\n };\n }\n default:\n return void 0;\n }\n}\nfunction builtinToolResultToSources({\n block,\n generateId: generateId3\n}) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n const sources = [];\n switch (block.type) {\n case \"url_context_result\": {\n const result = (_a = block.result) != null ? _a : [];\n for (const entry of result) {\n if ((entry == null ? void 0 : entry.url) == null || entry.url.length === 0) continue;\n if (entry.status != null && entry.status !== \"success\") continue;\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: entry.url\n });\n }\n break;\n }\n case \"google_search_result\": {\n const result = (_b = block.result) != null ? _b : [];\n for (const entry of result) {\n const url = entry == null ? void 0 : entry.url;\n if (url == null || url.length === 0) continue;\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url,\n ...entry.title != null ? { title: entry.title } : {}\n });\n }\n break;\n }\n case \"google_maps_result\": {\n const result = (_c = block.result) != null ? _c : [];\n for (const entry of result) {\n for (const place of (_d = entry.places) != null ? _d : []) {\n if (place.url == null || place.url.length === 0) continue;\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: place.url,\n ...place.name != null ? { title: place.name } : {}\n });\n }\n }\n break;\n }\n case \"file_search_result\": {\n const result = (_e = block.result) != null ? _e : [];\n for (const raw of result) {\n if (raw == null || typeof raw !== \"object\") continue;\n const entry = raw;\n const uri = (_g = (_f = entry.document_uri) != null ? _f : entry.source) != null ? _g : entry.file_name;\n if (uri == null || uri.length === 0) continue;\n if (uri.startsWith(\"http://\") || uri.startsWith(\"https://\")) {\n sources.push({\n type: \"source\",\n sourceType: \"url\",\n id: generateId3(),\n url: uri,\n ...entry.title != null ? { title: entry.title } : {}\n });\n continue;\n }\n const filename = (_h = entry.file_name) != null ? _h : basename(uri);\n const mediaType = inferDocMediaType(uri);\n sources.push({\n type: \"source\",\n sourceType: \"document\",\n id: generateId3(),\n mediaType,\n title: (_k = (_j = (_i = entry.title) != null ? _i : entry.file_name) != null ? _j : filename) != null ? _k : uri,\n ...filename != null ? { filename } : {}\n });\n }\n break;\n }\n default:\n break;\n }\n return sources;\n}\nfunction annotationsToSources({\n annotations,\n generateId: generateId3\n}) {\n var _a;\n if (annotations == null) return [];\n const seen = /* @__PURE__ */ new Set();\n const sources = [];\n for (const annotation of annotations) {\n const source = annotationToSource({ annotation, generateId: generateId3 });\n if (source == null) continue;\n const key = source.sourceType === \"url\" ? `url:${source.url}` : `doc:${(_a = source.filename) != null ? _a : source.title}`;\n if (seen.has(key)) continue;\n seen.add(key);\n sources.push(source);\n }\n return sources;\n}\n\n// src/interactions/map-google-interactions-finish-reason.ts\nfunction mapGoogleInteractionsFinishReason({\n status,\n hasFunctionCall\n}) {\n switch (status) {\n case \"completed\":\n return hasFunctionCall ? \"tool-calls\" : \"stop\";\n case \"requires_action\":\n return \"tool-calls\";\n case \"failed\":\n return \"error\";\n case \"incomplete\":\n return \"length\";\n case \"cancelled\":\n return \"other\";\n case \"in_progress\":\n default:\n return \"other\";\n }\n}\n\n// src/interactions/build-google-interactions-stream-transform.ts\nvar BUILTIN_TOOL_CALL_TYPES = /* @__PURE__ */ new Set([\n \"google_search_call\",\n \"code_execution_call\",\n \"url_context_call\",\n \"file_search_call\",\n \"google_maps_call\",\n \"mcp_server_tool_call\"\n]);\nvar BUILTIN_TOOL_RESULT_TYPES = /* @__PURE__ */ new Set([\n \"google_search_result\",\n \"code_execution_result\",\n \"url_context_result\",\n \"file_search_result\",\n \"google_maps_result\",\n \"mcp_server_tool_result\"\n]);\nfunction builtinToolNameFromCallType(type) {\n return type.replace(/_call$/, \"\");\n}\nfunction builtinToolNameFromResultType(type) {\n return type.replace(/_result$/, \"\");\n}\nfunction buildGoogleInteractionsStreamTransform({\n warnings,\n generateId: generateId3,\n includeRawChunks,\n serviceTier: headerServiceTier\n}) {\n let interactionId;\n let usage;\n let serviceTier = headerServiceTier;\n let finishStatus;\n let hasFunctionCall = false;\n const openBlocks = /* @__PURE__ */ new Map();\n const emittedSourceKeys = /* @__PURE__ */ new Set();\n function sourceKey(source) {\n var _a;\n return source.sourceType === \"url\" ? `url:${source.url}` : `doc:${(_a = source.filename) != null ? _a : source.title}`;\n }\n return new TransformStream({\n start(controller) {\n controller.enqueue({ type: \"stream-start\", warnings });\n },\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;\n if (includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishStatus = \"failed\";\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n const eventType = value.event_type;\n switch (eventType) {\n case \"interaction.start\": {\n const event = value;\n const interaction = event.interaction;\n interactionId = (interaction == null ? void 0 : interaction.id) != null && interaction.id.length > 0 ? interaction.id : void 0;\n const created = interaction == null ? void 0 : interaction.created;\n let timestamp;\n if (typeof created === \"string\") {\n const parsed = new Date(created);\n if (!Number.isNaN(parsed.getTime())) {\n timestamp = parsed;\n }\n }\n controller.enqueue({\n type: \"response-metadata\",\n ...interactionId != null ? { id: interactionId } : {},\n modelId: interaction == null ? void 0 : interaction.model,\n ...timestamp ? { timestamp } : {}\n });\n break;\n }\n case \"content.start\": {\n const event = value;\n const block = event.content;\n const index = event.index;\n const blockId = `${interactionId != null ? interactionId : \"interaction\"}:${index}`;\n if ((block == null ? void 0 : block.type) === \"text\") {\n openBlocks.set(index, {\n kind: \"text\",\n id: blockId,\n emittedSourceKeys: /* @__PURE__ */ new Set()\n });\n controller.enqueue({ type: \"text-start\", id: blockId });\n const initialSources = annotationsToSources({\n annotations: block.annotations,\n generateId: generateId3\n });\n for (const source of initialSources) {\n const key = sourceKey(source);\n if (emittedSourceKeys.has(key)) continue;\n emittedSourceKeys.add(key);\n controller.enqueue(source);\n }\n } else if ((block == null ? void 0 : block.type) === \"image\") {\n const img = block;\n openBlocks.set(index, {\n kind: \"image\",\n id: blockId,\n ...img.data != null ? { data: img.data } : {},\n ...img.mime_type != null ? { mimeType: img.mime_type } : {},\n ...img.uri != null ? { uri: img.uri } : {}\n });\n } else if ((block == null ? void 0 : block.type) === \"thought\") {\n const signature = block.signature;\n openBlocks.set(index, {\n kind: \"reasoning\",\n id: blockId,\n ...signature != null ? { signature } : {}\n });\n controller.enqueue({ type: \"reasoning-start\", id: blockId });\n } else if ((block == null ? void 0 : block.type) === \"function_call\") {\n const fc = block;\n const toolCallId = (_a = fc.id) != null ? _a : blockId;\n hasFunctionCall = true;\n const state = {\n kind: \"function_call\",\n id: blockId,\n toolCallId,\n toolName: fc.name,\n arguments: (_b = fc.arguments) != null ? _b : {},\n ...fc.signature != null ? { signature: fc.signature } : {},\n startEmitted: false\n };\n openBlocks.set(index, state);\n if (state.toolName != null) {\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallId,\n toolName: state.toolName\n });\n state.startEmitted = true;\n }\n } else if ((block == null ? void 0 : block.type) != null && BUILTIN_TOOL_CALL_TYPES.has(block.type)) {\n const toolName = block.type === \"mcp_server_tool_call\" ? (_c = block.name) != null ? _c : \"mcp_server_tool\" : builtinToolNameFromCallType(block.type);\n const toolCallId = (_d = block.id) != null ? _d : blockId;\n const state = {\n kind: \"builtin_tool_call\",\n id: blockId,\n blockType: block.type,\n toolCallId,\n toolName,\n arguments: (_e = block.arguments) != null ? _e : {},\n callEmitted: false\n };\n openBlocks.set(index, state);\n } else if ((block == null ? void 0 : block.type) != null && BUILTIN_TOOL_RESULT_TYPES.has(block.type)) {\n const toolName = block.type === \"mcp_server_tool_result\" ? (_f = block.name) != null ? _f : \"mcp_server_tool\" : builtinToolNameFromResultType(block.type);\n const callId = (_g = block.call_id) != null ? _g : blockId;\n const state = {\n kind: \"builtin_tool_result\",\n id: blockId,\n blockType: block.type,\n callId,\n toolName,\n result: (_h = block.result) != null ? _h : null,\n ...block.is_error != null ? { isError: block.is_error } : {},\n resultEmitted: false\n };\n openBlocks.set(index, state);\n } else {\n openBlocks.set(index, { kind: \"unknown\", id: blockId });\n }\n break;\n }\n case \"content.delta\": {\n const event = value;\n const open = openBlocks.get(event.index);\n if (open == null) break;\n const delta = event.delta;\n if (open.kind === \"text\" && (delta == null ? void 0 : delta.type) === \"text\") {\n const text = (_i = delta.text) != null ? _i : \"\";\n if (text.length > 0) {\n controller.enqueue({\n type: \"text-delta\",\n id: open.id,\n delta: text\n });\n }\n } else if (open.kind === \"text\" && (delta == null ? void 0 : delta.type) === \"text_annotation\") {\n const sources = annotationsToSources({\n annotations: delta.annotations,\n generateId: generateId3\n });\n for (const source of sources) {\n const key = sourceKey(source);\n if (emittedSourceKeys.has(key)) continue;\n emittedSourceKeys.add(key);\n open.emittedSourceKeys.add(key);\n controller.enqueue(source);\n }\n } else if (open.kind === \"image\" && (delta == null ? void 0 : delta.type) === \"image\") {\n if (delta.data != null) open.data = delta.data;\n if (delta.mime_type != null) open.mimeType = delta.mime_type;\n if (delta.uri != null) open.uri = delta.uri;\n } else if (open.kind === \"reasoning\") {\n if ((delta == null ? void 0 : delta.type) === \"thought_summary\") {\n const item = delta.content;\n if ((item == null ? void 0 : item.type) === \"text\" && typeof item.text === \"string\") {\n controller.enqueue({\n type: \"reasoning-delta\",\n id: open.id,\n delta: item.text\n });\n }\n } else if ((delta == null ? void 0 : delta.type) === \"thought_signature\") {\n const signature = delta.signature;\n if (signature != null) {\n open.signature = signature;\n }\n }\n } else if (open.kind === \"function_call\" && (delta == null ? void 0 : delta.type) === \"function_call\") {\n if (delta.id != null) {\n open.toolCallId = delta.id;\n }\n if (delta.name != null) {\n open.toolName = delta.name;\n }\n if (delta.arguments != null) {\n open.arguments = delta.arguments;\n }\n if (delta.signature != null) {\n open.signature = delta.signature;\n }\n if (!open.startEmitted && open.toolName != null) {\n controller.enqueue({\n type: \"tool-input-start\",\n id: open.toolCallId,\n toolName: open.toolName\n });\n open.startEmitted = true;\n }\n hasFunctionCall = true;\n } else if (open.kind === \"builtin_tool_call\" && (delta == null ? void 0 : delta.type) === open.blockType) {\n if (delta.id != null) open.toolCallId = delta.id;\n if (delta.arguments != null) open.arguments = delta.arguments;\n if (delta.name != null && open.blockType === \"mcp_server_tool_call\") {\n open.toolName = delta.name;\n }\n } else if (open.kind === \"builtin_tool_result\" && (delta == null ? void 0 : delta.type) === open.blockType) {\n if (delta.call_id != null) open.callId = delta.call_id;\n if (delta.result !== void 0) open.result = delta.result;\n if (delta.is_error != null) open.isError = delta.is_error;\n if (delta.name != null && open.blockType === \"mcp_server_tool_result\") {\n open.toolName = delta.name;\n }\n }\n break;\n }\n case \"content.stop\": {\n const event = value;\n const open = openBlocks.get(event.index);\n if (open == null) break;\n if (open.kind === \"text\") {\n const textProviderMetadata = interactionId != null ? { google: { interactionId } } : void 0;\n controller.enqueue({\n type: \"text-end\",\n id: open.id,\n ...textProviderMetadata ? { providerMetadata: textProviderMetadata } : {}\n });\n } else if (open.kind === \"reasoning\") {\n const google2 = {};\n if (open.signature != null) google2.signature = open.signature;\n if (interactionId != null) google2.interactionId = interactionId;\n const providerMetadata = Object.keys(google2).length > 0 ? { google: google2 } : void 0;\n controller.enqueue({\n type: \"reasoning-end\",\n id: open.id,\n ...providerMetadata ? { providerMetadata } : {}\n });\n } else if (open.kind === \"image\") {\n const google2 = {};\n if (interactionId != null) google2.interactionId = interactionId;\n const providerMetadata = Object.keys(google2).length > 0 ? { google: google2 } : void 0;\n if (open.data != null && open.data.length > 0) {\n controller.enqueue({\n type: \"file\",\n mediaType: (_j = open.mimeType) != null ? _j : \"image/png\",\n data: open.data,\n ...providerMetadata ? { providerMetadata } : {}\n });\n } else if (open.uri != null && open.uri.length > 0) {\n const uriProviderMetadata = {\n google: {\n ...interactionId != null ? { interactionId } : {},\n imageUri: open.uri\n }\n };\n controller.enqueue({\n type: \"file\",\n mediaType: (_k = open.mimeType) != null ? _k : \"image/png\",\n data: \"\",\n providerMetadata: uriProviderMetadata\n });\n }\n } else if (open.kind === \"function_call\") {\n const toolName = (_l = open.toolName) != null ? _l : \"unknown\";\n const argsJson = JSON.stringify((_m = open.arguments) != null ? _m : {});\n if (!open.startEmitted) {\n controller.enqueue({\n type: \"tool-input-start\",\n id: open.toolCallId,\n toolName\n });\n }\n controller.enqueue({\n type: \"tool-input-delta\",\n id: open.toolCallId,\n delta: argsJson\n });\n controller.enqueue({\n type: \"tool-input-end\",\n id: open.toolCallId\n });\n const google2 = {};\n if (open.signature != null) google2.signature = open.signature;\n if (interactionId != null) google2.interactionId = interactionId;\n const providerMetadata = Object.keys(google2).length > 0 ? { google: google2 } : void 0;\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: open.toolCallId,\n toolName,\n input: argsJson,\n ...providerMetadata ? { providerMetadata } : {}\n });\n } else if (open.kind === \"builtin_tool_call\" && !open.callEmitted) {\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: open.toolCallId,\n toolName: open.toolName,\n input: JSON.stringify((_n = open.arguments) != null ? _n : {}),\n providerExecuted: true\n });\n open.callEmitted = true;\n } else if (open.kind === \"builtin_tool_result\" && !open.resultEmitted) {\n controller.enqueue({\n type: \"tool-result\",\n toolCallId: open.callId,\n toolName: open.toolName,\n result: (_o = open.result) != null ? _o : null\n });\n open.resultEmitted = true;\n const sources = builtinToolResultToSources({\n block: {\n type: open.blockType,\n call_id: open.callId,\n result: open.result\n },\n generateId: generateId3\n });\n for (const source of sources) {\n const key = sourceKey(source);\n if (emittedSourceKeys.has(key)) continue;\n emittedSourceKeys.add(key);\n controller.enqueue(source);\n }\n }\n openBlocks.delete(event.index);\n break;\n }\n case \"interaction.status_update\": {\n const event = value;\n finishStatus = event.status;\n break;\n }\n case \"interaction.complete\": {\n const event = value;\n const interaction = event.interaction;\n if ((interaction == null ? void 0 : interaction.id) != null && interaction.id.length > 0) {\n interactionId = interaction.id;\n }\n if ((interaction == null ? void 0 : interaction.status) != null) {\n finishStatus = interaction.status;\n }\n if ((interaction == null ? void 0 : interaction.usage) != null) {\n usage = interaction.usage;\n }\n if ((interaction == null ? void 0 : interaction.service_tier) != null) {\n serviceTier = interaction.service_tier;\n }\n break;\n }\n case \"error\": {\n const event = value;\n finishStatus = \"failed\";\n const errorPayload = (_p = event.error) != null ? _p : {\n message: \"Unknown interaction error\"\n };\n controller.enqueue({ type: \"error\", error: errorPayload });\n break;\n }\n default:\n break;\n }\n },\n flush(controller) {\n const finishReason = {\n unified: mapGoogleInteractionsFinishReason({\n status: finishStatus,\n hasFunctionCall\n }),\n raw: finishStatus\n };\n const providerMetadata = {\n google: {\n ...interactionId != null ? { interactionId } : {},\n ...serviceTier != null ? { serviceTier } : {}\n }\n };\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertGoogleInteractionsUsage(usage),\n providerMetadata\n });\n }\n });\n}\n\n// src/interactions/convert-to-google-interactions-input.ts\nimport { convertToBase64 as convertToBase643 } from \"@ai-sdk/provider-utils\";\nfunction getTopLevelMediaType(mediaType) {\n const slashIndex = mediaType.indexOf(\"/\");\n return slashIndex === -1 ? mediaType : mediaType.substring(0, slashIndex);\n}\nfunction isFullMediaType(mediaType) {\n const slashIndex = mediaType.indexOf(\"/\");\n if (slashIndex === -1) {\n return false;\n }\n const subtype = mediaType.substring(slashIndex + 1);\n return subtype.length > 0 && subtype !== \"*\";\n}\nfunction convertToGoogleInteractionsInput({\n prompt,\n previousInteractionId,\n store,\n mediaResolution\n}) {\n var _a, _b, _c, _d, _e, _f, _g;\n const warnings = [];\n const incoherentCombo = previousInteractionId != null && store === false;\n const shouldCompact = previousInteractionId != null && store !== false;\n if (incoherentCombo) {\n warnings.push({\n type: \"other\",\n message: \"google.interactions: providerOptions.google.previousInteractionId was set together with store: false. These are incoherent (the prior interaction cannot be referenced when nothing was stored on the server); the full history will be sent and previous_interaction_id will still be emitted.\"\n });\n }\n const compactedPrompt = shouldCompact ? compactPromptForPreviousInteraction({\n prompt,\n previousInteractionId\n }) : prompt;\n const systemTexts = [];\n const turns = [];\n for (const message of compactedPrompt) {\n switch (message.role) {\n case \"system\": {\n systemTexts.push(message.content);\n break;\n }\n case \"user\": {\n const content = [];\n for (const part of message.content) {\n if (part.type === \"text\") {\n const block = {\n type: \"text\",\n text: part.text\n };\n content.push(block);\n } else if (part.type === \"file\") {\n const fileBlock = convertFilePartToContent({\n part,\n warnings,\n mediaResolution\n });\n if (fileBlock != null) {\n content.push(fileBlock);\n }\n }\n }\n const merged = mergeAdjacentTextContent(content);\n if (merged.length > 0) {\n turns.push({ role: \"user\", content: merged });\n }\n break;\n }\n case \"assistant\": {\n const content = [];\n for (const part of message.content) {\n if (part.type === \"text\") {\n content.push({ type: \"text\", text: part.text });\n } else if (part.type === \"reasoning\") {\n const signature = (_b = (_a = part.providerOptions) == null ? void 0 : _a.google) == null ? void 0 : _b.signature;\n content.push({\n type: \"thought\",\n ...signature != null ? { signature } : {},\n summary: part.text.length > 0 ? [{ type: \"text\", text: part.text }] : void 0\n });\n } else if (part.type === \"file\") {\n const fileBlock = convertFilePartToContent({\n part,\n warnings,\n mediaResolution\n });\n if (fileBlock != null) {\n content.push(fileBlock);\n }\n } else if (part.type === \"tool-call\") {\n const signature = (_d = (_c = part.providerOptions) == null ? void 0 : _c.google) == null ? void 0 : _d.signature;\n const args = typeof part.input === \"string\" ? safeParseToolArgs(part.input) : (_e = part.input) != null ? _e : {};\n content.push({\n type: \"function_call\",\n id: part.toolCallId,\n name: part.toolName,\n arguments: args,\n ...signature != null ? { signature } : {}\n });\n } else {\n warnings.push({\n type: \"other\",\n message: `google.interactions: unsupported assistant content part type \"${part.type}\"; part dropped.`\n });\n }\n }\n if (content.length > 0) {\n turns.push({ role: \"model\", content });\n }\n break;\n }\n case \"tool\": {\n const content = [];\n for (const part of message.content) {\n if (part.type !== \"tool-result\") {\n warnings.push({\n type: \"other\",\n message: `google.interactions: unsupported tool message part type \"${part.type}\"; part dropped.`\n });\n continue;\n }\n const block = convertToolResultPart({\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n output: part.output,\n signature: (_g = (_f = part.providerOptions) == null ? void 0 : _f.google) == null ? void 0 : _g.signature,\n warnings\n });\n content.push(block);\n }\n if (content.length > 0) {\n turns.push({ role: \"user\", content });\n }\n break;\n }\n }\n }\n const systemInstruction = systemTexts.length > 0 ? systemTexts.join(\"\\n\\n\") : void 0;\n let input;\n if (turns.length === 0) {\n input = \"\";\n } else if (turns.length === 1 && turns[0].role === \"user\" && Array.isArray(turns[0].content)) {\n input = turns[0].content;\n } else {\n input = turns;\n }\n return { input, systemInstruction, warnings };\n}\nfunction convertFilePartToContent({\n part,\n warnings,\n mediaResolution\n}) {\n const topLevel = getTopLevelMediaType(part.mediaType);\n let kind;\n switch (topLevel) {\n case \"image\":\n kind = \"image\";\n break;\n case \"audio\":\n kind = \"audio\";\n break;\n case \"video\":\n kind = \"video\";\n break;\n case \"application\":\n kind = \"document\";\n break;\n default:\n kind = void 0;\n }\n if (kind == null) {\n warnings.push({\n type: \"other\",\n message: `google.interactions: unsupported file media type \"${part.mediaType}\"; part dropped.`\n });\n return void 0;\n }\n const resolutionField = mediaResolution != null && (kind === \"image\" || kind === \"video\") ? { resolution: mediaResolution } : {};\n if (part.data instanceof URL) {\n return {\n type: kind,\n uri: part.data.toString(),\n ...isFullMediaType(part.mediaType) ? { mime_type: part.mediaType } : {},\n ...resolutionField\n };\n }\n if (!isFullMediaType(part.mediaType)) {\n warnings.push({\n type: \"other\",\n message: `google.interactions: inline file data requires a full IANA media type (e.g. \"image/png\"), got \"${part.mediaType}\"; part dropped.`\n });\n return void 0;\n }\n return {\n type: kind,\n data: convertToBase643(part.data),\n mime_type: part.mediaType,\n ...resolutionField\n };\n}\nfunction compactPromptForPreviousInteraction({\n prompt,\n previousInteractionId\n}) {\n const out = [];\n const droppedToolCallIds = /* @__PURE__ */ new Set();\n for (const message of prompt) {\n if (message.role === \"assistant\") {\n const matchesLinkedInteraction = message.content.some((part) => {\n var _a, _b;\n const partInteractionId = (_b = (_a = part.providerOptions) == null ? void 0 : _a.google) == null ? void 0 : _b.interactionId;\n return partInteractionId === previousInteractionId;\n });\n if (matchesLinkedInteraction) {\n for (const part of message.content) {\n if (part.type === \"tool-call\") {\n droppedToolCallIds.add(part.toolCallId);\n }\n }\n continue;\n }\n out.push(message);\n continue;\n }\n if (message.role === \"tool\") {\n const remaining = message.content.filter((part) => {\n if (part.type !== \"tool-result\") {\n return true;\n }\n return !droppedToolCallIds.has(part.toolCallId);\n });\n if (remaining.length === 0) {\n continue;\n }\n out.push({\n ...message,\n content: remaining\n });\n continue;\n }\n out.push(message);\n }\n return out;\n}\nfunction safeParseToolArgs(input) {\n try {\n const parsed = JSON.parse(input);\n if (parsed != null && typeof parsed === \"object\" && !Array.isArray(parsed)) {\n return parsed;\n }\n return { value: parsed };\n } catch (e) {\n return { value: input };\n }\n}\nfunction convertToolResultPart({\n toolCallId,\n toolName,\n output,\n signature,\n warnings\n}) {\n var _a;\n const base = {\n type: \"function_result\",\n call_id: toolCallId,\n name: toolName,\n ...signature != null ? { signature } : {}\n };\n switch (output.type) {\n case \"text\":\n return { ...base, result: output.value };\n case \"json\":\n return { ...base, result: JSON.stringify(output.value) };\n case \"error-text\":\n return { ...base, is_error: true, result: output.value };\n case \"error-json\":\n return { ...base, is_error: true, result: JSON.stringify(output.value) };\n case \"execution-denied\":\n return {\n ...base,\n is_error: true,\n result: (_a = output.reason) != null ? _a : \"Tool execution denied by user.\"\n };\n case \"content\": {\n const blocks = [];\n for (const item of output.value) {\n if (item.type === \"text\") {\n blocks.push({ type: \"text\", text: item.text });\n } else if (item.type === \"image-data\") {\n const imageBlock = filePartToImageBlock({\n part: {\n type: \"file\",\n mediaType: item.mediaType,\n data: item.data\n },\n warnings\n });\n if (imageBlock != null) {\n blocks.push(imageBlock);\n }\n } else if (item.type === \"image-url\") {\n const imageBlock = filePartToImageBlock({\n part: {\n type: \"file\",\n mediaType: \"image/*\",\n data: new URL(item.url)\n },\n warnings\n });\n if (imageBlock != null) {\n blocks.push(imageBlock);\n }\n } else if (item.type === \"file-data\" || item.type === \"file-url\") {\n const mediaType = item.type === \"file-data\" ? item.mediaType : \"application/*\";\n const topLevel = getTopLevelMediaType(mediaType);\n if (topLevel !== \"image\") {\n warnings.push({\n type: \"other\",\n message: `google.interactions: tool-result file with mediaType \"${mediaType}\" is not supported (Interactions \\`function_result.result\\` accepts only text and image content); part dropped.`\n });\n continue;\n }\n const imageBlock = filePartToImageBlock({\n part: item.type === \"file-data\" ? {\n type: \"file\",\n mediaType: item.mediaType,\n data: item.data\n } : {\n type: \"file\",\n mediaType,\n data: new URL(item.url)\n },\n warnings\n });\n if (imageBlock != null) {\n blocks.push(imageBlock);\n }\n } else {\n warnings.push({\n type: \"other\",\n message: `google.interactions: tool-result content part type \"${item.type}\" is not supported; part dropped.`\n });\n }\n }\n return { ...base, result: blocks };\n }\n }\n}\nfunction filePartToImageBlock({\n part,\n warnings\n}) {\n if (part.data instanceof URL) {\n return {\n type: \"image\",\n uri: part.data.toString(),\n ...isFullMediaType(part.mediaType) ? { mime_type: part.mediaType } : {}\n };\n }\n if (!isFullMediaType(part.mediaType)) {\n warnings.push({\n type: \"other\",\n message: `google.interactions: tool-result image part requires a full IANA media type (e.g. \"image/png\"), got \"${part.mediaType}\"; part dropped.`\n });\n return void 0;\n }\n return {\n type: \"image\",\n data: convertToBase643(part.data),\n mime_type: part.mediaType\n };\n}\nfunction mergeAdjacentTextContent(content) {\n if (content.length < 2) {\n return content;\n }\n const result = [];\n for (const block of content) {\n const last = result[result.length - 1];\n if (block.type === \"text\" && last != null && last.type === \"text\" && last.annotations == null && block.annotations == null) {\n const merged = {\n type: \"text\",\n text: `${last.text}\n\n${block.text}`\n };\n result[result.length - 1] = merged;\n continue;\n }\n result.push(block);\n }\n return result;\n}\n\n// src/interactions/google-interactions-api.ts\nimport {\n lazySchema as lazySchema13,\n zodSchema as zodSchema13\n} from \"@ai-sdk/provider-utils\";\nimport { z as z15 } from \"zod/v4\";\nvar tokenByModalitySchema = () => z15.object({\n modality: z15.string().nullish(),\n tokens: z15.number().nullish()\n}).loose();\nvar usageSchema2 = () => z15.object({\n total_input_tokens: z15.number().nullish(),\n total_output_tokens: z15.number().nullish(),\n total_thought_tokens: z15.number().nullish(),\n total_cached_tokens: z15.number().nullish(),\n total_tool_use_tokens: z15.number().nullish(),\n total_tokens: z15.number().nullish(),\n input_tokens_by_modality: z15.array(tokenByModalitySchema()).nullish(),\n output_tokens_by_modality: z15.array(tokenByModalitySchema()).nullish(),\n cached_tokens_by_modality: z15.array(tokenByModalitySchema()).nullish(),\n tool_use_tokens_by_modality: z15.array(tokenByModalitySchema()).nullish(),\n grounding_tool_count: z15.array(\n z15.object({\n type: z15.string().nullish(),\n count: z15.number().nullish()\n }).loose()\n ).nullish()\n}).loose();\nvar interactionStatusSchema = () => z15.enum([\n \"in_progress\",\n \"requires_action\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n \"incomplete\"\n]);\nvar annotationSchema = () => {\n const urlCitation = z15.object({\n type: z15.literal(\"url_citation\"),\n url: z15.string().nullish(),\n title: z15.string().nullish(),\n start_index: z15.number().nullish(),\n end_index: z15.number().nullish()\n }).loose();\n const fileCitation = z15.object({\n type: z15.literal(\"file_citation\"),\n file_name: z15.string().nullish(),\n document_uri: z15.string().nullish(),\n source: z15.string().nullish(),\n page_number: z15.number().nullish(),\n media_id: z15.string().nullish(),\n start_index: z15.number().nullish(),\n end_index: z15.number().nullish(),\n custom_metadata: z15.record(z15.string(), z15.unknown()).nullish()\n }).loose();\n const placeCitation = z15.object({\n type: z15.literal(\"place_citation\"),\n name: z15.string().nullish(),\n url: z15.string().nullish(),\n place_id: z15.string().nullish(),\n start_index: z15.number().nullish(),\n end_index: z15.number().nullish()\n }).loose();\n return z15.union([\n urlCitation,\n fileCitation,\n placeCitation,\n z15.object({ type: z15.string() }).loose()\n ]);\n};\nvar thoughtSummaryItemSchema = () => z15.object({\n type: z15.string(),\n text: z15.string().nullish(),\n data: z15.string().nullish(),\n mime_type: z15.string().nullish()\n}).loose();\nvar contentBlockSchema = () => {\n const textContent = z15.object({\n type: z15.literal(\"text\"),\n text: z15.string(),\n annotations: z15.array(annotationSchema()).nullish()\n }).loose();\n const thoughtContent = z15.object({\n type: z15.literal(\"thought\"),\n signature: z15.string().nullish(),\n summary: z15.array(thoughtSummaryItemSchema()).nullish()\n }).loose();\n const functionCallContent = z15.object({\n type: z15.literal(\"function_call\"),\n id: z15.string(),\n name: z15.string(),\n arguments: z15.record(z15.string(), z15.unknown()).nullish(),\n signature: z15.string().nullish()\n }).loose();\n const imageContent = z15.object({\n type: z15.literal(\"image\"),\n data: z15.string().nullish(),\n mime_type: z15.string().nullish(),\n resolution: z15.enum([\"low\", \"medium\", \"high\", \"ultra_high\"]).nullish(),\n uri: z15.string().nullish()\n }).loose();\n const builtinToolCall = z15.object({\n type: z15.enum([\n \"google_search_call\",\n \"code_execution_call\",\n \"url_context_call\",\n \"file_search_call\",\n \"google_maps_call\",\n \"mcp_server_tool_call\"\n ]),\n id: z15.string(),\n arguments: z15.record(z15.string(), z15.unknown()).nullish(),\n name: z15.string().nullish(),\n server_name: z15.string().nullish(),\n search_type: z15.string().nullish(),\n signature: z15.string().nullish()\n }).loose();\n const builtinToolResult = z15.object({\n type: z15.enum([\n \"google_search_result\",\n \"code_execution_result\",\n \"url_context_result\",\n \"file_search_result\",\n \"google_maps_result\",\n \"mcp_server_tool_result\"\n ]),\n call_id: z15.string(),\n result: z15.unknown().nullish(),\n is_error: z15.boolean().nullish(),\n name: z15.string().nullish(),\n server_name: z15.string().nullish(),\n signature: z15.string().nullish()\n }).loose();\n return z15.union([\n textContent,\n imageContent,\n thoughtContent,\n functionCallContent,\n builtinToolCall,\n builtinToolResult,\n z15.object({ type: z15.string() }).loose()\n ]);\n};\nvar googleInteractionsResponseSchema = lazySchema13(\n () => zodSchema13(\n z15.object({\n /*\n * `id` is omitted from the response body when `store: false` (fully\n * stateless mode) — there is no server-side interaction record for the\n * client to reference. `nullish` lets the schema accept that shape.\n */\n id: z15.string().nullish(),\n created: z15.string().nullish(),\n updated: z15.string().nullish(),\n status: interactionStatusSchema(),\n model: z15.string().nullish(),\n agent: z15.string().nullish(),\n outputs: z15.array(contentBlockSchema()).nullish(),\n usage: usageSchema2().nullish(),\n service_tier: z15.string().nullish(),\n previous_interaction_id: z15.string().nullish(),\n response_modalities: z15.array(z15.string()).nullish()\n }).loose()\n )\n);\nvar googleInteractionsEventSchema = lazySchema13(\n () => zodSchema13(\n (() => {\n const status = interactionStatusSchema();\n const annotation = annotationSchema();\n const thoughtSummaryItem = thoughtSummaryItemSchema();\n const interactionStartEvent = z15.object({\n event_type: z15.literal(\"interaction.start\"),\n event_id: z15.string().nullish(),\n interaction: z15.object({\n /*\n * `id` is omitted when `store: false` (fully stateless mode);\n * see the matching note on `googleInteractionsResponseSchema.id`.\n */\n id: z15.string().nullish(),\n created: z15.string().nullish(),\n model: z15.string().nullish(),\n agent: z15.string().nullish(),\n status: status.nullish()\n }).loose()\n }).loose();\n const contentStartEvent = z15.object({\n event_type: z15.literal(\"content.start\"),\n event_id: z15.string().nullish(),\n index: z15.number(),\n content: contentBlockSchema()\n }).loose();\n const contentDeltaText = z15.object({\n type: z15.literal(\"text\"),\n text: z15.string()\n }).loose();\n const contentDeltaThoughtSummary = z15.object({\n type: z15.literal(\"thought_summary\"),\n content: thoughtSummaryItem.nullish()\n }).loose();\n const contentDeltaThoughtSignature = z15.object({\n type: z15.literal(\"thought_signature\"),\n signature: z15.string().nullish()\n }).loose();\n const contentDeltaFunctionCall = z15.object({\n type: z15.literal(\"function_call\"),\n id: z15.string(),\n name: z15.string(),\n arguments: z15.record(z15.string(), z15.unknown()).nullish(),\n signature: z15.string().nullish()\n }).loose();\n const contentDeltaTextAnnotation = z15.object({\n type: z15.literal(\"text_annotation\"),\n annotations: z15.array(annotation).nullish()\n }).loose();\n const contentDeltaImage = z15.object({\n type: z15.literal(\"image\"),\n data: z15.string().nullish(),\n mime_type: z15.string().nullish(),\n resolution: z15.enum([\"low\", \"medium\", \"high\", \"ultra_high\"]).nullish(),\n uri: z15.string().nullish()\n }).loose();\n const contentDeltaBuiltinToolCall = z15.object({\n type: z15.enum([\n \"google_search_call\",\n \"code_execution_call\",\n \"url_context_call\",\n \"file_search_call\",\n \"google_maps_call\",\n \"mcp_server_tool_call\"\n ]),\n id: z15.string(),\n arguments: z15.record(z15.string(), z15.unknown()).nullish(),\n name: z15.string().nullish(),\n server_name: z15.string().nullish(),\n search_type: z15.string().nullish(),\n signature: z15.string().nullish()\n }).loose();\n const contentDeltaBuiltinToolResult = z15.object({\n type: z15.enum([\n \"google_search_result\",\n \"code_execution_result\",\n \"url_context_result\",\n \"file_search_result\",\n \"google_maps_result\",\n \"mcp_server_tool_result\"\n ]),\n call_id: z15.string(),\n result: z15.unknown().nullish(),\n is_error: z15.boolean().nullish(),\n name: z15.string().nullish(),\n server_name: z15.string().nullish(),\n signature: z15.string().nullish()\n }).loose();\n const contentDeltaUnknown = z15.object({ type: z15.string() }).loose();\n const contentDeltaUnion = z15.union([\n contentDeltaText,\n contentDeltaImage,\n contentDeltaThoughtSummary,\n contentDeltaThoughtSignature,\n contentDeltaFunctionCall,\n contentDeltaTextAnnotation,\n contentDeltaBuiltinToolCall,\n contentDeltaBuiltinToolResult,\n contentDeltaUnknown\n ]);\n const contentDeltaEvent = z15.object({\n event_type: z15.literal(\"content.delta\"),\n event_id: z15.string().nullish(),\n index: z15.number(),\n delta: contentDeltaUnion\n }).loose();\n const contentStopEvent = z15.object({\n event_type: z15.literal(\"content.stop\"),\n event_id: z15.string().nullish(),\n index: z15.number()\n }).loose();\n const interactionStatusUpdateEvent = z15.object({\n event_type: z15.literal(\"interaction.status_update\"),\n event_id: z15.string().nullish(),\n interaction_id: z15.string().nullish(),\n status\n }).loose();\n const interactionCompleteEvent = z15.object({\n event_type: z15.literal(\"interaction.complete\"),\n event_id: z15.string().nullish(),\n interaction: z15.object({\n id: z15.string().nullish(),\n status: status.nullish(),\n usage: usageSchema2().nullish(),\n service_tier: z15.string().nullish()\n }).loose()\n }).loose();\n const errorEvent = z15.object({\n event_type: z15.literal(\"error\"),\n event_id: z15.string().nullish(),\n error: z15.object({\n code: z15.string().nullish(),\n message: z15.string().nullish()\n }).loose().nullish()\n }).loose();\n const unknownEvent = z15.object({ event_type: z15.string() }).loose();\n return z15.union([\n interactionStartEvent,\n contentStartEvent,\n contentDeltaEvent,\n contentStopEvent,\n interactionStatusUpdateEvent,\n interactionCompleteEvent,\n errorEvent,\n unknownEvent\n ]);\n })()\n )\n);\n\n// src/interactions/google-interactions-language-model-options.ts\nimport {\n lazySchema as lazySchema14,\n zodSchema as zodSchema14\n} from \"@ai-sdk/provider-utils\";\nimport { z as z16 } from \"zod/v4\";\nvar googleInteractionsLanguageModelOptions = lazySchema14(\n () => zodSchema14(\n z16.object({\n previousInteractionId: z16.string().nullish(),\n store: z16.boolean().nullish(),\n agent: z16.string().nullish(),\n agentConfig: z16.union([\n z16.object({\n type: z16.literal(\"dynamic\")\n }).loose(),\n z16.object({\n type: z16.literal(\"deep-research\"),\n thinkingSummaries: z16.enum([\"auto\", \"none\"]).nullish(),\n visualization: z16.enum([\"off\", \"auto\"]).nullish(),\n collaborativePlanning: z16.boolean().nullish()\n })\n ]).nullish(),\n thinkingLevel: z16.enum([\"minimal\", \"low\", \"medium\", \"high\"]).nullish(),\n thinkingSummaries: z16.enum([\"auto\", \"none\"]).nullish(),\n imageConfig: z16.object({\n aspectRatio: z16.enum([\n \"1:1\",\n \"2:3\",\n \"3:2\",\n \"3:4\",\n \"4:3\",\n \"4:5\",\n \"5:4\",\n \"9:16\",\n \"16:9\",\n \"21:9\",\n \"1:8\",\n \"8:1\",\n \"1:4\",\n \"4:1\"\n ]).nullish(),\n imageSize: z16.enum([\"1K\", \"2K\", \"4K\", \"512\"]).nullish()\n }).nullish(),\n mediaResolution: z16.enum([\"low\", \"medium\", \"high\", \"ultra_high\"]).nullish(),\n responseModalities: z16.array(z16.enum([\"text\", \"image\", \"audio\", \"video\", \"document\"])).nullish(),\n serviceTier: z16.enum([\"flex\", \"standard\", \"priority\"]).nullish(),\n /**\n * Alternative to AI SDK `system` message. If both are set, the AI SDK\n * `system` message wins and a warning is emitted.\n */\n systemInstruction: z16.string().nullish(),\n /**\n * Per-block signature for round-tripping `thought.signature` and\n * `function_call.signature` blocks. Set by the SDK on output reasoning /\n * tool-call parts; passed back unchanged on input parts so the API\n * accepts the prior turn.\n */\n signature: z16.string().nullish(),\n /**\n * Set by the SDK on output assistant messages. The converter uses it to\n * decide which messages to drop when compacting under\n * `previousInteractionId`.\n */\n interactionId: z16.string().nullish(),\n /**\n * Maximum time, in milliseconds, to poll a background interaction (agent\n * call) before giving up. Defaults to 30 minutes. Long-running agents\n * such as deep research can take tens of minutes — increase if needed.\n */\n pollingTimeoutMs: z16.number().int().positive().nullish()\n })\n )\n);\n\n// src/interactions/parse-google-interactions-outputs.ts\nfunction googleProviderMetadata({\n signature,\n interactionId\n}) {\n const google2 = {};\n if (signature != null) {\n google2.signature = signature;\n }\n if (interactionId != null) {\n google2.interactionId = interactionId;\n }\n return Object.keys(google2).length > 0 ? { providerMetadata: { google: google2 } } : {};\n}\nvar BUILTIN_TOOL_CALL_TYPES2 = /* @__PURE__ */ new Set([\n \"google_search_call\",\n \"code_execution_call\",\n \"url_context_call\",\n \"file_search_call\",\n \"google_maps_call\",\n \"mcp_server_tool_call\"\n]);\nvar BUILTIN_TOOL_RESULT_TYPES2 = /* @__PURE__ */ new Set([\n \"google_search_result\",\n \"code_execution_result\",\n \"url_context_result\",\n \"file_search_result\",\n \"google_maps_result\",\n \"mcp_server_tool_result\"\n]);\nfunction builtinToolNameFromCallType2(type) {\n return type.replace(/_call$/, \"\");\n}\nfunction builtinToolNameFromResultType2(type) {\n return type.replace(/_result$/, \"\");\n}\nfunction parseGoogleInteractionsOutputs({\n outputs,\n generateId: generateId3,\n interactionId\n}) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const content = [];\n let hasFunctionCall = false;\n if (outputs == null) {\n return { content, hasFunctionCall };\n }\n for (const block of outputs) {\n if (block == null || typeof block !== \"object\") continue;\n const type = block.type;\n if (typeof type !== \"string\") continue;\n switch (type) {\n case \"text\": {\n const text = (_a = block.text) != null ? _a : \"\";\n const annotations = block.annotations;\n content.push({\n type: \"text\",\n text,\n ...googleProviderMetadata({ interactionId })\n });\n const sources = annotationsToSources({ annotations, generateId: generateId3 });\n for (const source of sources) {\n content.push(source);\n }\n break;\n }\n case \"thought\": {\n const thought = block;\n const summary = Array.isArray(thought.summary) ? thought.summary : [];\n const text = summary.filter(\n (item) => (item == null ? void 0 : item.type) === \"text\" && typeof item.text === \"string\"\n ).map((item) => item.text).join(\"\\n\");\n content.push({\n type: \"reasoning\",\n text,\n ...googleProviderMetadata({\n signature: thought.signature,\n interactionId\n })\n });\n break;\n }\n case \"image\": {\n const image = block;\n if (image.data != null && image.data.length > 0) {\n content.push({\n type: \"file\",\n mediaType: (_b = image.mime_type) != null ? _b : \"image/png\",\n data: image.data,\n ...googleProviderMetadata({ interactionId })\n });\n } else if (image.uri != null && image.uri.length > 0) {\n content.push({\n type: \"file\",\n mediaType: (_c = image.mime_type) != null ? _c : \"image/png\",\n data: \"\",\n providerMetadata: {\n google: {\n ...interactionId != null ? { interactionId } : {},\n imageUri: image.uri\n }\n }\n });\n }\n break;\n }\n case \"function_call\": {\n hasFunctionCall = true;\n const call = block;\n content.push({\n type: \"tool-call\",\n toolCallId: call.id,\n toolName: call.name,\n input: JSON.stringify((_d = call.arguments) != null ? _d : {}),\n ...googleProviderMetadata({\n signature: call.signature,\n interactionId\n })\n });\n break;\n }\n default: {\n if (BUILTIN_TOOL_CALL_TYPES2.has(type)) {\n const call = block;\n const toolName = type === \"mcp_server_tool_call\" ? (_e = call.name) != null ? _e : \"mcp_server_tool\" : builtinToolNameFromCallType2(type);\n const input = JSON.stringify((_f = call.arguments) != null ? _f : {});\n content.push({\n type: \"tool-call\",\n toolCallId: (_g = call.id) != null ? _g : generateId3(),\n toolName,\n input,\n providerExecuted: true\n });\n } else if (BUILTIN_TOOL_RESULT_TYPES2.has(type)) {\n const result = block;\n const toolName = type === \"mcp_server_tool_result\" ? (_h = result.name) != null ? _h : \"mcp_server_tool\" : builtinToolNameFromResultType2(type);\n content.push({\n type: \"tool-result\",\n toolCallId: (_i = result.call_id) != null ? _i : generateId3(),\n toolName,\n result: (_j = result.result) != null ? _j : null\n });\n const sources = builtinToolResultToSources({\n block,\n generateId: generateId3\n });\n for (const source of sources) {\n content.push(source);\n }\n }\n break;\n }\n }\n }\n return { content, hasFunctionCall };\n}\n\n// src/interactions/poll-google-interactions.ts\nimport {\n createJsonResponseHandler as createJsonResponseHandler5,\n delay as delay2,\n getFromApi as getFromApi2,\n isAbortError\n} from \"@ai-sdk/provider-utils\";\n\n// src/interactions/cancel-google-interaction.ts\nimport {\n combineHeaders as combineHeaders5,\n getRuntimeEnvironmentUserAgent,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\nvar getOriginalFetch = () => globalThis.fetch;\nasync function cancelGoogleInteraction({\n baseURL,\n interactionId,\n headers,\n fetch = getOriginalFetch()\n}) {\n if (interactionId == null || interactionId.length === 0) {\n return;\n }\n const url = `${baseURL}/interactions/${encodeURIComponent(interactionId)}/cancel`;\n try {\n const response = await fetch(url, {\n method: \"POST\",\n headers: withUserAgentSuffix(\n combineHeaders5({ \"Content-Type\": \"application/json\" }, headers),\n getRuntimeEnvironmentUserAgent()\n ),\n body: \"{}\"\n });\n try {\n await response.text();\n } catch (e) {\n }\n } catch (e) {\n }\n}\n\n// src/interactions/poll-google-interactions.ts\nvar TERMINAL_STATUSES = /* @__PURE__ */ new Set([\"completed\", \"failed\", \"cancelled\", \"incomplete\"]);\nfunction isTerminalStatus(status) {\n return status != null && TERMINAL_STATUSES.has(status);\n}\nvar DEFAULT_INITIAL_DELAY_MS = 1e3;\nvar DEFAULT_MAX_DELAY_MS = 1e4;\nvar DEFAULT_TIMEOUT_MS = 30 * 60 * 1e3;\nasync function pollGoogleInteractionUntilTerminal({\n baseURL,\n interactionId,\n headers,\n fetch,\n abortSignal,\n initialDelayMs = DEFAULT_INITIAL_DELAY_MS,\n maxDelayMs = DEFAULT_MAX_DELAY_MS,\n timeoutMs = DEFAULT_TIMEOUT_MS\n}) {\n if (interactionId == null || interactionId.length === 0) {\n throw new Error(\n \"google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.\"\n );\n }\n const startedAt = Date.now();\n let nextDelayMs = initialDelayMs;\n const url = `${baseURL}/interactions/${encodeURIComponent(interactionId)}`;\n const cancelOnServer = () => cancelGoogleInteraction({ baseURL, interactionId, headers, fetch });\n try {\n while (true) {\n if (abortSignal == null ? void 0 : abortSignal.aborted) {\n await cancelOnServer();\n throw new DOMException(\"Polling was aborted\", \"AbortError\");\n }\n if (Date.now() - startedAt > timeoutMs) {\n throw new Error(\n `google.interactions: timed out polling interaction ${interactionId} after ${timeoutMs}ms.`\n );\n }\n await delay2(nextDelayMs, { abortSignal });\n const {\n value: response,\n rawValue: rawResponse,\n responseHeaders\n } = await getFromApi2({\n url,\n headers,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler5(\n googleInteractionsResponseSchema\n ),\n abortSignal,\n fetch\n });\n if (isTerminalStatus(response.status)) {\n return { response, rawResponse, responseHeaders };\n }\n nextDelayMs = Math.min(nextDelayMs * 2, maxDelayMs);\n }\n } catch (error) {\n if (isAbortError(error)) {\n await cancelOnServer();\n }\n throw error;\n }\n}\n\n// src/interactions/prepare-google-interactions-tools.ts\nfunction prepareGoogleInteractionsTools({\n tools,\n toolChoice\n}) {\n var _a, _b, _c, _d;\n const toolWarnings = [];\n const normalized = (tools == null ? void 0 : tools.length) ? tools : void 0;\n if (normalized == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const interactionsTools = [];\n for (const tool of normalized) {\n if (tool.type === \"function\") {\n interactionsTools.push({\n type: \"function\",\n name: tool.name,\n description: (_a = tool.description) != null ? _a : \"\",\n parameters: tool.inputSchema\n });\n continue;\n }\n if (tool.type === \"provider\") {\n const args = (_b = tool.args) != null ? _b : {};\n switch (tool.id) {\n case \"google.google_search\": {\n const searchTypesArg = args.searchTypes;\n let search_types;\n if (searchTypesArg != null && typeof searchTypesArg === \"object\") {\n const list = [];\n if (searchTypesArg.webSearch != null) list.push(\"web_search\");\n if (searchTypesArg.imageSearch != null) list.push(\"image_search\");\n if (list.length > 0) {\n search_types = list;\n }\n }\n interactionsTools.push({\n type: \"google_search\",\n ...search_types != null ? { search_types } : {}\n });\n break;\n }\n case \"google.code_execution\": {\n interactionsTools.push({ type: \"code_execution\" });\n break;\n }\n case \"google.url_context\": {\n interactionsTools.push({ type: \"url_context\" });\n break;\n }\n case \"google.file_search\": {\n interactionsTools.push({\n type: \"file_search\",\n ...args.fileSearchStoreNames != null ? {\n file_search_store_names: args.fileSearchStoreNames\n } : {},\n ...args.topK != null ? { top_k: args.topK } : {},\n ...args.metadataFilter != null ? { metadata_filter: args.metadataFilter } : {}\n });\n break;\n }\n case \"google.google_maps\": {\n interactionsTools.push({\n type: \"google_maps\",\n ...args.latitude != null ? { latitude: args.latitude } : {},\n ...args.longitude != null ? { longitude: args.longitude } : {},\n ...args.enableWidget != null ? { enable_widget: args.enableWidget } : {}\n });\n break;\n }\n case \"google.computer_use\": {\n interactionsTools.push({\n type: \"computer_use\",\n environment: (_c = args.environment) != null ? _c : \"browser\",\n ...args.excludedPredefinedFunctions != null ? {\n excludedPredefinedFunctions: args.excludedPredefinedFunctions\n } : {}\n });\n break;\n }\n case \"google.mcp_server\": {\n interactionsTools.push({\n type: \"mcp_server\",\n ...args.name != null ? { name: args.name } : {},\n ...args.url != null ? { url: args.url } : {},\n ...args.headers != null ? { headers: args.headers } : {},\n ...args.allowedTools != null ? { allowed_tools: args.allowedTools } : {}\n });\n break;\n }\n case \"google.retrieval\": {\n const vertexAiSearchConfig = (_d = args.vertexAiSearchConfig) != null ? _d : void 0;\n interactionsTools.push({\n type: \"retrieval\",\n ...args.retrievalTypes != null ? {\n retrieval_types: args.retrievalTypes\n } : { retrieval_types: [\"vertex_ai_search\"] },\n ...vertexAiSearchConfig != null ? { vertex_ai_search_config: vertexAiSearchConfig } : {}\n });\n break;\n }\n default: {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`,\n details: `provider-defined tool ${tool.id} is not supported by google.interactions; tool dropped.`\n });\n break;\n }\n }\n continue;\n }\n toolWarnings.push({\n type: \"unsupported\",\n feature: `tool of type ${tool.type}`,\n details: \"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped.\"\n });\n }\n const hasFunctionTool = interactionsTools.some((t) => t.type === \"function\");\n let mappedToolChoice;\n if (toolChoice != null && hasFunctionTool) {\n switch (toolChoice.type) {\n case \"auto\":\n mappedToolChoice = \"auto\";\n break;\n case \"required\":\n mappedToolChoice = \"any\";\n break;\n case \"none\":\n mappedToolChoice = \"none\";\n break;\n case \"tool\":\n mappedToolChoice = {\n allowed_tools: {\n mode: \"validated\",\n tools: [toolChoice.toolName]\n }\n };\n break;\n }\n }\n return {\n tools: interactionsTools.length > 0 ? interactionsTools : void 0,\n toolChoice: mappedToolChoice,\n toolWarnings\n };\n}\n\n// src/interactions/stream-google-interactions.ts\nimport {\n createEventSourceResponseHandler as createEventSourceResponseHandler2,\n delay as delay3,\n getFromApi as getFromApi3,\n isAbortError as isAbortError2\n} from \"@ai-sdk/provider-utils\";\nvar DEFAULT_MAX_RETRIES = 3;\nvar DEFAULT_RETRY_DELAY_MS = 500;\nfunction streamGoogleInteractionEvents({\n baseURL,\n interactionId,\n headers,\n fetch,\n abortSignal,\n maxRetries = DEFAULT_MAX_RETRIES,\n retryDelayMs = DEFAULT_RETRY_DELAY_MS\n}) {\n if (interactionId.length === 0) {\n throw new Error(\n \"google.interactions: cannot stream a background interaction without an id.\"\n );\n }\n const eventSourceHeaders = {\n ...headers,\n accept: \"text/event-stream\"\n };\n let lastEventId;\n let complete = false;\n let attempt = 0;\n let receivedAnyEventThisAttempt = false;\n let currentReader;\n const internalAbort = new AbortController();\n const upstreamAbortHandler = () => internalAbort.abort();\n if (abortSignal != null) {\n if (abortSignal.aborted) {\n internalAbort.abort();\n } else {\n abortSignal.addEventListener(\"abort\", upstreamAbortHandler, {\n once: true\n });\n }\n }\n const effectiveSignal = internalAbort.signal;\n function buildUrl() {\n const base = `${baseURL}/interactions/${encodeURIComponent(interactionId)}`;\n const params = new URLSearchParams({ stream: \"true\" });\n if (lastEventId != null) {\n params.set(\"last_event_id\", lastEventId);\n }\n return `${base}?${params.toString()}`;\n }\n async function openReader() {\n const { value: stream } = await getFromApi3({\n url: buildUrl(),\n headers: eventSourceHeaders,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler2(\n googleInteractionsEventSchema\n ),\n abortSignal: effectiveSignal,\n fetch\n });\n return stream.getReader();\n }\n return new ReadableStream({\n async start(controller) {\n try {\n while (!complete && !effectiveSignal.aborted) {\n if (currentReader == null) {\n try {\n currentReader = await openReader();\n receivedAnyEventThisAttempt = false;\n } catch (error) {\n if (isAbortError2(error) || effectiveSignal.aborted) {\n controller.error(error);\n return;\n }\n attempt++;\n if (attempt >= maxRetries) {\n controller.error(error);\n return;\n }\n await delay3(retryDelayMs * attempt, {\n abortSignal: effectiveSignal\n });\n continue;\n }\n }\n try {\n const { done, value } = await currentReader.read();\n if (done) {\n currentReader = void 0;\n if (complete) break;\n if (!receivedAnyEventThisAttempt) {\n attempt++;\n if (attempt >= maxRetries) {\n controller.error(\n new Error(\n \"google.interactions: SSE stream closed without producing any events.\"\n )\n );\n return;\n }\n await delay3(retryDelayMs * attempt, {\n abortSignal: effectiveSignal\n });\n } else {\n attempt = 0;\n }\n continue;\n }\n receivedAnyEventThisAttempt = true;\n if (value.success) {\n const ev = value.value;\n if (typeof ev.event_id === \"string\" && ev.event_id.length > 0) {\n lastEventId = ev.event_id;\n }\n if (ev.event_type === \"interaction.complete\" || ev.event_type === \"error\") {\n complete = true;\n }\n }\n controller.enqueue(value);\n } catch (error) {\n if (isAbortError2(error) || effectiveSignal.aborted) {\n controller.error(error);\n return;\n }\n currentReader = void 0;\n attempt++;\n if (attempt >= maxRetries) {\n controller.error(error);\n return;\n }\n await delay3(retryDelayMs * attempt, {\n abortSignal: effectiveSignal\n });\n }\n }\n controller.close();\n } catch (error) {\n controller.error(error);\n } finally {\n if (abortSignal != null) {\n abortSignal.removeEventListener(\"abort\", upstreamAbortHandler);\n }\n currentReader == null ? void 0 : currentReader.cancel().catch(() => {\n });\n currentReader = void 0;\n if (effectiveSignal.aborted && !complete) {\n await cancelGoogleInteraction({\n baseURL,\n interactionId,\n headers,\n fetch\n });\n }\n }\n },\n cancel() {\n internalAbort.abort();\n currentReader == null ? void 0 : currentReader.cancel().catch(() => {\n });\n currentReader = void 0;\n }\n });\n}\n\n// src/interactions/synthesize-google-interactions-agent-stream.ts\nfunction synthesizeGoogleInteractionsAgentStream({\n response,\n warnings,\n generateId: generateId3,\n includeRawChunks,\n headerServiceTier\n}) {\n return new ReadableStream({\n start(controller) {\n var _a, _b, _c;\n controller.enqueue({ type: \"stream-start\", warnings });\n const interactionId = typeof response.id === \"string\" && response.id.length > 0 ? response.id : void 0;\n let timestamp;\n const created = response.created;\n if (typeof created === \"string\") {\n const parsed = new Date(created);\n if (!Number.isNaN(parsed.getTime())) {\n timestamp = parsed;\n }\n }\n controller.enqueue({\n type: \"response-metadata\",\n ...interactionId != null ? { id: interactionId } : {},\n modelId: (_a = response.model) != null ? _a : void 0,\n ...timestamp ? { timestamp } : {}\n });\n if (includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: response });\n }\n const { content, hasFunctionCall } = parseGoogleInteractionsOutputs({\n outputs: (_b = response.outputs) != null ? _b : null,\n generateId: generateId3,\n interactionId\n });\n let blockCounter = 0;\n const nextBlockId = () => `${interactionId != null ? interactionId : \"agent\"}:${blockCounter++}`;\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n const id = nextBlockId();\n const providerMetadata2 = part.providerMetadata;\n controller.enqueue({ type: \"text-start\", id });\n if (part.text.length > 0) {\n controller.enqueue({ type: \"text-delta\", id, delta: part.text });\n }\n controller.enqueue({\n type: \"text-end\",\n id,\n ...providerMetadata2 ? { providerMetadata: providerMetadata2 } : {}\n });\n break;\n }\n case \"reasoning\": {\n const id = nextBlockId();\n const providerMetadata2 = part.providerMetadata;\n controller.enqueue({ type: \"reasoning-start\", id });\n if (part.text.length > 0) {\n controller.enqueue({\n type: \"reasoning-delta\",\n id,\n delta: part.text\n });\n }\n controller.enqueue({\n type: \"reasoning-end\",\n id,\n ...providerMetadata2 ? { providerMetadata: providerMetadata2 } : {}\n });\n break;\n }\n case \"tool-call\": {\n const providerMetadata2 = part.providerMetadata;\n controller.enqueue({\n type: \"tool-input-start\",\n id: part.toolCallId,\n toolName: part.toolName,\n ...part.providerExecuted ? { providerExecuted: part.providerExecuted } : {}\n });\n controller.enqueue({\n type: \"tool-input-delta\",\n id: part.toolCallId,\n delta: part.input\n });\n controller.enqueue({\n type: \"tool-input-end\",\n id: part.toolCallId\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n input: part.input,\n ...part.providerExecuted ? { providerExecuted: part.providerExecuted } : {},\n ...providerMetadata2 ? { providerMetadata: providerMetadata2 } : {}\n });\n break;\n }\n case \"tool-result\": {\n controller.enqueue({\n type: \"tool-result\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n result: part.result\n });\n break;\n }\n case \"source\":\n case \"file\": {\n controller.enqueue(part);\n break;\n }\n default:\n break;\n }\n }\n const serviceTier = (_c = response.service_tier) != null ? _c : headerServiceTier;\n const finishReason = {\n unified: mapGoogleInteractionsFinishReason({\n status: response.status,\n hasFunctionCall\n }),\n raw: response.status\n };\n const providerMetadata = {\n google: {\n ...interactionId != null ? { interactionId } : {},\n ...serviceTier != null ? { serviceTier } : {}\n }\n };\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertGoogleInteractionsUsage(response.usage),\n providerMetadata\n });\n controller.close();\n }\n });\n}\n\n// src/interactions/google-interactions-language-model.ts\nvar GoogleInteractionsLanguageModel = class {\n constructor(modelOrAgent, config) {\n this.specificationVersion = \"v3\";\n if (typeof modelOrAgent === \"string\") {\n this.modelId = modelOrAgent;\n this.agent = void 0;\n } else {\n this.modelId = modelOrAgent.agent;\n this.agent = modelOrAgent.agent;\n }\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n get supportedUrls() {\n if (this.config.supportedUrls) {\n return this.config.supportedUrls();\n }\n return {\n \"image/*\": [/^https?:\\/\\/.+/],\n \"application/pdf\": [/^https?:\\/\\/.+/],\n \"audio/*\": [/^https?:\\/\\/.+/],\n \"video/*\": [\n /^https?:\\/\\/(www\\.)?youtube\\.com\\/watch\\?v=.+/,\n /^https?:\\/\\/youtu\\.be\\/.+/,\n /^gs:\\/\\/.+/\n ]\n };\n }\n async getArgs(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;\n const warnings = [];\n const opts = await parseProviderOptions5({\n provider: \"google\",\n providerOptions: options.providerOptions,\n schema: googleInteractionsLanguageModelOptions\n });\n const isAgent = this.agent != null;\n const hasTools = options.tools != null && options.tools.length > 0;\n let toolsForBody;\n let toolChoiceForBody;\n if (hasTools && isAgent) {\n warnings.push({\n type: \"other\",\n message: \"google.interactions: tools are not supported when an agent is set; tools will be omitted from the request body.\"\n });\n } else if (hasTools) {\n const prepared = prepareGoogleInteractionsTools({\n tools: options.tools,\n toolChoice: options.toolChoice\n });\n toolsForBody = prepared.tools;\n toolChoiceForBody = prepared.toolChoice;\n warnings.push(...prepared.toolWarnings);\n }\n let responseMimeType;\n let responseFormat;\n if (((_a = options.responseFormat) == null ? void 0 : _a.type) === \"json\") {\n if (isAgent) {\n warnings.push({\n type: \"other\",\n message: \"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored.\"\n });\n } else {\n responseMimeType = \"application/json\";\n if (options.responseFormat.schema != null) {\n responseFormat = options.responseFormat.schema;\n }\n }\n }\n const {\n input,\n systemInstruction: convertedSystemInstruction,\n warnings: convWarnings\n } = convertToGoogleInteractionsInput({\n prompt: options.prompt,\n previousInteractionId: (_b = opts == null ? void 0 : opts.previousInteractionId) != null ? _b : void 0,\n store: (_c = opts == null ? void 0 : opts.store) != null ? _c : void 0,\n mediaResolution: (_d = opts == null ? void 0 : opts.mediaResolution) != null ? _d : void 0\n });\n warnings.push(...convWarnings);\n let systemInstruction = convertedSystemInstruction;\n const optionSystemInstruction = (_e = opts == null ? void 0 : opts.systemInstruction) != null ? _e : void 0;\n if (systemInstruction != null && optionSystemInstruction != null) {\n warnings.push({\n type: \"other\",\n message: \"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message.\"\n });\n } else if (systemInstruction == null && optionSystemInstruction != null) {\n systemInstruction = optionSystemInstruction;\n }\n let generationConfig;\n if (isAgent) {\n const droppedFields = [];\n if (options.temperature != null) droppedFields.push(\"temperature\");\n if (options.topP != null) droppedFields.push(\"topP\");\n if (options.seed != null) droppedFields.push(\"seed\");\n if (options.stopSequences != null && options.stopSequences.length > 0) {\n droppedFields.push(\"stopSequences\");\n }\n if (options.maxOutputTokens != null)\n droppedFields.push(\"maxOutputTokens\");\n if ((opts == null ? void 0 : opts.thinkingLevel) != null) droppedFields.push(\"thinkingLevel\");\n if ((opts == null ? void 0 : opts.thinkingSummaries) != null) {\n droppedFields.push(\"thinkingSummaries\");\n }\n if ((opts == null ? void 0 : opts.imageConfig) != null) droppedFields.push(\"imageConfig\");\n if (droppedFields.length > 0) {\n warnings.push({\n type: \"other\",\n message: `google.interactions: ${droppedFields.join(\", \")} ${droppedFields.length === 1 ? \"is\" : \"are\"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`\n });\n }\n generationConfig = void 0;\n } else {\n generationConfig = pruneUndefined({\n temperature: (_f = options.temperature) != null ? _f : void 0,\n top_p: (_g = options.topP) != null ? _g : void 0,\n seed: (_h = options.seed) != null ? _h : void 0,\n stop_sequences: options.stopSequences != null && options.stopSequences.length > 0 ? options.stopSequences : void 0,\n max_output_tokens: (_i = options.maxOutputTokens) != null ? _i : void 0,\n thinking_level: (_j = opts == null ? void 0 : opts.thinkingLevel) != null ? _j : void 0,\n thinking_summaries: (_k = opts == null ? void 0 : opts.thinkingSummaries) != null ? _k : void 0,\n image_config: (opts == null ? void 0 : opts.imageConfig) != null ? pruneUndefined({\n aspect_ratio: (_l = opts.imageConfig.aspectRatio) != null ? _l : void 0,\n image_size: (_m = opts.imageConfig.imageSize) != null ? _m : void 0\n }) : void 0,\n tool_choice: toolChoiceForBody\n });\n }\n let agentConfig;\n if (isAgent && (opts == null ? void 0 : opts.agentConfig) != null) {\n const ac = opts.agentConfig;\n if (ac.type === \"deep-research\") {\n agentConfig = pruneUndefined({\n type: \"deep-research\",\n thinking_summaries: (_n = ac.thinkingSummaries) != null ? _n : void 0,\n visualization: (_o = ac.visualization) != null ? _o : void 0,\n collaborative_planning: (_p = ac.collaborativePlanning) != null ? _p : void 0\n });\n } else if (ac.type === \"dynamic\") {\n agentConfig = { type: \"dynamic\" };\n }\n }\n const args = pruneUndefined({\n ...isAgent ? { agent: this.agent } : { model: this.modelId },\n input,\n system_instruction: systemInstruction,\n tools: toolsForBody,\n response_format: responseFormat,\n response_mime_type: responseMimeType,\n response_modalities: (opts == null ? void 0 : opts.responseModalities) != null ? opts.responseModalities : void 0,\n previous_interaction_id: (_q = opts == null ? void 0 : opts.previousInteractionId) != null ? _q : void 0,\n service_tier: (_r = opts == null ? void 0 : opts.serviceTier) != null ? _r : void 0,\n store: (_s = opts == null ? void 0 : opts.store) != null ? _s : void 0,\n generation_config: generationConfig != null && Object.keys(generationConfig).length > 0 ? generationConfig : void 0,\n agent_config: agentConfig,\n ...isAgent ? { background: true } : {}\n });\n return {\n args,\n warnings,\n isAgent,\n pollingTimeoutMs: (_t = opts == null ? void 0 : opts.pollingTimeoutMs) != null ? _t : void 0\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f;\n const { args, warnings, isAgent, pollingTimeoutMs } = await this.getArgs(options);\n const url = `${this.config.baseURL}/interactions`;\n const mergedHeaders = combineHeaders6(\n this.config.headers ? await resolve5(this.config.headers) : void 0,\n options.headers\n );\n const postResult = await postJsonToApi5({\n url,\n headers: mergedHeaders,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler6(\n googleInteractionsResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n let {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = postResult;\n if (isAgent && !isTerminalStatus(response.status)) {\n const polled = await pollGoogleInteractionUntilTerminal({\n baseURL: this.config.baseURL,\n interactionId: response.id,\n headers: mergedHeaders,\n fetch: this.config.fetch,\n abortSignal: options.abortSignal,\n timeoutMs: pollingTimeoutMs\n });\n response = polled.response;\n rawResponse = polled.rawResponse;\n responseHeaders = (_a = polled.responseHeaders) != null ? _a : responseHeaders;\n }\n const interactionId = typeof response.id === \"string\" && response.id.length > 0 ? response.id : void 0;\n const { content, hasFunctionCall } = parseGoogleInteractionsOutputs({\n outputs: (_b = response.outputs) != null ? _b : null,\n generateId: (_c = this.config.generateId) != null ? _c : defaultGenerateId2,\n interactionId\n });\n const finishReason = {\n unified: mapGoogleInteractionsFinishReason({\n status: response.status,\n hasFunctionCall\n }),\n raw: response.status\n };\n const serviceTier = (_e = (_d = response.service_tier) != null ? _d : responseHeaders == null ? void 0 : responseHeaders[\"x-gemini-service-tier\"]) != null ? _e : void 0;\n const providerMetadata = {\n google: {\n ...interactionId != null ? { interactionId } : {},\n ...serviceTier != null ? { serviceTier } : {}\n }\n };\n let timestamp;\n if (typeof response.created === \"string\") {\n const parsed = new Date(response.created);\n if (!Number.isNaN(parsed.getTime())) {\n timestamp = parsed;\n }\n }\n return {\n content,\n finishReason,\n usage: convertGoogleInteractionsUsage(response.usage),\n warnings,\n providerMetadata,\n request: { body: args },\n response: {\n headers: responseHeaders,\n body: rawResponse,\n ...interactionId != null ? { id: interactionId } : {},\n ...timestamp ? { timestamp } : {},\n modelId: (_f = response.model) != null ? _f : void 0\n }\n };\n }\n async doStream(options) {\n var _a;\n const { args, warnings, isAgent, pollingTimeoutMs } = await this.getArgs(options);\n const url = `${this.config.baseURL}/interactions`;\n const mergedHeaders = combineHeaders6(\n this.config.headers ? await resolve5(this.config.headers) : void 0,\n options.headers\n );\n if (isAgent) {\n return this.doStreamBackground({\n args,\n warnings,\n url,\n mergedHeaders,\n options,\n pollingTimeoutMs\n });\n }\n const body = { ...args, stream: true };\n const { responseHeaders, value: response } = await postJsonToApi5({\n url,\n headers: mergedHeaders,\n body,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler3(\n googleInteractionsEventSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const headerServiceTier = responseHeaders == null ? void 0 : responseHeaders[\"x-gemini-service-tier\"];\n const transform = buildGoogleInteractionsStreamTransform({\n warnings,\n generateId: (_a = this.config.generateId) != null ? _a : defaultGenerateId2,\n includeRawChunks: options.includeRawChunks,\n serviceTier: headerServiceTier\n });\n return {\n stream: response.pipeThrough(transform),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n /*\n * Drive the streaming surface for agent calls. Agents require\n * `background: true`, which is incompatible with `stream: true` on POST.\n *\n * Approach:\n * 1. POST `/interactions` with `background: true`. The response includes\n * the interaction id and an initial (usually non-terminal) status.\n * 2. If the POST status is already terminal (rare), synthesize a stream\n * from the polled outputs and we're done.\n * 3. Otherwise open `GET /interactions/{id}?stream=true` and pipe the\n * SSE events through `buildGoogleInteractionsStreamTransform` so the\n * consumer receives text deltas / thinking summaries / tool events as\n * they happen instead of all at once at the end.\n *\n * The SSE connection can drop while the agent idles between events\n * (`UND_ERR_BODY_TIMEOUT`); `streamGoogleInteractionEvents` handles the\n * reconnect-with-`last_event_id` loop transparently.\n */\n async doStreamBackground({\n args,\n warnings,\n url,\n mergedHeaders,\n options,\n pollingTimeoutMs\n }) {\n var _a, _b;\n const postResult = await postJsonToApi5({\n url,\n headers: mergedHeaders,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler6(\n googleInteractionsResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { responseHeaders: postHeaders, value: postResponse } = postResult;\n const interactionId = postResponse.id;\n if (interactionId == null || interactionId.length === 0) {\n throw new Error(\n \"google.interactions: background POST response did not include an interaction id; cannot stream the result.\"\n );\n }\n const headerServiceTier = postHeaders == null ? void 0 : postHeaders[\"x-gemini-service-tier\"];\n if (isTerminalStatus(postResponse.status)) {\n const synthesized = synthesizeGoogleInteractionsAgentStream({\n response: postResponse,\n warnings,\n generateId: (_a = this.config.generateId) != null ? _a : defaultGenerateId2,\n includeRawChunks: options.includeRawChunks,\n headerServiceTier\n });\n return {\n stream: synthesized,\n request: { body: args },\n response: { headers: postHeaders }\n };\n }\n void pollingTimeoutMs;\n const events = streamGoogleInteractionEvents({\n baseURL: this.config.baseURL,\n interactionId,\n headers: mergedHeaders,\n fetch: this.config.fetch,\n abortSignal: options.abortSignal\n });\n const transform = buildGoogleInteractionsStreamTransform({\n warnings,\n generateId: (_b = this.config.generateId) != null ? _b : defaultGenerateId2,\n includeRawChunks: options.includeRawChunks,\n serviceTier: headerServiceTier\n });\n return {\n stream: events.pipeThrough(transform),\n request: { body: args },\n response: { headers: postHeaders }\n };\n }\n};\nfunction pruneUndefined(obj) {\n const result = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value === void 0) continue;\n result[key] = value;\n }\n return result;\n}\n\n// src/google-provider.ts\nfunction createGoogleGenerativeAI(options = {}) {\n var _a, _b;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://generativelanguage.googleapis.com/v1beta\";\n const providerName = (_b = options.name) != null ? _b : \"google.generative-ai\";\n const getHeaders = () => withUserAgentSuffix2(\n {\n \"x-goog-api-key\": loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"GOOGLE_GENERATIVE_AI_API_KEY\",\n description: \"Google Generative AI\"\n }),\n ...options.headers\n },\n `ai-sdk/google/${VERSION}`\n );\n const createChatModel = (modelId) => {\n var _a2;\n return new GoogleGenerativeAILanguageModel(modelId, {\n provider: providerName,\n baseURL,\n headers: getHeaders,\n generateId: (_a2 = options.generateId) != null ? _a2 : generateId2,\n supportedUrls: () => ({\n \"*\": [\n // Google Generative Language \"files\" endpoint\n // e.g. https://generativelanguage.googleapis.com/v1beta/files/...\n new RegExp(`^${baseURL}/files/.*$`),\n // YouTube URLs (public or unlisted videos)\n new RegExp(\n `^https://(?:www\\\\.)?youtube\\\\.com/watch\\\\?v=[\\\\w-]+(?:&[\\\\w=&.-]*)?$`\n ),\n new RegExp(`^https://youtu\\\\.be/[\\\\w-]+(?:\\\\?[\\\\w=&.-]*)?$`)\n ]\n }),\n fetch: options.fetch\n });\n };\n const createEmbeddingModel = (modelId) => new GoogleGenerativeAIEmbeddingModel(modelId, {\n provider: providerName,\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createImageModel = (modelId, settings = {}) => new GoogleGenerativeAIImageModel(modelId, settings, {\n provider: providerName,\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createVideoModel = (modelId) => {\n var _a2;\n return new GoogleGenerativeAIVideoModel(modelId, {\n provider: providerName,\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n generateId: (_a2 = options.generateId) != null ? _a2 : generateId2\n });\n };\n const createInteractionsModel = (modelIdOrAgent) => {\n var _a2;\n return new GoogleInteractionsLanguageModel(\n modelIdOrAgent,\n {\n provider: `${providerName}.interactions`,\n baseURL,\n headers: getHeaders,\n generateId: (_a2 = options.generateId) != null ? _a2 : generateId2,\n fetch: options.fetch\n }\n );\n };\n const provider = function(modelId) {\n if (new.target) {\n throw new Error(\n \"The Google Generative AI model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId);\n };\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.generativeAI = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.video = createVideoModel;\n provider.videoModel = createVideoModel;\n provider.interactions = createInteractionsModel;\n provider.tools = googleTools;\n return provider;\n}\nvar google = createGoogleGenerativeAI();\nexport {\n VERSION,\n createGoogleGenerativeAI,\n google\n};\n//# sourceMappingURL=index.mjs.map"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";0VASA,SAAI,QAAiB,cAwBjB,GAAwB,EAC1B,IAAM,EACJ,EAAE,OAAO,CACP,MAAO,EAAE,OAAO,CACd,KAAM,EAAE,OAAO,EAAE,SAAS,EAC1B,QAAS,EAAE,OAAO,EAClB,OAAQ,EAAE,OAAO,CACnB,CAAC,CACH,CAAC,CACH,CACF,EACI,EAA8B,GAA+B,CAC/D,YAAa,GACb,eAAgB,CAAC,IAAS,EAAK,MAAM,OACvC,CAAC,EAQG,GAAmC,EAAG,MAAM,CAC9C,EAAG,OAAO,CAAE,KAAM,EAAG,OAAO,CAAE,CAAC,EAC/B,EAAG,OAAO,CACR,WAAY,EAAG,OAAO,CACpB,SAAU,EAAG,OAAO,EACpB,KAAM,EAAG,OAAO,CAClB,CAAC,CACH,CAAC,EACD,EAAG,OAAO,CACR,SAAU,EAAG,OAAO,CAClB,QAAS,EAAG,OAAO,EACnB,SAAU,EAAG,OAAO,CACtB,CAAC,CACH,CAAC,CACH,CAAC,EACG,GAA8B,EAChC,IAAM,EACJ,EAAG,OAAO,CAKR,qBAAsB,EAAG,OAAO,EAAE,SAAS,EAa3C,SAAU,EAAG,KAAK,CAChB,sBACA,iBACA,aACA,qBACA,kBACA,qBACA,oBACA,sBACF,CAAC,EAAE,SAAS,EAUZ,QAAS,EAAG,MAAM,EAAG,MAAM,EAAgC,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,CAC3F,CAAC,CACH,CACF,EAGI,GAAmC,KAAM,CAC3C,WAAW,CAAC,EAAS,EAAQ,CAC3B,KAAK,qBAAuB,KAC5B,KAAK,qBAAuB,KAC5B,KAAK,sBAAwB,GAC7B,KAAK,QAAU,EACf,KAAK,OAAS,KAEZ,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,cAEf,QAAO,EACX,SACA,UACA,cACA,mBACC,CACD,IAAM,EAAgB,MAAM,EAAqB,CAC/C,SAAU,SACV,kBACA,OAAQ,EACV,CAAC,EACD,GAAI,EAAO,OAAS,KAAK,qBACvB,MAAM,IAAI,GAAmC,CAC3C,SAAU,KAAK,SACf,QAAS,KAAK,QACd,qBAAsB,KAAK,qBAC3B,QACF,CAAC,EAEH,IAAM,EAAgB,EACpB,MAAM,EAAQ,KAAK,OAAO,OAAO,EACjC,CACF,EACM,EAAoB,GAAiB,KAAY,OAAI,EAAc,QACzE,GAAI,GAAqB,MAAQ,EAAkB,SAAW,EAAO,OACnE,MAAU,MACR,6CAA6C,EAAkB,4CAA4C,EAAO,UACpH,EAEF,GAAI,EAAO,SAAW,EAAG,CACvB,IAAM,EAAa,GAAqB,KAAY,OAAI,EAAkB,GACpE,EAAW,EAAO,GAAK,CAAC,CAAE,KAAM,EAAO,EAAG,CAAC,EAAI,CAAC,EAChD,EAAQ,GAAc,KAAO,CAAC,GAAG,EAAU,GAAG,CAAU,EAAI,CAAC,CAAE,KAAM,EAAO,EAAG,CAAC,GAEpF,gBAAiB,EACjB,MAAO,EACP,SAAU,GACR,MAAM,EAAc,CACtB,IAAK,GAAG,KAAK,OAAO,kBAAkB,KAAK,uBAC3C,QAAS,EACT,KAAM,CACJ,MAAO,UAAU,KAAK,UACtB,QAAS,CACP,OACF,EACA,qBAAsB,GAAiB,KAAY,OAAI,EAAc,qBACrE,SAAU,GAAiB,KAAY,OAAI,EAAc,QAC3D,EACA,sBAAuB,EACvB,0BAA2B,EACzB,EACF,EACA,cACA,MAAO,KAAK,OAAO,KACrB,CAAC,EACD,MAAO,CACL,SAAU,CAAC,EACX,WAAY,CAAC,EAAU,UAAU,MAAM,EACvC,MAAY,OACZ,SAAU,CAAE,QAAS,EAAkB,KAAM,CAAU,CACzD,EAEF,IACE,kBACA,MAAO,EACP,YACE,MAAM,EAAc,CACtB,IAAK,GAAG,KAAK,OAAO,kBAAkB,KAAK,6BAC3C,QAAS,EACT,KAAM,CACJ,SAAU,EAAO,IAAI,CAAC,EAAO,IAAU,CACrC,IAAM,EAAa,GAAqB,KAAY,OAAI,EAAkB,GACpE,EAAW,EAAQ,CAAC,CAAE,KAAM,CAAM,CAAC,EAAI,CAAC,EAC9C,MAAO,CACL,MAAO,UAAU,KAAK,UACtB,QAAS,CACP,KAAM,OACN,MAAO,GAAc,KAAO,CAAC,GAAG,EAAU,GAAG,CAAU,EAAI,CAAC,CAAE,KAAM,CAAM,CAAC,CAC7E,EACA,qBAAsB,GAAiB,KAAY,OAAI,EAAc,qBACrE,SAAU,GAAiB,KAAY,OAAI,EAAc,QAC3D,EACD,CACH,EACA,sBAAuB,EACvB,0BAA2B,EACzB,EACF,EACA,cACA,MAAO,KAAK,OAAO,KACrB,CAAC,EACD,MAAO,CACL,SAAU,CAAC,EACX,WAAY,EAAS,WAAW,IAAI,CAAC,IAAS,EAAK,MAAM,EACzD,MAAY,OACZ,SAAU,CAAE,QAAS,EAAiB,KAAM,CAAS,CACvD,EAEJ,EACI,GAAgD,EAClD,IAAM,EACJ,EAAG,OAAO,CACR,WAAY,EAAG,MAAM,EAAG,OAAO,CAAE,OAAQ,EAAG,MAAM,EAAG,OAAO,CAAC,CAAE,CAAC,CAAC,CACnE,CAAC,CACH,CACF,EACI,GAAkD,EACpD,IAAM,EACJ,EAAG,OAAO,CACR,UAAW,EAAG,OAAO,CAAE,OAAQ,EAAG,MAAM,EAAG,OAAO,CAAC,CAAE,CAAC,CACxD,CAAC,CACH,CACF,EAiBA,SAAS,EAA8B,CAAC,EAAO,CAC7C,IAAI,EAAI,EAAI,EAAI,EAChB,GAAI,GAAS,KACX,MAAO,CACL,YAAa,CACX,MAAY,OACZ,QAAc,OACd,UAAgB,OAChB,WAAiB,MACnB,EACA,aAAc,CACZ,MAAY,OACZ,KAAW,OACX,UAAgB,MAClB,EACA,IAAU,MACZ,EAEF,IAAM,GAAgB,EAAK,EAAM,mBAAqB,KAAO,EAAK,EAC5D,GAAoB,EAAK,EAAM,uBAAyB,KAAO,EAAK,EACpE,GAAuB,EAAK,EAAM,0BAA4B,KAAO,EAAK,EAC1E,GAAkB,EAAK,EAAM,qBAAuB,KAAO,EAAK,EACtE,MAAO,CACL,YAAa,CACX,MAAO,EACP,QAAS,EAAe,EACxB,UAAW,EACX,WAAiB,MACnB,EACA,aAAc,CACZ,MAAO,EAAmB,EAC1B,KAAM,EACN,UAAW,CACb,EACA,IAAK,CACP,EAIF,SAAS,CAAgC,CAAC,EAAY,EAAS,GAAM,CACnE,GAAI,GAAc,KAChB,OAEF,GAAI,GAAoB,CAAU,EAAG,CACnC,GAAI,EACF,OAEF,GAAI,OAAO,IAAe,UAAY,EAAW,YAC/C,MAAO,CAAE,KAAM,SAAU,YAAa,EAAW,WAAY,EAE/D,MAAO,CAAE,KAAM,QAAS,EAE1B,GAAI,OAAO,IAAe,UACxB,MAAO,CAAE,KAAM,UAAW,WAAY,CAAC,CAAE,EAE3C,IACE,OACA,cACA,WACA,aACA,QACA,QACA,QACA,QACA,SACA,MAAO,EACP,YACA,KAAM,GACJ,EACE,EAAS,CAAC,EAChB,GAAI,EAAa,EAAO,YAAc,EACtC,GAAI,EAAU,EAAO,SAAW,EAChC,GAAI,EAAQ,EAAO,OAAS,EAC5B,GAAI,IAAoB,OACtB,EAAO,KAAO,CAAC,CAAU,EAE3B,GAAI,EACF,GAAI,MAAM,QAAQ,CAAI,EAAG,CACvB,IAAM,EAAU,EAAK,SAAS,MAAM,EAC9B,EAAe,EAAK,OAAO,CAAC,IAAM,IAAM,MAAM,EACpD,GAAI,EAAa,SAAW,EAC1B,EAAO,KAAO,OAGd,QADA,EAAO,MAAQ,EAAa,IAAI,CAAC,KAAO,CAAE,KAAM,CAAE,EAAE,EAChD,EACF,EAAO,SAAW,GAItB,OAAO,KAAO,EAGlB,GAAI,IAAoB,OACtB,EAAO,KAAO,EAEhB,GAAI,GAAc,KAChB,EAAO,WAAa,OAAO,QAAQ,CAAU,EAAE,OAC7C,CAAC,GAAM,EAAK,KAAW,CAErB,OADA,EAAI,GAAO,EAAiC,EAAO,EAAK,EACjD,GAET,CAAC,CACH,EAEF,GAAI,EACF,EAAO,MAAQ,MAAM,QAAQ,CAAK,EAAI,EAAM,IAAI,CAAC,IAAS,EAAiC,EAAM,EAAK,CAAC,EAAI,EAAiC,EAAO,EAAK,EAE1J,GAAI,EACF,EAAO,MAAQ,EAAM,IACnB,CAAC,IAAS,EAAiC,EAAM,EAAK,CACxD,EAEF,GAAI,EACF,GAAI,EAAM,KACR,CAAC,IAAW,OAAO,IAAW,WAAa,GAAU,KAAY,OAAI,EAAO,QAAU,MACxF,EAAG,CACD,IAAM,EAAiB,EAAM,OAC3B,CAAC,IAAW,EAAE,OAAO,IAAW,WAAa,GAAU,KAAY,OAAI,EAAO,QAAU,OAC1F,EACA,GAAI,EAAe,SAAW,EAAG,CAC/B,IAAM,EAAY,EAChB,EAAe,GACf,EACF,EACA,GAAI,OAAO,IAAc,SACvB,EAAO,SAAW,GAClB,OAAO,OAAO,EAAQ,CAAS,EAGjC,OAAO,MAAQ,EAAe,IAC5B,CAAC,IAAS,EAAiC,EAAM,EAAK,CACxD,EACA,EAAO,SAAW,GAGpB,OAAO,MAAQ,EAAM,IACnB,CAAC,IAAS,EAAiC,EAAM,EAAK,CACxD,EAGJ,GAAI,EACF,EAAO,MAAQ,EAAM,IACnB,CAAC,IAAS,EAAiC,EAAM,EAAK,CACxD,EAEF,GAAI,IAAmB,OACrB,EAAO,UAAY,EAErB,OAAO,EAET,SAAS,EAAmB,CAAC,EAAY,CACvC,OAAO,GAAc,MAAQ,OAAO,IAAe,UAAY,EAAW,OAAS,WAAa,EAAW,YAAc,MAAQ,OAAO,KAAK,EAAW,UAAU,EAAE,SAAW,IAAM,CAAC,EAAW,qBAQnM,IAAI,GAAe,+BACnB,SAAS,EAAkB,CAAC,EAAO,CACjC,IAAM,EAAQ,GAAa,KAAK,CAAK,EACrC,GAAI,GAAS,KACX,OAEF,MAAO,CACL,UAAW,EAAM,GACjB,KAAM,EAAM,EACd,EAEF,SAAS,EAAwB,CAAC,EAAK,CACrC,IAAM,EAAgB,GAAmB,CAAG,EAC5C,GAAI,GAAiB,KACnB,OAEF,MAAO,CACL,WAAY,CACV,SAAU,EAAc,UACxB,KAAM,EAAc,IACtB,CACF,EAEF,SAAS,EAAqB,CAAC,EAAO,EAAU,EAAa,CAC3D,IAAM,EAAwB,CAAC,EACzB,EAAoB,CAAC,EAC3B,QAAW,KAAe,EACxB,OAAQ,EAAY,UACb,OAAQ,CACX,EAAkB,KAAK,EAAY,IAAI,EACvC,KACF,KACK,iBACA,YAAa,CAChB,EAAsB,KAAK,CACzB,WAAY,CACV,SAAU,EAAY,UACtB,KAAM,EAAY,IACpB,CACF,CAAC,EACD,KACF,KACK,gBACA,WAAY,CACf,IAAM,EAAuB,GAC3B,EAAY,GACd,EACA,GAAI,GAAwB,KAC1B,EAAsB,KAAK,CAAoB,EAE/C,OAAkB,KAAK,KAAK,UAAU,CAAW,CAAC,EAEpD,KACF,SACS,CACP,EAAkB,KAAK,KAAK,UAAU,CAAW,CAAC,EAClD,KACF,EAGJ,EAAM,KAAK,CACT,iBAAkB,CAChB,KAAM,EACN,SAAU,CACR,KAAM,EACN,QAAS,EAAkB,OAAS,EAAI,EAAkB,KAAK;AAAA,CAAI,EAAI,6BACzE,KACG,EAAsB,OAAS,EAAI,CAAE,MAAO,CAAsB,EAAI,CAAC,CAC5E,CACF,CAAC,EAEH,SAAS,EAA2B,CAAC,EAAO,EAAU,EAAa,CACjE,QAAW,KAAe,EACxB,OAAQ,EAAY,UACb,OACH,EAAM,KAAK,CACT,iBAAkB,CAChB,KAAM,EACN,SAAU,CACR,KAAM,EACN,QAAS,EAAY,IACvB,CACF,CACF,CAAC,EACD,UACG,aACH,EAAM,KACJ,CACE,WAAY,CACV,SAAU,OAAO,EAAY,SAAS,EACtC,KAAM,OAAO,EAAY,IAAI,CAC/B,CACF,EACA,CACE,KAAM,kEACR,CACF,EACA,cAEA,EAAM,KAAK,CAAE,KAAM,KAAK,UAAU,CAAW,CAAE,CAAC,EAChD,OAIR,SAAS,EAAmC,CAAC,EAAQ,EAAS,CAC5D,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAChC,IAAM,EAAyB,CAAC,EAC1B,EAAW,CAAC,EACd,EAAwB,GACtB,GAAgB,EAAK,GAAW,KAAY,OAAI,EAAQ,eAAiB,KAAO,EAAK,GACrF,GAAuB,EAAK,GAAW,KAAY,OAAI,EAAQ,sBAAwB,KAAO,EAAK,SACnG,GAAiC,EAAK,GAAW,KAAY,OAAI,EAAQ,gCAAkC,KAAO,EAAK,GAC7H,QAAa,OAAM,aAAa,EAC9B,OAAQ,OACD,SAAU,CACb,GAAI,CAAC,EACH,MAAM,IAAI,GAA8B,CACtC,cAAe,yEACjB,CAAC,EAEH,EAAuB,KAAK,CAAE,KAAM,CAAQ,CAAC,EAC7C,KACF,KACK,OAAQ,CACX,EAAwB,GACxB,IAAM,EAAQ,CAAC,EACf,QAAW,KAAQ,EACjB,OAAQ,EAAK,UACN,OAAQ,CACX,EAAM,KAAK,CAAE,KAAM,EAAK,IAAK,CAAC,EAC9B,KACF,KACK,OAAQ,CACX,IAAM,EAAY,EAAK,YAAc,UAAY,aAAe,EAAK,UACrE,EAAM,KACJ,EAAK,gBAAgB,IAAM,CACzB,SAAU,CACR,SAAU,EACV,QAAS,EAAK,KAAK,SAAS,CAC9B,CACF,EAAI,CACF,WAAY,CACV,SAAU,EACV,KAAM,GAAgB,EAAK,IAAI,CACjC,CACF,CACF,EACA,KACF,EAGJ,EAAS,KAAK,CAAE,KAAM,OAAQ,OAAM,CAAC,EACrC,KACF,KACK,YAAa,CA4EhB,GA3EA,EAAwB,GACxB,EAAS,KAAK,CACZ,KAAM,QACN,MAAO,EAAQ,IAAI,CAAC,IAAS,CAC3B,IAAI,EAAK,EAAK,EAAK,EACnB,IAAM,GAAgB,GAAO,EAAM,EAAK,kBAAoB,KAAY,OAAI,EAAI,KAAyB,KAAO,EAAM,IAAwB,UAAY,EAAM,EAAK,kBAAoB,KAAY,OAAI,EAAI,QAAU,EAAM,EAAK,kBAAoB,KAAY,OAAI,EAAI,OACpQ,GAAoB,GAAgB,KAAY,OAAI,EAAa,mBAAqB,KAAO,OAAO,EAAa,gBAAgB,EAAS,OAChJ,OAAQ,EAAK,UACN,OACH,OAAO,EAAK,KAAK,SAAW,EAAS,OAAI,CACvC,KAAM,EAAK,KACX,kBACF,MAEG,YACH,OAAO,EAAK,KAAK,SAAW,EAAS,OAAI,CACvC,KAAM,EAAK,KACX,QAAS,GACT,kBACF,MAEG,OAAQ,CACX,GAAI,EAAK,gBAAgB,IACvB,MAAM,IAAI,GAA8B,CACtC,cAAe,wDACjB,CAAC,EAEH,MAAO,CACL,WAAY,CACV,SAAU,EAAK,UACf,KAAM,GAAgB,EAAK,IAAI,CACjC,MACI,GAAgB,KAAY,OAAI,EAAa,WAAa,GAAO,CAAE,QAAS,EAAK,EAAI,CAAC,EAC1F,kBACF,CACF,KACK,YAAa,CAChB,IAAM,GAAoB,GAAgB,KAAY,OAAI,EAAa,mBAAqB,KAAO,OAAO,EAAa,gBAAgB,EAAS,OAC1I,GAAkB,GAAgB,KAAY,OAAI,EAAa,iBAAmB,KAAO,OAAO,EAAa,cAAc,EAAS,OAC1I,GAAI,GAAoB,EACtB,MAAO,CACL,SAAU,CACR,SAAU,EACV,KAAM,OAAO,EAAK,QAAU,SAAW,KAAK,MAAM,EAAK,KAAK,EAAI,EAAK,MACrE,GAAI,CACN,EACA,kBACF,EAEF,MAAO,CACL,aAAc,CACZ,KAAM,EAAK,SACX,KAAM,EAAK,KACb,EACA,kBACF,CACF,KACK,cAAe,CAClB,IAAM,GAAoB,GAAgB,KAAY,OAAI,EAAa,mBAAqB,KAAO,OAAO,EAAa,gBAAgB,EAAS,OAC1I,GAAkB,GAAgB,KAAY,OAAI,EAAa,iBAAmB,KAAO,OAAO,EAAa,cAAc,EAAS,OAC1I,GAAI,GAAoB,EACtB,MAAO,CACL,aAAc,CACZ,SAAU,EACV,SAAU,EAAK,OAAO,OAAS,OAAS,EAAK,OAAO,MAAQ,CAAC,EAC7D,GAAI,CACN,EACA,kBACF,EAEF,MACF,GAEH,EAAE,OAAO,CAAC,IAAS,IAAc,MAAC,CACrC,CAAC,EACG,EAAS,EAAS,OAAS,GAAG,MAAM,SAAW,EACjD,EAAS,IAAI,EAEf,KACF,KACK,OAAQ,CACX,EAAwB,GACxB,IAAM,EAAQ,CAAC,EACf,QAAW,KAAQ,EAAS,CAC1B,GAAI,EAAK,OAAS,yBAChB,SAEF,IAAM,GAAoB,GAAM,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,KAAyB,KAAO,EAAK,IAAwB,UAAY,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,QAAU,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,OAChQ,GAAoB,GAAoB,KAAY,OAAI,EAAiB,mBAAqB,KAAO,OAAO,EAAiB,gBAAgB,EAAS,OACtJ,GAAkB,GAAoB,KAAY,OAAI,EAAiB,iBAAmB,KAAO,OAAO,EAAiB,cAAc,EAAS,OACtJ,GAAI,GAAoB,EAAgB,CACtC,IAAM,GAA0B,GAAoB,KAAY,OAAI,EAAiB,mBAAqB,KAAO,OAAO,EAAiB,gBAAgB,EAAS,OAClK,GAAI,EAAS,OAAS,EAAG,CACvB,IAAM,EAAc,EAAS,EAAS,OAAS,GAC/C,GAAI,EAAY,OAAS,QAAS,CAChC,EAAY,MAAM,KAAK,CACrB,aAAc,CACZ,SAAU,EACV,SAAU,EAAK,OAAO,OAAS,OAAS,EAAK,OAAO,MAAQ,CAAC,EAC7D,GAAI,CACN,EACA,iBAAkB,CACpB,CAAC,EACD,WAIN,IAAM,EAAS,EAAK,OACpB,GAAI,EAAO,OAAS,UAClB,GAAI,EACF,GAAsB,EAAO,EAAK,SAAU,EAAO,KAAK,EAExD,QAA4B,EAAO,EAAK,SAAU,EAAO,KAAK,EAGhE,OAAM,KAAK,CACT,iBAAkB,CAChB,KAAM,EAAK,SACX,SAAU,CACR,KAAM,EAAK,SACX,QAAS,EAAO,OAAS,oBAAsB,EAAK,EAAO,SAAW,KAAO,EAAK,yBAA2B,EAAO,KACtH,CACF,CACF,CAAC,EAGL,EAAS,KAAK,CACZ,KAAM,OACN,OACF,CAAC,EACD,KACF,EAGJ,GAAI,GAAgB,EAAuB,OAAS,GAAK,EAAS,OAAS,GAAK,EAAS,GAAG,OAAS,OAAQ,CAC3G,IAAM,EAAa,EAAuB,IAAI,CAAC,IAAS,EAAK,IAAI,EAAE,KAAK;AAAA;AAAA,CAAM,EAC9E,EAAS,GAAG,MAAM,QAAQ,CAAE,KAAM,EAAa;AAAA;AAAA,CAAO,CAAC,EAEzD,MAAO,CACL,kBAAmB,EAAuB,OAAS,GAAK,CAAC,EAAe,CAAE,MAAO,CAAuB,EAAS,OACjH,UACF,EAIF,SAAS,EAAY,CAAC,EAAS,CAC7B,OAAO,EAAQ,SAAS,GAAG,EAAI,EAAU,UAAU,IASrD,IAAI,GAA6B,EAC/B,IAAM,EACJ,EAAG,OAAO,CACR,mBAAoB,EAAG,MAAM,EAAG,KAAK,CAAC,OAAQ,OAAO,CAAC,CAAC,EAAE,SAAS,EAClE,eAAgB,EAAG,OAAO,CACxB,eAAgB,EAAG,OAAO,EAAE,SAAS,EACrC,gBAAiB,EAAG,QAAQ,EAAE,SAAS,EAEvC,cAAe,EAAG,KAAK,CAAC,UAAW,MAAO,SAAU,MAAM,CAAC,EAAE,SAAS,CACxE,CAAC,EAAE,SAAS,EAMZ,cAAe,EAAG,OAAO,EAAE,SAAS,EASpC,kBAAmB,EAAG,QAAQ,EAAE,SAAS,EAIzC,eAAgB,EAAG,MACjB,EAAG,OAAO,CACR,SAAU,EAAG,KAAK,CAChB,4BACA,4BACA,kCACA,2BACA,kCACA,+BACF,CAAC,EACD,UAAW,EAAG,KAAK,CACjB,mCACA,sBACA,yBACA,kBACA,aACA,KACF,CAAC,CACH,CAAC,CACH,EAAE,SAAS,EACX,UAAW,EAAG,KAAK,CACjB,mCACA,sBACA,yBACA,kBACA,aACA,KACF,CAAC,EAAE,SAAS,EAMZ,eAAgB,EAAG,QAAQ,EAAE,SAAS,EAMtC,OAAQ,EAAG,OAAO,EAAG,OAAO,EAAG,EAAG,OAAO,CAAC,EAAE,SAAS,EAMrD,gBAAiB,EAAG,KAAK,CACvB,+BACA,uBACA,0BACA,uBACF,CAAC,EAAE,SAAS,EAMZ,YAAa,EAAG,OAAO,CACrB,YAAa,EAAG,KAAK,CACnB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,MACA,MACA,MACA,KACF,CAAC,EAAE,SAAS,EACZ,UAAW,EAAG,KAAK,CAAC,KAAM,KAAM,KAAM,KAAK,CAAC,EAAE,SAAS,CACzD,CAAC,EAAE,SAAS,EAOZ,gBAAiB,EAAG,OAAO,CACzB,OAAQ,EAAG,OAAO,CAChB,SAAU,EAAG,OAAO,EACpB,UAAW,EAAG,OAAO,CACvB,CAAC,EAAE,SAAS,CACd,CAAC,EAAE,SAAS,EAWZ,4BAA6B,EAAG,QAAQ,EAAE,SAAS,EAInD,YAAa,EAAG,KAAK,CAAC,WAAY,OAAQ,UAAU,CAAC,EAAE,SAAS,CAClE,CAAC,CACH,CACF,EACI,GAAuB,CACzB,SAAU,wBACV,KAAM,oBACN,SAAU,uBACZ,EAMA,SAAS,EAAY,EACnB,QACA,aACA,UACA,mBAAmB,IAClB,CACD,IAAI,EAAI,EACR,GAAS,GAAS,KAAY,OAAI,EAAM,QAAU,EAAa,OAC/D,IAAM,EAAe,CAAC,EAChB,EAAW,CACf,sBACA,2BACA,mBACF,EAAE,KAAK,CAAC,IAAO,IAAO,CAAO,EACvB,EAAmB,EAAQ,SAAS,UAAU,GAAK,EAAQ,SAAS,UAAU,GAAK,EAAQ,SAAS,aAAa,GAAK,EACtH,EAAmB,EAAQ,SAAS,UAAU,EAC9C,EAAqB,EAAQ,SAAS,YAAY,GAAK,EAAQ,SAAS,UAAU,EACxF,GAAI,GAAS,KACX,MAAO,CAAE,MAAY,OAAG,WAAiB,OAAG,cAAa,EAE3D,IAAM,EAAmB,EAAM,KAAK,CAAC,IAAS,EAAK,OAAS,UAAU,EAChE,EAAmB,EAAM,KAAK,CAAC,IAAS,EAAK,OAAS,UAAU,EACtE,GAAI,GAAoB,GAAoB,CAAC,EAC3C,EAAa,KAAK,CAChB,KAAM,cACN,QAAS,oDACX,CAAC,EAEH,GAAI,EAAkB,CACpB,IAAM,EAAe,CAAC,EAkGtB,GAjGsB,EAAM,OAAO,CAAC,IAAS,EAAK,OAAS,UAAU,EACvD,QAAQ,CAAC,IAAS,CAC9B,OAAQ,EAAK,QACN,uBACH,GAAI,EACF,EAAa,KAAK,CAAE,aAAc,IAAK,EAAK,IAAK,CAAE,CAAC,EAEpD,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,6CACX,CAAC,EAEH,UACG,+BACH,GAAI,EACF,EAAa,KAAK,CAAE,oBAAqB,CAAC,CAAE,CAAC,EAE7C,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,qDACX,CAAC,EAEH,UACG,qBACH,GAAI,EACF,EAAa,KAAK,CAAE,WAAY,CAAC,CAAE,CAAC,EAEpC,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,+EACX,CAAC,EAEH,UACG,wBACH,GAAI,EACF,EAAa,KAAK,CAAE,cAAe,CAAC,CAAE,CAAC,EAEvC,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,kFACX,CAAC,EAEH,UACG,qBACH,GAAI,EACF,EAAa,KAAK,CAAE,WAAY,IAAK,EAAK,IAAK,CAAE,CAAC,EAElD,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,oFACX,CAAC,EAEH,UACG,0BACH,GAAI,EACF,EAAa,KAAK,CAChB,UAAW,CACT,iBAAkB,CAChB,cAAe,CACb,WAAY,EAAK,KAAK,SACxB,EACA,iBAAkB,EAAK,KAAK,IAC9B,CACF,CACF,CAAC,EAED,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,6EACX,CAAC,EAEH,UACG,qBACH,GAAI,EACF,EAAa,KAAK,CAAE,WAAY,CAAC,CAAE,CAAC,EAEpC,OAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,kGACX,CAAC,EAEH,cAEA,EAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,IACzC,CAAC,EACD,OAEL,EACG,GAAoB,GAAoB,EAAa,OAAS,EAAG,CACnE,IAAM,EAAwB,CAAC,EAC/B,QAAW,KAAQ,EACjB,GAAI,EAAK,OAAS,WAChB,EAAsB,KAAK,CACzB,KAAM,EAAK,KACX,aAAc,EAAK,EAAK,cAAgB,KAAO,EAAK,GACpD,WAAY,EAAiC,EAAK,WAAW,CAC/D,CAAC,EAGL,IAAM,EAAqB,CACzB,sBAAuB,CAAE,KAAM,WAAY,KACxC,CAAC,GAAoB,CACtB,iCAAkC,EACpC,CACF,EACA,GAAI,GAAc,KAChB,OAAQ,EAAW,UACZ,OACH,UACG,OACH,EAAmB,sBAAwB,CAAE,KAAM,MAAO,EAC1D,UACG,WACH,EAAmB,sBAAwB,CAAE,KAAM,KAAM,EACzD,UACG,OACH,EAAmB,sBAAwB,CACzC,KAAM,MACN,qBAAsB,CAAC,EAAW,QAAQ,CAC5C,EACA,MAGN,MAAO,CACL,MAAO,CAAC,GAAG,EAAc,CAAE,qBAAsB,CAAsB,CAAC,EACxE,WAAY,EACZ,cACF,EAEF,MAAO,CACL,MAAO,EAAa,OAAS,EAAI,EAAoB,OACrD,WAAiB,OACjB,cACF,EAEF,IAAM,EAAuB,CAAC,EAC1B,EAAiB,GACrB,QAAW,KAAQ,EACjB,OAAQ,EAAK,UACN,WAMH,GALA,EAAqB,KAAK,CACxB,KAAM,EAAK,KACX,aAAc,EAAK,EAAK,cAAgB,KAAO,EAAK,GACpD,WAAY,EAAiC,EAAK,WAAW,CAC/D,CAAC,EACG,EAAK,SAAW,GAClB,EAAiB,GAEnB,cAEA,EAAa,KAAK,CAChB,KAAM,cACN,QAAS,iBAAiB,EAAK,MACjC,CAAC,EACD,MAGN,GAAI,GAAc,KAChB,MAAO,CACL,MAAO,CAAC,CAAE,sBAAqB,CAAC,EAChC,WAAY,EAAiB,CAAE,sBAAuB,CAAE,KAAM,WAAY,CAAE,EAAS,OACrF,cACF,EAEF,IAAM,EAAO,EAAW,KACxB,OAAQ,OACD,OACH,MAAO,CACL,MAAO,CAAC,CAAE,sBAAqB,CAAC,EAChC,WAAY,CACV,sBAAuB,CACrB,KAAM,EAAiB,YAAc,MACvC,CACF,EACA,cACF,MACG,OACH,MAAO,CACL,MAAO,CAAC,CAAE,sBAAqB,CAAC,EAChC,WAAY,CAAE,sBAAuB,CAAE,KAAM,MAAO,CAAE,EACtD,cACF,MACG,WACH,MAAO,CACL,MAAO,CAAC,CAAE,sBAAqB,CAAC,EAChC,WAAY,CACV,sBAAuB,CACrB,KAAM,EAAiB,YAAc,KACvC,CACF,EACA,cACF,MACG,OACH,MAAO,CACL,MAAO,CAAC,CAAE,sBAAqB,CAAC,EAChC,WAAY,CACV,sBAAuB,CACrB,KAAM,EAAiB,YAAc,MACrC,qBAAsB,CAAC,EAAW,QAAQ,CAC5C,CACF,EACA,cACF,UAGA,MAAM,IAAI,GAA+B,CACvC,cAAe,qBAFQ,GAGzB,CAAC,GAMP,IAAI,GAAwB,KAAM,CAChC,WAAW,EAAG,CACZ,KAAK,gBAAkB,CAAC,EACxB,KAAK,SAAW,GAKhB,KAAK,UAAY,CAAC,EAKlB,KAAK,WAAa,GAMpB,kBAAkB,CAAC,EAAa,CAC9B,IAAI,EAAQ,GACZ,QAAW,KAAO,EAAa,CAC7B,IAAM,EAAU,EAAI,SAAS,QAAQ,QAAS,EAAE,EAChD,GAAI,CAAC,EAAS,SACd,IAAM,EAAW,GAAU,CAAO,EAC5B,EAAgB,GAAe,KAAK,gBAAiB,CAAQ,EAEnE,GAD6B,EAAI,aAAe,MAAQ,IAAuB,OACrD,CACxB,IAAM,EAAU,KAAK,UAAU,EAAI,WAAW,EAAE,MAAM,EAAG,EAAE,EAC3D,GACE,KAAK,gBACL,EACA,EAAgB,EAAI,WACtB,EACA,GAAS,EACT,SAEF,IAAM,EAAW,GAAuB,CAAG,EAC3C,GAAI,GAAY,KAAM,SACtB,GAAe,KAAK,gBAAiB,EAAU,EAAS,KAAK,EAC7D,GAAS,KAAK,iBAAiB,EAAU,EAAK,EAAS,IAAI,EAG7D,OADA,KAAK,UAAY,EACV,CACL,YAAa,KAAK,gBAClB,UAAW,CACb,EAMF,QAAQ,EAAG,CACT,IAAM,EAAY,KAAK,UAAU,KAAK,eAAe,EAC/C,EAAe,EAAU,MAAM,KAAK,SAAS,MAAM,EACzD,MAAO,CAAE,UAAW,EAAW,cAAa,EAM9C,UAAU,EAAG,CACX,GAAI,KAAK,UAAU,SAAW,EAE5B,OADA,KAAK,UAAU,KAAK,CAAE,QAAS,GAAI,QAAS,GAAO,WAAY,CAAE,CAAC,EAC3D,IAET,MAAO,GAST,gBAAgB,CAAC,EAAgB,EAAK,EAAW,CAC/C,IAAI,EAAW,GACf,GAAI,KAAK,WACP,GAAY,IACZ,KAAK,WAAa,GAEpB,GAAY,KAAK,WAAW,EAC5B,IAAM,EAA0B,EAAe,MAAM,EAAG,EAAE,EACpD,EAAc,EAAe,EAAe,OAAS,GACrD,EAAc,KAAK,qBAAqB,CAAuB,EAIrE,OAHA,GAAY,KAAK,YAAY,CAAW,EACxC,GAAY,KAAK,WAAW,EAAyB,CAAW,EAChE,GAAY,KAAK,SAAS,EAAa,EAAK,CAAS,EAC9C,EAST,oBAAoB,CAAC,EAAiB,CACpC,IAAM,EAAW,KAAK,IACpB,KAAK,UAAU,OAAS,EACxB,EAAgB,MAClB,EACI,EAAS,EACb,QAAS,EAAI,EAAG,EAAI,EAAU,IAC5B,GAAI,KAAK,UAAU,EAAI,GAAG,UAAY,EAAgB,GACpD,IAEA,WAGJ,OAAO,EAAS,EAQlB,WAAW,CAAC,EAAa,CACvB,IAAI,EAAW,GACf,MAAO,KAAK,UAAU,OAAS,EAAa,CAC1C,IAAM,EAAQ,KAAK,UAAU,IAAI,EACjC,GAAY,EAAM,QAAU,IAAM,IAEpC,OAAO,EAUT,UAAU,CAAC,EAAiB,EAAa,CACvC,IAAI,EAAW,GACT,EAAW,KAAK,UAAU,OAAS,EACzC,QAAS,EAAI,EAAU,EAAI,EAAgB,OAAQ,IAAK,CACtD,IAAM,EAAM,EAAgB,GACtB,EAAc,KAAK,UAAU,KAAK,UAAU,OAAS,GAC3D,GAAI,EAAY,WAAa,EAC3B,GAAY,IAGd,GADA,EAAY,aACR,OAAO,IAAQ,SACjB,GAAY,GAAG,KAAK,UAAU,CAAG,KAGnC,IAAM,EAAU,OADC,EAAI,EAAI,EAAgB,OAAS,EAAgB,EAAI,GAAK,KACvC,SACpC,GAAY,EAAU,IAAM,IAC5B,KAAK,UAAU,KAAK,CAAE,QAAS,EAAK,UAAS,WAAY,CAAE,CAAC,EAE9D,OAAO,EAQT,QAAQ,CAAC,EAAa,EAAK,EAAW,CACpC,IAAI,EAAW,GACT,EAAY,KAAK,UAAU,KAAK,UAAU,OAAS,GACzD,GAAI,EAAU,WAAa,EACzB,GAAY,IAGd,GADA,EAAU,aACN,OAAO,IAAgB,SACzB,GAAY,GAAG,KAAK,UAAU,CAAW,KAE3C,GAAI,EAAI,aAAe,MAAQ,EAAI,aACjC,GAAY,EAAU,MAAM,EAAG,EAAE,EACjC,KAAK,WAAa,GAElB,QAAY,EAEd,OAAO,EAEX,EACA,SAAS,EAAS,CAAC,EAAS,CAC1B,IAAM,EAAW,CAAC,EAClB,QAAW,KAAQ,EAAQ,MAAM,GAAG,EAAG,CACrC,IAAM,EAAa,EAAK,QAAQ,GAAG,EACnC,GAAI,IAAe,GACjB,EAAS,KAAK,CAAI,EACb,KACL,GAAI,EAAa,EAAG,EAAS,KAAK,EAAK,MAAM,EAAG,CAAU,CAAC,EAC3D,QAAW,KAAK,EAAK,SAAS,YAAY,EACxC,EAAS,KAAK,SAAS,EAAE,GAAI,EAAE,CAAC,GAItC,OAAO,EAET,SAAS,EAAc,CAAC,EAAK,EAAU,CACrC,IAAI,EAAU,EACd,QAAW,KAAO,EAAU,CAC1B,GAAI,GAAW,MAAQ,OAAO,IAAY,SAAU,OACpD,EAAU,EAAQ,GAEpB,OAAO,EAET,SAAS,EAAc,CAAC,EAAK,EAAU,EAAO,CAC5C,IAAI,EAAU,EACd,QAAS,EAAI,EAAG,EAAI,EAAS,OAAS,EAAG,IAAK,CAC5C,IAAM,EAAM,EAAS,GACf,EAAU,EAAS,EAAI,GAC7B,GAAI,EAAQ,IAAQ,KAClB,EAAQ,GAAO,OAAO,IAAY,SAAW,CAAC,EAAI,CAAC,EAErD,EAAU,EAAQ,GAEpB,EAAQ,EAAS,EAAS,OAAS,IAAM,EAE3C,SAAS,EAAsB,CAAC,EAAK,CACnC,IAAI,EAAI,EACR,IAAM,GAAS,GAAM,EAAK,EAAI,cAAgB,KAAO,EAAK,EAAI,cAAgB,KAAO,EAAK,EAAI,UAC9F,GAAI,GAAS,KAAM,MAAO,CAAE,QAAO,KAAM,KAAK,UAAU,CAAK,CAAE,EAC/D,GAAI,cAAe,EAAK,MAAO,CAAE,MAAO,KAAM,KAAM,MAAO,EAC3D,OAIF,SAAS,EAAiC,EACxC,eACA,gBACC,CACD,OAAQ,OACD,OACH,OAAO,EAAe,aAAe,WAClC,aACH,MAAO,aACJ,mBACA,iBACA,aACA,gBACA,yBACA,OACH,MAAO,qBACJ,0BACH,MAAO,YACJ,gCACA,gBAEH,MAAO,SAKb,IAAI,GAAkC,KAAM,CAC1C,WAAW,CAAC,EAAS,EAAQ,CAC3B,KAAK,qBAAuB,KAC5B,IAAI,EACJ,KAAK,QAAU,EACf,KAAK,OAAS,EACd,KAAK,YAAc,EAAK,EAAO,aAAe,KAAO,EAAK,KAExD,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,YAEjB,cAAa,EAAG,CAClB,IAAI,EAAI,EAAI,EACZ,OAAQ,GAAM,GAAM,EAAK,KAAK,QAAQ,gBAAkB,KAAY,OAAI,EAAG,KAAK,CAAE,IAAM,KAAO,EAAK,CAAC,OAEjG,QAAO,EACX,SACA,kBACA,cACA,OACA,OACA,mBACA,kBACA,gBACA,iBACA,OACA,QACA,aACA,oBACG,cAAc,IAAU,CAAC,EAAG,CAC/B,IAAI,EAAI,EACR,IAAM,EAAW,CAAC,EACZ,EAAsB,KAAK,OAAO,SAAS,SAAS,QAAQ,EAAI,SAAW,SAC7E,EAAgB,MAAM,EAAsB,CAC9C,SAAU,EACV,kBACA,OAAQ,EACV,CAAC,EACD,GAAI,GAAiB,MAAQ,IAAwB,SACnD,EAAgB,MAAM,EAAsB,CAC1C,SAAU,SACV,kBACA,OAAQ,EACV,CAAC,EAEH,IAAM,EAAmB,KAAK,OAAO,SAAS,WAAW,gBAAgB,EACzE,IAAK,GAAS,KAAY,OAAI,EAAM,KAClC,CAAC,IAAS,EAAK,OAAS,YAAc,EAAK,KAAO,yBACpD,IAAM,CAAC,EACL,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,2KAA2K,KAAK,OAAO,YAClM,CAAC,EAEH,IAAK,GAAiB,KAAY,OAAI,EAAc,8BAAgC,CAAC,EACnF,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,8HAA8H,KAAK,OAAO,oHACrJ,CAAC,EAEH,IAAI,EAAuB,GAAiB,KAAY,OAAI,EAAc,YAC1E,IAAK,GAAiB,KAAY,OAAI,EAAc,cAAgB,EAClE,EAAuB,GAAqB,EAAc,aAE5D,IAAM,EAAe,KAAK,QAAQ,YAAY,EAAE,WAAW,QAAQ,EAC7D,EAAgC,KAAK,QAAQ,WAAW,UAAU,GAChE,WAAU,qBAAsB,GACtC,EACA,CACE,eACA,sBACA,+BACF,CACF,GAEE,MAAO,EACP,WAAY,EACZ,gBACE,GAAa,CACf,QACA,aACA,QAAS,KAAK,QACd,kBACF,CAAC,EACK,EAA8B,GAAe,GAAoB,EAAK,GAAiB,KAAY,OAAI,EAAc,8BAAgC,KAAO,EAAK,GAAa,OAC9K,EAAa,GAAoB,IAAgC,GAAiB,KAAY,OAAI,EAAc,iBAAmB,IACpI,KACA,GAA+B,CAChC,sBAAuB,IAClB,GAAoB,KAAY,OAAI,EAAiB,sBACxD,4BAA6B,EAC/B,CACF,MACI,GAAiB,KAAY,OAAI,EAAc,kBAAoB,CACrE,gBAAiB,EAAc,eACjC,CACF,EAAS,OACT,MAAO,CACL,KAAM,CACJ,iBAAkB,CAEhB,kBACA,cACA,OACA,OACA,mBACA,kBACA,gBACA,OAEA,kBAAmB,GAAkB,KAAY,OAAI,EAAe,QAAU,OAAS,mBAA0B,OACjH,gBAAiB,GAAkB,KAAY,OAAI,EAAe,QAAU,QAAU,EAAe,QAAU,QAG7G,EAAK,GAAiB,KAAY,OAAI,EAAc,oBAAsB,KAAO,EAAK,IAAQ,EAAiC,EAAe,MAAM,EAAS,WAC3J,GAAiB,KAAY,OAAI,EAAc,iBAAmB,CACpE,eAAgB,EAAc,cAChC,EAEA,mBAAoB,GAAiB,KAAY,OAAI,EAAc,mBACnE,eAAgB,GAAiB,KAAY,OAAI,EAAc,mBAC3D,GAAiB,KAAY,OAAI,EAAc,kBAAoB,CACrE,gBAAiB,EAAc,eACjC,MACI,GAAiB,KAAY,OAAI,EAAc,cAAgB,CACjE,YAAa,EAAc,WAC7B,CACF,EACA,WACA,kBAAmB,EAAoB,OAAI,EAC3C,eAAgB,GAAiB,KAAY,OAAI,EAAc,eAC/D,MAAO,EACP,aACA,cAAe,GAAiB,KAAY,OAAI,EAAc,cAC9D,OAAQ,GAAiB,KAAY,OAAI,EAAc,OACvD,YAAa,CACf,EACA,SAAU,CAAC,GAAG,EAAU,GAAG,CAAY,EACvC,qBACF,OAEI,WAAU,CAAC,EAAS,CACxB,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EACpE,IAAQ,OAAM,WAAU,uBAAwB,MAAM,KAAK,QAAQ,CAAO,EACpE,EAAgB,EACpB,MAAM,EAAS,KAAK,OAAO,OAAO,EAClC,EAAQ,OACV,GAEE,kBACA,MAAO,EACP,SAAU,GACR,MAAM,EAAe,CACvB,IAAK,GAAG,KAAK,OAAO,WAAW,GAC7B,KAAK,OACP,oBACA,QAAS,EACT,KAAM,EACN,sBAAuB,EACvB,0BAA2B,EAA2B,EAAc,EACpE,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACK,EAAY,EAAS,WAAW,GAChC,EAAU,CAAC,EACX,GAAS,GAAM,EAAK,EAAU,UAAY,KAAY,OAAI,EAAG,QAAU,KAAO,EAAK,CAAC,EACpF,EAAgB,EAAS,cAC3B,EACA,EACJ,QAAW,KAAQ,EACjB,GAAI,mBAAoB,KAAU,EAAK,EAAK,iBAAmB,KAAY,OAAI,EAAG,MAAO,CACvF,IAAM,EAAa,KAAK,OAAO,WAAW,EAC1C,EAA8B,EAC9B,EAAQ,KAAK,CACX,KAAM,YACN,aACA,SAAU,iBACV,MAAO,KAAK,UAAU,EAAK,cAAc,EACzC,iBAAkB,EACpB,CAAC,EACI,QAAI,wBAAyB,GAAQ,EAAK,oBAC/C,EAAQ,KAAK,CACX,KAAM,cAEN,WAAY,EACZ,SAAU,iBACV,OAAQ,CACN,QAAS,EAAK,oBAAoB,QAClC,QAAS,EAAK,EAAK,oBAAoB,SAAW,KAAO,EAAK,EAChE,CACF,CAAC,EACD,EAAmC,OAC9B,QAAI,SAAU,GAAQ,EAAK,MAAQ,KAAM,CAC9C,IAAM,EAA2B,EAAK,iBAAmB,EACtD,GAAsB,CACrB,iBAAkB,EAAK,gBACzB,CACF,EAAS,OACT,GAAI,EAAK,KAAK,SAAW,GACvB,GAAI,GAA4B,MAAQ,EAAQ,OAAS,EAAG,CAC1D,IAAM,EAAc,EAAQ,EAAQ,OAAS,GAC7C,EAAY,iBAAmB,GAGjC,OAAQ,KAAK,CACX,KAAM,EAAK,UAAY,GAAO,YAAc,OAC5C,KAAM,EAAK,KACX,iBAAkB,CACpB,CAAC,EAEE,QAAI,iBAAkB,GAAQ,EAAK,aAAa,MAAQ,KAC7D,EAAQ,KAAK,CACX,KAAM,YACN,WAAY,KAAK,OAAO,WAAW,EACnC,SAAU,EAAK,aAAa,KAC5B,MAAO,KAAK,WAAW,EAAK,EAAK,aAAa,OAAS,KAAO,EAAK,CAAC,CAAC,EACrE,iBAAkB,EAAK,iBAAmB,EACvC,GAAsB,CACrB,iBAAkB,EAAK,gBACzB,CACF,EAAS,MACX,CAAC,EACI,QAAI,eAAgB,EAAM,CAC/B,IAAM,EAAa,EAAK,UAAY,GAC9B,EAAsB,CAAC,CAAC,EAAK,iBACnC,EAAQ,KAAK,CACX,KAAM,OACN,KAAM,EAAK,WAAW,KACtB,UAAW,EAAK,WAAW,SAC3B,iBAAkB,GAAc,EAAsB,EACnD,GAAsB,IAClB,EAAa,CAAE,QAAS,EAAK,EAAI,CAAC,KAClC,EAAsB,CAAE,iBAAkB,EAAK,gBAAiB,EAAI,CAAC,CAC1E,CACF,EAAS,MACX,CAAC,EACI,QAAI,aAAc,GAAQ,EAAK,SAAU,CAC9C,IAAM,GAAc,EAAK,EAAK,SAAS,KAAO,KAAO,EAAK,KAAK,OAAO,WAAW,EACjF,EAAuB,EACvB,EAAQ,KAAK,CACX,KAAM,YACN,aACA,SAAU,UAAU,EAAK,SAAS,WAClC,MAAO,KAAK,WAAW,EAAK,EAAK,SAAS,OAAS,KAAO,EAAK,CAAC,CAAC,EACjE,iBAAkB,GAClB,QAAS,GACT,iBAAkB,EAAK,iBAAmB,EACvC,GAAsB,CACrB,iBAAkB,EAAK,iBACvB,iBAAkB,EAClB,eAAgB,EAAK,SAAS,QAChC,CACF,EAAI,EACD,GAAsB,CACrB,iBAAkB,EAClB,eAAgB,EAAK,SAAS,QAChC,CACF,CACF,CAAC,EACI,QAAI,iBAAkB,GAAQ,EAAK,aAAc,CACtD,IAAM,GAAsB,EAAK,GAAwB,KAAO,EAAuB,EAAK,aAAa,KAAO,KAAO,EAAK,KAAK,OAAO,WAAW,EACnJ,EAAQ,KAAK,CACX,KAAM,cACN,WAAY,EACZ,SAAU,UAAU,EAAK,aAAa,WACtC,QAAS,EAAK,EAAK,aAAa,WAAa,KAAO,EAAK,CAAC,EAC1D,iBAAkB,EAAK,iBAAmB,EACvC,GAAsB,CACrB,iBAAkB,EAAK,iBACvB,iBAAkB,EAClB,eAAgB,EAAK,aAAa,QACpC,CACF,EAAI,EACD,GAAsB,CACrB,iBAAkB,EAClB,eAAgB,EAAK,aAAa,QACpC,CACF,CACF,CAAC,EACD,EAA4B,OAGhC,IAAM,IAAW,EAAK,GAAe,CACnC,kBAAmB,EAAU,kBAC7B,WAAY,KAAK,OAAO,UAC1B,CAAC,IAAM,KAAO,EAAK,CAAC,EACpB,QAAW,KAAU,GACnB,EAAQ,KAAK,CAAM,EAErB,MAAO,CACL,UACA,aAAc,CACZ,QAAS,GAAkC,CACzC,aAAc,EAAU,aAExB,aAAc,EAAQ,KACpB,CAAC,IAAS,EAAK,OAAS,aAAe,CAAC,EAAK,gBAC/C,CACF,CAAC,EACD,KAAM,EAAK,EAAU,eAAiB,KAAO,EAAU,MACzD,EACA,MAAO,GAA+B,CAAa,EACnD,WACA,iBAAkB,EACf,GAAsB,CACrB,gBAAiB,EAAK,EAAS,iBAAmB,KAAO,EAAK,KAC9D,mBAAoB,EAAK,EAAU,oBAAsB,KAAO,EAAK,KACrE,oBAAqB,EAAK,EAAU,qBAAuB,KAAO,EAAK,KACvE,eAAgB,EAAK,EAAU,gBAAkB,KAAO,EAAK,KAC7D,cAAe,GAAiB,KAAO,EAAgB,KACvD,eAAgB,EAAK,EAAU,gBAAkB,KAAO,EAAK,KAC7D,aAAc,EAAK,EAAS,cAAgB,KAAO,EAAK,IAC1D,CACF,EACA,QAAS,CAAE,KAAM,CAAK,EACtB,SAAU,CAER,QAAS,EACT,KAAM,CACR,CACF,OAEI,SAAQ,CAAC,EAAS,CACtB,IAAQ,OAAM,WAAU,uBAAwB,MAAM,KAAK,QACzD,EACA,CAAE,YAAa,EAAK,CACtB,EACM,EAAU,EACd,MAAM,EAAS,KAAK,OAAO,OAAO,EAClC,EAAQ,OACV,GACQ,kBAAiB,MAAO,GAAa,MAAM,EAAe,CAChE,IAAK,GAAG,KAAK,OAAO,WAAW,GAC7B,KAAK,OACP,kCACA,UACA,KAAM,EACN,sBAAuB,EACvB,0BAA2B,GAAiC,EAAW,EACvE,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACG,EAAe,CACjB,QAAS,QACT,IAAU,MACZ,EACI,EAAa,OACb,EAAwB,OACxB,EAAwB,KACxB,EAAyB,KACzB,EAAc,KACZ,EAAc,KAAK,OAAO,WAC5B,EAAe,GACf,EAAqB,KACrB,EAA0B,KAC1B,EAAe,EACb,EAAoC,IAAI,IAC1C,EACA,EACE,EAA2B,CAAC,EAClC,MAAO,CACL,OAAQ,EAAS,YACf,IAAI,gBAAgB,CAClB,KAAK,CAAC,EAAY,CAChB,EAAW,QAAQ,CAAE,KAAM,eAAgB,UAAS,CAAC,GAEvD,SAAS,CAAC,EAAO,EAAY,CAC3B,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GAAI,EAAI,EAAI,EAAI,EAChD,GAAI,EAAQ,iBACV,EAAW,QAAQ,CAAE,KAAM,MAAO,SAAU,EAAM,QAAS,CAAC,EAE9D,GAAI,CAAC,EAAM,QAAS,CAClB,EAAW,QAAQ,CAAE,KAAM,QAAS,MAAO,EAAM,KAAM,CAAC,EACxD,OAEF,IAAM,EAAQ,EAAM,MACd,EAAgB,EAAM,cAC5B,GAAI,GAAiB,KACnB,EAAQ,EAEV,GAAI,EAAM,aAAe,KACvB,EAAc,EAAM,YAEtB,IAAM,GAAa,EAAK,EAAM,aAAe,KAAY,OAAI,EAAG,GAChE,GAAI,GAAa,KACf,OAEF,IAAM,GAAU,EAAU,QAC1B,GAAI,EAAU,mBAAqB,KACjC,EAAwB,EAAU,kBAEpC,GAAI,EAAU,oBAAsB,KAClC,EAAyB,EAAU,mBAErC,IAAM,GAAU,GAAe,CAC7B,kBAAmB,EAAU,kBAC7B,WAAY,CACd,CAAC,EACD,GAAI,IAAW,MACb,QAAW,MAAU,GACnB,GAAI,GAAO,aAAe,OAAS,CAAC,EAAkB,IAAI,GAAO,GAAG,EAClE,EAAkB,IAAI,GAAO,GAAG,EAChC,EAAW,QAAQ,EAAM,EAI/B,GAAI,IAAW,KAAM,CACnB,IAAM,IAAS,EAAK,GAAQ,QAAU,KAAO,EAAK,CAAC,EACnD,QAAW,KAAQ,GACjB,GAAI,mBAAoB,KAAU,EAAK,EAAK,iBAAmB,KAAY,OAAI,EAAG,MAAO,CACvF,IAAM,EAAa,EAAY,EAC/B,EAA8B,EAC9B,EAAW,QAAQ,CACjB,KAAM,YACN,aACA,SAAU,iBACV,MAAO,KAAK,UAAU,EAAK,cAAc,EACzC,iBAAkB,EACpB,CAAC,EACI,QAAI,wBAAyB,GAAQ,EAAK,oBAAqB,CACpE,IAAM,EAAa,EACnB,GAAI,EACF,EAAW,QAAQ,CACjB,KAAM,cACN,aACA,SAAU,iBACV,OAAQ,CACN,QAAS,EAAK,oBAAoB,QAClC,QAAS,EAAK,EAAK,oBAAoB,SAAW,KAAO,EAAK,EAChE,CACF,CAAC,EACD,EAAmC,OAEhC,QAAI,SAAU,GAAQ,EAAK,MAAQ,KAAM,CAC9C,IAAM,EAA2B,EAAK,iBAAmB,EACtD,GAAsB,CACrB,iBAAkB,EAAK,gBACzB,CACF,EAAS,OACT,GAAI,EAAK,KAAK,SAAW,GACvB,GAAI,GAA4B,MAAQ,IAAuB,KAC7D,EAAW,QAAQ,CACjB,KAAM,aACN,GAAI,EACJ,MAAO,GACP,iBAAkB,CACpB,CAAC,EAEE,QAAI,EAAK,UAAY,GAAM,CAChC,GAAI,IAAuB,KACzB,EAAW,QAAQ,CACjB,KAAM,WACN,GAAI,CACN,CAAC,EACD,EAAqB,KAEvB,GAAI,IAA4B,KAC9B,EAA0B,OAAO,GAAc,EAC/C,EAAW,QAAQ,CACjB,KAAM,kBACN,GAAI,EACJ,iBAAkB,CACpB,CAAC,EAEH,EAAW,QAAQ,CACjB,KAAM,kBACN,GAAI,EACJ,MAAO,EAAK,KACZ,iBAAkB,CACpB,CAAC,EACI,KACL,GAAI,IAA4B,KAC9B,EAAW,QAAQ,CACjB,KAAM,gBACN,GAAI,CACN,CAAC,EACD,EAA0B,KAE5B,GAAI,IAAuB,KACzB,EAAqB,OAAO,GAAc,EAC1C,EAAW,QAAQ,CACjB,KAAM,aACN,GAAI,EACJ,iBAAkB,CACpB,CAAC,EAEH,EAAW,QAAQ,CACjB,KAAM,aACN,GAAI,EACJ,MAAO,EAAK,KACZ,iBAAkB,CACpB,CAAC,GAEE,QAAI,eAAgB,EAAM,CAC/B,GAAI,IAAuB,KACzB,EAAW,QAAQ,CACjB,KAAM,WACN,GAAI,CACN,CAAC,EACD,EAAqB,KAEvB,GAAI,IAA4B,KAC9B,EAAW,QAAQ,CACjB,KAAM,gBACN,GAAI,CACN,CAAC,EACD,EAA0B,KAE5B,IAAM,EAAa,EAAK,UAAY,GAC9B,GAAsB,CAAC,CAAC,EAAK,iBAC7B,GAAW,GAAc,GAAsB,EAClD,GAAsB,IAClB,EAAa,CAAE,QAAS,EAAK,EAAI,CAAC,KAClC,GAAsB,CAAE,iBAAkB,EAAK,gBAAiB,EAAI,CAAC,CAC1E,CACF,EAAS,OACT,EAAW,QAAQ,CACjB,KAAM,OACN,UAAW,EAAK,WAAW,SAC3B,KAAM,EAAK,WAAW,KACtB,iBAAkB,EACpB,CAAC,EACI,QAAI,aAAc,GAAQ,EAAK,SAAU,CAC9C,IAAM,GAAc,EAAK,EAAK,SAAS,KAAO,KAAO,EAAK,EAAY,EACtE,EAAuB,EACvB,IAAM,GAAa,EAChB,GAAsB,IAClB,EAAK,iBAAmB,CAAE,iBAAkB,EAAK,gBAAiB,EAAI,CAAC,EAC1E,iBAAkB,EAClB,eAAgB,EAAK,SAAS,QAChC,CACF,EACA,EAAW,QAAQ,CACjB,KAAM,YACN,aACA,SAAU,UAAU,EAAK,SAAS,WAClC,MAAO,KAAK,WAAW,EAAK,EAAK,SAAS,OAAS,KAAO,EAAK,CAAC,CAAC,EACjE,iBAAkB,GAClB,QAAS,GACT,iBAAkB,EACpB,CAAC,EACI,QAAI,iBAAkB,GAAQ,EAAK,aAAc,CACtD,IAAM,GAAsB,EAAK,GAAwB,KAAO,EAAuB,EAAK,aAAa,KAAO,KAAO,EAAK,EAAY,EAClI,GAAa,EAChB,GAAsB,IAClB,EAAK,iBAAmB,CAAE,iBAAkB,EAAK,gBAAiB,EAAI,CAAC,EAC1E,iBAAkB,EAClB,eAAgB,EAAK,aAAa,QACpC,CACF,EACA,EAAW,QAAQ,CACjB,KAAM,cACN,WAAY,EACZ,SAAU,UAAU,EAAK,aAAa,WACtC,QAAS,GAAK,EAAK,aAAa,WAAa,KAAO,GAAK,CAAC,EAC1D,iBAAkB,EACpB,CAAC,EACD,EAA4B,OAGhC,QAAW,KAAQ,GAAO,CACxB,GAAI,EAAE,iBAAkB,GAAO,SAC/B,IAAM,EAAe,EAAK,iBAAmB,EAC1C,GAAsB,CACrB,iBAAkB,EAAK,gBACzB,CACF,EAAS,OACH,GAAmB,EAAK,aAAa,aAAe,MAAQ,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,eAAiB,GACjI,GAAkB,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,aAAe,MAAQ,EAAK,aAAa,cAAgB,KACjK,GAAiB,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,aAAe,KACtH,GAAuB,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,aAAe,MAAQ,EAAK,aAAa,eAAiB,GAC7K,GAAI,IACF,GAAI,EAAK,aAAa,MAAQ,MAAQ,EAAK,aAAa,eAAiB,GAAM,CAC7E,IAAM,EAAa,EAAY,EACzB,EAAc,IAAI,GAaxB,GAZA,EAAyB,KAAK,CAC5B,aACA,SAAU,EAAK,aAAa,KAC5B,cACA,iBAAkB,CACpB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,SAAU,EAAK,aAAa,KAC5B,iBAAkB,CACpB,CAAC,EACG,EAAK,aAAa,aAAe,KAAM,CACzC,IAAQ,cAAc,EAAY,mBAChC,EAAK,aAAa,WACpB,EACA,GAAI,GAAU,OAAS,EACrB,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,MAAO,GACP,iBAAkB,CACpB,CAAC,GAGA,QAAI,EAAK,aAAa,aAAe,MAAQ,EAAyB,OAAS,EAAG,CACvF,IAAM,EAAS,EAAyB,EAAyB,OAAS,IAClE,aAAc,EAAO,YAAY,mBACvC,EAAK,aAAa,WACpB,EACA,GAAI,EAAU,OAAS,EACrB,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAO,WACX,MAAO,EACP,iBAAkB,CACpB,CAAC,GAGA,QAAI,IAAmB,EAAyB,OAAS,EAAG,CACjE,IAAM,EAAS,EAAyB,IAAI,GACpC,YAAW,iBAAiB,EAAO,YAAY,SAAS,EAChE,GAAI,GAAa,OAAS,EACxB,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAO,WACX,MAAO,GACP,iBAAkB,EAAO,gBAC3B,CAAC,EAEH,EAAW,QAAQ,CACjB,KAAM,iBACN,GAAI,EAAO,WACX,iBAAkB,EAAO,gBAC3B,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,YACN,WAAY,EAAO,WACnB,SAAU,EAAO,SACjB,MAAO,EACP,iBAAkB,EAAO,gBAC3B,CAAC,EACD,EAAe,GACV,QAAI,GAAgB,CACzB,IAAM,EAAa,EAAY,EACzB,EAAW,EAAK,aAAa,KAC7B,GAAQ,OAAO,EAAK,aAAa,OAAS,SAAW,EAAK,aAAa,KAAO,KAAK,WAAW,EAAK,EAAK,aAAa,OAAS,KAAO,EAAK,CAAC,CAAC,EAClJ,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,WACA,iBAAkB,CACpB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,MAAO,GACP,iBAAkB,CACpB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,iBACN,GAAI,EACJ,iBAAkB,CACpB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,YACN,aACA,WACA,MAAO,GACP,iBAAkB,CACpB,CAAC,EACD,EAAe,GACV,QAAI,GAAsB,CAC/B,IAAM,EAAa,EAAY,EACzB,EAAW,EAAK,aAAa,KACnC,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,WACA,iBAAkB,CACpB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,iBACN,GAAI,EACJ,iBAAkB,CACpB,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,YACN,aACA,WACA,MAAO,KACP,iBAAkB,CACpB,CAAC,EACD,EAAe,KAIrB,GAAI,EAAU,cAAgB,KAC5B,EAAe,CACb,QAAS,GAAkC,CACzC,aAAc,EAAU,aACxB,cACF,CAAC,EACD,IAAK,EAAU,YACjB,EACA,EAAmB,EAChB,GAAsB,CACrB,gBAAiB,EAAK,EAAM,iBAAmB,KAAO,EAAK,KAC3D,kBAAmB,EACnB,mBAAoB,EACpB,eAAgB,EAAK,EAAU,gBAAkB,KAAO,EAAK,KAC7D,cAAe,GAAiB,KAAO,EAAgB,KACvD,eAAgB,EAAK,EAAU,gBAAkB,KAAO,EAAK,KAC7D,aACF,CACF,GAGJ,KAAK,CAAC,EAAY,CAChB,GAAI,IAAuB,KACzB,EAAW,QAAQ,CACjB,KAAM,WACN,GAAI,CACN,CAAC,EAEH,GAAI,IAA4B,KAC9B,EAAW,QAAQ,CACjB,KAAM,gBACN,GAAI,CACN,CAAC,EAEH,EAAW,QAAQ,CACjB,KAAM,SACN,eACA,MAAO,GAA+B,CAAK,EAC3C,kBACF,CAAC,EAEL,CAAC,CACH,EACA,SAAU,CAAE,QAAS,CAAgB,EACrC,QAAS,CAAE,KAAM,CAAK,CACxB,EAEJ,EACA,SAAS,EAAc,EACrB,oBACA,WAAY,GACX,CACD,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EACxB,GAAI,EAAE,GAAqB,KAAY,OAAI,EAAkB,iBAC3D,OAEF,IAAM,EAAU,CAAC,EACjB,QAAW,KAAS,EAAkB,gBACpC,GAAI,EAAM,KAAO,KACf,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EAAM,IAAI,IACf,OAAQ,EAAK,EAAM,IAAI,QAAU,KAAO,EAAU,MACpD,CAAC,EACI,QAAI,EAAM,OAAS,KACxB,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAGhB,IAAK,EAAM,MAAM,UACjB,OAAQ,EAAK,EAAM,MAAM,QAAU,KAAO,EAAU,MACtD,CAAC,EACI,QAAI,EAAM,kBAAoB,KAAM,CACzC,IAAM,EAAM,EAAM,iBAAiB,IAC7B,EAAkB,EAAM,iBAAiB,gBAC/C,GAAI,IAAQ,EAAI,WAAW,SAAS,GAAK,EAAI,WAAW,UAAU,GAChE,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EACL,OAAQ,EAAK,EAAM,iBAAiB,QAAU,KAAO,EAAU,MACjE,CAAC,EACI,QAAI,EAAK,CACd,IAAM,GAAS,EAAK,EAAM,iBAAiB,QAAU,KAAO,EAAK,mBAC7D,EAAY,2BACZ,EAAgB,OACpB,GAAI,EAAI,SAAS,MAAM,EACrB,EAAY,kBACZ,EAAW,EAAI,MAAM,GAAG,EAAE,IAAI,EACzB,QAAI,EAAI,SAAS,MAAM,EAC5B,EAAY,aACZ,EAAW,EAAI,MAAM,GAAG,EAAE,IAAI,EACzB,QAAI,EAAI,SAAS,OAAO,EAC7B,EAAY,0EACZ,EAAW,EAAI,MAAM,GAAG,EAAE,IAAI,EACzB,QAAI,EAAI,SAAS,MAAM,EAC5B,EAAY,qBACZ,EAAW,EAAI,MAAM,GAAG,EAAE,IAAI,EACzB,QAAI,EAAI,MAAM,kBAAkB,EACrC,EAAY,gBACZ,EAAW,EAAI,MAAM,GAAG,EAAE,IAAI,EAE9B,OAAW,EAAI,MAAM,GAAG,EAAE,IAAI,EAEhC,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,WACZ,GAAI,EAAY,EAChB,YACA,QACA,UACF,CAAC,EACI,QAAI,EAAiB,CAC1B,IAAM,GAAS,EAAK,EAAM,iBAAiB,QAAU,KAAO,EAAK,mBACjE,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,WACZ,GAAI,EAAY,EAChB,UAAW,2BACX,QACA,SAAU,EAAgB,MAAM,GAAG,EAAE,IAAI,CAC3C,CAAC,GAEE,QAAI,EAAM,MAAQ,MACvB,GAAI,EAAM,KAAK,IACb,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EAAM,KAAK,IAChB,OAAQ,EAAK,EAAM,KAAK,QAAU,KAAO,EAAU,MACrD,CAAC,EAIP,OAAO,EAAQ,OAAS,EAAI,EAAe,OAE7C,IAAI,GAA6B,IAAM,EAAG,OAAO,CAC/C,iBAAkB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,EAChD,mBAAoB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,EAClD,iBAAkB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,EAChD,iBAAkB,EAAG,OAAO,CAAE,gBAAiB,EAAG,OAAO,CAAE,CAAC,EAAE,QAAQ,EACtE,gBAAiB,EAAG,MAClB,EAAG,OAAO,CACR,IAAK,EAAG,OAAO,CAAE,IAAK,EAAG,OAAO,EAAG,MAAO,EAAG,OAAO,EAAE,QAAQ,CAAE,CAAC,EAAE,QAAQ,EAC3E,MAAO,EAAG,OAAO,CACf,UAAW,EAAG,OAAO,EACrB,SAAU,EAAG,OAAO,EACpB,MAAO,EAAG,OAAO,EAAE,QAAQ,EAC3B,OAAQ,EAAG,OAAO,EAAE,QAAQ,CAC9B,CAAC,EAAE,QAAQ,EACX,iBAAkB,EAAG,OAAO,CAC1B,IAAK,EAAG,OAAO,EAAE,QAAQ,EACzB,MAAO,EAAG,OAAO,EAAE,QAAQ,EAC3B,KAAM,EAAG,OAAO,EAAE,QAAQ,EAC1B,gBAAiB,EAAG,OAAO,EAAE,QAAQ,CACvC,CAAC,EAAE,QAAQ,EACX,KAAM,EAAG,OAAO,CACd,IAAK,EAAG,OAAO,EAAE,QAAQ,EACzB,MAAO,EAAG,OAAO,EAAE,QAAQ,EAC3B,KAAM,EAAG,OAAO,EAAE,QAAQ,EAC1B,QAAS,EAAG,OAAO,EAAE,QAAQ,CAC/B,CAAC,EAAE,QAAQ,CACb,CAAC,CACH,EAAE,QAAQ,EACV,kBAAmB,EAAG,MACpB,EAAG,OAAO,CACR,QAAS,EAAG,OAAO,CACjB,WAAY,EAAG,OAAO,EAAE,QAAQ,EAChC,SAAU,EAAG,OAAO,EAAE,QAAQ,EAC9B,KAAM,EAAG,OAAO,EAAE,QAAQ,CAC5B,CAAC,EAAE,QAAQ,EACX,aAAc,EAAG,OAAO,EAAE,QAAQ,EAClC,sBAAuB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,EACrD,oBAAqB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,EACnD,iBAAkB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,EAChD,gBAAiB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,QAAQ,CACjD,CAAC,CACH,EAAE,QAAQ,EACV,kBAAmB,EAAG,MAAM,CAC1B,EAAG,OAAO,CACR,yBAA0B,EAAG,OAAO,CACtC,CAAC,EACD,EAAG,OAAO,CAAC,CAAC,CACd,CAAC,EAAE,QAAQ,CACb,CAAC,EACG,GAAmB,EAAG,OAAO,CAC/B,SAAU,EAAG,OAAO,EACpB,YAAa,EAAG,OAAO,EAAE,QAAQ,EACjC,YAAa,EAAG,OAAO,EAAE,QAAQ,EACjC,UAAW,EAAG,QAAQ,EAAE,QAAQ,EAChC,UAAW,EAAG,QAAQ,EAAE,QAAQ,EAChC,aAAc,EAAG,QAAQ,EAAE,QAAQ,CACrC,CAAC,EACG,GAAmB,IAAM,EAAG,OAAO,CACrC,MAAO,EAAG,MACR,EAAG,MAAM,CAEP,EAAG,OAAO,CACR,aAAc,EAAG,OAAO,CACtB,KAAM,EAAG,OAAO,EAAE,QAAQ,EAC1B,KAAM,EAAG,QAAQ,EAAE,QAAQ,EAC3B,YAAa,EAAG,MAAM,EAAgB,EAAE,QAAQ,EAChD,aAAc,EAAG,QAAQ,EAAE,QAAQ,CACrC,CAAC,EACD,iBAAkB,EAAG,OAAO,EAAE,QAAQ,CACxC,CAAC,EACD,EAAG,OAAO,CACR,WAAY,EAAG,OAAO,CACpB,SAAU,EAAG,OAAO,EACpB,KAAM,EAAG,OAAO,CAClB,CAAC,EACD,QAAS,EAAG,QAAQ,EAAE,QAAQ,EAC9B,iBAAkB,EAAG,OAAO,EAAE,QAAQ,CACxC,CAAC,EACD,EAAG,OAAO,CACR,SAAU,EAAG,OAAO,CAClB,SAAU,EAAG,OAAO,EACpB,KAAM,EAAG,QAAQ,EAAE,QAAQ,EAC3B,GAAI,EAAG,OAAO,CAChB,CAAC,EACD,iBAAkB,EAAG,OAAO,EAAE,QAAQ,CACxC,CAAC,EACD,EAAG,OAAO,CACR,aAAc,EAAG,OAAO,CACtB,SAAU,EAAG,OAAO,EACpB,SAAU,EAAG,QAAQ,EAAE,QAAQ,EAC/B,GAAI,EAAG,OAAO,CAChB,CAAC,EACD,iBAAkB,EAAG,OAAO,EAAE,QAAQ,CACxC,CAAC,EACD,EAAG,OAAO,CACR,eAAgB,EAAG,OAAO,CACxB,SAAU,EAAG,OAAO,EACpB,KAAM,EAAG,OAAO,CAClB,CAAC,EAAE,QAAQ,EACX,oBAAqB,EAAG,OAAO,CAC7B,QAAS,EAAG,OAAO,EACnB,OAAQ,EAAG,OAAO,EAAE,QAAQ,CAC9B,CAAC,EAAE,QAAQ,EACX,KAAM,EAAG,OAAO,EAAE,QAAQ,EAC1B,QAAS,EAAG,QAAQ,EAAE,QAAQ,EAC9B,iBAAkB,EAAG,OAAO,EAAE,QAAQ,CACxC,CAAC,CACH,CAAC,CACH,EAAE,QAAQ,CACZ,CAAC,EACG,GAAwB,IAAM,EAAG,OAAO,CAC1C,SAAU,EAAG,OAAO,EAAE,QAAQ,EAC9B,YAAa,EAAG,OAAO,EAAE,QAAQ,EACjC,iBAAkB,EAAG,OAAO,EAAE,QAAQ,EACtC,SAAU,EAAG,OAAO,EAAE,QAAQ,EAC9B,cAAe,EAAG,OAAO,EAAE,QAAQ,EACnC,QAAS,EAAG,QAAQ,EAAE,QAAQ,CAChC,CAAC,EACG,GAAqB,EAAG,MAC1B,EAAG,OAAO,CACR,SAAU,EAAG,OAAO,EACpB,WAAY,EAAG,OAAO,CACxB,CAAC,CACH,EAAE,QAAQ,EACN,GAAc,EAAG,OAAO,CAC1B,wBAAyB,EAAG,OAAO,EAAE,QAAQ,EAC7C,mBAAoB,EAAG,OAAO,EAAE,QAAQ,EACxC,iBAAkB,EAAG,OAAO,EAAE,QAAQ,EACtC,qBAAsB,EAAG,OAAO,EAAE,QAAQ,EAC1C,gBAAiB,EAAG,OAAO,EAAE,QAAQ,EAErC,YAAa,EAAG,OAAO,EAAE,QAAQ,EAEjC,oBAAqB,GACrB,wBAAyB,EAC3B,CAAC,EACG,GAA8B,IAAM,EAAG,OAAO,CAChD,YAAa,EAAG,MACd,EAAG,OAAO,CACR,aAAc,EAAG,OAAO,EACxB,mBAAoB,EAAG,OAAO,CAChC,CAAC,CACH,EAAE,QAAQ,CACZ,CAAC,EACG,GAAiB,EACnB,IAAM,EACJ,EAAG,OAAO,CACR,WAAY,EAAG,MACb,EAAG,OAAO,CACR,QAAS,GAAiB,EAAE,QAAQ,EAAE,GAAG,EAAG,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,EAC/D,aAAc,EAAG,OAAO,EAAE,QAAQ,EAClC,cAAe,EAAG,OAAO,EAAE,QAAQ,EACnC,cAAe,EAAG,MAAM,GAAsB,CAAC,EAAE,QAAQ,EACzD,kBAAmB,GAA2B,EAAE,QAAQ,EACxD,mBAAoB,GAA4B,EAAE,QAAQ,CAC5D,CAAC,CACH,EACA,cAAe,GAAY,QAAQ,EACnC,eAAgB,EAAG,OAAO,CACxB,YAAa,EAAG,OAAO,EAAE,QAAQ,EACjC,cAAe,EAAG,MAAM,GAAsB,CAAC,EAAE,QAAQ,CAC3D,CAAC,EAAE,QAAQ,EACX,YAAa,EAAG,OAAO,EAAE,QAAQ,CACnC,CAAC,CACH,CACF,EACI,GAAc,EAChB,IAAM,EACJ,EAAG,OAAO,CACR,WAAY,EAAG,MACb,EAAG,OAAO,CACR,QAAS,GAAiB,EAAE,QAAQ,EACpC,aAAc,EAAG,OAAO,EAAE,QAAQ,EAClC,cAAe,EAAG,OAAO,EAAE,QAAQ,EACnC,cAAe,EAAG,MAAM,GAAsB,CAAC,EAAE,QAAQ,EACzD,kBAAmB,GAA2B,EAAE,QAAQ,EACxD,mBAAoB,GAA4B,EAAE,QAAQ,CAC5D,CAAC,CACH,EAAE,QAAQ,EACV,cAAe,GAAY,QAAQ,EACnC,eAAgB,EAAG,OAAO,CACxB,YAAa,EAAG,OAAO,EAAE,QAAQ,EACjC,cAAe,EAAG,MAAM,GAAsB,CAAC,EAAE,QAAQ,CAC3D,CAAC,EAAE,QAAQ,EACX,YAAa,EAAG,OAAO,EAAE,QAAQ,CACnC,CAAC,CACH,CACF,EAKI,GAAgB,GAA0C,CAC5D,GAAI,wBACJ,YAAa,EAAG,OAAO,CACrB,SAAU,EAAG,OAAO,EAAE,SAAS,uCAAuC,EACtE,KAAM,EAAG,OAAO,EAAE,SAAS,0BAA0B,CACvD,CAAC,EACD,aAAc,EAAG,OAAO,CACtB,QAAS,EAAG,OAAO,EAAE,SAAS,oDAAoD,EAClF,OAAQ,EAAG,OAAO,EAAE,SAAS,qCAAqC,CACpE,CAAC,CACH,CAAC,EASG,GAAsB,EAA0B,CAClD,GAAI,+BACJ,YAAa,EAAY,IAAM,EAAW,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC,EASG,GAA2B,EAAG,OAAO,CAIvC,qBAAsB,EAAG,MAAM,EAAG,OAAO,CAAC,EAAE,SAC1C,4GACF,EAEA,KAAM,EAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,yDAAyD,EAAE,SAAS,EAIhH,eAAgB,EAAG,OAAO,EAAE,SAC1B,0IACF,EAAE,SAAS,CACb,CAAC,EAAE,YAAY,EACX,GAAuB,EACzB,IAAM,EAAW,EAAwB,CAC3C,EACI,GAAa,EAA2B,CAC1C,GAAI,qBACJ,YAAa,EACf,CAAC,EASG,GAAa,EAA2B,CAC1C,GAAI,qBACJ,YAAa,EAAY,IAAM,EAAW,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC,EASG,GAAiC,EAAI,OAAO,CAC9C,YAAa,EAAI,OAAO,CACtB,UAAW,EAAI,OAAO,CAAC,CAAC,EAAE,SAAS,EACnC,YAAa,EAAI,OAAO,CAAC,CAAC,EAAE,SAAS,CACvC,CAAC,EAAE,SAAS,EACZ,gBAAiB,EAAI,OAAO,CAC1B,UAAW,EAAI,OAAO,EACtB,QAAS,EAAI,OAAO,CACtB,CAAC,EAAE,SAAS,CACd,CAAC,EAAE,YAAY,EACX,GAA6B,EAC/B,IAAM,EAAW,EAA8B,CACjD,EACI,GAAe,EACjB,CACE,GAAI,uBACJ,YAAa,EACf,CACF,EASI,GAAa,EAA2B,CAC1C,GAAI,qBACJ,YAAa,EAAa,IAAM,EAAY,EAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC,EAKG,GAAiB,EAA2B,CAC9C,GAAI,0BACJ,YAAa,EAAI,OAAO,CACtB,UAAW,EAAI,OAAO,EACtB,KAAM,EAAI,OAAO,EAAE,SAAS,CAC9B,CAAC,CACH,CAAC,EAGG,GAAc,CAKhB,gBAWA,uBAQA,cAKA,cAWA,cAWA,iBAKA,iBACF,EAeI,GAA+B,KAAM,CACvC,WAAW,CAAC,EAAS,EAAU,EAAQ,CACrC,KAAK,QAAU,EACf,KAAK,SAAW,EAChB,KAAK,OAAS,EACd,KAAK,qBAAuB,QAE1B,iBAAgB,EAAG,CACrB,GAAI,KAAK,SAAS,kBAAoB,KACpC,OAAO,KAAK,SAAS,iBAEvB,GAAI,GAAc,KAAK,OAAO,EAC5B,MAAO,IAET,MAAO,MAEL,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,cAEf,WAAU,CAAC,EAAS,CACxB,GAAI,GAAc,KAAK,OAAO,EAC5B,OAAO,KAAK,iBAAiB,CAAO,EAEtC,OAAO,KAAK,iBAAiB,CAAO,OAEhC,iBAAgB,CAAC,EAAS,CAC9B,IAAI,EAAI,EAAI,EACZ,IACE,SACA,IAAI,EACJ,OACA,cAAc,MACd,OACA,kBACA,UACA,cACA,QACA,QACE,EACE,EAAW,CAAC,EAClB,GAAI,GAAS,MAAQ,EAAM,OAAS,EAClC,MAAU,MACR,sJACF,EAEF,GAAI,GAAQ,KACV,MAAU,MACR,8IACF,EAEF,GAAI,GAAQ,KACV,EAAS,KAAK,CACZ,KAAM,cACN,QAAS,OACT,QAAS,2EACX,CAAC,EAEH,GAAI,GAAQ,KACV,EAAS,KAAK,CACZ,KAAM,cACN,QAAS,OACT,QAAS,sEACX,CAAC,EAEH,IAAM,EAAgB,MAAM,EAAsB,CAChD,SAAU,SACV,kBACA,OAAQ,EACV,CAAC,EACK,GAAe,GAAM,GAAM,EAAK,KAAK,OAAO,YAAc,KAAY,OAAI,EAAG,cAAgB,KAAY,OAAI,EAAG,KAAK,CAAE,IAAM,KAAO,EAAqB,IAAI,KAC7J,EAAa,CACjB,YAAa,CACf,EACA,GAAI,GAAe,KACjB,EAAW,YAAc,EAE3B,GAAI,EACF,OAAO,OAAO,EAAY,CAAa,EAEzC,IAAM,EAAO,CACX,UAAW,CAAC,CAAE,QAAO,CAAC,EACtB,YACF,GACQ,kBAAiB,MAAO,GAAa,MAAM,EAAe,CAChE,IAAK,GAAG,KAAK,OAAO,kBAAkB,KAAK,kBAC3C,QAAS,EAAgB,MAAM,EAAS,KAAK,OAAO,OAAO,EAAG,CAAO,EACrE,OACA,sBAAuB,EACvB,0BAA2B,EACzB,EACF,EACA,cACA,MAAO,KAAK,OAAO,KACrB,CAAC,EACD,MAAO,CACL,OAAQ,EAAS,YAAY,IAC3B,CAAC,IAAM,EAAE,kBACX,EACA,WACA,iBAAkB,CAChB,OAAQ,CACN,OAAQ,EAAS,YAAY,IAAI,KAAO,CAExC,EAAE,CACJ,CACF,EACA,SAAU,CACR,UAAW,EACX,QAAS,KAAK,QACd,QAAS,CACX,CACF,OAEI,iBAAgB,CAAC,EAAS,CAC9B,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EACpC,IACE,SACA,IACA,OACA,cACA,OACA,kBACA,UACA,cACA,QACA,QACE,EACE,EAAW,CAAC,EAClB,GAAI,GAAQ,KACV,MAAU,MACR,8DACF,EAEF,GAAI,GAAK,MAAQ,EAAI,EACnB,MAAU,MACR,iHACF,EAEF,GAAI,GAAQ,KACV,EAAS,KAAK,CACZ,KAAM,cACN,QAAS,OACT,QAAS,2EACX,CAAC,EAEH,IAAM,EAAc,CAAC,EACrB,GAAI,GAAU,KACZ,EAAY,KAAK,CAAE,KAAM,OAAQ,KAAM,CAAO,CAAC,EAEjD,GAAI,GAAS,MAAQ,EAAM,OAAS,EAClC,QAAW,KAAQ,EACjB,GAAI,EAAK,OAAS,MAChB,EAAY,KAAK,CACf,KAAM,OACN,KAAM,IAAI,IAAI,EAAK,GAAG,EACtB,UAAW,SACb,CAAC,EAED,OAAY,KAAK,CACf,KAAM,OACN,KAAM,OAAO,EAAK,OAAS,SAAW,EAAK,KAAO,IAAI,WAAW,EAAK,IAAI,EAC1E,UAAW,EAAK,SAClB,CAAC,EAIP,IAAM,EAAsB,CAC1B,CAAE,KAAM,OAAQ,QAAS,CAAY,CACvC,EAQM,EAAS,MAPO,IAAI,GAAgC,KAAK,QAAS,CACtE,SAAU,KAAK,OAAO,SACtB,QAAS,KAAK,OAAO,QACrB,SAAU,EAAK,KAAK,OAAO,UAAY,KAAO,EAAK,CAAC,EACpD,MAAO,KAAK,OAAO,MACnB,YAAa,EAAK,KAAK,OAAO,aAAe,KAAO,EAAK,CAC3D,CAAC,EACkC,WAAW,CAC5C,OAAQ,EACR,OACA,gBAAiB,CACf,OAAQ,CACN,mBAAoB,CAAC,OAAO,EAC5B,YAAa,EAAc,CACzB,aACF,EAAS,WACL,EAAK,GAAmB,KAAY,OAAI,EAAgB,SAAW,KAAO,EAAK,CAAC,CACtF,CACF,EACA,UACA,aACF,CAAC,EACK,GAAe,GAAM,GAAM,EAAK,KAAK,OAAO,YAAc,KAAY,OAAI,EAAG,cAAgB,KAAY,OAAI,EAAG,KAAK,CAAE,IAAM,KAAO,EAAqB,IAAI,KAC7J,EAAS,CAAC,EAChB,QAAW,KAAQ,EAAO,QACxB,GAAI,EAAK,OAAS,QAAU,EAAK,UAAU,WAAW,QAAQ,EAC5D,EAAO,KAAK,GAAiB,EAAK,IAAI,CAAC,EAG3C,MAAO,CACL,SACA,WACA,iBAAkB,CAChB,OAAQ,CACN,OAAQ,EAAO,IAAI,KAAO,CAAC,EAAE,CAC/B,CACF,EACA,SAAU,CACR,UAAW,EACX,QAAS,KAAK,QACd,SAAU,EAAK,EAAO,WAAa,KAAY,OAAI,EAAG,OACxD,EACA,MAAO,EAAO,MAAQ,CACpB,YAAa,EAAO,MAAM,YAAY,MACtC,aAAc,EAAO,MAAM,aAAa,MACxC,cAAe,EAAK,EAAO,MAAM,YAAY,QAAU,KAAO,EAAK,KAAO,EAAK,EAAO,MAAM,aAAa,QAAU,KAAO,EAAK,EACjI,EAAS,MACX,EAEJ,EACA,SAAS,EAAa,CAAC,EAAS,CAC9B,OAAO,EAAQ,WAAW,SAAS,EAErC,IAAI,GAA4B,EAC9B,IAAM,EACJ,EAAI,OAAO,CACT,YAAa,EAAI,MAAM,EAAI,OAAO,CAAE,mBAAoB,EAAI,OAAO,CAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CACrF,CAAC,CACH,CACF,EACI,GAAgC,EAClC,IAAM,EACJ,EAAI,OAAO,CACT,iBAAkB,EAAI,KAAK,CAAC,aAAc,cAAe,WAAW,CAAC,EAAE,QAAQ,EAC/E,YAAa,EAAI,KAAK,CAAC,MAAO,MAAO,MAAO,OAAQ,MAAM,CAAC,EAAE,QAAQ,CACvE,CAAC,CACH,CACF,EAmBI,GAA+B,KAAM,CACvC,WAAW,CAAC,EAAS,EAAQ,CAC3B,KAAK,QAAU,EACf,KAAK,OAAS,EACd,KAAK,qBAAuB,QAE1B,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,YAEjB,iBAAgB,EAAG,CACrB,MAAO,QAEH,WAAU,CAAC,EAAS,CACxB,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAChC,IAAM,GAAe,GAAM,GAAM,EAAK,KAAK,OAAO,YAAc,KAAY,OAAI,EAAG,cAAgB,KAAY,OAAI,EAAG,KAAK,CAAE,IAAM,KAAO,EAAqB,IAAI,KAC7J,EAAW,CAAC,EACZ,EAAgB,MAAM,EAAsB,CAChD,SAAU,SACV,gBAAiB,EAAQ,gBACzB,OAAQ,EACV,CAAC,EACK,EAAY,CAAC,CAAC,CAAC,EACf,EAAW,EAAU,GAC3B,GAAI,EAAQ,QAAU,KACpB,EAAS,OAAS,EAAQ,OAE5B,GAAI,EAAQ,OAAS,KACnB,GAAI,EAAQ,MAAM,OAAS,MACzB,EAAS,KAAK,CACZ,KAAM,cACN,QAAS,wBACT,QAAS,uFACX,CAAC,EACI,KACL,IAAM,EAAa,OAAO,EAAQ,MAAM,OAAS,SAAW,EAAQ,MAAM,KAAO,GAA0B,EAAQ,MAAM,IAAI,EAC7H,EAAS,MAAQ,CACf,WAAY,CACV,SAAU,EAAQ,MAAM,WAAa,YACrC,KAAM,CACR,CACF,EAGJ,IAAK,GAAiB,KAAY,OAAI,EAAc,kBAAoB,KACtE,EAAS,gBAAkB,EAAc,gBAAgB,IAAI,CAAC,IAAW,CACvE,GAAI,EAAO,mBACT,MAAO,CACL,WAAY,CACV,SAAU,YACV,KAAM,EAAO,kBACf,CACF,EACK,QAAI,EAAO,OAChB,MAAO,CACL,OAAQ,EAAO,MACjB,EAEF,OAAO,EACR,EAEH,IAAM,EAAa,CACjB,YAAa,EAAQ,CACvB,EACA,GAAI,EAAQ,YACV,EAAW,YAAc,EAAQ,YAEnC,GAAI,EAAQ,WAAY,CACtB,IAAM,EAAgB,CACpB,WAAY,OACZ,YAAa,QACb,YAAa,IACf,EACA,EAAW,WAAa,EAAc,EAAQ,aAAe,EAAQ,WAEvE,GAAI,EAAQ,SACV,EAAW,gBAAkB,EAAQ,SAEvC,GAAI,EAAQ,KACV,EAAW,KAAO,EAAQ,KAE5B,GAAI,GAAiB,KAAM,CACzB,IAAM,EAAO,EACb,GAAI,EAAK,mBAA0B,QAAK,EAAK,mBAAqB,KAChE,EAAW,iBAAmB,EAAK,iBAErC,GAAI,EAAK,iBAAwB,QAAK,EAAK,iBAAmB,KAC5D,EAAW,eAAiB,EAAK,eAEnC,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAI,EAC5C,GAAI,CAAC,CACH,iBACA,gBACA,mBACA,iBACA,iBACF,EAAE,SAAS,CAAG,EACZ,EAAW,GAAO,EAIxB,IAAQ,MAAO,GAAc,MAAM,EAAe,CAChD,IAAK,GAAG,KAAK,OAAO,kBAAkB,KAAK,6BAC3C,QAAS,EACP,MAAM,EAAS,KAAK,OAAO,OAAO,EAClC,EAAQ,OACV,EACA,KAAM,CACJ,YACA,YACF,EACA,0BAA2B,EACzB,EACF,EACA,sBAAuB,EACvB,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACK,EAAgB,EAAU,KAChC,GAAI,CAAC,EACH,MAAM,IAAI,GAAW,CACnB,KAAM,gCACN,QAAS,qCACX,CAAC,EAEH,IAAM,GAAkB,EAAK,GAAiB,KAAY,OAAI,EAAc,iBAAmB,KAAO,EAAK,IACrG,GAAiB,EAAK,GAAiB,KAAY,OAAI,EAAc,gBAAkB,KAAO,EAAK,OACnG,EAAY,KAAK,IAAI,EACvB,EAAiB,EACjB,EACJ,MAAO,CAAC,EAAe,KAAM,CAC3B,GAAI,KAAK,IAAI,EAAI,EAAY,EAC3B,MAAM,IAAI,GAAW,CACnB,KAAM,kCACN,QAAS,oCAAoC,KAC/C,CAAC,EAGH,GADA,MAAM,GAAM,CAAc,GACrB,EAAK,EAAQ,cAAgB,KAAY,OAAI,EAAG,QACnD,MAAM,IAAI,GAAW,CACnB,KAAM,kCACN,QAAS,sCACX,CAAC,EAEH,IAAQ,MAAO,EAAiB,gBAAiB,GAAgB,MAAM,GAAW,CAChF,IAAK,GAAG,KAAK,OAAO,WAAW,IAC/B,QAAS,EACP,MAAM,EAAS,KAAK,OAAO,OAAO,EAClC,EAAQ,OACV,EACA,0BAA2B,EACzB,EACF,EACA,sBAAuB,EACvB,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACD,EAAiB,EACjB,EAAkB,EAEpB,GAAI,EAAe,MACjB,MAAM,IAAI,GAAW,CACnB,KAAM,iCACN,QAAS,4BAA4B,EAAe,MAAM,SAC5D,CAAC,EAEH,IAAM,EAAW,EAAe,SAChC,GAAI,GAAG,EAAK,GAAY,KAAY,OAAI,EAAS,wBAA0B,KAAY,OAAI,EAAG,mBAAqB,EAAS,sBAAsB,iBAAiB,SAAW,EAC5K,MAAM,IAAI,GAAW,CACnB,KAAM,gCACN,QAAS,oCAAoC,KAAK,UAAU,CAAc,GAC5E,CAAC,EAEH,IAAM,EAAS,CAAC,EACV,EAAgB,CAAC,EACjB,EAAkB,MAAM,EAAS,KAAK,OAAO,OAAO,EACpD,EAAS,GAAmB,KAAY,OAAI,EAAgB,kBAClE,QAAW,KAAmB,EAAS,sBAAsB,iBAC3D,IAAK,EAAK,EAAgB,QAAU,KAAY,OAAI,EAAG,IAAK,CAC1D,IAAM,EAAc,EAAS,GAAG,EAAgB,MAAM,MAAM,EAAgB,MAAM,IAAI,SAAS,GAAG,EAAI,IAAM,UAAU,IAAW,EAAgB,MAAM,IACvJ,EAAO,KAAK,CACV,KAAM,MACN,IAAK,EACL,UAAW,WACb,CAAC,EACD,EAAc,KAAK,CACjB,IAAK,EAAgB,MAAM,GAC7B,CAAC,EAGL,GAAI,EAAO,SAAW,EACpB,MAAM,IAAI,GAAW,CACnB,KAAM,gCACN,QAAS,6BACX,CAAC,EAEH,MAAO,CACL,SACA,WACA,SAAU,CACR,UAAW,EACX,QAAS,KAAK,QACd,QAAS,CACX,EACA,iBAAkB,CAChB,OAAQ,CACN,OAAQ,CACV,CACF,CACF,EAEJ,EACI,GAAwB,EAAI,OAAO,CACrC,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,KAAM,EAAI,QAAQ,EAAE,QAAQ,EAC5B,MAAO,EAAI,OAAO,CAChB,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,QAAS,EAAI,OAAO,EACpB,OAAQ,EAAI,OAAO,EAAE,QAAQ,CAC/B,CAAC,EAAE,QAAQ,EACX,SAAU,EAAI,OAAO,CACnB,sBAAuB,EAAI,OAAO,CAChC,iBAAkB,EAAI,MACpB,EAAI,OAAO,CACT,MAAO,EAAI,OAAO,CAChB,IAAK,EAAI,OAAO,EAAE,QAAQ,CAC5B,CAAC,EAAE,QAAQ,CACb,CAAC,CACH,EAAE,QAAQ,CACZ,CAAC,EAAE,QAAQ,CACb,CAAC,EAAE,QAAQ,CACb,CAAC,EACG,GAAgC,EAClC,IAAM,EACJ,EAAI,OAAO,CACT,eAAgB,EAAI,OAAO,EAAE,SAAS,EAAE,QAAQ,EAChD,cAAe,EAAI,OAAO,EAAE,SAAS,EAAE,QAAQ,EAC/C,iBAAkB,EAAI,KAAK,CAAC,aAAc,cAAe,WAAW,CAAC,EAAE,QAAQ,EAC/E,eAAgB,EAAI,OAAO,EAAE,QAAQ,EACrC,gBAAiB,EAAI,MACnB,EAAI,OAAO,CACT,mBAAoB,EAAI,OAAO,EAAE,QAAQ,EACzC,OAAQ,EAAI,OAAO,EAAE,QAAQ,CAC/B,CAAC,CACH,EAAE,QAAQ,CACZ,CAAC,EAAE,YAAY,CACjB,CACF,EAcA,SAAS,EAA8B,CAAC,EAAO,CAC7C,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAChC,GAAI,GAAS,KACX,MAAO,CACL,YAAa,CACX,MAAY,OACZ,QAAc,OACd,UAAgB,OAChB,WAAiB,MACnB,EACA,aAAc,CACZ,MAAY,OACZ,KAAW,OACX,UAAgB,MAClB,EACA,IAAU,MACZ,EAEF,IAAM,GAAc,EAAK,EAAM,qBAAuB,KAAO,EAAK,EAC5D,GAAe,EAAK,EAAM,sBAAwB,KAAO,EAAK,EAC9D,GAAgB,EAAK,EAAM,uBAAyB,KAAO,EAAK,EAChE,GAAe,EAAK,EAAM,sBAAwB,KAAO,EAAK,EACpE,MAAO,CACL,YAAa,CACX,OAAQ,EAAK,EAAM,qBAAuB,KAAO,EAAU,OAC3D,QAAS,EAAM,oBAAsB,KAAY,OAAI,EAAa,EAClE,WAAY,EAAK,EAAM,sBAAwB,KAAO,EAAU,OAChE,WAAiB,MACnB,EACA,aAAc,CACZ,MAAO,EAAM,qBAAuB,MAAQ,EAAM,sBAAwB,KAAY,OAAI,EAAc,EACxG,MAAO,EAAK,EAAM,sBAAwB,KAAO,EAAU,OAC3D,WAAY,EAAK,EAAM,uBAAyB,KAAO,EAAU,MACnE,EACA,IAAK,CACP,EAIF,IAAI,GAAuB,CACzB,IAAK,kBACL,IAAK,aACL,GAAI,gBACJ,SAAU,gBACV,IAAK,qBACL,KAAM,yEACR,EACA,SAAS,EAAiB,CAAC,EAAW,CACpC,IAAM,EAAQ,EAAU,YAAY,EACpC,QAAY,EAAK,KAAU,OAAO,QAAQ,EAAoB,EAC5D,GAAI,EAAM,SAAS,IAAI,GAAK,EAAG,OAAO,EAExC,MAAO,2BAET,SAAS,EAAQ,CAAC,EAAW,CAC3B,IAAM,EAAQ,EAAU,MAAM,GAAG,EAC3B,EAAO,EAAM,EAAM,OAAS,GAClC,OAAO,GAAQ,EAAK,OAAS,EAAI,EAAY,OAE/C,SAAS,EAAkB,EACzB,aACA,WAAY,GACX,CACD,IAAI,EAAI,EAAI,EAAI,EAAI,EACpB,OAAQ,EAAW,UACZ,eAAgB,CACnB,IAAM,EAAI,EACV,GAAI,EAAE,KAAO,MAAQ,EAAE,IAAI,SAAW,EAAG,OACzC,MAAO,CACL,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EAAE,OACJ,EAAE,OAAS,KAAO,CAAE,MAAO,EAAE,KAAM,EAAI,CAAC,CAC7C,CACF,KACK,gBAAiB,CACpB,IAAM,EAAI,EACJ,GAAO,GAAM,EAAK,EAAE,eAAiB,KAAO,EAAK,EAAE,SAAW,KAAO,EAAK,EAAE,UAClF,GAAI,GAAO,MAAQ,EAAI,SAAW,EAAG,OACrC,GAAI,EAAI,WAAW,SAAS,GAAK,EAAI,WAAW,UAAU,EACxD,MAAO,CACL,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,KACF,EAAE,WAAa,KAAO,CAAE,MAAO,EAAE,SAAU,EAAI,CAAC,CACrD,EAEF,IAAM,GAAY,EAAK,EAAE,YAAc,KAAO,EAAK,GAAS,CAAG,EACzD,EAAY,GAAkB,CAAG,EACvC,MAAO,CACL,KAAM,SACN,WAAY,WACZ,GAAI,EAAY,EAChB,YACA,OAAQ,GAAM,EAAK,EAAE,YAAc,KAAO,EAAK,IAAa,KAAO,EAAK,KACrE,GAAY,KAAO,CAAE,UAAS,EAAI,CAAC,CACxC,CACF,KACK,iBAAkB,CACrB,IAAM,EAAI,EACV,GAAI,EAAE,KAAO,MAAQ,EAAE,IAAI,SAAW,EAAG,OACzC,MAAO,CACL,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EAAE,OACJ,EAAE,MAAQ,KAAO,CAAE,MAAO,EAAE,IAAK,EAAI,CAAC,CAC3C,CACF,SAEE,QAGN,SAAS,EAA0B,EACjC,QACA,WAAY,GACX,CACD,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5C,IAAM,EAAU,CAAC,EACjB,OAAQ,EAAM,UACP,qBAAsB,CACzB,IAAM,GAAU,EAAK,EAAM,SAAW,KAAO,EAAK,CAAC,EACnD,QAAW,KAAS,EAAQ,CAC1B,IAAK,GAAS,KAAY,OAAI,EAAM,MAAQ,MAAQ,EAAM,IAAI,SAAW,EAAG,SAC5E,GAAI,EAAM,QAAU,MAAQ,EAAM,SAAW,UAAW,SACxD,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EAAM,GACb,CAAC,EAEH,KACF,KACK,uBAAwB,CAC3B,IAAM,GAAU,EAAK,EAAM,SAAW,KAAO,EAAK,CAAC,EACnD,QAAW,KAAS,EAAQ,CAC1B,IAAM,EAAM,GAAS,KAAY,OAAI,EAAM,IAC3C,GAAI,GAAO,MAAQ,EAAI,SAAW,EAAG,SACrC,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,SACG,EAAM,OAAS,KAAO,CAAE,MAAO,EAAM,KAAM,EAAI,CAAC,CACrD,CAAC,EAEH,KACF,KACK,qBAAsB,CACzB,IAAM,GAAU,EAAK,EAAM,SAAW,KAAO,EAAK,CAAC,EACnD,QAAW,KAAS,EAClB,QAAW,KAAU,EAAK,EAAM,SAAW,KAAO,EAAK,CAAC,EAAG,CACzD,GAAI,EAAM,KAAO,MAAQ,EAAM,IAAI,SAAW,EAAG,SACjD,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,EAAM,OACR,EAAM,MAAQ,KAAO,CAAE,MAAO,EAAM,IAAK,EAAI,CAAC,CACnD,CAAC,EAGL,KACF,KACK,qBAAsB,CACzB,IAAM,GAAU,EAAK,EAAM,SAAW,KAAO,EAAK,CAAC,EACnD,QAAW,KAAO,EAAQ,CACxB,GAAI,GAAO,MAAQ,OAAO,IAAQ,SAAU,SAC5C,IAAM,EAAQ,EACR,GAAO,GAAM,EAAK,EAAM,eAAiB,KAAO,EAAK,EAAM,SAAW,KAAO,EAAK,EAAM,UAC9F,GAAI,GAAO,MAAQ,EAAI,SAAW,EAAG,SACrC,GAAI,EAAI,WAAW,SAAS,GAAK,EAAI,WAAW,UAAU,EAAG,CAC3D,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,MACZ,GAAI,EAAY,EAChB,IAAK,KACF,EAAM,OAAS,KAAO,CAAE,MAAO,EAAM,KAAM,EAAI,CAAC,CACrD,CAAC,EACD,SAEF,IAAM,GAAY,EAAK,EAAM,YAAc,KAAO,EAAK,GAAS,CAAG,EAC7D,EAAY,GAAkB,CAAG,EACvC,EAAQ,KAAK,CACX,KAAM,SACN,WAAY,WACZ,GAAI,EAAY,EAChB,YACA,OAAQ,GAAM,GAAM,EAAK,EAAM,QAAU,KAAO,EAAK,EAAM,YAAc,KAAO,EAAK,IAAa,KAAO,EAAK,KAC3G,GAAY,KAAO,CAAE,UAAS,EAAI,CAAC,CACxC,CAAC,EAEH,KACF,SAEE,MAEJ,OAAO,EAET,SAAS,EAAoB,EAC3B,cACA,WAAY,GACX,CACD,IAAI,EACJ,GAAI,GAAe,KAAM,MAAO,CAAC,EACjC,IAAM,EAAuB,IAAI,IAC3B,EAAU,CAAC,EACjB,QAAW,KAAc,EAAa,CACpC,IAAM,EAAS,GAAmB,CAAE,aAAY,WAAY,CAAY,CAAC,EACzE,GAAI,GAAU,KAAM,SACpB,IAAM,EAAM,EAAO,aAAe,MAAQ,OAAO,EAAO,MAAQ,QAAQ,EAAK,EAAO,WAAa,KAAO,EAAK,EAAO,QACpH,GAAI,EAAK,IAAI,CAAG,EAAG,SACnB,EAAK,IAAI,CAAG,EACZ,EAAQ,KAAK,CAAM,EAErB,OAAO,EAIT,SAAS,EAAiC,EACxC,SACA,mBACC,CACD,OAAQ,OACD,YACH,OAAO,EAAkB,aAAe,WACrC,kBACH,MAAO,iBACJ,SACH,MAAO,YACJ,aACH,MAAO,aACJ,YACH,MAAO,YACJ,sBAEH,MAAO,SAKb,IAAI,GAA0C,IAAI,IAAI,CACpD,qBACA,sBACA,mBACA,mBACA,mBACA,sBACF,CAAC,EACG,GAA4C,IAAI,IAAI,CACtD,uBACA,wBACA,qBACA,qBACA,qBACA,wBACF,CAAC,EACD,SAAS,EAA2B,CAAC,EAAM,CACzC,OAAO,EAAK,QAAQ,SAAU,EAAE,EAElC,SAAS,EAA6B,CAAC,EAAM,CAC3C,OAAO,EAAK,QAAQ,WAAY,EAAE,EAEpC,SAAS,EAAsC,EAC7C,WACA,WAAY,EACZ,mBACA,YAAa,GACZ,CACD,IAAI,EACA,EACA,EAAc,EACd,EACA,EAAkB,GAChB,EAA6B,IAAI,IACjC,EAAoC,IAAI,IAC9C,SAAS,CAAS,CAAC,EAAQ,CACzB,IAAI,EACJ,OAAO,EAAO,aAAe,MAAQ,OAAO,EAAO,MAAQ,QAAQ,EAAK,EAAO,WAAa,KAAO,EAAK,EAAO,QAEjH,OAAO,IAAI,gBAAgB,CACzB,KAAK,CAAC,EAAY,CAChB,EAAW,QAAQ,CAAE,KAAM,eAAgB,UAAS,CAAC,GAEvD,SAAS,CAAC,EAAO,EAAY,CAC3B,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAChE,GAAI,EACF,EAAW,QAAQ,CAAE,KAAM,MAAO,SAAU,EAAM,QAAS,CAAC,EAE9D,GAAI,CAAC,EAAM,QAAS,CAClB,EAAe,SACf,EAAW,QAAQ,CAAE,KAAM,QAAS,MAAO,EAAM,KAAM,CAAC,EACxD,OAEF,IAAM,EAAQ,EAAM,MAEpB,OADkB,EAAM,gBAEjB,oBAAqB,CAExB,IAAM,EADQ,EACY,YAC1B,GAAiB,GAAe,KAAY,OAAI,EAAY,KAAO,MAAQ,EAAY,GAAG,OAAS,EAAI,EAAY,GAAU,OAC7H,IAAM,EAAU,GAAe,KAAY,OAAI,EAAY,QACvD,EACJ,GAAI,OAAO,IAAY,SAAU,CAC/B,IAAM,EAAS,IAAI,KAAK,CAAO,EAC/B,GAAI,CAAC,OAAO,MAAM,EAAO,QAAQ,CAAC,EAChC,EAAY,EAGhB,EAAW,QAAQ,CACjB,KAAM,uBACH,GAAiB,KAAO,CAAE,GAAI,CAAc,EAAI,CAAC,EACpD,QAAS,GAAe,KAAY,OAAI,EAAY,SACjD,EAAY,CAAE,WAAU,EAAI,CAAC,CAClC,CAAC,EACD,KACF,KACK,gBAAiB,CACpB,IAAM,EAAQ,EACR,EAAQ,EAAM,QACd,EAAQ,EAAM,MACd,EAAU,GAAG,GAAiB,KAAO,EAAgB,iBAAiB,IAC5E,IAAK,GAAS,KAAY,OAAI,EAAM,QAAU,OAAQ,CACpD,EAAW,IAAI,EAAO,CACpB,KAAM,OACN,GAAI,EACJ,kBAAmC,IAAI,GACzC,CAAC,EACD,EAAW,QAAQ,CAAE,KAAM,aAAc,GAAI,CAAQ,CAAC,EACtD,IAAM,EAAiB,GAAqB,CAC1C,YAAa,EAAM,YACnB,WAAY,CACd,CAAC,EACD,QAAW,KAAU,EAAgB,CACnC,IAAM,EAAM,EAAU,CAAM,EAC5B,GAAI,EAAkB,IAAI,CAAG,EAAG,SAChC,EAAkB,IAAI,CAAG,EACzB,EAAW,QAAQ,CAAM,GAEtB,SAAK,GAAS,KAAY,OAAI,EAAM,QAAU,QAAS,CAC5D,IAAM,EAAM,EACZ,EAAW,IAAI,EAAO,CACpB,KAAM,QACN,GAAI,KACD,EAAI,MAAQ,KAAO,CAAE,KAAM,EAAI,IAAK,EAAI,CAAC,KACzC,EAAI,WAAa,KAAO,CAAE,SAAU,EAAI,SAAU,EAAI,CAAC,KACvD,EAAI,KAAO,KAAO,CAAE,IAAK,EAAI,GAAI,EAAI,CAAC,CAC3C,CAAC,EACI,SAAK,GAAS,KAAY,OAAI,EAAM,QAAU,UAAW,CAC9D,IAAM,EAAY,EAAM,UACxB,EAAW,IAAI,EAAO,CACpB,KAAM,YACN,GAAI,KACD,GAAa,KAAO,CAAE,WAAU,EAAI,CAAC,CAC1C,CAAC,EACD,EAAW,QAAQ,CAAE,KAAM,kBAAmB,GAAI,CAAQ,CAAC,EACtD,SAAK,GAAS,KAAY,OAAI,EAAM,QAAU,gBAAiB,CACpE,IAAM,EAAK,EACL,GAAc,EAAK,EAAG,KAAO,KAAO,EAAK,EAC/C,EAAkB,GAClB,IAAM,EAAQ,CACZ,KAAM,gBACN,GAAI,EACJ,aACA,SAAU,EAAG,KACb,WAAY,EAAK,EAAG,YAAc,KAAO,EAAK,CAAC,KAC5C,EAAG,WAAa,KAAO,CAAE,UAAW,EAAG,SAAU,EAAI,CAAC,EACzD,aAAc,EAChB,EAEA,GADA,EAAW,IAAI,EAAO,CAAK,EACvB,EAAM,UAAY,KACpB,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EACJ,SAAU,EAAM,QAClB,CAAC,EACD,EAAM,aAAe,GAElB,SAAK,GAAS,KAAY,OAAI,EAAM,OAAS,MAAQ,GAAwB,IAAI,EAAM,IAAI,EAAG,CACnG,IAAM,EAAW,EAAM,OAAS,wBAA0B,EAAK,EAAM,OAAS,KAAO,EAAK,kBAAoB,GAA4B,EAAM,IAAI,EAC9I,GAAc,EAAK,EAAM,KAAO,KAAO,EAAK,EAC5C,EAAQ,CACZ,KAAM,oBACN,GAAI,EACJ,UAAW,EAAM,KACjB,aACA,WACA,WAAY,EAAK,EAAM,YAAc,KAAO,EAAK,CAAC,EAClD,YAAa,EACf,EACA,EAAW,IAAI,EAAO,CAAK,EACtB,SAAK,GAAS,KAAY,OAAI,EAAM,OAAS,MAAQ,GAA0B,IAAI,EAAM,IAAI,EAAG,CACrG,IAAM,EAAW,EAAM,OAAS,0BAA4B,EAAK,EAAM,OAAS,KAAO,EAAK,kBAAoB,GAA8B,EAAM,IAAI,EAClJ,GAAU,EAAK,EAAM,UAAY,KAAO,EAAK,EAC7C,EAAQ,CACZ,KAAM,sBACN,GAAI,EACJ,UAAW,EAAM,KACjB,SACA,WACA,QAAS,EAAK,EAAM,SAAW,KAAO,EAAK,QACxC,EAAM,UAAY,KAAO,CAAE,QAAS,EAAM,QAAS,EAAI,CAAC,EAC3D,cAAe,EACjB,EACA,EAAW,IAAI,EAAO,CAAK,EAE3B,OAAW,IAAI,EAAO,CAAE,KAAM,UAAW,GAAI,CAAQ,CAAC,EAExD,KACF,KACK,gBAAiB,CACpB,IAAM,EAAQ,EACR,EAAO,EAAW,IAAI,EAAM,KAAK,EACvC,GAAI,GAAQ,KAAM,MAClB,IAAM,EAAQ,EAAM,MACpB,GAAI,EAAK,OAAS,SAAW,GAAS,KAAY,OAAI,EAAM,QAAU,OAAQ,CAC5E,IAAM,GAAQ,EAAK,EAAM,OAAS,KAAO,EAAK,GAC9C,GAAI,EAAK,OAAS,EAChB,EAAW,QAAQ,CACjB,KAAM,aACN,GAAI,EAAK,GACT,MAAO,CACT,CAAC,EAEE,QAAI,EAAK,OAAS,SAAW,GAAS,KAAY,OAAI,EAAM,QAAU,kBAAmB,CAC9F,IAAM,EAAU,GAAqB,CACnC,YAAa,EAAM,YACnB,WAAY,CACd,CAAC,EACD,QAAW,KAAU,EAAS,CAC5B,IAAM,EAAM,EAAU,CAAM,EAC5B,GAAI,EAAkB,IAAI,CAAG,EAAG,SAChC,EAAkB,IAAI,CAAG,EACzB,EAAK,kBAAkB,IAAI,CAAG,EAC9B,EAAW,QAAQ,CAAM,GAEtB,QAAI,EAAK,OAAS,UAAY,GAAS,KAAY,OAAI,EAAM,QAAU,QAAS,CACrF,GAAI,EAAM,MAAQ,KAAM,EAAK,KAAO,EAAM,KAC1C,GAAI,EAAM,WAAa,KAAM,EAAK,SAAW,EAAM,UACnD,GAAI,EAAM,KAAO,KAAM,EAAK,IAAM,EAAM,IACnC,QAAI,EAAK,OAAS,aACvB,IAAK,GAAS,KAAY,OAAI,EAAM,QAAU,kBAAmB,CAC/D,IAAM,EAAO,EAAM,QACnB,IAAK,GAAQ,KAAY,OAAI,EAAK,QAAU,QAAU,OAAO,EAAK,OAAS,SACzE,EAAW,QAAQ,CACjB,KAAM,kBACN,GAAI,EAAK,GACT,MAAO,EAAK,IACd,CAAC,EAEE,SAAK,GAAS,KAAY,OAAI,EAAM,QAAU,oBAAqB,CACxE,IAAM,EAAY,EAAM,UACxB,GAAI,GAAa,KACf,EAAK,UAAY,GAGhB,QAAI,EAAK,OAAS,kBAAoB,GAAS,KAAY,OAAI,EAAM,QAAU,gBAAiB,CACrG,GAAI,EAAM,IAAM,KACd,EAAK,WAAa,EAAM,GAE1B,GAAI,EAAM,MAAQ,KAChB,EAAK,SAAW,EAAM,KAExB,GAAI,EAAM,WAAa,KACrB,EAAK,UAAY,EAAM,UAEzB,GAAI,EAAM,WAAa,KACrB,EAAK,UAAY,EAAM,UAEzB,GAAI,CAAC,EAAK,cAAgB,EAAK,UAAY,KACzC,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAK,WACT,SAAU,EAAK,QACjB,CAAC,EACD,EAAK,aAAe,GAEtB,EAAkB,GACb,QAAI,EAAK,OAAS,sBAAwB,GAAS,KAAY,OAAI,EAAM,QAAU,EAAK,UAAW,CACxG,GAAI,EAAM,IAAM,KAAM,EAAK,WAAa,EAAM,GAC9C,GAAI,EAAM,WAAa,KAAM,EAAK,UAAY,EAAM,UACpD,GAAI,EAAM,MAAQ,MAAQ,EAAK,YAAc,uBAC3C,EAAK,SAAW,EAAM,KAEnB,QAAI,EAAK,OAAS,wBAA0B,GAAS,KAAY,OAAI,EAAM,QAAU,EAAK,UAAW,CAC1G,GAAI,EAAM,SAAW,KAAM,EAAK,OAAS,EAAM,QAC/C,GAAI,EAAM,SAAgB,OAAG,EAAK,OAAS,EAAM,OACjD,GAAI,EAAM,UAAY,KAAM,EAAK,QAAU,EAAM,SACjD,GAAI,EAAM,MAAQ,MAAQ,EAAK,YAAc,yBAC3C,EAAK,SAAW,EAAM,KAG1B,KACF,KACK,eAAgB,CACnB,IAAM,EAAQ,EACR,EAAO,EAAW,IAAI,EAAM,KAAK,EACvC,GAAI,GAAQ,KAAM,MAClB,GAAI,EAAK,OAAS,OAAQ,CACxB,IAAM,EAAuB,GAAiB,KAAO,CAAE,OAAQ,CAAE,eAAc,CAAE,EAAS,OAC1F,EAAW,QAAQ,CACjB,KAAM,WACN,GAAI,EAAK,MACN,EAAuB,CAAE,iBAAkB,CAAqB,EAAI,CAAC,CAC1E,CAAC,EACI,QAAI,EAAK,OAAS,YAAa,CACpC,IAAM,EAAU,CAAC,EACjB,GAAI,EAAK,WAAa,KAAM,EAAQ,UAAY,EAAK,UACrD,GAAI,GAAiB,KAAM,EAAQ,cAAgB,EACnD,IAAM,EAAmB,OAAO,KAAK,CAAO,EAAE,OAAS,EAAI,CAAE,OAAQ,CAAQ,EAAS,OACtF,EAAW,QAAQ,CACjB,KAAM,gBACN,GAAI,EAAK,MACN,EAAmB,CAAE,kBAAiB,EAAI,CAAC,CAChD,CAAC,EACI,QAAI,EAAK,OAAS,QAAS,CAChC,IAAM,EAAU,CAAC,EACjB,GAAI,GAAiB,KAAM,EAAQ,cAAgB,EACnD,IAAM,EAAmB,OAAO,KAAK,CAAO,EAAE,OAAS,EAAI,CAAE,OAAQ,CAAQ,EAAS,OACtF,GAAI,EAAK,MAAQ,MAAQ,EAAK,KAAK,OAAS,EAC1C,EAAW,QAAQ,CACjB,KAAM,OACN,WAAY,EAAK,EAAK,WAAa,KAAO,EAAK,YAC/C,KAAM,EAAK,QACR,EAAmB,CAAE,kBAAiB,EAAI,CAAC,CAChD,CAAC,EACI,QAAI,EAAK,KAAO,MAAQ,EAAK,IAAI,OAAS,EAAG,CAClD,IAAM,EAAsB,CAC1B,OAAQ,IACH,GAAiB,KAAO,CAAE,eAAc,EAAI,CAAC,EAChD,SAAU,EAAK,GACjB,CACF,EACA,EAAW,QAAQ,CACjB,KAAM,OACN,WAAY,EAAK,EAAK,WAAa,KAAO,EAAK,YAC/C,KAAM,GACN,iBAAkB,CACpB,CAAC,GAEE,QAAI,EAAK,OAAS,gBAAiB,CACxC,IAAM,GAAY,EAAK,EAAK,WAAa,KAAO,EAAK,UAC/C,EAAW,KAAK,WAAW,EAAK,EAAK,YAAc,KAAO,EAAK,CAAC,CAAC,EACvE,GAAI,CAAC,EAAK,aACR,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAK,WACT,UACF,CAAC,EAEH,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAK,WACT,MAAO,CACT,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,iBACN,GAAI,EAAK,UACX,CAAC,EACD,IAAM,EAAU,CAAC,EACjB,GAAI,EAAK,WAAa,KAAM,EAAQ,UAAY,EAAK,UACrD,GAAI,GAAiB,KAAM,EAAQ,cAAgB,EACnD,IAAM,EAAmB,OAAO,KAAK,CAAO,EAAE,OAAS,EAAI,CAAE,OAAQ,CAAQ,EAAS,OACtF,EAAW,QAAQ,CACjB,KAAM,YACN,WAAY,EAAK,WACjB,WACA,MAAO,KACJ,EAAmB,CAAE,kBAAiB,EAAI,CAAC,CAChD,CAAC,EACI,QAAI,EAAK,OAAS,qBAAuB,CAAC,EAAK,YACpD,EAAW,QAAQ,CACjB,KAAM,YACN,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,MAAO,KAAK,WAAW,EAAK,EAAK,YAAc,KAAO,EAAK,CAAC,CAAC,EAC7D,iBAAkB,EACpB,CAAC,EACD,EAAK,YAAc,GACd,QAAI,EAAK,OAAS,uBAAyB,CAAC,EAAK,cAAe,CACrE,EAAW,QAAQ,CACjB,KAAM,cACN,WAAY,EAAK,OACjB,SAAU,EAAK,SACf,QAAS,EAAK,EAAK,SAAW,KAAO,EAAK,IAC5C,CAAC,EACD,EAAK,cAAgB,GACrB,IAAM,EAAU,GAA2B,CACzC,MAAO,CACL,KAAM,EAAK,UACX,QAAS,EAAK,OACd,OAAQ,EAAK,MACf,EACA,WAAY,CACd,CAAC,EACD,QAAW,KAAU,EAAS,CAC5B,IAAM,EAAM,EAAU,CAAM,EAC5B,GAAI,EAAkB,IAAI,CAAG,EAAG,SAChC,EAAkB,IAAI,CAAG,EACzB,EAAW,QAAQ,CAAM,GAG7B,EAAW,OAAO,EAAM,KAAK,EAC7B,KACF,KACK,4BAA6B,CAEhC,EADc,EACO,OACrB,KACF,KACK,uBAAwB,CAE3B,IAAM,EADQ,EACY,YAC1B,IAAK,GAAe,KAAY,OAAI,EAAY,KAAO,MAAQ,EAAY,GAAG,OAAS,EACrF,EAAgB,EAAY,GAE9B,IAAK,GAAe,KAAY,OAAI,EAAY,SAAW,KACzD,EAAe,EAAY,OAE7B,IAAK,GAAe,KAAY,OAAI,EAAY,QAAU,KACxD,EAAQ,EAAY,MAEtB,IAAK,GAAe,KAAY,OAAI,EAAY,eAAiB,KAC/D,EAAc,EAAY,aAE5B,KACF,KACK,QAAS,CACZ,IAAM,EAAQ,EACd,EAAe,SACf,IAAM,GAAgB,EAAK,EAAM,QAAU,KAAO,EAAK,CACrD,QAAS,2BACX,EACA,EAAW,QAAQ,CAAE,KAAM,QAAS,MAAO,CAAa,CAAC,EACzD,KACF,SAEE,QAGN,KAAK,CAAC,EAAY,CAChB,IAAM,EAAe,CACnB,QAAS,GAAkC,CACzC,OAAQ,EACR,iBACF,CAAC,EACD,IAAK,CACP,EACM,EAAmB,CACvB,OAAQ,IACH,GAAiB,KAAO,CAAE,eAAc,EAAI,CAAC,KAC7C,GAAe,KAAO,CAAE,aAAY,EAAI,CAAC,CAC9C,CACF,EACA,EAAW,QAAQ,CACjB,KAAM,SACN,eACA,MAAO,GAA+B,CAAK,EAC3C,kBACF,CAAC,EAEL,CAAC,EAKH,SAAS,EAAoB,CAAC,EAAW,CACvC,IAAM,EAAa,EAAU,QAAQ,GAAG,EACxC,OAAO,IAAe,GAAK,EAAY,EAAU,UAAU,EAAG,CAAU,EAE1E,SAAS,EAAe,CAAC,EAAW,CAClC,IAAM,EAAa,EAAU,QAAQ,GAAG,EACxC,GAAI,IAAe,GACjB,MAAO,GAET,IAAM,EAAU,EAAU,UAAU,EAAa,CAAC,EAClD,OAAO,EAAQ,OAAS,GAAK,IAAY,IAE3C,SAAS,EAAgC,EACvC,SACA,wBACA,QACA,mBACC,CACD,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5B,IAAM,EAAW,CAAC,EACZ,EAAkB,GAAyB,MAAQ,IAAU,GAC7D,EAAgB,GAAyB,MAAQ,IAAU,GACjE,GAAI,EACF,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,iSACX,CAAC,EAEH,IAAM,EAAkB,EAAgB,GAAoC,CAC1E,SACA,uBACF,CAAC,EAAI,EACC,EAAc,CAAC,EACf,EAAQ,CAAC,EACf,QAAW,KAAW,EACpB,OAAQ,EAAQ,UACT,SAAU,CACb,EAAY,KAAK,EAAQ,OAAO,EAChC,KACF,KACK,OAAQ,CACX,IAAM,EAAU,CAAC,EACjB,QAAW,KAAQ,EAAQ,QACzB,GAAI,EAAK,OAAS,OAAQ,CACxB,IAAM,EAAQ,CACZ,KAAM,OACN,KAAM,EAAK,IACb,EACA,EAAQ,KAAK,CAAK,EACb,QAAI,EAAK,OAAS,OAAQ,CAC/B,IAAM,EAAY,GAAyB,CACzC,OACA,WACA,iBACF,CAAC,EACD,GAAI,GAAa,KACf,EAAQ,KAAK,CAAS,EAI5B,IAAM,EAAS,GAAyB,CAAO,EAC/C,GAAI,EAAO,OAAS,EAClB,EAAM,KAAK,CAAE,KAAM,OAAQ,QAAS,CAAO,CAAC,EAE9C,KACF,KACK,YAAa,CAChB,IAAM,EAAU,CAAC,EACjB,QAAW,KAAQ,EAAQ,QACzB,GAAI,EAAK,OAAS,OAChB,EAAQ,KAAK,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,EACzC,QAAI,EAAK,OAAS,YAAa,CACpC,IAAM,GAAa,GAAM,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,SAAW,KAAY,OAAI,EAAG,UACxG,EAAQ,KAAK,CACX,KAAM,aACH,GAAa,KAAO,CAAE,WAAU,EAAI,CAAC,EACxC,QAAS,EAAK,KAAK,OAAS,EAAI,CAAC,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,EAAS,MAC7E,CAAC,EACI,QAAI,EAAK,OAAS,OAAQ,CAC/B,IAAM,EAAY,GAAyB,CACzC,OACA,WACA,iBACF,CAAC,EACD,GAAI,GAAa,KACf,EAAQ,KAAK,CAAS,EAEnB,QAAI,EAAK,OAAS,YAAa,CACpC,IAAM,GAAa,GAAM,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,SAAW,KAAY,OAAI,EAAG,UAClG,EAAO,OAAO,EAAK,QAAU,SAAW,GAAkB,EAAK,KAAK,GAAK,EAAK,EAAK,QAAU,KAAO,EAAK,CAAC,EAChH,EAAQ,KAAK,CACX,KAAM,gBACN,GAAI,EAAK,WACT,KAAM,EAAK,SACX,UAAW,KACR,GAAa,KAAO,CAAE,WAAU,EAAI,CAAC,CAC1C,CAAC,EAED,OAAS,KAAK,CACZ,KAAM,QACN,QAAS,iEAAiE,EAAK,sBACjF,CAAC,EAGL,GAAI,EAAQ,OAAS,EACnB,EAAM,KAAK,CAAE,KAAM,QAAS,SAAQ,CAAC,EAEvC,KACF,KACK,OAAQ,CACX,IAAM,EAAU,CAAC,EACjB,QAAW,KAAQ,EAAQ,QAAS,CAClC,GAAI,EAAK,OAAS,cAAe,CAC/B,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,4DAA4D,EAAK,sBAC5E,CAAC,EACD,SAEF,IAAM,EAAQ,GAAsB,CAClC,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,OAAQ,EAAK,OACb,WAAY,GAAM,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,SAAW,KAAY,OAAI,EAAG,UACjG,UACF,CAAC,EACD,EAAQ,KAAK,CAAK,EAEpB,GAAI,EAAQ,OAAS,EACnB,EAAM,KAAK,CAAE,KAAM,OAAQ,SAAQ,CAAC,EAEtC,KACF,EAGJ,IAAM,EAAoB,EAAY,OAAS,EAAI,EAAY,KAAK;AAAA;AAAA,CAAM,EAAS,OAC/E,EACJ,GAAI,EAAM,SAAW,EACnB,EAAQ,GACH,QAAI,EAAM,SAAW,GAAK,EAAM,GAAG,OAAS,QAAU,MAAM,QAAQ,EAAM,GAAG,OAAO,EACzF,EAAQ,EAAM,GAAG,QAEjB,OAAQ,EAEV,MAAO,CAAE,QAAO,oBAAmB,UAAS,EAE9C,SAAS,EAAwB,EAC/B,OACA,WACA,mBACC,CACD,IAAM,EAAW,GAAqB,EAAK,SAAS,EAChD,EACJ,OAAQ,OACD,QACH,EAAO,QACP,UACG,QACH,EAAO,QACP,UACG,QACH,EAAO,QACP,UACG,cACH,EAAO,WACP,cAEA,EAAY,OAEhB,GAAI,GAAQ,KAAM,CAChB,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,qDAAqD,EAAK,2BACrE,CAAC,EACD,OAEF,IAAM,EAAkB,GAAmB,OAAS,IAAS,SAAW,IAAS,SAAW,CAAE,WAAY,CAAgB,EAAI,CAAC,EAC/H,GAAI,EAAK,gBAAgB,IACvB,MAAO,CACL,KAAM,EACN,IAAK,EAAK,KAAK,SAAS,KACrB,GAAgB,EAAK,SAAS,EAAI,CAAE,UAAW,EAAK,SAAU,EAAI,CAAC,KACnE,CACL,EAEF,GAAI,CAAC,GAAgB,EAAK,SAAS,EAAG,CACpC,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,kGAAkG,EAAK,2BAClH,CAAC,EACD,OAEF,MAAO,CACL,KAAM,EACN,KAAM,GAAiB,EAAK,IAAI,EAChC,UAAW,EAAK,aACb,CACL,EAEF,SAAS,EAAmC,EAC1C,SACA,yBACC,CACD,IAAM,EAAM,CAAC,EACP,EAAqC,IAAI,IAC/C,QAAW,KAAW,EAAQ,CAC5B,GAAI,EAAQ,OAAS,YAAa,CAMhC,GALiC,EAAQ,QAAQ,KAAK,CAAC,IAAS,CAC9D,IAAI,EAAI,EAER,QAD2B,GAAM,EAAK,EAAK,kBAAoB,KAAY,OAAI,EAAG,SAAW,KAAY,OAAI,EAAG,iBACnF,EAC9B,EAC6B,CAC5B,QAAW,KAAQ,EAAQ,QACzB,GAAI,EAAK,OAAS,YAChB,EAAmB,IAAI,EAAK,UAAU,EAG1C,SAEF,EAAI,KAAK,CAAO,EAChB,SAEF,GAAI,EAAQ,OAAS,OAAQ,CAC3B,IAAM,EAAY,EAAQ,QAAQ,OAAO,CAAC,IAAS,CACjD,GAAI,EAAK,OAAS,cAChB,MAAO,GAET,MAAO,CAAC,EAAmB,IAAI,EAAK,UAAU,EAC/C,EACD,GAAI,EAAU,SAAW,EACvB,SAEF,EAAI,KAAK,IACJ,EACH,QAAS,CACX,CAAC,EACD,SAEF,EAAI,KAAK,CAAO,EAElB,OAAO,EAET,SAAS,EAAiB,CAAC,EAAO,CAChC,GAAI,CACF,IAAM,EAAS,KAAK,MAAM,CAAK,EAC/B,GAAI,GAAU,MAAQ,OAAO,IAAW,UAAY,CAAC,MAAM,QAAQ,CAAM,EACvE,OAAO,EAET,MAAO,CAAE,MAAO,CAAO,EACvB,MAAO,EAAG,CACV,MAAO,CAAE,MAAO,CAAM,GAG1B,SAAS,EAAqB,EAC5B,aACA,WACA,SACA,YACA,YACC,CACD,IAAI,EACJ,IAAM,EAAO,CACX,KAAM,kBACN,QAAS,EACT,KAAM,KACH,GAAa,KAAO,CAAE,WAAU,EAAI,CAAC,CAC1C,EACA,OAAQ,EAAO,UACR,OACH,MAAO,IAAK,EAAM,OAAQ,EAAO,KAAM,MACpC,OACH,MAAO,IAAK,EAAM,OAAQ,KAAK,UAAU,EAAO,KAAK,CAAE,MACpD,aACH,MAAO,IAAK,EAAM,SAAU,GAAM,OAAQ,EAAO,KAAM,MACpD,aACH,MAAO,IAAK,EAAM,SAAU,GAAM,OAAQ,KAAK,UAAU,EAAO,KAAK,CAAE,MACpE,mBACH,MAAO,IACF,EACH,SAAU,GACV,QAAS,EAAK,EAAO,SAAW,KAAO,EAAK,gCAC9C,MACG,UAAW,CACd,IAAM,EAAS,CAAC,EAChB,QAAW,KAAQ,EAAO,MACxB,GAAI,EAAK,OAAS,OAChB,EAAO,KAAK,CAAE,KAAM,OAAQ,KAAM,EAAK,IAAK,CAAC,EACxC,QAAI,EAAK,OAAS,aAAc,CACrC,IAAM,EAAa,GAAqB,CACtC,KAAM,CACJ,KAAM,OACN,UAAW,EAAK,UAChB,KAAM,EAAK,IACb,EACA,UACF,CAAC,EACD,GAAI,GAAc,KAChB,EAAO,KAAK,CAAU,EAEnB,QAAI,EAAK,OAAS,YAAa,CACpC,IAAM,EAAa,GAAqB,CACtC,KAAM,CACJ,KAAM,OACN,UAAW,UACX,KAAM,IAAI,IAAI,EAAK,GAAG,CACxB,EACA,UACF,CAAC,EACD,GAAI,GAAc,KAChB,EAAO,KAAK,CAAU,EAEnB,QAAI,EAAK,OAAS,aAAe,EAAK,OAAS,WAAY,CAChE,IAAM,EAAY,EAAK,OAAS,YAAc,EAAK,UAAY,gBAE/D,GADiB,GAAqB,CAAS,IAC9B,QAAS,CACxB,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,yDAAyD,kHACpE,CAAC,EACD,SAEF,IAAM,EAAa,GAAqB,CACtC,KAAM,EAAK,OAAS,YAAc,CAChC,KAAM,OACN,UAAW,EAAK,UAChB,KAAM,EAAK,IACb,EAAI,CACF,KAAM,OACN,YACA,KAAM,IAAI,IAAI,EAAK,GAAG,CACxB,EACA,UACF,CAAC,EACD,GAAI,GAAc,KAChB,EAAO,KAAK,CAAU,EAGxB,OAAS,KAAK,CACZ,KAAM,QACN,QAAS,uDAAuD,EAAK,uCACvE,CAAC,EAGL,MAAO,IAAK,EAAM,OAAQ,CAAO,CACnC,GAGJ,SAAS,EAAoB,EAC3B,OACA,YACC,CACD,GAAI,EAAK,gBAAgB,IACvB,MAAO,CACL,KAAM,QACN,IAAK,EAAK,KAAK,SAAS,KACrB,GAAgB,EAAK,SAAS,EAAI,CAAE,UAAW,EAAK,SAAU,EAAI,CAAC,CACxE,EAEF,GAAI,CAAC,GAAgB,EAAK,SAAS,EAAG,CACpC,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,wGAAwG,EAAK,2BACxH,CAAC,EACD,OAEF,MAAO,CACL,KAAM,QACN,KAAM,GAAiB,EAAK,IAAI,EAChC,UAAW,EAAK,SAClB,EAEF,SAAS,EAAwB,CAAC,EAAS,CACzC,GAAI,EAAQ,OAAS,EACnB,OAAO,EAET,IAAM,EAAS,CAAC,EAChB,QAAW,KAAS,EAAS,CAC3B,IAAM,EAAO,EAAO,EAAO,OAAS,GACpC,GAAI,EAAM,OAAS,QAAU,GAAQ,MAAQ,EAAK,OAAS,QAAU,EAAK,aAAe,MAAQ,EAAM,aAAe,KAAM,CAC1H,IAAM,EAAS,CACb,KAAM,OACN,KAAM,GAAG,EAAK;AAAA;AAAA,EAEpB,EAAM,MACF,EACA,EAAO,EAAO,OAAS,GAAK,EAC5B,SAEF,EAAO,KAAK,CAAK,EAEnB,OAAO,EAST,IAAI,GAAwB,IAAM,EAAI,OAAO,CAC3C,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,OAAQ,EAAI,OAAO,EAAE,QAAQ,CAC/B,CAAC,EAAE,MAAM,EACL,GAAe,IAAM,EAAI,OAAO,CAClC,mBAAoB,EAAI,OAAO,EAAE,QAAQ,EACzC,oBAAqB,EAAI,OAAO,EAAE,QAAQ,EAC1C,qBAAsB,EAAI,OAAO,EAAE,QAAQ,EAC3C,oBAAqB,EAAI,OAAO,EAAE,QAAQ,EAC1C,sBAAuB,EAAI,OAAO,EAAE,QAAQ,EAC5C,aAAc,EAAI,OAAO,EAAE,QAAQ,EACnC,yBAA0B,EAAI,MAAM,GAAsB,CAAC,EAAE,QAAQ,EACrE,0BAA2B,EAAI,MAAM,GAAsB,CAAC,EAAE,QAAQ,EACtE,0BAA2B,EAAI,MAAM,GAAsB,CAAC,EAAE,QAAQ,EACtE,4BAA6B,EAAI,MAAM,GAAsB,CAAC,EAAE,QAAQ,EACxE,qBAAsB,EAAI,MACxB,EAAI,OAAO,CACT,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,MAAO,EAAI,OAAO,EAAE,QAAQ,CAC9B,CAAC,EAAE,MAAM,CACX,EAAE,QAAQ,CACZ,CAAC,EAAE,MAAM,EACL,GAA0B,IAAM,EAAI,KAAK,CAC3C,cACA,kBACA,YACA,SACA,YACA,YACF,CAAC,EACG,GAAmB,IAAM,CAC3B,IAAM,EAAc,EAAI,OAAO,CAC7B,KAAM,EAAI,QAAQ,cAAc,EAChC,IAAK,EAAI,OAAO,EAAE,QAAQ,EAC1B,MAAO,EAAI,OAAO,EAAE,QAAQ,EAC5B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAAe,EAAI,OAAO,CAC9B,KAAM,EAAI,QAAQ,eAAe,EACjC,UAAW,EAAI,OAAO,EAAE,QAAQ,EAChC,aAAc,EAAI,OAAO,EAAE,QAAQ,EACnC,OAAQ,EAAI,OAAO,EAAE,QAAQ,EAC7B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,EAChC,gBAAiB,EAAI,OAAO,EAAI,OAAO,EAAG,EAAI,QAAQ,CAAC,EAAE,QAAQ,CACnE,CAAC,EAAE,MAAM,EACH,EAAgB,EAAI,OAAO,CAC/B,KAAM,EAAI,QAAQ,gBAAgB,EAClC,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,IAAK,EAAI,OAAO,EAAE,QAAQ,EAC1B,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACT,OAAO,EAAI,MAAM,CACf,EACA,EACA,EACA,EAAI,OAAO,CAAE,KAAM,EAAI,OAAO,CAAE,CAAC,EAAE,MAAM,CAC3C,CAAC,GAEC,GAA2B,IAAM,EAAI,OAAO,CAC9C,KAAM,EAAI,OAAO,EACjB,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACL,GAAqB,IAAM,CAC7B,IAAM,EAAc,EAAI,OAAO,CAC7B,KAAM,EAAI,QAAQ,MAAM,EACxB,KAAM,EAAI,OAAO,EACjB,YAAa,EAAI,MAAM,GAAiB,CAAC,EAAE,QAAQ,CACrD,CAAC,EAAE,MAAM,EACH,EAAiB,EAAI,OAAO,CAChC,KAAM,EAAI,QAAQ,SAAS,EAC3B,UAAW,EAAI,OAAO,EAAE,QAAQ,EAChC,QAAS,EAAI,MAAM,GAAyB,CAAC,EAAE,QAAQ,CACzD,CAAC,EAAE,MAAM,EACH,EAAsB,EAAI,OAAO,CACrC,KAAM,EAAI,QAAQ,eAAe,EACjC,GAAI,EAAI,OAAO,EACf,KAAM,EAAI,OAAO,EACjB,UAAW,EAAI,OAAO,EAAI,OAAO,EAAG,EAAI,QAAQ,CAAC,EAAE,QAAQ,EAC3D,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAAe,EAAI,OAAO,CAC9B,KAAM,EAAI,QAAQ,OAAO,EACzB,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,UAAW,EAAI,OAAO,EAAE,QAAQ,EAChC,WAAY,EAAI,KAAK,CAAC,MAAO,SAAU,OAAQ,YAAY,CAAC,EAAE,QAAQ,EACtE,IAAK,EAAI,OAAO,EAAE,QAAQ,CAC5B,CAAC,EAAE,MAAM,EACH,EAAkB,EAAI,OAAO,CACjC,KAAM,EAAI,KAAK,CACb,qBACA,sBACA,mBACA,mBACA,mBACA,sBACF,CAAC,EACD,GAAI,EAAI,OAAO,EACf,UAAW,EAAI,OAAO,EAAI,OAAO,EAAG,EAAI,QAAQ,CAAC,EAAE,QAAQ,EAC3D,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAAoB,EAAI,OAAO,CACnC,KAAM,EAAI,KAAK,CACb,uBACA,wBACA,qBACA,qBACA,qBACA,wBACF,CAAC,EACD,QAAS,EAAI,OAAO,EACpB,OAAQ,EAAI,QAAQ,EAAE,QAAQ,EAC9B,SAAU,EAAI,QAAQ,EAAE,QAAQ,EAChC,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACT,OAAO,EAAI,MAAM,CACf,EACA,EACA,EACA,EACA,EACA,EACA,EAAI,OAAO,CAAE,KAAM,EAAI,OAAO,CAAE,CAAC,EAAE,MAAM,CAC3C,CAAC,GAEC,GAAmC,EACrC,IAAM,EACJ,EAAI,OAAO,CAMT,GAAI,EAAI,OAAO,EAAE,QAAQ,EACzB,QAAS,EAAI,OAAO,EAAE,QAAQ,EAC9B,QAAS,EAAI,OAAO,EAAE,QAAQ,EAC9B,OAAQ,GAAwB,EAChC,MAAO,EAAI,OAAO,EAAE,QAAQ,EAC5B,MAAO,EAAI,OAAO,EAAE,QAAQ,EAC5B,QAAS,EAAI,MAAM,GAAmB,CAAC,EAAE,QAAQ,EACjD,MAAO,GAAa,EAAE,QAAQ,EAC9B,aAAc,EAAI,OAAO,EAAE,QAAQ,EACnC,wBAAyB,EAAI,OAAO,EAAE,QAAQ,EAC9C,oBAAqB,EAAI,MAAM,EAAI,OAAO,CAAC,EAAE,QAAQ,CACvD,CAAC,EAAE,MAAM,CACX,CACF,EACI,GAAgC,EAClC,IAAM,GACH,IAAM,CACL,IAAM,EAAS,GAAwB,EACjC,EAAa,GAAiB,EAC9B,EAAqB,GAAyB,EAC9C,EAAwB,EAAI,OAAO,CACvC,WAAY,EAAI,QAAQ,mBAAmB,EAC3C,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,YAAa,EAAI,OAAO,CAKtB,GAAI,EAAI,OAAO,EAAE,QAAQ,EACzB,QAAS,EAAI,OAAO,EAAE,QAAQ,EAC9B,MAAO,EAAI,OAAO,EAAE,QAAQ,EAC5B,MAAO,EAAI,OAAO,EAAE,QAAQ,EAC5B,OAAQ,EAAO,QAAQ,CACzB,CAAC,EAAE,MAAM,CACX,CAAC,EAAE,MAAM,EACH,EAAoB,EAAI,OAAO,CACnC,WAAY,EAAI,QAAQ,eAAe,EACvC,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,MAAO,EAAI,OAAO,EAClB,QAAS,GAAmB,CAC9B,CAAC,EAAE,MAAM,EACH,EAAmB,EAAI,OAAO,CAClC,KAAM,EAAI,QAAQ,MAAM,EACxB,KAAM,EAAI,OAAO,CACnB,CAAC,EAAE,MAAM,EACH,EAA6B,EAAI,OAAO,CAC5C,KAAM,EAAI,QAAQ,iBAAiB,EACnC,QAAS,EAAmB,QAAQ,CACtC,CAAC,EAAE,MAAM,EACH,EAA+B,EAAI,OAAO,CAC9C,KAAM,EAAI,QAAQ,mBAAmB,EACrC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAA2B,EAAI,OAAO,CAC1C,KAAM,EAAI,QAAQ,eAAe,EACjC,GAAI,EAAI,OAAO,EACf,KAAM,EAAI,OAAO,EACjB,UAAW,EAAI,OAAO,EAAI,OAAO,EAAG,EAAI,QAAQ,CAAC,EAAE,QAAQ,EAC3D,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAA6B,EAAI,OAAO,CAC5C,KAAM,EAAI,QAAQ,iBAAiB,EACnC,YAAa,EAAI,MAAM,CAAU,EAAE,QAAQ,CAC7C,CAAC,EAAE,MAAM,EACH,EAAoB,EAAI,OAAO,CACnC,KAAM,EAAI,QAAQ,OAAO,EACzB,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,UAAW,EAAI,OAAO,EAAE,QAAQ,EAChC,WAAY,EAAI,KAAK,CAAC,MAAO,SAAU,OAAQ,YAAY,CAAC,EAAE,QAAQ,EACtE,IAAK,EAAI,OAAO,EAAE,QAAQ,CAC5B,CAAC,EAAE,MAAM,EACH,EAA8B,EAAI,OAAO,CAC7C,KAAM,EAAI,KAAK,CACb,qBACA,sBACA,mBACA,mBACA,mBACA,sBACF,CAAC,EACD,GAAI,EAAI,OAAO,EACf,UAAW,EAAI,OAAO,EAAI,OAAO,EAAG,EAAI,QAAQ,CAAC,EAAE,QAAQ,EAC3D,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAAgC,EAAI,OAAO,CAC/C,KAAM,EAAI,KAAK,CACb,uBACA,wBACA,qBACA,qBACA,qBACA,wBACF,CAAC,EACD,QAAS,EAAI,OAAO,EACpB,OAAQ,EAAI,QAAQ,EAAE,QAAQ,EAC9B,SAAU,EAAI,QAAQ,EAAE,QAAQ,EAChC,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,YAAa,EAAI,OAAO,EAAE,QAAQ,EAClC,UAAW,EAAI,OAAO,EAAE,QAAQ,CAClC,CAAC,EAAE,MAAM,EACH,EAAsB,EAAI,OAAO,CAAE,KAAM,EAAI,OAAO,CAAE,CAAC,EAAE,MAAM,EAC/D,EAAoB,EAAI,MAAM,CAClC,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CAAC,EACK,EAAoB,EAAI,OAAO,CACnC,WAAY,EAAI,QAAQ,eAAe,EACvC,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,MAAO,EAAI,OAAO,EAClB,MAAO,CACT,CAAC,EAAE,MAAM,EACH,EAAmB,EAAI,OAAO,CAClC,WAAY,EAAI,QAAQ,cAAc,EACtC,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,MAAO,EAAI,OAAO,CACpB,CAAC,EAAE,MAAM,EACH,EAA+B,EAAI,OAAO,CAC9C,WAAY,EAAI,QAAQ,2BAA2B,EACnD,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,eAAgB,EAAI,OAAO,EAAE,QAAQ,EACrC,QACF,CAAC,EAAE,MAAM,EACH,EAA2B,EAAI,OAAO,CAC1C,WAAY,EAAI,QAAQ,sBAAsB,EAC9C,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,YAAa,EAAI,OAAO,CACtB,GAAI,EAAI,OAAO,EAAE,QAAQ,EACzB,OAAQ,EAAO,QAAQ,EACvB,MAAO,GAAa,EAAE,QAAQ,EAC9B,aAAc,EAAI,OAAO,EAAE,QAAQ,CACrC,CAAC,EAAE,MAAM,CACX,CAAC,EAAE,MAAM,EACH,EAAa,EAAI,OAAO,CAC5B,WAAY,EAAI,QAAQ,OAAO,EAC/B,SAAU,EAAI,OAAO,EAAE,QAAQ,EAC/B,MAAO,EAAI,OAAO,CAChB,KAAM,EAAI,OAAO,EAAE,QAAQ,EAC3B,QAAS,EAAI,OAAO,EAAE,QAAQ,CAChC,CAAC,EAAE,MAAM,EAAE,QAAQ,CACrB,CAAC,EAAE,MAAM,EACH,EAAe,EAAI,OAAO,CAAE,WAAY,EAAI,OAAO,CAAE,CAAC,EAAE,MAAM,EACpE,OAAO,EAAI,MAAM,CACf,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CAAC,IACA,CACL,CACF,EAQI,GAAyC,EAC3C,IAAM,EACJ,EAAI,OAAO,CACT,sBAAuB,EAAI,OAAO,EAAE,QAAQ,EAC5C,MAAO,EAAI,QAAQ,EAAE,QAAQ,EAC7B,MAAO,EAAI,OAAO,EAAE,QAAQ,EAC5B,YAAa,EAAI,MAAM,CACrB,EAAI,OAAO,CACT,KAAM,EAAI,QAAQ,SAAS,CAC7B,CAAC,EAAE,MAAM,EACT,EAAI,OAAO,CACT,KAAM,EAAI,QAAQ,eAAe,EACjC,kBAAmB,EAAI,KAAK,CAAC,OAAQ,MAAM,CAAC,EAAE,QAAQ,EACtD,cAAe,EAAI,KAAK,CAAC,MAAO,MAAM,CAAC,EAAE,QAAQ,EACjD,sBAAuB,EAAI,QAAQ,EAAE,QAAQ,CAC/C,CAAC,CACH,CAAC,EAAE,QAAQ,EACX,cAAe,EAAI,KAAK,CAAC,UAAW,MAAO,SAAU,MAAM,CAAC,EAAE,QAAQ,EACtE,kBAAmB,EAAI,KAAK,CAAC,OAAQ,MAAM,CAAC,EAAE,QAAQ,EACtD,YAAa,EAAI,OAAO,CACtB,YAAa,EAAI,KAAK,CACpB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,MACA,MACA,MACA,KACF,CAAC,EAAE,QAAQ,EACX,UAAW,EAAI,KAAK,CAAC,KAAM,KAAM,KAAM,KAAK,CAAC,EAAE,QAAQ,CACzD,CAAC,EAAE,QAAQ,EACX,gBAAiB,EAAI,KAAK,CAAC,MAAO,SAAU,OAAQ,YAAY,CAAC,EAAE,QAAQ,EAC3E,mBAAoB,EAAI,MAAM,EAAI,KAAK,CAAC,OAAQ,QAAS,QAAS,QAAS,UAAU,CAAC,CAAC,EAAE,QAAQ,EACjG,YAAa,EAAI,KAAK,CAAC,OAAQ,WAAY,UAAU,CAAC,EAAE,QAAQ,EAKhE,kBAAmB,EAAI,OAAO,EAAE,QAAQ,EAOxC,UAAW,EAAI,OAAO,EAAE,QAAQ,EAMhC,cAAe,EAAI,OAAO,EAAE,QAAQ,EAMpC,iBAAkB,EAAI,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAC1D,CAAC,CACH,CACF,EAGA,SAAS,EAAsB,EAC7B,YACA,iBACC,CACD,IAAM,EAAU,CAAC,EACjB,GAAI,GAAa,KACf,EAAQ,UAAY,EAEtB,GAAI,GAAiB,KACnB,EAAQ,cAAgB,EAE1B,OAAO,OAAO,KAAK,CAAO,EAAE,OAAS,EAAI,CAAE,iBAAkB,CAAE,OAAQ,CAAQ,CAAE,EAAI,CAAC,EAExF,IAAI,GAA2C,IAAI,IAAI,CACrD,qBACA,sBACA,mBACA,mBACA,mBACA,sBACF,CAAC,EACG,GAA6C,IAAI,IAAI,CACvD,uBACA,wBACA,qBACA,qBACA,qBACA,wBACF,CAAC,EACD,SAAS,EAA4B,CAAC,EAAM,CAC1C,OAAO,EAAK,QAAQ,SAAU,EAAE,EAElC,SAAS,EAA8B,CAAC,EAAM,CAC5C,OAAO,EAAK,QAAQ,WAAY,EAAE,EAEpC,SAAS,EAA8B,EACrC,UACA,WAAY,EACZ,iBACC,CACD,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EACxC,IAAM,EAAU,CAAC,EACb,EAAkB,GACtB,GAAI,GAAW,KACb,MAAO,CAAE,UAAS,iBAAgB,EAEpC,QAAW,KAAS,EAAS,CAC3B,GAAI,GAAS,MAAQ,OAAO,IAAU,SAAU,SAChD,IAAM,EAAO,EAAM,KACnB,GAAI,OAAO,IAAS,SAAU,SAC9B,OAAQ,OACD,OAAQ,CACX,IAAM,GAAQ,EAAK,EAAM,OAAS,KAAO,EAAK,GACxC,EAAc,EAAM,YAC1B,EAAQ,KAAK,CACX,KAAM,OACN,UACG,GAAuB,CAAE,eAAc,CAAC,CAC7C,CAAC,EACD,IAAM,EAAU,GAAqB,CAAE,cAAa,WAAY,CAAY,CAAC,EAC7E,QAAW,KAAU,EACnB,EAAQ,KAAK,CAAM,EAErB,KACF,KACK,UAAW,CACd,IAAM,EAAU,EAEV,GADU,MAAM,QAAQ,EAAQ,OAAO,EAAI,EAAQ,QAAU,CAAC,GAC/C,OACnB,CAAC,KAAU,GAAQ,KAAY,OAAI,EAAK,QAAU,QAAU,OAAO,EAAK,OAAS,QACnF,EAAE,IAAI,CAAC,IAAS,EAAK,IAAI,EAAE,KAAK;AAAA,CAAI,EACpC,EAAQ,KAAK,CACX,KAAM,YACN,UACG,GAAuB,CACxB,UAAW,EAAQ,UACnB,eACF,CAAC,CACH,CAAC,EACD,KACF,KACK,QAAS,CACZ,IAAM,EAAQ,EACd,GAAI,EAAM,MAAQ,MAAQ,EAAM,KAAK,OAAS,EAC5C,EAAQ,KAAK,CACX,KAAM,OACN,WAAY,EAAK,EAAM,YAAc,KAAO,EAAK,YACjD,KAAM,EAAM,QACT,GAAuB,CAAE,eAAc,CAAC,CAC7C,CAAC,EACI,QAAI,EAAM,KAAO,MAAQ,EAAM,IAAI,OAAS,EACjD,EAAQ,KAAK,CACX,KAAM,OACN,WAAY,EAAK,EAAM,YAAc,KAAO,EAAK,YACjD,KAAM,GACN,iBAAkB,CAChB,OAAQ,IACH,GAAiB,KAAO,CAAE,eAAc,EAAI,CAAC,EAChD,SAAU,EAAM,GAClB,CACF,CACF,CAAC,EAEH,KACF,KACK,gBAAiB,CACpB,EAAkB,GAClB,IAAM,EAAO,EACb,EAAQ,KAAK,CACX,KAAM,YACN,WAAY,EAAK,GACjB,SAAU,EAAK,KACf,MAAO,KAAK,WAAW,EAAK,EAAK,YAAc,KAAO,EAAK,CAAC,CAAC,KAC1D,GAAuB,CACxB,UAAW,EAAK,UAChB,eACF,CAAC,CACH,CAAC,EACD,KACF,SACS,CACP,GAAI,GAAyB,IAAI,CAAI,EAAG,CACtC,IAAM,EAAO,EACP,EAAW,IAAS,wBAA0B,EAAK,EAAK,OAAS,KAAO,EAAK,kBAAoB,GAA6B,CAAI,EAClI,EAAQ,KAAK,WAAW,EAAK,EAAK,YAAc,KAAO,EAAK,CAAC,CAAC,EACpE,EAAQ,KAAK,CACX,KAAM,YACN,YAAa,EAAK,EAAK,KAAO,KAAO,EAAK,EAAY,EACtD,WACA,QACA,iBAAkB,EACpB,CAAC,EACI,QAAI,GAA2B,IAAI,CAAI,EAAG,CAC/C,IAAM,EAAS,EACT,EAAW,IAAS,0BAA4B,EAAK,EAAO,OAAS,KAAO,EAAK,kBAAoB,GAA+B,CAAI,EAC9I,EAAQ,KAAK,CACX,KAAM,cACN,YAAa,EAAK,EAAO,UAAY,KAAO,EAAK,EAAY,EAC7D,WACA,QAAS,EAAK,EAAO,SAAW,KAAO,EAAK,IAC9C,CAAC,EACD,IAAM,EAAU,GAA2B,CACzC,QACA,WAAY,CACd,CAAC,EACD,QAAW,KAAU,EACnB,EAAQ,KAAK,CAAM,EAGvB,KACF,GAGJ,MAAO,CAAE,UAAS,iBAAgB,EAiBpC,IAAI,GAAmB,IAAM,WAAW,MACxC,eAAe,EAAuB,EACpC,UACA,gBACA,UACA,QAAQ,GAAiB,GACxB,CACD,GAAI,GAAiB,MAAQ,EAAc,SAAW,EACpD,OAEF,IAAM,EAAM,GAAG,kBAAwB,mBAAmB,CAAa,WACvE,GAAI,CACF,IAAM,EAAW,MAAM,EAAM,EAAK,CAChC,OAAQ,OACR,QAAS,GACP,EAAgB,CAAE,eAAgB,kBAAmB,EAAG,CAAO,EAC/D,GAA+B,CACjC,EACA,KAAM,IACR,CAAC,EACD,GAAI,CACF,MAAM,EAAS,KAAK,EACpB,MAAO,EAAG,GAEZ,MAAO,EAAG,GAKd,IAAI,GAAoC,IAAI,IAAI,CAAC,YAAa,SAAU,YAAa,YAAY,CAAC,EAClG,SAAS,EAAgB,CAAC,EAAQ,CAChC,OAAO,GAAU,MAAQ,GAAkB,IAAI,CAAM,EAEvD,IAAI,GAA2B,KAC3B,GAAuB,IACvB,GAAqB,QACzB,eAAe,EAAkC,EAC/C,UACA,gBACA,UACA,QACA,cACA,iBAAiB,GACjB,aAAa,GACb,YAAY,IACX,CACD,GAAI,GAAiB,MAAQ,EAAc,SAAW,EACpD,MAAU,MACR,+HACF,EAEF,IAAM,EAAY,KAAK,IAAI,EACvB,EAAc,EACZ,EAAM,GAAG,kBAAwB,mBAAmB,CAAa,IACjE,EAAiB,IAAM,GAAwB,CAAE,UAAS,gBAAe,UAAS,OAAM,CAAC,EAC/F,GAAI,CACF,MAAO,GAAM,CACX,GAAI,GAAe,KAAY,OAAI,EAAY,QAE7C,MADA,MAAM,EAAe,EACf,IAAI,aAAa,sBAAuB,YAAY,EAE5D,GAAI,KAAK,IAAI,EAAI,EAAY,EAC3B,MAAU,MACR,sDAAsD,WAAuB,MAC/E,EAEF,MAAM,GAAO,EAAa,CAAE,aAAY,CAAC,EACzC,IACE,MAAO,EACP,SAAU,EACV,mBACE,MAAM,GAAY,CACpB,MACA,UACA,sBAAuB,EACvB,0BAA2B,EACzB,EACF,EACA,cACA,OACF,CAAC,EACD,GAAI,GAAiB,EAAS,MAAM,EAClC,MAAO,CAAE,WAAU,cAAa,iBAAgB,EAElD,EAAc,KAAK,IAAI,EAAc,EAAG,CAAU,GAEpD,MAAO,EAAO,CACd,GAAI,GAAa,CAAK,EACpB,MAAM,EAAe,EAEvB,MAAM,GAKV,SAAS,EAA8B,EACrC,QACA,cACC,CACD,IAAI,EAAI,EAAI,EAAI,EAChB,IAAM,EAAe,CAAC,EAChB,GAAc,GAAS,KAAY,OAAI,EAAM,QAAU,EAAa,OAC1E,GAAI,GAAc,KAChB,MAAO,CAAE,MAAY,OAAG,WAAiB,OAAG,cAAa,EAE3D,IAAM,EAAoB,CAAC,EAC3B,QAAW,KAAQ,EAAY,CAC7B,GAAI,EAAK,OAAS,WAAY,CAC5B,EAAkB,KAAK,CACrB,KAAM,WACN,KAAM,EAAK,KACX,aAAc,EAAK,EAAK,cAAgB,KAAO,EAAK,GACpD,WAAY,EAAK,WACnB,CAAC,EACD,SAEF,GAAI,EAAK,OAAS,WAAY,CAC5B,IAAM,GAAQ,EAAK,EAAK,OAAS,KAAO,EAAK,CAAC,EAC9C,OAAQ,EAAK,QACN,uBAAwB,CAC3B,IAAM,EAAiB,EAAK,YACxB,EACJ,GAAI,GAAkB,MAAQ,OAAO,IAAmB,SAAU,CAChE,IAAM,EAAO,CAAC,EACd,GAAI,EAAe,WAAa,KAAM,EAAK,KAAK,YAAY,EAC5D,GAAI,EAAe,aAAe,KAAM,EAAK,KAAK,cAAc,EAChE,GAAI,EAAK,OAAS,EAChB,EAAe,EAGnB,EAAkB,KAAK,CACrB,KAAM,mBACH,GAAgB,KAAO,CAAE,cAAa,EAAI,CAAC,CAChD,CAAC,EACD,KACF,KACK,wBAAyB,CAC5B,EAAkB,KAAK,CAAE,KAAM,gBAAiB,CAAC,EACjD,KACF,KACK,qBAAsB,CACzB,EAAkB,KAAK,CAAE,KAAM,aAAc,CAAC,EAC9C,KACF,KACK,qBAAsB,CACzB,EAAkB,KAAK,CACrB,KAAM,iBACH,EAAK,sBAAwB,KAAO,CACrC,wBAAyB,EAAK,oBAChC,EAAI,CAAC,KACF,EAAK,MAAQ,KAAO,CAAE,MAAO,EAAK,IAAK,EAAI,CAAC,KAC5C,EAAK,gBAAkB,KAAO,CAAE,gBAAiB,EAAK,cAAe,EAAI,CAAC,CAC/E,CAAC,EACD,KACF,KACK,qBAAsB,CACzB,EAAkB,KAAK,CACrB,KAAM,iBACH,EAAK,UAAY,KAAO,CAAE,SAAU,EAAK,QAAS,EAAI,CAAC,KACvD,EAAK,WAAa,KAAO,CAAE,UAAW,EAAK,SAAU,EAAI,CAAC,KAC1D,EAAK,cAAgB,KAAO,CAAE,cAAe,EAAK,YAAa,EAAI,CAAC,CACzE,CAAC,EACD,KACF,KACK,sBAAuB,CAC1B,EAAkB,KAAK,CACrB,KAAM,eACN,aAAc,EAAK,EAAK,cAAgB,KAAO,EAAK,aACjD,EAAK,6BAA+B,KAAO,CAC5C,4BAA6B,EAAK,2BACpC,EAAI,CAAC,CACP,CAAC,EACD,KACF,KACK,oBAAqB,CACxB,EAAkB,KAAK,CACrB,KAAM,gBACH,EAAK,MAAQ,KAAO,CAAE,KAAM,EAAK,IAAK,EAAI,CAAC,KAC3C,EAAK,KAAO,KAAO,CAAE,IAAK,EAAK,GAAI,EAAI,CAAC,KACxC,EAAK,SAAW,KAAO,CAAE,QAAS,EAAK,OAAQ,EAAI,CAAC,KACpD,EAAK,cAAgB,KAAO,CAAE,cAAe,EAAK,YAAa,EAAI,CAAC,CACzE,CAAC,EACD,KACF,KACK,mBAAoB,CACvB,IAAM,GAAwB,EAAK,EAAK,uBAAyB,KAAO,EAAU,OAClF,EAAkB,KAAK,CACrB,KAAM,eACH,EAAK,gBAAkB,KAAO,CAC/B,gBAAiB,EAAK,cACxB,EAAI,CAAE,gBAAiB,CAAC,kBAAkB,CAAE,KACzC,GAAwB,KAAO,CAAE,wBAAyB,CAAqB,EAAI,CAAC,CACzF,CAAC,EACD,KACF,SACS,CACP,EAAa,KAAK,CAChB,KAAM,cACN,QAAS,yBAAyB,EAAK,KACvC,QAAS,yBAAyB,EAAK,2DACzC,CAAC,EACD,KACF,EAEF,SAEF,EAAa,KAAK,CAChB,KAAM,cACN,QAAS,gBAAgB,EAAK,OAC9B,QAAS,6GACX,CAAC,EAEH,IAAM,EAAkB,EAAkB,KAAK,CAAC,IAAM,EAAE,OAAS,UAAU,EACvE,EACJ,GAAI,GAAc,MAAQ,EACxB,OAAQ,EAAW,UACZ,OACH,EAAmB,OACnB,UACG,WACH,EAAmB,MACnB,UACG,OACH,EAAmB,OACnB,UACG,OACH,EAAmB,CACjB,cAAe,CACb,KAAM,YACN,MAAO,CAAC,EAAW,QAAQ,CAC7B,CACF,EACA,MAGN,MAAO,CACL,MAAO,EAAkB,OAAS,EAAI,EAAyB,OAC/D,WAAY,EACZ,cACF,EAUF,IAAI,GAAsB,EACtB,GAAyB,IAC7B,SAAS,EAA6B,EACpC,UACA,gBACA,UACA,QACA,cACA,aAAa,GACb,eAAe,IACd,CACD,GAAI,EAAc,SAAW,EAC3B,MAAU,MACR,4EACF,EAEF,IAAM,EAAqB,IACtB,EACH,OAAQ,mBACV,EACI,EACA,EAAW,GACX,EAAU,EACV,EAA8B,GAC9B,EACE,EAAgB,IAAI,gBACpB,EAAuB,IAAM,EAAc,MAAM,EACvD,GAAI,GAAe,KACjB,GAAI,EAAY,QACd,EAAc,MAAM,EAEpB,OAAY,iBAAiB,QAAS,EAAsB,CAC1D,KAAM,EACR,CAAC,EAGL,IAAM,EAAkB,EAAc,OACtC,SAAS,CAAQ,EAAG,CAClB,IAAM,EAAO,GAAG,kBAAwB,mBAAmB,CAAa,IAClE,EAAS,IAAI,gBAAgB,CAAE,OAAQ,MAAO,CAAC,EACrD,GAAI,GAAe,KACjB,EAAO,IAAI,gBAAiB,CAAW,EAEzC,MAAO,GAAG,KAAQ,EAAO,SAAS,IAEpC,eAAe,CAAU,EAAG,CAC1B,IAAQ,MAAO,GAAW,MAAM,GAAY,CAC1C,IAAK,EAAS,EACd,QAAS,EACT,sBAAuB,EACvB,0BAA2B,GACzB,EACF,EACA,YAAa,EACb,OACF,CAAC,EACD,OAAO,EAAO,UAAU,EAE1B,OAAO,IAAI,eAAe,MAClB,MAAK,CAAC,EAAY,CACtB,GAAI,CACF,MAAO,CAAC,GAAY,CAAC,EAAgB,QAAS,CAC5C,GAAI,GAAiB,KACnB,GAAI,CACF,EAAgB,MAAM,EAAW,EACjC,EAA8B,GAC9B,MAAO,EAAO,CACd,GAAI,GAAc,CAAK,GAAK,EAAgB,QAAS,CACnD,EAAW,MAAM,CAAK,EACtB,OAGF,GADA,IACI,GAAW,EAAY,CACzB,EAAW,MAAM,CAAK,EACtB,OAEF,MAAM,GAAO,EAAe,EAAS,CACnC,YAAa,CACf,CAAC,EACD,SAGJ,GAAI,CACF,IAAQ,OAAM,SAAU,MAAM,EAAc,KAAK,EACjD,GAAI,EAAM,CAER,GADA,EAAqB,OACjB,EAAU,MACd,GAAI,CAAC,EAA6B,CAEhC,GADA,IACI,GAAW,EAAY,CACzB,EAAW,MACL,MACF,sEACF,CACF,EACA,OAEF,MAAM,GAAO,EAAe,EAAS,CACnC,YAAa,CACf,CAAC,EAED,OAAU,EAEZ,SAGF,GADA,EAA8B,GAC1B,EAAM,QAAS,CACjB,IAAM,EAAK,EAAM,MACjB,GAAI,OAAO,EAAG,WAAa,UAAY,EAAG,SAAS,OAAS,EAC1D,EAAc,EAAG,SAEnB,GAAI,EAAG,aAAe,wBAA0B,EAAG,aAAe,QAChE,EAAW,GAGf,EAAW,QAAQ,CAAK,EACxB,MAAO,EAAO,CACd,GAAI,GAAc,CAAK,GAAK,EAAgB,QAAS,CACnD,EAAW,MAAM,CAAK,EACtB,OAIF,GAFA,EAAqB,OACrB,IACI,GAAW,EAAY,CACzB,EAAW,MAAM,CAAK,EACtB,OAEF,MAAM,GAAO,EAAe,EAAS,CACnC,YAAa,CACf,CAAC,GAGL,EAAW,MAAM,EACjB,MAAO,EAAO,CACd,EAAW,MAAM,CAAK,SACtB,CACA,GAAI,GAAe,KACjB,EAAY,oBAAoB,QAAS,CAAoB,EAK/D,GAHA,GAAiB,MAAgB,EAAc,OAAO,EAAE,MAAM,IAAM,EACnE,EACD,EAAqB,OACjB,EAAgB,SAAW,CAAC,EAC9B,MAAM,GAAwB,CAC5B,UACA,gBACA,UACA,OACF,CAAC,IAIP,MAAM,EAAG,CACP,EAAc,MAAM,EACpB,GAAiB,MAAgB,EAAc,OAAO,EAAE,MAAM,IAAM,EACnE,EACD,EAAqB,OAEzB,CAAC,EAIH,SAAS,EAAuC,EAC9C,WACA,WACA,WAAY,EACZ,mBACA,qBACC,CACD,OAAO,IAAI,eAAe,CACxB,KAAK,CAAC,EAAY,CAChB,IAAI,EAAI,EAAI,EACZ,EAAW,QAAQ,CAAE,KAAM,eAAgB,UAAS,CAAC,EACrD,IAAM,EAAgB,OAAO,EAAS,KAAO,UAAY,EAAS,GAAG,OAAS,EAAI,EAAS,GAAU,OACjG,EACE,EAAU,EAAS,QACzB,GAAI,OAAO,IAAY,SAAU,CAC/B,IAAM,EAAS,IAAI,KAAK,CAAO,EAC/B,GAAI,CAAC,OAAO,MAAM,EAAO,QAAQ,CAAC,EAChC,EAAY,EAShB,GANA,EAAW,QAAQ,CACjB,KAAM,uBACH,GAAiB,KAAO,CAAE,GAAI,CAAc,EAAI,CAAC,EACpD,SAAU,EAAK,EAAS,QAAU,KAAO,EAAU,UAChD,EAAY,CAAE,WAAU,EAAI,CAAC,CAClC,CAAC,EACG,EACF,EAAW,QAAQ,CAAE,KAAM,MAAO,SAAU,CAAS,CAAC,EAExD,IAAQ,UAAS,mBAAoB,GAA+B,CAClE,SAAU,EAAK,EAAS,UAAY,KAAO,EAAK,KAChD,WAAY,EACZ,eACF,CAAC,EACG,EAAe,EACb,EAAc,IAAM,GAAG,GAAiB,KAAO,EAAgB,WAAW,MAChF,QAAW,KAAQ,EACjB,OAAQ,EAAK,UACN,OAAQ,CACX,IAAM,EAAK,EAAY,EACjB,EAAoB,EAAK,iBAE/B,GADA,EAAW,QAAQ,CAAE,KAAM,aAAc,IAAG,CAAC,EACzC,EAAK,KAAK,OAAS,EACrB,EAAW,QAAQ,CAAE,KAAM,aAAc,KAAI,MAAO,EAAK,IAAK,CAAC,EAEjE,EAAW,QAAQ,CACjB,KAAM,WACN,QACG,EAAoB,CAAE,iBAAkB,CAAkB,EAAI,CAAC,CACpE,CAAC,EACD,KACF,KACK,YAAa,CAChB,IAAM,EAAK,EAAY,EACjB,EAAoB,EAAK,iBAE/B,GADA,EAAW,QAAQ,CAAE,KAAM,kBAAmB,IAAG,CAAC,EAC9C,EAAK,KAAK,OAAS,EACrB,EAAW,QAAQ,CACjB,KAAM,kBACN,KACA,MAAO,EAAK,IACd,CAAC,EAEH,EAAW,QAAQ,CACjB,KAAM,gBACN,QACG,EAAoB,CAAE,iBAAkB,CAAkB,EAAI,CAAC,CACpE,CAAC,EACD,KACF,KACK,YAAa,CAChB,IAAM,EAAoB,EAAK,iBAC/B,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAK,WACT,SAAU,EAAK,YACZ,EAAK,iBAAmB,CAAE,iBAAkB,EAAK,gBAAiB,EAAI,CAAC,CAC5E,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,mBACN,GAAI,EAAK,WACT,MAAO,EAAK,KACd,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,iBACN,GAAI,EAAK,UACX,CAAC,EACD,EAAW,QAAQ,CACjB,KAAM,YACN,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,MAAO,EAAK,SACT,EAAK,iBAAmB,CAAE,iBAAkB,EAAK,gBAAiB,EAAI,CAAC,KACvE,EAAoB,CAAE,iBAAkB,CAAkB,EAAI,CAAC,CACpE,CAAC,EACD,KACF,KACK,cAAe,CAClB,EAAW,QAAQ,CACjB,KAAM,cACN,WAAY,EAAK,WACjB,SAAU,EAAK,SACf,OAAQ,EAAK,MACf,CAAC,EACD,KACF,KACK,aACA,OAAQ,CACX,EAAW,QAAQ,CAAI,EACvB,KACF,SAEE,MAGN,IAAM,GAAe,EAAK,EAAS,eAAiB,KAAO,EAAK,EAC1D,EAAe,CACnB,QAAS,GAAkC,CACzC,OAAQ,EAAS,OACjB,iBACF,CAAC,EACD,IAAK,EAAS,MAChB,EACM,EAAmB,CACvB,OAAQ,IACH,GAAiB,KAAO,CAAE,eAAc,EAAI,CAAC,KAC7C,GAAe,KAAO,CAAE,aAAY,EAAI,CAAC,CAC9C,CACF,EACA,EAAW,QAAQ,CACjB,KAAM,SACN,eACA,MAAO,GAA+B,EAAS,KAAK,EACpD,kBACF,CAAC,EACD,EAAW,MAAM,EAErB,CAAC,EAIH,IAAI,GAAkC,KAAM,CAC1C,WAAW,CAAC,EAAc,EAAQ,CAEhC,GADA,KAAK,qBAAuB,KACxB,OAAO,IAAiB,SAC1B,KAAK,QAAU,EACf,KAAK,MAAa,OAElB,UAAK,QAAU,EAAa,MAC5B,KAAK,MAAQ,EAAa,MAE5B,KAAK,OAAS,KAEZ,SAAQ,EAAG,CACb,OAAO,KAAK,OAAO,YAEjB,cAAa,EAAG,CAClB,GAAI,KAAK,OAAO,cACd,OAAO,KAAK,OAAO,cAAc,EAEnC,MAAO,CACL,UAAW,CAAC,gBAAgB,EAC5B,kBAAmB,CAAC,gBAAgB,EACpC,UAAW,CAAC,gBAAgB,EAC5B,UAAW,CACT,gDACA,4BACA,YACF,CACF,OAEI,QAAO,CAAC,EAAS,CACrB,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAChF,IAAM,EAAW,CAAC,EACZ,EAAO,MAAM,EAAsB,CACvC,SAAU,SACV,gBAAiB,EAAQ,gBACzB,OAAQ,EACV,CAAC,EACK,EAAU,KAAK,OAAS,KACxB,EAAW,EAAQ,OAAS,MAAQ,EAAQ,MAAM,OAAS,EAC7D,EACA,EACJ,GAAI,GAAY,EACd,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,iHACX,CAAC,EACI,QAAI,EAAU,CACnB,IAAM,EAAW,GAA+B,CAC9C,MAAO,EAAQ,MACf,WAAY,EAAQ,UACtB,CAAC,EACD,EAAe,EAAS,MACxB,EAAoB,EAAS,WAC7B,EAAS,KAAK,GAAG,EAAS,YAAY,EAExC,IAAI,EACA,EACJ,KAAM,EAAK,EAAQ,iBAAmB,KAAY,OAAI,EAAG,QAAU,QACjE,GAAI,EACF,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,gIACX,CAAC,EAGD,QADA,EAAmB,mBACf,EAAQ,eAAe,QAAU,KACnC,EAAiB,EAAQ,eAAe,OAI9C,IACE,QACA,kBAAmB,EACnB,SAAU,IACR,GAAiC,CACnC,OAAQ,EAAQ,OAChB,uBAAwB,EAAK,GAAQ,KAAY,OAAI,EAAK,wBAA0B,KAAO,EAAU,OACrG,OAAQ,EAAK,GAAQ,KAAY,OAAI,EAAK,QAAU,KAAO,EAAU,OACrE,iBAAkB,EAAK,GAAQ,KAAY,OAAI,EAAK,kBAAoB,KAAO,EAAU,MAC3F,CAAC,EACD,EAAS,KAAK,GAAG,EAAY,EAC7B,IAAI,EAAoB,EAClB,GAA2B,EAAK,GAAQ,KAAY,OAAI,EAAK,oBAAsB,KAAO,EAAU,OAC1G,GAAI,GAAqB,MAAQ,GAA2B,KAC1D,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,yIACX,CAAC,EACI,QAAI,GAAqB,MAAQ,GAA2B,KACjE,EAAoB,EAEtB,IAAI,EACJ,GAAI,EAAS,CACX,IAAM,EAAgB,CAAC,EACvB,GAAI,EAAQ,aAAe,KAAM,EAAc,KAAK,aAAa,EACjE,GAAI,EAAQ,MAAQ,KAAM,EAAc,KAAK,MAAM,EACnD,GAAI,EAAQ,MAAQ,KAAM,EAAc,KAAK,MAAM,EACnD,GAAI,EAAQ,eAAiB,MAAQ,EAAQ,cAAc,OAAS,EAClE,EAAc,KAAK,eAAe,EAEpC,GAAI,EAAQ,iBAAmB,KAC7B,EAAc,KAAK,iBAAiB,EACtC,IAAK,GAAQ,KAAY,OAAI,EAAK,gBAAkB,KAAM,EAAc,KAAK,eAAe,EAC5F,IAAK,GAAQ,KAAY,OAAI,EAAK,oBAAsB,KACtD,EAAc,KAAK,mBAAmB,EAExC,IAAK,GAAQ,KAAY,OAAI,EAAK,cAAgB,KAAM,EAAc,KAAK,aAAa,EACxF,GAAI,EAAc,OAAS,EACzB,EAAS,KAAK,CACZ,KAAM,QACN,QAAS,wBAAwB,EAAc,KAAK,IAAI,KAAK,EAAc,SAAW,EAAI,KAAO,0HACnG,CAAC,EAEH,EAAwB,OAExB,OAAmB,GAAe,CAChC,aAAc,EAAK,EAAQ,cAAgB,KAAO,EAAU,OAC5D,OAAQ,EAAK,EAAQ,OAAS,KAAO,EAAU,OAC/C,MAAO,EAAK,EAAQ,OAAS,KAAO,EAAU,OAC9C,eAAgB,EAAQ,eAAiB,MAAQ,EAAQ,cAAc,OAAS,EAAI,EAAQ,cAAqB,OACjH,mBAAoB,EAAK,EAAQ,kBAAoB,KAAO,EAAU,OACtE,gBAAiB,EAAK,GAAQ,KAAY,OAAI,EAAK,gBAAkB,KAAO,EAAU,OACtF,oBAAqB,EAAK,GAAQ,KAAY,OAAI,EAAK,oBAAsB,KAAO,EAAU,OAC9F,cAAe,GAAQ,KAAY,OAAI,EAAK,cAAgB,KAAO,GAAe,CAChF,cAAe,EAAK,EAAK,YAAY,cAAgB,KAAO,EAAU,OACtE,YAAa,EAAK,EAAK,YAAY,YAAc,KAAO,EAAU,MACpE,CAAC,EAAS,OACV,YAAa,CACf,CAAC,EAEH,IAAI,EACJ,GAAI,IAAY,GAAQ,KAAY,OAAI,EAAK,cAAgB,KAAM,CACjE,IAAM,EAAK,EAAK,YAChB,GAAI,EAAG,OAAS,gBACd,EAAc,GAAe,CAC3B,KAAM,gBACN,oBAAqB,EAAK,EAAG,oBAAsB,KAAO,EAAU,OACpE,eAAgB,EAAK,EAAG,gBAAkB,KAAO,EAAU,OAC3D,wBAAyB,EAAK,EAAG,wBAA0B,KAAO,EAAU,MAC9E,CAAC,EACI,QAAI,EAAG,OAAS,UACrB,EAAc,CAAE,KAAM,SAAU,EAkBpC,MAAO,CACL,KAhBW,GAAe,IACvB,EAAU,CAAE,MAAO,KAAK,KAAM,EAAI,CAAE,MAAO,KAAK,OAAQ,EAC3D,QACA,mBAAoB,EACpB,MAAO,EACP,gBAAiB,EACjB,mBAAoB,EACpB,qBAAsB,GAAQ,KAAY,OAAI,EAAK,qBAAuB,KAAO,EAAK,mBAA0B,OAChH,yBAA0B,EAAK,GAAQ,KAAY,OAAI,EAAK,wBAA0B,KAAO,EAAU,OACvG,cAAe,EAAK,GAAQ,KAAY,OAAI,EAAK,cAAgB,KAAO,EAAU,OAClF,OAAQ,EAAK,GAAQ,KAAY,OAAI,EAAK,QAAU,KAAO,EAAU,OACrE,kBAAmB,GAAoB,MAAQ,OAAO,KAAK,CAAgB,EAAE,OAAS,EAAI,EAAwB,OAClH,aAAc,KACX,EAAU,CAAE,WAAY,EAAK,EAAI,CAAC,CACvC,CAAC,EAGC,WACA,UACA,kBAAmB,EAAK,GAAQ,KAAY,OAAI,EAAK,mBAAqB,KAAO,EAAU,MAC7F,OAEI,WAAU,CAAC,EAAS,CACxB,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EACxB,IAAQ,OAAM,WAAU,UAAS,oBAAqB,MAAM,KAAK,QAAQ,CAAO,EAC1E,EAAM,GAAG,KAAK,OAAO,uBACrB,EAAgB,EACpB,KAAK,OAAO,QAAU,MAAM,EAAS,KAAK,OAAO,OAAO,EAAS,OACjE,EAAQ,OACV,EACM,EAAa,MAAM,EAAe,CACtC,MACA,QAAS,EACT,KAAM,EACN,sBAAuB,EACvB,0BAA2B,EACzB,EACF,EACA,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,GAEC,kBACA,MAAO,EACP,SAAU,GACR,EACJ,GAAI,GAAW,CAAC,GAAiB,EAAS,MAAM,EAAG,CACjD,IAAM,EAAS,MAAM,GAAmC,CACtD,QAAS,KAAK,OAAO,QACrB,cAAe,EAAS,GACxB,QAAS,EACT,MAAO,KAAK,OAAO,MACnB,YAAa,EAAQ,YACrB,UAAW,CACb,CAAC,EACD,EAAW,EAAO,SAClB,EAAc,EAAO,YACrB,GAAmB,EAAK,EAAO,kBAAoB,KAAO,EAAK,EAEjE,IAAM,EAAgB,OAAO,EAAS,KAAO,UAAY,EAAS,GAAG,OAAS,EAAI,EAAS,GAAU,QAC7F,UAAS,mBAAoB,GAA+B,CAClE,SAAU,EAAK,EAAS,UAAY,KAAO,EAAK,KAChD,YAAa,EAAK,KAAK,OAAO,aAAe,KAAO,EAAK,EACzD,eACF,CAAC,EACK,EAAe,CACnB,QAAS,GAAkC,CACzC,OAAQ,EAAS,OACjB,iBACF,CAAC,EACD,IAAK,EAAS,MAChB,EACM,GAAe,GAAM,EAAK,EAAS,eAAiB,KAAO,EAAK,GAAmB,KAAY,OAAI,EAAgB,2BAA6B,KAAO,EAAU,OACjK,EAAmB,CACvB,OAAQ,IACH,GAAiB,KAAO,CAAE,eAAc,EAAI,CAAC,KAC7C,GAAe,KAAO,CAAE,aAAY,EAAI,CAAC,CAC9C,CACF,EACI,EACJ,GAAI,OAAO,EAAS,UAAY,SAAU,CACxC,IAAM,EAAS,IAAI,KAAK,EAAS,OAAO,EACxC,GAAI,CAAC,OAAO,MAAM,EAAO,QAAQ,CAAC,EAChC,EAAY,EAGhB,MAAO,CACL,UACA,eACA,MAAO,GAA+B,EAAS,KAAK,EACpD,WACA,mBACA,QAAS,CAAE,KAAM,CAAK,EACtB,SAAU,CACR,QAAS,EACT,KAAM,KACH,GAAiB,KAAO,CAAE,GAAI,CAAc,EAAI,CAAC,KACjD,EAAY,CAAE,WAAU,EAAI,CAAC,EAChC,SAAU,EAAK,EAAS,QAAU,KAAO,EAAU,MACrD,CACF,OAEI,SAAQ,CAAC,EAAS,CACtB,IAAI,EACJ,IAAQ,OAAM,WAAU,UAAS,oBAAqB,MAAM,KAAK,QAAQ,CAAO,EAC1E,EAAM,GAAG,KAAK,OAAO,uBACrB,EAAgB,EACpB,KAAK,OAAO,QAAU,MAAM,EAAS,KAAK,OAAO,OAAO,EAAS,OACjE,EAAQ,OACV,EACA,GAAI,EACF,OAAO,KAAK,mBAAmB,CAC7B,OACA,WACA,MACA,gBACA,UACA,kBACF,CAAC,EAEH,IAAM,EAAO,IAAK,EAAM,OAAQ,EAAK,GAC7B,kBAAiB,MAAO,GAAa,MAAM,EAAe,CAChE,MACA,QAAS,EACT,OACA,sBAAuB,EACvB,0BAA2B,GACzB,EACF,EACA,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,EACK,EAAoB,GAAmB,KAAY,OAAI,EAAgB,yBACvE,EAAY,GAAuC,CACvD,WACA,YAAa,EAAK,KAAK,OAAO,aAAe,KAAO,EAAK,EACzD,iBAAkB,EAAQ,iBAC1B,YAAa,CACf,CAAC,EACD,MAAO,CACL,OAAQ,EAAS,YAAY,CAAS,EACtC,QAAS,CAAE,MAAK,EAChB,SAAU,CAAE,QAAS,CAAgB,CACvC,OAoBI,mBAAkB,EACtB,OACA,WACA,MACA,gBACA,UACA,oBACC,CACD,IAAI,EAAI,EACR,IAAM,EAAa,MAAM,EAAe,CACtC,MACA,QAAS,EACT,KAAM,EACN,sBAAuB,EACvB,0BAA2B,EACzB,EACF,EACA,YAAa,EAAQ,YACrB,MAAO,KAAK,OAAO,KACrB,CAAC,GACO,gBAAiB,EAAa,MAAO,GAAiB,EACxD,EAAgB,EAAa,GACnC,GAAI,GAAiB,MAAQ,EAAc,SAAW,EACpD,MAAU,MACR,4GACF,EAEF,IAAM,EAAoB,GAAe,KAAY,OAAI,EAAY,yBACrE,GAAI,GAAiB,EAAa,MAAM,EAQtC,MAAO,CACL,OARkB,GAAwC,CAC1D,SAAU,EACV,WACA,YAAa,EAAK,KAAK,OAAO,aAAe,KAAO,EAAK,EACzD,iBAAkB,EAAQ,iBAC1B,mBACF,CAAC,EAGC,QAAS,CAAE,KAAM,CAAK,EACtB,SAAU,CAAE,QAAS,CAAY,CACnC,EAGF,IAAM,EAAS,GAA8B,CAC3C,QAAS,KAAK,OAAO,QACrB,gBACA,QAAS,EACT,MAAO,KAAK,OAAO,MACnB,YAAa,EAAQ,WACvB,CAAC,EACK,EAAY,GAAuC,CACvD,WACA,YAAa,EAAK,KAAK,OAAO,aAAe,KAAO,EAAK,EACzD,iBAAkB,EAAQ,iBAC1B,YAAa,CACf,CAAC,EACD,MAAO,CACL,OAAQ,EAAO,YAAY,CAAS,EACpC,QAAS,CAAE,KAAM,CAAK,EACtB,SAAU,CAAE,QAAS,CAAY,CACnC,EAEJ,EACA,SAAS,EAAc,CAAC,EAAK,CAC3B,IAAM,EAAS,CAAC,EAChB,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAG,EAAG,CAC9C,GAAI,IAAe,OAAG,SACtB,EAAO,GAAO,EAEhB,OAAO,EAIT,SAAS,EAAwB,CAAC,EAAU,CAAC,EAAG,CAC9C,IAAI,EAAI,EACR,IAAM,GAAW,EAAK,GAAqB,EAAQ,OAAO,IAAM,KAAO,EAAK,mDACtE,GAAgB,EAAK,EAAQ,OAAS,KAAO,EAAK,uBAClD,EAAa,IAAM,GACvB,CACE,iBAAkB,GAAW,CAC3B,OAAQ,EAAQ,OAChB,wBAAyB,+BACzB,YAAa,sBACf,CAAC,KACE,EAAQ,OACb,EACA,iBAAiB,IACnB,EACM,EAAkB,CAAC,IAAY,CACnC,IAAI,EACJ,OAAO,IAAI,GAAgC,EAAS,CAClD,SAAU,EACV,UACA,QAAS,EACT,YAAa,EAAM,EAAQ,aAAe,KAAO,EAAM,EACvD,cAAe,KAAO,CACpB,IAAK,CAGH,IAAI,OAAO,IAAI,aAAmB,EAElC,IAAI,OACF,sEACF,EACA,IAAI,OAAO,gDAAgD,CAC7D,CACF,GACA,MAAO,EAAQ,KACjB,CAAC,GAEG,EAAuB,CAAC,IAAY,IAAI,GAAiC,EAAS,CACtF,SAAU,EACV,UACA,QAAS,EACT,MAAO,EAAQ,KACjB,CAAC,EACK,EAAmB,CAAC,EAAS,EAAW,CAAC,IAAM,IAAI,GAA6B,EAAS,EAAU,CACvG,SAAU,EACV,UACA,QAAS,EACT,MAAO,EAAQ,KACjB,CAAC,EACK,EAAmB,CAAC,IAAY,CACpC,IAAI,EACJ,OAAO,IAAI,GAA6B,EAAS,CAC/C,SAAU,EACV,UACA,QAAS,EACT,MAAO,EAAQ,MACf,YAAa,EAAM,EAAQ,aAAe,KAAO,EAAM,CACzD,CAAC,GAEG,EAA0B,CAAC,IAAmB,CAClD,IAAI,EACJ,OAAO,IAAI,GACT,EACA,CACE,SAAU,GAAG,iBACb,UACA,QAAS,EACT,YAAa,EAAM,EAAQ,aAAe,KAAO,EAAM,EACvD,MAAO,EAAQ,KACjB,CACF,GAEI,EAAW,QAAQ,CAAC,EAAS,CACjC,GAAI,WACF,MAAU,MACR,gFACF,EAEF,OAAO,EAAgB,CAAO,GAgBhC,OAdA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,KAAO,EAChB,EAAS,aAAe,EACxB,EAAS,UAAY,EACrB,EAAS,eAAiB,EAC1B,EAAS,cAAgB,EACzB,EAAS,mBAAqB,EAC9B,EAAS,MAAQ,EACjB,EAAS,WAAa,EACtB,EAAS,MAAQ,EACjB,EAAS,WAAa,EACtB,EAAS,aAAe,EACxB,EAAS,MAAQ,GACV,EAET,IAAI,GAAS,GAAyB",
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "1500FEAD25CC752464756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|