@posthog/ai 8.7.0 → 8.7.1

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/dist/index.cjs CHANGED
@@ -172,11 +172,15 @@ function redactBase64DataUrl(str, mediaType) {
172
172
  const sanitizeVercel = data => redactor.redact(data);
173
173
 
174
174
  const TOKEN_PROPERTY_KEYS = new Set(['$ai_input_tokens', '$ai_output_tokens', '$ai_cache_read_input_tokens', '$ai_cache_creation_input_tokens', '$ai_total_tokens', '$ai_reasoning_tokens']);
175
+ /**
176
+ * Whether the caller supplied their own token counts, which override the ones the SDK
177
+ * derived from the provider response.
178
+ */
179
+ function hasTokenOverrides(posthogProperties) {
180
+ return !!posthogProperties && Object.keys(posthogProperties).some(key => TOKEN_PROPERTY_KEYS.has(key));
181
+ }
175
182
  function getTokensSource(posthogProperties) {
176
- if (posthogProperties && Object.keys(posthogProperties).some(key => TOKEN_PROPERTY_KEYS.has(key))) {
177
- return 'passthrough';
178
- }
179
- return 'sdk';
183
+ return hasTokenOverrides(posthogProperties) ? 'passthrough' : 'sdk';
180
184
  }
181
185
  // limit large outputs by truncating to 200kb (approx 200k bytes)
182
186
  const MAX_OUTPUT_SIZE = 200000;
@@ -391,7 +395,7 @@ function sanitizeValues(obj) {
391
395
  return jsonSafe;
392
396
  }
393
397
 
394
- var version = "8.7.0";
398
+ var version = "8.7.1";
395
399
 
396
400
  const DEFAULT_MAX_DEPTH = 3;
397
401
  const MAX_STACK_LINES = 20;
@@ -548,6 +552,9 @@ const captureAiGeneration = async (client, options) => {
548
552
  $ai_total_cost_usd: inputCostUSD + outputCostUSD
549
553
  };
550
554
  }
