kiokuko-dsh 0.2.9 → 0.2.11

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 (101) hide show
  1. package/dist/dsh/agenticreplay-libraries.d.ts +12 -0
  2. package/dist/dsh/agenticreplay-libraries.d.ts.map +1 -1
  3. package/dist/dsh/agenticreplay-libraries.js.map +1 -1
  4. package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -1
  5. package/dist/dsh/agenticreplay-recorder.js +5 -2
  6. package/dist/dsh/agenticreplay-recorder.js.map +1 -1
  7. package/dist/dsh/agenticreplay-types.d.ts +1 -1
  8. package/dist/dsh/agenticreplay-types.d.ts.map +1 -1
  9. package/dist/dsh/agenticreplay-writer.d.ts +4 -0
  10. package/dist/dsh/agenticreplay-writer.d.ts.map +1 -0
  11. package/dist/dsh/agenticreplay-writer.js +50 -0
  12. package/dist/dsh/agenticreplay-writer.js.map +1 -0
  13. package/dist/dsh/coding-workflow/host.d.ts +2 -0
  14. package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
  15. package/dist/dsh/coding-workflow/host.js +2 -0
  16. package/dist/dsh/coding-workflow/host.js.map +1 -1
  17. package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
  18. package/dist/dsh/coding-workflow/service.js +11 -4
  19. package/dist/dsh/coding-workflow/service.js.map +1 -1
  20. package/dist/dsh/core/host.d.ts.map +1 -1
  21. package/dist/dsh/core/host.js +4 -0
  22. package/dist/dsh/core/host.js.map +1 -1
  23. package/dist/dsh/decisions/akinator-classification.d.ts +1 -1
  24. package/dist/dsh/decisions/akinator-classification.d.ts.map +1 -1
  25. package/dist/dsh/decisions/akinator-classification.js +4 -0
  26. package/dist/dsh/decisions/akinator-classification.js.map +1 -1
  27. package/dist/dsh/host-adapter.d.ts.map +1 -1
  28. package/dist/dsh/host-adapter.js +4 -0
  29. package/dist/dsh/host-adapter.js.map +1 -1
  30. package/dist/dsh/lifecycle-memory.d.ts +1 -0
  31. package/dist/dsh/lifecycle-memory.d.ts.map +1 -1
  32. package/dist/dsh/lifecycle-memory.js +16 -5
  33. package/dist/dsh/lifecycle-memory.js.map +1 -1
  34. package/dist/dsh/lisp/http.d.ts +1 -1
  35. package/dist/dsh/lisp/http.d.ts.map +1 -1
  36. package/dist/dsh/lisp/http.js +5 -3
  37. package/dist/dsh/lisp/http.js.map +1 -1
  38. package/dist/dsh/lisp/manager.d.ts +5 -1
  39. package/dist/dsh/lisp/manager.d.ts.map +1 -1
  40. package/dist/dsh/lisp/manager.js +30 -4
  41. package/dist/dsh/lisp/manager.js.map +1 -1
  42. package/dist/dsh/lisp/surface.d.ts.map +1 -1
  43. package/dist/dsh/lisp/surface.js +82 -11
  44. package/dist/dsh/lisp/surface.js.map +1 -1
  45. package/dist/dsh/lisp/task-authority.d.ts +3 -1
  46. package/dist/dsh/lisp/task-authority.d.ts.map +1 -1
  47. package/dist/dsh/lisp/task-authority.js +5 -3
  48. package/dist/dsh/lisp/task-authority.js.map +1 -1
  49. package/dist/dsh/lisp-tool-identity.d.ts +33 -0
  50. package/dist/dsh/lisp-tool-identity.d.ts.map +1 -0
  51. package/dist/dsh/lisp-tool-identity.js +37 -0
  52. package/dist/dsh/lisp-tool-identity.js.map +1 -0
  53. package/dist/dsh/memory-failure.d.ts +17 -0
  54. package/dist/dsh/memory-failure.d.ts.map +1 -0
  55. package/dist/dsh/memory-failure.js +38 -0
  56. package/dist/dsh/memory-failure.js.map +1 -0
  57. package/dist/dsh/models/opencode-session.d.ts +6 -0
  58. package/dist/dsh/models/opencode-session.d.ts.map +1 -0
  59. package/dist/dsh/models/opencode-session.js +21 -0
  60. package/dist/dsh/models/opencode-session.js.map +1 -0
  61. package/dist/dsh/models/profiles.d.ts.map +1 -1
  62. package/dist/dsh/models/profiles.js +2 -0
  63. package/dist/dsh/models/profiles.js.map +1 -1
  64. package/dist/dsh/on-demand-intake.d.ts +6 -2
  65. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  66. package/dist/dsh/on-demand-intake.js +70 -2
  67. package/dist/dsh/on-demand-intake.js.map +1 -1
  68. package/dist/dsh/owned-execution.d.ts +2 -0
  69. package/dist/dsh/owned-execution.d.ts.map +1 -1
  70. package/dist/dsh/owned-execution.js +4 -3
  71. package/dist/dsh/owned-execution.js.map +1 -1
  72. package/dist/dsh/runtime-evidence.d.ts +10 -0
  73. package/dist/dsh/runtime-evidence.d.ts.map +1 -0
  74. package/dist/dsh/runtime-evidence.js +38 -0
  75. package/dist/dsh/runtime-evidence.js.map +1 -0
  76. package/dist/dsh/session-memory-finalizer.d.ts.map +1 -1
  77. package/dist/dsh/session-memory-finalizer.js +7 -13
  78. package/dist/dsh/session-memory-finalizer.js.map +1 -1
  79. package/dist/dsh/skill-prompts.json +1 -1
  80. package/dist/dsh/task-state-surface.js +1 -1
  81. package/dist/dsh/task-state-surface.js.map +1 -1
  82. package/dist/locale/en.json +1 -1
  83. package/dist/locale/ja.json +1 -1
  84. package/dist/locale/ko.json +1 -1
  85. package/dist/locale/zh-CN.json +1 -1
  86. package/dist/memory/replay-review.d.ts +3 -0
  87. package/dist/memory/replay-review.d.ts.map +1 -1
  88. package/dist/memory/replay-review.js +15 -2
  89. package/dist/memory/replay-review.js.map +1 -1
  90. package/docs/agenticreplay-recording.md +6 -4
  91. package/docs/dsh-plugin.md +4 -4
  92. package/docs/getting-started.ja.md +1 -1
  93. package/docs/lisp.md +9 -2
  94. package/docs/model-selection.ja.md +2 -0
  95. package/docs/model-selection.md +2 -0
  96. package/docs/replay-memory-review.md +2 -0
  97. package/docs/token-efficiency.md +10 -2
  98. package/docs/verification.md +8 -0
  99. package/lisp/supervisor.mjs +8 -3
  100. package/package.json +16 -16
  101. package/skills/kiokuko-lisp/SKILL.md +1 -1
