@helios-lang/effect 0.1.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 (64) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +3 -0
  3. package/dist/Address.js +13 -0
  4. package/dist/Address.js.map +1 -0
  5. package/dist/Bech32.js +153 -0
  6. package/dist/Bech32.js.map +1 -0
  7. package/dist/Cbor.js +1171 -0
  8. package/dist/Cbor.js.map +1 -0
  9. package/dist/Uplc/Cek.js +3 -0
  10. package/dist/Uplc/Cek.js.map +1 -0
  11. package/dist/Uplc/Data.js +171 -0
  12. package/dist/Uplc/Data.js.map +1 -0
  13. package/dist/Uplc/DataSchema.js +118 -0
  14. package/dist/Uplc/DataSchema.js.map +1 -0
  15. package/dist/Uplc/Primitive.js +23 -0
  16. package/dist/Uplc/Primitive.js.map +1 -0
  17. package/dist/Uplc/index.js +4 -0
  18. package/dist/Uplc/index.js.map +1 -0
  19. package/dist/index.js +5 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/internal/Base32.js +201 -0
  22. package/dist/internal/Base32.js.map +1 -0
  23. package/dist/internal/BigEndian.js +56 -0
  24. package/dist/internal/BigEndian.js.map +1 -0
  25. package/dist/internal/Bits.js +300 -0
  26. package/dist/internal/Bits.js.map +1 -0
  27. package/dist/internal/Bytes.js +293 -0
  28. package/dist/internal/Bytes.js.map +1 -0
  29. package/dist/internal/Flat.js +298 -0
  30. package/dist/internal/Flat.js.map +1 -0
  31. package/dist/internal/Float.js +154 -0
  32. package/dist/internal/Float.js.map +1 -0
  33. package/dist/internal/Utf8.js +44 -0
  34. package/dist/internal/Utf8.js.map +1 -0
  35. package/eslint.config.mjs +30 -0
  36. package/package.json +36 -0
  37. package/src/Address.ts +20 -0
  38. package/src/Bech32.test.ts +117 -0
  39. package/src/Bech32.ts +198 -0
  40. package/src/Cbor.test.ts +1610 -0
  41. package/src/Cbor.ts +1704 -0
  42. package/src/Uplc/Cek.ts +92 -0
  43. package/src/Uplc/Data.ts +259 -0
  44. package/src/Uplc/DataSchema.test.ts +207 -0
  45. package/src/Uplc/DataSchema.ts +181 -0
  46. package/src/Uplc/Primitive.ts +56 -0
  47. package/src/Uplc/index.ts +3 -0
  48. package/src/index.ts +4 -0
  49. package/src/internal/Base32.test.ts +219 -0
  50. package/src/internal/Base32.ts +341 -0
  51. package/src/internal/BigEndian.test.ts +79 -0
  52. package/src/internal/BigEndian.ts +67 -0
  53. package/src/internal/Bits.test.ts +300 -0
  54. package/src/internal/Bits.ts +398 -0
  55. package/src/internal/Bytes.test.ts +369 -0
  56. package/src/internal/Bytes.ts +343 -0
  57. package/src/internal/Flat.test.ts +29 -0
  58. package/src/internal/Flat.ts +387 -0
  59. package/src/internal/Float.test.ts +51 -0
  60. package/src/internal/Float.ts +190 -0
  61. package/src/internal/Utf8.test.ts +69 -0
  62. package/src/internal/Utf8.ts +58 -0
  63. package/tsconfig.build.json +14 -0
  64. package/tsconfig.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cbor.js","sourceRoot":"","sources":["../src/Cbor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAiB1C,MAAM,UAAU,GAAG,GAAG,CAAA,CAAC,gBAAgB;AACvC,MAAM,SAAS,GAAG,GAAG,CAAA,CAAC,gBAAgB;AAEtC,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAElE;IACA,YAAY,OAAqB,EAAE,OAAe;QAChD,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAyB,EAAE,CAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAElC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,oCAAoC,CACrC,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,IAAI,CAAC,EAAE,CAAC;QACN,OAAO,CAAC,SAAS,CAAC,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACpE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAA;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAsB,EAA0B,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAExB,kBAAkB;QAElB,IAAI,GAAG,GAAa,EAAE,CAAA;QAEtB,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC1C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;YACpE,CAAC;YAED,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;QAC5D,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,KAAqC,EACrC,kBAA2B,KAAK;IAEhC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;IAEpC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;QAE5B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAEjC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEb,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACrE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAEtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;AAC3D,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAuB,EAAE,CAC1E,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAEpD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,CAME,YAIc,EACd,EAAE,CACJ,CACE,KAAsB,EActB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAE1C,MAAM,GAAG,GAAU,KAAK,CAAC,CAAC,UAAU,CAClC,CAAC,UAAwB,EAAE,CAAS,EAAE,EAAE,CACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAA6B,YAAY,CAAC,CAAC,CAAC,CAAA;YAEzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,YAAY,YAAY,CAAC,MAAM,0BAA0B,CAAC,EAAE,CAC7D,CAAA;YACH,CAAC;YAED,+DAA+D;YAC/D,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,CAAC,CACL,CAAC,MAAM,CAAC,CAAA;IAET,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,YAAY,YAAY,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,CACjE,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,CAWf,CAAA;AACH,CAAC,CAAC,CAAA;AAEN;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAsB,EACmD,EAAE,CAC3E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAEhD,OAAO,CAAC,GAAG,EAAE,WAAW,CAAiC,CAAA;AAC3D,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAwB,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,SAAS;IACT,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,iCAAiC,CAAC,EAAE,CACrC,CAAA;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACrD,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,mCAAmC,CACpC,CAAA;QACH,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACzC,CAAC;SAAM,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,iCAAiC,CAAC,EAAE,CACrC,CAAA;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,iCAAiC,CAAC,EAAE,CACrC,CAAA;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,iCAAiC,CAAC,EAAE,CACrC,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,MAA2B;IAE3B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;SAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;SAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAClC,OAAO,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;aAC1B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACtE,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAChD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;IACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CACL,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,CACpE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC,CAAC,CACH,CAAA;AAEH,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,YAAY,GAAG,GAAG,CAAA;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAwB,EAAE,CAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAErC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,OAAO,GAAG,CAAC,CACrE,CAAA;QACH,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,OAAO,GAAG,CAAC,CACrE,CAAA;QACH,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,OAAO,GAAG,CAAC,CACpE,CAAA;QACH;YACE,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAwB,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAErC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,OAAO,GAAG,CAAC,CAC1E,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAwB,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAErC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,OAAO,GAAG,CAAC,CAC1E,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAwB,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAErC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,OAAO,GAAG,CAAC,CAC1E,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACrE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CACH,MAAM,CAAC,GAAG,CACR,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CACvE,CACF,CAAA;AAEL;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACvE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACvE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACvE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAA;AAErD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,EAAU;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAElB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAsB,EACU,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAEtC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAE1C,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,CAAC;SAAM,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAE7C,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACf,CAAC;SAAM,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,6EAA6E,CAC9E,CAAA;QACH,CAAC;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACf,CAAC;SAAM,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,6EAA6E,CAC9E,CAAA;QACH,CAAC;QAED,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;SAAM,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,6EAA6E,CAC9E,CAAA;QACH,CAAC;QAED,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACxE,oFAAoF;QACpF,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,uBAAuB,CAAC,OAAO,EAAE,kCAAkC,CACpE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAkB;IACzD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;SAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,GAAG,CAAC,GAAG,EAAE;YACX,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SACzB,CAAA;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC;QACnE,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE9B,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;QACD,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;SAAM,IACL,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAC9B,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAC/D,CAAC;QACD,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE9B,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;QACD,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAsB,EAAE,CAC1E,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAsB,EACQ,EAAE,CAChC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;AAEzE;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAwB,EAAE,CACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAA;IACV,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAA;IAChB,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAA;IAChE,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,iBAAiB,GAAG,CACxB,MAAoB,EACpB,SAA6B,SAAS,EAChB,EAAE;IACxB,OAAO,CACL,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CACtE,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,WAAW,CACb,MAAM,EACN,mCAAmC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAC1D,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,CAAkB;IAC1C,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5C,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACnE,2BAA2B,CAAC,KAAK,CAAC,CAAC,IAAI,CACrC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAC,CACH,CAAA;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GACrB,CACE,WAA8B,EACmB,EAAE,CACrD,CAAC,KAAsB,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAQ,EAAE,CAAA;IAEnB,IAAI,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAExB,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC,EAAE,CAAA;QACL,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QACrC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;QACrE,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,CAAA;AAEN;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAsB,EACgD,EAAE,CACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,IAAI,SAA4D,CAAA;IAEhE,IAAI,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAExB,SAAS,GAAG,GAAG,EAAE,CACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;gBACrC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxB,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;QACvE,CAAC;QAED,SAAS,GAAG,GAAG,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,CAAC,SAAS,EAAE,CAAA;IAElB,MAAM,UAAU,GAAG,CAAI,WAA8B,EAAmB,EAAE,CACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEzC,CAAC,EAAE,CAAA;QAEH,KAAK,CAAC,CAAC,SAAS,EAAE,CAAA;QAElB,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEJ,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAAsB,EAGtB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,IAAI,GAAG,KAAK,CAAA;IAChB,IAAI,SAA4D,CAAA;IAEhE,IAAI,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAExB,SAAS,GAAG,GAAG,EAAE,CACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;gBACrC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxB,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;QACzE,CAAC;QAED,SAAS,GAAG,GAAG,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,CAAC,SAAS,EAAE,CAAA;IAElB,MAAM,UAAU,GAAG,CACjB,WAA8B,EACD,EAAE,CAC/B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEzC,CAAC,EAAE,CAAA;QAEH,KAAK,CAAC,CAAC,SAAS,EAAE,CAAA;QAElB,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEJ,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CAAA;AAEJ;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAA0B;IACnD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACzE,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,OAAO,eAAe,CAAC,CAAC,CAAC,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAyB;IACnD;;OAEG;IACH,IAAI,GAAG,GAAa,EAAE,CAAA;IACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,CAAA;AAE5B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,OAAO,oBAAoB,EAAE;SAC1B,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAChC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAA0B;IACtD,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CACpD,kBAAkB,CAAC,KAAK,CAAC,CAC1B,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACpE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,OAAO,CACL,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACnC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CACzC,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACzE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAEpD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CAAe,UAAyB,EAAE,YAA6B,EAAE,EAAE,CAC3E,CAAC,KAAsB,EAAkC,EAAE,CACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAExB,OAAO,KAAK,CAAC,CAAC,cAAc,CAC1B,MAAM,EACN,UAAU,EACV,YAAY,CACb,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,YAAY,CACxB,MAAM,EACN,MAAM,CAAC,CAAC,CAAC,EACT,UAAU,EACV,YAAY,CACb,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEN;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,CACnB,MAAoB,EACpB,CAAS,EACT,UAAyB,EACzB,YAA6B,EACG,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAqB,EAAE,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,CAAA;AAEJ;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,CACrB,MAAoB,EACpB,UAAyB,EACzB,YAA6B,EACG,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAqB,EAAE,CAAA;IAEhC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAExB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAA6B;IACrD,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAA6B;IACxD,OAAO,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;AAChF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAA6B;IAC1D,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAA6B;IACtD,IAAI,GAAG,GAAa,EAAE,CAAA;IAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAErB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACnE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACjE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAEpD,MAAM,SAAS,GAAG,GAAG,CAAA,CAAC,gBAAgB;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAsB,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAElC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,QAAc,IAAI;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAA;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACpE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KACpB,OAAO,EAAE;KACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAmD,aAAuB,EAAE,EAAE,CAC9E,CACE,KAAsB,EAGrB,EAAE;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAwB,EAAE,CAAA;IAEnC,OAAO,SAAS,CACd,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAC1B,CAAC,UAAU,EAAE,EAAE,CACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;QAEhD,MAAM,OAAO,GAA6B,aAAa,CAAC,GAAG,CAAC,CAAA;QAE5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,UAAU,EACV,0BAA0B,GAAG,EAAE,CAChC,CAAA;QACH,CAAC;QAED,sEAAsE;QACtE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAErC,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC,CAAC,CACL,CAAC,MAAM,CAAC,CAAC,IAAI,CACZ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACd,OAAO,GAIN,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAmD,aAAuB,EAAE,EAAE,CAC9E,CACE,KAAsB,EAGrB,EAAE;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAwB,EAAE,CAAA;IAEnC,OAAO,SAAS,CACd,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAC1B,CAAC,UAAU,EAAE,EAAE,CACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAE3C,MAAM,OAAO,GAA6B,aAAa,CAAC,GAAG,CAAC,CAAA;QAE5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,UAAU,EACV,0BAA0B,GAAG,EAAE,CAChC,CAAA;QACH,CAAC;QAED,sEAAsE;QACtE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAErC,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC,CAAC,CACL,CAAC,MAAM,CAAC,CAAC,IAAI,CACZ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACd,OAAO,GAIN,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwD;IAExD,MAAM,OAAO,GACX,MAAM,YAAY,GAAG;QACnB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,CAAC,CAAC;SACR,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC;SACR,CAAC,CAAA;IAER,OAAO,YAAY,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwD;IAExD,MAAM,OAAO,GACX,MAAM,YAAY,GAAG;QACnB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,CAAC;SACR,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5E,OAAO,YAAY,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACtE,KAAK,CAAC,KAAK,CAAC,CAAA;AAEd,MAAM,OAAO,GAAG,IAAI,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CAAI,WAAuB,EAAE,EAAE,CAC/B,CAAC,KAAsB,EAAqB,EAAE,CAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,gBAAgB,OAAO,qBAAqB,GAAG,EAAE,CAClD,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEN;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACnE,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAwB,EAAE,CAC3E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9B,oBAAoB,CAAC,SAAS,CAAC,CAAC,IAAI,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,IAAI,CAAC,CAAA;QACb,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,CAAA;QAET,OAAO,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,KAAsB,EAAwB,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAChE,MAAM,CAAC,QAAQ,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,OAAO,GAAG,CAAC,CAC9D,CACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,QAAiB,KAAK;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAE7C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,6CAA6C;YAC7C,sBAAsB;YACtB,IAAI,cAAc,GAAG,EAAE,CAAA;YACvB,IAAI,KAAe,CAAA;YACnB,OAAO,IAAI,EAAE,CAAC;gBACZ,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAA;gBAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAK;gBACP,CAAC;gBACD,cAAc,EAAE,CAAA;YAClB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACjE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAA;QACnB,CAAC;QAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACtE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAwB,EAAE,CACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAoB;IAC5C,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/B,CAAC;SAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAuB,EAAE,CACnE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,KAAsB,EACU,EAAE,CAClC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CACrE,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAsB,EACmD,EAAE,CAC3E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAEhD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAIE,YAA2B,EAC3B,mBAA+C,EAAE,EACjD,EAAE,CACJ,CACE,KAAsB,EActB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAEtC;;;OAGG;IACH,MAAM,GAAG,GAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CACrD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,OAAO,GAA6B,YAAY,CAAC,CAAC,CAAC,CAAA;QAEvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,gBAAgB,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAEnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,UAAU,EACV,oBACE,YAAY,CAAC,MAAM,GAAG,gBAAgB,CAAC,MACzC,yBAAyB,CAAC,EAAE,CAC7B,CAAA;YACH,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC,CAAC,CACH,CAAC,MAAM,CAAC,CAAA;IAET,IAAI,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAC3B,MAAM,EACN,qBAAqB,YAAY,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,CACzE,CAAA;IACH,CAAC;IAED,OAAO,GAaN,CAAA;AACH,CAAC,CAAC,CAAA;AAEN;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAsB;IAEtB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,aAAa,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,KAAsB;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ //import { Either } from "effect"