555
+ // The caller's own token counts override the SDK-derived ones further down, via the
556
+ // `options.properties` spread.
557
+ const tokensOverridden = hasTokenOverrides(options.properties);
551
558
  const additionalTokenValues = {
552
559
  ...(usage.reasoningTokens ? {
553
560
  $ai_reasoning_tokens: usage.reasoningTokens
@@ -558,6 +565,18 @@ const captureAiGeneration = async (client, options) => {
558
565
  ...(usage.cacheCreationInputTokens ? {
559
566
  $ai_cache_creation_input_tokens: usage.cacheCreationInputTokens
560
567
  } : {}),
568
+ // Checked against undefined rather than truthiness, because false is the meaningful
569
+ // value here and a truthiness guard would drop it.
570
+ //
571
+ // Dropped entirely when the caller overrides the token counts: the flag describes how
572
+ // the SDK-derived counts relate to each other, so against passthrough counts it can be
573
+ // wrong in the expensive direction. Declaring inclusive over counts that are actually
574
+ // exclusive makes ingestion subtract the cache pool that was never in the input. A
575
+ // caller who knows their own accounting model can still pass
576
+ // `$ai_cache_reporting_exclusive` themselves, and that value wins.
577
+ ...(usage.cacheReportingExclusive !== undefined && !tokensOverridden ? {
578
+ $ai_cache_reporting_exclusive: usage.cacheReportingExclusive
579
+ } : {}),
561
580
  ...(usage.webSearchCount ? {
562
581
  $ai_web_search_count: usage.webSearchCount
563
582
  } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/typeGuards.ts","../src/sanitization/base64_recognizer.ts","../src/sanitization/media_type_context.ts","../src/sanitization/binary_content_redactor.ts","../src/sanitization.ts","../src/utils.ts","../src/serializeError.ts","../src/gatewayWarning.ts","../src/captureAiGeneration.ts","../src/vercel/middleware.ts","../src/prompts.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["isString","value","isObject","Array","isArray","DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","constructor","parent","key","explicitMediaType","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","undefined","hint","v","fmt","format","has","toLowerCase","t","type","includes","hasExplicitBinaryMediaType","startsWith","signalsBinary","EMPTY","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","recognizer","visited","WeakSet","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","map","item","obj","out","k","Object","keys","recognitionValue","replace","Math","min","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactBase64DataUrl","str","sanitizeVercel","data","TOKEN_PROPERTY_KEYS","getTokensSource","posthogProperties","some","MAX_OUTPUT_SIZE","STRING_FORMAT","sharedTextEncoder","TextEncoder","sharedTextDecoder","TextDecoder","fatal","utf8ByteLength","encode","byteLength","toContentString","content","JSON","stringify","String","getModelParams","params","responseServiceTier","modelParams","paramKeys","withPrivacyMode","client","privacyMode","input","privacy_mode","toSafeString","console","warn","truncate","buffer","decode","truncatedBuffer","truncatedStr","endsWith","calculateWebSearchCount","result","output","count","citations","search_results","usage","search_context_size","choices","choice","message","delta","annotations","hasUrlCitation","ann","contentItem","candidates","candidate","grounding_metadata","extractAvailableToolCalls","provider","tools","AIEvent","sanitizeValues","jsonSafe","parse","fromEntries","entries","DEFAULT_MAX_DEPTH","MAX_STACK_LINES","serializeError","depth","Error","name","stack","truncateStack","cause","stringifyError","error","lines","split","join","POSTHOG_AI_GATEWAY_HOSTS","GATEWAY_DOCS_URL","extractHost","baseURL","hasScheme","URL","hostname","isPostHogAiGatewayUrl","host","warnIfPostHogAiGateway","captureAiGeneration","options","capture","traceId","uuidv4","eventType","Generation","shouldRedact","safeInput","toJsonSafeValue","safeOutput","httpStatus","errorData","status","statusCode","exceptionId","enableExceptionAutocapture","uuidv7","captureException","$ai_trace_id","__posthog_previously_captured_error","$ai_is_error","$ai_error","$exception_event_id","costOverrideData","costOverride","inputCostUSD","inputCost","inputTokens","outputCostUSD","outputCost","outputTokens","$ai_input_cost_usd","$ai_output_cost_usd","$ai_total_cost_usd","additionalTokenValues","reasoningTokens","$ai_reasoning_tokens","cacheReadInputTokens","$ai_cache_read_input_tokens","cacheCreationInputTokens","$ai_cache_creation_input_tokens","webSearchCount","$ai_web_search_count","rawUsage","$ai_usage","properties","$ai_lib","$ai_lib_version","version","$ai_provider","providerOverride","$ai_model","modelOverride","model","$ai_model_parameters","modelParameters","$ai_input","$ai_output_choices","$ai_http_status","$ai_input_tokens","$ai_output_tokens","latency","$ai_latency","timeToFirstToken","$ai_time_to_first_token","$ai_base_url","$ai_tokens_source","distinctId","$process_person_profile","stopReason","$ai_stop_reason","$ai_tools","completionId","$ai_completion_id","providerMetadata","$ai_provider_metadata","event","groups","captureImmediate","isV3Model","specificationVersion","getSpecificationVersion","redactFileData","toString","protocol","mapVercelParams","temperature","max_output_tokens","maxOutputTokens","top_p","topP","frequency_penalty","frequencyPenalty","presence_penalty","presencePenalty","stop","stopSequences","stream","mapVercelPrompt","messages","inputs","role","text","c","fileData","file","toolCallId","toolName","isError","messageSizes","m","totalBytes","max","size","removedCount","splice","unshift","mapVercelOutput","toolCall","rawArgs","args","arguments","id","function","sourceType","url","title","jsonOutput","extractProvider","providerName","extractBaseURL","config","urlFn","path","modelId","extractWebSearchCount","anthropic","serverToolUse","server_tool_use","web_search_requests","extractTokenCount","total","extractUsageToken","topLevelKey","nestedObjectKey","nestedValueKey","nestedTokens","extractReasoningTokens","extractCacheReadTokens","extractCacheWriteTokens","cacheWrite","extractAdditionalTokenValues","isAnthropicClaudeModel","adjustAnthropicV3CacheTokens","cacheReadTokens","cacheWriteTokens","cacheTokens","wrapVercelLanguageModel","phClient","posthogTraceId","mergedOptions","posthogDistinctId","$ai_framework","$ai_framework_version","baseOptions","posthogGroups","posthogPrivacyMode","posthogModelOverride","posthogProviderOverride","posthogCostOverride","posthogCaptureImmediate","wrappedModel","create","doGenerate","startTime","Date","now","mergedParams","availableTools","response","usageObj","rawUsageData","responseBody","body","rawResponse","usageMetadata","rawFinishReason","finishReason","finishReasonStr","unified","prompt","writable","configurable","enumerable","doStream","firstTokenTime","generatedText","reasoningText","toolCallsInProgress","Map","captureStreamGeneration","captureOptions","rest","reader","getReader","inBandError","hasInBandError","finalizationPromise","observeChunk","chunk","set","get","chunkUsage","finalize","terminalError","push","values","finalUsage","finishError","catch","instrumentedStream","ReadableStream","pull","controller","read","done","close","enqueue","cancel","reason","highWaterMark","DEFAULT_CACHE_TTL_SECONDS","DEFAULT_PROMPTS_HOST","normalizeApiKey","trim","normalizeHost","normalizedHost","extractConfig","cloneConfig","structuredClone","isPromptApiResponse","record","label","isPromptsWithPostHog","Prompts","cache","defaultCacheTtlSeconds","personalApiKey","posthog","projectApiKey","apiKey","getPromptCache","getOrCreatePromptCache","cachedPromptVersions","promptVersions","getPromptReference","getInternal","fallback","promptReference","source","cacheTtlSeconds","cacheEntryKey","cached","isFresh","fetchedAt","_","cachedResult","fetched","fetchPromptFromApi","compile","variables","match","variableName","clearCache","clear","delete","encodedPromptName","encodeURIComponent","encodedProjectApiKey","versionQuery","labelQuery","fetch","method","headers","Authorization","ok","json"],"mappings":";;;;;AAAA;AAEO,MAAMA,QAAQ,GAAIC,KAAc,IAAqB;EAC1D,OAAO,OAAOA,KAAK,KAAK,QAAQ;AAClC,CAAC;AAEM,MAAMC,QAAQ,GAAID,KAAc,IAAsC;AAC3E,EAAA,OAAOA,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC;AAC7E,CAAC;;ACRD,MAAMI,kBAAkB,GAAG,yCAAyC;AACpE,MAAMC,kBAAkB,GAAG,qBAAqB;MAInCC,gBAAgB,CAAA;AAC3BC,EAAAA,SAASA,CAACP,KAAa,EAAEQ,SAAiB,EAAA;AACxC,IAAA,MAAMC,OAAO,GAAGL,kBAAkB,CAACM,IAAI,CAACV,KAAK,CAAC;IAC9C,IAAIS,OAAO,EAAE,OAAO;AAAEE,MAAAA,IAAI,EAAE,UAAU;MAAEC,SAAS,EAAEH,OAAO,CAAC,CAAC;KAAG;AAE/D,IAAA,IAAIT,KAAK,CAACa,MAAM,GAAGL,SAAS,EAAE,OAAO;AAAEG,MAAAA,IAAI,EAAE;KAAQ;IAErD,MAAMG,gBAAgB,GAAGd,KAAK,CAACe,KAAK,CAAC,CAAC,EAAEP,SAAS,CAAC;AAClD,IAAA,IAAIH,kBAAkB,CAACW,IAAI,CAACF,gBAAgB,CAAC,EAAE;MAC7C,OAAO;AAAEH,QAAAA,IAAI,EAAE;OAAO;AACxB,IAAA,CAAC,MAAM;MACL,OAAO;AAAEA,QAAAA,IAAI,EAAE;OAAQ;AACzB,IAAA;AACF,EAAA;AACD;;ACnBD,MAAMM,cAAc,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAU;AAEpF,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAAC,CAClC,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,QAAQ,CACT,CAAC;AAEF,MAAMC,oBAAoB,GAAG,IAAID,GAAG,CAAC,CACnC,OAAO,EACP,WAAW,EACX,aAAa,EACb,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,EACP,WAAW,CACZ,CAAC;AAEF,MAAME,iBAAiB,GAAG,IAAIF,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAE3F,MAAMG,mBAAmB,GAAG,IAAIH,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;MAE3EI,gBAAgB,CAAA;AAG3BC,EAAAA,WAAAA,CACmBC,MAA2C,EAC3CC,GAAuB,EACvBC,iBAA0B,EAAA;IAF1B,IAAA,CAAAF,MAAM,GAANA,MAAM;IACN,IAAA,CAAAC,GAAG,GAAHA,GAAG;IACH,IAAA,CAAAC,iBAAiB,GAAjBA,iBAAiB;AACjC,EAAA;AAEHC,EAAAA,cAAcA,GAAA;IACZ,OACE,IAAI,CAACC,oBAAoB,EAAE,IAAI,IAAI,CAACC,sBAAsB,EAAE,IAAI,IAAI,CAACC,mBAAmB,EAAE,IAAI,IAAI,CAACC,YAAY,EAAE;AAErH,EAAA;AAEAH,EAAAA,oBAAoBA,GAAA;AAClB,IAAA,IAAI,IAAI,CAACF,iBAAiB,EAAE,OAAO,IAAI,CAACA,iBAAiB;AACzD,IAAA,IAAI,CAAC,IAAI,CAACF,MAAM,EAAE,OAAOQ,SAAS;AAClC,IAAA,KAAK,MAAMC,IAAI,IAAIjB,cAAc,EAAE;AACjC,MAAA,MAAMkB,CAAC,GAAG,IAAI,CAACV,MAAM,CAACS,IAAI,CAAC;AAC3B,MAAA,IAAI,OAAOC,CAAC,KAAK,QAAQ,EAAE,OAAOA,CAAC;AACrC,IAAA;AACA,IAAA,OAAOF,SAAS;AAClB,EAAA;AAEAH,EAAAA,sBAAsBA,GAAA;AACpB,IAAA,IAAI,CAAC,IAAI,CAACL,MAAM,EAAE,OAAOQ,SAAS;AAClC,IAAA,MAAMG,GAAG,GAAG,IAAI,CAACX,MAAM,CAACY,MAAM;AAC9B,IAAA,IAAI,OAAOD,GAAG,KAAK,QAAQ,IAAId,mBAAmB,CAACgB,GAAG,CAACF,GAAG,CAACG,WAAW,EAAE,CAAC,EAAE;AACzE,MAAA,OAAO,SAASH,GAAG,CAACG,WAAW,EAAE,CAAA,CAAE;AACrC,IAAA;AACA,IAAA,OAAON,SAAS;AAClB,EAAA;AAEAF,EAAAA,mBAAmBA,GAAA;AACjB,IAAA,IAAI,CAAC,IAAI,CAACN,MAAM,EAAE,OAAOQ,SAAS;AAClC,IAAA,MAAMO,CAAC,GAAG,IAAI,CAACf,MAAM,CAACgB,IAAI;AAC1B,IAAA,IAAI,OAAOD,CAAC,KAAK,QAAQ,EAAE,OAAOP,SAAS;AAC3C,IAAA,IAAIO,CAAC,KAAK,OAAO,IAAIA,CAAC,KAAK,WAAW,IAAIA,CAAC,KAAK,aAAa,EAAE,OAAO,OAAO;IAC7E,IAAIA,CAAC,KAAK,OAAO,IAAIA,CAAC,KAAK,aAAa,EAAE,OAAO,OAAO;IACxD,IAAIA,CAAC,KAAK,OAAO,IAAIA,CAAC,KAAK,WAAW,EAAE,OAAO,OAAO;IACtD,IAAInB,iBAAiB,CAACiB,GAAG,CAACE,CAAC,CAAC,EAAE,OAAO,0BAA0B;AAC/D,IAAA,OAAOP,SAAS;AAClB,EAAA;AAEAD,EAAAA,YAAYA,GAAA;AACV,IAAA,IAAI,CAAC,IAAI,CAACN,GAAG,EAAE,OAAOO,SAAS;IAC/B,MAAMP,GAAG,GAAG,IAAI,CAACA,GAAG,CAACa,WAAW,EAAE;IAClC,IAAIb,GAAG,CAACgB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,OAAO;IACzC,IAAIhB,GAAG,CAACgB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,OAAO;IACzC,IAAIhB,GAAG,CAACgB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,OAAO;AACzC,IAAA,IAAIhB,GAAG,CAACgB,QAAQ,CAAC,MAAM,CAAC,IAAIhB,GAAG,CAACgB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,0BAA0B;AACvF,IAAA,OAAOT,SAAS;AAClB,EAAA;AAEAU,EAAAA,0BAA0BA,GAAA;IACxB,IAAI,CAAC,IAAI,CAAChB,iBAAiB,KAAK,CAAC,IAAI,CAACF,MAAM,IAAI,CAAC,IAAI,CAACC,GAAG,IAAI,CAACR,mBAAmB,CAACoB,GAAG,CAAC,IAAI,CAACZ,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK;AAC9G,IAAA,MAAMd,SAAS,GAAG,IAAI,CAACiB,oBAAoB,EAAE;AAC7C,IAAA,OAAOjB,SAAS,KAAKqB,SAAS,IAAI,CAACrB,SAAS,CAAC2B,WAAW,EAAE,CAACK,UAAU,CAAC,OAAO,CAAC;AAChF,EAAA;AAEAC,EAAAA,aAAaA,GAAA;AACX,IAAA,IAAI,IAAI,CAAClB,iBAAiB,EAAE,OAAO,IAAI;IACvC,IAAI,IAAI,CAACF,MAAM,EAAE;AACf,MAAA,KAAK,MAAMS,IAAI,IAAIjB,cAAc,EAAE;QACjC,IAAI,OAAO,IAAI,CAACQ,MAAM,CAACS,IAAI,CAAC,KAAK,QAAQ,EAAE,OAAO,IAAI;AACxD,MAAA;AACA,MAAA,MAAME,GAAG,GAAG,IAAI,CAACX,MAAM,CAACY,MAAM;AAC9B,MAAA,IAAI,OAAOD,GAAG,KAAK,QAAQ,IAAId,mBAAmB,CAACgB,GAAG,CAACF,GAAG,CAACG,WAAW,EAAE,CAAC,EAAE,OAAO,IAAI;AACtF,MAAA,MAAMC,CAAC,GAAG,IAAI,CAACf,MAAM,CAACgB,IAAI;AAC1B,MAAA,IAAI,OAAOD,CAAC,KAAK,QAAQ,IAAIpB,oBAAoB,CAACkB,GAAG,CAACE,CAAC,CAAC,EAAE,OAAO,IAAI;AACvE,IAAA;AACA,IAAA,IAAI,IAAI,CAACd,GAAG,IAAIR,mBAAmB,CAACoB,GAAG,CAAC,IAAI,CAACZ,GAAG,CAAC,EAAE,OAAO,IAAI;AAC9D,IAAA,OAAO,KAAK;AACd,EAAA;;AAzEgBH,gBAAA,CAAAuB,KAAK,GAAG,IAAIvB,gBAAgB,CAACU,SAAS,EAAEA,SAAS,CAAC;;ACpCpE,MAAMc,yBAAyB,GAAG,EAAE;AACpC,MAAMC,uBAAuB,GAAG,IAAI;MAEvBC,qBAAqB,CAAA;AAGhCzB,EAAAA,WAAAA,CAA6B0B,UAAA,GAA+B,IAAI5C,gBAAgB,EAAE,EAAA;IAArD,IAAA,CAAA4C,UAAU,GAAVA,UAAU;AAF/B,IAAA,IAAA,CAAAC,OAAO,GAAoB,IAAIC,OAAO,EAAE;AAEqC,EAAA;AAGrFC,EAAAA,MAAMA,CAACrD,KAAc,EAAEY,SAAkB,EAAA;AACvC,IAAA,IAAI,IAAI,CAAC0C,mBAAmB,EAAE,EAAE,OAAOtD,KAAK;AAC5C,IAAA,IAAI,CAACmD,OAAO,GAAG,IAAIC,OAAO,EAAE;IAC5B,OAAO,IAAI,CAACG,IAAI,CAACvD,KAAK,EAAEY,SAAS,GAAG,IAAIW,gBAAgB,CAACU,SAAS,EAAEA,SAAS,EAAErB,SAAS,CAAC,GAAGW,gBAAgB,CAACuB,KAAK,CAAC;AACrH,EAAA;AAEQS,EAAAA,IAAIA,CAACvD,KAAc,EAAEwD,GAAqB,EAAA;IAChD,IAAIxD,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKiC,SAAS,EAAE,OAAOjC,KAAK;AACvD,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI,CAACyD,YAAY,CAACzD,KAAK,EAAEwD,GAAG,CAAC;AACnE,IAAA,IAAI,OAAOxD,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;AAE3C;IACA,IAAI,OAAO0D,UAAU,KAAK,WAAW,IAAI1D,KAAK,YAAY0D,UAAU,EAAE;MACpE,OAAO,IAAI,CAACC,cAAc,CAACH,GAAG,CAAC5B,cAAc,EAAE,CAAC;AAClD,IAAA;IAEA,IAAI,IAAI,CAACuB,OAAO,CAACb,GAAG,CAACtC,KAAK,CAAC,EAAE,OAAO,IAAI;AACxC,IAAA,IAAI,CAACmD,OAAO,CAACS,GAAG,CAAC5D,KAAK,CAAC;AAEvB,IAAA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;AACxB,MAAA,OAAOA,KAAK,CAAC6D,GAAG,CAAEC,IAAI,IAAK,IAAI,CAACP,IAAI,CAACO,IAAI,EAAEN,GAAG,CAAC,CAAC;AAClD,IAAA;IAEA,MAAMO,GAAG,GAAG/D,KAAgC;IAC5C,MAAMgE,GAAG,GAA4B,EAAE;IACvC,KAAK,MAAMC,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACJ,GAAG,CAAC,EAAE;MAChCC,GAAG,CAACC,CAAC,CAAC,GAAG,IAAI,CAACV,IAAI,CAACQ,GAAG,CAACE,CAAC,CAAC,EAAE,IAAI1C,gBAAgB,CAACwC,GAAG,EAAEE,CAAC,CAAC,CAAC;AAC1D,IAAA;AACA,IAAA,OAAOD,GAAG;AACZ,EAAA;AAEQP,EAAAA,YAAYA,CAACzD,KAAa,EAAEwD,GAAqB,EAAA;AACvD,IAAA,MAAMb,0BAA0B,GAAGa,GAAG,CAACb,0BAA0B,EAAE;AACnE,IAAA,MAAMyB,gBAAgB,GAAGzB,0BAA0B,GAAG3C,KAAK,CAACqE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAGrE,KAAK;IAC1F,MAAMQ,SAAS,GAAGmC,0BAA0B,GACxC2B,IAAI,CAACC,GAAG,CAACH,gBAAgB,CAACvD,MAAM,EAAEkC,yBAAyB,CAAC,GAC5DS,GAAG,CAACX,aAAa,EAAE,GACjBE,yBAAyB,GACzBC,uBAAuB;IAC7B,MAAMwB,WAAW,GAAG,IAAI,CAACtB,UAAU,CAAC3C,SAAS,CAAC6D,gBAAgB,EAAE5D,SAAS,CAAC;IAC1E,QAAQgE,WAAW,CAAC7D,IAAI;AACtB,MAAA,KAAK,UAAU;AACb,QAAA,OAAO,IAAI,CAACgD,cAAc,CAACa,WAAW,CAAC5D,SAAS,CAAC;AACnD,MAAA,KAAK,KAAK;QACR,OAAO,IAAI,CAAC+C,cAAc,CAACH,GAAG,CAAC5B,cAAc,EAAE,CAAC;AAClD,MAAA,KAAK,MAAM;AACT,QAAA,OAAO5B,KAAK;AAChB;AACF,EAAA;EAEQ2D,cAAcA,CAAC/C,SAAkB,EAAA;AACvC,IAAA,IAAI,CAACA,SAAS,EAAE,OAAO,mBAAmB;AAC1C,IAAA,IAAIA,SAAS,KAAK,0BAA0B,EAAE,OAAO,wBAAwB;IAC7E,OAAO,CAAA,QAAA,EAAWA,SAAS,CAAA,UAAA,CAAY;AACzC,EAAA;AAEQ0C,EAAAA,mBAAmBA,GAAA;IACzB,MAAMmB,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,yBAAyB,IAAI,EAAE;AACvD,IAAA,OAAOH,GAAG,CAAClC,WAAW,EAAE,KAAK,MAAM,IAAIkC,GAAG,KAAK,GAAG,IAAIA,GAAG,CAAClC,WAAW,EAAE,KAAK,KAAK;AACnF,EAAA;AACD;;ACtED,MAAMsC,QAAQ,GAAG,IAAI5B,qBAAqB,EAAE;AAItC,SAAU6B,mBAAmBA,CAACC,GAAY,EAAEnE,SAAkB,EAAA;AAClE,EAAA,OAAOiE,QAAQ,CAACxB,MAAM,CAAC0B,GAAG,EAAEnE,SAAS,CAAC;AACxC;AAOO,MAAMoE,cAAc,GAAIC,IAAa,IAAcJ,QAAQ,CAACxB,MAAM,CAAC4B,IAAI,CAAC;;ACM/E,MAAMC,mBAAmB,GAAG,IAAI/D,GAAG,CAAC,CAClC,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,iCAAiC,EACjC,kBAAkB,EAClB,sBAAsB,CACvB,CAAC;AAEI,SAAUgE,eAAeA,CAACC,iBAA2C,EAAA;EACzE,IAAIA,iBAAiB,IAAIlB,MAAM,CAACC,IAAI,CAACiB,iBAAiB,CAAC,CAACC,IAAI,CAAE3D,GAAG,IAAKwD,mBAAmB,CAAC5C,GAAG,CAACZ,GAAG,CAAC,CAAC,EAAE;AACnG,IAAA,OAAO,aAAa;AACtB,EAAA;AACA,EAAA,OAAO,KAAK;AACd;AAEA;AACO,MAAM4D,eAAe,GAAG,MAAM;AACrC,MAAMC,aAAa,GAAG,MAAM;AAE5B;AACA;AACA,MAAMC,iBAAiB,GAAG,IAAIC,WAAW,EAAE;AAC3C,MAAMC,iBAAiB,GAAG,IAAIC,WAAW,CAACJ,aAAa,EAAE;AAAEK,EAAAA,KAAK,EAAE;AAAK,CAAE,CAAC;AAEnE,MAAMC,cAAc,GAAId,GAAW,IAAaS,iBAAiB,CAACM,MAAM,CAACf,GAAG,CAAC,CAACgB,UAAU;AAE/F;;;;;;;;;;AAUG;AACG,SAAUC,eAAeA,CAACC,OAAgB,EAAA;AAC9C,EAAA,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;AAC/B,IAAA,OAAOA,OAAO;AAChB,EAAA;AACA,EAAA,IAAIA,OAAO,KAAKhE,SAAS,IAAIgE,OAAO,KAAK,IAAI,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC5E,IAAI;AACF,MAAA,OAAOC,IAAI,CAACC,SAAS,CAACF,OAAO,CAAC;AAChC,IAAA,CAAC,CAAC,MAAM;AACN;MACA,OAAOG,MAAM,CAACH,OAAO,CAAC;AACxB,IAAA;AACF,EAAA;EACA,OAAOG,MAAM,CAACH,OAAO,CAAC;AACxB;AAyBO,MAAMI,cAAc,GAAGA,CAC5BC,MAUQ,EACRC,mBAAmC,KACZ;EACvB,IAAI,CAACD,MAAM,EAAE;AACX,IAAA,OAAO,EAAE;AACX,EAAA;EACA,MAAME,WAAW,GAAwB,EAAE;AAC3C,EAAA,MAAMC,SAAS,GAAG,CAChB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,OAAO,EACP,mBAAmB,EACnB,kBAAkB,EAClB,GAAG,EACH,MAAM,EACN,QAAQ,EACR,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,CACN;AAEV,EAAA,KAAK,MAAM/E,GAAG,IAAI+E,SAAS,EAAE;IAC3B,IAAI/E,GAAG,IAAI4E,MAAM,IAAKA,MAAc,CAAC5E,GAAG,CAAC,KAAKO,SAAS,EAAE;AACvDuE,MAAAA,WAAW,CAAC9E,GAAG,CAAC,GAAI4E,MAAc,CAAC5E,GAAG,CAAC;AACzC,IAAA;AACF,EAAA;AAIA,EAAA,OAAO8E,WAAW;AACpB,CAAC;AA4OM,MAAME,eAAe,GAAGA,CAACC,MAAe,EAAEC,WAAoB,EAAEC,KAAU,KAAS;EACxF,OAAQF,MAAc,CAACG,YAAY,IAAIF,WAAW,GAAG,IAAI,GAAGC,KAAK;AACnE,CAAC;AAED,SAASE,YAAYA,CAACF,KAAc,EAAA;AAClC,EAAA,IAAIA,KAAK,KAAK5E,SAAS,IAAI4E,KAAK,KAAK,IAAI,EAAE;AACzC,IAAA,OAAO,EAAE;AACX,EAAA;AACA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK;AACd,EAAA;EACA,IAAI;AACF,IAAA,OAAOX,IAAI,CAACC,SAAS,CAACU,KAAK,CAAC;AAC9B,EAAA,CAAC,CAAC,MAAM;AACNG,IAAAA,OAAO,CAACC,IAAI,CAAC,2BAA2B,EAAEJ,KAAK,CAAC;AAChD,IAAA,OAAO,EAAE;AACX,EAAA;AACF;AAEO,MAAMK,QAAQ,GAAIL,KAAc,IAAY;AACjD,EAAA,MAAM9B,GAAG,GAAGgC,YAAY,CAACF,KAAK,CAAC;EAC/B,IAAI9B,GAAG,KAAK,EAAE,EAAE;AACd,IAAA,OAAO,EAAE;AACX,EAAA;AAEA;AACA,EAAA,MAAMoC,MAAM,GAAG3B,iBAAiB,CAACM,MAAM,CAACf,GAAG,CAAC;AAC5C,EAAA,IAAIoC,MAAM,CAACtG,MAAM,IAAIyE,eAAe,EAAE;AACpC;AACA,IAAA,OAAOI,iBAAiB,CAAC0B,MAAM,CAACD,MAAM,CAAC;AACzC,EAAA;AAEA;AACA;EACA,MAAME,eAAe,GAAGF,MAAM,CAACpG,KAAK,CAAC,CAAC,EAAEuE,eAAe,CAAC;AACxD,EAAA,IAAIgC,YAAY,GAAG5B,iBAAiB,CAAC0B,MAAM,CAACC,eAAe,CAAC;AAC5D,EAAA,IAAIC,YAAY,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IACnCD,YAAY,GAAGA,YAAY,CAACvG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1C,EAAA;EACA,OAAO,CAAA,EAAGuG,YAAY,CAAA,eAAA,CAAiB;AACzC,CAAC;AAED;;;;;;;;;AASG;AACG,SAAUE,uBAAuBA,CAACC,MAAe,EAAA;AACrD,EAAA,IAAI,CAACA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;AACzC,IAAA,OAAO,CAAC;AACV,EAAA;AAEA;AACA;AACA,EAAA,IAAI,QAAQ,IAAIA,MAAM,IAAIvH,KAAK,CAACC,OAAO,CAACsH,MAAM,CAACC,MAAM,CAAC,EAAE;IACtD,IAAIC,KAAK,GAAG,CAAC;AAEb,IAAA,KAAK,MAAM7D,IAAI,IAAI2D,MAAM,CAACC,MAAM,EAAE;AAChC,MAAA,IAAI,OAAO5D,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,MAAM,IAAIA,IAAI,IAAIA,IAAI,CAACrB,IAAI,KAAK,iBAAiB,EAAE;AAClGkF,QAAAA,KAAK,EAAE;AACT,MAAA;AACF,IAAA;IAEA,IAAIA,KAAK,GAAG,CAAC,EAAE;AACb,MAAA,OAAOA,KAAK;AACd,IAAA;AACF,EAAA;AAEA;AAEA;EACA,IAAI,WAAW,IAAIF,MAAM,IAAIvH,KAAK,CAACC,OAAO,CAACsH,MAAM,CAACG,SAAS,CAAC,IAAIH,MAAM,CAACG,SAAS,CAAC/G,MAAM,GAAG,CAAC,EAAE;AAC3F,IAAA,OAAO,CAAC;AACV,EAAA;AAEA;EACA,IAAI,gBAAgB,IAAI4G,MAAM,IAAIvH,KAAK,CAACC,OAAO,CAACsH,MAAM,CAACI,cAAc,CAAC,IAAIJ,MAAM,CAACI,cAAc,CAAChH,MAAM,GAAG,CAAC,EAAE;AAC1G,IAAA,OAAO,CAAC;AACV,EAAA;AAEA;AACA,EAAA,IAAI,OAAO,IAAI4G,MAAM,IAAI,OAAOA,MAAM,CAACK,KAAK,KAAK,QAAQ,IAAIL,MAAM,CAACK,KAAK,KAAK,IAAI,EAAE;IAClF,IAAI,qBAAqB,IAAIL,MAAM,CAACK,KAAK,IAAIL,MAAM,CAACK,KAAK,CAACC,mBAAmB,EAAE;AAC7E,MAAA,OAAO,CAAC;AACV,IAAA;AACF,EAAA;AAEA;AACA,EAAA,IAAI,SAAS,IAAIN,MAAM,IAAIvH,KAAK,CAACC,OAAO,CAACsH,MAAM,CAACO,OAAO,CAAC,EAAE;AACxD,IAAA,KAAK,MAAMC,MAAM,IAAIR,MAAM,CAACO,OAAO,EAAE;MACnC,IAAI,OAAOC,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;AACjD;QACA,MAAMhC,OAAO,GAAG,CAAC,SAAS,IAAIgC,MAAM,GAAGA,MAAM,CAACC,OAAO,GAAG,IAAI,MAAM,OAAO,IAAID,MAAM,GAAGA,MAAM,CAACE,KAAK,GAAG,IAAI,CAAC;AAE1G,QAAA,IAAI,OAAOlC,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,IAAI,aAAa,IAAIA,OAAO,EAAE;AAC/E,UAAA,MAAMmC,WAAW,GAAGnC,OAAO,CAACmC,WAAW;AAEvC,UAAA,IAAIlI,KAAK,CAACC,OAAO,CAACiI,WAAW,CAAC,EAAE;AAC9B,YAAA,MAAMC,cAAc,GAAGD,WAAW,CAAC/C,IAAI,CAAEiD,GAAY,IAAI;AACvD,cAAA,OAAO,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,IAAI,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAAC7F,IAAI,KAAK,cAAc;AAChG,YAAA,CAAC,CAAC;AAEF,YAAA,IAAI4F,cAAc,EAAE;AAClB,cAAA,OAAO,CAAC;AACV,YAAA;AACF,UAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEA;AACA,EAAA,IAAI,QAAQ,IAAIZ,MAAM,IAAIvH,KAAK,CAACC,OAAO,CAACsH,MAAM,CAACC,MAAM,CAAC,EAAE;AACtD,IAAA,KAAK,MAAM5D,IAAI,IAAI2D,MAAM,CAACC,MAAM,EAAE;AAChC,MAAA,IAAI,OAAO5D,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,SAAS,IAAIA,IAAI,EAAE;AAClE,QAAA,MAAMmC,OAAO,GAAGnC,IAAI,CAACmC,OAAO;AAE5B,QAAA,IAAI/F,KAAK,CAACC,OAAO,CAAC8F,OAAO,CAAC,EAAE;AAC1B,UAAA,KAAK,MAAMsC,WAAW,IAAItC,OAAO,EAAE;AACjC,YAAA,IAAI,OAAOsC,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,IAAI,IAAI,aAAa,IAAIA,WAAW,EAAE;AAC3F,cAAA,MAAMH,WAAW,GAAGG,WAAW,CAACH,WAAW;AAE3C,cAAA,IAAIlI,KAAK,CAACC,OAAO,CAACiI,WAAW,CAAC,EAAE;AAC9B,gBAAA,MAAMC,cAAc,GAAGD,WAAW,CAAC/C,IAAI,CAAEiD,GAAY,IAAI;AACvD,kBAAA,OAAO,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,IAAI,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAAC7F,IAAI,KAAK,cAAc;AAChG,gBAAA,CAAC,CAAC;AAEF,gBAAA,IAAI4F,cAAc,EAAE;AAClB,kBAAA,OAAO,CAAC;AACV,gBAAA;AACF,cAAA;AACF,YAAA;AACF,UAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEA;AACA,EAAA,IAAI,YAAY,IAAIZ,MAAM,IAAIvH,KAAK,CAACC,OAAO,CAACsH,MAAM,CAACe,UAAU,CAAC,EAAE;AAC9D,IAAA,KAAK,MAAMC,SAAS,IAAIhB,MAAM,CAACe,UAAU,EAAE;AACzC,MAAA,IACE,OAAOC,SAAS,KAAK,QAAQ,IAC7BA,SAAS,KAAK,IAAI,IAClB,oBAAoB,IAAIA,SAAS,IACjCA,SAAS,CAACC,kBAAkB,EAC5B;AACA,QAAA,OAAO,CAAC;AACV,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,OAAO,CAAC;AACV;AAEA;;;AAGG;AACI,MAAMC,yBAAyB,GAAGA,CAACC,QAAgB,EAAEtC,MAAW,KAAsB;EAmBzD;IAChC,IAAIA,MAAM,CAACuC,KAAK,EAAE;MAChB,OAAOvC,MAAM,CAACuC,KAAK;AACrB,IAAA;AAEA,IAAA,OAAO,IAAI;AACb,EAAA;AAGF,CAAC;AAEWC;AAAZ,CAAA,UAAYA,OAAO,EAAA;AACjBA,EAAAA,OAAA,CAAA,YAAA,CAAA,GAAA,gBAA6B;AAC7BA,EAAAA,OAAA,CAAA,WAAA,CAAA,GAAA,eAA2B;AAC7B,CAAC,EAHWA,eAAO,KAAPA,eAAO,GAAA,EAAA,CAAA,CAAA;AAKb,SAAUC,cAAcA,CAAChF,GAAQ,EAAA;AACrC,EAAA,IAAIA,GAAG,KAAK9B,SAAS,IAAI8B,GAAG,KAAK,IAAI,EAAE;AACrC,IAAA,OAAOA,GAAG;AACZ,EAAA;AACA,EAAA,MAAMiF,QAAQ,GAAG9C,IAAI,CAAC+C,KAAK,CAAC/C,IAAI,CAACC,SAAS,CAACpC,GAAG,CAAC,CAAC;AAChD,EAAA,IAAI,OAAOiF,QAAQ,KAAK,QAAQ,EAAE;AAChC;AACA,IAAA,OAAO,IAAIrD,WAAW,EAAE,CAACyB,MAAM,CAAC,IAAI3B,WAAW,EAAE,CAACK,MAAM,CAACkD,QAAQ,CAAC,CAAC;EACrE,CAAC,MAAM,IAAI9I,KAAK,CAACC,OAAO,CAAC6I,QAAQ,CAAC,EAAE;AAClC,IAAA,OAAOA,QAAQ,CAACnF,GAAG,CAACkF,cAAc,CAAC;EACrC,CAAC,MAAM,IAAIC,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;AACnD,IAAA,OAAO9E,MAAM,CAACgF,WAAW,CAAChF,MAAM,CAACiF,OAAO,CAACH,QAAQ,CAAC,CAACnF,GAAG,CAAC,CAAC,CAACI,CAAC,EAAE9B,CAAC,CAAC,KAAK,CAAC8B,CAAC,EAAE8E,cAAc,CAAC5G,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,EAAA;AACA,EAAA,OAAO6G,QAAQ;AACjB;;;;AC5kBA,MAAMI,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,eAAe,GAAG,EAAE;SAEVC,cAAcA,CAACtJ,KAAc,EAAEuJ,KAAK,GAAGH,iBAAiB,EAAA;AACtE,EAAA,IAAIG,KAAK,GAAG,CAAC,IAAIvJ,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC5D,IAAA,OAAOA,KAAK;AACd,EAAA;EACA,IAAIA,KAAK,YAAYwJ,KAAK,EAAE;AAC1B,IAAA,MAAMxF,GAAG,GAA4B;MACnCyF,IAAI,EAAEzJ,KAAK,CAACyJ,IAAI;MAChBvB,OAAO,EAAElI,KAAK,CAACkI,OAAO;AACtBwB,MAAAA,KAAK,EAAEC,aAAa,CAAC3J,KAAK,CAAC0J,KAAK;KACjC;IACD,KAAK,MAAMhI,GAAG,IAAIwC,MAAM,CAACC,IAAI,CAACnE,KAAK,CAAC,EAAE;AACpCgE,MAAAA,GAAG,CAACtC,GAAG,CAAC,GAAG4H,cAAc,CAAEtJ,KAA4C,CAAC0B,GAAG,CAAC,EAAE6H,KAAK,GAAG,CAAC,CAAC;AAC1F,IAAA;AACA,IAAA,IAAIvJ,KAAK,CAAC4J,KAAK,KAAK3H,SAAS,EAAE;AAC7B+B,MAAAA,GAAG,CAAC4F,KAAK,GAAGN,cAAc,CAACtJ,KAAK,CAAC4J,KAAK,EAAEL,KAAK,GAAG,CAAC,CAAC;AACpD,IAAA;AACA,IAAA,OAAOvF,GAAG;AACZ,EAAA;AACA,EAAA,IAAI9D,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;AACxB,IAAA,OAAOA,KAAK,CAAC6D,GAAG,CAAEC,IAAI,IAAKwF,cAAc,CAACxF,IAAI,EAAEyF,KAAK,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAA;AACA,EAAA,OAAOvJ,KAAK;AACd;AAEM,SAAU6J,cAAcA,CAACC,KAAc,EAAA;EAC3C,IAAI;IACF,OAAO5D,IAAI,CAACC,SAAS,CAAC4C,cAAc,CAACO,cAAc,CAACQ,KAAK,CAAC,CAAC,CAAC;AAC9D,EAAA,CAAC,CAAC,MAAM;IACN,IAAIA,KAAK,YAAYN,KAAK,EAAE;MAC1B,OAAOtD,IAAI,CAACC,SAAS,CAAC;QAAEsD,IAAI,EAAEK,KAAK,CAACL,IAAI;QAAEvB,OAAO,EAAE4B,KAAK,CAAC5B;AAAO,OAAE,CAAC;AACrE,IAAA;IACA,OAAOhC,IAAI,CAACC,SAAS,CAAC;MAAE+B,OAAO,EAAE9B,MAAM,CAAC0D,KAAK;AAAC,KAAE,CAAC;AACnD,EAAA;AACF;AAEA,SAASH,aAAaA,CAACD,KAAyB,EAAA;EAC9C,IAAI,CAACA,KAAK,EAAE;AACV,IAAA,OAAOA,KAAK;AACd,EAAA;AACA,EAAA,MAAMK,KAAK,GAAGL,KAAK,CAACM,KAAK,CAAC,IAAI,CAAC;AAC/B,EAAA,IAAID,KAAK,CAAClJ,MAAM,IAAIwI,eAAe,EAAE;AACnC,IAAA,OAAOK,KAAK;AACd,EAAA;AACA,EAAA,OAAO,CAAC,GAAGK,KAAK,CAAChJ,KAAK,CAAC,CAAC,EAAEsI,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAACY,IAAI,CAAC,IAAI,CAAC;AAC3E;;ACjDA;AACA;AACA;AACA;AAEA;AACA;AACA;AACO,MAAMC,wBAAwB,GAAsB,CACzD,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,CAC5B;AAED;AACA,MAAMC,gBAAgB,GAAG,2CAA2C;AAEpE,MAAMC,WAAW,GAAIC,OAAe,IAAwB;EAC1D,IAAI;AACF;AACA,IAAA,MAAMC,SAAS,GAAG,0BAA0B,CAACtJ,IAAI,CAACqJ,OAAO,CAAC;AAC1D,IAAA,OAAO,IAAIE,GAAG,CAACD,SAAS,GAAGD,OAAO,GAAG,CAAA,QAAA,EAAWA,OAAO,CAAA,CAAE,CAAC,CAACG,QAAQ,CAACjI,WAAW,EAAE;AACnF,EAAA,CAAC,CAAC,MAAM;AACN,IAAA,OAAON,SAAS;AAClB,EAAA;AACF,CAAC;AAEM,MAAMwI,qBAAqB,GAAIJ,OAAkC,IAAa;EACnF,IAAI,CAACA,OAAO,EAAE;AACZ,IAAA,OAAO,KAAK;AACd,EAAA;AACA,EAAA,MAAMK,IAAI,GAAGN,WAAW,CAACC,OAAO,CAAC;EACjC,OAAOK,IAAI,KAAKzI,SAAS,IAAIiI,wBAAwB,CAACxH,QAAQ,CAACgI,IAAI,CAAC;AACtE,CAAC;AAED;AACA;AACO,MAAMC,sBAAsB,GAAIN,OAAkC,IAAU;AACjF,EAAA,IAAI,CAACI,qBAAqB,CAACJ,OAAO,CAAC,EAAE;AACnC,IAAA;AACF,EAAA;EACArD,OAAO,CAACC,IAAI,CACV,yEAAyE,GACvE,kFAAkF,GAClF,CAAA,2BAAA,EAA8BkD,gBAAgB,CAAA,CAAA,CAAG,CACpD;AACH,CAAC;;ACiCD;;;;;;;;;;;;AAYG;AACI,MAAMS,mBAAmB,GAAG,OAAOjE,MAAe,EAAEkE,OAAmC,KAAmB;EAC/G,IAAI;AACF,IAAA,IAAI,CAAClE,MAAM,CAACmE,OAAO,EAAE;AACnB,MAAA;AACF,IAAA;AAEAH,IAAAA,sBAAsB,CAACE,OAAO,CAACR,OAAO,CAAC;IAEvC,MAAMU,OAAO,GAAGF,OAAO,CAACE,OAAO,IAAIC,OAAM,EAAE;IAC3C,MAAMC,SAAS,GAAGJ,OAAO,CAACI,SAAS,IAAInC,eAAO,CAACoC,UAAU;AACzD,IAAA,MAAMtE,WAAW,GAAGiE,OAAO,CAACjE,WAAW,IAAI,KAAK;AAChD,IAAA,MAAMkB,KAAK,GAAG+C,OAAO,CAAC/C,KAAK,IAAI,EAAE;AAEjC;AACA;AACA;IACA,MAAMqD,YAAY,GAAGzE,eAAe,CAACC,MAAM,EAAEC,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI;IACzE,MAAMwE,SAAS,GAAGD,YAAY,GAAG,IAAI,GAAGE,oBAAe,CAACR,OAAO,CAAChE,KAAK,CAAC;IACtE,MAAMyE,UAAU,GAAGH,YAAY,GAAG,IAAI,GAAGE,oBAAe,CAACR,OAAO,CAACnD,MAAM,CAAC;AAExE,IAAA,IAAI6D,UAAU,GAAGV,OAAO,CAACU,UAAU;IACnC,IAAIC,SAAS,GAA4B,EAAE;IAC3C,IAAIX,OAAO,CAACf,KAAK,EAAE;MACjB,IAAIyB,UAAU,KAAKtJ,SAAS,EAAE;QAC5B,IACE,OAAO4I,OAAO,CAACf,KAAK,KAAK,QAAQ,IACjC,QAAQ,IAAIe,OAAO,CAACf,KAAK,IACzB,OAAOe,OAAO,CAACf,KAAK,CAAC2B,MAAM,KAAK,QAAQ,EACxC;AACAF,UAAAA,UAAU,GAAGV,OAAO,CAACf,KAAK,CAAC2B,MAAM;QACnC,CAAC,MAAM,IACL,OAAOZ,OAAO,CAACf,KAAK,KAAK,QAAQ,IACjC,YAAY,IAAIe,OAAO,CAACf,KAAK,IAC7B,OAAOe,OAAO,CAACf,KAAK,CAAC4B,UAAU,KAAK,QAAQ,EAC5C;AACAH,UAAAA,UAAU,GAAGV,OAAO,CAACf,KAAK,CAAC4B,UAAU;AACvC,QAAA,CAAC,MAAM;AACLH,UAAAA,UAAU,GAAG,GAAG;AAClB,QAAA;AACF,MAAA;AAEA,MAAA,IAAII,WAA+B;AACnC,MAAA,IAAIhF,MAAM,CAACkE,OAAO,EAAEe,0BAA0B,EAAE;QAC9CD,WAAW,GAAGE,WAAM,EAAE;QACtBlF,MAAM,CAACmF,gBAAgB,CAACjB,OAAO,CAACf,KAAK,EAAE7H,SAAS,EAAE;AAAE8J,UAAAA,YAAY,EAAEhB;SAAS,EAAEY,WAAW,CAAC;AACzF,QAAA,IAAI,OAAOd,OAAO,CAACf,KAAK,KAAK,QAAQ,EAAE;AACrC,UAAA;AAAEe,UAAAA,OAAO,CAACf,KAAmD,CAACkC,mCAAmC,GAAG,IAAI;AAC1G,QAAA;AACF,MAAA;AAEAR,MAAAA,SAAS,GAAG;AACVS,QAAAA,YAAY,EAAE,IAAI;AAClBC,QAAAA,SAAS,EAAErC,cAAc,CAACgB,OAAO,CAACf,KAAK,CAAC;AACxCqC,QAAAA,mBAAmB,EAAER;OACtB;AACH,IAAA;IACAJ,UAAU,GAAGA,UAAU,IAAI,GAAG;IAE9B,IAAIa,gBAAgB,GAA2B,EAAE;IACjD,IAAIvB,OAAO,CAACwB,YAAY,EAAE;AACxB,MAAA,MAAMC,YAAY,GAAG,CAACzB,OAAO,CAACwB,YAAY,CAACE,SAAS,IAAI,CAAC,KAAKzE,KAAK,CAAC0E,WAAW,IAAI,CAAC,CAAC;AACrF,MAAA,MAAMC,aAAa,GAAG,CAAC5B,OAAO,CAACwB,YAAY,CAACK,UAAU,IAAI,CAAC,KAAK5E,KAAK,CAAC6E,YAAY,IAAI,CAAC,CAAC;AACxFP,MAAAA,gBAAgB,GAAG;AACjBQ,QAAAA,kBAAkB,EAAEN,YAAY;AAChCO,QAAAA,mBAAmB,EAAEJ,aAAa;QAClCK,kBAAkB,EAAER,YAAY,GAAGG;OACpC;AACH,IAAA;AAEA,IAAA,MAAMM,qBAAqB,GAAG;MAC5B,IAAIjF,KAAK,CAACkF,eAAe,GAAG;QAAEC,oBAAoB,EAAEnF,KAAK,CAACkF;OAAiB,GAAG,EAAE,CAAC;MACjF,IAAIlF,KAAK,CAACoF,oBAAoB,GAAG;QAAEC,2BAA2B,EAAErF,KAAK,CAACoF;OAAsB,GAAG,EAAE,CAAC;MAClG,IAAIpF,KAAK,CAACsF,wBAAwB,GAAG;QAAEC,+BAA+B,EAAEvF,KAAK,CAACsF;OAA0B,GAAG,EAAE,CAAC;MAC9G,IAAItF,KAAK,CAACwF,cAAc,GAAG;QAAEC,oBAAoB,EAAEzF,KAAK,CAACwF;OAAgB,GAAG,EAAE,CAAC;MAC/E,IAAIxF,KAAK,CAAC0F,QAAQ,GAAG;QAAEC,SAAS,EAAE3F,KAAK,CAAC0F;OAAU,GAAG,EAAE;KACxD;AAED,IAAA,MAAME,UAAU,GAA4B;AAC1CC,MAAAA,OAAO,EAAE,YAAY;AACrBC,MAAAA,eAAe,EAAEC,OAAO;AACxBC,MAAAA,YAAY,EAAEjD,OAAO,CAACkD,gBAAgB,IAAIlD,OAAO,CAACjC,QAAQ;AAC1DoF,MAAAA,SAAS,EAAEnD,OAAO,CAACoD,aAAa,IAAIpD,OAAO,CAACqD,KAAK;AACjDC,MAAAA,oBAAoB,EAAEtD,OAAO,CAACuD,eAAe,IAAI,EAAE;AACnDC,MAAAA,SAAS,EAAEjD,SAAS;AACpBkD,MAAAA,kBAAkB,EAAEhD,UAAU;AAC9BiD,MAAAA,eAAe,EAAEhD,UAAU;AAC3BiD,MAAAA,gBAAgB,EAAE1G,KAAK,CAAC0E,WAAW,IAAI,CAAC;AACxC,MAAA,IAAI1E,KAAK,CAAC6E,YAAY,KAAK1K,SAAS,GAAG;QAAEwM,iBAAiB,EAAE3G,KAAK,CAAC6E;OAAc,GAAG,EAAE,CAAC;AACtF,MAAA,GAAGI,qBAAqB;AACxB,MAAA,IAAIlC,OAAO,CAAC6D,OAAO,KAAKzM,SAAS,GAAG;QAAE0M,WAAW,EAAE9D,OAAO,CAAC6D;OAAS,GAAG,EAAE,CAAC;AAC1E,MAAA,IAAI7D,OAAO,CAAC+D,gBAAgB,KAAK3M,SAAS,GAAG;QAAE4M,uBAAuB,EAAEhE,OAAO,CAAC+D;OAAkB,GAAG,EAAE,CAAC;AACxG7C,MAAAA,YAAY,EAAEhB,OAAO;AACrB+D,MAAAA,YAAY,EAAEjE,OAAO,CAACR,OAAO,IAAI,EAAE;MACnC,GAAGQ,OAAO,CAAC6C,UAAU;AACrBqB,MAAAA,iBAAiB,EAAE5J,eAAe,CAAC0F,OAAO,CAAC6C,UAAU,CAAC;AACtD,MAAA,IAAI7C,OAAO,CAACmE,UAAU,GAAG,EAAE,GAAG;AAAEC,QAAAA,uBAAuB,EAAE;OAAO,CAAC;MACjE,IAAIpE,OAAO,CAACqE,UAAU,GAAG;QAAEC,eAAe,EAAEtE,OAAO,CAACqE;OAAY,GAAG,EAAE,CAAC;MACtE,IAAIrE,OAAO,CAAChC,KAAK,GAAG;QAAEuG,SAAS,EAAEvE,OAAO,CAAChC;OAAO,GAAG,EAAE,CAAC;MACtD,IAAIgC,OAAO,CAACwE,YAAY,GAAG;QAAEC,iBAAiB,EAAEzE,OAAO,CAACwE;OAAc,GAAG,EAAE,CAAC;AAC5E,MAAA,IAAIxE,OAAO,CAAC0E,gBAAgB,IAAIrL,MAAM,CAACC,IAAI,CAAC0G,OAAO,CAAC0E,gBAAgB,CAAC,CAAC1O,MAAM,GAAG,CAAC,GAC5E;QAAE2O,qBAAqB,EAAE3E,OAAO,CAAC0E;OAAkB,GACnD,EAAE,CAAC;AACP,MAAA,GAAG/D,SAAS;MACZ,GAAGY;KACJ;AAED,IAAA,MAAMqD,KAAK,GAAiB;AAC1BT,MAAAA,UAAU,EAAEnE,OAAO,CAACmE,UAAU,IAAIjE,OAAO;AACzC0E,MAAAA,KAAK,EAAExE,SAAS;MAChByC,UAAU;MACVgC,MAAM,EAAE7E,OAAO,CAAC6E;KACjB;IAED,IAAI7E,OAAO,CAAC8E,gBAAgB,EAAE;AAC5B,MAAA,MAAMhJ,MAAM,CAACgJ,gBAAgB,CAACF,KAAK,CAAC;AACtC,IAAA,CAAC,MAAM;AACL9I,MAAAA,MAAM,CAACmE,OAAO,CAAC2E,KAAK,CAAC;AACvB,IAAA;EACF,CAAC,CAAC,OAAO3F,KAAK,EAAE;AACd;AACA9C,IAAAA,OAAO,CAACC,IAAI,CAAC,sDAAsD,EAAE6C,KAAK,CAAC;AAC7E,EAAA;AACF;;ACrLA;AACA,SAAS8F,SAASA,CAAC1B,KAAoB,EAAA;AACrC,EAAA,OAAOA,KAAK,CAAC2B,oBAAoB,KAAK,IAAI;AAC5C;AAMA,SAASC,uBAAuBA,CAAC5B,KAAc,EAAA;AAC7C,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,sBAAsB,IAAIA,KAAK,EAAE;IAClF,OAAOA,KAAK,CAAC2B,oBAAoB;AACnC,EAAA;AACA,EAAA,OAAO5N,SAAS;AAClB;AAgCA,MAAM8N,cAAc,GAAGA,CAAC9K,IAAa,EAAErE,SAAkB,KAAwB;EAC/E,IAAIqE,IAAI,YAAYsF,GAAG,EAAE;AACvB,IAAA,OAAOzF,mBAAmB,CAACG,IAAI,CAAC+K,QAAQ,EAAE,EAAE/K,IAAI,CAACgL,QAAQ,KAAK,OAAO,GAAGrP,SAAS,GAAGqB,SAAS,CAAC;AAChG,EAAA;AACA,EAAA,IAAIlC,QAAQ,CAACkF,IAAI,CAAC,EAAE;AAClB,IAAA,OAAOH,mBAAmB,CAACG,IAAI,EAAErE,SAAS,CAAC;AAC7C,EAAA;AACA,EAAA,OAAOqB,SAAS;AAClB,CAAC;AAED,MAAMiO,eAAe,GAAI5J,MAAW,IAAyB;EAC3D,OAAO;IACL6J,WAAW,EAAE7J,MAAM,CAAC6J,WAAW;IAC/BC,iBAAiB,EAAE9J,MAAM,CAAC+J,eAAe;IACzCC,KAAK,EAAEhK,MAAM,CAACiK,IAAI;IAClBC,iBAAiB,EAAElK,MAAM,CAACmK,gBAAgB;IAC1CC,gBAAgB,EAAEpK,MAAM,CAACqK,eAAe;IACxCC,IAAI,EAAEtK,MAAM,CAACuK,aAAa;IAC1BC,MAAM,EAAExK,MAAM,CAACwK;GAChB;AACH,CAAC;AAED,MAAMC,eAAe,GAAIC,QAA6B,IAAoB;AACxE;AACA,EAAA,MAAMC,MAAM,GAAmBD,QAAQ,CAACnN,GAAG,CAAEqE,OAAO,IAAI;AACtD,IAAA,IAAIjC,OAAY;AAEhB;AACA,IAAA,IAAIiC,OAAO,CAACgJ,IAAI,KAAK,QAAQ,EAAE;AAC7BjL,MAAAA,OAAO,GAAG,CACR;AACExD,QAAAA,IAAI,EAAE,MAAM;QACZ0O,IAAI,EAAEjK,QAAQ,CAAClB,eAAe,CAACkC,OAAO,CAACjC,OAAO,CAAC;AAChD,OAAA,CACF;AACH,IAAA,CAAC,MAAM;AACL;MACA,IAAI/F,KAAK,CAACC,OAAO,CAAC+H,OAAO,CAACjC,OAAO,CAAC,EAAE;QAClCA,OAAO,GAAGiC,OAAO,CAACjC,OAAO,CAACpC,GAAG,CAAEuN,CAAM,IAAI;AACvC,UAAA,IAAIA,CAAC,CAAC3O,IAAI,KAAK,MAAM,EAAE;YACrB,OAAO;AACLA,cAAAA,IAAI,EAAE,MAAM;AACZ0O,cAAAA,IAAI,EAAEjK,QAAQ,CAACkK,CAAC,CAACD,IAAI;aACtB;AACH,UAAA,CAAC,MAAM,IAAIC,CAAC,CAAC3O,IAAI,KAAK,MAAM,EAAE;AAC5B;AACA,YAAA,MAAM4O,QAAQ,GAAGtB,cAAc,CAACqB,CAAC,CAACnM,IAAI,EAAEmM,CAAC,CAACxQ,SAAS,CAAC,IAAI,yBAAyB;YAEjF,OAAO;AACL6B,cAAAA,IAAI,EAAE,MAAM;AACZ6O,cAAAA,IAAI,EAAED,QAAQ;cACdzQ,SAAS,EAAEwQ,CAAC,CAACxQ;aACd;AACH,UAAA,CAAC,MAAM,IAAIwQ,CAAC,CAAC3O,IAAI,KAAK,WAAW,EAAE;YACjC,OAAO;AACLA,cAAAA,IAAI,EAAE,WAAW;AACjB0O,cAAAA,IAAI,EAAEjK,QAAQ,CAACkK,CAAC,CAACD,IAAI;aACtB;AACH,UAAA,CAAC,MAAM,IAAIC,CAAC,CAAC3O,IAAI,KAAK,WAAW,EAAE;YACjC,OAAO;AACLA,cAAAA,IAAI,EAAE,WAAW;cACjB8O,UAAU,EAAEH,CAAC,CAACG,UAAU;cACxBC,QAAQ,EAAEJ,CAAC,CAACI,QAAQ;cACpB3K,KAAK,EAAEuK,CAAC,CAACvK;aACV;AACH,UAAA,CAAC,MAAM,IAAIuK,CAAC,CAAC3O,IAAI,KAAK,aAAa,EAAE;YACnC,OAAO;AACLA,cAAAA,IAAI,EAAE,aAAa;cACnB8O,UAAU,EAAEH,CAAC,CAACG,UAAU;cACxBC,QAAQ,EAAEJ,CAAC,CAACI,QAAQ;AACpB9J,cAAAA,MAAM,EAAE1C,cAAc,CAACoM,CAAC,CAAC1J,MAAM,CAAC;cAChC+J,OAAO,EAAEL,CAAC,CAACK;aACZ;AACH,UAAA;UACA,OAAO;AACLhP,YAAAA,IAAI,EAAE,MAAM;AACZ0O,YAAAA,IAAI,EAAE;WACP;AACH,QAAA,CAAC,CAAC;AACJ,MAAA,CAAC,MAAM;AACL;AACAlL,QAAAA,OAAO,GAAG,CACR;AACExD,UAAAA,IAAI,EAAE,MAAM;UACZ0O,IAAI,EAAEjK,QAAQ,CAAClB,eAAe,CAACkC,OAAO,CAACjC,OAAO,CAAC;AAChD,SAAA,CACF;AACH,MAAA;AACF,IAAA;IAEA,OAAO;MACLiL,IAAI,EAAEhJ,OAAO,CAACgJ,IAAI;AAClBjL,MAAAA;KACD;AACH,EAAA,CAAC,CAAC;EAEF,IAAI;AACF;AACA;AACA;AACA,IAAA,MAAMyL,YAAY,GAAGT,MAAM,CAACpN,GAAG,CAAE8N,CAAC,IAAK9L,cAAc,CAACK,IAAI,CAACC,SAAS,CAACwL,CAAC,CAAC,CAAC,CAAC;AACzE;AACA,IAAA,IAAIC,UAAU,GAAG,CAAC,GAAGtN,IAAI,CAACuN,GAAG,CAAC,CAAC,EAAEH,YAAY,CAAC7Q,MAAM,GAAG,CAAC,CAAC;AACzD,IAAA,KAAK,MAAMiR,IAAI,IAAIJ,YAAY,EAAE;AAC/BE,MAAAA,UAAU,IAAIE,IAAI;AACpB,IAAA;IACA,IAAIC,YAAY,GAAG,CAAC;IACpB,OAAOH,UAAU,GAAGtM,eAAe,IAAIyM,YAAY,GAAGL,YAAY,CAAC7Q,MAAM,EAAE;AACzE+Q,MAAAA,UAAU,IAAIF,YAAY,CAACK,YAAY,CAAC;AACxC;AACA,MAAA,IAAIA,YAAY,GAAGL,YAAY,CAAC7Q,MAAM,GAAG,CAAC,EAAE;AAC1C+Q,QAAAA,UAAU,IAAI,CAAC;AACjB,MAAA;AACAG,MAAAA,YAAY,EAAE;AAChB,IAAA;IACA,IAAIA,YAAY,GAAG,CAAC,EAAE;AACpBd,MAAAA,MAAM,CAACe,MAAM,CAAC,CAAC,EAAED,YAAY,CAAC;AAC9B;MACAd,MAAM,CAACgB,OAAO,CAAC;AACbf,QAAAA,IAAI,EAAE,SAAS;QACfjL,OAAO,EAAE,CAAA,CAAA,EAAI8L,YAAY,CAAA,QAAA,EAAWA,YAAY,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,2BAAA;AAClE,OAAA,CAAC;AACJ,IAAA;EACF,CAAC,CAAC,OAAOjI,KAAK,EAAE;AACd9C,IAAAA,OAAO,CAAC8C,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;AACjD,IAAA,OAAO,CAAC;AAAEoH,MAAAA,IAAI,EAAE,SAAS;AAAEjL,MAAAA,OAAO,EAAE;AAAoE,KAAE,CAAC;AAC7G,EAAA;AACA,EAAA,OAAOgL,MAAM;AACf,CAAC;AAED,MAAMiB,eAAe,GAAIzK,MAA8B,IAAoB;AACzE,EAAA,MAAMxB,OAAO,GAAwBwB,MAAM,CAAC5D,GAAG,CAAEC,IAAI,IAAI;AACvD,IAAA,IAAIA,IAAI,CAACrB,IAAI,KAAK,MAAM,EAAE;MACxB,OAAO;AAAEA,QAAAA,IAAI,EAAE,MAAM;AAAE0O,QAAAA,IAAI,EAAEjK,QAAQ,CAACpD,IAAI,CAACqN,IAAI;OAAG;AACpD,IAAA;AACA,IAAA,IAAIrN,IAAI,CAACrB,IAAI,KAAK,WAAW,EAAE;MAC7B,MAAM0P,QAAQ,GAAGrO,IAAgE;AACjF,MAAA,MAAMsO,OAAO,GAAGD,QAAQ,CAACtL,KAAK,IAAIsL,QAAQ,CAACE,IAAI,IAAIF,QAAQ,CAACG,SAAS,IAAI,EAAE;MAC3E,OAAO;AACL7P,QAAAA,IAAI,EAAE,WAAW;QACjB8P,EAAE,EAAEzO,IAAI,CAACyN,UAAU;AACnBiB,QAAAA,QAAQ,EAAE;UACR/I,IAAI,EAAE3F,IAAI,CAAC0N,QAAQ;AACnBc,UAAAA,SAAS,EAAE,OAAOF,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGlM,IAAI,CAACC,SAAS,CAACiM,OAAO;AAC1E;OACF;AACH,IAAA;AACA,IAAA,IAAItO,IAAI,CAACrB,IAAI,KAAK,WAAW,EAAE;MAC7B,OAAO;AAAEA,QAAAA,IAAI,EAAE,WAAW;AAAE0O,QAAAA,IAAI,EAAEjK,QAAQ,CAACpD,IAAI,CAACqN,IAAI;OAAG;AACzD,IAAA;AACA,IAAA,IAAIrN,IAAI,CAACrB,IAAI,KAAK,MAAM,EAAE;AACxB;AACA,MAAA,IAAI4O,QAAQ,GAAGtB,cAAc,CAACjM,IAAI,CAACmB,IAAI,EAAEnB,IAAI,CAAClD,SAAS,CAAC,IAAI,WAAWkD,IAAI,CAAClD,SAAS,CAAA,MAAA,CAAQ;AAE7F;MACA,IAAI,OAAOkD,IAAI,CAACmB,IAAI,KAAK,QAAQ,IAAIoM,QAAQ,KAAKvN,IAAI,CAACmB,IAAI,IAAInB,IAAI,CAACmB,IAAI,CAACpE,MAAM,GAAG,IAAI,EAAE;QACtFwQ,QAAQ,GAAG,CAAA,CAAA,EAAIvN,IAAI,CAAClD,SAAS,CAAA,QAAA,EAAWkD,IAAI,CAACmB,IAAI,CAACpE,MAAM,CAAA,OAAA,CAAS;AACnE,MAAA;MAEA,OAAO;AACL4B,QAAAA,IAAI,EAAE,MAAM;AACZgH,QAAAA,IAAI,EAAE,gBAAgB;QACtB7I,SAAS,EAAEkD,IAAI,CAAClD,SAAS;AACzBqE,QAAAA,IAAI,EAAEoM;OACP;AACH,IAAA;AACA,IAAA,IAAIvN,IAAI,CAACrB,IAAI,KAAK,QAAQ,EAAE;MAC1B,OAAO;AACLA,QAAAA,IAAI,EAAE,QAAQ;QACdgQ,UAAU,EAAE3O,IAAI,CAAC2O,UAAU;QAC3BF,EAAE,EAAEzO,IAAI,CAACyO,EAAE;AACXG,QAAAA,GAAG,EAAG5O,IAAY,CAAC4O,GAAG,IAAI,EAAE;AAC5BC,QAAAA,KAAK,EAAE7O,IAAI,CAAC6O,KAAK,IAAI;OACtB;AACH,IAAA;AACA;IACA,OAAO;AAAElQ,MAAAA,IAAI,EAAE,MAAM;MAAE0O,IAAI,EAAEjK,QAAQ,CAAChB,IAAI,CAACC,SAAS,CAACrC,IAAI,CAAC;KAAG;AAC/D,EAAA,CAAC,CAAC;AAEF,EAAA,IAAImC,OAAO,CAACpF,MAAM,GAAG,CAAC,EAAE;AACtB,IAAA,OAAO,CACL;AACEqQ,MAAAA,IAAI,EAAE,WAAW;MACjBjL,OAAO,EAAEA,OAAO,CAACpF,MAAM,KAAK,CAAC,IAAIoF,OAAO,CAAC,CAAC,CAAC,CAACxD,IAAI,KAAK,MAAM,GAAGwD,OAAO,CAAC,CAAC,CAAC,CAACkL,IAAI,GAAGlL;AACjF,KAAA,CACF;AACH,EAAA;AACA;EACA,IAAI;AACF,IAAA,MAAM2M,UAAU,GAAG1M,IAAI,CAACC,SAAS,CAACsB,MAAM,CAAC;AACzC,IAAA,OAAO,CAAC;AAAExB,MAAAA,OAAO,EAAEiB,QAAQ,CAAC0L,UAAU,CAAC;AAAE1B,MAAAA,IAAI,EAAE;AAAW,KAAE,CAAC;AAC/D,EAAA,CAAC,CAAC,MAAM;AACNlK,IAAAA,OAAO,CAAC8C,KAAK,CAAC,2BAA2B,CAAC;AAC1C,IAAA,OAAO,EAAE;AACX,EAAA;AACF,CAAC;AAED,MAAM+I,eAAe,GAAI3E,KAAoB,IAAY;EACvD,MAAMtF,QAAQ,GAAGsF,KAAK,CAACtF,QAAQ,CAACrG,WAAW,EAAE;EAC7C,MAAMuQ,YAAY,GAAGlK,QAAQ,CAACoB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,EAAA,OAAO8I,YAAY;AACrB,CAAC;AAED;;;;;;AAMG;AACH,MAAMC,cAAc,GAAI7E,KAAoB,IAAY;EACtD,IAAI;AACF,IAAA,MAAM8E,MAAM,GAAI9E,KAA8B,CAAC8E,MAAM;AACrD,IAAA,IAAI,CAAC/S,QAAQ,CAAC+S,MAAM,CAAC,EAAE;AACrB,MAAA,OAAO,EAAE;AACX,IAAA;AACA,IAAA,IAAIjT,QAAQ,CAACiT,MAAM,CAAC3I,OAAO,CAAC,EAAE;MAC5B,OAAO2I,MAAM,CAAC3I,OAAO;AACvB,IAAA;AACA,IAAA,MAAM4I,KAAK,GAAGD,MAAM,CAACN,GAAG;AACxB,IAAA,IAAI,OAAOO,KAAK,KAAK,UAAU,EAAE;MAC/B,MAAMP,GAAG,GAAGO,KAAK,CAAC;AAAEC,QAAAA,IAAI,EAAE,EAAE;QAAEC,OAAO,EAAEjF,KAAK,CAACiF;AAAO,OAAE,CAAC;AACvD,MAAA,OAAOpT,QAAQ,CAAC2S,GAAG,CAAC,GAAGA,GAAG,GAAG,EAAE;AACjC,IAAA;AACF,EAAA,CAAC,CAAC,MAAM;AACN;AAAA,EAAA;AAEF,EAAA,OAAO,EAAE;AACX,CAAC;AAED;AACA,MAAMU,qBAAqB,GAAGA,CAAC7D,gBAAyB,EAAEzH,KAAU,KAAY;AAC9E;EACA,IACEyH,gBAAgB,IAChB,OAAOA,gBAAgB,KAAK,QAAQ,IACpC,WAAW,IAAIA,gBAAgB,IAC/BA,gBAAgB,CAAC8D,SAAS,IAC1B,OAAO9D,gBAAgB,CAAC8D,SAAS,KAAK,QAAQ,IAC9C,iBAAiB,IAAI9D,gBAAgB,CAAC8D,SAAS,EAC/C;AACA,IAAA,MAAMC,aAAa,GAAG/D,gBAAgB,CAAC8D,SAAS,CAACE,eAAe;AAChE,IAAA,IACED,aAAa,IACb,OAAOA,aAAa,KAAK,QAAQ,IACjC,qBAAqB,IAAIA,aAAa,IACtC,OAAOA,aAAa,CAACE,mBAAmB,KAAK,QAAQ,EACrD;MACA,OAAOF,aAAa,CAACE,mBAAmB;AAC1C,IAAA;AACF,EAAA;AAEA;AACA,EAAA,OAAOhM,uBAAuB,CAAC;IAC7BM,KAAK;AACLyH,IAAAA;AACD,GAAA,CAAC;AACJ,CAAC;AAED;AACA,MAAMkE,iBAAiB,GAAIzT,KAAc,IAAwB;AAC/D,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK;AACd,EAAA;AACA,EAAA,IACEA,KAAK,IACL,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAO,IAAIA,KAAK,IAChB,OAAQA,KAA4B,CAAC0T,KAAK,KAAK,QAAQ,EACvD;IACA,OAAQ1T,KAA2B,CAAC0T,KAAK;AAC3C,EAAA;AACA,EAAA,OAAOzR,SAAS;AAClB,CAAC;AAED,MAAM0R,iBAAiB,GAAGA,CACxB7L,KAA8B,EAC9B8L,WAAmB,EACnBC,eAAuB,EACvBC,cAAsB,KACX;EACX,IAAIF,WAAW,IAAI9L,KAAK,EAAE;IACxB,OAAOA,KAAK,CAAC8L,WAAW,CAAC;AAC3B,EAAA;AACA,EAAA,MAAMG,YAAY,GAAGjM,KAAK,CAAC+L,eAAe,CAAC;EAC3C,IAAIE,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,IAAID,cAAc,IAAIC,YAAY,EAAE;IACtF,OAAQA,YAAwC,CAACD,cAAc,CAAC;AAClE,EAAA;AACA,EAAA,OAAO7R,SAAS;AAClB,CAAC;AAED;AACA,MAAM+R,sBAAsB,GAAIlM,KAA8B,IAC5D6L,iBAAiB,CAAC7L,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,CAAC;AAE1E;AACA,MAAMmM,sBAAsB,GAAInM,KAA8B,IAC5D6L,iBAAiB,CAAC7L,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,CAAC;AAE3E;AACA;AACA,MAAMoM,uBAAuB,GAAIpM,KAA8B,IAAa;EAC1E,IACE,aAAa,IAAIA,KAAK,IACtBA,KAAK,CAAC0E,WAAW,IACjB,OAAO1E,KAAK,CAAC0E,WAAW,KAAK,QAAQ,IACrC,YAAY,IAAI1E,KAAK,CAAC0E,WAAW,EACjC;AACA,IAAA,OAAQ1E,KAAK,CAAC0E,WAAuC,CAAC2H,UAAU;AAClE,EAAA;AACA,EAAA,OAAOlS,SAAS;AAClB,CAAC;AAED;AACA;AACA;AACA;AACA;AACA,MAAMmS,4BAA4B,GAAGA,CAAC7E,gBAAyB,EAAEzH,KAAc,KAAyB;EACtG,IACEyH,gBAAgB,IAChB,OAAOA,gBAAgB,KAAK,QAAQ,IACpC,WAAW,IAAIA,gBAAgB,IAC/BA,gBAAgB,CAAC8D,SAAS,IAC1B,OAAO9D,gBAAgB,CAAC8D,SAAS,KAAK,QAAQ,IAC9C,0BAA0B,IAAI9D,gBAAgB,CAAC8D,SAAS,EACxD;IACA,OAAO;AACLjG,MAAAA,wBAAwB,EAAEmC,gBAAgB,CAAC8D,SAAS,CAACjG;KACtD;AACH,EAAA;AACA,EAAA,IAAItF,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AACtC,IAAA,MAAMqM,UAAU,GAAGD,uBAAuB,CAACpM,KAAgC,CAAC;IAC5E,IAAI,OAAOqM,UAAU,KAAK,QAAQ,IAAIA,UAAU,GAAG,CAAC,EAAE;MACpD,OAAO;AAAE/G,QAAAA,wBAAwB,EAAE+G;OAAY;AACjD,IAAA;AACF,EAAA;AACA,EAAA,OAAO,EAAE;AACX,CAAC;AAED;AACA;AACA;AACA;AACA;AACA,MAAME,sBAAsB,GAAGA,CAAClB,OAAe,EAAEvK,QAAgB,KAAa;EAC5E,IAAIA,QAAQ,CAACrG,WAAW,EAAE,CAACG,QAAQ,CAAC,WAAW,CAAC,EAAE;AAChD,IAAA,OAAO,IAAI;AACb,EAAA;AACA,EAAA,OAAO,mBAAmB,CAAC1B,IAAI,CAACmS,OAAO,CAAC;AAC1C,CAAC;AAED;AACA;AACA;AACA,MAAMmB,4BAA4B,GAAGA,CACnCpG,KAAoB,EACpBiF,OAAe,EACfvK,QAAgB,EAChBd,KAAmG,KAC3F;EACR,IAAI8H,SAAS,CAAC1B,KAAK,CAAC,IAAImG,sBAAsB,CAAClB,OAAO,EAAEvK,QAAQ,CAAC,EAAE;AACjE,IAAA,MAAM2L,eAAe,GAAIzM,KAAK,CAACoF,oBAA+B,IAAI,CAAC;AACnE,IAAA,MAAMsH,gBAAgB,GAAI1M,KAAK,CAACsF,wBAAmC,IAAI,CAAC;AACxE,IAAA,MAAMqH,WAAW,GAAGF,eAAe,GAAGC,gBAAgB;AACtD,IAAA,IAAI1M,KAAK,CAAC0E,WAAW,IAAIiI,WAAW,GAAG,CAAC,EAAE;AACxC3M,MAAAA,KAAK,CAAC0E,WAAW,GAAGlI,IAAI,CAACuN,GAAG,CAAC/J,KAAK,CAAC0E,WAAW,GAAGiI,WAAW,EAAE,CAAC,CAAC;AAClE,IAAA;AACF,EAAA;AACF,CAAC;AAED;;;AAGG;AACI,MAAMC,uBAAuB,GAAGA,CACrCxG,KAAQ,EACRyG,QAAiB,EACjB9J,OAAsB,KACjB;AACL,EAAA,MAAMgF,oBAAoB,GAAGC,uBAAuB,CAAC5B,KAAK,CAAC;AAC3D,EAAA,IAAI2B,oBAAoB,KAAK,IAAI,IAAIA,oBAAoB,KAAK,IAAI,EAAE;AAClE,IAAA,MAAM,IAAIrG,KAAK,CACb,CAAA,uEAAA,CAAyE,GACvE,8DAA8D,CACjE;AACH,EAAA;EAEA,MAAMuB,OAAO,GAAGF,OAAO,CAAC+J,cAAc,IAAI5J,OAAM,EAAE;AAClD,EAAA,MAAM6J,aAAa,GAAG;AACpB,IAAA,GAAGhK,OAAO;AACV+J,IAAAA,cAAc,EAAE7J,OAAO;IACvB+J,iBAAiB,EAAEjK,OAAO,CAACiK,iBAAiB;AAC5C1P,IAAAA,iBAAiB,EAAE;MACjB,GAAGyF,OAAO,CAACzF,iBAAiB;AAC5B2P,MAAAA,aAAa,EAAE,QAAQ;MACvBC,qBAAqB,EAAE9G,KAAK,CAAC2B,oBAAoB,KAAK,IAAI,GAAG,GAAG,GAAG;AACpE;GACF;AAED;AACA,EAAA,MAAMoF,WAAW,GAAG;IAClBjG,UAAU,EAAE6F,aAAa,CAACC,iBAAiB;IAC3C/J,OAAO;IACP2C,UAAU,EAAEmH,aAAa,CAACzP,iBAAiB;IAC3CsK,MAAM,EAAEmF,aAAa,CAACK,aAAa;IACnCtO,WAAW,EAAEiO,aAAa,CAACM,kBAAkB;IAC7ClH,aAAa,EAAE4G,aAAa,CAACO,oBAAoB;IACjDrH,gBAAgB,EAAE8G,aAAa,CAACQ,uBAAuB;IACvDhJ,YAAY,EAAEwI,aAAa,CAACS,mBAAmB;IAC/C3F,gBAAgB,EAAEkF,aAAa,CAACU;GACjC;AAED;AACA;AACA,EAAA,MAAMC,YAAY,GAAGtR,MAAM,CAACuR,MAAM,CAACvH,KAAK,EAAE;AACxCwH,IAAAA,UAAU,EAAE;MACV1V,KAAK,EAAE,MAAOsG,MAAgC,IAAI;AAChD,QAAA,MAAMqP,SAAS,GAAGC,IAAI,CAACC,GAAG,EAAE;AAC5B,QAAA,MAAMC,YAAY,GAAG;AACnB,UAAA,GAAGjB,aAAa;UAChB,GAAG3E,eAAe,CAAC5J,MAAM;SAC1B;AACD,QAAA,MAAMyP,cAAc,GAAGpN,yBAAyB,CAAC,QAAQ,EAAErC,MAAM,CAAC;AAClE,QAAA,MAAM+D,OAAO,GAAG0I,cAAc,CAAC7E,KAAK,CAAC;QAErC,IAAI;UACF,MAAMzG,MAAM,GAAG,MAAMyG,KAAK,CAACwH,UAAU,CAACpP,MAAa,CAAC;UACpD,MAAM6M,OAAO,GACX0B,aAAa,CAACO,oBAAoB,KAAK3N,MAAM,CAACuO,QAAQ,EAAE7C,OAAO,GAAG1L,MAAM,CAACuO,QAAQ,CAAC7C,OAAO,GAAGjF,KAAK,CAACiF,OAAO,CAAC;UAC5G,MAAMvK,QAAQ,GAAGiM,aAAa,CAACQ,uBAAuB,IAAIxC,eAAe,CAAC3E,KAAK,CAAC;AAChF;UACA,MAAMjI,OAAO,GAAGiM,eAAe,CAAEzK,MAAM,CAACxB,OAAO,IAAI,EAA6B,CAAC;UACjF,MAAMyI,OAAO,GAAG,CAACkH,IAAI,CAACC,GAAG,EAAE,GAAGF,SAAS,IAAI,IAAI;AAC/C,UAAA,MAAMpG,gBAAgB,GAAG9H,MAAM,CAAC8H,gBAAgB;UAChD,MAAMxC,qBAAqB,GAAGqH,4BAA4B,CAAC7E,gBAAgB,EAAE9H,MAAM,CAACK,KAAK,CAAC;UAE1F,MAAMwF,cAAc,GAAG8F,qBAAqB,CAAC7D,gBAAgB,EAAE9H,MAAM,CAACK,KAAK,CAAC;AAE5E;AACA,UAAA,MAAMmO,QAAQ,GAAGxO,MAAM,CAACK,KAAgC;AAExD;AACA;AACA,UAAA,MAAMoO,YAAY,GAA4B;YAC5CpO,KAAK,EAAEL,MAAM,CAACK,KAAK;AACnByH,YAAAA;WACD;AAED;UACA,IAAI9H,MAAM,CAACuO,QAAQ,IAAI,OAAOvO,MAAM,CAACuO,QAAQ,KAAK,QAAQ,EAAE;AAC1D,YAAA,MAAMG,YAAY,GAAG1O,MAAM,CAACuO,QAAQ,CAACI,IAAI;YACzC,IAAID,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,IAAI,eAAe,IAAIA,YAAY,EAAE;cACvFD,YAAY,CAACG,WAAW,GAAG;gBACzBC,aAAa,EAAEH,YAAY,CAACG;eAC7B;AACH,YAAA;AACF,UAAA;AAEA,UAAA,MAAMxO,KAAK,GAAG;YACZ0E,WAAW,EAAEiH,iBAAiB,CAAChM,MAAM,CAACK,KAAK,CAAC0E,WAAW,CAAC;YACxDG,YAAY,EAAE8G,iBAAiB,CAAChM,MAAM,CAACK,KAAK,CAAC6E,YAAY,CAAC;AAC1DK,YAAAA,eAAe,EAAEgH,sBAAsB,CAACiC,QAAQ,CAAC;AACjD/I,YAAAA,oBAAoB,EAAE+G,sBAAsB,CAACgC,QAAQ,CAAC;YACtD3I,cAAc;AACd,YAAA,GAAGP,qBAAqB;AACxBS,YAAAA,QAAQ,EAAE0I;WACX;UAED5B,4BAA4B,CAACpG,KAAK,EAAEiF,OAAO,EAAEvK,QAAQ,EAAEd,KAAK,CAAC;AAE7D;AACA,UAAA,MAAMyO,eAAe,GAAG9O,MAAM,CAAC+O,YAAY;UAC3C,MAAMC,eAAe,GACnB,OAAOF,eAAe,KAAK,QAAQ,GAC/BA,eAAe,GACfA,eAAe,IAAI,OAAOA,eAAe,KAAK,QAAQ,IAAI,SAAS,IAAIA,eAAe,GACpFnQ,MAAM,CAACmQ,eAAe,CAACG,OAAO,CAAC,GAC/BzU,SAAS;UAEjB,MAAM2I,mBAAmB,CAAC+J,QAAQ,EAAE;AAClC,YAAA,GAAGM,WAAW;AACd/G,YAAAA,KAAK,EAAEiF,OAAO;AACdvK,YAAAA,QAAQ,EAAEA,QAAQ;AAClB/B,YAAAA,KAAK,EAAEgO,aAAa,CAACM,kBAAkB,GAAG,EAAE,GAAGpE,eAAe,CAACzK,MAAM,CAACqQ,MAA6B,CAAC;AACpGjP,YAAAA,MAAM,EAAEzB,OAAO;YACfyI,OAAO;YACPrE,OAAO;AACP+D,YAAAA,eAAe,EAAE/H,cAAc,CAACyP,YAAmB,CAAC;AACpDvK,YAAAA,UAAU,EAAE,GAAG;YACfzD,KAAK;AACLoH,YAAAA,UAAU,EAAEuH,eAAe;AAC3B5N,YAAAA,KAAK,EAAEkN;AACR,WAAA,CAAC;AAEF,UAAA,OAAOtO,MAAM;QACf,CAAC,CAAC,OAAOqC,KAAc,EAAE;AACvB,UAAA,MAAMqJ,OAAO,GAAGjF,KAAK,CAACiF,OAAO;UAC7B,MAAMvI,mBAAmB,CAAC+J,QAAQ,EAAE;AAClC,YAAA,GAAGM,WAAW;AACd/G,YAAAA,KAAK,EAAEiF,OAAO;YACdvK,QAAQ,EAAEsF,KAAK,CAACtF,QAAQ;AACxB/B,YAAAA,KAAK,EAAEgO,aAAa,CAACM,kBAAkB,GAAG,EAAE,GAAGpE,eAAe,CAACzK,MAAM,CAACqQ,MAA6B,CAAC;AACpGjP,YAAAA,MAAM,EAAE,EAAE;AACVgH,YAAAA,OAAO,EAAE,CAAC;YACVrE,OAAO;AACP+D,YAAAA,eAAe,EAAE/H,cAAc,CAACyP,YAAmB,CAAC;AACpDhO,YAAAA,KAAK,EAAE;AACL0E,cAAAA,WAAW,EAAE,CAAC;AACdG,cAAAA,YAAY,EAAE;aACf;AACD7C,YAAAA,KAAK,EAAEA,KAAK;AACZjB,YAAAA,KAAK,EAAEkN;AACR,WAAA,CAAC;AACF,UAAA,MAAMjM,KAAK;AACb,QAAA;MACF,CAAC;AACD8M,MAAAA,QAAQ,EAAE,IAAI;AACdC,MAAAA,YAAY,EAAE,IAAI;AAClBC,MAAAA,UAAU,EAAE;KACb;AACDC,IAAAA,QAAQ,EAAE;MACR/W,KAAK,EAAE,MAAOsG,MAAgC,IAAI;AAChD,QAAA,MAAMqP,SAAS,GAAGC,IAAI,CAACC,GAAG,EAAE;AAC5B,QAAA,IAAImB,cAAkC;QACtC,IAAIC,aAAa,GAAG,EAAE;QACtB,IAAIC,aAAa,GAAG,EAAE;AACtB,QAAA,IAAIhI,UAA8B;QAClC,IAAIpH,KAAK,GAML,EAAE;QACN,IAAIyH,gBAAgB,GAAYtN,SAAS;AACzC,QAAA,MAAM6T,YAAY,GAAG;AACnB,UAAA,GAAGjB,aAAa;UAChB,GAAG3E,eAAe,CAAC5J,MAAM;SAC1B;QAED,MAAM6M,OAAO,GAAG0B,aAAa,CAACO,oBAAoB,IAAIlH,KAAK,CAACiF,OAAO;QACnE,MAAMvK,QAAQ,GAAGiM,aAAa,CAACQ,uBAAuB,IAAIxC,eAAe,CAAC3E,KAAK,CAAC;AAChF,QAAA,MAAM6H,cAAc,GAAGpN,yBAAyB,CAAC,QAAQ,EAAErC,MAAM,CAAC;AAClE,QAAA,MAAM+D,OAAO,GAAG0I,cAAc,CAAC7E,KAAK,CAAC;AAErC;AACA,QAAA,MAAMiJ,mBAAmB,GAAG,IAAIC,GAAG,EAOhC;AAEH,QAAA,MAAMC,uBAAuB,GAAG,MAC9BC,cAAyD,IACxC;UACjB,IAAI;AACF,YAAA,MAAM1M,mBAAmB,CAAC+J,QAAQ,EAAE2C,cAAc,CAAC;UACrD,CAAC,CAAC,OAAOxN,KAAc,EAAE;AACvB;AACA9C,YAAAA,OAAO,CAACC,IAAI,CAAC,yDAAyD,EAAE6C,KAAK,CAAC;AAChF,UAAA;QACF,CAAC;QAED,IAAI;UACF,MAAM;YAAEgH,MAAM;YAAE,GAAGyG;AAAI,WAAE,GAAG,MAAMrJ,KAAK,CAAC6I,QAAQ,CAACzQ,MAAa,CAAC;AAC/D,UAAA,MAAMkR,MAAM,GAAG1G,MAAM,CAAC2G,SAAS,EAAE;AACjC,UAAA,IAAIC,WAAoB;UACxB,IAAIC,cAAc,GAAG,KAAK;AAC1B,UAAA,IAAIC,mBAA8C;UAElD,MAAMC,YAAY,GAAIC,KAA8B,IAAU;AAC5D;AACA,YAAA,IAAIA,KAAK,CAACrV,IAAI,KAAK,YAAY,EAAE;cAC/B,IAAIuU,cAAc,KAAK/U,SAAS,EAAE;AAChC+U,gBAAAA,cAAc,GAAGpB,IAAI,CAACC,GAAG,EAAE;AAC7B,cAAA;cACAoB,aAAa,IAAIa,KAAK,CAAC3P,KAAK;AAC9B,YAAA;AACA,YAAA,IAAI2P,KAAK,CAACrV,IAAI,KAAK,iBAAiB,EAAE;cACpC,IAAIuU,cAAc,KAAK/U,SAAS,EAAE;AAChC+U,gBAAAA,cAAc,GAAGpB,IAAI,CAACC,GAAG,EAAE;AAC7B,cAAA;cACAqB,aAAa,IAAIY,KAAK,CAAC3P,KAAK;AAC9B,YAAA;AAEA;AACA,YAAA,IAAI2P,KAAK,CAACrV,IAAI,KAAK,kBAAkB,EAAE;cACrC,IAAIuU,cAAc,KAAK/U,SAAS,EAAE;AAChC+U,gBAAAA,cAAc,GAAGpB,IAAI,CAACC,GAAG,EAAE;AAC7B,cAAA;AACAsB,cAAAA,mBAAmB,CAACY,GAAG,CAACD,KAAK,CAACvF,EAAE,EAAE;gBAChChB,UAAU,EAAEuG,KAAK,CAACvF,EAAE;gBACpBf,QAAQ,EAAEsG,KAAK,CAACtG,QAAQ;AACxB3K,gBAAAA,KAAK,EAAE;AACR,eAAA,CAAC;AACJ,YAAA;AACA,YAAA,IAAIiR,KAAK,CAACrV,IAAI,KAAK,kBAAkB,EAAE;cACrC,MAAM0P,QAAQ,GAAGgF,mBAAmB,CAACa,GAAG,CAACF,KAAK,CAACvF,EAAE,CAAC;AAClD,cAAA,IAAIJ,QAAQ,EAAE;AACZA,gBAAAA,QAAQ,CAACtL,KAAK,IAAIiR,KAAK,CAAC3P,KAAK;AAC/B,cAAA;AACF,YAAA;AACA,YAAA,IAAI2P,KAAK,CAACrV,IAAI,KAAK,WAAW,EAAE;cAC9B,IAAIuU,cAAc,KAAK/U,SAAS,EAAE;AAChC+U,gBAAAA,cAAc,GAAGpB,IAAI,CAACC,GAAG,EAAE;AAC7B,cAAA;AACAsB,cAAAA,mBAAmB,CAACY,GAAG,CAACD,KAAK,CAACvG,UAAU,EAAE;gBACxCA,UAAU,EAAEuG,KAAK,CAACvG,UAAU;gBAC5BC,QAAQ,EAAEsG,KAAK,CAACtG,QAAQ;gBACxB3K,KAAK,EAAEiR,KAAK,CAACjR;AACd,eAAA,CAAC;AACJ,YAAA;AAEA,YAAA,IAAIiR,KAAK,CAACrV,IAAI,KAAK,OAAO,EAAE;AAC1BkV,cAAAA,cAAc,GAAG,IAAI;cACrBD,WAAW,GAAGI,KAAK,CAAChO,KAAK;AAC3B,YAAA;AAEA,YAAA,IAAIgO,KAAK,CAACrV,IAAI,KAAK,QAAQ,EAAE;cAC3B8M,gBAAgB,GAAGuI,KAAK,CAACvI,gBAAgB;AACzC,cAAA,MAAM0I,UAAU,GAAIH,KAAK,CAAChQ,KAAiC,IAAI,EAAE;AACjE,cAAA,MAAMiF,qBAAqB,GAAGqH,4BAA4B,CAAC7E,gBAAgB,EAAE0I,UAAU,CAAC;AACxFnQ,cAAAA,KAAK,GAAG;gBACN0E,WAAW,EAAEiH,iBAAiB,CAACqE,KAAK,CAAChQ,KAAK,EAAE0E,WAAW,CAAC;gBACxDG,YAAY,EAAE8G,iBAAiB,CAACqE,KAAK,CAAChQ,KAAK,EAAE6E,YAAY,CAAC;AAC1DK,gBAAAA,eAAe,EAAEgH,sBAAsB,CAACiE,UAAU,CAAC;AACnD/K,gBAAAA,oBAAoB,EAAE+G,sBAAsB,CAACgE,UAAU,CAAC;gBACxD,GAAGlL;eACJ;AAED;AACA,cAAA,MAAMwJ,eAAe,GAAGuB,KAAK,CAACtB,YAAY;AAC1C,cAAA,IAAI,OAAOD,eAAe,KAAK,QAAQ,EAAE;AACvCrH,gBAAAA,UAAU,GAAGqH,eAAe;AAC9B,cAAA,CAAC,MAAM,IAAIA,eAAe,IAAI,OAAOA,eAAe,KAAK,QAAQ,IAAI,SAAS,IAAIA,eAAe,EAAE;AACjGrH,gBAAAA,UAAU,GAAG9I,MAAM,CAACmQ,eAAe,CAACG,OAAO,CAAC;AAC9C,cAAA;AACF,YAAA;UACF,CAAC;UAED,MAAMwB,QAAQ,GAAGA,CAACC,aAAuB,EAAE1G,OAAO,GAAG,KAAK,KAAmB;AAC3E,YAAA,IAAImG,mBAAmB,EAAE;AACvB,cAAA,OAAOA,mBAAmB;AAC5B,YAAA;YAEAA,mBAAmB,GAAG,CAAC,YAAW;cAChC,MAAMlJ,OAAO,GAAG,CAACkH,IAAI,CAACC,GAAG,EAAE,GAAGF,SAAS,IAAI,IAAI;AAC/C,cAAA,MAAM/G,gBAAgB,GAAGoI,cAAc,KAAK/U,SAAS,GAAG,CAAC+U,cAAc,GAAGrB,SAAS,IAAI,IAAI,GAAG1T,SAAS;cACvG,MAAMgE,OAAO,GAAwB,EAAE;AACvC,cAAA,IAAIiR,aAAa,EAAE;gBACjBjR,OAAO,CAACmS,IAAI,CAAC;AAAE3V,kBAAAA,IAAI,EAAE,WAAW;kBAAE0O,IAAI,EAAEjK,QAAQ,CAACgQ,aAAa;AAAC,iBAAE,CAAC;AACpE,cAAA;AACA,cAAA,IAAID,aAAa,EAAE;gBACjBhR,OAAO,CAACmS,IAAI,CAAC;AAAE3V,kBAAAA,IAAI,EAAE,MAAM;kBAAE0O,IAAI,EAAEjK,QAAQ,CAAC+P,aAAa;AAAC,iBAAE,CAAC;AAC/D,cAAA;cAEA,KAAK,MAAM9E,QAAQ,IAAIgF,mBAAmB,CAACkB,MAAM,EAAE,EAAE;gBACnD,IAAIlG,QAAQ,CAACX,QAAQ,EAAE;kBACrBvL,OAAO,CAACmS,IAAI,CAAC;AACX3V,oBAAAA,IAAI,EAAE,WAAW;oBACjB8P,EAAE,EAAEJ,QAAQ,CAACZ,UAAU;AACvBiB,oBAAAA,QAAQ,EAAE;sBACR/I,IAAI,EAAE0I,QAAQ,CAACX,QAAQ;sBACvBc,SAAS,EAAEH,QAAQ,CAACtL;AACrB;AACF,mBAAA,CAAC;AACJ,gBAAA;AACF,cAAA;cAEA,MAAMa,MAAM,GACVzB,OAAO,CAACpF,MAAM,GAAG,CAAC,GACd,CACE;AACEqQ,gBAAAA,IAAI,EAAE,WAAW;gBACjBjL,OAAO,EAAEA,OAAO,CAACpF,MAAM,KAAK,CAAC,IAAIoF,OAAO,CAAC,CAAC,CAAC,CAACxD,IAAI,KAAK,MAAM,GAAGwD,OAAO,CAAC,CAAC,CAAC,CAACkL,IAAI,GAAGlL;eACjF,CACF,GACD,EAAE;AAER,cAAA,MAAMqH,cAAc,GAAG8F,qBAAqB,CAAC7D,gBAAgB,EAAEzH,KAAK,CAAC;AACrE,cAAA,MAAMwQ,UAAU,GAAG;AACjB,gBAAA,GAAGxQ,KAAK;gBACRwF,cAAc;AACdE,gBAAAA,QAAQ,EAAE;kBAAE1F,KAAK;AAAEyH,kBAAAA;AAAgB;eACpC;cACD+E,4BAA4B,CAACpG,KAAK,EAAEiF,OAAO,EAAEvK,QAAQ,EAAE0P,UAAU,CAAC;AAElE,cAAA,MAAMC,WAAW,GACfrJ,UAAU,KAAK,OAAO,GAAG,IAAI1F,KAAK,CAAC,6CAA6C,CAAC,GAAGvH,SAAS;cAC/F,MAAM6H,KAAK,GAAG2H,OAAO,GAChB0G,aAAa,IAAI,IAAI3O,KAAK,CAAC,6BAA6B,CAAC,GAC1DmO,cAAc,GACXD,WAAW,IAAI,IAAIlO,KAAK,CAAC,6CAA6C,CAAC,GACxE+O,WAAW;AAEjB,cAAA,MAAMlB,uBAAuB,CAAC;AAC5B,gBAAA,GAAGpC,WAAW;AACd/G,gBAAAA,KAAK,EAAEiF,OAAO;AACdvK,gBAAAA,QAAQ,EAAEA,QAAQ;AAClB/B,gBAAAA,KAAK,EAAEgO,aAAa,CAACM,kBAAkB,GAAG,EAAE,GAAGpE,eAAe,CAACzK,MAAM,CAACqQ,MAA6B,CAAC;gBACpGjP,MAAM;gBACNgH,OAAO;gBACPE,gBAAgB;gBAChBvE,OAAO;AACP+D,gBAAAA,eAAe,EAAE/H,cAAc,CAACyP,YAAmB,CAAC;AACpDvK,gBAAAA,UAAU,EAAEzB,KAAK,GAAG7H,SAAS,GAAG,GAAG;AACnC6F,gBAAAA,KAAK,EAAEwQ,UAAU;gBACjBpJ,UAAU;gBACVpF,KAAK;AACLjB,gBAAAA,KAAK,EAAEkN;AACR,eAAA,CAAC;AACJ,YAAA,CAAC,GAAG,CAACyC,KAAK,CAAE1O,KAAc,IAAI;AAC5B;AACA9C,cAAAA,OAAO,CAACC,IAAI,CAAC,yDAAyD,EAAE6C,KAAK,CAAC;AAChF,YAAA,CAAC,CAAC;AAEF,YAAA,OAAO8N,mBAAmB;UAC5B,CAAC;AAED,UAAA,MAAMa,kBAAkB,GAAG,IAAIC,cAAc,CAC3C;YACE,MAAMC,IAAIA,CAACC,UAAU,EAAA;AACnB,cAAA,IAAInR,MAAyD;cAC7D,IAAI;AACFA,gBAAAA,MAAM,GAAG,MAAM+P,MAAM,CAACqB,IAAI,EAAE;cAC9B,CAAC,CAAC,OAAO/O,KAAc,EAAE;AACvB,gBAAA,KAAKoO,QAAQ,CAACpO,KAAK,EAAE,IAAI,CAAC;AAC1B8O,gBAAAA,UAAU,CAAC9O,KAAK,CAACA,KAAK,CAAC;AACvB,gBAAA;AACF,cAAA;cAEA,IAAIrC,MAAM,CAACqR,IAAI,EAAE;gBACfF,UAAU,CAACG,KAAK,EAAE;gBAClB,KAAKb,QAAQ,EAAE;AACf,gBAAA;AACF,cAAA;cAEA,IAAI;AACFL,gBAAAA,YAAY,CAACpQ,MAAM,CAACzH,KAAK,CAAC;AAC5B,cAAA,CAAC,CAAC,MAAM;AACN;AAAA,cAAA;AAEF4Y,cAAAA,UAAU,CAACI,OAAO,CAACvR,MAAM,CAACzH,KAAK,CAAC;YAClC,CAAC;YACDiZ,MAAMA,CAACC,MAAM,EAAA;cACX,KAAKhB,QAAQ,CAACgB,MAAM,IAAI,IAAI1P,KAAK,CAAC,oCAAoC,CAAC,EAAE,IAAI,CAAC;AAC9E,cAAA,OAAOgO,MAAM,CAACyB,MAAM,CAACC,MAAM,CAAC;AAC9B,YAAA;AACD,WAAA,EACD;AAAEC,YAAAA,aAAa,EAAE;AAAC,WAAE,CACrB;UAED,OAAO;AACLrI,YAAAA,MAAM,EAAE2H,kBAAkB;YAC1B,GAAGlB;WACJ;QACH,CAAC,CAAC,OAAOzN,KAAc,EAAE;AACvB,UAAA,MAAMuN,uBAAuB,CAAC;AAC5B,YAAA,GAAGpC,WAAW;AACd/G,YAAAA,KAAK,EAAEiF,OAAO;AACdvK,YAAAA,QAAQ,EAAEA,QAAQ;AAClB/B,YAAAA,KAAK,EAAEgO,aAAa,CAACM,kBAAkB,GAAG,EAAE,GAAGpE,eAAe,CAACzK,MAAM,CAACqQ,MAA6B,CAAC;AACpGjP,YAAAA,MAAM,EAAE,EAAE;AACVgH,YAAAA,OAAO,EAAE,CAAC;YACVrE,OAAO;AACP+D,YAAAA,eAAe,EAAE/H,cAAc,CAACyP,YAAmB,CAAC;AACpDhO,YAAAA,KAAK,EAAE;AACL0E,cAAAA,WAAW,EAAE,CAAC;AACdG,cAAAA,YAAY,EAAE;aACf;AACD7C,YAAAA,KAAK,EAAEA,KAAK;AACZjB,YAAAA,KAAK,EAAEkN;AACR,WAAA,CAAC;AACF,UAAA,MAAMjM,KAAK;AACb,QAAA;MACF,CAAC;AACD8M,MAAAA,QAAQ,EAAE,IAAI;AACdC,MAAAA,YAAY,EAAE,IAAI;AAClBC,MAAAA,UAAU,EAAE;AACb;AACF,GAAA,CAAM;AAEP,EAAA,OAAOtB,YAAY;AACrB;;ACp2BA;AAcA,MAAM4D,yBAAyB,GAAG,GAAG,CAAA;AACrC,MAAMC,oBAAoB,GAAG,wBAAwB;AAKrD,SAASC,eAAeA,CAACtZ,KAAe,EAAA;EACtC,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACuZ,IAAI,EAAE,GAAG,EAAE;AACtD;AAEA,SAASC,aAAaA,CAACxZ,KAAe,EAAA;AACpC,EAAA,MAAMyZ,cAAc,GAAG,OAAOzZ,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACuZ,IAAI,EAAE,GAAG,EAAE;EACpE,OAAO,CAACE,cAAc,IAAIJ,oBAAoB,EAAEhV,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACrE;AAEA;AACA,SAASqV,aAAaA,CAAC1Z,KAAc,EAAA;AACnC,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;AACxE,IAAA,OAAOA,KAAgC;AACzC,EAAA;AACA,EAAA,OAAO,IAAI;AACb;AAEA;AACA,SAAS2Z,WAAWA,CAAC3G,MAAsC,EAAA;EACzD,OAAOA,MAAM,KAAK,IAAI,GAAG,IAAI,GAAG4G,eAAe,CAAC5G,MAAM,CAAC;AACzD;AAEA,SAAS6G,mBAAmBA,CAAC5U,IAAa,EAAA;EACxC,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,EAAE;AAC7C,IAAA,OAAO,KAAK;AACd,EAAA;EACA,MAAM6U,MAAM,GAAG7U,IAA+B;AAC9C,EAAA,OACE,OAAO6U,MAAM,CAACnD,MAAM,KAAK,QAAQ,IACjC,OAAOmD,MAAM,CAACrQ,IAAI,KAAK,QAAQ,IAC/B,OAAOqQ,MAAM,CAACjM,OAAO,KAAK,QAAQ,KACjCiM,MAAM,CAACC,KAAK,KAAK9X,SAAS,IAAI,OAAO6X,MAAM,CAACC,KAAK,KAAK,QAAQ,CAAC;AAEpE;AASA,SAASC,oBAAoBA,CAACnP,OAAuB,EAAA;EACnD,OAAO,SAAS,IAAIA,OAAO;AAC7B;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;MACUoP,OAAO,CAAA;EAOlBzY,WAAAA,CAAYqJ,OAAuB,EAAA;AAF3B,IAAA,IAAA,CAAAqP,KAAK,GAAoC,IAAI9C,GAAG,EAAE;AAGxD,IAAA,IAAI,CAAC+C,sBAAsB,GAAGtP,OAAO,CAACsP,sBAAsB,IAAIf,yBAAyB;AAEzF,IAAA,IAAIY,oBAAoB,CAACnP,OAAO,CAAC,EAAE;MACjC,IAAI,CAACuP,cAAc,GAAGvP,OAAO,CAACwP,OAAO,CAACxP,OAAO,CAACuP,cAAc,IAAI,EAAE;AAClE,MAAA,IAAI,CAACE,aAAa,GAAGzP,OAAO,CAACwP,OAAO,CAACE,MAAM;AAC3C,MAAA,IAAI,CAAC7P,IAAI,GAAGG,OAAO,CAACwP,OAAO,CAAC3P,IAAI;AAClC,IAAA,CAAC,MAAM;AACL;MACA,IAAI,CAAC0P,cAAc,GAAGd,eAAe,CAACzO,OAAO,CAACuP,cAAc,CAAC;MAC7D,IAAI,CAACE,aAAa,GAAGhB,eAAe,CAACzO,OAAO,CAACyP,aAAa,CAAC;MAC3D,IAAI,CAAC5P,IAAI,GAAG8O,aAAa,CAAC3O,OAAO,CAACH,IAAI,CAAC;AACzC,IAAA;AACF,EAAA;EAEQ8P,cAAcA,CAAC/Q,IAAY,EAAA;AACjC,IAAA,OAAO,IAAI,CAACyQ,KAAK,CAAClC,GAAG,CAACvO,IAAI,CAAC;AAC7B,EAAA;EAEQgR,sBAAsBA,CAAChR,IAAY,EAAA;IACzC,MAAMiR,oBAAoB,GAAG,IAAI,CAACR,KAAK,CAAClC,GAAG,CAACvO,IAAI,CAAC;AACjD,IAAA,IAAIiR,oBAAoB,EAAE;AACxB,MAAA,OAAOA,oBAAoB;AAC7B,IAAA;AAEA,IAAA,MAAMC,cAAc,GAAuB,IAAIvD,GAAG,EAAE;IACpD,IAAI,CAAC8C,KAAK,CAACnC,GAAG,CAACtO,IAAI,EAAEkR,cAAc,CAAC;AACpC,IAAA,OAAOA,cAAc;AACvB,EAAA;AAEQC,EAAAA,kBAAkBA,CAACnR,IAAY,EAAEoE,OAAgB,EAAEkM,KAAc,EAAA;IACvE,IAAIlM,OAAO,KAAK5L,SAAS,EAAE;AACzB,MAAA,OAAO,CAAA,CAAA,EAAIwH,IAAI,CAAA,UAAA,EAAaoE,OAAO,CAAA,CAAE;AACvC,IAAA;IACA,IAAIkM,KAAK,KAAK9X,SAAS,EAAE;AACvB,MAAA,OAAO,CAAA,CAAA,EAAIwH,IAAI,CAAA,SAAA,EAAYsQ,KAAK,CAAA,CAAA,CAAG;AACrC,IAAA;IACA,OAAO,CAAA,CAAA,EAAItQ,IAAI,CAAA,CAAA,CAAG;AACpB,EAAA;AAEA;;;;;;;AAOG;AACH,EAAA,MAAMuO,GAAGA,CAACvO,IAAY,EAAEoB,OAA0B,EAAA;IAChD,IAAIA,OAAO,EAAEgD,OAAO,KAAK5L,SAAS,IAAI4I,OAAO,EAAEkP,KAAK,KAAK9X,SAAS,EAAE;AAClE,MAAA,MAAM,IAAIuH,KAAK,CAAC,2DAA2D,CAAC;AAC9E,IAAA;IAEA,IAAI;MACF,OAAO,MAAM,IAAI,CAACqR,WAAW,CAACpR,IAAI,EAAEoB,OAAO,CAAC;IAC9C,CAAC,CAAC,OAAOf,KAAK,EAAE;AACd,MAAA,MAAMgR,QAAQ,GAAGjQ,OAAO,EAAEiQ,QAAQ;MAElC,IAAIA,QAAQ,KAAK7Y,SAAS,EAAE;AAC1B,QAAA,MAAM8Y,eAAe,GAAG,IAAI,CAACH,kBAAkB,CAACnR,IAAI,EAAEoB,OAAO,EAAEgD,OAAO,EAAEhD,OAAO,EAAEkP,KAAK,CAAC;QACvF/S,OAAO,CAACC,IAAI,CAAC,CAAA,yCAAA,EAA4C8T,eAAe,CAAA,iBAAA,CAAmB,EAAEjR,KAAK,CAAC;QAEnG,OAAO;AACLkR,UAAAA,MAAM,EAAE,eAAe;AACvBrE,UAAAA,MAAM,EAAEmE,QAAQ;AAChBrR,UAAAA,IAAI,EAAExH,SAAS;AACf4L,UAAAA,OAAO,EAAE5L,SAAS;AAClB8X,UAAAA,KAAK,EAAE9X,SAAS;AAChB+Q,UAAAA,MAAM,EAAE/Q;SAC0B;AACtC,MAAA;AAEA,MAAA,MAAM6H,KAAK;AACb,IAAA;AACF,EAAA;AAEA;;;AAGG;AACK,EAAA,MAAM+Q,WAAWA,CAACpR,IAAY,EAAEoB,OAA0B,EAAA;IAChE,MAAMoQ,eAAe,GAAGpQ,OAAO,EAAEoQ,eAAe,IAAI,IAAI,CAACd,sBAAsB;AAC/E,IAAA,MAAMtM,OAAO,GAAGhD,OAAO,EAAEgD,OAAO;AAChC,IAAA,MAAMkM,KAAK,GAAGlP,OAAO,EAAEkP,KAAK;IAC5B,MAAMgB,eAAe,GAAG,IAAI,CAACH,kBAAkB,CAACnR,IAAI,EAAEoE,OAAO,EAAEkM,KAAK,CAAC;AACrE,IAAA,MAAMmB,aAAa,GAAGrN,OAAO,IAAIkM,KAAK;AAEtC;AACA,IAAA,MAAMoB,MAAM,GAAG,IAAI,CAACX,cAAc,CAAC/Q,IAAI,CAAC,EAAEuO,GAAG,CAACkD,aAAa,CAAC;AAC5D,IAAA,MAAMrF,GAAG,GAAGD,IAAI,CAACC,GAAG,EAAE;AAEtB,IAAA,IAAIsF,MAAM,EAAE;MACV,MAAMC,OAAO,GAAGvF,GAAG,GAAGsF,MAAM,CAACE,SAAS,GAAGJ,eAAe,GAAG,IAAI;AAE/D,MAAA,IAAIG,OAAO,EAAE;QACX,MAAM;AAAEC,UAAAA,SAAS,EAAEC,CAAC;UAAE,GAAGC;AAAY,SAAE,GAAGJ,MAAM;QAChD,OAAO;AAAEH,UAAAA,MAAM,EAAE,OAAO;AAAE,UAAA,GAAGO,YAAY;AAAEvI,UAAAA,MAAM,EAAE2G,WAAW,CAACwB,MAAM,CAACnI,MAAM;SAAG;AACjF,MAAA;AACF,IAAA;AAEA;IACA,IAAI;AACF,MAAA,MAAMwI,OAAO,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAChS,IAAI,EAAEoE,OAAO,EAAEkM,KAAK,CAAC;AAEnE;AACA;MACA,IAAIA,KAAK,KAAK9X,SAAS,IAAIuZ,OAAO,CAACzB,KAAK,KAAKA,KAAK,EAAE;QAClD/S,OAAO,CAACC,IAAI,CACV,CAAA,mCAAA,EAAsC8S,KAAK,CAAA,cAAA,EAAiBtQ,IAAI,CAAA,0BAAA,CAA4B,GAC1F,CAAA,EAAG+R,OAAO,CAACzB,KAAK,KAAK9X,SAAS,GAAG,UAAU,GAAG,CAAA,CAAA,EAAIuZ,OAAO,CAACzB,KAAK,CAAA,CAAA,CAAG,CAAA,4BAAA,CAA8B,GAChG,qDAAqD,CACxD;AACH,MAAA;AAEA;MACA,IAAI,CAACU,sBAAsB,CAAChR,IAAI,CAAC,CAACsO,GAAG,CAACmD,aAAa,EAAE;AAAE,QAAA,GAAGM,OAAO;AAAEH,QAAAA,SAAS,EAAEzF,IAAI,CAACC,GAAG;AAAE,OAAE,CAAC;MAE3F,OAAO;AAAEmF,QAAAA,MAAM,EAAE,KAAK;AAAE,QAAA,GAAGQ,OAAO;AAAExI,QAAAA,MAAM,EAAE2G,WAAW,CAAC6B,OAAO,CAACxI,MAAM;OAAG;IAC3E,CAAC,CAAC,OAAOlJ,KAAK,EAAE;AACd;AACA,MAAA,IAAIqR,MAAM,EAAE;QACV,MAAM;AAAEE,UAAAA,SAAS,EAAEC,CAAC;UAAE,GAAGC;AAAY,SAAE,GAAGJ,MAAM;QAChDnU,OAAO,CAACC,IAAI,CAAC,CAAA,yCAAA,EAA4C8T,eAAe,CAAA,oBAAA,CAAsB,EAAEjR,KAAK,CAAC;QACtG,OAAO;AAAEkR,UAAAA,MAAM,EAAE,aAAa;AAAE,UAAA,GAAGO,YAAY;AAAEvI,UAAAA,MAAM,EAAE2G,WAAW,CAACwB,MAAM,CAACnI,MAAM;SAAG;AACvF,MAAA;AAEA,MAAA,MAAMlJ,KAAK;AACb,IAAA;AACF,EAAA;AAEA;;;;;;;;;AASG;AACH4R,EAAAA,OAAOA,CAAC/E,MAAc,EAAEgF,SAA0B,EAAA;IAChD,OAAOhF,MAAM,CAACtS,OAAO,CAAC,oBAAoB,EAAE,CAACuX,KAAK,EAAEC,YAAY,KAAI;MAClE,IAAIA,YAAY,IAAIF,SAAS,EAAE;AAC7B,QAAA,OAAOvV,MAAM,CAACuV,SAAS,CAACE,YAAY,CAAC,CAAC;AACxC,MAAA;AAEA,MAAA,OAAOD,KAAK;AACd,IAAA,CAAC,CAAC;AACJ,EAAA;AAEA;;;;;AAKG;AACHE,EAAAA,UAAUA,CAACrS,IAAa,EAAEoE,OAAgB,EAAA;AACxC,IAAA,IAAIA,OAAO,KAAK5L,SAAS,IAAIwH,IAAI,KAAKxH,SAAS,EAAE;AAC/C,MAAA,MAAM,IAAIuH,KAAK,CAAC,0CAA0C,CAAC;AAC7D,IAAA;IAEA,IAAIC,IAAI,KAAKxH,SAAS,EAAE;AACtB,MAAA,IAAI,CAACiY,KAAK,CAAC6B,KAAK,EAAE;AAClB,MAAA;AACF,IAAA;IAEA,IAAIlO,OAAO,KAAK5L,SAAS,EAAE;AACzB,MAAA,IAAI,CAACiY,KAAK,CAAC8B,MAAM,CAACvS,IAAI,CAAC;AACvB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMkR,cAAc,GAAG,IAAI,CAACH,cAAc,CAAC/Q,IAAI,CAAC;AAChDkR,IAAAA,cAAc,EAAEqB,MAAM,CAACnO,OAAO,CAAC;AAE/B,IAAA,IAAI8M,cAAc,EAAE7I,IAAI,KAAK,CAAC,EAAE;AAC9B,MAAA,IAAI,CAACoI,KAAK,CAAC8B,MAAM,CAACvS,IAAI,CAAC;AACzB,IAAA;AACF,EAAA;AAEQ,EAAA,MAAMgS,kBAAkBA,CAC9BhS,IAAY,EACZoE,OAAgB,EAChBkM,KAAc,EAAA;AAEd,IAAA,IAAI,CAAC,IAAI,CAACK,cAAc,EAAE;AACxB,MAAA,MAAM,IAAI5Q,KAAK,CACb,iEAAiE,GAC/D,2DAA2D,CAC9D;AACH,IAAA;AACA,IAAA,IAAI,CAAC,IAAI,CAAC8Q,aAAa,EAAE;AACvB,MAAA,MAAM,IAAI9Q,KAAK,CACb,gEAAgE,GAC9D,2DAA2D,CAC9D;AACH,IAAA;AAEA,IAAA,MAAMyS,iBAAiB,GAAGC,kBAAkB,CAACzS,IAAI,CAAC;AAClD,IAAA,MAAM0S,oBAAoB,GAAGD,kBAAkB,CAAC,IAAI,CAAC5B,aAAa,CAAC;AACnE,IAAA,MAAM8B,YAAY,GAAGvO,OAAO,KAAK5L,SAAS,GAAG,EAAE,GAAG,CAAA,SAAA,EAAYia,kBAAkB,CAAC9V,MAAM,CAACyH,OAAO,CAAC,CAAC,CAAA,CAAE;AACnG,IAAA,MAAMwO,UAAU,GAAGtC,KAAK,KAAK9X,SAAS,GAAG,EAAE,GAAG,CAAA,OAAA,EAAUia,kBAAkB,CAACnC,KAAK,CAAC,CAAA,CAAE;IACnF,MAAMgB,eAAe,GAAG,IAAI,CAACH,kBAAkB,CAACnR,IAAI,EAAEoE,OAAO,EAAEkM,KAAK,CAAC;AACrE,IAAA,MAAMrH,GAAG,GAAG,CAAA,EAAG,IAAI,CAAChI,IAAI,CAAA,4CAAA,EAA+CuR,iBAAiB,CAAA,QAAA,EAAWE,oBAAoB,CAAA,EAAGC,YAAY,CAAA,EAAGC,UAAU,CAAA,CAAE;AAErJ,IAAA,MAAMrG,QAAQ,GAAG,MAAMsG,KAAK,CAAC5J,GAAG,EAAE;AAChC6J,MAAAA,MAAM,EAAE,KAAK;AACbC,MAAAA,OAAO,EAAE;AACPC,QAAAA,aAAa,EAAE,CAAA,OAAA,EAAU,IAAI,CAACrC,cAAc,CAAA;AAC7C;AACF,KAAA,CAAC;AAEF,IAAA,IAAI,CAACpE,QAAQ,CAAC0G,EAAE,EAAE;AAChB,MAAA,IAAI1G,QAAQ,CAACvK,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,MAAM,IAAIjC,KAAK,CAAC,CAAA,yBAAA,EAA4BuR,eAAe,YAAY,CAAC;AAC1E,MAAA;AAEA,MAAA,IAAI/E,QAAQ,CAACvK,MAAM,KAAK,GAAG,EAAE;QAC3B,MAAM,IAAIjC,KAAK,CACb,CAAA,2CAAA,EAA8CuR,eAAe,CAAA,EAAA,CAAI,GAC/D,oGAAoG,CACvG;AACH,MAAA;MAEA,MAAM,IAAIvR,KAAK,CAAC,CAAA,yCAAA,EAA4CuR,eAAe,UAAU/E,QAAQ,CAACvK,MAAM,CAAA,CAAE,CAAC;AACzG,IAAA;AAEA,IAAA,MAAMxG,IAAI,GAAY,MAAM+Q,QAAQ,CAAC2G,IAAI,EAAE;AAE3C,IAAA,IAAI,CAAC9C,mBAAmB,CAAC5U,IAAI,CAAC,EAAE;AAC9B,MAAA,MAAM,IAAIuE,KAAK,CAAC,CAAA,qDAAA,EAAwDuR,eAAe,EAAE,CAAC;AAC5F,IAAA;IAEA,OAAO;MACLpE,MAAM,EAAE1R,IAAI,CAAC0R,MAAM;MACnBlN,IAAI,EAAExE,IAAI,CAACwE,IAAI;MACfoE,OAAO,EAAE5I,IAAI,CAAC4I,OAAO;MACrBkM,KAAK,EAAE9U,IAAI,CAAC8U,KAAK;AACjB/G,MAAAA,MAAM,EAAE0G,aAAa,CAACzU,IAAI,CAAC+N,MAAM;KAClC;AACH,EAAA;AACD;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/typeGuards.ts","../src/sanitization/base64_recognizer.ts","../src/sanitization/media_type_context.ts","../src/sanitization/binary_content_redactor.ts","../src/sanitization.ts","../src/utils.ts","../src/serializeError.ts","../src/gatewayWarning.ts","../src/captureAiGeneration.ts","../src/vercel/middleware.ts","../src/prompts.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["isString","value","isObject","Array","isArray","DATA_URL_PREFIX_RE","BASE64_ALPHABET_RE","Base64Recognizer","recognize","minLength","dataUrl","exec","kind","mediaType","length","confidencePrefix","slice","test","MIME_HINT_KEYS","STRONG_CONTEXT_KEYS","Set","STRONG_CONTEXT_TYPES","FILE_FAMILY_TYPES","KNOWN_AUDIO_FORMATS","MediaTypeContext","constructor","parent","key","explicitMediaType","inferMediaType","inferFromSiblingMime","inferFromSiblingFormat","inferFromParentType","inferFromKey","undefined","hint","v","fmt","format","has","toLowerCase","t","type","includes","hasExplicitBinaryMediaType","startsWith","signalsBinary","EMPTY","STRONG_CONTEXT_MIN_LENGTH","WEAK_CONTEXT_MIN_LENGTH","BinaryContentRedactor","recognizer","visited","WeakSet","redact","isMultimodalEnabled","walk","ctx","redactString","Uint8Array","placeholderFor","add","map","item","obj","out","k","Object","keys","recognitionValue","replace","Math","min","recognition","val","process","env","_INTERNAL_LLMA_MULTIMODAL","redactor","redactBase64DataUrl","str","sanitizeVercel","data","TOKEN_PROPERTY_KEYS","hasTokenOverrides","posthogProperties","some","getTokensSource","MAX_OUTPUT_SIZE","STRING_FORMAT","sharedTextEncoder","TextEncoder","sharedTextDecoder","TextDecoder","fatal","utf8ByteLength","encode","byteLength","toContentString","content","JSON","stringify","String","getModelParams","params","responseServiceTier","modelParams","paramKeys","withPrivacyMode","client","privacyMode","input","privacy_mode","toSafeString","console","warn","truncate","buffer","decode","truncatedBuffer","truncatedStr","endsWith","calculateWebSearchCount","result","output","count","citations","search_results","usage","search_context_size","choices","choice","message","delta","annotations","hasUrlCitation","ann","contentItem","candidates","candidate","grounding_metadata","extractAvailableToolCalls","provider","tools","AIEvent","sanitizeValues","jsonSafe","parse","fromEntries","entries","DEFAULT_MAX_DEPTH","MAX_STACK_LINES","serializeError","depth","Error","name","stack","truncateStack","cause","stringifyError","error","lines","split","join","POSTHOG_AI_GATEWAY_HOSTS","GATEWAY_DOCS_URL","extractHost","baseURL","hasScheme","URL","hostname","isPostHogAiGatewayUrl","host","warnIfPostHogAiGateway","captureAiGeneration","options","capture","traceId","uuidv4","eventType","Generation","shouldRedact","safeInput","toJsonSafeValue","safeOutput","httpStatus","errorData","status","statusCode","exceptionId","enableExceptionAutocapture","uuidv7","captureException","$ai_trace_id","__posthog_previously_captured_error","$ai_is_error","$ai_error","$exception_event_id","costOverrideData","costOverride","inputCostUSD","inputCost","inputTokens","outputCostUSD","outputCost","outputTokens","$ai_input_cost_usd","$ai_output_cost_usd","$ai_total_cost_usd","tokensOverridden","properties","additionalTokenValues","reasoningTokens","$ai_reasoning_tokens","cacheReadInputTokens","$ai_cache_read_input_tokens","cacheCreationInputTokens","$ai_cache_creation_input_tokens","cacheReportingExclusive","$ai_cache_reporting_exclusive","webSearchCount","$ai_web_search_count","rawUsage","$ai_usage","$ai_lib","$ai_lib_version","version","$ai_provider","providerOverride","$ai_model","modelOverride","model","$ai_model_parameters","modelParameters","$ai_input","$ai_output_choices","$ai_http_status","$ai_input_tokens","$ai_output_tokens","latency","$ai_latency","timeToFirstToken","$ai_time_to_first_token","$ai_base_url","$ai_tokens_source","distinctId","$process_person_profile","stopReason","$ai_stop_reason","$ai_tools","completionId","$ai_completion_id","providerMetadata","$ai_provider_metadata","event","groups","captureImmediate","isV3Model","specificationVersion","getSpecificationVersion","redactFileData","toString","protocol","mapVercelParams","temperature","max_output_tokens","maxOutputTokens","top_p","topP","frequency_penalty","frequencyPenalty","presence_penalty","presencePenalty","stop","stopSequences","stream","mapVercelPrompt","messages","inputs","role","text","c","fileData","file","toolCallId","toolName","isError","messageSizes","m","totalBytes","max","size","removedCount","splice","unshift","mapVercelOutput","toolCall","rawArgs","args","arguments","id","function","sourceType","url","title","jsonOutput","extractProvider","providerName","extractBaseURL","config","urlFn","path","modelId","extractWebSearchCount","anthropic","serverToolUse","server_tool_use","web_search_requests","extractTokenCount","total","extractUsageToken","topLevelKey","nestedObjectKey","nestedValueKey","nestedTokens","extractReasoningTokens","extractCacheReadTokens","extractCacheWriteTokens","cacheWrite","extractAdditionalTokenValues","isAnthropicClaudeModel","adjustAnthropicV3CacheTokens","cacheReadTokens","cacheWriteTokens","cacheTokens","wrapVercelLanguageModel","phClient","posthogTraceId","mergedOptions","posthogDistinctId","$ai_framework","$ai_framework_version","baseOptions","posthogGroups","posthogPrivacyMode","posthogModelOverride","posthogProviderOverride","posthogCostOverride","posthogCaptureImmediate","wrappedModel","create","doGenerate","startTime","Date","now","mergedParams","availableTools","response","usageObj","rawUsageData","responseBody","body","rawResponse","usageMetadata","rawFinishReason","finishReason","finishReasonStr","unified","prompt","writable","configurable","enumerable","doStream","firstTokenTime","generatedText","reasoningText","toolCallsInProgress","Map","captureStreamGeneration","captureOptions","rest","reader","getReader","inBandError","hasInBandError","finalizationPromise","observeChunk","chunk","set","get","chunkUsage","finalize","terminalError","push","values","finalUsage","finishError","catch","instrumentedStream","ReadableStream","pull","controller","read","done","close","enqueue","cancel","reason","highWaterMark","DEFAULT_CACHE_TTL_SECONDS","DEFAULT_PROMPTS_HOST","normalizeApiKey","trim","normalizeHost","normalizedHost","extractConfig","cloneConfig","structuredClone","isPromptApiResponse","record","label","isPromptsWithPostHog","Prompts","cache","defaultCacheTtlSeconds","personalApiKey","posthog","projectApiKey","apiKey","getPromptCache","getOrCreatePromptCache","cachedPromptVersions","promptVersions","getPromptReference","getInternal","fallback","promptReference","source","cacheTtlSeconds","cacheEntryKey","cached","isFresh","fetchedAt","_","cachedResult","fetched","fetchPromptFromApi","compile","variables","match","variableName","clearCache","clear","delete","encodedPromptName","encodeURIComponent","encodedProjectApiKey","versionQuery","labelQuery","fetch","method","headers","Authorization","ok","json"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ interface TokenUsage {
10
10
  reasoningTokens?: unknown;
11
11
  cacheReadInputTokens?: unknown;
12
12
  cacheCreationInputTokens?: unknown;
13
+ cacheReportingExclusive?: boolean;
13
14
  webSearchCount?: number;
14
15
  rawUsage?: unknown;
15
16
  }
package/dist/index.mjs CHANGED
@@ -170,11 +170,15 @@ function redactBase64DataUrl(str, mediaType) {
170
170
  const sanitizeVercel = data => redactor.redact(data);
171
171
 
172
172
  const TOKEN_PROPERTY_KEYS = new Set(['$ai_input_tokens', '$ai_output_tokens', '$ai_cache_read_input_tokens', '$ai_cache_creation_input_tokens', '$ai_total_tokens', '$ai_reasoning_tokens']);
173
+ /**
174
+ * Whether the caller supplied their own token counts, which override the ones the SDK
175
+ * derived from the provider response.
176
+ */
177
+ function hasTokenOverrides(posthogProperties) {
178
+ return !!posthogProperties && Object.keys(posthogProperties).some(key => TOKEN_PROPERTY_KEYS.has(key));
179
+ }
173
180
  function getTokensSource(posthogProperties) {
174
- if (posthogProperties && Object.keys(posthogProperties).some(key => TOKEN_PROPERTY_KEYS.has(key))) {
175
- return 'passthrough';
176
- }
177
- return 'sdk';
181
+ return hasTokenOverrides(posthogProperties) ? 'passthrough' : 'sdk';
178
182
  }
179
183
  // limit large outputs by truncating to 200kb (approx 200k bytes)
180
184
  const MAX_OUTPUT_SIZE = 200000;
@@ -389,7 +393,7 @@ function sanitizeValues(obj) {
389
393
  return jsonSafe;
390
394
  }
391
395
 
392
- var version = "8.7.0";
396
+ var version = "8.7.1";
393
397
 
394
398
  const DEFAULT_MAX_DEPTH = 3;
395
399
  const MAX_STACK_LINES = 20;
@@ -546,6 +550,9 @@ const captureAiGeneration = async (client, options) => {
546
550
  $ai_total_cost_usd: inputCostUSD + outputCostUSD
547
551
  };
548
552
  }
553
+ // The caller's own token counts override the SDK-derived ones further down, via the
554
+ // `options.properties` spread.
555
+ const tokensOverridden = hasTokenOverrides(options.properties);
549
556
  const additionalTokenValues = {
550
557
  ...(usage.reasoningTokens ? {
551
558
  $ai_reasoning_tokens: usage.reasoningTokens
@@ -556,6 +563,18 @@ const captureAiGeneration = async (client, options) => {
556
563
  ...(usage.cacheCreationInputTokens ? {
557
564
  $ai_cache_creation_input_tokens: usage.cacheCreationInputTokens
558
565
  } : {}),
566
+ // Checked against undefined rather than truthiness, because false is the meaningful
567
+ // value here and a truthiness guard would drop it.
568
+ //
569
+ // Dropped entirely when the caller overrides the token counts: the flag describes how
570
+ // the SDK-derived counts relate to each other, so against passthrough counts it can be
571
+ // wrong in the expensive direction. Declaring inclusive over counts that are actually
572
+ // exclusive makes ingestion subtract the cache pool that was never in the input. A
573
+ // caller who knows their own accounting model can still pass
574
+ // `$ai_cache_reporting_exclusive` themselves, and that value wins.
575
+ ...(usage.cacheReportingExclusive !== undefined && !tokensOverridden ? {
576
+ $ai_cache_reporting_exclusive: usage.cacheReportingExclusive
577
+ } : {}),
559
578
  ...(usage.webSearchCount ? {
560
579
  $ai_web_search_count: usage.webSearchCount
561
580
  } : {}),