@aztec/aztec 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +1 -1
  2. package/dest/bin/index.d.ts +1 -1
  3. package/dest/bin/index.js +9 -9
  4. package/dest/cli/aztec_start_action.d.ts +1 -1
  5. package/dest/cli/aztec_start_action.d.ts.map +1 -1
  6. package/dest/cli/aztec_start_action.js +10 -25
  7. package/dest/cli/aztec_start_options.d.ts +2 -2
  8. package/dest/cli/aztec_start_options.d.ts.map +1 -1
  9. package/dest/cli/aztec_start_options.js +115 -231
  10. package/dest/cli/cli.d.ts +1 -1
  11. package/dest/cli/cli.d.ts.map +1 -1
  12. package/dest/cli/cli.js +46 -1
  13. package/dest/cli/cmds/start_archiver.d.ts +1 -1
  14. package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
  15. package/dest/cli/cmds/start_archiver.js +4 -4
  16. package/dest/cli/cmds/start_blob_sink.d.ts +1 -1
  17. package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
  18. package/dest/cli/cmds/start_blob_sink.js +2 -2
  19. package/dest/cli/cmds/start_bot.d.ts +4 -7
  20. package/dest/cli/cmds/start_bot.d.ts.map +1 -1
  21. package/dest/cli/cmds/start_bot.js +25 -14
  22. package/dest/cli/cmds/start_node.d.ts +1 -1
  23. package/dest/cli/cmds/start_node.d.ts.map +1 -1
  24. package/dest/cli/cmds/start_node.js +13 -30
  25. package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
  26. package/dest/cli/cmds/start_p2p_bootstrap.js +1 -1
  27. package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
  28. package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
  29. package/dest/cli/cmds/start_prover_agent.js +11 -2
  30. package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
  31. package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
  32. package/dest/cli/cmds/start_prover_broker.js +8 -3
  33. package/dest/cli/cmds/start_prover_node.d.ts +1 -1
  34. package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
  35. package/dest/cli/cmds/start_prover_node.js +17 -12
  36. package/dest/cli/cmds/start_txe.d.ts +1 -1
  37. package/dest/cli/index.d.ts +1 -1
  38. package/dest/cli/preload_crs.d.ts +1 -1
  39. package/dest/cli/release_version.d.ts +1 -1
  40. package/dest/cli/util.d.ts +12 -10
  41. package/dest/cli/util.d.ts.map +1 -1
  42. package/dest/cli/util.js +13 -13
  43. package/dest/cli/versioning.d.ts +1 -1
  44. package/dest/cli/versioning.js +3 -3
  45. package/dest/examples/token.d.ts +1 -1
  46. package/dest/examples/token.js +18 -16
  47. package/dest/examples/util.d.ts +3 -3
  48. package/dest/examples/util.d.ts.map +1 -1
  49. package/dest/examples/util.js +1 -1
  50. package/dest/index.d.ts +2 -2
  51. package/dest/index.d.ts.map +1 -1
  52. package/dest/index.js +1 -1
  53. package/dest/local-network/banana_fpc.d.ts +10 -0
  54. package/dest/local-network/banana_fpc.d.ts.map +1 -0
  55. package/dest/{sandbox → local-network}/banana_fpc.js +15 -19
  56. package/dest/local-network/index.d.ts +4 -0
  57. package/dest/local-network/index.d.ts.map +1 -0
  58. package/dest/local-network/index.js +3 -0
  59. package/dest/local-network/local-network.d.ts +74 -0
  60. package/dest/local-network/local-network.d.ts.map +1 -0
  61. package/dest/{sandbox/sandbox.js → local-network/local-network.js} +35 -43
  62. package/dest/local-network/sponsored_fpc.d.ts +5 -0
  63. package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
  64. package/dest/{sandbox → local-network}/sponsored_fpc.js +7 -8
  65. package/dest/mnemonic.d.ts +1 -1
  66. package/dest/splash.d.ts +1 -1
  67. package/dest/testing/anvil_test_watcher.d.ts +4 -4
  68. package/dest/testing/anvil_test_watcher.d.ts.map +1 -1
  69. package/dest/testing/anvil_test_watcher.js +19 -18
  70. package/dest/testing/cheat_codes.d.ts +7 -10
  71. package/dest/testing/cheat_codes.d.ts.map +1 -1
  72. package/dest/testing/cheat_codes.js +9 -10
  73. package/dest/testing/index.d.ts +1 -2
  74. package/dest/testing/index.d.ts.map +1 -1
  75. package/dest/testing/index.js +0 -1
  76. package/package.json +38 -36
  77. package/src/bin/index.ts +9 -9
  78. package/src/cli/aztec_start_action.ts +10 -22
  79. package/src/cli/aztec_start_options.ts +124 -238
  80. package/src/cli/cli.ts +46 -1
  81. package/src/cli/cmds/start_archiver.ts +4 -4
  82. package/src/cli/cmds/start_blob_sink.ts +2 -2
  83. package/src/cli/cmds/start_bot.ts +36 -13
  84. package/src/cli/cmds/start_node.ts +16 -27
  85. package/src/cli/cmds/start_p2p_bootstrap.ts +1 -1
  86. package/src/cli/cmds/start_prover_agent.ts +7 -2
  87. package/src/cli/cmds/start_prover_broker.ts +17 -3
  88. package/src/cli/cmds/start_prover_node.ts +14 -14
  89. package/src/cli/util.ts +21 -18
  90. package/src/cli/versioning.ts +3 -3
  91. package/src/examples/token.ts +20 -17
  92. package/src/examples/util.ts +2 -2
  93. package/src/index.ts +5 -5
  94. package/src/{sandbox → local-network}/banana_fpc.ts +16 -21
  95. package/src/local-network/index.ts +7 -0
  96. package/src/{sandbox/sandbox.ts → local-network/local-network.ts} +42 -55
  97. package/src/local-network/sponsored_fpc.ts +26 -0
  98. package/src/testing/anvil_test_watcher.ts +18 -19
  99. package/src/testing/cheat_codes.ts +13 -13
  100. package/src/testing/index.ts +0 -1
  101. package/dest/cli/chain_l2_config.d.ts +0 -31
  102. package/dest/cli/chain_l2_config.d.ts.map +0 -1
  103. package/dest/cli/chain_l2_config.js +0 -261
  104. package/dest/cli/cmds/start_faucet.d.ts +0 -4
  105. package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
  106. package/dest/cli/cmds/start_faucet.js +0 -20
  107. package/dest/cli/cmds/start_pxe.d.ts +0 -16
  108. package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
  109. package/dest/cli/cmds/start_pxe.js +0 -31
  110. package/dest/cli/get_l1_config.d.ts +0 -7
  111. package/dest/cli/get_l1_config.d.ts.map +0 -1
  112. package/dest/cli/get_l1_config.js +0 -13
  113. package/dest/sandbox/banana_fpc.d.ts +0 -11
  114. package/dest/sandbox/banana_fpc.d.ts.map +0 -1
  115. package/dest/sandbox/index.d.ts +0 -4
  116. package/dest/sandbox/index.d.ts.map +0 -1
  117. package/dest/sandbox/index.js +0 -3
  118. package/dest/sandbox/sandbox.d.ts +0 -83
  119. package/dest/sandbox/sandbox.d.ts.map +0 -1
  120. package/dest/sandbox/sponsored_fpc.d.ts +0 -4
  121. package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
  122. package/dest/testing/aztec_cheat_codes.d.ts +0 -59
  123. package/dest/testing/aztec_cheat_codes.d.ts.map +0 -1
  124. package/dest/testing/aztec_cheat_codes.js +0 -62
  125. package/src/cli/chain_l2_config.ts +0 -341
  126. package/src/cli/cmds/start_faucet.ts +0 -34
  127. package/src/cli/cmds/start_pxe.ts +0 -49
  128. package/src/cli/get_l1_config.ts +0 -19
  129. package/src/sandbox/index.ts +0 -4
  130. package/src/sandbox/sponsored_fpc.ts +0 -27
  131. package/src/testing/aztec_cheat_codes.ts +0 -77
