@metaplex-foundation/kinobi 0.12.2 → 0.13.0

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 (73) hide show
  1. package/dist/cjs/nodes/InstructionAccountNode.js +6 -2
  2. package/dist/cjs/nodes/InstructionAccountNode.js.map +1 -1
  3. package/dist/cjs/renderers/index.js +1 -0
  4. package/dist/cjs/renderers/index.js.map +1 -1
  5. package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js +1 -1
  6. package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js.map +1 -1
  7. package/dist/cjs/renderers/js/templates/instructionsPageRemainingAccounts.njk +1 -1
  8. package/dist/cjs/renderers/rust/GetRustRenderMapVisitor.js +255 -0
  9. package/dist/cjs/renderers/rust/GetRustRenderMapVisitor.js.map +1 -0
  10. package/dist/cjs/renderers/rust/GetRustTypeManifestVisitor.js +355 -0
  11. package/dist/cjs/renderers/rust/GetRustTypeManifestVisitor.js.map +1 -0
  12. package/dist/cjs/renderers/rust/RenderRustValueNode.js +102 -0
  13. package/dist/cjs/renderers/rust/RenderRustValueNode.js.map +1 -0
  14. package/dist/cjs/renderers/rust/RenderRustVisitor.js +61 -0
  15. package/dist/cjs/renderers/rust/RenderRustVisitor.js.map +1 -0
  16. package/dist/cjs/renderers/rust/RustImportMap.js +77 -0
  17. package/dist/cjs/renderers/rust/RustImportMap.js.map +1 -0
  18. package/dist/cjs/renderers/rust/index.js +21 -0
  19. package/dist/cjs/renderers/rust/index.js.map +1 -0
  20. package/dist/cjs/renderers/rust/templates/accountsMod.njk +12 -0
  21. package/dist/cjs/renderers/rust/templates/accountsPage.njk +91 -0
  22. package/dist/cjs/renderers/rust/templates/definedTypesMod.njk +12 -0
  23. package/dist/cjs/renderers/rust/templates/definedTypesPage.njk +14 -0
  24. package/dist/cjs/renderers/rust/templates/errorsMod.njk +12 -0
  25. package/dist/cjs/renderers/rust/templates/errorsPage.njk +22 -0
  26. package/dist/cjs/renderers/rust/templates/instructionsCpiPage.njk +121 -0
  27. package/dist/cjs/renderers/rust/templates/instructionsCpiPageBuilder.njk +94 -0
  28. package/dist/cjs/renderers/rust/templates/instructionsMod.njk +12 -0
  29. package/dist/cjs/renderers/rust/templates/instructionsPage.njk +141 -0
  30. package/dist/cjs/renderers/rust/templates/instructionsPageBuilder.njk +86 -0
  31. package/dist/cjs/renderers/rust/templates/layout.njk +7 -0
  32. package/dist/cjs/renderers/rust/templates/macros.njk +6 -0
  33. package/dist/cjs/renderers/rust/templates/programsMod.njk +12 -0
  34. package/dist/cjs/renderers/rust/templates/rootMod.njk +26 -0
  35. package/dist/cjs/renderers/rust/templates/sharedPage.njk +93 -0
  36. package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js +2 -1
  37. package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js.map +1 -1
  38. package/dist/types/nodes/InstructionAccountNode.d.ts +1 -0
  39. package/dist/types/renderers/index.d.ts +1 -0
  40. package/dist/types/renderers/rust/GetRustRenderMapVisitor.d.ts +38 -0
  41. package/dist/types/renderers/rust/GetRustTypeManifestVisitor.d.ts +43 -0
  42. package/dist/types/renderers/rust/RenderRustValueNode.d.ts +6 -0
  43. package/dist/types/renderers/rust/RenderRustVisitor.d.ts +16 -0
  44. package/dist/types/renderers/rust/RustImportMap.d.ts +16 -0
  45. package/dist/types/renderers/rust/index.d.ts +4 -0
  46. package/package.json +2 -2
  47. package/src/nodes/InstructionAccountNode.ts +5 -0
  48. package/src/renderers/index.ts +1 -0
  49. package/src/renderers/js/GetJavaScriptRenderMapVisitor.ts +1 -1
  50. package/src/renderers/js/templates/instructionsPageRemainingAccounts.njk +1 -1
  51. package/src/renderers/rust/GetRustRenderMapVisitor.ts +325 -0
  52. package/src/renderers/rust/GetRustTypeManifestVisitor.ts +432 -0
  53. package/src/renderers/rust/RenderRustValueNode.ts +105 -0
  54. package/src/renderers/rust/RenderRustVisitor.ts +74 -0
  55. package/src/renderers/rust/RustImportMap.ts +91 -0
  56. package/src/renderers/rust/index.ts +4 -0
  57. package/src/renderers/rust/templates/accountsMod.njk +12 -0
  58. package/src/renderers/rust/templates/accountsPage.njk +91 -0
  59. package/src/renderers/rust/templates/definedTypesMod.njk +12 -0
  60. package/src/renderers/rust/templates/definedTypesPage.njk +14 -0
  61. package/src/renderers/rust/templates/errorsMod.njk +12 -0
  62. package/src/renderers/rust/templates/errorsPage.njk +22 -0
  63. package/src/renderers/rust/templates/instructionsCpiPage.njk +121 -0
  64. package/src/renderers/rust/templates/instructionsCpiPageBuilder.njk +94 -0
  65. package/src/renderers/rust/templates/instructionsMod.njk +12 -0
  66. package/src/renderers/rust/templates/instructionsPage.njk +141 -0
  67. package/src/renderers/rust/templates/instructionsPageBuilder.njk +86 -0
  68. package/src/renderers/rust/templates/layout.njk +7 -0
  69. package/src/renderers/rust/templates/macros.njk +6 -0
  70. package/src/renderers/rust/templates/programsMod.njk +12 -0
  71. package/src/renderers/rust/templates/rootMod.njk +26 -0
  72. package/src/renderers/rust/templates/sharedPage.njk +93 -0
  73. package/src/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.ts +4 -1
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assertInstructionAccountNode = exports.isInstructionAccountNode = exports.instructionAccountNodeFromIdl = exports.instructionAccountNode = void 0;
4
4
  const shared_1 = require("../shared");
