@buoy-gg/agent-core 7.0.36 → 7.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +13 -9
  2. package/lib/commonjs/catalog/catalog.g.js +93 -6
  3. package/lib/commonjs/catalog/catalog.g.js.map +1 -1
  4. package/lib/commonjs/catalog/catalog.source.json +106 -4
  5. package/lib/commonjs/catalog/catalog.types.g.js +3 -3
  6. package/lib/commonjs/catalog/catalog.types.g.js.map +1 -1
  7. package/lib/commonjs/catalog/toProviderTools.js +3 -1
  8. package/lib/commonjs/catalog/toProviderTools.js.map +1 -1
  9. package/lib/commonjs/effects/ledger.js +13 -1
  10. package/lib/commonjs/effects/ledger.js.map +1 -1
  11. package/lib/commonjs/engine/evidence.js +113 -0
  12. package/lib/commonjs/engine/evidence.js.map +1 -0
  13. package/lib/commonjs/engine/historyBudget.js +158 -55
  14. package/lib/commonjs/engine/historyBudget.js.map +1 -1
  15. package/lib/commonjs/engine/retrieve.js +214 -0
  16. package/lib/commonjs/engine/retrieve.js.map +1 -0
  17. package/lib/commonjs/engine/runAgentTurn.js +364 -94
  18. package/lib/commonjs/engine/runAgentTurn.js.map +1 -1
  19. package/lib/commonjs/engine/systemPrompt.js +31 -1
  20. package/lib/commonjs/engine/systemPrompt.js.map +1 -1
  21. package/lib/commonjs/engine/tokenCalibration.js +81 -0
  22. package/lib/commonjs/engine/tokenCalibration.js.map +1 -0
  23. package/lib/commonjs/engine/verify.js +300 -0
  24. package/lib/commonjs/engine/verify.js.map +1 -0
  25. package/lib/commonjs/index.js +16 -0
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/providers/anthropic.js +12 -3
  28. package/lib/commonjs/providers/anthropic.js.map +1 -1
  29. package/lib/commonjs/providers/openai.js +11 -3
  30. package/lib/commonjs/providers/openai.js.map +1 -1
  31. package/lib/commonjs/providers/problem.js +98 -0
  32. package/lib/commonjs/providers/problem.js.map +1 -0
  33. package/lib/commonjs/providers/sse.js +6 -5
  34. package/lib/commonjs/providers/sse.js.map +1 -1
  35. package/lib/commonjs/providers/transport.js +20 -4
  36. package/lib/commonjs/providers/transport.js.map +1 -1
  37. package/lib/commonjs/providers/xhrStream.js +3 -0
  38. package/lib/commonjs/providers/xhrStream.js.map +1 -1
  39. package/lib/commonjs/session.js +32 -5
  40. package/lib/commonjs/session.js.map +1 -1
  41. package/lib/module/catalog/catalog.g.js +93 -6
  42. package/lib/module/catalog/catalog.g.js.map +1 -1
  43. package/lib/module/catalog/catalog.source.json +106 -4
  44. package/lib/module/catalog/catalog.types.g.js +3 -3
  45. package/lib/module/catalog/catalog.types.g.js.map +1 -1
  46. package/lib/module/catalog/toProviderTools.js +3 -1
  47. package/lib/module/catalog/toProviderTools.js.map +1 -1
  48. package/lib/module/effects/ledger.js +13 -1
  49. package/lib/module/effects/ledger.js.map +1 -1
  50. package/lib/module/engine/evidence.js +107 -0
  51. package/lib/module/engine/evidence.js.map +1 -0
  52. package/lib/module/engine/historyBudget.js +158 -54
  53. package/lib/module/engine/historyBudget.js.map +1 -1
  54. package/lib/module/engine/retrieve.js +210 -0
  55. package/lib/module/engine/retrieve.js.map +1 -0
  56. package/lib/module/engine/runAgentTurn.js +365 -96
  57. package/lib/module/engine/runAgentTurn.js.map +1 -1
  58. package/lib/module/engine/systemPrompt.js +30 -1
  59. package/lib/module/engine/systemPrompt.js.map +1 -1
  60. package/lib/module/engine/tokenCalibration.js +75 -0
  61. package/lib/module/engine/tokenCalibration.js.map +1 -0
  62. package/lib/module/engine/verify.js +292 -0
  63. package/lib/module/engine/verify.js.map +1 -0
  64. package/lib/module/index.js +2 -0
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/providers/anthropic.js +12 -3
  67. package/lib/module/providers/anthropic.js.map +1 -1
  68. package/lib/module/providers/openai.js +11 -3
  69. package/lib/module/providers/openai.js.map +1 -1
  70. package/lib/module/providers/problem.js +92 -0
  71. package/lib/module/providers/problem.js.map +1 -0
  72. package/lib/module/providers/sse.js +6 -5
  73. package/lib/module/providers/sse.js.map +1 -1
  74. package/lib/module/providers/transport.js +20 -4
  75. package/lib/module/providers/transport.js.map +1 -1
  76. package/lib/module/providers/xhrStream.js +3 -0
  77. package/lib/module/providers/xhrStream.js.map +1 -1
  78. package/lib/module/session.js +33 -6
  79. package/lib/module/session.js.map +1 -1
  80. package/lib/typescript/catalog/catalog.g.d.ts +2 -2
  81. package/lib/typescript/catalog/catalog.g.d.ts.map +1 -1
  82. package/lib/typescript/catalog/catalog.types.g.d.ts +3 -3
  83. package/lib/typescript/catalog/catalog.types.g.d.ts.map +1 -1
  84. package/lib/typescript/catalog/toProviderTools.d.ts.map +1 -1
  85. package/lib/typescript/effects/ledger.d.ts +18 -0
  86. package/lib/typescript/effects/ledger.d.ts.map +1 -1
  87. package/lib/typescript/engine/evidence.d.ts +67 -0
  88. package/lib/typescript/engine/evidence.d.ts.map +1 -0
  89. package/lib/typescript/engine/historyBudget.d.ts +31 -8
  90. package/lib/typescript/engine/historyBudget.d.ts.map +1 -1
  91. package/lib/typescript/engine/retrieve.d.ts +32 -0
  92. package/lib/typescript/engine/retrieve.d.ts.map +1 -0
  93. package/lib/typescript/engine/runAgentTurn.d.ts +96 -2
  94. package/lib/typescript/engine/runAgentTurn.d.ts.map +1 -1
  95. package/lib/typescript/engine/systemPrompt.d.ts +39 -0
  96. package/lib/typescript/engine/systemPrompt.d.ts.map +1 -1
  97. package/lib/typescript/engine/tokenCalibration.d.ts +46 -0
  98. package/lib/typescript/engine/tokenCalibration.d.ts.map +1 -0
  99. package/lib/typescript/engine/verify.d.ts +67 -0
  100. package/lib/typescript/engine/verify.d.ts.map +1 -0
  101. package/lib/typescript/index.d.ts +4 -2
  102. package/lib/typescript/index.d.ts.map +1 -1
  103. package/lib/typescript/providers/anthropic.d.ts.map +1 -1
  104. package/lib/typescript/providers/openai.d.ts.map +1 -1
  105. package/lib/typescript/providers/problem.d.ts +50 -0
  106. package/lib/typescript/providers/problem.d.ts.map +1 -0
  107. package/lib/typescript/providers/sse.d.ts +4 -1
  108. package/lib/typescript/providers/sse.d.ts.map +1 -1
  109. package/lib/typescript/providers/transport.d.ts +8 -0
  110. package/lib/typescript/providers/transport.d.ts.map +1 -1
  111. package/lib/typescript/providers/types.d.ts +14 -0
  112. package/lib/typescript/providers/types.d.ts.map +1 -1
  113. package/lib/typescript/providers/xhrStream.d.ts +2 -0
  114. package/lib/typescript/providers/xhrStream.d.ts.map +1 -1
  115. package/lib/typescript/session.d.ts +15 -2
  116. package/lib/typescript/session.d.ts.map +1 -1
  117. package/lib/typescript/types.d.ts +6 -0
  118. package/lib/typescript/types.d.ts.map +1 -1
  119. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_catalog","require","_validateParams","_normalizeParams","_toProviderTools","_snapshotReads","_ledger","_policy","_redact","_effectFor","_digest","_uiTool","_receipts","_types","_askGate","_textToolCalls","_historyBudget","MAX_RESULT_CHARS","MAX_TRACE_RESULT_CHARS","LOOP_REPEATS","callSignature","calls","sort","v","Array","isArray","map","o","Object","keys","reduce","a","k","c","name","JSON","stringify","input","join","LOOP_WARNING","DEFAULT_MAX_STEPS","DEFAULT_TURN_MS","findDescriptor","catalog","toolId","action","find","t","actions","URL_PROVENANCE_REJECTION","droppedImageNote","n","encodeResult","value","text","String","length","slice","summarise","undefined","countOf","rec","ok","error","found","tapped","active","key","lists","values","filter","reportsFailure","runAgentTurn","provider","system","systemVolatile","model","maxTokens","dispatch","readSnapshot","storeKeyOwners","ledger","policy","isRelease","requestApproval","signal","messages","tools","toProviderTools","availableToolIds","availableActions","push","uiProviderTool","maxSteps","ledgerGeneration","generation","requestReserve","description","inputSchema","deadline","Date","now","seenUrls","Set","URL_RE","answerStarted","recentSignatures","loopWarned","spoken","offeredTap","attemptedAcquisition","step","aborted","type","block","id","kind","tone","Math","round","label","primary","send","budgeted","budgetForRequest","droppedRounds","textThisRound","textEvent","delta","opensNewRound","breakBefore","salvagedIds","held","holding","thinking","failed","outcome","incomplete","ev","couldBeToolCallEnvelope","call","trim","message","usage","role","salvaged","parseTextToolCalls","add","reply","toolCalls","said","gap","synthesizeShortfallBlock","attempted","asked","synthesizeAskBlock","blockId","results","realmWillDie","prefetch","Map","safe","every","UI_TOOL_NAME","fromProviderToolName","act","SNAPSHOT_ACTION","d","effect","decide","descriptor","verdict","raw","params","norm","normalizeParams","withDefaults","applyDefaults","validateParams","p","Promise","resolve","catch","e","set","awaiting","stoppedStep","describeCall","summary","durationMs","planned","mutates","gated","reason","gatedInBatch","some","decided","barrierRun","batchDeclined","runBarrier","has","askedAt","targetDigest","readTargetDigest","approved","toolCallId","content","isError","built","buildUiBlock","errors","droppedImages","kept","images","img","url","items","item","image","forToolCallId","isAskBlock","deadCall","known","normalized","check","aliasTrailer","aliasNote","notes","unrunStep","gatedHere","get","ACQUISITION_CALLS","startedAt","before","captureBefore","stateBefore","captureStoreState","stillAllowed","result","projectSnapshot","requireSnapshot","runAskBuoyAction","cleaned","redact","stripSelfTraffic","refused","encodedResult","stateAfter","noteExternalRevert","fx","effectFor","after","record","receipt","projectReceipt","match","ownedKeyNote","SALVAGE_NOTE","err","Error","shift","looping","sig","last","storeName","CATALOG","store","digestOf","runGatedAction","changes","list","undoneAt","reversible","isReversible","returned","revertAll","queryHash","queryKey","hashQueryKey","readAction","startsWith","readParams","instanceId","current","had"],"sourceRoot":"../../../src","sources":["engine/runAgentTurn.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_catalog","require","_validateParams","_normalizeParams","_toProviderTools","_snapshotReads","_ledger","_policy","_redact","_effectFor","_digest","_uiTool","_receipts","_types","_askGate","_textToolCalls","_historyBudget","_tokenCalibration","_evidence","_retrieve","_verify","MAX_RESULT_CHARS","MAX_TRACE_RESULT_CHARS","LOOP_REPEATS","callSignature","calls","sort","v","Array","isArray","map","o","Object","keys","reduce","a","k","c","name","JSON","stringify","input","join","LOOP_WARNING","DEFAULT_MAX_STEPS","DEFAULT_TURN_MS","THROTTLE_RETRIES","OVERFLOW_RETRIES","RETRY_BASE_MS","RETRY_JITTER_MS","RETRY_AFTER_CAP_MS","sleep","ms","signal","Promise","resolve","aborted","t","setTimeout","done","clearTimeout","removeEventListener","addEventListener","once","readAnswer","answer","approved","trust","reason","trim","declinedResult","findDescriptor","catalog","toolId","action","find","actions","URL_PROVENANCE_REJECTION","droppedImageNote","n","fullText","value","String","encodeResult","text","ref","length","slice","truncationMarker","summarise","undefined","countOf","rec","ok","error","found","tapped","active","key","lists","values","filter","reportsFailure","runAgentTurn","provider","system","systemVolatile","model","maxTokens","dispatch","readSnapshot","storeKeyOwners","ledger","policy","isRelease","requestApproval","evidence","trusted","procedures","declineReasons","Map","calibration","TokenCalibration","messages","tools","toProviderTools","availableToolIds","availableActions","push","uiProviderTool","maxSteps","ledgerGeneration","generation","fixedChars","description","inputSchema","requestReserve","chars","deadline","Date","now","retries","throttled","overflow","historyCapTokens","MAX_HISTORY_TOKENS","seenUrls","Set","URL_RE","answerStarted","recentSignatures","loopWarned","spoken","offeredTap","attemptedAcquisition","step","type","stopReason","block","id","kind","tone","Math","round","label","primary","send","budgeted","budgetForRequest","charsPerToken","liveCallIds","droppedRounds","droppedPinned","textThisRound","textEvent","delta","opensNewRound","breakBefore","salvagedIds","held","holding","thinking","failed","outcome","incomplete","retryable","sentChars","m","messageSize","ev","couldBeToolCallEnvelope","call","message","problem","usage","observe","promptTokensOf","protocol","maxAttempts","spent","waitMs","min","retryAfterMs","floor","random","giveUp","before","again","after","plain","attempt","inMs","role","salvaged","parseTextToolCalls","add","reply","toolCalls","said","gap","synthesizeShortfallBlock","attempted","asked","synthesizeAskBlock","blockId","results","realmWillDie","prefetch","safe","every","UI_TOOL_NAME","fromProviderToolName","act","SNAPSHOT_ACTION","d","effect","decide","descriptor","verdict","raw","params","norm","normalizeParams","withDefaults","applyDefaults","validateParams","p","catch","e","set","awaiting","stoppedStep","describeCall","summary","durationMs","planned","mutates","gated","gatedInBatch","some","decided","barrierRun","batchDeclined","runBarrier","has","askedAt","targetDigest","readTargetDigest","toolCallId","content","isError","built","buildUiBlock","errors","droppedImages","kept","images","img","url","items","item","image","forToolCallId","isAskBlock","deadCall","known","normalized","check","aliasTrailer","aliasNote","notes","unrunStep","gatedHere","get","ACQUISITION_CALLS","startedAt","captureBefore","stateBefore","captureStoreState","stillAllowed","result","projectSnapshot","requireSnapshot","runAskBuoyAction","cleaned","redact","stripSelfTraffic","refused","stash","capturedAt","encodedResult","traceResult","stateAfter","noteExternalRevert","fx","effectFor","entry","record","callId","receipt","projectReceipt","verification","verifyOutcome","match","ownedKeyNote","verificationTrailer","SALVAGE_NOTE","err","Error","shift","looping","sig","last","storeName","CATALOG","store","digestOf","runGatedAction","retrieveEvidence","ids","title","version","requires","body","note","changes","list","undoneAt","reversible","isReversible","returned","revertAll","queryHash","queryKey","hashQueryKey","readAction","startsWith","readParams","instanceId","current","had"],"sourceRoot":"../../../src","sources":["engine/runAgentTurn.ts"],"mappings":";;;;;;;;;;;;;;AAmBA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAEA,IAAAI,cAAA,GAAAJ,OAAA;AASA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAb,OAAA;AACA,IAAAc,cAAA,GAAAd,OAAA;AACA,IAAAe,cAAA,GAAAf,OAAA;AACA,IAAAgB,iBAAA,GAAAhB,OAAA;AACA,IAAAiB,SAAA,GAAAjB,OAAA;AACA,IAAAkB,SAAA,GAAAlB,OAAA;AACA,IAAAmB,OAAA,GAAAnB,OAAA;AA/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkCA;AACA,MAAMoB,gBAAgB,GAAG,MAAM;AAC/B;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,CAAC;AAEtB,SAASC,aAAaA,CAACC,KAAiB,EAAU;EAChD,MAAMC,IAAI,GAAIC,CAAU,IAAc;IACpC,IAAIA,CAAC,KAAK,IAAI,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE,OAAOA,CAAC;IACjD,IAAIC,KAAK,CAACC,OAAO,CAACF,CAAC,CAAC,EAAE,OAAOA,CAAC,CAACG,GAAG,CAACJ,IAAI,CAAC;IACxC,MAAMK,CAAC,GAAGJ,CAA4B;IACtC,OAAOK,MAAM,CAACC,IAAI,CAACF,CAAC,CAAC,CAACL,IAAI,CAAC,CAAC,CAACQ,MAAM,CAA0B,CAACC,CAAC,EAAEC,CAAC,MAAOD,CAAC,CAACC,CAAC,CAAC,GAAGV,IAAI,CAACK,CAAC,CAACK,CAAC,CAAC,CAAC,EAAGD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACtG,CAAC;EACD,OAAOV,KAAK,CAACK,GAAG,CAAEO,CAAC,IAAK,GAAGA,CAAC,CAACC,IAAI,IAAIC,IAAI,CAACC,SAAS,CAACd,IAAI,CAACW,CAAC,CAACI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACvF;AAEA,MAAMC,YAAY,GAChB,6SAA6S;AAE/S,MAAMC,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,eAAe,GAAG,OAAO;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,aAAa,GAAG,KAAK;AAC3B,MAAMC,eAAe,GAAG,GAAG;AAC3B,MAAMC,kBAAkB,GAAG,MAAM;AAEjC,SAASC,KAAKA,CAACC,EAAU,EAAEC,MAAoB,EAAiB;EAC9D,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9B,IAAIF,MAAM,EAAEG,OAAO,EAAE,OAAOD,OAAO,CAAC,CAAC;IACrC,MAAME,CAAC,GAAGC,UAAU,CAACC,IAAI,EAAEP,EAAE,CAAC;IAC9B,SAASO,IAAIA,CAAA,EAAS;MACpBC,YAAY,CAACH,CAAC,CAAC;MACfJ,MAAM,EAAEQ,mBAAmB,CAAC,OAAO,EAAEF,IAAI,CAAC;MAC1CJ,OAAO,CAAC,CAAC;IACX;IACAF,MAAM,EAAES,gBAAgB,CAAC,OAAO,EAAEH,IAAI,EAAE;MAAEI,IAAI,EAAE;IAAK,CAAC,CAAC;EACzD,CAAC,CAAC;AACJ;;AA8HA;AACA;AACA;AACA;AACA;;AAuBA;AACA,SAASC,UAAUA,CAACC,MAAsB,EAA0D;EAClG,IAAI,OAAOA,MAAM,KAAK,SAAS,EAAE,OAAO;IAAEC,QAAQ,EAAED,MAAM;IAAEE,KAAK,EAAE;EAAM,CAAC;EAC1E,MAAMC,MAAM,GAAGH,MAAM,CAACG,MAAM,EAAEC,IAAI,CAAC,CAAC;EACpC,OAAO;IAAEH,QAAQ,EAAED,MAAM,CAACC,QAAQ;IAAE,IAAIE,MAAM,GAAG;MAAEA;IAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAAED,KAAK,EAAEF,MAAM,CAACE,KAAK,KAAK,IAAI,IAAIF,MAAM,CAACC;EAAS,CAAC;AACtH;;AAEA;AACA,SAASI,cAAcA,CAACF,MAA0B,EAAU;EAC1D,OAAOA,MAAM,GACT,4CAA4CA,MAAM,0HAA0H,GAC5K,6EAA6E;AACnF;AA+FA,SAASG,cAAcA,CACrBC,OAAyB,EACzBC,MAAc,EACdC,MAAc,EACgB;EAC9B,OAAOF,OAAO,CAACG,IAAI,CAAElB,CAAC,IAAKA,CAAC,CAACgB,MAAM,KAAKA,MAAM,CAAC,EAAEG,OAAO,CAACD,IAAI,CAAExC,CAAC,IAAKA,CAAC,CAACuC,MAAM,KAAKA,MAAM,CAAC;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,wBAAwB,GAC5B,0MAA0M;AAE5M,MAAMC,gBAAgB,GAAIC,CAAS,IACjC,UAAUA,CAAC,UAAUA,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,WAAW,2NAA2N;;AAEnR;AACA,SAASC,QAAQA,CAACC,KAAc,EAAU;EACxC,IAAI;IACF,OAAO1C,IAAI,CAACC,SAAS,CAACyC,KAAK,IAAI,IAAI,CAAC;EACtC,CAAC,CAAC,MAAM;IACN,OAAOC,MAAM,CAACD,KAAK,CAAC;EACtB;AACF;;AAEA;AACA,SAASE,YAAYA,CAACC,IAAY,EAAEC,GAAY,EAAU;EACxD,IAAID,IAAI,CAACE,MAAM,IAAIjE,gBAAgB,EAAE,OAAO+D,IAAI;EAChD,OAAO,GAAGA,IAAI,CAACG,KAAK,CAAC,CAAC,EAAElE,gBAAgB,CAAC,GAAG,IAAAmE,0BAAgB,EAACJ,IAAI,CAACE,MAAM,EAAED,GAAG,CAAC,EAAE;AAClF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,SAASA,CAACR,KAAc,EAAU;EACzC,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKS,SAAS,EAAE,OAAO,MAAM;EACxD,IAAI9D,KAAK,CAACC,OAAO,CAACoD,KAAK,CAAC,EAAE,OAAOU,OAAO,CAACV,KAAK,CAACK,MAAM,CAAC;EACtD,IAAI,OAAOL,KAAK,KAAK,SAAS,EAAE,OAAOA,KAAK,GAAG,MAAM,GAAG,QAAQ;EAChE,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAMW,GAAG,GAAGX,KAAgC;IAC5C,IAAIW,GAAG,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,OAAOD,GAAG,CAACE,KAAK,KAAK,QAAQ,GAAGF,GAAG,CAACE,KAAK,GAAG,QAAQ;IACjF,IAAIF,GAAG,CAACG,KAAK,KAAK,KAAK,EAAE,OAAO,WAAW;IAC3C,IAAIH,GAAG,CAACI,MAAM,KAAK,KAAK,EAAE,OAAO,gBAAgB;IACjD,IAAIJ,GAAG,CAACK,MAAM,KAAK,KAAK,EAAE,OAAO,mCAAmC;IACpE,KAAK,MAAMC,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;MAChD,MAAMnB,CAAC,GAAGa,GAAG,CAACM,GAAG,CAAC;MAClB,IAAI,OAAOnB,CAAC,KAAK,QAAQ,EAAE,OAAOY,OAAO,CAACZ,CAAC,CAAC;IAC9C;IACA;IACA;IACA,MAAMoB,KAAK,GAAGnE,MAAM,CAACoE,MAAM,CAACR,GAAG,CAAC,CAACS,MAAM,CAACzE,KAAK,CAACC,OAAO,CAAC;IACtD,IAAIsE,KAAK,CAACb,MAAM,KAAK,CAAC,EAAE,OAAOK,OAAO,CAACQ,KAAK,CAAC,CAAC,CAAC,CAACb,MAAM,CAAC;IACvD,OAAO,MAAM;EACf;EACA,OAAOJ,MAAM,CAACD,KAAK,CAAC,CAACM,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC;AAEA,SAASI,OAAOA,CAACZ,CAAS,EAAU;EAClC,OAAOA,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,GAAGA,CAAC,QAAQ;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASuB,cAAcA,CAACrB,KAAc,EAAW;EAC/C,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACbA,KAAK,CAA6BY,EAAE,KAAK,KAAK;AAEnD;AAEO,gBAAgBU,YAAYA,CACjC9D,KAAmB,EAC8B;EACjD,MAAM;IACJ+D,QAAQ;IACRhC,OAAO;IACPiC,MAAM;IACNC,cAAc;IACdC,KAAK;IACLC,SAAS;IACTC,QAAQ;IACRC,YAAY;IACZC,cAAc;IACdC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,eAAe;IACf9D,MAAM;IACN+D,QAAQ;IACRC,OAAO;IACPC;EACF,CAAC,GAAG7E,KAAK;EACT;EACA,MAAM8E,cAAc,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAChD,MAAMC,WAAW,GAAGhF,KAAK,CAACgF,WAAW,IAAI,IAAIC,kCAAgB,CAAC,CAAC;EAE/D,MAAMC,QAAQ,GAAG,CAAC,GAAGlF,KAAK,CAACkF,QAAQ,CAAC;EACpC,MAAMC,KAAK,GAAG,IAAAC,gCAAe,EAACrD,OAAO,EAAE;IACrCsD,gBAAgB,EAAErF,KAAK,CAACqF,gBAAgB;IACxCC,gBAAgB,EAAEtF,KAAK,CAACsF,gBAAgB;IACxCb;EACF,CAAC,CAAC;EACFU,KAAK,CAACI,IAAI,CAAC,IAAAC,sBAAc,EAAC,CAAC,CAAC;EAE5B,MAAMC,QAAQ,GAAGjB,MAAM,CAACiB,QAAQ,IAAItF,iBAAiB;EACrD;AACF;AACA;AACA;AACA;EACE,MAAMuF,gBAAgB,GAAGnB,MAAM,CAACoB,UAAU;EAC1C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,UAAU,GACd5B,MAAM,CAACnB,MAAM,IACZoB,cAAc,EAAEpB,MAAM,IAAI,CAAC,CAAC,GAC7BsC,KAAK,CAAC1F,MAAM,CAAC,CAAC6C,CAAC,EAAEtB,CAAC,KAAKsB,CAAC,GAAGtB,CAAC,CAAC6E,WAAW,CAAChD,MAAM,GAAG/C,IAAI,CAACC,SAAS,CAACiB,CAAC,CAAC8E,WAAW,CAAC,CAACjD,MAAM,EAAE,CAAC,CAAC;EAC5F;EACA,MAAMkD,cAAc,GAAGA,CAAA,KAAcH,UAAU,GAAGZ,WAAW,CAACgB,KAAK,CAAC7B,SAAS,CAAC;EAC9E;AACF;AACA;AACA;AACA;AACA;AACA;EACE,IAAI8B,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG/F,eAAe;EAC3C;EACA,MAAMgG,OAAO,GAAG;IAAEC,SAAS,EAAE,CAAC;IAAEC,QAAQ,EAAE;EAAE,CAAC;EAC7C;EACA,IAAIC,gBAAgB,GAAGC,iCAAkB;;EAEzC;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,QAAQ,GAAGzG,KAAK,CAACyG,QAAQ,IAAI,IAAIC,GAAG,CAAS,CAAC;EACpD,MAAMC,MAAM,GAAG,6BAA6B;;EAE5C;EACA,IAAIC,aAAa,GAAG,KAAK;;EAEzB;AACF;AACA;AACA;AACA;EACE,MAAMC,gBAA0B,GAAG,EAAE;EACrC,IAAIC,UAAU,GAAG,KAAK;;EAEtB;AACF;AACA;AACA;AACA;EACE,MAAMC,MAAgB,GAAG,EAAE;EAC3B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIC,UAAU,GAAG,KAAK;EACtB;AACF;AACA;AACA;AACA;EACE,IAAIC,oBAAoB,GAAG,KAAK;EAEhC,KAAK,IAAIC,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGzB,QAAQ,EAAEyB,IAAI,EAAE,EAAE;IAC1C,IAAItG,MAAM,EAAEG,OAAO,EAAE;MACnB,MAAM;QAAEoG,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAU,CAAC;MAC7C,OAAOlC,QAAQ;IACjB;IACA,IAAIgB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,QAAQ,EAAE;MACzB;MACA;MACA;MACA;MACA,MAAM;QACJkB,IAAI,EAAE,OAAO;QACbE,KAAK,EAAE;UACLC,EAAE,EAAE,MAAMpB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACtBoB,IAAI,EAAE,QAAQ;UACdC,IAAI,EAAE,SAAS;UACf;UACA;UACA;UACA7E,IAAI,EAAE,2CAA2C8E,IAAI,CAACC,KAAK,CAACtH,eAAe,GAAG,IAAI,CAAC,mCAAmC;UACtH+B,OAAO,EAAE,CAAC;YAAEwF,KAAK,EAAE,UAAU;YAAEC,OAAO,EAAE,IAAI;YAAEC,IAAI,EAAE;UAA+B,CAAC;QACtF;MACF,CAAC;MACD,MAAM;QAAEV,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAW,CAAC;MAC9C,OAAOlC,QAAQ;IACjB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,MAAM4C,QAAQ,GAAG,IAAAC,+BAAgB,EAAC7C,QAAQ,EAAEa,cAAc,CAAC,CAAC,EAAEf,WAAW,CAACgB,KAAK,CAACO,gBAAgB,CAAC,EAAEvB,WAAW,CAACgD,aAAa,EAAEzD,MAAM,CAAC0D,WAAW,CAAC,CAAC,CAAC;IACnJ,IAAIH,QAAQ,CAACI,aAAa,GAAG,CAAC,EAAE;MAC9BhD,QAAQ,CAACrC,MAAM,GAAG,CAAC;MACnBqC,QAAQ,CAACK,IAAI,CAAC,GAAGuC,QAAQ,CAAC5C,QAAQ,CAAC;MACnC,MAAM;QAAEiC,IAAI,EAAE,iBAAiB;QAAEe,aAAa,EAAEJ,QAAQ,CAACI,aAAa;QAAEC,aAAa,EAAEL,QAAQ,CAACK;MAAc,CAAC;IACjH,CAAC,MAAM,IAAIL,QAAQ,CAAC5C,QAAQ,KAAKA,QAAQ,EAAE;MACzCA,QAAQ,CAACrC,MAAM,GAAG,CAAC;MACnBqC,QAAQ,CAACK,IAAI,CAAC,GAAGuC,QAAQ,CAAC5C,QAAQ,CAAC;IACrC;IAEA,IAAIvC,IAAI,GAAG,EAAE;IACb;IACA,IAAIyF,aAAa,GAAG,KAAK;IACzB,MAAMC,SAAS,GAAIC,KAAa,IAAgB;MAC9C;MACA;MACA;MACA;MACA,MAAMC,aAAa,GAAG3B,aAAa,IAAI,CAACwB,aAAa;MACrDA,aAAa,GAAG,IAAI;MACpBxB,aAAa,GAAG,IAAI;MACpB,OAAO2B,aAAa,GAAG;QAAEpB,IAAI,EAAE,MAAM;QAAEmB,KAAK;QAAEE,WAAW,EAAE;MAAK,CAAC,GAAG;QAAErB,IAAI,EAAE,MAAM;QAAEmB;MAAM,CAAC;IAC7F,CAAC;IACD,IAAItJ,KAAiB,GAAG,EAAE;IAC1B;AACJ;AACA;AACA;AACA;IACI,MAAMyJ,WAAW,GAAG,IAAI/B,GAAG,CAAS,CAAC;IACrC;AACJ;AACA;AACA;AACA;AACA;IACI,IAAIgC,IAAI,GAAG,EAAE;IACb,IAAIC,OAAO,GAAG,IAAI;IAClB;IACA;IACA,IAAIC,QAAyB,GAAG,EAAE;IAClC,IAAIC,MAAM,GAAG,KAAK;IAClB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACI,IAAIC,OAAkC;IACtC;IACA,IAAIC,UAA2C;;IAE/C;AACJ;AACA;AACA;AACA;AACA;IACI,SAAS;MACPpG,IAAI,GAAG,EAAE;MACT3D,KAAK,GAAG,EAAE;MACV0J,IAAI,GAAG,EAAE;MACTC,OAAO,GAAG,IAAI;MACdC,QAAQ,GAAG,EAAE;MACbC,MAAM,GAAG,KAAK;MACdC,OAAO,GAAG7F,SAAS;MACnB8F,UAAU,GAAG9F,SAAS;MACtB;MACA,IAAI+F,SAAkE;MACtE;MACA,MAAMC,SAAS,GAAGrD,UAAU,GAAGV,QAAQ,CAACzF,MAAM,CAAC,CAAC6C,CAAC,EAAE4G,CAAC,KAAK5G,CAAC,GAAG,IAAA6G,0BAAW,EAACD,CAAC,CAAC,EAAE,CAAC,CAAC;MAE/E,WAAW,MAAME,EAAE,IAAIrF,QAAQ,CAAC8D,IAAI,CAAC;QACnC3C,QAAQ;QACRlB,MAAM;QACNC,cAAc;QACdkB,KAAK;QACLjB,KAAK;QACLC,SAAS;QACTvD;MACF,CAAC,CAAC,EAAE;QACF,IAAIwI,EAAE,CAACjC,IAAI,KAAK,MAAM,EAAE;UACtBxE,IAAI,IAAIyG,EAAE,CAACd,KAAK;UAChB,IAAI,CAACK,OAAO,EAAE;YACZ,MAAMN,SAAS,CAACe,EAAE,CAACd,KAAK,CAAC;UAC3B,CAAC,MAAM,IAAI,IAAAe,sCAAuB,EAAC1G,IAAI,CAAC,EAAE;YACxC+F,IAAI,IAAIU,EAAE,CAACd,KAAK;UAClB,CAAC,MAAM;YACL;YACA;YACA;YACAK,OAAO,GAAG,KAAK;YACfD,IAAI,GAAG,EAAE;YACT,MAAML,SAAS,CAAC1F,IAAI,CAAC;UACvB;QACF,CAAC,MAAM,IAAIyG,EAAE,CAACjC,IAAI,KAAK,WAAW,EAAE;UAClCnI,KAAK,CAACuG,IAAI,CAAC6D,EAAE,CAACE,IAAI,CAAC;QACrB,CAAC,MAAM,IAAIF,EAAE,CAACjC,IAAI,KAAK,UAAU,EAAE;UACjCyB,QAAQ,CAACrD,IAAI,CAAC6D,EAAE,CAAC/B,KAAK,CAAC;UACvB;UACA;UACA;UACA;UACA,IAAI+B,EAAE,CAAC/B,KAAK,CAACF,IAAI,KAAK,UAAU,IAAIiC,EAAE,CAAC/B,KAAK,CAACuB,QAAQ,CAAChH,IAAI,CAAC,CAAC,EAAE;YAC5D,MAAM;cAAEuF,IAAI,EAAE,WAAW;cAAExE,IAAI,EAAEyG,EAAE,CAAC/B,KAAK,CAACuB;YAAS,CAAC;UACtD;QACF,CAAC,MAAM,IAAIQ,EAAE,CAACjC,IAAI,KAAK,OAAO,EAAE;UAC9B,IAAIiC,EAAE,CAAC7B,IAAI,KAAK,WAAW,IAAI6B,EAAE,CAAC7B,IAAI,KAAK,SAAS,EAAE;YACpD;YACA;YACA;YACA;YACA;YACAwB,UAAU,GAAG;cAAEQ,OAAO,EAAEH,EAAE,CAACG;YAAQ,CAAC;UACtC,CAAC,MAAM,IACLH,EAAE,CAACI,OAAO,KACTJ,EAAE,CAACI,OAAO,CAACjC,IAAI,KAAK,WAAW,IAAI6B,EAAE,CAACI,OAAO,CAACjC,IAAI,KAAK,UAAU,CAAC,IACnE5E,IAAI,KAAK,EAAE,IACX3D,KAAK,CAAC6D,MAAM,KAAK,CAAC,IAClB+F,QAAQ,CAAC/F,MAAM,KAAK,CAAC,EACrB;YACA;YACA;YACAmG,SAAS,GAAG;cAAEQ,OAAO,EAAEJ,EAAE,CAACI,OAAO;cAAED,OAAO,EAAEH,EAAE,CAACG;YAAQ,CAAC;UAC1D,CAAC,MAAM;YACL;YACA,MAAM;cAAEpC,IAAI,EAAE,OAAO;cAAEoC,OAAO,EAAEH,EAAE,CAACG;YAAQ,CAAC;YAC5CV,MAAM,GAAG,IAAI;UACf;QACF,CAAC,MAAM,IAAIO,EAAE,CAACjC,IAAI,KAAK,MAAM,EAAE;UAC7B2B,OAAO,GAAGM,EAAE,CAACN,OAAO;UACpB,IAAIM,EAAE,CAACK,KAAK,EAAE;YACZ;YACA;YACAzE,WAAW,CAAC0E,OAAO,CAACT,SAAS,EAAE,IAAAU,gCAAc,EAACP,EAAE,CAACK,KAAK,EAAE1F,QAAQ,CAAC6F,QAAQ,CAAC,CAAC;YAC3E;YACA;YACA,MAAM;cAAEzC,IAAI,EAAE,OAAO;cAAE,GAAGiC,EAAE,CAACK,KAAK;cAAEvF,KAAK,EAAEkF,EAAE,CAAClF;YAAM,CAAC;UACvD;QACF;MACF;MAEA,IAAI,CAAC8E,SAAS,EAAE;MAEhB,MAAMzB,IAAI,GAAGyB,SAAS,CAACQ,OAAO,CAACjC,IAAgC;MAC/D,MAAMsC,WAAW,GAAG,CAAC,IAAItC,IAAI,KAAK,WAAW,GAAGlH,gBAAgB,GAAGC,gBAAgB,CAAC;MACpF,MAAMwJ,KAAK,GAAG1D,OAAO,CAACmB,IAAI,CAAC;MAC3B,IAAIwC,MAAM,GACRxC,IAAI,KAAK,WAAW,GAChBE,IAAI,CAACuC,GAAG,CAAChB,SAAS,CAACQ,OAAO,CAACS,YAAY,IAAI1J,aAAa,GAAG,CAAC,IAAIuJ,KAAK,EAAErJ,kBAAkB,CAAC,GAAGgH,IAAI,CAACyC,KAAK,CAACzC,IAAI,CAAC0C,MAAM,CAAC,CAAC,GAAG3J,eAAe,CAAC,GACxI,CAAC;MACP,IAAI4J,MAAM,GAAGN,KAAK,IAAID,WAAW,GAAG,CAAC,IAAIjJ,MAAM,EAAEG,OAAO,KAAK,IAAI,IAAImF,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG4D,MAAM,GAAG9D,QAAQ;MAEnG,IAAI,CAACmE,MAAM,IAAI7C,IAAI,KAAK,UAAU,EAAE;QAClC;QACA;QACA;QACAhB,gBAAgB,GAAGkB,IAAI,CAACyC,KAAK,CAAC3D,gBAAgB,GAAG,CAAC,CAAC;QACnD,MAAM8D,MAAM,GAAGnF,QAAQ,CAACzF,MAAM,CAAC,CAAC6C,CAAC,EAAE4G,CAAC,KAAK5G,CAAC,GAAG,IAAA6G,0BAAW,EAACD,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAMoB,KAAK,GAAG,IAAAvC,+BAAgB,EAAC7C,QAAQ,EAAEa,cAAc,CAAC,CAAC,EAAEf,WAAW,CAACgB,KAAK,CAACO,gBAAgB,CAAC,EAAEvB,WAAW,CAACgD,aAAa,EAAEzD,MAAM,CAAC0D,WAAW,CAAC,CAAC,CAAC;QAChJ,MAAMsC,KAAK,GAAGD,KAAK,CAACpF,QAAQ,CAACzF,MAAM,CAAC,CAAC6C,CAAC,EAAE4G,CAAC,KAAK5G,CAAC,GAAG,IAAA6G,0BAAW,EAACD,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,IAAIqB,KAAK,IAAIF,MAAM,EAAE;UACnBD,MAAM,GAAG,IAAI;QACf,CAAC,MAAM;UACLlF,QAAQ,CAACrC,MAAM,GAAG,CAAC;UACnBqC,QAAQ,CAACK,IAAI,CAAC,GAAG+E,KAAK,CAACpF,QAAQ,CAAC;UAChC,IAAIoF,KAAK,CAACpC,aAAa,GAAG,CAAC,EAAE,MAAM;YAAEf,IAAI,EAAE,iBAAiB;YAAEe,aAAa,EAAEoC,KAAK,CAACpC,aAAa;YAAEC,aAAa,EAAEmC,KAAK,CAACnC;UAAc,CAAC;QACxI;MACF;MAEA,IAAIiC,MAAM,EAAE;QACV;QACA;QACA;QACA,MAAMI,KAAK,GACTjD,IAAI,KAAK,WAAW,GAChBuC,KAAK,GAAG,CAAC,GACP,qDAAqDA,KAAK,GAAG,CAAC,SAAS,GACvE,4CAA4C,GAC9C,8IAA8I;QACpJ,MAAM;UAAE3C,IAAI,EAAE,OAAO;UAAEoC,OAAO,EAAE,GAAGiB,KAAK,KAAKxB,SAAS,CAACO,OAAO;QAAI,CAAC;QACnEV,MAAM,GAAG,IAAI;QACb;MACF;MAEAzC,OAAO,CAACmB,IAAI,CAAC,IAAI,CAAC;MAClB,MAAM;QAAEJ,IAAI,EAAE,UAAU;QAAExF,MAAM,EAAE4F,IAAI;QAAEkD,OAAO,EAAErE,OAAO,CAACmB,IAAI,CAAC,GAAG,CAAC;QAAEsC,WAAW;QAAEa,IAAI,EAAEX;MAAO,CAAC;MAC/F,IAAIA,MAAM,GAAG,CAAC,EAAE,MAAMrJ,KAAK,CAACqJ,MAAM,EAAEnJ,MAAM,CAAC;MAC3C,IAAIA,MAAM,EAAEG,OAAO,EAAE;QACnB,MAAM;UAAEoG,IAAI,EAAE,MAAM;UAAEC,UAAU,EAAE;QAAU,CAAC;QAC7C,OAAOlC,QAAQ;MACjB;IACF;IAEA,IAAI2D,MAAM,EAAE;MACV;MACA;MACA,IAAIH,IAAI,EAAE,MAAML,SAAS,CAACK,IAAI,CAAC;MAC/B,MAAM;QAAEvB,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAQ,CAAC;MAC3C,OAAOlC,QAAQ;IACjB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,IAAI,CAAC6D,UAAU,IAAID,OAAO,KAAK,WAAW,EAAE;MAC1CC,UAAU,GAAG;QACXQ,OAAO,EACLT,OAAO,KAAK,gBAAgB,GACxB9J,KAAK,CAAC6D,MAAM,GACV,wFAAwF,GACxF,yDAAyD,GAC3D;MACR,CAAC;IACH;IAEA,IAAIkG,UAAU,EAAE;MACd;MACA;MACA,IAAIL,IAAI,EAAE,MAAML,SAAS,CAACK,IAAI,CAAC;MAC/B;AACN;AACA;AACA;AACA;AACA;AACA;AACA;MACM,IAAI/F,IAAI,CAACf,IAAI,CAAC,CAAC,EAAEsD,QAAQ,CAACK,IAAI,CAAC;QAAEoF,IAAI,EAAE,WAAW;QAAEhI;MAAK,CAAC,CAAC;MAC3D,MAAM;QACJwE,IAAI,EAAE,OAAO;QACbE,KAAK,EAAE;UACLC,EAAE,EAAE,MAAMpB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACtBoB,IAAI,EAAE,QAAQ;UACdC,IAAI,EAAE,SAAS;UACf7E,IAAI,EAAEoG,UAAU,CAACQ,OAAO;UACxBpH,OAAO,EAAE,CAAC;YAAEwF,KAAK,EAAE,UAAU;YAAEC,OAAO,EAAE,IAAI;YAAEC,IAAI,EAAE;UAA+B,CAAC;QACtF;MACF,CAAC;MACD,MAAM;QAAEV,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAa,CAAC;MAChD,OAAOlC,QAAQ;IACjB;IAEA,IAAIwD,IAAI,EAAE;MACR;MACA;MACA,MAAMkC,QAAQ,GAAG5L,KAAK,CAAC6D,MAAM,KAAK,CAAC,GAAG,IAAAgI,iCAAkB,EAACnC,IAAI,EAAE3G,OAAO,CAAC,GAAGkB,SAAS;MACnF,IAAI2H,QAAQ,EAAE;QACZ,KAAK,MAAMtB,IAAI,IAAIsB,QAAQ,CAAC5L,KAAK,EAAE;UACjCA,KAAK,CAACuG,IAAI,CAAC+D,IAAI,CAAC;UAChBb,WAAW,CAACqC,GAAG,CAACxB,IAAI,CAAChC,EAAE,CAAC;QAC1B;QACA3E,IAAI,GAAGiI,QAAQ,CAACG,KAAK;QACrB,IAAIH,QAAQ,CAACG,KAAK,EAAE,MAAM1C,SAAS,CAACuC,QAAQ,CAACG,KAAK,CAAC;MACrD,CAAC,MAAM;QACL,MAAM1C,SAAS,CAACK,IAAI,CAAC;MACvB;MACAA,IAAI,GAAG,EAAE;IACX;IAEAxD,QAAQ,CAACK,IAAI,CAAC;MACZoF,IAAI,EAAE,WAAW;MACjBhI,IAAI;MACJqI,SAAS,EAAEhM,KAAK,CAAC6D,MAAM,GAAG7D,KAAK,GAAGiE,SAAS;MAC3C2F,QAAQ,EAAEA,QAAQ,CAAC/F,MAAM,GAAG+F,QAAQ,GAAG3F;IACzC,CAAC,CAAC;IACF,IAAIN,IAAI,CAACf,IAAI,CAAC,CAAC,EAAEmF,MAAM,CAACxB,IAAI,CAAC5C,IAAI,CAACf,IAAI,CAAC,CAAC,CAAC;IAEzC,IAAI5C,KAAK,CAAC6D,MAAM,KAAK,CAAC,EAAE;MACtB;MACA;MACA,MAAMoI,IAAI,GAAGlE,MAAM,CAAC9G,IAAI,CAAC,MAAM,CAAC;;MAEhC;MACA;MACA;MACA,MAAMiL,GAAG,GAAG,IAAAC,iCAAwB,EAAC;QAAExI,IAAI,EAAEsI,IAAI;QAAEG,SAAS,EAAEnE;MAAqB,CAAC,CAAC;MACrF,IAAIiE,GAAG,EAAE,MAAM;QAAE/D,IAAI,EAAE,OAAO;QAAEE,KAAK,EAAE6D;MAAI,CAAC;;MAE5C;MACA;MACA,MAAMG,KAAK,GAAGrE,UAAU,IAAIkE,GAAG,GAAG,IAAI,GAAG,IAAAI,2BAAkB,EAACL,IAAI,CAAC;MACjE,IAAII,KAAK,EAAE;QACT,MAAM;UAAElE,IAAI,EAAE,OAAO;UAAEE,KAAK,EAAEgE;QAAM,CAAC;QACrC,MAAM;UAAElE,IAAI,EAAE,eAAe;UAAEoE,OAAO,EAAEF,KAAK,CAAC/D;QAAG,CAAC;MACpD;MACA,MAAM;QAAEH,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAEiE,KAAK,GAAG,eAAe,GAAG;MAAW,CAAC;MACxE,OAAOnG,QAAQ;IACjB;IAEA,MAAMsG,OAAqB,GAAG,EAAE;IAChC,IAAIC,YAAY,GAAG,KAAK;;IAExB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,MAAMC,QAAQ,GAAG,IAAI3G,GAAG,CAA2B,CAAC;IACpD,IAAI/F,KAAK,CAAC6D,MAAM,GAAG,CAAC,EAAE;MACpB,MAAM8I,IAAI,GAAG3M,KAAK,CAAC4M,KAAK,CAAEhM,CAAC,IAAK;QAC9B,IAAIA,CAAC,CAACC,IAAI,KAAKgM,oBAAY,EAAE,OAAO,KAAK;QACzC,MAAMvE,EAAE,GAAG,IAAAwE,qCAAoB,EAAClM,CAAC,CAACC,IAAI,EAAEkC,OAAO,CAAC;QAChD,IAAI,CAACuF,EAAE,IAAIA,EAAE,KAAK,UAAU,EAAE,OAAO,KAAK;QAC1C,MAAMyE,GAAG,GAAInM,CAAC,CAACI,KAAK,EAA2BiC,MAAM;QACrD,IAAI,OAAO8J,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAKC,8BAAe,EAAE,OAAO,KAAK;QACpE,MAAMC,CAAC,GAAGnK,cAAc,CAACC,OAAO,EAAEuF,EAAE,EAAEyE,GAAG,CAAC;QAC1C,IAAI,CAACE,CAAC,IAAIA,CAAC,CAACC,MAAM,KAAK,MAAM,EAAE,OAAO,KAAK;QAC3C,OAAO,IAAAC,cAAM,EAAC;UAAEC,UAAU,EAAEH,CAAC;UAAEjK,MAAM,EAAEsF,EAAE;UAAE9C,MAAM;UAAEC;QAAU,CAAC,CAAC,CAAC4H,OAAO,KAAK,OAAO;MACrF,CAAC,CAAC;MACF,IAAIV,IAAI,EAAE;QACR,KAAK,MAAM/L,CAAC,IAAIZ,KAAK,EAAE;UACrB,MAAMsI,EAAE,GAAG,IAAAwE,qCAAoB,EAAClM,CAAC,CAACC,IAAI,EAAEkC,OAAO,CAAE;UACjD,MAAMgK,GAAG,GAAGtJ,MAAM,CAAE7C,CAAC,CAACI,KAAK,CAA0BiC,MAAM,CAAC;UAC5D,MAAMqK,GAAG,GAAG;YAAE,IAAM1M,CAAC,CAACI,KAAK,CAA0CuM,MAAM,IAAK,CAAC,CAAC;UAAE,CAAC;UACrF,MAAMN,CAAC,GAAGnK,cAAc,CAACC,OAAO,EAAEuF,EAAE,EAAEyE,GAAG,CAAE;UAC3C,MAAMS,IAAI,GAAG,IAAAC,gCAAe,EAACnF,EAAE,EAAEyE,GAAG,EAAEO,GAAG,CAAC;UAC1C,MAAMI,YAAY,GAAG,IAAAC,6BAAa,EAACH,IAAI,CAACD,MAAM,EAAEN,CAAC,CAACM,MAAM,CAAC;UACzD,IAAI,CAAC,IAAAK,8BAAc,EAACF,YAAY,EAAET,CAAC,CAACM,MAAM,CAAC,CAACnJ,EAAE,EAAE;UAChD;UACA;UACA,MAAMyJ,CAAC,GAAGhM,OAAO,CAACC,OAAO,CAACsD,QAAQ,CAACkD,EAAE,EAAEyE,GAAG,EAAEW,YAAY,CAAC,CAAC,CAACI,KAAK,CAAEC,CAAC,IAAK;YACtE,MAAMA,CAAC;UACT,CAAC,CAAC;UACFF,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;UACjBpB,QAAQ,CAACsB,GAAG,CAACpN,CAAC,CAAC0H,EAAE,EAAEuF,CAAC,CAAC;QACvB;MACF;IACF;IAEA,IAAII,QAAuB,GAAG,IAAI;;IAElC;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,MAAMC,WAAW,GAAI5D,IAAc,IAAkB;MACnD,MAAMtH,MAAM,GAAG,IAAA8J,qCAAoB,EAACxC,IAAI,CAACzJ,IAAI,EAAEkC,OAAO,CAAC,IAAIuH,IAAI,CAACzJ,IAAI;MACpE,MAAMoC,MAAM,GAAG,OAAOqH,IAAI,CAACtJ,KAAK,EAAEiC,MAAM,KAAK,QAAQ,GAAGqH,IAAI,CAACtJ,KAAK,CAACiC,MAAM,GAAG,EAAE;MAC9E,MAAMmK,UAAU,GAAGnK,MAAM,GAAGH,cAAc,CAACC,OAAO,EAAEC,MAAM,EAAEC,MAAM,CAAC,GAAGgB,SAAS;MAC/E,MAAMsJ,MAAM,GAAIjD,IAAI,CAACtJ,KAAK,EAAEuM,MAAM,IAA4C,CAAC,CAAC;MAChF,OAAO,CACL;QACEpF,IAAI,EAAE,YAAY;QAClBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QACXtF,MAAM;QACNC,MAAM;QACN0F,KAAK,EAAEyE,UAAU,GAAG,IAAAe,oBAAY,EAACnL,MAAM,EAAEoK,UAAU,EAAEG,MAAM,CAAC,GAAG,GAAGvK,MAAM,IAAIC,MAAM,EAAE;QACpF4D,WAAW,EAAEuG,UAAU,EAAEgB,OAAO,IAAI,EAAE;QACtCb,MAAM;QACNL,MAAM,EAAEE,UAAU,EAAEF,MAAM,IAAI;MAChC,CAAC,EACD;QAAE/E,IAAI,EAAE,UAAU;QAAEG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QAAElE,EAAE,EAAE,KAAK;QAAEgK,OAAO,EAAE,SAAS;QAAEC,UAAU,EAAE;MAAE,CAAC,CAChF;IACH,CAAC;;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,MAAMC,OAAO,GAAGtO,KAAK,CAACK,GAAG,CAAEiK,IAAI,IAAK;MAClC,IAAIA,IAAI,CAACzJ,IAAI,KAAKgM,oBAAY,EAAE,OAAO5I,SAAS;MAChD,MAAMjB,MAAM,GAAG,IAAA8J,qCAAoB,EAACxC,IAAI,CAACzJ,IAAI,EAAEkC,OAAO,CAAC;MACvD,MAAME,MAAM,GAAG,OAAOqH,IAAI,CAACtJ,KAAK,EAAEiC,MAAM,KAAK,QAAQ,GAAGqH,IAAI,CAACtJ,KAAK,CAACiC,MAAM,GAAGgB,SAAS;MACrF,IAAI,CAACjB,MAAM,IAAI,CAACC,MAAM,EAAE,OAAOgB,SAAS;MACxC,MAAMmJ,UAAU,GAAGtK,cAAc,CAACC,OAAO,EAAEC,MAAM,EAAEC,MAAM,CAAC;MAC1D,IAAI,CAACmK,UAAU,EAAE,OAAOnJ,SAAS;MACjC,MAAMqJ,GAAG,GAAIhD,IAAI,CAACtJ,KAAK,CAACuM,MAAM,IAAI,CAAC,CAA6B;MAChE,MAAMA,MAAM,GAAG,IAAAI,6BAAa,EAAC,IAAAF,gCAAe,EAACzK,MAAM,EAAEC,MAAM,EAAEqK,GAAG,CAAC,CAACC,MAAM,EAAEH,UAAU,CAACG,MAAM,CAAC;MAC5F,IAAI,CAAC,IAAAK,8BAAc,EAACL,MAAM,EAAEH,UAAU,CAACG,MAAM,CAAC,CAACnJ,EAAE,EAAE,OAAOH,SAAS;MACnE,MAAMoJ,OAAO,GAAG,IAAAF,cAAM,EAAC;QAAEC,UAAU;QAAEpK,MAAM;QAAEwC,MAAM;QAAEC;MAAU,CAAC,CAAC;MACjE,OAAO;QACL6E,IAAI;QACJtH,MAAM;QACNC,MAAM;QACNmK,UAAU;QACVG,MAAM;QACN5E,KAAK,EAAE,IAAAwF,oBAAY,EAACnL,MAAM,EAAEoK,UAAU,EAAEG,MAAM,CAAC;QAC/CgB,OAAO,EAAEnB,UAAU,CAACF,MAAM,KAAK,MAAM;QACrCsB,KAAK,EAAEnB,OAAO,CAACA,OAAO,KAAK,gBAAgB;QAC3C1K,MAAM,EAAE0K,OAAO,CAACA,OAAO,KAAK,gBAAgB,GAAGA,OAAO,CAAC1K,MAAM,GAAG;MAClE,CAAC;IACH,CAAC,CAAC;IACF,MAAM8L,YAAY,GAAGH,OAAO,CAACI,IAAI,CAAEb,CAAC,IAAKA,CAAC,EAAEW,KAAK,CAAC;IAClD;IACA,MAAMG,OAAO,GAAG,IAAI5I,GAAG,CAAkB,CAAC;IAC1C,IAAI6I,UAAU,GAAG,KAAK;IACtB,IAAIC,aAAa,GAAG,KAAK;;IAEzB;IACA,gBAAgBC,UAAUA,CAAA,EAA0C;MAClEF,UAAU,GAAG,IAAI;MACjB,KAAK,MAAMf,CAAC,IAAIS,OAAO,EAAE;QACvB,IAAI,CAACT,CAAC,EAAEW,KAAK,IAAIG,OAAO,CAACI,GAAG,CAAClB,CAAC,CAACvD,IAAI,CAAChC,EAAE,CAAC,EAAE;QACzC,IAAI1C,OAAO,EAAEmJ,GAAG,CAAC,GAAGlB,CAAC,CAAC7K,MAAM,IAAI6K,CAAC,CAAC5K,MAAM,EAAE,CAAC,EAAE;UAC3C;UACA0L,OAAO,CAACX,GAAG,CAACH,CAAC,CAACvD,IAAI,CAAChC,EAAE,EAAE,IAAI,CAAC;UAC5B;QACF;QACA,MAAM;UACJH,IAAI,EAAE,mBAAmB;UACzBG,EAAE,EAAEuF,CAAC,CAACvD,IAAI,CAAChC,EAAE;UACbtF,MAAM,EAAE6K,CAAC,CAAC7K,MAAM;UAChBC,MAAM,EAAE4K,CAAC,CAAC5K,MAAM;UAChB0F,KAAK,EAAEkF,CAAC,CAAClF,KAAK;UACd9B,WAAW,EAAEgH,CAAC,CAACT,UAAU,CAACgB,OAAO;UACjCzL,MAAM,EAAEkL,CAAC,CAAClL;QACZ,CAAC;QACD,MAAMqM,OAAO,GAAG9H,IAAI,CAACC,GAAG,CAAC,CAAC;QAC1B,MAAM8H,YAAY,GAAG,MAAMC,gBAAgB,CAAC;UAC1ClM,MAAM,EAAE6K,CAAC,CAAC7K,MAAM;UAChBC,MAAM,EAAE4K,CAAC,CAAC5K,MAAM;UAChBsK,MAAM,EAAEM,CAAC,CAACN,MAAM;UAChBnI,QAAQ;UACRrC;QACF,CAAC,CAAC;QACF,MAAMP,MAAM,GAAGD,UAAU,CACvBqD,OAAO,EAAEmJ,GAAG,CAAC,GAAGlB,CAAC,CAAC7K,MAAM,IAAI6K,CAAC,CAAC5K,MAAM,EAAE,CAAC,GACnC,IAAI,GACJyC,eAAe,GACb,MAAMA,eAAe,CAAC;UACpB4C,EAAE,EAAEuF,CAAC,CAACvD,IAAI,CAAChC,EAAE;UACbtF,MAAM,EAAE6K,CAAC,CAAC7K,MAAM;UAChBC,MAAM,EAAE4K,CAAC,CAAC5K,MAAM;UAChB0F,KAAK,EAAEkF,CAAC,CAAClF,KAAK;UACd9B,WAAW,EAAEgH,CAAC,CAACT,UAAU,CAACgB,OAAO;UACjCzL,MAAM,EAAEkL,CAAC,CAAClL,MAAM;UAChB4K,MAAM,EAAEM,CAAC,CAACN,MAAM;UAChB0B;QACF,CAAC,CAAC,GACF,KACR,CAAC;QACD;QACAhI,QAAQ,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG6H,OAAO;QAChC,MAAMvM,QAAQ,GAAGD,MAAM,CAACC,QAAQ;QAChCkM,OAAO,CAACX,GAAG,CAACH,CAAC,CAACvD,IAAI,CAAChC,EAAE,EAAE7F,QAAQ,CAAC;QAChC,IAAID,MAAM,CAACE,KAAK,EAAEkD,OAAO,EAAEkG,GAAG,CAAC,GAAG+B,CAAC,CAAC7K,MAAM,IAAI6K,CAAC,CAAC5K,MAAM,EAAE,CAAC;QACzD,IAAIT,MAAM,CAACG,MAAM,EAAEmD,cAAc,CAACkI,GAAG,CAACH,CAAC,CAACvD,IAAI,CAAChC,EAAE,EAAE9F,MAAM,CAACG,MAAM,CAAC;QAC/D,IAAI,CAACF,QAAQ,EAAE;UACb;UACA;UACA;UACA;UACAoM,aAAa,GAAG,IAAI;UACpB;QACF;MACF;IACF;IAEA,KAAK,MAAMvE,IAAI,IAAItK,KAAK,EAAE;MACxB;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACM,IAAI4B,MAAM,EAAEG,OAAO,EAAE;QACnB;QACA,IAAIuI,IAAI,CAACzJ,IAAI,KAAKgM,oBAAY,EAAE;UAC9B,KAAK,MAAMzC,EAAE,IAAI8D,WAAW,CAAC5D,IAAI,CAAC,EAAE,MAAMF,EAAE;QAC9C;QACAoC,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAE,2DAA2D;UACpEC,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;;MAEA;MACA;MACA,IAAI/E,IAAI,CAACzJ,IAAI,KAAKgM,oBAAY,EAAE;QAC9B,MAAMyC,KAAK,GAAG,IAAAC,oBAAY,EAACjF,IAAI,CAACtJ,KAAK,CAAC;QACtC,IAAI,CAACsO,KAAK,CAAClL,EAAE,IAAI,CAACkL,KAAK,CAACjH,KAAK,EAAE;UAC7BmE,OAAO,CAACjG,IAAI,CAAC;YACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;YACnB;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;YACY8G,OAAO,EAAE,WAAWvC,oBAAY,YAAYyC,KAAK,CAACE,MAAM,CAACvO,IAAI,CAAC,IAAI,CAAC,mLAAmL;YACtPoO,OAAO,EAAE;UACX,CAAC,CAAC;UACF;QACF;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAII,aAAa,GAAG,CAAC;QACrB,IAAIH,KAAK,CAACjH,KAAK,CAACE,IAAI,KAAK,WAAW,EAAE;UACpC,MAAMmH,IAAI,GAAGJ,KAAK,CAACjH,KAAK,CAACsH,MAAM,CAAC/K,MAAM,CAAEgL,GAAG,IAAKnI,QAAQ,CAACsH,GAAG,CAACa,GAAG,CAACC,GAAG,CAAC,CAAC;UACtEJ,aAAa,GAAGH,KAAK,CAACjH,KAAK,CAACsH,MAAM,CAAC9L,MAAM,GAAG6L,IAAI,CAAC7L,MAAM;UACvD,IAAI6L,IAAI,CAAC7L,MAAM,KAAK,CAAC,EAAE;YACrB2I,OAAO,CAACjG,IAAI,CAAC;cACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;cACnB8G,OAAO,EAAEhM,wBAAwB;cACjCiM,OAAO,EAAE;YACX,CAAC,CAAC;YACF;UACF;UACAC,KAAK,CAACjH,KAAK,GAAG;YAAE,GAAGiH,KAAK,CAACjH,KAAK;YAAEsH,MAAM,EAAED;UAAK,CAAC;QAChD;QACA,IAAIJ,KAAK,CAACjH,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;UAC/B,MAAMuH,KAAK,GAAGR,KAAK,CAACjH,KAAK,CAACyH,KAAK,CAACzP,GAAG,CAAE0P,IAAI,IAAK;YAC5C,IAAI,CAACA,IAAI,CAACC,KAAK,IAAIvI,QAAQ,CAACsH,GAAG,CAACgB,IAAI,CAACC,KAAK,CAAC,EAAE,OAAOD,IAAI;YACxDN,aAAa,IAAI,CAAC;YAClB,OAAO;cAAE,GAAGM,IAAI;cAAEC,KAAK,EAAE/L;YAAU,CAAC;UACtC,CAAC,CAAC;UACFqL,KAAK,CAACjH,KAAK,GAAG;YAAE,GAAGiH,KAAK,CAACjH,KAAK;YAAEyH;UAAM,CAAC;QACzC;QACA,MAAM;UAAE3H,IAAI,EAAE,OAAO;UAAEE,KAAK,EAAEiH,KAAK,CAACjH,KAAK;UAAE4H,aAAa,EAAE3F,IAAI,CAAChC;QAAG,CAAC;QACnE,IAAIgH,KAAK,CAACjH,KAAK,CAACE,IAAI,KAAK,SAAS,IAAI+G,KAAK,CAACjH,KAAK,CAACE,IAAI,KAAK,aAAa,EAAEP,UAAU,GAAG,IAAI;QAC3F,IAAI,IAAAkI,iBAAU,EAACZ,KAAK,CAACjH,KAAK,CAAC,EAAE;UAC3B4F,QAAQ,GAAGqB,KAAK,CAACjH,KAAK,CAACC,EAAE;UACzBkE,OAAO,CAACjG,IAAI,CAAC;YACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;YACnB8G,OAAO,EAAE;UACX,CAAC,CAAC;QACJ,CAAC,MAAM;UACL5C,OAAO,CAACjG,IAAI,CAAC;YACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;YACnB8G,OAAO,EACL,uDAAuD,IACtDK,aAAa,GAAG,CAAC,GAAGpM,gBAAgB,CAACoM,aAAa,CAAC,GAAG,EAAE;UAC7D,CAAC,CAAC;QACJ;QACA;MACF;MAEA,MAAMzM,MAAM,GAAG,IAAA8J,qCAAoB,EAACxC,IAAI,CAACzJ,IAAI,EAAEkC,OAAO,CAAC;MACvD,MAAME,MAAM,GAAGqH,IAAI,CAACtJ,KAAK,CAACiC,MAA4B;;MAEtD;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACM,MAAMkN,QAAQ,GAAGA,CAACxH,KAAa,EAAEyF,OAAe,KAAkB,CAChE;QACEjG,IAAI,EAAE,YAAY;QAClBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QACXtF,MAAM,EAAEA,MAAM,IAAIsH,IAAI,CAACzJ,IAAI;QAC3BoC,MAAM,EAAEA,MAAM,IAAI,EAAE;QACpB0F,KAAK;QACL9B,WAAW,EAAE,EAAE;QACf0G,MAAM,EAAGjD,IAAI,CAACtJ,KAAK,CAACuM,MAAM,IAAgC,CAAC,CAAC;QAC5DL,MAAM,EAAE;MACV,CAAC,EACD;QAAE/E,IAAI,EAAE,UAAU;QAAEG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QAAElE,EAAE,EAAE,KAAK;QAAEgK,OAAO;QAAEC,UAAU,EAAE;MAAE,CAAC,CACrE;;MAED;MACA;MACA;MACA;MACA;MACA,IAAI,CAACrL,MAAM,EAAE;QACX,KAAK,MAAMoH,EAAE,IAAI+F,QAAQ,CAAC7F,IAAI,CAACzJ,IAAI,EAAE,cAAc,CAAC,EAAE,MAAMuJ,EAAE;QAC9DoC,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAE,4BAA4B9E,IAAI,CAACzJ,IAAI,yCAAyC;UACvFwO,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;MACA,IAAI,CAACpM,MAAM,EAAE;QACX,KAAK,MAAMmH,EAAE,IAAI+F,QAAQ,CAAC7F,IAAI,CAACzJ,IAAI,EAAE,iBAAiB,CAAC,EAAE,MAAMuJ,EAAE;QACjEoC,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAE,IAAI9E,IAAI,CAACzJ,IAAI,wIAAwI;UAC9JwO,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;MAEA,MAAMjC,UAAU,GAAGtK,cAAc,CAACC,OAAO,EAAEC,MAAM,EAAEC,MAAM,CAAC;MAC1D,IAAI,CAACmK,UAAU,EAAE;QACf;QACA;QACA;QACA,MAAMgD,KAAK,GAAGrN,OAAO,CAClBG,IAAI,CAAElB,CAAC,IAAKA,CAAC,CAACgB,MAAM,KAAKA,MAAM,CAAC,EAC/BG,OAAO,CAAC9C,GAAG,CAAEK,CAAC,IAAKA,CAAC,CAACuC,MAAM,CAAC,CAC7BhC,IAAI,CAAC,IAAI,CAAC;QACb,KAAK,MAAMmJ,EAAE,IAAI+F,QAAQ,CAAC,GAAGnN,MAAM,IAAIC,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAMmH,EAAE;QAC5EoC,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAE,IAAInM,MAAM,yBAAyBD,MAAM,IAAIoN,KAAK,GAAG,mBAAmBA,KAAK,GAAG,GAAG,EAAE,EAAE;UAChGf,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;MAEA,MAAM/B,GAAG,GAAIhD,IAAI,CAACtJ,KAAK,CAACuM,MAAM,IAAI,CAAC,CAA6B;MAChE;MACA;MACA;MACA,MAAM8C,UAAU,GAAG,IAAA5C,gCAAe,EAACzK,MAAM,EAAEC,MAAM,EAAEqK,GAAG,CAAC;MACvD,MAAMC,MAAM,GAAG,IAAAI,6BAAa,EAAC0C,UAAU,CAAC9C,MAAM,EAAEH,UAAU,CAACG,MAAM,CAAC;MAClE,MAAM+C,KAAK,GAAG,IAAA1C,8BAAc,EAACL,MAAM,EAAEH,UAAU,CAACG,MAAM,CAAC;MACvD,IAAI,CAAC+C,KAAK,CAAClM,EAAE,EAAE;QACboI,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAE,0BAA0BpM,MAAM,IAAIC,MAAM,MAAMqN,KAAK,CAACd,MAAM,CAACvO,IAAI,CAAC,IAAI,CAAC,yBAAyBH,IAAI,CAACC,SAAS,CAACqM,UAAU,CAACG,MAAM,CAAC,EAAE;UAC5I8B,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;MACA,MAAMkB,YAAY,GAAG,IAAAC,0BAAS,EAACH,UAAU,CAACI,KAAK,CAAC;MAEhD,MAAM9H,KAAK,GAAG,IAAAwF,oBAAY,EAACnL,MAAM,EAAEoK,UAAU,EAAEG,MAAM,CAAC;MACtD,MAAMF,OAAO,GAAG,IAAAF,cAAM,EAAC;QAAEC,UAAU;QAAEpK,MAAM;QAAEwC,MAAM;QAAEC;MAAU,CAAC,CAAC;;MAEjE;MACA;MACA;MACA;MACA,MAAMiL,SAAS,GAAItC,OAA2C,IAAkB,CAC9E;QACEjG,IAAI,EAAE,YAAY;QAClBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QACXtF,MAAM;QACNC,MAAM;QACN0F,KAAK;QACL9B,WAAW,EAAEuG,UAAU,CAACgB,OAAO;QAC/Bb,MAAM;QACNL,MAAM,EAAEE,UAAU,CAACF;MACrB,CAAC,EACD;QAAE/E,IAAI,EAAE,UAAU;QAAEG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QAAElE,EAAE,EAAE,KAAK;QAAEgK,OAAO;QAAEC,UAAU,EAAE;MAAE,CAAC,CACrE;MAED,IAAIhB,OAAO,CAACA,OAAO,KAAK,QAAQ,EAAE;QAChC,KAAK,MAAMjD,EAAE,IAAIsG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAMtG,EAAE;QAC/CoC,OAAO,CAACjG,IAAI,CAAC;UAAE4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UAAE8G,OAAO,EAAE/B,OAAO,CAAC1K,MAAM;UAAE0M,OAAO,EAAE;QAAK,CAAC,CAAC;QAC7E;MACF;;MAEA;AACN;AACA;AACA;AACA;AACA;MACM,MAAMsB,SAAS,GAAGtD,OAAO,CAACA,OAAO,KAAK,gBAAgB;MACtD,IAAIoB,YAAY,IAAI,CAACG,UAAU,KAAKxB,UAAU,CAACF,MAAM,KAAK,MAAM,IAAIyD,SAAS,CAAC,EAAE;QAC9E,OAAO7B,UAAU,CAAC,CAAC;MACrB;MAEA,IAAID,aAAa,KAAKzB,UAAU,CAACF,MAAM,KAAK,MAAM,IAAIyD,SAAS,CAAC,EAAE;QAChE,KAAK,MAAMvG,EAAE,IAAIsG,SAAS,CAAC,UAAU,CAAC,EAAE,MAAMtG,EAAE;QAChDoC,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAET,OAAO,CAACiC,GAAG,CAACtG,IAAI,CAAChC,EAAE,CAAC,KAAK,KAAK,GACnCzF,cAAc,CAACiD,cAAc,CAAC8K,GAAG,CAACtG,IAAI,CAAChC,EAAE,CAAC,CAAC,GAC3C,iJAAiJ;UACrJ+G,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;MAEA,IAAIsB,SAAS,EAAE;QACb,IAAIlO,QAAiB;QACrB,IAAIkM,OAAO,CAACI,GAAG,CAACzE,IAAI,CAAChC,EAAE,CAAC,EAAE;UACxB;UACA;UACA7F,QAAQ,GAAGkM,OAAO,CAACiC,GAAG,CAACtG,IAAI,CAAChC,EAAE,CAAE;QAClC,CAAC,MAAM,IAAI1C,OAAO,EAAEmJ,GAAG,CAAC,GAAG/L,MAAM,IAAIC,MAAM,EAAE,CAAC,EAAE;UAC9C;UACAR,QAAQ,GAAG,IAAI;UACfkM,OAAO,CAACX,GAAG,CAAC1D,IAAI,CAAChC,EAAE,EAAE,IAAI,CAAC;QAC5B,CAAC,MAAM;UACL;UACA;UACA;UACA;UACA,MAAM;YACJH,IAAI,EAAE,mBAAmB;YACzBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;YACXtF,MAAM;YACNC,MAAM;YACN0F,KAAK;YACL9B,WAAW,EAAEuG,UAAU,CAACgB,OAAO;YAC/BzL,MAAM,EAAE0K,OAAO,CAAC1K;UAClB,CAAC;UACD,MAAMqM,OAAO,GAAG9H,IAAI,CAACC,GAAG,CAAC,CAAC;UAC1B;UACA;UACA,MAAM8H,YAAY,GAAG,MAAMC,gBAAgB,CAAC;YAAElM,MAAM;YAAEC,MAAM;YAAEsK,MAAM;YAAEnI,QAAQ;YAAErC;UAAQ,CAAC,CAAC;UAC1F,MAAMP,MAAM,GAAGD,UAAU,CACvBmD,eAAe,GACX,MAAMA,eAAe,CAAC;YACpB4C,EAAE,EAAEgC,IAAI,CAAChC,EAAE;YACXtF,MAAM;YACNC,MAAM;YACN0F,KAAK;YACL9B,WAAW,EAAEuG,UAAU,CAACgB,OAAO;YAC/BzL,MAAM,EAAE0K,OAAO,CAAC1K,MAAM;YACtB4K,MAAM;YACN0B;UACF,CAAC,CAAC,GACF,KACN,CAAC;UACD;UACA;UACAhI,QAAQ,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG6H,OAAO;UAChCvM,QAAQ,GAAGD,MAAM,CAACC,QAAQ;UAC1BkM,OAAO,CAACX,GAAG,CAAC1D,IAAI,CAAChC,EAAE,EAAE7F,QAAQ,CAAC;UAC9B,IAAID,MAAM,CAACE,KAAK,EAAEkD,OAAO,EAAEkG,GAAG,CAAC,GAAG9I,MAAM,IAAIC,MAAM,EAAE,CAAC;UACrD,IAAIT,MAAM,CAACG,MAAM,EAAEmD,cAAc,CAACkI,GAAG,CAAC1D,IAAI,CAAChC,EAAE,EAAE9F,MAAM,CAACG,MAAM,CAAC;QAC/D;QACA,IAAI,CAACF,QAAQ,EAAE;UACb;UACA;UACA;UACA;UACA,KAAK,MAAM2H,EAAE,IAAIsG,SAAS,CAAC,UAAU,CAAC,EAAE,MAAMtG,EAAE;UAChDoC,OAAO,CAACjG,IAAI,CAAC;YACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;YACnB8G,OAAO,EAAEvM,cAAc,CAACiD,cAAc,CAAC8K,GAAG,CAACtG,IAAI,CAAChC,EAAE,CAAC,CAAC;YACpD+G,OAAO,EAAE;UACX,CAAC,CAAC;UACF;QACF;MACF;MAEA,IAAIwB,0BAAiB,CAAC9B,GAAG,CAAC,GAAG/L,MAAM,IAAIC,MAAM,EAAE,CAAC,EAAEgF,oBAAoB,GAAG,IAAI;MAE7E,MAAM;QACJE,IAAI,EAAE,YAAY;QAClBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;QACXtF,MAAM;QACNC,MAAM;QACN0F,KAAK;QACL9B,WAAW,EAAEuG,UAAU,CAACgB,OAAO;QAC/Bb,MAAM;QACNL,MAAM,EAAEE,UAAU,CAACF;MACrB,CAAC;MACD,MAAM4D,SAAS,GAAG5J,IAAI,CAACC,GAAG,CAAC,CAAC;;MAE5B;MACA;MACA;MACA,MAAMkE,MAAM,GAAG,MAAM0F,aAAa,CAAC3D,UAAU,EAAEpK,MAAM,EAAEuK,MAAM,EAAEnI,QAAQ,CAAC;MACxE,MAAM4L,WAAW,GAAG,MAAMC,iBAAiB,CAAC7D,UAAU,EAAEpK,MAAM,EAAEuK,MAAM,EAAEnI,QAAQ,CAAC;;MAEjF;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACM,IAAIxD,MAAM,EAAEG,OAAO,EAAE;QACnB,KAAK,MAAMqI,EAAE,IAAIsG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAMtG,EAAE;QAC/CoC,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EAAE,2DAA2D;UACpEC,OAAO,EAAE;QACX,CAAC,CAAC;QACF;MACF;MACA,MAAM6B,YAAY,GAAG,IAAA/D,cAAM,EAAC;QAAEC,UAAU;QAAEpK,MAAM;QAAEwC,MAAM;QAAEC;MAAU,CAAC,CAAC;MACtE,IAAIyL,YAAY,CAAC7D,OAAO,KAAK,QAAQ,EAAE;QACrC;QACA;QACA,KAAK,MAAMjD,EAAE,IAAIsG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAMtG,EAAE;QAC/CoC,OAAO,CAACjG,IAAI,CAAC;UAAE4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UAAE8G,OAAO,EAAE8B,YAAY,CAACvO,MAAM;UAAE0M,OAAO,EAAE;QAAK,CAAC,CAAC;QAClF;MACF;MAEA,IAAI;QACF;QACA;QACA;QACA;QACA;QACA;QACA,MAAM8B,MAAM,GACVlO,MAAM,KAAK+J,8BAAe,GACtB,IAAAoE,8BAAe,EACbpO,MAAM,EACN,MAAMqO,eAAe,CAAChM,YAAY,EAAErC,MAAM,CAAC,EAC3CuK,MACF,CAAC,GACDvK,MAAM,KAAK,UAAU,GACnB,MAAMsO,gBAAgB,CAACrO,MAAM,EAAEsC,MAAM,EAAEH,QAAQ,EAAEO,QAAQ,EAAE4H,MAAM,EAAE1H,UAAU,CAAC,GAC9E,OAAO6G,QAAQ,CAACkE,GAAG,CAACtG,IAAI,CAAChC,EAAE,CAAC,IAAIlD,QAAQ,CAACpC,MAAM,EAAEC,MAAM,EAAEsK,MAAM,CAAC,CAAC;QACzE,MAAMgE,OAAO,GAAG,IAAAC,cAAM,EAAC,IAAAC,wBAAgB,EAACN,MAAM,CAAC,CAAC;QAEhD,MAAMO,OAAO,GAAG7M,cAAc,CAACsM,MAAM,CAAC;;QAEtC;QACA;QACA;QACA,MAAMxN,IAAI,GAAGJ,QAAQ,CAACgO,OAAO,CAAC;QAC9B,MAAM3N,GAAG,GACP+B,QAAQ,IAAI,CAAC+L,OAAO,IAAI,EAAE1O,MAAM,KAAK,UAAU,IAAIC,MAAM,KAAK,UAAU,CAAC,GACrE0C,QAAQ,CAACgM,KAAK,CAAC;UAAE3O,MAAM;UAAEC,MAAM;UAAEsK,MAAM;UAAEqE,UAAU,EAAE1K,IAAI,CAACC,GAAG,CAAC,CAAC;UAAExD;QAAK,CAAC,CAAC,GACxEM,SAAS;QACf,MAAM4N,aAAa,GAAGnO,YAAY,CAACC,IAAI,EAAEC,GAAG,CAAC;QAC7C,MAAMkO,WAAW,GACfD,aAAa,CAAChO,MAAM,GAAGhE,sBAAsB,GAAG,GAAGgS,aAAa,CAAC/N,KAAK,CAAC,CAAC,EAAEjE,sBAAsB,CAAC,GAAG,GAAGgS,aAAa;QACtH,MAAM;UACJ1J,IAAI,EAAE,UAAU;UAChBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;UACXlE,EAAE,EAAE,CAACsN,OAAO;UACZtD,OAAO,EAAEpK,SAAS,CAACmN,MAAM,CAAC;UAC1B9C,UAAU,EAAEnH,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG2J,SAAS;UAClCK,MAAM,EAAEW;QACV,CAAC;;QAED;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAMC,UAAU,GACdf,WAAW,KAAK/M,SAAS,IAAIyN,OAAO,GAChCzN,SAAS,GACT,MAAMgN,iBAAiB,CAAC7D,UAAU,EAAEpK,MAAM,EAAEuK,MAAM,EAAEnI,QAAQ,CAAC;QAEnE,IAAIgI,UAAU,CAACF,MAAM,KAAK,MAAM,IAAIlK,MAAM,KAAK,UAAU,IAAI,CAAC0O,OAAO,EAAE;UACrE;UACA;UACA;UACAnM,MAAM,CAACyM,kBAAkB,CAAChP,MAAM,EAAEC,MAAM,EAAEsK,MAAM,CAAC;UACjD;UACA;UACA;UACA;UACA,MAAM0E,EAAE,GAAG,IAAAC,oBAAS,EAAClP,MAAM,EAAEoK,UAAU,EAAEG,MAAM,EAAE4D,MAAM,EAAE9F,MAAM,EAAE;YAC/DA,MAAM,EAAE2F,WAAW;YACnBzF,KAAK,EAAEwG;UACT,CAAC,CAAC;UACF,IAAIE,EAAE,EAAE;YACN,MAAME,KAAK,GAAG5M,MAAM,CAAC6M,MAAM,CAACpP,MAAM,EAAEC,MAAM,EAAEgP,EAAE,EAAEvL,gBAAgB,CAAC;YACjE;YACA;YACA,IAAIyL,KAAK,EAAEA,KAAK,CAACE,MAAM,GAAG/H,IAAI,CAAChC,EAAE;UACnC;QACF;QACA;QACA;QACA,MAAMgK,OAAO,GAAGZ,OAAO,GACnBzN,SAAS,GACT,IAAAsO,wBAAc,EAAC;UACbvP,MAAM;UACNC,MAAM;UACNsK,MAAM;UACN4D,MAAM,EAAEI,OAAO;UACflG,MAAM,EAAE2F,WAAW,IAAI3F,MAAM;UAC7BE,KAAK,EAAEwG,UAAU;UACjB7E,MAAM,EAAEE,UAAU,CAACF;QACrB,CAAC,CAAC;QACN,IAAIoF,OAAO,EAAE,MAAM;UAAEnK,IAAI,EAAE,OAAO;UAAEE,KAAK,EAAEiK,OAAO;UAAErC,aAAa,EAAE3F,IAAI,CAAChC;QAAG,CAAC;QAC5E;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;QACQ,MAAMkK,YAAY,GAChBpF,UAAU,CAACF,MAAM,KAAK,MAAM,IAAI,CAACwE,OAAO,GACpC,MAAM,IAAAe,qBAAa,EAAC;UAAEzP,MAAM;UAAEC,MAAM;UAAEsK,MAAM;UAAE4D,MAAM;UAAE/L,QAAQ;UAAExD,MAAM;UAAE2J,KAAK,EAAEwG;QAAW,CAAC,CAAC,GAC5F9N,SAAS;QACf,IAAIuO,YAAY,EAAE,MAAM;UAAErK,IAAI,EAAE,eAAe;UAAEG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;UAAEkK;QAAa,CAAC;QAC5E,KAAK,MAAM3C,GAAG,IAAIgC,aAAa,CAACa,KAAK,CAAC/K,MAAM,CAAC,IAAI,EAAE,EAAEF,QAAQ,CAACqE,GAAG,CAAC+D,GAAG,CAAC;QACtErD,OAAO,CAACjG,IAAI,CAAC;UACX4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UACnB8G,OAAO,EACLyC,aAAa,GACbc,YAAY,CAAC3P,MAAM,EAAEoK,UAAU,EAAEG,MAAM,EAAEjI,cAAc,CAAC,GACxDiL,YAAY,IACXiC,YAAY,GAAG,IAAAI,2BAAmB,EAACJ,YAAY,CAAC,GAAG,EAAE,CAAC,IACtD/I,WAAW,CAACsF,GAAG,CAACzE,IAAI,CAAChC,EAAE,CAAC,GAAGuK,2BAAY,GAAG,EAAE,CAAC;UAChD,IAAIjP,GAAG,GAAG;YAAEA;UAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,IAAIZ,MAAM,KAAK,KAAK,KAAKC,MAAM,KAAK,WAAW,IAAIA,MAAM,KAAK,QAAQ,CAAC,EAAE;UACvEwJ,YAAY,GAAG,IAAI;QACrB;MACF,CAAC,CAAC,OAAOqG,GAAG,EAAE;QACZ,MAAMvI,OAAO,GAAGuI,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACvI,OAAO,GAAG9G,MAAM,CAACqP,GAAG,CAAC;QAChE,MAAM;UACJ3K,IAAI,EAAE,UAAU;UAChBG,EAAE,EAAEgC,IAAI,CAAChC,EAAE;UACXlE,EAAE,EAAE,KAAK;UACTgK,OAAO,EAAE7D,OAAO;UAChB8D,UAAU,EAAEnH,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG2J;QAC3B,CAAC;QACDtE,OAAO,CAACjG,IAAI,CAAC;UAAE4I,UAAU,EAAE7E,IAAI,CAAChC,EAAE;UAAE8G,OAAO,EAAE,WAAW7E,OAAO,EAAE;UAAE8E,OAAO,EAAE;QAAK,CAAC,CAAC;MACrF;IACF;;IAEA;IACA;IACA;IACA,IAAIrP,KAAK,CAAC6D,MAAM,EAAE;MAChBgE,gBAAgB,CAACtB,IAAI,CAACxG,aAAa,CAACC,KAAK,CAAC,CAAC;MAC3C,IAAI6H,gBAAgB,CAAChE,MAAM,GAAG/D,YAAY,EAAE+H,gBAAgB,CAACmL,KAAK,CAAC,CAAC;MACpE,MAAMC,OAAO,GACX,CAACnL,UAAU,IACXD,gBAAgB,CAAChE,MAAM,KAAK/D,YAAY,IACxC+H,gBAAgB,CAAC+E,KAAK,CAAEsG,GAAG,IAAKA,GAAG,KAAKrL,gBAAgB,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAIoL,OAAO,EAAE;QACXnL,UAAU,GAAG,IAAI;QACjB,MAAMqL,IAAI,GAAG3G,OAAO,CAACA,OAAO,CAAC3I,MAAM,GAAG,CAAC,CAAC;QACxC,IAAIsP,IAAI,EAAEA,IAAI,CAAC/D,OAAO,GAAG,GAAG+D,IAAI,CAAC/D,OAAO,OAAOlO,YAAY,EAAE;MAC/D;IACF;IAEAgF,QAAQ,CAACK,IAAI,CAAC;MAAEoF,IAAI,EAAE,cAAc;MAAEa;IAAQ,CAAC,CAAC;IAEhD,IAAIyB,QAAQ,EAAE;MACZ,MAAM;QAAE9F,IAAI,EAAE,eAAe;QAAEoE,OAAO,EAAE0B;MAAS,CAAC;MAClD,MAAM;QAAE9F,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAgB,CAAC;MACnD,OAAOlC,QAAQ;IACjB;IAEA,IAAIuG,YAAY,EAAE;MAChB;MACA;MACA,MAAM;QAAEtE,IAAI,EAAE,MAAM;QAAEC,UAAU,EAAE;MAAa,CAAC;MAChD,OAAOlC,QAAQ;IACjB;EACF;EAEA,MAAM;IACJiC,IAAI,EAAE,OAAO;IACbE,KAAK,EAAE;MACLC,EAAE,EAAE,MAAMpB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;MACtBoB,IAAI,EAAE,QAAQ;MACdC,IAAI,EAAE,SAAS;MACf7E,IAAI,EAAE,iBAAiB8C,QAAQ,0BAA0B;MACzDtD,OAAO,EAAE,CAAC;QAAEwF,KAAK,EAAE,UAAU;QAAEC,OAAO,EAAE,IAAI;QAAEC,IAAI,EAAE;MAA+B,CAAC;IACtF;EACF,CAAC;EACD,MAAM;IAAEV,IAAI,EAAE,MAAM;IAAEC,UAAU,EAAE;EAAW,CAAC;EAC9C,OAAOlC,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASyM,YAAYA,CACnB3P,MAAc,EACdoK,UAA4B,EAC5BG,MAA+B,EAC/BjI,cAAkD,EAC1C;EACR,IAAItC,MAAM,KAAK,SAAS,IAAIoK,UAAU,CAACF,MAAM,KAAK,MAAM,EAAE,OAAO,EAAE;EACnE,IAAI,CAAC5H,cAAc,IAAI,OAAOiI,MAAM,CAAC9I,GAAG,KAAK,QAAQ,EAAE,OAAO,EAAE;EAChE,MAAM2O,SAAS,GAAG9N,cAAc,CAACiI,MAAM,CAAC9I,GAAG,CAAC;EAC5C,IAAI,CAAC2O,SAAS,EAAE,OAAO,EAAE;EAEzB,OAAO,uCAAuC7F,MAAM,CAAC9I,GAAG,oCAAoC2O,SAAS,kKAAkKA,SAAS,kNAAkN;AACpe;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAelE,gBAAgBA,CAAClO,KAMtC,EAA+B;EAC9B,MAAMoM,UAAU,GAAGtK,cAAc,CAAC9B,KAAK,CAAC+B,OAAO,IAAIsQ,gBAAO,EAAErS,KAAK,CAACgC,MAAM,EAAEhC,KAAK,CAACiC,MAAM,CAAC;EACvF,IAAI,CAACmK,UAAU,IAAIA,UAAU,CAACF,MAAM,KAAK,MAAM,EAAE,OAAOjJ,SAAS;EACjE,MAAMqP,KAAK,GAAG,MAAMrC,iBAAiB,CAAC7D,UAAU,EAAEpM,KAAK,CAACgC,MAAM,EAAEhC,KAAK,CAACuM,MAAM,EAAEvM,KAAK,CAACoE,QAAQ,CAAC;EAC7F,IAAIkO,KAAK,KAAKrP,SAAS,EAAE,OAAO,IAAAsP,gBAAQ,EAACD,KAAK,CAAC;EAC/C,MAAMjI,MAAM,GAAG,MAAM0F,aAAa,CAAC3D,UAAU,EAAEpM,KAAK,CAACgC,MAAM,EAAEhC,KAAK,CAACuM,MAAM,EAAEvM,KAAK,CAACoE,QAAQ,CAAC;EAC1F,IAAIiG,MAAM,KAAKpH,SAAS,EAAE,OAAO,IAAAsP,gBAAQ,EAAClI,MAAM,CAAC;EACjD,OAAOpH,SAAS;AAClB;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeuP,cAAcA,CAACxS,KAAuB,EAA+B;EACzF,MAAM;IAAEgC,MAAM;IAAEC,MAAM;IAAEmC,QAAQ;IAAEG,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGzE,KAAK;EACrE,MAAM+B,OAAO,GAAG/B,KAAK,CAAC+B,OAAO,IAAIsQ,gBAAO;EAExC,MAAMjG,UAAU,GAAGtK,cAAc,CAACC,OAAO,EAAEC,MAAM,EAAEC,MAAM,CAAC;EAC1D,IAAI,CAACmK,UAAU,EAAE;IACf,OAAO;MAAEhJ,EAAE,EAAE,KAAK;MAAEC,KAAK,EAAE,GAAGrB,MAAM,IAAIC,MAAM;IAA6B,CAAC;EAC9E;EAEA,MAAMoN,UAAU,GAAG,IAAA5C,gCAAe,EAACzK,MAAM,EAAEC,MAAM,EAAGjC,KAAK,CAACuM,MAAM,IAAI,CAAC,CAA6B,CAAC;EACnG,MAAMA,MAAM,GAAG,IAAAI,6BAAa,EAAC0C,UAAU,CAAC9C,MAAM,EAAEH,UAAU,CAACG,MAAM,CAAC;EAClE,MAAM+C,KAAK,GAAG,IAAA1C,8BAAc,EAACL,MAAM,EAAEH,UAAU,CAACG,MAAM,CAAC;EACvD,IAAI,CAAC+C,KAAK,CAAClM,EAAE,EAAE;IACb,OAAO;MAAEA,EAAE,EAAE,KAAK;MAAEC,KAAK,EAAEiM,KAAK,CAACd,MAAM,CAACvO,IAAI,CAAC,IAAI;IAAE,CAAC;EACtD;EAEA,MAAMoM,OAAO,GAAG,IAAAF,cAAM,EAAC;IAAEC,UAAU;IAAEpK,MAAM;IAAEwC,MAAM;IAAEC;EAAU,CAAC,CAAC;EACjE,IAAI4H,OAAO,CAACA,OAAO,KAAK,QAAQ,EAAE;IAChC,OAAO;MAAEjJ,EAAE,EAAE,KAAK;MAAEC,KAAK,EAAEgJ,OAAO,CAAC1K;IAAO,CAAC;EAC7C;EAEA,MAAM0I,MAAM,GAAG,MAAM0F,aAAa,CAAC3D,UAAU,EAAEpK,MAAM,EAAEuK,MAAM,EAAEnI,QAAQ,CAAC;EACxE;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAM4L,WAAW,GAAG,MAAMC,iBAAiB,CAAC7D,UAAU,EAAEpK,MAAM,EAAEuK,MAAM,EAAEnI,QAAQ,CAAC;;EAEjF;EACA;EACA,MAAM8L,YAAY,GAAG,IAAA/D,cAAM,EAAC;IAAEC,UAAU;IAAEpK,MAAM;IAAEwC,MAAM;IAAEC;EAAU,CAAC,CAAC;EACtE,IAAIyL,YAAY,CAAC7D,OAAO,KAAK,QAAQ,EAAE;IACrC,OAAO;MAAEjJ,EAAE,EAAE,KAAK;MAAEC,KAAK,EAAE6M,YAAY,CAACvO;IAAO,CAAC;EAClD;EAEA,IAAI;IACF,MAAMwO,MAAM,GACVnO,MAAM,KAAK,UAAU,GACjB,MAAMsO,gBAAgB,CAACrO,MAAM,EAAEsC,MAAM,EAAEH,QAAQ,EAAEnB,SAAS,EAAEsJ,MAAM,CAAC,GACnE,MAAMnI,QAAQ,CAACpC,MAAM,EAAEC,MAAM,EAAEsK,MAAM,CAAC;;IAE5C;IACA;IACA;IACA,IAAI1I,cAAc,CAACsM,MAAM,CAAC,EAAE;MAC1B,MAAM2B,GAAG,GAAI3B,MAAM,CAA6B9M,KAAK;MACrD,OAAO;QAAED,EAAE,EAAE,KAAK;QAAEC,KAAK,EAAE,OAAOyO,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAG;MAAyB,CAAC;IACvF;IAEA,IAAI1F,UAAU,CAACF,MAAM,KAAK,MAAM,IAAIlK,MAAM,KAAK,UAAU,EAAE;MACzDuC,MAAM,CAACyM,kBAAkB,CAAChP,MAAM,EAAEC,MAAM,EAAEsK,MAAM,CAAC;MACjD;MACA;MACA,MAAMwE,UAAU,GAAG,MAAMd,iBAAiB,CAAC7D,UAAU,EAAEpK,MAAM,EAAEuK,MAAM,EAAEnI,QAAQ,CAAC;MAChF,MAAM6M,EAAE,GAAG,IAAAC,oBAAS,EAAClP,MAAM,EAAEoK,UAAU,EAAEG,MAAM,EAAE4D,MAAM,EAAE9F,MAAM,EAAE;QAC/DA,MAAM,EAAE2F,WAAW;QACnBzF,KAAK,EAAEwG;MACT,CAAC,CAAC;MACF,IAAIE,EAAE,EAAE1M,MAAM,CAAC6M,MAAM,CAACpP,MAAM,EAAEC,MAAM,EAAEgP,EAAE,CAAC;IAC3C;IACA,OAAO;MAAE7N,EAAE,EAAE,IAAI;MAAE+M;IAAO,CAAC;EAC7B,CAAC,CAAC,OAAO2B,GAAG,EAAE;IACZ,OAAO;MAAE1O,EAAE,EAAE,KAAK;MAAEC,KAAK,EAAEyO,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACvI,OAAO,GAAG9G,MAAM,CAACqP,GAAG;IAAE,CAAC;EAC/E;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAexB,gBAAgBA,CAC7BrO,MAAc,EACdsC,MAAoB,EACpBH,QAAoB,EACpBO,QAAwB,EACxB4H,MAAgC,EAChC1H,UAAwB,EACN;EAClB,IAAI5C,MAAM,KAAK,UAAU,EAAE;IACzB,OAAO,IAAAwQ,0BAAgB,EAAC9N,QAAQ,EAAG4H,MAAM,IAAI,CAAC,CAA+B,CAAC;EAChF;EACA,IAAItK,MAAM,KAAK,eAAe,EAAE;IAC9B,MAAMqF,EAAE,GAAG,OAAOiF,MAAM,EAAEjF,EAAE,KAAK,QAAQ,GAAGiF,MAAM,CAACjF,EAAE,GAAG,EAAE;IAC1D,MAAMhE,KAAK,GAAGuB,UAAU,EAAE3C,IAAI,CAAE2K,CAAC,IAAKA,CAAC,CAACvF,EAAE,KAAKA,EAAE,CAAC;IAClD,IAAI,CAAChE,KAAK,EAAE;MACV,MAAMoP,GAAG,GAAG,CAAC7N,UAAU,IAAI,EAAE,EAAExF,GAAG,CAAEwN,CAAC,IAAKA,CAAC,CAACvF,EAAE,CAAC;MAC/C,OAAO;QACLlE,EAAE,EAAE,KAAK;QACTC,KAAK,EAAEqP,GAAG,CAAC7P,MAAM,GACb,iBAAiByE,EAAE,6BAA6BoL,GAAG,CAACzS,IAAI,CAAC,IAAI,CAAC,GAAG,GACjE;MACN,CAAC;IACH;IACA,OAAO;MACLqH,EAAE,EAAEhE,KAAK,CAACgE,EAAE;MACZqL,KAAK,EAAErP,KAAK,CAACqP,KAAK;MAClB,IAAIrP,KAAK,CAACsP,OAAO,GAAG;QAAEA,OAAO,EAAEtP,KAAK,CAACsP;MAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;MACpD,IAAItP,KAAK,CAACuP,QAAQ,EAAEhQ,MAAM,GAAG;QAAEgQ,QAAQ,EAAEvP,KAAK,CAACuP;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/DC,IAAI,EAAExP,KAAK,CAACwP,IAAI;MAChBC,IAAI,EAAE;IACR,CAAC;EACH;EACA,IAAI9Q,MAAM,KAAK,aAAa,EAAE;IAC5B,MAAM+Q,OAAO,GAAGzO,MAAM,CACnB0O,IAAI,CAAC,CAAC,CACNrP,MAAM,CAAEmJ,CAAC,IAAK,CAACA,CAAC,CAACmG,QAAQ,CAAC,CAC1B7T,GAAG,CAAE0N,CAAC,KAAM;MACX/K,MAAM,EAAE+K,CAAC,CAAC/K,MAAM;MAChBC,MAAM,EAAE8K,CAAC,CAAC9K,MAAM;MAChBsF,IAAI,EAAEwF,CAAC,CAACb,MAAM,CAAC3E,IAAI;MACnBI,KAAK,EAAEoF,CAAC,CAACb,MAAM,CAACvE,KAAK;MACrBwL,UAAU,EAAE,IAAAC,oBAAY,EAACrG,CAAC,CAACb,MAAM;IACnC,CAAC,CAAC,CAAC;IACL,OAAO;MAAE8G,OAAO;MAAEK,QAAQ,EAAEL,OAAO,CAACnQ;IAAO,CAAC;EAC9C;EACA,IAAIZ,MAAM,KAAK,SAAS,EAAE;IACxB,MAAM6G,OAAO,GAAG,MAAMvE,MAAM,CAAC+O,SAAS,CAAClP,QAAQ,CAAC;IAChD,OAAO;MAAEhB,EAAE,EAAE0F,OAAO,CAACD,MAAM,CAAChG,MAAM,KAAK,CAAC;MAAE,GAAGiG;IAAQ,CAAC;EACxD;EACA,MAAM,IAAIiJ,KAAK,CAAC,4BAA4B9P,MAAM,GAAG,CAAC;AACxD;;AAEA;AACA,eAAeoO,eAAeA,CAC5BhM,YAAoC,EACpCrC,MAAc,EACI;EAClB,IAAI,CAACqC,YAAY,EAAE;IACjB,MAAM,IAAI0N,KAAK,CACb,wBAAwB/P,MAAM,2DAChC,CAAC;EACH;EACA,OAAO,MAAMqC,YAAY,CAACrC,MAAM,CAAC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeiO,iBAAiBA,CAC9B7D,UAA4B,EAC5BpK,MAAc,EACduK,MAA+B,EAC/BnI,QAAoB,EACF;EAClB,IAAIpC,MAAM,KAAK,SAAS,IAAIoK,UAAU,CAACnK,MAAM,KAAK,UAAU,EAAE;IAC5D,IAAI,OAAOsK,MAAM,CAAC6F,SAAS,KAAK,QAAQ,EAAE,OAAOnP,SAAS;IAC1D,IAAI;MACF,OAAO,MAAMmB,QAAQ,CAACpC,MAAM,EAAE,eAAe,EAAE;QAAEoQ,SAAS,EAAE7F,MAAM,CAAC6F;MAAU,CAAC,CAAC;IACjF,CAAC,CAAC,MAAM;MACN,OAAOnP,SAAS;IAClB;EACF;EACA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIjB,MAAM,KAAK,OAAO,IAAIoK,UAAU,CAACnK,MAAM,KAAK,cAAc,EAAE;IAC9D;IACA;IACA;IACA;IACA;IACA,MAAMsR,SAAS,GACb,OAAOhH,MAAM,CAACgH,SAAS,KAAK,QAAQ,GAChChH,MAAM,CAACgH,SAAS,GAChBpU,KAAK,CAACC,OAAO,CAACmN,MAAM,CAACiH,QAAQ,CAAC,GAC5B,IAAAC,6BAAY,EAAClH,MAAM,CAACiH,QAAQ,CAAC,GAC7BvQ,SAAS;IACjB,IAAI,CAACsQ,SAAS,EAAE,OAAOtQ,SAAS;IAChC,IAAI;MACF,OAAO,MAAMmB,QAAQ,CAACpC,MAAM,EAAE,cAAc,EAAE;QAAEuR;MAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,MAAM;MACN,OAAOtQ,SAAS;IAClB;EACF;EACA,OAAOA,SAAS;AAClB;AAEA,eAAe8M,aAAaA,CAC1B3D,UAA4B,EAC5BpK,MAAc,EACduK,MAA+B,EAC/BnI,QAAoB,EACmC;EACvD,IAAIgI,UAAU,CAACF,MAAM,KAAK,MAAM,EAAE,OAAOjJ,SAAS;EAClD,IAAIjB,MAAM,KAAK,SAAS,IAAI,OAAOuK,MAAM,CAAC9I,GAAG,KAAK,QAAQ,EAAE,OAAOR,SAAS;EAE5E,MAAMyQ,UAAU,GAAGtH,UAAU,CAACnK,MAAM,CAAC0R,UAAU,CAAC,QAAQ,CAAC,GACrD,eAAe,GACfvH,UAAU,CAACnK,MAAM,CAAC0R,UAAU,CAAC,OAAO,CAAC,GACnC,UAAU,GACV1Q,SAAS;EACf;EACA;EACA;EACA,IAAI,CAACyQ,UAAU,EAAE,OAAOzQ,SAAS;;EAEjC;EACA;EACA;EACA;EACA;EACA,MAAM2Q,UAAmC,GAAG;IAAEnQ,GAAG,EAAE8I,MAAM,CAAC9I;EAAI,CAAC;EAC/D,IAAIiQ,UAAU,KAAK,UAAU,EAAE;IAC7B,IAAI,OAAOnH,MAAM,CAACsH,UAAU,KAAK,QAAQ,EAAE,OAAO5Q,SAAS;IAC3D2Q,UAAU,CAACC,UAAU,GAAGtH,MAAM,CAACsH,UAAU;EAC3C;EAEA,IAAI;IACF,MAAMC,OAAO,GAAG,MAAM1P,QAAQ,CAACpC,MAAM,EAAE0R,UAAU,EAAEE,UAAU,CAAC;IAC9D,MAAMzQ,GAAG,GACP2Q,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,GACjCA,OAAO,GACR7Q,SAAS;IACf;IACA,IAAIE,GAAG,EAAEG,KAAK,KAAK,KAAK,EAAE,OAAOL,SAAS;IAC1C,MAAMT,KAAK,GAAGW,GAAG,GACZA,GAAG,CAACX,KAAK,GACTsR,OAA8B;IACnC,OAAO;MAAEC,GAAG,EAAEvR,KAAK,KAAKS,SAAS,IAAIT,KAAK,KAAK,IAAI;MAAEA,KAAK,EAAEA,KAAK,IAAIS;IAAU,CAAC;EAClF,CAAC,CAAC,MAAM;IACN;IACA;IACA,OAAOA,SAAS;EAClB;AACF","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.buildLiveBlock = buildLiveBlock;