2
+ export {};
3
+ //# sourceMappingURL=Cek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cek.js","sourceRoot":"","sources":["../../src/Uplc/Cek.ts"],"names":[],"mappings":"AAAA,iCAAiC"}
@@ -0,0 +1,171 @@
1
+ import { Effect, Schema } from "effect";
2
+ import * as Bytes from "../internal/Bytes.js";
3
+ import * as Cbor from "../Cbor.js";
4
+ const SuspendedData = Schema.suspend(() => Data);
5
+ export const ByteArray = Schema.Struct({
6
+ bytes: Schema.String
7
+ });
8
+ export function makeByteArray(bytes) {
9
+ return { bytes: Bytes.toHex(bytes) };
10
+ }
11
+ /**
12
+ * No need to serialize
13
+ *
14
+ * Cannot used Branded types due Schema issues.
15
+ */
16
+ export const Int = Schema.Struct({
17
+ int: Schema.BigIntFromNumber
18
+ });
19
+ export function makeInt(value) {
20
+ return { int: BigInt(value) };
21
+ }
22
+ export const List = Schema.Struct({
23
+ list: Schema.Array(SuspendedData)
24
+ });
25
+ export function makeList(items) {
26
+ return {
27
+ list: items
28
+ };
29
+ }
30
+ export const Map = Schema.Struct({
31
+ map: Schema.Array(Schema.Struct({
32
+ k: SuspendedData,
33
+ v: SuspendedData
34
+ }))
35
+ });
36
+ export function makeMap(entries) {
37
+ return {
38
+ map: entries.map(([k, v]) => ({ k, v }))
39
+ };
40
+ }
41
+ export const Constr = Schema.Struct({
42
+ constructor: Schema.Number,
43
+ fields: Schema.Array(SuspendedData)
44
+ });
45
+ export function makeConstr(tag, fields) {
46
+ return {
47
+ constructor: Number(tag),
48
+ fields
49
+ };
50
+ }
51
+ export const Data = Schema.Union(ByteArray, Constr, Int, List, Map, Constr);
52
+ export const DataUnencoded = Schema.typeSchema(Data);
53
+ /**
54
+ * Simple recursive CBOR decoder
55
+ * @param bytes
56
+ * @returns
57
+ */
58
+ export const decode = (bytes) => Effect.gen(function* () {
59
+ const stream = Bytes.makeStream(bytes);
60
+ if (yield* Cbor.isList(stream)) {
61
+ const items = yield* Cbor.decodeList(decode)(stream);
62
+ return makeList(items);
63
+ }
64
+ else if (yield* Cbor.isBytes(stream)) {
65
+ return makeByteArray(yield* Cbor.decodeBytes(stream));
66
+ }
67
+ else if (yield* Cbor.isMap(stream)) {
68
+ const entries = yield* Cbor.decodeMap(decode, decode)(stream);
69
+ return makeMap(entries);
70
+ }
71
+ else if (yield* Cbor.isConstr(stream)) {
72
+ const [tag, fields] = yield* Cbor.decodeConstr(decode)(stream);
73
+ return makeConstr(tag, fields);
74
+ }
75
+ else {
76
+ return makeInt(yield* Cbor.decodeInt(stream));
77
+ }
78
+ });
79
+ /**
80
+ * Simple recursive CBOR encoder
81
+ * @param data
82
+ * @returns
83
+ */
84
+ export function encode(data) {
85
+ if ("bytes" in data) {
86
+ return Cbor.encodeBytes(data.bytes.slice(), true);
87
+ }
88
+ else if ("fields" in data) {
89
+ return Cbor.encodeConstr(data.constructor, data.fields.map(encode));
90
+ }
91
+ else if ("int" in data) {
92
+ return Cbor.encodeInt(data.int);
93
+ }
94
+ else if ("list" in data) {
95
+ return Cbor.encodeList(data.list.map(encode));
96
+ }
97
+ else if ("map" in data) {
98
+ return Cbor.encodeMap(data.map.map(({ k, v }) => [encode(k), encode(v)]));
99
+ }
100
+ else {
101
+ throw new Error("Unrecognized Uplc.Data type");
102
+ }
103
+ }
104
+ export const NODE_MEM_SIZE = 4;
105
+ /**
106
+ * Simple recursive algorithm
107
+ * @param data
108
+ * @returns
109
+ */
110
+ export function memSize(data) {
111
+ if ("bytes" in data) {
112
+ return NODE_MEM_SIZE + calcBytesMemSize(data.bytes);
113
+ }
114
+ else if ("fields" in data) {
115
+ return data.fields.reduce((prev, field) => prev + memSize(field), NODE_MEM_SIZE);
116
+ }
117
+ else if ("int" in data) {
118
+ return NODE_MEM_SIZE + calcIntMemSize(data.int);
119
+ }
120
+ else if ("list" in data) {
121
+ return data.list.reduce((prev, item) => prev + memSize(item), NODE_MEM_SIZE);
122
+ }
123
+ else if ("map" in data) {
124
+ return data.map.reduce((prev, { k, v }) => prev + memSize(k) + memSize(v), NODE_MEM_SIZE);
125
+ }
126
+ else {
127
+ throw new Error("Unrecognized Uplc.Data type");
128
+ }
129
+ }
130
+ /**
131
+ * Calculates the mem size of a byte array without the DATA_NODE overhead.
132
+ * @param bytes
133
+ * @returns
134
+ */
135
+ export function calcBytesMemSize(bytes) {
136
+ const n = Bytes.toArray(bytes).length;
137
+ if (n === 0) {
138
+ return 1; // this is so annoying: haskell reference implementation says it should be 0, but current (20220925) testnet and mainnet settings say it's 1
139
+ }
140
+ else {
141
+ return Math.floor((n - 1) / 8) + 1;
142
+ }
143
+ }
144
+ /**
145
+ * Calculate the mem size of a integer (without the DATA_NODE overhead)
146
+ * @param value
147
+ * @returns
148
+ */
149
+ export function calcIntMemSize(value) {
150
+ if (value == 0n) {
151
+ return 1;
152
+ }
153
+ else {
154
+ const abs = value > 0n ? value : -value;
155
+ return Math.floor(log2i(abs) / 64) + 1;
156
+ }
157
+ }
158
+ /**
159
+ * Math.log2 truncates, but we need a rounding down version
160
+ * @param x positive number
161
+ * @returns
162
+ */
163
+ export function log2i(x) {
164
+ let p = 0;
165
+ while (x > 1n) {
166
+ x >>= 1n;
167
+ p++;
168
+ }
169
+ return p;
170
+ }
171
+ //# sourceMappingURL=Data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Data.js","sourceRoot":"","sources":["../../src/Uplc/Data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { Effect, Encoding, ParseResult, Schema } from "effect";
2
+ import { decode as decodeUtf8, encode as encodeUtf8 } from "../internal/Utf8.js";
3
+ import { DataUnencoded as Data } from "./Data.js";
4
+ const BigIntSchema = Schema.transformOrFail(Data, Schema.BigIntFromSelf, {
5
+ strict: true,
6
+ decode: (data) => {
7
+ if ("int" in data) {
8
+ return ParseResult.succeed(data.int);
9
+ }
10
+ else {
11
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected IntData"));
12
+ }
13
+ },
14
+ encode: (value) => ParseResult.succeed({ int: value })
15
+ });
16
+ export { BigIntSchema as BigInt };
17
+ export const Int = Schema.transformOrFail(Data, Schema.Int, {
18
+ strict: true,
19
+ decode: (data) => {
20
+ if ("int" in data) {
21
+ return ParseResult.succeed(Number(data.int));
22
+ }
23
+ else {
24
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected IntData"));
25
+ }
26
+ },
27
+ encode: (value) => {
28
+ if (value % 1.0 != 0) {
29
+ return ParseResult.fail(new ParseResult.Unexpected(value, "not an integer"));
30
+ }
31
+ else {
32
+ return ParseResult.succeed({ int: BigInt(Math.round(value)) });
33
+ }
34
+ }
35
+ });
36
+ export const ByteArray = Schema.transformOrFail(Data, Schema.Uint8ArrayFromHex, {
37
+ strict: true,
38
+ decode: (data) => {
39
+ if ("bytes" in data) {
40
+ return ParseResult.succeed(data.bytes);
41
+ }
42
+ else {
43
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected ByteArrayData"));
44
+ }
45
+ },
46
+ encode: (hex) => ParseResult.succeed({ bytes: hex })
47
+ });
48
+ const StringSchema = Schema.transformOrFail(Data, Schema.String, {
49
+ strict: true,
50
+ decode: (data) => {
51
+ if ("bytes" in data) {
52
+ return decodeUtf8(data.bytes).pipe(Effect.mapError((e) => {
53
+ return new ParseResult.Unexpected(data.bytes, e.message);
54
+ }));
55
+ }
56
+ else {
57
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected ByteArrayData"));
58
+ }
59
+ },
60
+ encode: (s) => ParseResult.succeed({ bytes: Encoding.encodeHex(encodeUtf8(s)) })
61
+ });
62
+ export { StringSchema as String };
63
+ const ArraySchema = (itemSchema) => Schema.transformOrFail(Data, Schema.Array(itemSchema), {
64
+ strict: true,
65
+ decode: (data) => {
66
+ if ("list" in data) {
67
+ return ParseResult.succeed(data.list);
68
+ }
69
+ else {
70
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected ListData"));
71
+ }
72
+ },
73
+ encode: (items) => ParseResult.succeed({ list: items })
74
+ });
75
+ export { ArraySchema as Array };
76
+ export const Struct = (fieldSchemas) => Schema.transformOrFail(Data, Schema.Struct(fieldSchemas), {
77
+ strict: true,
78
+ decode: (data) => {
79
+ if ("list" in data) {
80
+ return Effect.all(Object.entries(fieldSchemas).map(([fieldName], i) => {
81
+ if (i >= data.list.length) {
82
+ return Effect.fail(new ParseResult.Unexpected(data, `expected at least ${i + 1} entries in ListData`));
83
+ }
84
+ const itemData = data.list[i];
85
+ return Effect.succeed([fieldName, itemData]);
86
+ })).pipe(Effect.map(Object.fromEntries));
87
+ }
88
+ else {
89
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected ListData"));
90
+ }
91
+ },
92
+ encode: (fields) => ParseResult.succeed({ list: Object.values(fields) })
93
+ });
94
+ export const EnumVariant = (tag, fieldSchemas) => Schema.transformOrFail(Data, Schema.Struct(fieldSchemas), {
95
+ strict: true,
96
+ decode: (data) => {
97
+ if ("fields" in data) {
98
+ if (data.constructor != Number(tag)) {
99
+ return ParseResult.fail(new ParseResult.Unexpected(data, `expected ConstrData with constructor tag ${tag}`));
100
+ }
101
+ return Effect.all(Object.entries(fieldSchemas).map(([fieldName], i) => {
102
+ if (i >= data.fields.length) {
103
+ return Effect.fail(new ParseResult.Unexpected(data, `expected at least ${i + 1} entries in ConstrData`));
104
+ }
105
+ const itemData = data.fields[i];
106
+ return Effect.succeed([fieldName, itemData]);
107
+ })).pipe(Effect.map(Object.fromEntries));
108
+ }
109
+ else {
110
+ return ParseResult.fail(new ParseResult.Unexpected(data, "expected ConstrData"));
111
+ }
112
+ },
113
+ encode: (fields) => ParseResult.succeed({
114
+ constructor: Number(tag),
115
+ fields: Object.values(fields)
116
+ })
117
+ });
118
+ //# sourceMappingURL=DataSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSchema.js","sourceRoot":"","sources":["../../src/Uplc/DataSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Brand, Schema } from "effect";
2
+ export const makeBool = Brand.nominal();
3
+ export const makeByteArray = Brand.nominal();
4
+ export const Int = Schema.BigInt.pipe(Schema.brand("Int"));
5
+ export const makeInt = Brand.nominal();
6
+ export function makeList(itemType, items) {
7
+ return {
8
+ _tag: "List",
9
+ itemType,
10
+ items
11
+ };
12
+ }
13
+ export function makePair(first, second) {
14
+ return {
15
+ _tag: "Pair",
16
+ first,
17
+ second
18
+ };
19
+ }
20
+ export const makeString = Brand.nominal();
21
+ const makeUnitInternal = Brand.nominal();
22
+ export const makeUnit = () => makeUnitInternal({});
23
+ //# sourceMappingURL=Primitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Primitive.js","sourceRoot":"","sources":["../../src/Uplc/Primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAItC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAQ,CAAA;AAI7C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAa,CAAA;AAEvD,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAI1D,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAO,CAAA;AAQ3C,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,KAAkB;IAC3D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,KAAK;KACN,CAAA;AACH,CAAC;AAQD,MAAM,UAAU,QAAQ,CAAC,KAAgB,EAAE,MAAiB;IAC1D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK;QACL,MAAM;KACP,CAAA;AACH,CAAC;AAID,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAU,CAAA;AAIjD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,EAAQ,CAAA;AAE9C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * as Data from "./Data.js";
2
+ export * as DataSchema from "./DataSchema.js";
3
+ export * as Primitive from "./Primitive.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Uplc/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * as Address from "./Address.js";
2
+ export * as Bech32 from "./Bech32.js";
3
+ export * as Cbor from "./Cbor.js";
4
+ export * as Uplc from "./Uplc";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,201 @@
1
+ import { Encoding, Either } from "effect";
2
+ import * as Bits from "./Bits.js";
3
+ export const DEFAULT_ALPHABET = "abcdefghijklmnopqrstuvwxyz234567";
4
+ export const DEFAULT_PAD_CHAR = "=";
5
+ export const DEFAULT_PROPS = {
6
+ alphabet: DEFAULT_ALPHABET,
7
+ padChar: DEFAULT_PAD_CHAR,
8
+ strict: false
9
+ };
10
+ export const DEFAULT = /* @__PURE__ */ make();
11
+ /**
12
+ * @param props
13
+ * @returns
14
+ */
15
+ export function make(props = DEFAULT_PROPS) {
16
+ const alphabet = props.alphabet ?? DEFAULT_ALPHABET;
17
+ const padChar = "padChar" in props ? props.padChar : "";
18
+ const strict = "strict" in props ? (props.strict ?? false) : false;
19
+ if (alphabet.length != 32) {
20
+ throw new Error(`Expected base32 alphabet with 32 characters, got ${alphabet.length} characters`);
21
+ }
22
+ if (new Set(alphabet.split("")).size != 32) {
23
+ throw new Error("Invalid base32 alphabet, doesn't consist 32 unique characters");
24
+ }
25
+ if ("padChar" in props && padChar.length != 1) {
26
+ throw new Error("Expected single base32 padChar");
27
+ }
28
+ if ("padChar" in props && alphabet.indexOf(padChar) != -1) {
29
+ throw new Error("Base32 padChar can't be part of alphabet");
30
+ }
31
+ return new Base32Impl(alphabet, padChar, strict);
32
+ }
33
+ class Base32Impl {
34
+ alphabet;
35
+ padChar;
36
+ strict;
37
+ constructor(alphabet, padChar, strict) {
38
+ this.alphabet = alphabet;
39
+ this.padChar = padChar;
40
+ this.strict = strict;
41
+ }
42
+ /**
43
+ * Decodes a Base32 string into bytes.
44
+ * @param encoded
45
+ * @returns
46
+ */
47
+ decode(encoded) {
48
+ const writer = Bits.makeWriter();
49
+ const rawResult = this.decodeRaw(encoded);
50
+ if (rawResult._tag == "Left") {
51
+ return Either.left(rawResult.left);
52
+ }
53
+ const raw = rawResult.right;
54
+ const n = raw.length;
55
+ raw.forEach((code, i) => {
56
+ if (i == n - 1) {
57
+ // last, make sure we align to byte
58
+ const nCut = n * 5 - 8 * Math.floor((n * 5) / 8);
59
+ const bits = Bits.pad(code.toString(2), 5);
60
+ writer.writeBits(bits.slice(0, 5 - nCut));
61
+ }
62
+ else {
63
+ const bits = Bits.pad(code.toString(2), 5);
64
+ writer.writeBits(bits);
65
+ }
66
+ });
67
+ const result = writer.finalize(false);
68
+ return Either.right(new Uint8Array(result));
69
+ }
70
+ /**
71
+ * @param encoded
72
+ * @returns array with numbers in range [0,32)
73
+ */
74
+ decodeRaw(encoded) {
75
+ const trimResult = trim(encoded, this.padChar, this.strict);
76
+ if (trimResult._tag == "Left") {
77
+ return Either.left(trimResult.left);
78
+ }
79
+ encoded = trimResult.right;
80
+ const n = encoded.length;
81
+ const res = [];
82
+ for (let i = 0; i < n; i++) {
83
+ const c = encoded[i];
84
+ if (c == this.padChar) {
85
+ // TODO: yield with Effect
86
+ return Either.left(Encoding.DecodeException(encoded, `Unexpected padding character '${c}' at position ${i}`));
87
+ }
88
+ const code = this.alphabet.indexOf(c.toLowerCase());
89
+ if (code < 0) {
90
+ return Either.left(Encoding.DecodeException(encoded, `Invalid base32 character '${c}' at position ${i}`));
91
+ }
92
+ else if (i == n - 1) {
93
+ const nBitsExtra = n * 5 - Math.floor((n * 5) / 8) * 8;
94
+ if ((((1 << nBitsExtra) - 1) & code) != 0) {
95
+ return Either.left(Encoding.DecodeException(encoded, `Invalid base32 final character '${c}'`));
96
+ }
97
+ }
98
+ res.push(code);
99
+ }
100
+ return Either.right(res);
101
+ }
102
+ /**
103
+ * Encodes bytes in using Base32.
104
+ * @param bytes hex encoded or list of uint8 numbers
105
+ * @returns
106
+ */
107
+ encode(bytes) {
108
+ const s = this.encodeRaw(bytes)
109
+ .map((c) => this.alphabet[c])
110
+ .join("");
111
+ const n = s.length;
112
+ if (n % 8 != 0 && this.padChar.length != 0) {
113
+ return s + new Array(8 - (n % 8)).fill(this.padChar).join("");
114
+ }
115
+ else {
116
+ return s;
117
+ }
118
+ }
119
+ /**
120
+ * @param bytes
121
+ * @returns {number[]} list of numbers between 0 and 32
122
+ */
123
+ encodeRaw(bytes) {
124
+ const result = [];
125
+ const reader = Bits.makeReader(bytes, false);
126
+ while (!reader.isAtEnd()) {
127
+ result.push(reader.readBits(5));
128
+ }
129
+ return result;
130
+ }
131
+ /**
132
+ * Checks if all the characters in `encoded` are in the given base32 alphabet.
133
+ * Checks lengths if their pad characters at the end
134
+ * @param encoded
135
+ * @returns
136
+ */
137
+ isValid(encoded) {
138
+ let n = encoded.length;
139
+ if (this.padChar.length == 1 &&
140
+ (this.strict || encoded.endsWith(this.padChar))) {
141
+ if (encoded.length % 8 != 0) {
142
+ return false;
143
+ }
144
+ const iPad = encoded.indexOf(this.padChar);
145
+ for (let i = iPad + 1; i < n; i++) {
146
+ if (encoded.at(i) != this.padChar) {
147
+ return false;
148
+ }
149
+ }
150
+ const nPad = n - iPad;
151
+ if (nPad != 6 && nPad != 4 && nPad != 3 && nPad != 1) {
152
+ return false;
153
+ }
154
+ encoded = encoded.slice(0, iPad);
155
+ n = iPad;
156
+ }
157
+ // the last char can't be any possible number
158
+ return encoded.split("").every((c, i) => {
159
+ const code = this.alphabet.indexOf(c.toLowerCase());
160
+ if (code < 0) {
161
+ return false;
162
+ }
163
+ if (i == n - 1) {
164
+ const nBitsExtra = n * 5 - Math.floor((n * 5) / 8) * 8;
165
+ return (((1 << nBitsExtra) - 1) & code) == 0;
166
+ }
167
+ else {
168
+ return true;
169
+ }
170
+ });
171
+ }
172
+ }
173
+ /**
174
+ * Trims the padding, asserting it is correctly formed
175
+ * @param encoded
176
+ * @param padChar
177
+ * @returns
178
+ */
179
+ function trim(encoded, padChar, strict) {
180
+ if (padChar.length == 1) {
181
+ let n = encoded.length;
182
+ while (n >= 0 && encoded.at(n - 1) == padChar) {
183
+ n -= 1;
184
+ }
185
+ // length alignment is only checked if there are some padding characters at the end
186
+ if ((strict || n < encoded.length) && encoded.length % 8 != 0) {
187
+ return Either.left(Encoding.DecodeException(encoded, "Invalid length (expected multiple of 8)"));
188
+ }
189
+ const nPad = encoded.length - n;
190
+ if (nPad != 0) {
191
+ if (nPad != 6 && nPad != 4 && nPad != 3 && nPad != 1) {
192
+ return Either.left(Encoding.DecodeException(encoded, "Invalid number of base32 padding characters"));
193
+ }
194
+ }
195
+ return Either.right(encoded.slice(0, n));
196
+ }
197
+ else {
198
+ return Either.right(encoded);
199
+ }
200
+ }
201
+ //# sourceMappingURL=Base32.js.map