@@ -1,4 +1,5 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { rememberLispImplementation, isLispConversation, rootLispAdmission, withLispNativeCommand } from '../lisp-tool-identity.js';
2
3
  import { assertProtocolRoute } from '../guardrail/service.js';
3
4
  import { isOwnedExecutionCall } from '../owned-execution.js';
4
5
  import { CodeIntelligenceAdapterV1 } from './code-intelligence.js';
@@ -423,7 +424,57 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
423
424
  execute: async (args, execution) => {
424
425
  try {
425
426
  const binding = owner(execution.agent), parsed = ToolInput.parse(args);
426
- if (development && ctx.get('planMode', false)?.get(binding.agent)?.active && !['lisp_status', 'lisp_hot_status', 'lisp_inspect', 'lisp_cancel'].includes(name))
427
+ const admission = development ? rootLispAdmission(execution) : undefined;
428
+ const agentSession = binding.agent.session, agentContext = binding.agent.ctx;
429
+ const bash = admission ? tools.get('bash', binding.agent) : undefined;
430
+ const pinned = bash ? { definition: bash, execute: bash.execute } : undefined;
431
+ const nativeCommands = admission ? {
432
+ assertCurrent() {
433
+ const current = owner(execution.agent);
434
+ if (!admission.current() || binding.signal.aborted || execution.signal?.aborted || current.signal !== binding.signal
435
+ || current.owner.root !== binding.owner.root || binding.agent.session !== agentSession || binding.agent.ctx !== agentContext)
436
+ fail('STALE_NATIVE_COMMAND', 'Native Lisp caller, turn or arguments changed.');
437
+ },
438
+ async run(input, signal) {
439
+ this.assertCurrent();
440
+ if (!pinned)
441
+ fail('HOST_ADAPTER_UNAVAILABLE', 'The native Bash tool is unavailable.');
442
+ if (tools.get('bash', binding.agent) !== pinned.definition || tools.get('bash', binding.agent)?.execute !== pinned.execute)
443
+ fail('STALE_NATIVE_COMMAND', 'Native Bash implementation changed.');
444
+ const quote = (value) => "'" + value.replaceAll("'", "'\\''") + "'";
445
+ const child = { name: 'bash', callId: `lisp-native-${randomUUID()}`, agent: binding.agent, parent: Symbol('lisp-native-command'),
446
+ arguments: { command: [input.program, ...input.argv].map(quote).join(' '), description: 'Run the requested Lisp command through native Bash',
447
+ workdir: input.directory ?? binding.owner.root, timeoutMs: input.timeoutMs }, signal: AbortSignal.any([binding.signal, signal]) };
448
+ const commandAdmission = { current: () => {
449
+ try {
450
+ this.assertCurrent();
451
+ return true;
452
+ }
453
+ catch {
454
+ return false;
455
+ }
456
+ } };
457
+ const result = await withLispNativeCommand(child, pinned.execute, commandAdmission, () => tools.execute(child));
458
+ if (result.isError)
459
+ fail('NATIVE_COMMAND_DENIED', JSON.stringify(result.content));
460
+ const value = result.value;
461
+ if (value.kind === 'background' || value.kind === 'promoted') {
462
+ const jobs = ctx.get('jobs', false);
463
+ if (!jobs)
464
+ fail('STOP_UNCONFIRMED', `Native job ${value.jobId} requires cancellation.`);
465
+ jobs.kill(value.jobId, binding.agent.id, 'Lisp foreground deadline');
466
+ const terminal = await jobs.wait(value.jobId, 5000, binding.agent.id);
467
+ if (['running', 'stopping'].includes(terminal.status))
468
+ fail('STOP_UNCONFIRMED', `Native job ${value.jobId} has not stopped.`);
469
+ jobs.remove(value.jobId, binding.agent.id);
470
+ return { code: null, stdout: value.output ?? '', stderr: '', timedOut: true, receipt: { route: 'native', processStopped: true } };
471
+ }
472
+ this.assertCurrent();
473
+ return { code: value.exitCode, stdout: value.stdout?.text ?? '', stderr: value.stderr?.text ?? '',
474
+ timedOut: value.timedOut, sandbox: value.sandbox, receipt: { route: 'native', callId: child.callId, processStopped: true } };
475
+ },
476
+ } : undefined;
477
+ if (development && !admission && ctx.get('planMode', false)?.get(binding.agent)?.active && !['lisp_status', 'lisp_hot_status', 'lisp_inspect', 'lisp_cancel'].includes(name))
427
478
  fail('PLAN_ACTIVE', 'Plan 中の Lisp 実行・変更はできません。実装指示またはPlan承認後に実行してください。');
428
479
  if (name === 'lisp_cancel' && !await manager.isTaskMode(binding.owner)) {
429
480
  identifier.parse(parsed.operationId);
@@ -431,12 +482,13 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
431
482
  }
432
483
  if (name !== 'lisp_status' && name !== 'lisp_hot_status' && !isSavedLispResultRead({ name, arguments: parsed, parent: undefined }))
433
484
  parsed.operationId = await store.bind(binding.owner, identifier.parse(execution.callId), identifier.parse(parsed.operationId), { name, input: parsed });
434
- return await manager.execute(binding.owner, name, parsed, execution.signal ? AbortSignal.any([binding.signal, execution.signal]) : binding.signal);
485
+ return await manager.execute(binding.owner, name, parsed, execution.signal ? AbortSignal.any([binding.signal, execution.signal]) : binding.signal, nativeCommands);
435
486
  }
436
487
  catch (error) {
437
488
  return failure(error);
438
489
  }
439
490
  } };
491
+ rememberLispImplementation(definition.execute);
440
492
  fence.definitions.set(`${agent.id}:${name}`, definition);
441
493
  local.push(scopedTools.register(definition));
442
494
  }
@@ -449,10 +501,26 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
449
501
  }
450
502
  };
451
503
  const guide = skillPrompts ? await skillPrompts.require('kiokuko-lisp') : await readFile(fileURLToPath(new URL('../../../skills/kiokuko-lisp/SKILL.md', import.meta.url)), 'utf8');