package/README.md CHANGED
@@ -8,7 +8,7 @@ Aztec is a package that allows for a simple development environment on Aztec sta
8
8
 
9
9
  The easiest way to run is by using `docker compose up`. This will create two containers:
10
10
 
11
- 1. The sandbox listening on port `8080`
11
+ 1. The local network listening on port `8080`
12
12
  2. An anvil instance listening on port `8545`
13
13
 
14
14
  ### Node Server
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
  export {};
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/dest/bin/index.js CHANGED
@@ -1,18 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  //
3
3
  import { injectCommands as injectBuilderCommands } from '@aztec/builder';
4
- import { injectCommands as injectWalletCommands } from '@aztec/cli-wallet';
4
+ import { injectCommands as injectAztecNodeCommands } from '@aztec/cli/aztec_node';
5
+ import { enrichEnvironmentWithChainName, enrichEnvironmentWithNetworkConfig } from '@aztec/cli/config';
5
6
  import { injectCommands as injectContractCommands } from '@aztec/cli/contracts';
6
- import { injectCommands as injectDevnetCommands } from '@aztec/cli/devnet';
7
7
  import { injectCommands as injectInfrastructureCommands } from '@aztec/cli/infrastructure';
8
8
  import { injectCommands as injectL1Commands } from '@aztec/cli/l1';