7
7
  exports.buildSystemPrompt = buildSystemPrompt;
8
+ exports.listableProcedures = listableProcedures;
8
9
  /**
9
10
  * The system prompt.
10
11
  *
@@ -19,6 +20,18 @@ exports.buildSystemPrompt = buildSystemPrompt;
19
20
  * descriptions benefits from being told the rule once, up front.
20
21
  */
21
22
 
23
+ /**
24
+ * A playbook for this app: how to put it into a state, reproduce a ticket,
25
+ * or read something that is not obvious. Written by the app's developers,
26
+ * loaded when the model decides it applies. Borrowed from Strands' AgentSkills
27
+ * (SKILL.md name + description in the prompt, body on activation) — in-memory
28
+ * objects, no filesystem.
29
+ *
30
+ * A procedure GUIDES tool use; it grants nothing. Every step it names still
31
+ * goes through the same catalog, policy, approval card and ledger as any other
32
+ * call, and the outcome checks (engine/verify.ts) still run.
33
+ */
34
+
22
35
  function buildSystemPrompt(input) {
23
36
  const {
24
37
  context,
@@ -28,7 +41,8 @@ function buildSystemPrompt(input) {
28
41
  requireApproval,
29
42
  approvalsBypassed,
30
43
  appName,
31
- platform
44
+ platform,
45
+ availableToolIds
32
46
  } = input;
33
47
  const sections = [];
34
48
  sections.push(`You are Ask Buoy, an assistant embedded inside ${appName ? `the ${appName} app` : "a React Native app"} via Buoy devtools${platform ? ` on ${platform}` : ""}.
@@ -38,7 +52,9 @@ The people who talk to you are usually NOT developers — QA testers, customer s
38
52
  You can read the app's live state and change it, through the Buoy tools available to you. Prefer looking before acting: read the relevant state first so your change matches how this app actually stores things, rather than guessing at a shape.`);
39
53
  sections.push(`HOW TO WORK
40
54
  - Chain tools freely to answer one question. Reading is cheap; do it.
55
+ - BIG RESULTS ARE KEPT IN FULL. A result over 24,000 characters is cut, and the cut ends with a marker naming a ref (\`[truncated — …; ref ev_7]\`). Everything past the cut is still here: call ask-buoy.retrieve with that ref — bare, to see the shape; then with a path ("stats.0.base_stat") or a pattern ("base_stat") to read the part you need. Never tell the user a value is unreadable because it sat past the cut, and never ask them for a narrower slice. The same goes for \`[earlier result — …; ref ev_3]\`: that result was compressed out of your memory, and retrieve re-reads EXACTLY what you saw at the time — the value before a write, say — while calling the tool again gives the app's current value. Choose by which one the question is about.
41
56
  - When you change something, say plainly what you changed, in the user's language ("I put the double burger out of stock at store 100"), not in tool terms.
57
+ - A WRITE'S RESULT IS CHECKED, AND THE CHECK TELLS YOU WHAT ACTUALLY HAPPENED. Some writes come back with a trailer: \`[Buoy] Verified: …\` means the app was read back and shows the requested state — say it plainly. \`[Buoy] Unverified: …\` means the write landed but the outcome is not visible yet (an override installed that no request has used) — do the thing the trailer names (a refetch, a visit to the screen) before saying the screen shows it, or say honestly that it will show on the next load. \`[Buoy] Check FAILED: …\` means the app does NOT hold what you wrote: read the current state, work out why, and correct ONCE with a different, targeted change — never repeat the same write, never report the outcome as done.
42
58
  - If a tool returns an empty list, check whether the tool needed to be recording first. Several Buoy tools only capture while something is watching them, so an empty result often means "nothing was recording", not "nothing happened". Say which one it is.
43
59
  - A COUNT IS NOT A BUG UNTIL YOU HAVE CHECKED THE CLOCK. recentRequests and the events timeline accumulate for as long as the app has been open, so "23 calls to /orders/pending" is a polling interval times minutes, not one screen load, until the timestamps say otherwise. Before you call anything a bug, run the one check that would make it NOT one — the timestamps across the window, the query's refetchInterval, whether capture was on the whole time, whether the screen actually shows the wrong thing — and say in the finding what you checked. A finding you did not check is a guess wearing a card, and the person reading it cannot tell the two apart.
44
60
  - WHAT YOU READ IS A RECORD OF WHAT HAS ALREADY HAPPENED, never a list of what this app has. The query cache holds what the app has already fetched THIS SESSION; recentRequests what it has already called; console, events, images and assets only what was recording or has already rendered. So a SHORT list means "nobody has been there yet", not "that is all there is" — and you have to work out which, exactly as you would for an empty one. Four of something is not the answer to "show me all of them". It is four of them, and a gap.
@@ -111,10 +127,24 @@ Still read a live instance when one exists — it is the runtime truth and these
111
127
  if (context?.digest && Object.keys(context.digest).length) {
112
128
  sections.push(`WHAT THIS APP IS MADE OF\nObserved at runtime when this chat opened: route templates, store and slice names, storage and env key names. Use it to find the right names instead of guessing. What is on screen at this moment is in RIGHT NOW, below.\n${JSON.stringify(context.digest)}`);
113
129
  }
130
+ const procedures = listableProcedures(context?.procedures, availableToolIds);
131
+ if (procedures.length) {
132
+ sections.push(`PROCEDURES THIS APP'S DEVELOPERS WROTE
133
+ Playbooks for tasks that take several steps or depend on conventions you cannot see. When a request matches one, call ask-buoy.openProcedure with its id FIRST and follow it — it says which stores and keys are involved, in what order, and what "done" looks like. Do not guess at a task that has a procedure. A procedure guides your tool use; it grants nothing — every step still goes through the same policy and approval as any other call.
134
+ ${procedures.map(p => `- ${p.id} — ${p.summary}`).join("\n")}`);
135
+ }
114
136
  if (context?.extra) sections.push(context.extra);
115
137
  return sections.join("\n\n---\n\n");
116
138
  }
117
139
 
140
+ /** The procedures this device can follow: every `requires` tool installed (or no `requires` at all). */
141
+ function listableProcedures(procedures, availableToolIds) {
142
+ if (!procedures?.length) return [];
143
+ if (!availableToolIds) return procedures;
144
+ const have = new Set(availableToolIds);
145
+ return procedures.filter(p => (p.requires ?? []).every(t => have.has(t)));
146
+ }
147
+
118
148
  /**
119
149
  * The per-turn block: what the app is showing at the moment the user typed.
120
150
  * Rendered AFTER the cached prompt (see ProviderRequest.systemVolatile), so it
@@ -1 +1 @@
1
- {"version":3,"names":["buildSystemPrompt","input","context","isRelease","readOnly","readOnlySource","requireApproval","approvalsBypassed","appName","platform","sections","push","length","join","notes","map","n","types","Object","keys","entries","name","shape","digest","JSON","stringify","extra","buildLiveBlock","live","changes","has","body","CHANGE_CAP","changeBlock","slice","c","label","undone"],"sourceRoot":"../../../src","sources":["engine/systemPrompt.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["buildSystemPrompt","input","context","isRelease","readOnly","readOnlySource","requireApproval","approvalsBypassed","appName","platform","availableToolIds","sections","push","length","join","notes","map","n","types","Object","keys","entries","name","shape","digest","JSON","stringify","procedures","listableProcedures","p","id","summary","extra","have","Set","filter","requires","every","t","has","buildLiveBlock","live","changes","body","CHANGE_CAP","changeBlock","slice","c","label","undone"],"sourceRoot":"../../../src","sources":["engine/systemPrompt.ts"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA6CO,SAASA,iBAAiBA,CAACC,KAAwB,EAAU;EAClE,MAAM;IAAEC,OAAO;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,cAAc;IAAEC,eAAe;IAAEC,iBAAiB;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAiB,CAAC,GAAGT,KAAK;EAEvI,MAAMU,QAAkB,GAAG,EAAE;EAE7BA,QAAQ,CAACC,IAAI,CACX,kDAAkDJ,OAAO,GAAG,OAAOA,OAAO,MAAM,GAAG,oBAAoB,qBAAqBC,QAAQ,GAAG,OAAOA,QAAQ,EAAE,GAAG,EAAE;AACjK;AACA;AACA;AACA,mPACE,CAAC;EAEDE,QAAQ,CAACC,IAAI,CACX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2MACE,CAAC;EAED,IAAIT,SAAS,EAAE;IACbQ,QAAQ,CAACC,IAAI,CACX;AACN,0UACI,CAAC;EACH;EAEA,IAAIR,QAAQ,EAAE;IACZO,QAAQ,CAACC,IAAI,CACXP,cAAc,KAAK,QAAQ,GACvB;AACV,kVAAkV,GACxU;AACV,8NACI,CAAC;EACH,CAAC,MAAM,IAAIC,eAAe,CAACO,MAAM,EAAE;IACjCF,QAAQ,CAACC,IAAI,CACX;AACN,qBAAqBN,eAAe,CAACQ,IAAI,CAAC,OAAO,CAAC;AAClD;AACA,yRACI,CAAC;EACH,CAAC,MAAM,IAAIP,iBAAiB,EAAE;IAC5BI,QAAQ,CAACC,IAAI,CACX;AACN,+mBACI,CAAC;EACH;EAEAD,QAAQ,CAACC,IAAI,CACX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,glCACE,CAAC;EAEDD,QAAQ,CAACC,IAAI,CACX;AACJ,yVACE,CAAC;EAED,IAAIV,OAAO,EAAEa,KAAK,EAAEF,MAAM,EAAE;IAC1BF,QAAQ,CAACC,IAAI,CACX,2DAA2DV,OAAO,CAACa,KAAK,CAACC,GAAG,CAAEC,CAAC,IAAK,KAAKA,CAAC,EAAE,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC,EAC1G,CAAC;EACH;EAEA,IAAIZ,OAAO,EAAEgB,KAAK,IAAIC,MAAM,CAACC,IAAI,CAAClB,OAAO,CAACgB,KAAK,CAAC,CAACL,MAAM,EAAE;IACvDF,QAAQ,CAACC,IAAI,CACX;AACN;AACA,EAAEO,MAAM,CAACE,OAAO,CAACnB,OAAO,CAACgB,KAAK,CAAC,CAC5BF,GAAG,CAAC,CAAC,CAACM,IAAI,EAAEC,KAAK,CAAC,KAAK,KAAKD,IAAI,MAAMC,KAAK,EAAE,CAAC,CAC9CT,IAAI,CAAC,IAAI,CAAC;AACb;AACA,6UACI,CAAC;EACH;EAEA,IAAIZ,OAAO,EAAEsB,MAAM,IAAIL,MAAM,CAACC,IAAI,CAAClB,OAAO,CAACsB,MAAM,CAAC,CAACX,MAAM,EAAE;IACzDF,QAAQ,CAACC,IAAI,CACX,yPAAyPa,IAAI,CAACC,SAAS,CAACxB,OAAO,CAACsB,MAAM,CAAC,EACzR,CAAC;EACH;EAEA,MAAMG,UAAU,GAAGC,kBAAkB,CAAC1B,OAAO,EAAEyB,UAAU,EAAEjB,gBAAgB,CAAC;EAC5E,IAAIiB,UAAU,CAACd,MAAM,EAAE;IACrBF,QAAQ,CAACC,IAAI,CACX;AACN;AACA,EAAEe,UAAU,CAACX,GAAG,CAAEa,CAAC,IAAK,KAAKA,CAAC,CAACC,EAAE,MAAMD,CAAC,CAACE,OAAO,EAAE,CAAC,CAACjB,IAAI,CAAC,IAAI,CAAC,EAC1D,CAAC;EACH;EAEA,IAAIZ,OAAO,EAAE8B,KAAK,EAAErB,QAAQ,CAACC,IAAI,CAACV,OAAO,CAAC8B,KAAK,CAAC;EAEhD,OAAOrB,QAAQ,CAACG,IAAI,CAAC,aAAa,CAAC;AACrC;;AAEA;AACO,SAASc,kBAAkBA,CAACD,UAAmC,EAAEjB,gBAAsC,EAAe;EAC3H,IAAI,CAACiB,UAAU,EAAEd,MAAM,EAAE,OAAO,EAAE;EAClC,IAAI,CAACH,gBAAgB,EAAE,OAAOiB,UAAU;EACxC,MAAMM,IAAI,GAAG,IAAIC,GAAG,CAACxB,gBAAgB,CAAC;EACtC,OAAOiB,UAAU,CAACQ,MAAM,CAAEN,CAAC,IAAK,CAACA,CAAC,CAACO,QAAQ,IAAI,EAAE,EAAEC,KAAK,CAAEC,CAAC,IAAKL,IAAI,CAACM,GAAG,CAACD,CAAC,CAAC,CAAC,CAAC;AAC/E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,cAAcA,CAC5BC,IAAyC;AACzC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,OAA8C,EACtC;EACR,MAAMH,GAAG,GAAGE,IAAI,IAAItB,MAAM,CAACC,IAAI,CAACqB,IAAI,CAAC,CAAC5B,MAAM,GAAG,CAAC;EAChD,MAAM8B,IAAI,GAAGJ,GAAG,GACZd,IAAI,CAACC,SAAS,CAACe,IAAI,CAAC,GACpB,uJAAuJ;EAC3J,MAAMG,UAAU,GAAG,EAAE;EACrB,MAAMC,WAAW,GAAGH,OAAO,EAAE7B,MAAM,GAC/B,yLAAyL6B,OAAO,CAC7LI,KAAK,CAAC,CAACF,UAAU,CAAC,CAClB5B,GAAG,CAAE+B,CAAC,IAAK,KAAKA,CAAC,CAACC,KAAK,GAAGD,CAAC,CAACE,MAAM,GAAG,WAAW,GAAG,EAAE,EAAE,CAAC,CACxDnC,IAAI,CAAC,IAAI,CAAC,GAAG4B,OAAO,CAAC7B,MAAM,GAAG+B,UAAU,GAAG,YAAYF,OAAO,CAAC7B,MAAM,GAAG+B,UAAU,UAAU,GAAG,EAAE,EAAE,GACtG,EAAE;EAEN,OAAO;AACT;AACA,EAAED,IAAI,GAAGE,WAAW,EAAE;AACtB","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TokenCalibration = exports.DEFAULT_CHARS_PER_TOKEN = void 0;
7
+ exports.promptTokensOf = promptTokensOf;
8
+ /**
9
+ * How many characters make a token — measured, not assumed.
10
+ *
11
+ * Every budget in this engine is kept in characters because that is what a
12
+ * string has, but every LIMIT that matters is in tokens: the provider's
13
+ * context window, the reply room, the cost. The conversion was a constant
14
+ * (4) everywhere. English prose does run near 4; the tool results this agent
15
+ * actually sends are JSON, which tokenizes nearer 3 — so a request the budget
16
+ * called 100k tokens could be 130k, on a gateway whose window is 128k. The
17
+ * proactive budget was optimistic in exactly the sessions it exists for.
18
+ *
19
+ * The provider tells us the truth after every request: its usage report
20
+ * carries the prompt's token count, and the engine knows how many characters
21
+ * it sent. One division gives the ratio for THIS conversation on THIS
22
+ * tokenizer; an exponential average smooths a single odd request (a round
23
+ * that was all prose, or all ids). Strands' design 0008 does the same in
24
+ * reverse — a known token baseline plus an estimate of the delta — and its
25
+ * decision record says why: public limits should be in LLM-native units.
26
+ *
27
+ * Clamped, because a wrong sample must not be able to blow the budget wide
28
+ * open (a gateway that reports nonsense usage) or shrink it to nothing.
29
+ */
30
+
31
+ const DEFAULT_CHARS_PER_TOKEN = exports.DEFAULT_CHARS_PER_TOKEN = 4;
32
+ const MIN_CHARS_PER_TOKEN = 2.5;
33
+ const MAX_CHARS_PER_TOKEN = 5;
34
+ /** Weight of the newest sample once there is history. The first sample replaces the default outright. */
35
+ const EMA_ALPHA = 0.3;
36
+ /** Below this many prompt tokens a sample says more about rounding than about the tokenizer. */
37
+ const MIN_SAMPLE_TOKENS = 500;
38
+ class TokenCalibration {
39
+ ratio = DEFAULT_CHARS_PER_TOKEN;
40
+ samples = 0;
41
+
42
+ /** Characters per token, as currently believed. */
43
+ get charsPerToken() {
44
+ return this.ratio;
45
+ }
46
+ get sampleCount() {
47
+ return this.samples;
48
+ }
49
+
50
+ /** Fold in one request: what was sent, and what the provider counted. */
51
+ observe(requestChars, promptTokens) {
52
+ if (!(requestChars > 0) || !(promptTokens >= MIN_SAMPLE_TOKENS)) return;
53
+ const sample = Math.min(MAX_CHARS_PER_TOKEN, Math.max(MIN_CHARS_PER_TOKEN, requestChars / promptTokens));
54
+ this.ratio = this.samples === 0 ? sample : this.ratio + EMA_ALPHA * (sample - this.ratio);
55
+ this.samples += 1;
56
+ }
57
+
58
+ /** Characters a token budget allows, at the believed ratio. */
59
+ chars(tokens) {
60
+ return Math.floor(tokens * this.ratio);
61
+ }
62
+ reset() {
63
+ this.ratio = DEFAULT_CHARS_PER_TOKEN;
64
+ this.samples = 0;
65
+ }
66
+ }
67
+
68
+ /**
69
+ * The whole prompt's token count from a usage report.
70
+ *
71
+ * Anthropic reports the cached and freshly-written prefix SEPARATELY from
72
+ * `input`; OpenAI-shaped providers fold `cached_tokens` INTO `prompt_tokens`.
73
+ * See TokenUsage. Adding on the wrong protocol double-counts the cache and
74
+ * halves the believed ratio.
75
+ */
76
+ exports.TokenCalibration = TokenCalibration;
77
+ function promptTokensOf(usage, protocol) {
78
+ if (protocol === "anthropic") return usage.input + (usage.cacheRead ?? 0) + (usage.cacheWrite ?? 0);
79
+ return usage.input;
80
+ }
81
+ //# sourceMappingURL=tokenCalibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_CHARS_PER_TOKEN","exports","MIN_CHARS_PER_TOKEN","MAX_CHARS_PER_TOKEN","EMA_ALPHA","MIN_SAMPLE_TOKENS","TokenCalibration","ratio","samples","charsPerToken","sampleCount","observe","requestChars","promptTokens","sample","Math","min","max","chars","tokens","floor","reset","promptTokensOf","usage","protocol","input","cacheRead","cacheWrite"],"sourceRoot":"../../../src","sources":["engine/tokenCalibration.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,CAAC;AACxC,MAAME,mBAAmB,GAAG,GAAG;AAC/B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B;AACA,MAAMC,SAAS,GAAG,GAAG;AACrB;AACA,MAAMC,iBAAiB,GAAG,GAAG;AAEtB,MAAMC,gBAAgB,CAAC;EACpBC,KAAK,GAAGP,uBAAuB;EAC/BQ,OAAO,GAAG,CAAC;;EAEnB;EACA,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACF,KAAK;EACnB;EAEA,IAAIG,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACF,OAAO;EACrB;;EAEA;EACAG,OAAOA,CAACC,YAAoB,EAAEC,YAAoB,EAAQ;IACxD,IAAI,EAAED,YAAY,GAAG,CAAC,CAAC,IAAI,EAAEC,YAAY,IAAIR,iBAAiB,CAAC,EAAE;IACjE,MAAMS,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACb,mBAAmB,EAAEY,IAAI,CAACE,GAAG,CAACf,mBAAmB,EAAEU,YAAY,GAAGC,YAAY,CAAC,CAAC;IACxG,IAAI,CAACN,KAAK,GAAG,IAAI,CAACC,OAAO,KAAK,CAAC,GAAGM,MAAM,GAAG,IAAI,CAACP,KAAK,GAAGH,SAAS,IAAIU,MAAM,GAAG,IAAI,CAACP,KAAK,CAAC;IACzF,IAAI,CAACC,OAAO,IAAI,CAAC;EACnB;;EAEA;EACAU,KAAKA,CAACC,MAAc,EAAU;IAC5B,OAAOJ,IAAI,CAACK,KAAK,CAACD,MAAM,GAAG,IAAI,CAACZ,KAAK,CAAC;EACxC;EAEAc,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACd,KAAK,GAAGP,uBAAuB;IACpC,IAAI,CAACQ,OAAO,GAAG,CAAC;EAClB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAP,OAAA,CAAAK,gBAAA,GAAAA,gBAAA;AAQO,SAASgB,cAAcA,CAACC,KAAiB,EAAEC,QAAgC,EAAU;EAC1F,IAAIA,QAAQ,KAAK,WAAW,EAAE,OAAOD,KAAK,CAACE,KAAK,IAAIF,KAAK,CAACG,SAAS,IAAI,CAAC,CAAC,IAAIH,KAAK,CAACI,UAAU,IAAI,CAAC,CAAC;EACnG,OAAOJ,KAAK,CAACE,KAAK;AACpB","ignoreList":[]}