504
+ const modeOnly = (binding, run) => {
505
+ const agentContext = binding.agent.ctx;
506
+ return manager.taskAuthority.run(binding.owner, run, {
507
+ assertCurrent() {
508
+ const current = owner(binding.agent);
509
+ if (binding.signal.aborted || current.signal.aborted || current.agent !== binding.agent || binding.agent.ctx !== agentContext
510
+ || current.owner.sessionId !== binding.owner.sessionId || current.owner.agentId !== binding.owner.agentId || current.owner.root !== binding.owner.root)
511
+ fail('SESSION_MISMATCH', 'Lisp mode owner changed.');
512
+ },
513
+ async run() { return fail('CAPABILITY_DENIED', 'Mode control cannot execute a command.'); },
514
+ });
515
+ };
516
+ const recover = async (binding, signal) => {
517
+ const restart = () => manager.recover(binding.owner, signal);
518
+ return await manager.canRecoverWorkerWithoutTask(binding.owner) ? modeOnly(binding, restart) : restart();
519
+ };
452
520
  fence.prepareAgent = async (candidate) => {
453
521
  const binding = owner(candidate);
454
522
  const workflow = await runtime.withDatabase(db => sessionCodingWorkflow(db, binding.owner.sessionId));
455
- if (workflow && (workflow.choice.state !== 'yes' || ['preparing', 'awaiting_lisp_choice', 'cancelled', 'superseded'].includes(workflow.state))) {
523
+ if (workflow && (!development || workflow.protocol || !isLispConversation(candidate)) && (workflow.choice.state !== 'yes' || ['preparing', 'awaiting_lisp_choice', 'cancelled', 'superseded'].includes(workflow.state))) {
456
524
  unregister(binding.agent);
457
525
  return true;
458
526
  }
@@ -464,7 +532,8 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
464
532
  register(binding.agent);
465
533
  return true;
466
534
  }
467
- const status = await manager.prepare(binding.owner);
535
+ const prepare = () => manager.prepare(binding.owner);
536
+ const status = await (development && isLispConversation(candidate) ? modeOnly(binding, prepare) : prepare());
468
537
  binding.signal.throwIfAborted();
469
538
  register(binding.agent);
470
539
  const prompt = binding.agent.ctx.get('systemPrompt', false);
@@ -500,13 +569,15 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
500
569
  unregister(agent);
501
570
  }
502
571
  }, { global: true }));