9
9
  import { injectCommands as injectMiscCommands } from '@aztec/cli/misc';
10
- import { injectCommands as injectPXECommands } from '@aztec/cli/pxe';
10
+ import { injectCommands as injectValidatorKeysCommands } from '@aztec/cli/validator_keys';
11
11
  import { getActiveNetworkName } from '@aztec/foundation/config';
12
12
  import { createConsoleLogger, createLogger } from '@aztec/foundation/log';
13
13
  import { Command } from 'commander';
14
14
  import { NETWORK_FLAG } from '../cli/aztec_start_options.js';
15
- import { enrichEnvironmentWithChainConfig } from '../cli/chain_l2_config.js';
16
15
  import { injectAztecCommands } from '../cli/index.js';
17
16
  import { getCliVersion } from '../cli/release_version.js';
18
17
  const userLog = createConsoleLogger();
@@ -30,19 +29,20 @@ const debugLogger = createLogger('cli');
30
29
  if (networkIndex !== -1) {
31
30
  networkValue = args[networkIndex].split('=')[1] || args[networkIndex + 1];
32
31
  }
33
- await enrichEnvironmentWithChainConfig(getActiveNetworkName(networkValue));
32
+ const networkName = getActiveNetworkName(networkValue);
33
+ await enrichEnvironmentWithNetworkConfig(networkName);
34
+ enrichEnvironmentWithChainName(networkName);
34
35
  const cliVersion = getCliVersion();
35
36
  let program = new Command('aztec');
36
37
  program.description('Aztec command line interface').version(cliVersion);
37
38
  program = injectAztecCommands(program, userLog, debugLogger);
38
39
  program = injectBuilderCommands(program);
39
40
  program = injectContractCommands(program, userLog, debugLogger);
40
- program = injectInfrastructureCommands(program, userLog, debugLogger);
41
+ program = injectInfrastructureCommands(program, userLog);
41
42
  program = injectL1Commands(program, userLog, debugLogger);
42
- program = injectPXECommands(program, userLog, debugLogger);
43
+ program = injectAztecNodeCommands(program, userLog, debugLogger);
43
44
  program = injectMiscCommands(program, userLog);
44
- program = injectDevnetCommands(program, userLog, debugLogger);
45
- program = injectWalletCommands(program, userLog, debugLogger);
45
+ program = injectValidatorKeysCommands(program, userLog);
46
46
  await program.parseAsync(process.argv);
47
47
  }