5
5
  function instructionAccountNode(input) {
6
- var _a, _b;
6
+ var _a, _b, _c;
7
7
  return {
8
8
  kind: 'instructionAccountNode',
9
9
  name: (0, shared_1.mainCase)(input.name),
10
10
  isWritable: input.isWritable,
11
11
  isSigner: input.isSigner,
12
12
  isOptional: (_a = input.isOptional) !== null && _a !== void 0 ? _a : false,
13
- docs: (_b = input.docs) !== null && _b !== void 0 ? _b : [],
13
+ isOptionalStrategy: (_b = input.isOptionalStrategy) !== null && _b !== void 0 ? _b : 'programId',
14
+ docs: (_c = input.docs) !== null && _c !== void 0 ? _c : [],
14
15
  defaultsTo: input.defaultsTo,
15
16
  };
16
17
  }
@@ -24,6 +25,9 @@ function instructionAccountNodeFromIdl(idl, useProgramIdForOptionalAccounts = tr
24
25
  isWritable: (_d = idl.isMut) !== null && _d !== void 0 ? _d : false,
25
26
  isSigner: idl.isOptionalSigner ? 'either' : (_e = idl.isSigner) !== null && _e !== void 0 ? _e : false,
26
27
  isOptional,
28
+ isOptionalStrategy: useProgramIdForOptionalAccounts
29
+ ? 'programId'
30
+ : 'omitted',
27
31
  docs: (_g = (_f = idl.docs) !== null && _f !== void 0 ? _f : desc) !== null && _g !== void 0 ? _g : [],
28
32
  defaultsTo: isOptional && useProgramIdForOptionalAccounts
29
33
  ? (0, shared_1.programIdDefault)()
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionAccountNode.js","sourceRoot":"","sources":["../../../src/nodes/InstructionAccountNode.ts"],"names":[],"mappings":";;;AACA,sCAKmB;AAmBnB,SAAgB,sBAAsB,CACpC,KAAkC;;IAElC,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,MAAA,KAAK,CAAC,UAAU,mCAAI,KAAK;QACrC,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;KACH,CAAC;AAC9B,CAAC;AAZD,wDAYC;AAED,SAAgB,6BAA6B,CAC3C,GAA0B,EAC1B,+BAA+B,GAAG,IAAI;;IAEtC,MAAM,UAAU,GAAG,MAAA,MAAA,GAAG,CAAC,QAAQ,mCAAI,GAAG,CAAC,UAAU,mCAAI,KAAK,CAAC;IAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,OAAO,sBAAsB,CAAC;QAC5B,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;QACpB,UAAU,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,KAAK;QAC9B,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,QAAQ,mCAAI,KAAK;QACjE,UAAU;QACV,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,IAAI,mCAAI,IAAI,mCAAI,EAAE;QAC5B,UAAU,EACR,UAAU,IAAI,+BAA+B;YAC3C,CAAC,CAAC,IAAA,yBAAgB,GAAE;YACpB,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AAjBD,sEAiBC;AAED,SAAgB,wBAAwB,CACtC,IAAiB;IAEjB,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC;AAC1D,CAAC;AAJD,4DAIC;AAED,SAAgB,4BAA4B,CAC1C,IAAiB;;IAEjB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,wCAAwC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,MAAM,GAAG,CAChE,CAAC;KACH;AACH,CAAC;AARD,oEAQC"}
1
+ {"version":3,"file":"InstructionAccountNode.js","sourceRoot":"","sources":["../../../src/nodes/InstructionAccountNode.ts"],"names":[],"mappings":";;;AACA,sCAKmB;AAoBnB,SAAgB,sBAAsB,CACpC,KAAkC;;IAElC,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,MAAA,KAAK,CAAC,UAAU,mCAAI,KAAK;QACrC,kBAAkB,EAAE,MAAA,KAAK,CAAC,kBAAkB,mCAAI,WAAW;QAC3D,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;KACH,CAAC;AAC9B,CAAC;AAbD,wDAaC;AAED,SAAgB,6BAA6B,CAC3C,GAA0B,EAC1B,+BAA+B,GAAG,IAAI;;IAEtC,MAAM,UAAU,GAAG,MAAA,MAAA,GAAG,CAAC,QAAQ,mCAAI,GAAG,CAAC,UAAU,mCAAI,KAAK,CAAC;IAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,OAAO,sBAAsB,CAAC;QAC5B,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;QACpB,UAAU,EAAE,MAAA,GAAG,CAAC,KAAK,mCAAI,KAAK;QAC9B,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,QAAQ,mCAAI,KAAK;QACjE,UAAU;QACV,kBAAkB,EAAE,+BAA+B;YACjD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,IAAI,mCAAI,IAAI,mCAAI,EAAE;QAC5B,UAAU,EACR,UAAU,IAAI,+BAA+B;YAC3C,CAAC,CAAC,IAAA,yBAAgB,GAAE;YACpB,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AApBD,sEAoBC;AAED,SAAgB,wBAAwB,CACtC,IAAiB;IAEjB,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC;AAC1D,CAAC;AAJD,4DAIC;AAED,SAAgB,4BAA4B,CAC1C,IAAiB;;IAEjB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,wCAAwC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,MAAM,GAAG,CAChE,CAAC;KACH;AACH,CAAC;AARD,oEAQC"}
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./js"), exports);
18
18
  __exportStar(require("./RenderMap"), exports);
19
+ __exportStar(require("./rust"), exports);
19
20
  __exportStar(require("./utils"), exports);
20
21
  __exportStar(require("./WriteRenderMapVisitor"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,8CAA4B;AAC5B,0CAAwB;AACxB,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB;AACxB,0DAAwC"}
@@ -390,7 +390,7 @@ class GetJavaScriptRenderMapVisitor extends visitors_1.BaseThrowVisitor {
390
390
  if (!linkedDataArgs && !linkedExtraArgs) {
391
391
  const accountsAndArgsConflicts = this.getMergeConflictsForInstructionAccountsAndArgs(instruction);
392
392
  if (accountsAndArgsConflicts.length > 0) {
393
- (0, logs_1.logWarn)(`Accounts and args of instruction [${instruction.name}] have the following ` +
393
+ (0, logs_1.logWarn)(`[JavaScript] Accounts and args of instruction [${instruction.name}] have the following ` +
394
394
  `conflicting attributes [${accountsAndArgsConflicts.join(', ')}]. ` +
395
395
  `Thus, they could not be merged into a single input object. ` +
396
396
  'You may want to rename the conflicting attributes.');
@@ -1 +1 @@
1
- {"version":3,"file":"GetJavaScriptRenderMapVisitor.js","sourceRoot":"","sources":["../../../../src/renderers/js/GetJavaScriptRenderMapVisitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GetJavaScriptRenderMapVisitor.js","sourceRoot":"","sources":["../../../../src/renderers/js/GetJavaScriptRenderMapVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4E;AAC5E,mDAAqC;AACrC,yCAMsB;AACtB,4CAA4C;AAC5C,6CAQwB;AACxB,4CAAyC;AACzC,oCAA2C;AAC3C,yFAG4C;AAC5C,+DAA4D;AAC5D,2EAAwE;AAExE,MAAM,wBAAwB,GAAoB;IAChD,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,YAAY;CACrB,CAAC;AAcF,MAAa,6BAA8B,SAAQ,2BAA2B;IAK5E,YAAY,UAAyC,EAAE;;QACrD,KAAK,EAAE,CAAC;QAHF,YAAO,GAA6B,IAAI,CAAC;QAI/C,IAAI,CAAC,OAAO,GAAG;YACb,wBAAwB,EAAE,MAAA,OAAO,CAAC,wBAAwB,mCAAI,KAAK;YACnE,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI;YACtC,eAAe,EAAE;gBACf,GAAG,wBAAwB;gBAC3B,GAAG,OAAO,CAAC,eAAe;aAC3B;YACD,aAAa,EAAE;gBACb,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,cAAc;gBACtB,GAAG,EAAE,0BAA0B;gBAC/B,cAAc,EAAE,sCAAsC;gBACtD,aAAa,EAAE,kCAAkC;gBACjD,UAAU,EAAE,kCAAkC;gBAC9C,GAAG,OAAO,CAAC,aAAa;gBACxB,iEAAiE;gBACjE,iBAAiB,EAAE,aAAa;gBAChC,eAAe,EAAE,WAAW;gBAC5B,cAAc,EAAE,UAAU;aAC3B;YACD,mBAAmB,EACjB,MAAA,OAAO,CAAC,mBAAmB,mCAAI,IAAI,mEAAgC,EAAE;YACvE,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,IAAI,6BAAkB,EAAE;YACpE,+BAA+B,EAC7B,MAAA,OAAO,CAAC,+BAA+B,mCACvC,IAAI,8CAAmC,EAAE;SAC5C,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAoB;;QAC5B,MAAA,MAAA,IAAI,CAAC,eAAe,EAAC,oBAAoB,mDAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,KAAK;aAC3B,cAAc,CAAC,IAAI,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,oBAAoB,GAAG,KAAK;aAC/B,0BAA0B,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;aACxE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,oBAAoB,GAAG,KAAK;aAC/B,kBAAkB,CAAC,IAAI,CAAC;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,mBAAmB,GACvB,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC3B,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC3B,oBAAoB,CAAC,MAAM,GAAG,CAAC;YAC/B,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG;YACV,IAAI;YACJ,gBAAgB;YAChB,gBAAgB;YAChB,oBAAoB;YACpB,oBAAoB;YACpB,mBAAmB;SACpB,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,qBAAS,EAAE,CAAC;QAC5B,IAAI,mBAAmB,EAAE;YACvB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,GAAG;iBACA,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;iBAC/D,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;SACrE;QACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,GAAG,CAAC,GAAG,CACL,uBAAuB,EACvB,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAC1C,CAAC;SACH;QACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;SACtE;QAED,OAAO,GAAG;aACP,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;aAClD,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,YAAY,CAAC,OAA0B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,MAAM,cAAc,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE;aAC9B,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACrE,SAAS,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,gDAAgD;QAChD,2CAA2C;QAC3C,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,SAAS,CAAC;SAClB;QAED,SAAS;aACN,SAAS,CACR,GAAG,KAAK;aACL,0BAA0B,CACzB,OAAO,EACP,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CACvC;aACA,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAChC;aACA,GAAG,CACF,UAAU,IAAA,kBAAS,EAAC,IAAI,CAAC,KAAK,EAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5B,OAAO,EAAE,IAAI,yCAAmB,EAAE;iBAC/B,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;iBACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACvC,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrC,GAAG,KAAK;gBACR,YAAY,EAAE,IAAA,mBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,IAAI,CAAC;aAClE,CAAC,CAAC;SACJ,CAAC,CACH;aACA,GAAG,CACF,YAAY,IAAA,kBAAS,EAAC,IAAI,CAAC,KAAK,EAChC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAC9B,OAAO,EAAE,IAAI,yCAAmB,EAAE;iBAC/B,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;iBAChE,GAAG,CAAC,QAAQ,EAAE;gBACb,MAAM,cAAc,eAAe;gBACnC,MAAM,cAAc,eAAe;aACpC,CAAC;iBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACvC,OAAO;SACR,CAAC,CACH,CAAC;QACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAA0B;;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC,SAAS,CACjD,YAAY,CAAC,aAAa,EAC1B,YAAY,CAAC,iBAAiB,CAC/B,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SAC9C;QACD,OAAO;aACJ,GAAG,CAAC,KAAK,EAAE;YACV,SAAS;YACT,qBAAqB;YACrB,SAAS;YACT,oBAAoB;YACpB,KAAK;YACL,WAAW;YACX,WAAW;YACX,YAAY;YACZ,sBAAsB;YACtB,uBAAuB;SACxB,CAAC;aACD,GAAG,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QAE/C,iBAAiB;QACjB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAClC,IAAI,qBAAqB,GAGd,IAAI,CAAC;QAChB,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,OAAO,EAAE;YACnC,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CACrC,CAAC;YACF,MAAM,kBAAkB,GAAG,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,KAAK;gBAC9D,CAAC,CAAC,IAAA,qDAAyB,EAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC;gBAChE,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,kBAAkB,EAAE;gBACtB,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC9C,qBAAqB,GAAG;oBACtB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,KAAK,EAAE,kBAAkB,CAAC,MAAM;iBACjC,CAAC;aACH;SACF;aAAM,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,MAAM,EAAE;YACzC,qBAAqB;gBACnB,OAAO,CAAC,IAAI,KAAK,SAAS;oBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE;oBAC5C,CAAC,CAAC,IAAI,CAAC;SACZ;QAED,cAAc;QACd,MAAM,SAAS,GAAG,IAAA,gCAAuB,EACvC,OAAO,EACP,IAAI,CAAC,eAAe,CACrB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,MAAM,gBAAgB,GAAG,IAAA,gBAAK,EAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxE,OAAO,CAAC,SAAS,CACf,gBAAgB,CAAC,YAAY,EAC7B,gBAAgB,CAAC,iBAAiB,CACnC,CAAC;YACF,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,iBAAiB,GAA8C,IAAI,CAAC;QACxE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YACnC,iBAAiB,GAAG;gBAClB,IAAI,EAAE,KAAK,SAAS;qBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;qBAClD,IAAI,CAAC,IAAI,CAAC,IAAI;gBACjB,QAAQ,EAAE,KAAK,SAAS;qBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC1D,OAAO,IAAI,CAAC,CAAC,IAAI,OAAO,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC;gBAC9D,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,IAAI;aAClB,CAAC;SACH;QAED,SAAS;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAChE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,MAAM,aAAa,GAAG,IAAA,qDAAyB,EAAC,SAAS,CAAC,CAAC;gBAC1D,SAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;gBACjD,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;aAChD;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAChE,OAAO,CAAC,SAAS,CACf,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CAC/B,CAAC;gBACF,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;aAChD;YACD,OAAO;iBACJ,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC;iBAClC,QAAQ,CAAC,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7B;QACD,MAAM,gBAAgB,GACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtE,OAAO,IAAI,qBAAS,EAAE,CAAC,GAAG,CACxB,YAAY,IAAA,kBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EACxC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAC9B,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY;YACZ,aAAa,EAAE,qBAAqB;YACpC,SAAS,EAAE,iBAAiB;YAC5B,KAAK;YACL,gBAAgB;SACjB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,WAAkC;;QACjD,WAAW;QACX,MAAM,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;YACnD,aAAa;YACb,SAAS;YACT,QAAQ;YACR,oBAAoB;YACpB,oBAAoB;SACrB,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,MAAM,OAAO,GACX,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI;YAC3B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,MAAM,WAAW,GACf,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI;YAC3B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CACvC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,QAAQ,MAAK,SAAS,CAAA,EAAA,CACpD,CAAC,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,YAAY,GAChB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI;YAC5B,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,QAAQ,MAAK,SAAS,CAAA,EAAA,CACpD,CAAC,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,UAAU,GAAG,WAAW,IAAI,YAAY,CAAC;QAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CACjE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAClC,CAAC;QACF,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CACnD,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAK,UAAU,CACpD,CAAC;QACF,MAAM,eAAe,GACnB,CAAA,MAAA,WAAW,CAAC,mBAAmB,0CAAE,IAAI,MAAK,UAAU,CAAC;QACvD,MAAM,4BAA4B,GAChC,CAAA,MAAA,WAAW,CAAC,iBAAiB,0CAAE,IAAI,MAAK,UAAU,CAAC;QACrD,MAAM,YAAY,GAChB,eAAe;YACf,mBAAmB;YACnB,eAAe;YACf,4BAA4B,CAAC;QAE/B,mBAAmB;QACnB,MAAM,cAAc,GAAG,IAAA,gBAAK,EAC1B,WAAW,EACX,IAAI,CAAC,+BAA+B,CACrC,CAAC,GAAG,CAAC,CAAC,KAA+B,EAAE,EAAE;;YACxC,IAAI,CAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,IAAI,MAAK,KAAK,EAAE;gBACpC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;oBAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;wBAAE,OAAO;oBACvC,MAAM,aAAa,GAAG,IAAA,qDAAyB,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAChE,SAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;oBACjD,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,CAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,IAAI,MAAK,OAAO,EAAE;gBAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;gBAC7B,MAAM,aAAa,GAAG,IAAA,qDAAyB,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjE,UAAkB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;gBAClD,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,MAAM,0BAA0B,GAAG,cAAc,CAAC,MAAM,CACtD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CACtE,CAAC;QACF,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAC5C;QACD,MAAM,oBAAoB,GAAG,0BAA0B;aACpD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;aAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,gBAAgB,GAAG,0BAA0B;aAChD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;aACvC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,YAAY;QACZ,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CACrC,CAAC;YAChC,OAAO;gBACL,GAAG,eAAe;gBAClB,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC;gBACrD,YAAY,EAAE,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC9D,eAAe;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACzC;QAED,aAAa;QACb,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnD,MAAM,eAAe,GAAG,IAAA,gBAAK,EAC3B,WAAW,CAAC,QAAQ,EACpB,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACF,IAAI,cAAc,IAAI,OAAO,EAAE;YAC7B,OAAO,CAAC,SAAS,CACf,eAAe,CAAC,YAAY,EAC5B,eAAe,CAAC,iBAAiB,CAClC,CAAC;SACH;QACD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;SAC/C;QAED,cAAc;QACd,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;QACrD,MAAM,gBAAgB,GAAG,IAAA,gBAAK,EAC5B,WAAW,CAAC,SAAS,EACrB,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACF,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEjD,gBAAgB;QAChB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC5D,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE;gBAClC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAA,kBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aAChE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,mBAAmB,CAAC;QAC9C,IAAI,KAAK,IAAI,eAAe,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;SAC3C;QACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,SAAS,EAAE;YAC7B,MAAM,WAAW,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,KAAK,WAAW;gBAC9B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,WAAW,MAAM,CAAC,CAAC;SAClD;aAAM,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,UAAU,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,IAAA,kBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SACtD;QAED,sBAAsB;QACtB,MAAM,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC;QAC1C,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,MAAK,UAAU,EAAE;YAC1C,OAAO,CAAC,GAAG,CACT,iBAAiB,CAAC,UAAU,EAC5B,IAAA,kBAAS,EAAC,iBAAiB,CAAC,IAAI,CAAC,CAClC,CAAC;SACH;QAED,0BAA0B;QAC1B,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE;YACvC,MAAM,wBAAwB,GAC5B,IAAI,CAAC,8CAA8C,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAA,cAAO,EACL,kDAAkD,WAAW,CAAC,IAAI,uBAAuB;oBACvF,2BAA2B,wBAAwB,CAAC,IAAI,CACtD,IAAI,CACL,KAAK;oBACN,6DAA6D;oBAC7D,oDAAoD,CACvD,CAAC;aACH;YACD,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,KAAK,CAAC,CAAC;SACjE;QAED,MAAM,eAAe,GAAG,CAAC,KAAwC,EAAE,EAAE,CACnE,cAAc,CAAC,IAAI,CACjB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CACrE,CAAC;QAEJ,OAAO,IAAI,qBAAS,EAAE,CAAC,GAAG,CACxB,gBAAgB,IAAA,kBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAChD,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;YAClC,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc;YACd,0BAA0B;YAC1B,oBAAoB;YACpB,gBAAgB;YAChB,QAAQ;YACR,UAAU,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY;YACpD,aAAa,EAAE,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,YAAY;YAC5D,UAAU,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,YAAY;YACtD,eAAe;YACf,gBAAgB;YAChB,uBAAuB;YACvB,WAAW;YACX,OAAO;YACP,WAAW;YACX,YAAY;YACZ,UAAU;YACV,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,eAAe;YACf,4BAA4B;YAC5B,YAAY;SACb,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,WAAkC;QACjD,MAAM,cAAc,GAAG,IAAA,mBAAU,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,yCAAmB,EAAE;aACtC,iBAAiB,CAAC,YAAY,CAAC;aAC/B,GAAG,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC;aACrC,MAAM,CAAC,gBAAgB,EAAE;YACxB,cAAc;YACd,GAAG,cAAc,MAAM;YACvB,MAAM,cAAc,YAAY;SACjC,CAAC,CAAC;QAEL,OAAO,IAAI,qBAAS,EAAE,CAAC,GAAG,CACxB,SAAS,IAAA,kBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EACzC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;YAClC,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;gBACxB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;gBAC7B,cAAc,EAAE,GAAG;aACpB,CAAC;YACF,YAAY;YACZ,UAAU,EACR,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC;gBACtC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SACrC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC1C,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACtC,CAAC;IAED,IAAI,+BAA+B;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC;IACtD,CAAC;IAES,yBAAyB,CACjC,OAAmC;QAEnC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,0BAA0B,CAAC;QACrE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACzD,CAAC;IAES,4BAA4B,CACpC,QAAsC;QAEtC,MAAM,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE7D,IAAI,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,IAAI,MAAK,WAAW,EAAE;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aACjC;iBAAM,IAAI,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,IAAI,MAAK,KAAK,EAAE;gBAC7C,MAAM,UAAU,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC7D,MAAM,UAAU,GACd,OAAO,CAAC,UAAU,CAAC,UAAU,KAAK,WAAW;oBAC3C,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,UAAU,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;wBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;qBACjC;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,IAAI,MAAK,UAAU,EAAE;gBAClD,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,UAAU,CAAC,UAAU,EAC7B,IAAA,kBAAS,EAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CACnC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,8CAA8C,CACtD,WAAkC;QAElC,MAAM,QAAQ,GAAG;YACf,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YACtD,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YAChE,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAClE,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAClC,CAAC;IAES,MAAM,CACd,QAAgB,EAChB,OAAgB,EAChB,OAA0B;QAE1B,MAAM,IAAI,GAAG,IAAA,uBAAe,EAC1B,GAAG,SAAS,YAAY,EACxB,QAAQ,EACR,OAAO,EACP,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;YAC5B,CAAC,CAAC,IAAA,iBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;CACF;AAnlBD,sEAmlBC"}
@@ -5,7 +5,7 @@
5
5
 
6
6
  {% if remaining.kind === 'arg' %}
7
7
  // Remaining Accounts.
8
- const remainingAccounts = {{ getArgVar(remaining.name) }}.map(address => ([address, {{ "true" if remaining.isWritable else "false" }}] as const));
8
+ const remainingAccounts = {{ getArgVar(remaining.name, argsObj) }}.map(address => ([address, {{ "true" if remaining.isWritable else "false" }}] as const));
9
9
  remainingAccounts.forEach((remainingAccount) => addAccountMeta(keys, signers, remainingAccount, false));
10
10
  {% elif remaining.kind === 'resolver' %}
11
11
  // Remaining Accounts.
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.GetRustRenderMapVisitor = void 0;
27
+ const nodes = __importStar(require("../../nodes"));
28
+ const shared_1 = require("../../shared");
29
+ const visitors_1 = require("../../visitors");
30
+ const RenderMap_1 = require("../RenderMap");
31
+ const utils_1 = require("../utils");
32
+ const GetRustTypeManifestVisitor_1 = require("./GetRustTypeManifestVisitor");
33
+ const RenderRustValueNode_1 = require("./RenderRustValueNode");
34
+ const RustImportMap_1 = require("./RustImportMap");
35
+ class GetRustRenderMapVisitor extends visitors_1.BaseThrowVisitor {
36
+ constructor(options = {}) {
37
+ var _a, _b, _c, _d;
38
+ super();
39
+ this.program = null;
40
+ this.options = {
41
+ renderParentInstructions: (_a = options.renderParentInstructions) !== null && _a !== void 0 ? _a : false,
42
+ dependencyMap: { ...options.dependencyMap },
43
+ typeManifestVisitor: (_b = options.typeManifestVisitor) !== null && _b !== void 0 ? _b : new GetRustTypeManifestVisitor_1.GetRustTypeManifestVisitor(),
44
+ byteSizeVisitor: (_c = options.byteSizeVisitor) !== null && _c !== void 0 ? _c : new visitors_1.GetByteSizeVisitor(),
45
+ resolvedInstructionInputVisitor: (_d = options.resolvedInstructionInputVisitor) !== null && _d !== void 0 ? _d : new visitors_1.GetResolvedInstructionInputsVisitor(),
46
+ };
47
+ }
48
+ visitRoot(root) {
49
+ var _a, _b;
50
+ (_b = (_a = this.byteSizeVisitor).registerDefinedTypes) === null || _b === void 0 ? void 0 : _b.call(_a, nodes.getAllDefinedTypes(root));
51
+ const programsToExport = root.programs.filter((p) => !p.internal);
52
+ const accountsToExport = nodes
53
+ .getAllAccounts(root)
54
+ .filter((a) => !a.internal);
55
+ const instructionsToExport = nodes
56
+ .getAllInstructionsWithSubs(root, !this.options.renderParentInstructions)
57
+ .filter((i) => !i.internal);
58
+ const definedTypesToExport = nodes
59
+ .getAllDefinedTypes(root)
60
+ .filter((t) => !t.internal);
61
+ const hasAnythingToExport = programsToExport.length > 0 ||
62
+ accountsToExport.length > 0 ||
63
+ instructionsToExport.length > 0 ||
64
+ definedTypesToExport.length > 0;
65
+ const ctx = {
66
+ root,
67
+ programsToExport,
68
+ accountsToExport,
69
+ instructionsToExport,
70
+ definedTypesToExport,
71
+ hasAnythingToExport,
72
+ };
73
+ const map = new RenderMap_1.RenderMap();
74
+ if (programsToExport.length > 0) {
75
+ map
76
+ .add('programs.rs', this.render('programsMod.njk', ctx))
77
+ .add('errors/mod.rs', this.render('errorsMod.njk', ctx));
78
+ }
79
+ if (accountsToExport.length > 0) {
80
+ map.add('accounts/mod.rs', this.render('accountsMod.njk', ctx));
81
+ }
82
+ if (instructionsToExport.length > 0) {
83
+ map.add('instructions/mod.rs', this.render('instructionsMod.njk', ctx));
84
+ }
85
+ if (definedTypesToExport.length > 0) {
86
+ map
87
+ .add('types/mod.rs', this.render('definedTypesMod.njk', ctx))
88
+ .add('types/helper/mod.rs', this.render('sharedPage.njk', ctx));
89
+ }
90
+ return map
91
+ .add('mod.rs', this.render('rootMod.njk', ctx))
92
+ .mergeWith(...root.programs.map((program) => (0, visitors_1.visit)(program, this)));
93
+ }
94
+ visitProgram(program) {
95
+ this.program = program;
96
+ const { name } = program;
97
+ const renderMap = new RenderMap_1.RenderMap()
98
+ .mergeWith(...program.accounts.map((account) => (0, visitors_1.visit)(account, this)))
99
+ .mergeWith(...program.definedTypes.map((type) => (0, visitors_1.visit)(type, this)));
100
+ // Internal programs are support programs that
101
+ // were added to fill missing types or accounts.
102
+ // They don't need to render anything else.
103
+ if (program.internal) {
104
+ this.program = null;
105
+ return renderMap;
106
+ }
107
+ renderMap
108
+ .mergeWith(...nodes
109
+ .getAllInstructionsWithSubs(program, !this.options.renderParentInstructions)
110
+ .map((ix) => (0, visitors_1.visit)(ix, this)))
111
+ .add(`errors/${(0, shared_1.snakeCase)(name)}.rs`, this.render('errorsPage.njk', {
112
+ imports: new RustImportMap_1.RustImportMap().toString(this.options.dependencyMap),
113
+ program,
114
+ errors: program.errors.map((error) => ({
115
+ ...error,
116
+ prefixedName: (0, shared_1.pascalCase)(program.prefix) + (0, shared_1.pascalCase)(error.name),
117
+ })),
118
+ }));
119
+ this.program = null;
120
+ return renderMap;
121
+ }
122
+ visitAccount(account) {
123
+ const typeManifest = (0, visitors_1.visit)(account, this.typeManifestVisitor);
124
+ // Seeds.
125
+ const seedsImports = new RustImportMap_1.RustImportMap();
126
+ const seeds = account.seeds.map((seed) => {
127
+ if (seed.kind === 'constant') {
128
+ const seedManifest = (0, visitors_1.visit)(seed.type, this.typeManifestVisitor);
129
+ const seedValue = seed.value;
130
+ const valueManifest = (0, RenderRustValueNode_1.renderRustValueNode)(seedValue, true);
131
+ seedValue.render = valueManifest.render;
132
+ seedsImports.mergeWith(valueManifest.imports);
133
+ return { ...seed, typeManifest: seedManifest };
134
+ }
135
+ if (seed.kind === 'variable') {
136
+ const seedManifest = (0, visitors_1.visit)(seed.type, this.typeManifestVisitor);
137
+ seedsImports.mergeWith(seedManifest.imports);
138
+ return { ...seed, typeManifest: seedManifest };
139
+ }
140
+ return seed;
141
+ });
142
+ const hasVariableSeeds = account.seeds.filter((seed) => seed.kind === 'variable').length > 0;
143
+ const { imports } = typeManifest;
144
+ if (hasVariableSeeds) {
145
+ imports.mergeWith(seedsImports);
146
+ }
147
+ return new RenderMap_1.RenderMap().add(`accounts/${(0, shared_1.snakeCase)(account.name)}.rs`, this.render('accountsPage.njk', {
148
+ account,
149
+ imports: imports
150
+ .remove(`generatedAccounts::${(0, shared_1.pascalCase)(account.name)}`)
151
+ .toString(this.options.dependencyMap),
152
+ program: this.program,
153
+ typeManifest,
154
+ seeds,
155
+ hasVariableSeeds,
156
+ }));
157
+ }
158
+ visitInstruction(instruction) {
159
+ // Imports.
160
+ const imports = new RustImportMap_1.RustImportMap();
161
+ imports.add(['borsh::BorshDeserialize', 'borsh::BorshSerialize']);
162
+ // canMergeAccountsAndArgs
163
+ const accountsAndArgsConflicts = this.getConflictsForInstructionAccountsAndArgs(instruction);
164
+ if (accountsAndArgsConflicts.length > 0) {
165
+ (0, shared_1.logWarn)(`[Rust] Accounts and args of instruction [${instruction.name}] have the following ` +
166
+ `conflicting attributes [${accountsAndArgsConflicts.join(', ')}]. ` +
167
+ `Thus, the conflicting arguments will be suffixed with "_arg". ` +
168
+ 'You may want to rename the conflicting attributes.');
169
+ }
170
+ // Instruction args.
171
+ const instructionArgs = [];
172
+ let hasArgs = false;
173
+ let hasOptional = false;
174
+ instruction.dataArgs.struct.fields.forEach((field) => {
175
+ var _a, _b, _c;
176
+ this.typeManifestVisitor.parentName =
177
+ (0, shared_1.pascalCase)(instruction.dataArgs.name) + (0, shared_1.pascalCase)(field.name);
178
+ this.typeManifestVisitor.nestedStruct = true;
179
+ const manifest = (0, visitors_1.visit)(field.child, this.typeManifestVisitor);
180
+ imports.mergeWith(manifest.imports);
181
+ const innerOptionType = nodes.isOptionTypeNode(field.child)
182
+ ? manifest.type.slice('Option<'.length, -1)
183
+ : null;
184
+ this.typeManifestVisitor.parentName = null;
185
+ this.typeManifestVisitor.nestedStruct = false;
186
+ let renderValue = null;
187
+ if (field.defaultsTo) {
188
+ const { imports: argImports, render: value } = (0, RenderRustValueNode_1.renderRustValueNode)(field.defaultsTo.value);
189
+ imports.mergeWith(argImports);
190
+ renderValue = value;
191
+ }
192
+ else {
193
+ hasArgs = true;
194
+ }
195
+ hasOptional = hasOptional || ((_a = field.defaultsTo) === null || _a === void 0 ? void 0 : _a.strategy) === 'optional';
196
+ const name = accountsAndArgsConflicts.includes(field.name)
197
+ ? `${field.name}_arg`
198
+ : field.name;
199
+ instructionArgs.push({
200
+ name,
201
+ type: manifest.type,
202
+ default: ((_b = field.defaultsTo) === null || _b === void 0 ? void 0 : _b.strategy) === 'omitted',
203
+ optional: ((_c = field.defaultsTo) === null || _c === void 0 ? void 0 : _c.strategy) === 'optional',
204
+ innerOptionType,
205
+ value: renderValue,
206
+ });
207
+ });
208
+ const typeManifest = (0, visitors_1.visit)(instruction, this.typeManifestVisitor);
209
+ return new RenderMap_1.RenderMap().add(`instructions/${(0, shared_1.snakeCase)(instruction.name)}.rs`, this.render('instructionsPage.njk', {
210
+ instruction,
211
+ imports: imports
212
+ .remove(`generatedInstructions::${(0, shared_1.pascalCase)(instruction.name)}`)
213
+ .toString(this.options.dependencyMap),
214
+ instructionArgs,
215
+ hasArgs,
216
+ hasOptional,
217
+ program: this.program,
218
+ typeManifest,
219
+ }));
220
+ }
221
+ visitDefinedType(definedType) {
222
+ const typeManifest = (0, visitors_1.visit)(definedType, this.typeManifestVisitor);
223
+ const imports = new RustImportMap_1.RustImportMap().mergeWithManifest(typeManifest);
224
+ return new RenderMap_1.RenderMap().add(`types/${(0, shared_1.snakeCase)(definedType.name)}.rs`, this.render('definedTypesPage.njk', {
225
+ definedType,
226
+ imports: imports
227
+ .remove(`generatedTypes::${(0, shared_1.pascalCase)(definedType.name)}`)
228
+ .toString(this.options.dependencyMap),
229
+ typeManifest,
230
+ }));
231
+ }
232
+ get typeManifestVisitor() {
233
+ return this.options.typeManifestVisitor;
234
+ }
235
+ get byteSizeVisitor() {
236
+ return this.options.byteSizeVisitor;
237
+ }
238
+ get resolvedInstructionInputVisitor() {
239
+ return this.options.resolvedInstructionInputVisitor;
240
+ }
241
+ getConflictsForInstructionAccountsAndArgs(instruction) {
242
+ const allNames = [
243
+ ...instruction.accounts.map((account) => account.name),
244
+ ...instruction.dataArgs.struct.fields.map((field) => field.name),
245
+ ];
246
+ const duplicates = allNames.filter((e, i, a) => a.indexOf(e) !== i);
247
+ return [...new Set(duplicates)];
248
+ }
249
+ render(template, context, options) {
250
+ const code = (0, utils_1.resolveTemplate)(`${__dirname}/templates`, template, context, options);
251
+ return code;
252
+ }
253
+ }
254
+ exports.GetRustRenderMapVisitor = GetRustRenderMapVisitor;
255
+ //# sourceMappingURL=GetRustRenderMapVisitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetRustRenderMapVisitor.js","sourceRoot":"","sources":["../../../../src/renderers/rust/GetRustRenderMapVisitor.ts"],"names":[],"mappings":"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"}