503
- const enable = async (binding) => {
572
+ const enable = async (binding, standalone = false) => {
504
573
  const wasEnabled = manager.enabled.has(binding.owner.sessionId);
505
574
  hostFence?.protect(binding.owner.sessionId);
506
575
  try {
507
576
  const result = await manager.isTaskMode(binding.owner)
508
577
  ? await manager.status(binding.owner)
509
- : await manager.enable(binding.owner, binding.agent.status !== undefined && binding.agent.status !== 'idle', binding.signal);
578
+ : await (standalone && development
579
+ ? modeOnly(binding, () => manager.enable(binding.owner, binding.agent.status !== undefined && binding.agent.status !== 'idle', binding.signal))
580
+ : manager.enable(binding.owner, binding.agent.status !== undefined && binding.agent.status !== 'idle', binding.signal));
510
581
  binding.signal.throwIfAborted();
511
582
  register(binding.agent);
512
583
  return result;
@@ -583,7 +654,7 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
583
654
  async project(candidate, assembly) {
584
655
  const binding = owner(candidate);
585
656
  const workflow = await runtime.withDatabase(db => sessionCodingWorkflow(db, binding.owner.sessionId));
586
- if (workflow && (workflow.choice.state !== 'yes' || ['preparing', 'awaiting_lisp_choice', 'cancelled', 'superseded', 'completed'].includes(workflow.state))) {
657
+ if (workflow && (!development || workflow.protocol || !isLispConversation(candidate)) && (workflow.choice.state !== 'yes' || ['preparing', 'awaiting_lisp_choice', 'cancelled', 'superseded', 'completed'].includes(workflow.state))) {
587
658
  unregister(binding.agent);
588
659
  const surface = assembly;
589
660
  return { ...assembly, tools: surface.tools?.filter(tool => !LISP_TOOLS.includes(tool.name)) ?? [] };
@@ -613,7 +684,7 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
613
684
  if (recover && manager.enabled.has(sessionId))
614
685
  register(binding.agent);
615
686
  return binding.owner;
616
- }));
687
+ }, (sessionId, signal) => recover(owner(agents.get(sessionId)), signal)));
617
688
  disposers.push(commands.register({ name: 'kioku-lisp', description: 'Common Lisp の開始・状態・停止・復旧', input: { hint: 'approval ask|auto|status | enable | enable-task | status [--json] | cancel | recover | abandon ID | restore ID | disable' },
618
689
  handler: async (invocation) => {
619
690
  try {
@@ -632,12 +703,12 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
632
703
  if (['enable', 'enable-task', 'disable'].includes(action)) {
633
704
  await runtime.withDatabase(db => {
634
705
  const workflow = sessionCodingWorkflow(db, binding.owner.sessionId);
635
- if (workflow)
706
+ if (workflow && (action === 'enable-task' || workflow.definition))
636
707
  overrideCodingChoice(db, { runId: workflow.runId, sessionId: binding.owner.sessionId, repositoryRoot: binding.owner.root }, action === 'disable' ? 'no' : 'yes', `human-command:${randomUUID()}:${action}`);
637
708
  });
638
709
  }
639
710
  if (action === 'enable')
640
- result = await enable(binding);
711
+ result = await enable(binding, true);
641
712
  else if (action === 'enable-task') {
642
713
  const wasEnabled = manager.enabled.has(binding.owner.sessionId);
643
714
  hostFence?.protect(binding.owner.sessionId);
@@ -661,7 +732,7 @@ export async function mountLispSurface(ctx, runtime, config, skillPrompts, decis
661
732
  else if (action === 'recover') {
662
733
  if (manager.enabled.has(binding.owner.sessionId))
663
734
  register(binding.agent);
664
- result = await manager.recover(binding.owner, invocation.signal);
735
+ result = await recover(binding, invocation.signal);
665
736
  }
666
737
  else if (action === 'abandon')
667
738
  result = await manager.abandon(binding.owner, argument ?? '');
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../src/dsh/lisp/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxH,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAA4B,MAAM,sBAAsB,CAAA;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAwD,MAAM,uBAAuB,CAAA;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAyD,MAAM,gBAAgB,CAAA;AAQ3I,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AACzD,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAU,CAAA;AAC/G,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;AAC3F,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAU,CAAA;AACtF,kGAAkG;AAClG,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,CAAC,GAAG,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,CAAU,CAAA;AAE7K,oFAAoF;AACpF,SAAS,sBAAsB,CAAC,KAAY,EAAE,WAAkB,EAAE,KAAY,EAAE,KAAe;IAC7F,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnD,IAAI,SAAmB,CAAA;IACvB,IAAI,CAAC;QAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAAC,CAAC;YACzD,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IACrB,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,MAAM,MAAM,GAAG,KAAgM,CAAA;IAC/M,MAAM,GAAG,GAAG,KAAoK,CAAA;IAChL,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,CAAA;IAC1C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAA;IACxE,OAAO,SAAS,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;AAChX,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACxK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAC5H,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrL,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACtL,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5I,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC1H,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACrH,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC9H,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;IAClK,iBAAiB,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;AAEpH,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAAmB,EAAE,MAAyB,EAAE,YAA8B,EAAE,SAA2B,EAAE,kBAAkD;IAClN,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAgD,CAAA;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAsB,CAAA;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAuD,CAAA;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAyD,CAAA;IACpG,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAiF,CAAA;IAC3H,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,yBAAyB,EAAE,uCAAuC,CAAC,CAAA;IACzH,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAiC,CAAA;IACjF,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACzF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO;YAC5M,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;YAC/E,IAAI,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAC,MAAM,CAAC,aAAa,KAAG,aAAa,CAAA;IAItD,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,EAAuE,CAAA;IACxH,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC1D,MAAM,cAAc,GAAsB,EAAE,aAAa,EAAC,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;YAC7G,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,OAAO,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAM,CAAC,EAAE,CAAE,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAA;QACtI,CAAC,EAAE,CAAA;IACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACjE,IAAI,aAAuD,CAAA;IAC3D,MAAM,SAAS,GAAG,KAAK,EAAC,KAAe,EAAC,IAAW,EAAC,IAA2B,EAAC,MAAmB,EAAC,MAAc,EAAE,SAAoB,EAAe,EAAE;QACvJ,MAAM,KAAK,GAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,IAAG,CAAC,KAAK,IAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAG,KAAK,CAAC,SAAS,IAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAG,KAAK,CAAC,OAAO,IAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAG,KAAK,CAAC,IAAI;YAAC,IAAI,CAAC,kBAAkB,EAAC,4BAA4B,CAAC,CAAA;QACvM,MAAM,OAAO,GAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC,MAAM,EAAC,MAAM,IAAE,cAAc,MAAM,CAAC,UAAU,EAAE,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,CAAC,YAAY,CAAC,EAAC,MAAM,EAAC,MAAM,CAAA,CAAC,CAAA,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAAA,CAAC,CAAA,OAAO,CAAC,MAAM;YACjN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAA;QACzD,MAAM,MAAM,GAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAQ,CAAA;QACzF,IAAG,MAAM,CAAC,OAAO;YAAC,IAAI,CAAC,wBAAwB,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/E,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC,CAAA;IACD,MAAM,eAAe,GAAG,KAAK,EAAE,KAAgB,EAAiB,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;IACzH,MAAM,cAAc,GAAG,wBAAwB,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;IACtG,MAAM,kBAAkB,GAAG,4BAA4B,CAAC,OAAO,EAAE;QAC/D,oBAAoB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC;KACjG,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM;QAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAA;YAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAA;YAC9B,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;gBACtC,IAAI,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;oBACrS,IAAI,CAAC,kBAAkB,EAAE,0CAA0C,CAAC,CAAA;YACxE,CAAC,CAAA;YACD,aAAa,EAAE,CAAA;YACf,OAAO,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAA;QACrM,CAAC;QACD,WAAW,EAAC,KAAK,CAAA,EAAE,CAAA,CAAC,aAAa,EAAC,YAAY,EAAC,aAAa,EAAC,YAAY,EAAC,cAAc,EAAC,YAAY,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA,EAAE;YAClI,MAAM,IAAI,GAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;YACpD,OAAO,IAAI,CAAA,CAAC,CAAA,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,CAAC,UAAU,EAAC,cAAc,EAAC,CAAC,EAAC,CAAC,CAAA,CAAC,CAAA,EAAE,CAAA;QACrE,CAAC,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,YAAY,EAAE,GAAG,YAAY,MAAM,EAAE,GAAG,YAAY,MAAM,CAAC;QAC3H,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI;gBAC5J,IAAI,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;YAC/D,MAAM,CAAC,cAAc,EAAE,CAAA;YACvB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI;gBACjJ,IAAI,CAAC,kBAAkB,EAAE,gEAAgE,CAAC,CAAA;YAC5F,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;YACpD,oEAAoE;YACpE,sEAAsE;YACtE,IAAG,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAC,CAAC;gBAAA,MAAM,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAC,OAAO,CAAC,CAAC;gBAAA,OAAO,mBAAmB,CAAC,cAAc,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,WAAW,CAAC,CAAA;YAAA,CAAC;YAC1M,MAAM,SAAS,GAAC,mBAAmB,CAAC,cAAc,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,EAAE;gBAC3E,MAAM,KAAK,GAAC,CAAC,KAAY,EAAC,EAAE,CAAA,GAAG,GAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC,GAAC,GAAG,CAAA;gBACjE,MAAM,KAAK,GAAC,MAAM,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,EAAC,OAAO,EAAC,CAAC,IAAI,EAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC,GAAG,EAAC,SAAS,EAAC,OAAO,CAAC,SAAS,EAAC,EAAC,OAAO,CAAC,MAAM,EAAC,SAAS,EAC/J,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC7F,OAAO,EAAC,IAAI,EAAC,KAAK,CAAC,QAAQ,IAAE,CAAC,EAAC,MAAM,EAAC,KAAK,CAAC,MAAM,IAAE,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,OAAO,EAAC,KAAK,CAAC,OAAO,EAAC,CAAA;YACzF,CAAC,EAAE,eAAe,CAAC,CAAA;YACnB,OAAO,SAAS,CAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,WAAW,CAAC,CAAA;QACpD,CAAC;QACD,YAAY,EAAE,kBAAkB,CAAC,SAAS;QAC1C,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAA;YAC9N,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;YAC/B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,CAAA;YACtD,IAAI,MAAM,KAAK,kBAAkB;gBAAE,OAAO,SAAS,CAAC,MAAM,EAAE,CAAA;YAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAwE,CAAA;YACrH,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAA;YAC5E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,kBAAkB,EAAE,+CAA+C,CAAC,CAAA;YAC1G,OAAO,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACnH,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAA;YACpN,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;YAC/B,OAAO,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACnG,CAAC;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;YAC/M,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAoC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7H,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,EAAC,SAAS,EAAE,EAAE;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;YAC/M,IAAI,WAAW;gBAAE,OAAO,SAAS,CAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,CAAC,CAAA;YAC1E,IAAK,oBAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC;oBAAE,IAAI,CAAC,eAAe,EAAE,4EAA4E,CAAC,CAAA;gBAC1I,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;oBAC9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;oBAC3D,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,cAAc,KAAK,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM;wBACnH,IAAI,CAAC,yBAAyB,EAAE,+DAA+D,CAAC,CAAA;oBAClG,qEAAqE;oBACrE,qEAAqE;oBACrE,IAAI,MAAM;wBAAE,mBAAmB,CAAC,EAAE,EAAE,SAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;gBAC7D,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;gBAC7D,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO;oBAC/G,IAAI,CAAC,yBAAyB,EAAE,4DAA4D,CAAC,CAAA;gBAC/F,MAAM,EAAE,GAAG,MAAM,IAAI,qBAAqB,UAAU,EAAE,EAAE,CAAA;gBACxD,OAAO,mBAAmB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAChE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAA;YAC9D,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC,MAAM,EAAC,aAAa,MAAM,CAAC,UAAU,EAAE,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,CAAC,gBAAgB,CAAC,EAAC,MAAM,EAAC,MAAM,IAAE,IAAI,eAAe,EAAE,CAAC,MAAM;gBAClL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAA;YACzD,OAAO,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACtE,CAAC;QACD,yEAAyE;QACzE,uEAAuE;KACxE,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,KAAY,EAAsB,EAAE;QAClF,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,OAAO,OAAO,CAAC,EAAE,CAAA;YACrD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACjG,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IACD,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAgC,CAAA;IACnF,IAAI,SAAqC,CAAA;IACzC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAC,MAAM,CAAC,aAAa,EAAE,CAAA;QAC1G,MAAM,UAAU,GAAG,KAAK,CAAA;QACxB,MAAM,KAAK,GAAG,CAAC,SAAc,EAAsB,EAAE;YACnD,MAAM,KAAK,GAAG,SAAS,CAAC,KAA0B,CAAA;YAClD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC7C,IAAI,CAAC,KAAK;gBAAE,OAAO,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS,CAAA;YAChH,IAAI,UAAU,CAAC,aAAa,KAAG,aAAa,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YACtG,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU;gBAAE,OAAO,UAAU,CAAC,aAAa,KAAG,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,uDAAuD,CAAA;YACzL,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO;gBAAE,OAAO,sBAAsB,CAAA;YAC/H,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK;gBAAE,OAAO,mDAAmD,CAAA;YAC1F,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAA;YAC5D,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9E,IAAI,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,KAAM,UAAmC,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAA;YAC9H,OAAO,iGAAiG,CAAA;QAC1G,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,EAAE,KAAY,EAAoB,EAAE;YACvD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC7C,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,UAAU,CAAA;YAC9B,IAAG,UAAU,CAAC,aAAa,KAAG,WAAW,EAAC,CAAC;gBAAA,IAAG,UAAU,CAAC,OAAO,IAAE,CAAC,UAAU,CAAC,UAAU,IAAE,KAAK,KAAG,KAAK,CAAC,OAAO,CAAC,EAAE;oBAAC,OAAO,KAAK,CAAC;gBAAA,OAAO,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,KAAG,IAAI,CAAA;YAAA,CAAC;YACrL,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAA;YAC3F,IAAI,CAAC;gBAAC,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,gEAAgE,CAAC,CAAC;YACzH,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,IAAI,UAAU;YAAE,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;aAClH,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAClB,IAAI,CAAC,EAAE,CAAC,gBAAyB,EAAE,CAAC,KAAK,EAAE,OAAyB,EAAE,IAA4B,EAAE,EAAE,CACpG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1G,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAA;IACvF,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC,GAAG,EAAwC,CAAC,EAAE,CAAC;QACnL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACrB,KAAK,CAAC,aAAa,GAAC,MAAM,CAAC,aAAa,CAAA;IACxC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;IACnF,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE;QACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAA;QAC7C,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;eAC5H,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM;eAC9E,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU;eACjE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;IAClH,CAAC,CAAA;IACD,MAAM,SAAS,GAAmB,EAAE,CAAA;IACpC,IAAI,kBAAkB;QAAE,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAA;IACzJ,IAAI,CAAC;QACL,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwD,CAAA;QACvF,MAAM,cAAc,GAAG,IAAI,OAAO,EAAW,CAAA;QAC7C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QACxH,MAAM,KAAK,GAAG,CAAC,SAAqC,EAA2D,EAAE;YAC/G,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAA;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YACtC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO;gBAAE,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;YACpI,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;YACnF,IAAI,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACnD,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;gBACtB,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,eAAe,EAAE,EAAE,CAAC;gBAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACpH,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QAC7L,CAAC,CAAA;QACD,aAAa,GAAC,CAAC,OAAiB,EAAC,EAAE,CAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QACrE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,wBAAwB,MAAM,CAAC,aAAa,oBAAoB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,CAAC,CAAC,WAAW;YACnJ,CAAC,CAAC,gJAAgJ,GAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAG,MAAM,CAAA,CAAC,CAAA,8GAA8G,CAAA,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,MAAM;YACxU,CAAC,CAAC,yMAAyM;YAC3M,CAAC,CAAC,2NAA2N,CAAC,CAAA;QAChO,+EAA+E;QAC/E,+EAA+E;QAC/E,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAwD,CAAA;QAC1G,IAAI,YAAY;YAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,KAAK;gBAClG,IAAI,EAAE,CAAC,EAAC,KAAK,EAAkB,EAAE,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9G,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAU,CAAA;QAC9C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAA;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAA;QAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA8C,CAAA;QAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAA;QACpD,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,EAAE;YAClC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK;gBAAE,OAAM;YAC/C,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC/F,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;gBAAE,OAAO,EAAE,CAAA;YAC9E,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,iBAAiB,CAAC;gBAAE,KAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;YAC1G,KAAK,MAAM,IAAI,IAAI,oBAAoB;gBAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QAC5F,CAAC,CAAA;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE;YAAE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,KAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;QAC7S,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;YAChC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAM;YACvC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,CAAA;YACrE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAChC,MAAM,KAAK,GAAmB,EAAE,CAAA;YAChC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAU,CAAA;YACnD,8EAA8E;YAC9E,IAAG,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAG,QAAQ;gBAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;YACtF,+FAA+F;YAC/F,4EAA4E;YAC5E,8EAA8E;YAC9E,MAAM,WAAW,GAAa,EAAE,CAAA;YAChC,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBACzC,IAAI,UAAU,EAAE,CAAC;oBAAC,KAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;oBAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;YACvG,CAAC;YACD,IAAG,CAAC,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;oBACxC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;oBACzC,IAAI,UAAU,EAAE,CAAC;wBAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAAC,CAAC;gBACxJ,CAAC;gBACD,IAAI,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;gBAC5E,0EAA0E;gBAC1E,2EAA2E;gBAC3E,kEAAkE;gBAClE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE;oBAClC,OAAO,EAAE,CAAA;oBACT,IAAI,CAAC;wBAAC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBAAC,CAAC;4BAC3B,CAAC;wBAAC,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAClE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;oBAAC,CAAC;gBAC3K,CAAC,CAAC,CAAA;gBACF,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,0EAA0E;YAC1E,qCAAqC;YACrC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,IAAI,WAAW,KAAK,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,gCAAgC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAA,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI;oBAC/J,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAU,EAAE,MAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;oBACjJ,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,SAAmE,EAAE,EAAE;wBACpG,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;4BACtE,IAAG,WAAW,IAAK,GAAG,CAAC,GAAG,CAAC,UAAU,EAAC,KAAK,CAAS,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,aAAa,EAAC,iBAAiB,EAAC,cAAc,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gCAAC,IAAI,CAAC,aAAa,EAAC,mDAAmD,CAAC,CAAA;4BAC1O,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gCAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gCAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;4BAAC,CAAC;4BACrJ,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,iBAAiB,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gCAChI,MAAM,CAAC,WAAW,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;4BACzJ,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;wBACpJ,CAAC;wBACD,OAAO,KAAK,EAAE,CAAC;4BAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;wBAAC,CAAC;oBACzC,CAAC,EAAE,CAAA;gBACL,KAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;gBACzD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;YAC9C,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAwD,CAAA;YAC1G,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBAChF,IAAI,CAAC,YAAY;oBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;YACrH,CAAC;QACH,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAClL,KAAK,CAAC,YAAY,GAAG,KAAK,EAAC,SAAS,EAAC,EAAE;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;YAChC,MAAM,QAAQ,GAAC,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAA,EAAE,CAAA,qBAAqB,CAAC,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;YAChG,IAAG,QAAQ,IAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAG,KAAK,IAAE,CAAC,WAAW,EAAC,sBAAsB,EAAC,WAAW,EAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC;gBAAA,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAA,OAAO,IAAI,CAAA;YAAA,CAAC;YAC5K,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YACzE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACzC,IAAI,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;gBAC/B,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACvB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAA8D,CAAA;YAChH,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;YAC/B,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAwD,CAAA;YAClH,IAAI,MAAM,EAAE,CAAC;gBAAC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAAC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,KAAK;oBAC1I,IAAI,EAAE,4BAA4B,MAAM,CAAC,UAAU,IAAI,MAAM,YAAY,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO;wBACxG,CAAC,CAAC,yRAAyR,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;YAAC,CAAC;YAC9W,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,CAAC,CAAA;QACD,SAAS,CAAC,IAAI,CAAE,GAAW,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAuC,EAAE,EAAE;YACzF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAM;YACtK,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACzE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACrB,SAAS,CAAC,IAAI,CAAE,GAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;YAC5E,6EAA6E;YAC7E,yEAAyE;YACzE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC/C,IAAI,OAAO,EAAE,OAAO,KAAK,OAAO;gBAAE,OAAM;YACxC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACtF,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;YACrF,IAAI,CAAC;gBAAC,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAAC,CAAC;oBACxC,CAAC;gBAAC,KAAK,MAAM,KAAK,IAAI,QAAQ;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;QAC7D,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,KAAK,EAAE,OAAiC,EAAoB,EAAE;YAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC/D,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpD,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;oBACrC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC9H,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;gBAC/B,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACvB,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC7G,mEAAmE;gBACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACnH,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAA;QACD,IAAI,MAAM,CAAC,OAAO;YAAE,SAAS,CAAC,IAAI,CAAE,GAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,EAAE,QAAQ,EAAC,WAAW;gBACxH,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC3E,OAAO,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;oBACzB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;oBACtF,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI;wBAAE,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAA;oBAClG,OAAO,KAAK,KAAK,SAAS,CAAA;gBAC5B,CAAC;gBACD,OAAO,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE,GAAE,MAAM,OAAO,GAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA,IAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;;oBAAK,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA,CAAA,CAAC;gBAC/P,MAAM,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;oBACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAuB,CAAA;oBACnE,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;wBAAE,IAAI,CAAC,mBAAmB,EAAE,mDAAmD,CAAC,CAAA;gBACzJ,CAAC;aACF,CAAC,CAAC,CAAC,CAAA;QACJ,MAAM,cAAc,GAAwB;YAC1C,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1F,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACtB,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,OAAM;gBACzD,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBACrD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;gBAChC,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI;oBAC9E,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAA;YACvD,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,SAAS;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;oBACjE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBACtD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;oBAChC,OAAO,IAAI,IAAI,CAAC,KAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;2BACvF,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;2BACtE,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO;2BACtG,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,KAAK,CAAA;gBAAC,CAAC;YAC1B,CAAC;YACD,gBAAgB,CAAC,SAAS;gBACxB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;oBACjE,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBAChD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;oBAChC,OAAO,IAAI,IAAI,CAAC,KAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;2BACvF,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;2BACtE,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO;2BACtG,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,KAAK,CAAA;gBAAC,CAAC;YAC1B,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ;gBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;gBAChC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;gBACrG,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC5J,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBACzB,MAAM,OAAO,GAAG,QAA4D,CAAA;oBAC5E,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;gBACjH,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,OAAO,QAAQ,CAAA;gBAClE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACvB,0EAA0E;gBAC1E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA,EAAE,CAAA,WAAW,IAAI,KAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7K,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oBAAE,IAAI,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAA;gBACvI,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;gBACrF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAChG,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;gBACrD,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;oBAClG,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;gBAC/D,OAAO,SAAS,CAAA;YAClB,CAAC;SACF,CAAA;QACD,SAAS,CAAC,IAAI,CAAE,GAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAA;QAC3E,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;YACpF,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACtE,OAAO,OAAO,CAAC,KAAK,CAAA;QACtB,CAAC,CAAC,CAAC,CAAA;QACH,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,0HAA0H,EAAE;YACzO,OAAO,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;oBACvC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBACxG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAAE,IAAI,CAAC,iBAAiB,EAAE,gHAAgH,CAAC,CAAA;oBACjQ,IAAI,MAAe,CAAA;oBACnB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC1B,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAAE,IAAI,CAAC,iBAAiB,EAAE,0CAA0C,CAAC,CAAA;wBAClI,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM;4BAAE,MAAM,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;wBACjF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,CAAA;oBACxF,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1D,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;4BAC9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;4BACnE,IAAI,QAAQ;gCAAE,oBAAoB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EACtI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,iBAAiB,UAAU,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;wBACnF,CAAC,CAAC,CAAA;oBACJ,CAAC;oBACD,IAAI,MAAM,KAAK,QAAQ;wBAAE,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;yBAClD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;wBAClC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;wBAC/D,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;wBAC3C,IAAI,CAAC;4BAAC,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;4BAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;wBAAC,CAAC;wBACjG,OAAO,KAAK,EAAE,CAAC;4BACb,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gCAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;4BAC7G,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;yBACI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAAC,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;oBAAC,CAAC;yBACnJ,IAAI,MAAM,KAAK,QAAQ;wBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;yBACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC9B,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;4BAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;wBACzE,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;oBAClE,CAAC;yBACI,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;yBACvF,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;yBAC1G,IAAI,MAAM,KAAK,aAAa;wBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;yBAC7H,IAAI,MAAM,KAAK,KAAK;wBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;yBACnK,IAAI,MAAM,KAAK,QAAQ;wBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;;wBACrE,IAAI,CAAC,iBAAiB,EAAE,8EAA8E,CAAC,CAAA;oBAC5G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,IAAI,MAAM,KAAK,aAAa,IAAK,MAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;gBACzK,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAA;gBAAC,CAAC;YAC/H,CAAC,EAAE,CAAC,CAAC,CAAA;QACP,OAAO,EAAE,OAAO,EAAE,IAAI,KAAK,KAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBAAE,OAAO,EAAE,CAAA,CAAC,CAAC;YAChH,KAAK,CAAC,OAAO,KAAK,KAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,KAAM,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBAAE,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,CAAA;IAChK,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;QACpB,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAAE,OAAO,EAAE,CAAA;QAC9D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACvB,OAAO,KAAK,CAAC,UAAU,CAAA;QACvB,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AACD,SAAS,WAAW,CAAC,IAAc;IACjC,OAAO,CAAC,EAAE,SAAS,EAAE,qTAAqT;QACxU,iBAAiB,EAAE,uPAAuP;QAC1Q,gBAAgB,EAAE,oOAAoO;QACtP,aAAa,EAAE,0LAA0L;QACzM,eAAe,EAAE,iNAAiN;QAClO,mBAAmB,EAAE,gKAAgK;QACrL,WAAW,EAAE,gLAAgL;QAC7L,SAAS,EAAE,sIAAsI;QACjJ,YAAY,EAAE,gIAAgI;QAC9I,UAAU,EAAE,gIAAgI;QAC5I,WAAW,EAAE,iMAAiM;QAC9M,UAAU,EAAE,6HAA6H;QACzI,YAAY,EAAE,uIAAuI;QACrJ,aAAa,EAAE,0MAA0M,EAAE,YAAY,EAAE,4FAA4F,EAAE,WAAW,EAAE,gFAAgF;QACpa,WAAW,EAAE,gEAAgE,EAAE,UAAU,EAAE,iFAAiF,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AACzL,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,UAAU,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe;QACzF,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAA;IACzG,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,UAAU,CAAC,IAA+B,CAAC,CAAA;QAC1D,wEAAwE;QACxE,wEAAwE;QACxE,0FAA0F;QAC1F,MAAM,eAAe,GAAG,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC5H,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAW,CAAA;IAC/F,CAAC;IACD,MAAM,UAAU,GAA4B,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAA;IAC3I,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,IAAI,KAAK,aAAa;QAAE,UAAU,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAA;IACtJ,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,iJAAiJ,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAAC,CAAC;IACna,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;IAAC,CAAC;IACzf,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAAC,CAAC;IAC/P,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAAC,CAAC;IAC3N,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAAC,CAAC;IAC/L,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IAAC,CAAC;IACnS,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAAC,CAAC;IAClM,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAAC,CAAC;IAC/L,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAAC,UAAU,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAAC,CAAC;IACjJ,IAAI,IAAI,KAAK,cAAc;QAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;YACrD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC9G,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,sFAAsF,EAAE;YAC1J,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;YACrF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,mFAAmF,EAAE;YAC9I,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE;YAC9G,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;SACtD,CAAC,CAAA;IACF,IAAI,IAAI,KAAK,aAAa;QAAE,UAAU,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAA;IAC3J,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../src/dsh/lisp/surface.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { LispNativeCommands } from '../lisp-tool-identity.js';
1
2
  import type { SqliteDatabase } from '../../db/adapter.js';
2
3
  import { type TaskLease } from '../task-state.js';
3
4
  import { type LispOwner } from './contracts.js';
@@ -5,6 +6,7 @@ import type { LispDatabase } from './store.js';
5
6
  export interface LispTaskExecution {
6
7
  readonly owner: LispOwner;
7
8
  readonly lease?: TaskLease;
9
+ readonly nativeCommands?: LispNativeCommands;
8
10
  readonly unavailable?: unknown;
9
11
  performedEffect: boolean;
10
12
  }
@@ -15,7 +17,7 @@ export declare class LispTaskAuthority {
15
17
  private readonly database;
16
18
  constructor(database: LispDatabase);
17
19
  current(): LispTaskExecution | undefined;
18
- run<T>(owner: LispOwner, action: () => Promise<T>): Promise<T>;
20
+ run<T>(owner: LispOwner, action: () => Promise<T>, nativeCommands?: LispNativeCommands): Promise<T>;
19
21
  bound<T>(binding: LispTaskExecution | undefined, action: () => Promise<T>): Promise<T>;
20
22
  private checkOwner;
21
23
  authorizeEffect(owner: LispOwner, route?: 'direct' | 'owned' | 'protected'): Promise<TaskLease>;
@@ -1 +1 @@
1
- {"version":3,"file":"task-authority.d.ts","sourceRoot":"","sources":["../../../src/dsh/lisp/task-authority.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAuC,KAAK,SAAS,EAAqB,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;kFACkF;AAClF,qBAAa,iBAAiB;;IAEhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAEnD,OAAO,IAAI,iBAAiB,GAAG,SAAS;IAElC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBpE,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtF,OAAO,CAAC,UAAU;IAKZ,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAO,GAAG,WAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAU/G;sFACkF;IAClF,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAMhE,gFAAgF;IAChF,0BAA0B,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAOtE,OAAO,CAAC,QAAQ;CAIjB"}
1
+ {"version":3,"file":"task-authority.d.ts","sourceRoot":"","sources":["../../../src/dsh/lisp/task-authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAuC,KAAK,SAAS,EAAqB,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAA;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;kFACkF;AAClF,qBAAa,iBAAiB;;IAEhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAEnD,OAAO,IAAI,iBAAiB,GAAG,SAAS;IAElC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBzG,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtF,OAAO,CAAC,UAAU;IAKZ,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAE,QAAQ,GAAG,OAAO,GAAG,WAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAU/G;sFACkF;IAClF,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAMhE,gFAAgF;IAChF,0BAA0B,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAOtE,OAAO,CAAC,QAAQ;CAIjB"}
@@ -12,19 +12,20 @@ export class LispTaskAuthority {
12
12
  this.database = database;
13
13
  }
14
14
  current() { return this.#scope.getStore(); }
15
- async run(owner, action) {
15
+ async run(owner, action, nativeCommands) {
16
16
  const current = this.current();
17
17
  if (current) {
18
18
  this.checkOwner(current, owner);
19
19
  return action();
20
20
  }
21
- const inherited = currentTaskAuthority();
21
+ nativeCommands?.assertCurrent();
22
+ const inherited = nativeCommands ? undefined : currentTaskAuthority();
22
23
  if (inherited && (inherited.sessionId !== owner.sessionId || inherited.repositoryRoot !== owner.root))
23
24
  fail('TASK_OWNER_MISMATCH', '呼び出し元のタスクと Lisp のセッションが一致しません。');
24
25
  let task, unavailable;
25
26
  // A compiled outer execution which began without a task cannot acquire one
26
27
  // merely because another turn admitted work while it was awaiting.
27
- if (!inherited && !hasNoTaskAuthority()) {
28
+ if (!nativeCommands && !inherited && !hasNoTaskAuthority()) {
28
29
  try {
29
30
  task = await this.database(db => findSessionTask(db, { sessionId: owner.sessionId, repositoryRoot: owner.root }));
30
31
  }
@@ -33,6 +34,7 @@ export class LispTaskAuthority {
33
34
  }
34
35
  }
35
36
  const binding = { owner: { ...owner }, performedEffect: false,
37
+ ...(nativeCommands ? { nativeCommands } : {}),
36
38
  ...(unavailable ? { unavailable } : {}),
37
39
  ...(inherited ? { lease: Object.freeze({ ...inherited }) } : task ? { lease: Object.freeze({ taskId: task.taskId, sessionId: task.sessionId, repositoryRoot: task.repositoryRoot,
38
40
  revision: task.revision, generation: task.generation }) } : {}) };
@@ -1 +1 @@
1
- {"version":3,"file":"task-authority.js","sourceRoot":"","sources":["../../../src/dsh/lisp/task-authority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-authority.js","sourceRoot":"","sources":["../../../src/dsh/lisp/task-authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export declare function rememberLispImplementation(execute: object): void;
2
+ export declare function isLispImplementation(execute: unknown): boolean;
3
+ export declare function rememberLispConversation(agent: object, current: () => boolean): void;
4
+ export declare function isLispConversation(agent: object): boolean;
5
+ export interface RootLispAdmission {
6
+ current(): boolean;
7
+ }
8
+ /** Lives only while this exact native root dispatch is awaiting its implementation. */
9
+ export declare function withRootLispAdmission<T>(execution: object, current: () => boolean, run: () => Promise<T>): Promise<T>;
10
+ export declare function rootLispAdmission(execution: object): RootLispAdmission | undefined;
11
+ interface CommandExecution {
12
+ name: string;
13
+ callId: string;
14
+ agent?: unknown;
15
+ parent?: unknown;
16
+ arguments: unknown;
17
+ signal: AbortSignal;
18
+ }
19
+ /** A host-only, exact-call bridge. Arbitrary nested tools cannot inherit the exception. */
20
+ export declare function withLispNativeCommand<T>(execution: CommandExecution, execute: unknown, admission: RootLispAdmission, run: () => Promise<T>): Promise<T>;
21
+ export declare function isLispNativeCommand(execution: CommandExecution, execute: unknown): boolean;
22
+ /** A capability created by the Lisp surface from the admitted root execution. */
23
+ export interface LispNativeCommands {
24
+ assertCurrent(): void;
25
+ run(input: {
26
+ program: string;
27
+ argv: string[];
28
+ directory?: string | undefined;
29
+ timeoutMs: number;
30
+ }, signal: AbortSignal): Promise<unknown>;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=lisp-tool-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lisp-tool-identity.d.ts","sourceRoot":"","sources":["../../src/dsh/lisp-tool-identity.ts"],"names":[],"mappings":"AAKA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAiC;AAClG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAyE;AAGxI,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAAsC;AAC3H,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAiD;AAE3G,MAAM,WAAW,iBAAiB;IAAG,OAAO,IAAI,OAAO,CAAA;CAAE;AAEzD,uFAAuF;AACvF,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAI3H;AACD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAGlF;AAED,UAAU,gBAAgB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE;AAGvI,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvJ;AACD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAK1F;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,IAAI,CAAA;IACrB,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC1I"}
@@ -0,0 +1,37 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { canonicalContentHash } from '../serialization/validate.js';
3
+ /** Host-minted implementation identity, never a tool-name permission grant. */
4
+ const implementations = new WeakSet();
5
+ export function rememberLispImplementation(execute) { implementations.add(execute); }
6
+ export function isLispImplementation(execute) { return typeof execute === 'function' && implementations.has(execute); }
7
+ const conversations = new WeakMap();
8
+ export function rememberLispConversation(agent, current) { conversations.set(agent, current); }
9
+ export function isLispConversation(agent) { return conversations.get(agent)?.() === true; }
10
+ const admissions = new WeakMap();
11
+ /** Lives only while this exact native root dispatch is awaiting its implementation. */
12
+ export async function withRootLispAdmission(execution, current, run) {
13
+ const admission = { current: () => admissions.get(execution) === admission && current() };
14
+ admissions.set(execution, admission);
15
+ try {
16
+ return await run();
17
+ }
18
+ finally {
19
+ admissions.delete(execution);
20
+ }
21
+ }
22
+ export function rootLispAdmission(execution) {
23
+ const admission = admissions.get(execution);
24
+ return admission?.current() ? admission : undefined;
25
+ }
26
+ const commands = new AsyncLocalStorage();
27
+ /** A host-only, exact-call bridge. Arbitrary nested tools cannot inherit the exception. */
28
+ export function withLispNativeCommand(execution, execute, admission, run) {
29
+ return commands.run({ execution, execute, admission, digest: canonicalContentHash(execution.arguments) }, run);
30
+ }
31
+ export function isLispNativeCommand(execution, execute) {
32
+ const scope = commands.getStore(), expected = scope?.execution;
33
+ return !!scope && !!expected && scope.admission.current() && !execution.signal.aborted && !expected.signal.aborted
34
+ && execution.name === expected.name && execution.callId === expected.callId && execution.agent === expected.agent
35
+ && execution.parent === expected.parent && scope.execute === execute && scope.digest === canonicalContentHash(execution.arguments);
36
+ }
37
+ //# sourceMappingURL=lisp-tool-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lisp-tool-identity.js","sourceRoot":"","sources":["../../src/dsh/lisp-tool-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,+EAA+E;AAC/E,MAAM,eAAe,GAAG,IAAI,OAAO,EAAU,CAAA;AAC7C,MAAM,UAAU,0BAA0B,CAAC,OAAe,IAAU,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;AAClG,MAAM,UAAU,oBAAoB,CAAC,OAAgB,IAAa,OAAO,OAAO,OAAO,KAAK,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;AAExI,MAAM,aAAa,GAAG,IAAI,OAAO,EAAyB,CAAA;AAC1D,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,OAAsB,IAAU,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA,CAAC,CAAC;AAC3H,MAAM,UAAU,kBAAkB,CAAC,KAAa,IAAa,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,CAAA,CAAC,CAAC;AAG3G,MAAM,UAAU,GAAG,IAAI,OAAO,EAA6B,CAAA;AAC3D,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAI,SAAiB,EAAE,OAAsB,EAAE,GAAqB;IAC7G,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,OAAO,EAAE,EAAE,CAAA;IACzF,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACpC,IAAI,CAAC;QAAC,OAAO,MAAM,GAAG,EAAE,CAAA;IAAC,CAAC;YAAS,CAAC;QAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAAC,CAAC;AACrE,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC3C,OAAO,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AACrD,CAAC;AAID,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAsB,CAAA;AAC5D,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAI,SAA2B,EAAE,OAAgB,EAAE,SAA4B,EAAE,GAAqB;IACzI,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;AAChH,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,SAA2B,EAAE,OAAgB;IAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,CAAA;IAC9D,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;WAC7G,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;WAC9G,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;AACtI,CAAC"}