48
48
  main().catch((err)=>{
@@ -1,3 +1,3 @@
1
1
  import type { LogFn, Logger } from '@aztec/foundation/log';
2
2
  export declare function aztecStart(options: any, userLog: LogFn, debugLogger: Logger): Promise<void>;
3
- //# sourceMappingURL=aztec_start_action.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfc3RhcnRfYWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2F6dGVjX3N0YXJ0X2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFZM0Qsd0JBQXNCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBNkZqRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAyGjF"}
1
+ {"version":3,"file":"aztec_start_action.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_action.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBA6FjF"}
@@ -1,8 +1,8 @@
1
1
  import { createNamespacedSafeJsonRpcServer, startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
2
- import { AztecNodeApiSchema, PXESchema } from '@aztec/stdlib/interfaces/client';
2
+ import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
3
3
  import { getVersioningMiddleware } from '@aztec/stdlib/versioning';
4
4
  import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
5
- import { createSandbox } from '../sandbox/index.js';
5
+ import { createLocalNetwork } from '../local-network/index.js';
6
6
  import { github, splash } from '../splash.js';
7
7
  import { getCliVersion } from './release_version.js';
8
8
  import { extractNamespacedOptions, installSignalHandlers } from './util.js';
@@ -13,18 +13,17 @@ export async function aztecStart(options, userLog, debugLogger) {
13
13
  const services = {};
14
14
  const adminServices = {};
15
15
  let config = undefined;
16
- if (options.sandbox) {
16
+ if (options.localNetwork) {
17
17
  const cliVersion = getCliVersion();
18
- const sandboxOptions = extractNamespacedOptions(options, 'sandbox');
19
- sandboxOptions.testAccounts = true;
18
+ const localNetwork = extractNamespacedOptions(options, 'local-network');
19
+ localNetwork.testAccounts = true;
20
20
  userLog(`${splash}\n${github}\n\n`);
21
- userLog(`Setting up Aztec Sandbox ${cliVersion}, please stand by...`);
22
- const { node, pxe, stop } = await createSandbox({
23
- l1Mnemonic: sandboxOptions.l1Mnemonic,
21
+ userLog(`Setting up Aztec local network ${cliVersion}, please stand by...`);
22
+ const { node, stop } = await createLocalNetwork({
23
+ l1Mnemonic: localNetwork.l1Mnemonic,
24
24
  l1RpcUrls: options.l1RpcUrls,
25
- deployAztecContractsSalt: sandboxOptions.deployAztecContractsSalt,
26
- noPXE: sandboxOptions.noPXE,
27
- testAccounts: sandboxOptions.testAccounts,
25
+ deployAztecContractsSalt: localNetwork.deployAztecContractsSalt,
26
+ testAccounts: localNetwork.testAccounts,
28
27
  realProofs: false
29
28
  }, userLog);
30
29
  // Start Node and PXE JSON-RPC server
@@ -33,14 +32,6 @@ export async function aztecStart(options, userLog, debugLogger) {
33
32
  node,
34
33
  AztecNodeApiSchema
35
34
  ];
36
- if (!sandboxOptions.noPXE) {
37
- services.pxe = [
38
- pxe,
39
- PXESchema
40
- ];
41
- } else {
42
- userLog(`Not exposing PXE API through JSON-RPC server`);
43
- }
44
35
  } else {
45
36
  if (options.node) {
46
37
  const { startNode } = await import('./cmds/start_node.js');
@@ -54,9 +45,6 @@ export async function aztecStart(options, userLog, debugLogger) {
54
45
  } else if (options.blobSink) {
55
46
  const { startBlobSink } = await import('./cmds/start_blob_sink.js');
56
47
  await startBlobSink(options, signalHandlers, userLog);
57
- } else if (options.pxe) {
58
- const { startPXE } = await import('./cmds/start_pxe.js');
59
- ({ config } = await startPXE(options, signalHandlers, services, userLog));
60
48
  } else if (options.archiver) {
61
49
  const { startArchiver } = await import('./cmds/start_archiver.js');
62
50
  ({ config } = await startArchiver(options, signalHandlers, services));
@@ -75,9 +63,6 @@ export async function aztecStart(options, userLog, debugLogger) {
75
63
  } else if (options.sequencer) {
76
64
  userLog(`Cannot run a standalone sequencer without a node`);
77
65
  process.exit(1);
78
- } else if (options.faucet) {
79
- const { startFaucet } = await import('./cmds/start_faucet.js');
80
- await startFaucet(options, signalHandlers, services, userLog);
81
66
  } else {
82
67
  userLog(`No module specified to start`);
83
68
  process.exit(1);
@@ -4,7 +4,7 @@ export interface AztecStartOption {
4
4
  description: string;
5
5
  defaultValue: any;
6
6
  printDefault?: (val: any) => string;
7
- envVar: EnvVar | undefined;
7
+ env: EnvVar | undefined;
8
8
  fallback?: EnvVar[];
9
9
  parseVal?: (val: string) => any;
10
10
  }
@@ -14,4 +14,4 @@ export declare const NETWORK_FLAG = "network";
14
14
  export declare const aztecStartOptions: {
15
15
  [key: string]: AztecStartOption[];
16
16
  };
17
- //# sourceMappingURL=aztec_start_options.d.ts.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfc3RhcnRfb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9henRlY19zdGFydF9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxNQUFNLEVBSVosTUFBTSwwQkFBMEIsQ0FBQztBQWNsQyxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLFlBQVksRUFBRSxHQUFHLENBQUM7SUFDbEIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLE1BQU0sQ0FBQztJQUNwQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN4QixRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDO0NBQ2pDO0FBRUQsZUFBTyxNQUFNLFVBQVUsMEZBb0J0QixDQUFDO0FBdUJGLGVBQU8sTUFBTSxnQkFBZ0IsVUFZNUIsQ0FBQztBQUVGLGVBQU8sTUFBTSxZQUFZLFlBQVksQ0FBQztBQUd0QyxlQUFPLE1BQU0saUJBQWlCLEVBQUU7SUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtDQWlPbEUsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAKZ,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,uBAoB1F,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAU5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CA0WlE,CAAC"}
1
+ {"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAclC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,0FAoBtB,CAAC;AAuBF,eAAO,MAAM,gBAAgB,UAY5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAiOlE,CAAC"}