@parabolicfamily/mcp 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 (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +195 -0
  3. package/abi/ParabolicBondingCurve.json +1223 -0
  4. package/abi/ParabolicLaunchFactory.json +2212 -0
  5. package/abi/ParabolicLauncherToken.json +577 -0
  6. package/abi/ParabolicMemoRouter.json +950 -0
  7. package/dist/abi.d.ts +17 -0
  8. package/dist/abi.js +37 -0
  9. package/dist/abi.js.map +1 -0
  10. package/dist/chain.d.ts +32 -0
  11. package/dist/chain.js +48 -0
  12. package/dist/chain.js.map +1 -0
  13. package/dist/coins.d.ts +52 -0
  14. package/dist/coins.js +75 -0
  15. package/dist/coins.js.map +1 -0
  16. package/dist/config.d.ts +55 -0
  17. package/dist/config.js +86 -0
  18. package/dist/config.js.map +1 -0
  19. package/dist/curve.d.ts +92 -0
  20. package/dist/curve.js +127 -0
  21. package/dist/curve.js.map +1 -0
  22. package/dist/docs.d.ts +3 -0
  23. package/dist/docs.js +63 -0
  24. package/dist/docs.js.map +1 -0
  25. package/dist/format.d.ts +19 -0
  26. package/dist/format.js +30 -0
  27. package/dist/format.js.map +1 -0
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.js +15 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/parabolic.d.ts +780 -0
  32. package/dist/parabolic.js +710 -0
  33. package/dist/parabolic.js.map +1 -0
  34. package/dist/server.d.ts +32 -0
  35. package/dist/server.js +149 -0
  36. package/dist/server.js.map +1 -0
  37. package/dist/subgraph.d.ts +85 -0
  38. package/dist/subgraph.js +43 -0
  39. package/dist/subgraph.js.map +1 -0
  40. package/dist/tx.d.ts +115 -0
  41. package/dist/tx.js +105 -0
  42. package/dist/tx.js.map +1 -0
  43. package/package.json +64 -0
  44. package/src/abi.ts +41 -0
  45. package/src/chain.ts +60 -0
  46. package/src/coins.ts +118 -0
  47. package/src/config.ts +123 -0
  48. package/src/curve.ts +171 -0
  49. package/src/docs.ts +63 -0
  50. package/src/format.ts +34 -0
  51. package/src/index.ts +14 -0
  52. package/src/parabolic.ts +753 -0
  53. package/src/server.ts +229 -0
  54. package/src/subgraph.ts +61 -0
  55. package/src/tx.ts +146 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parabolic.js","sourceRoot":"","sources":["../src/parabolic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAoC,MAAM,MAAM,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAkD,MAAM,YAAY,CAAC;AAC9H,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AACnN,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAA6D,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAkC,MAAM,SAAS,CAAC;AAEhJ,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,CAAU,CAAC;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AACzC,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAW,CAAC;AAC5G,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAqBjC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAGnP,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAU,CAAC;AAErI,2GAA2G;AAC3G,SAAS,QAAQ,CAAmB,GAAY,EAAE,MAAqC;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,CAAC;IAC1F,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAQ,CAAC;IACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC7D,CAAC;AAID,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAU,EAAE;IACrD,MAAM,CAAC,GAAG,GAAG,IAAI,oBAAoB,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAY1E;;;GAGG;AACH,MAAM,OAAO,SAAS;IACX,MAAM,CAAS;IACf,GAAG,CAAM;IACT,QAAQ,CAAuB;IAChC,WAAW,CAA2C;IAE9D,YAAY,MAAc,EAAE,OAAqC,EAAE;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IAED,gHAAgH;IAExG,IAAI,CAAC,OAAgB,EAAE,GAAQ,EAAE,YAAoB,EAAE,IAAyB;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,GAAQ,EAAE,KAAwB;QACzE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAC9E,CAAC,CAAC,EAAE,EAAE;YACJ,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,EACD,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAgB,EAAE,KAAc;QAC9D,MAAM,CAAC,GAAG,QAAQ,CAAsB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAC5H,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAChK,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9I,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS;SAC/E,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,CAAU;QAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/R,CAAC;IAED,4GAA4G;IAC5G,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7I,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1E,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wDAAwD,CAAC;QAClH,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAc;QACpC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACpL,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAwB,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACrC,OAAO;YACL,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAC/J,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtJ,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,CAAY,EAAE,IAAoB;QACnD,IAAI,CAAC,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QAClH,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC,CAAC;QAC3L,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,cAAc,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC3J,CAAC;IAED,gHAAgH;IAEhH,KAAK,CAAC,SAAS,CAAC,QAAmB,EAAE;QACnC,MAAM,IAAI,GAAY,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,KAAoB,CAAC;QACzB,IAAI,MAAc,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3I,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,GAAG,2DAA2D,cAAc,iNAAiN,CAAC;QACtS,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gMAAgM,CAAC,CAAC;QACpN,CAAC;QACD,IAAI,KAAK,CAAC,MAAM;YAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9F,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QAC7C,MAAM,MAAM,GAAG,KAAM,CAAC;QACtB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC5C,MAAM,SAAS,GAAqC,EAAE,CAAC;QACvD,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,kFAAkF;YAClF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnI,SAAS,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM;YACR,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,IAAI,cAAc,IAAI,IAAI,KAAK,KAAK;gBAAE,MAAM;YAChE,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAgB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;aACjI,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAwB,CAAC;YAC5C,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAChJ,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;gBAC5J,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS;gBACpK,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI;gBACpK,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO;aAC/D,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gHAAgH;IAEhH,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/J,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,OAAO;YACL,GAAG,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;YACjC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACrC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACrC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI;YACvC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;YACzC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI,EAAE;YAClH,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,IAAI,IAAI,EAAE;YACvC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,OAAO,EAAE,WAAW,IAAI,EAAE;YAC5D,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC5N,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,EAAE;SACvH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,CAAS;QACjC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YACnF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;YACzT,IAAI,CAAC,WAAW,EAAE;SACnB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAwB,CAAC;QAC5C,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAc,CAAC;QAClF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAqB,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,mBAAmB,CAAC;QACxC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvH,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3J,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,KAAK;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAClB,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI;YAClD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,aAAa,EAAE,EAAE;YACjB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YAC5C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;YAC1D,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;YACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YAChC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;YAC3D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YACtF,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC,gBAAgB;YAC3H,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE;YACpN,IAAI,EAAE;gBACJ,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrB,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;gBACnC,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,eAAe,EAAE,IAAI,EAAE,iGAAiG,EAAE;gBACvO,MAAM,EAAE,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE;aAClE;YACD,QAAQ,EAAE;gBACR,UAAU,EAAE,eAAe;gBAC3B,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACjC,aAAa;gBACb,UAAU;gBACV,YAAY,EAAE,UAAU,GAAG,aAAa;gBACxC,UAAU,EAAE,eAAe,GAAG,CAAC;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,GAAG,CAAC;gBAC/D,MAAM,EAAE,0JAA0J;aACnK;YACD,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;YACpH,SAAS,EAAE,UAAU,IAAI,IAAI;YAC7B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5K,KAAK,EAAE,EAAE,GAAG,EAAE,iCAAiC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;YAC1O,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,uCAAuC;SAC5H,CAAC;IACJ,CAAC;IAED,gHAAgH;IAExG,KAAK,CAAC,aAAa,CAAC,KAAc,EAAE,CAAY,EAAE,KAAyB;QACjF,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;YAClC,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC5E,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5B,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC;gBACvD,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;gBACpD,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;gBACzE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;gBAChH,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;aACrC;YACD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;YACxD,cAAc,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC;YACjF,aAAa,EAAE,CAAC,CAAC,QAAQ;YACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE;YACjI,KAAK,EAAE;gBACL,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wMAAwM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjO,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kIAAkI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3K,yFAAyF;aAC1F;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAqB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChC,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC1E,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC;gBAC5C,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;gBACpD,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;gBACzE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE;aACvD;YACD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;YACxD,cAAc,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC;YACjF,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;YACnF,KAAK,EAAE,CAAC,0HAA0H,CAAC;SACpI,CAAC;IACJ,CAAC;IAED,gHAAgH;IAEhH,KAAK,CAAC,UAAU,CAAC,KAAoB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnJ,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,YAAY,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,uIAAuI,CAAC,CAAC;QACxM,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,QAAQ,4FAA4F,CAAC,CAAC;QACvL,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzL,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SAC3Q,CAAC;QACF,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mGAAmG,CAAC,CAAC,CAAC,6JAA6J,EAAE,CAAC;QAEvS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5F,IAAI,CAAC,CAAC,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC7F,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChN,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;gBACvC,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC,+FAA+F,EAAE,OAAO,CAAC;gBACjH,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;gBAC9G,KAAK,EAAE,GAAG,EAAE,QAAQ;gBACpB,KAAK,EAAE,CAAC,6PAA6P,CAAC;aACvQ,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACjH,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;YACvC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,oEAAoE,EAAE,OAAO,CAAC;YACxI,QAAQ;YACR,EAAE;YACF,KAAK,EAAE,GAAG,EAAE,QAAQ;YACpB,KAAK,EAAE;gBACL,6FAA6F;gBAC7F,sJAAsJ;aACvJ;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAqB;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9I,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,sIAAsI,CAAC,CAAC;QACpL,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;YACvC,KAAK,EAAE,CAAC,qEAAqE,EAAE,OAAO,CAAC;YACvF,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;YAC9E,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC;YACvE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE;YAChW,QAAQ;YACR,KAAK,EAAE,CAAC,yEAAyE,EAAE,gGAAgG,CAAC;SACrL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAuB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC;QAClC,IAAI,SAAS,GAAY,YAAY,CAAC;QACtC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC5E,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,eAAe,CAAC,IAAI,QAAQ,CAAC,CAAC;QAC/H,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,eAAe,CAAC,MAAM,kDAAkD,CAAC,CAAC;QACvJ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,eAAe,CAAC,IAAI,iCAAiC,CAAC,CAAC;QAC1I,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,eAAe,CAAC,WAAW,QAAQ,CAAC,CAAC;QAC5I,MAAM,OAAO,GAAY,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAChG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAsB,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,oBAAoB,eAAe,CAAC,MAAM,QAAQ,CAAC,CAAC;YACzH,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAEtI,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC5C,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;YAChJ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAChH,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5G,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAe,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACvC,IAAI,aAAa,GAAG,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,aAAa,4CAA4C,MAAM,GAAG,CAAC,CAAC;QACjI,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;QACjJ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QAC/I,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,QAAQ,qCAAqC,CAAC,CAAC;QACtG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAEpH,sFAAsF;QACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,WAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtG,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,iBAAiB,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAQ,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,gGAAgG;QAChG,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,SAAS,KAAK,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,gCAAgC,SAAS,+BAA+B,MAAM,yDAAyD,CAAC,CAAC;QAE3L,kHAAkH;QAClH,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAErN,6GAA6G;QAC7G,MAAM,QAAQ,GAAe,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;QAClM,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,IAAI,QAAQ;YAChD,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACxT,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAU,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG;YACb,MAAM;YACN,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACnC,IAAI;YACJ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YAChC,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;gBACpC,aAAa;gBACb,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjC,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC1C,cAAc,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACjE,cAAc,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC7E,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACvE,gBAAgB,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;gBACxD,mBAAmB,EAAE,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;gBAClF,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBACtF,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzB,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;aAClC;YACD,KAAK,EAAE,+JAA+J;YACtK,QAAQ;SACT,CAAC;QACF,MAAM,aAAa,GAAG,gMAAgM,CAAC;QAEvN,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;YAC/B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5H,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,EAAE;gBACF,QAAQ;gBACR,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,uFAAuF,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,2CAA2C,CAAC;gBAC1L,GAAG,MAAM;gBACT,kBAAkB,EAAE,EAAE;gBACtB,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE;gBACvC,MAAM,EAAE,CAAC,6DAA6D,EAAE,kEAAkE,EAAE,MAAM,CAAC,KAAK,CAAC;gBACzJ,KAAK,EAAE;oBACL,sDAAsD,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,uLAAuL;oBAC9R,yYAAyY;oBACzY,MAAM,CAAC,CAAC,CAAC,wEAAwE,CAAC,CAAC,CAAC,4FAA4F;oBAChL,aAAa;iBACd;aACF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,UAAU;YAC9C,CAAC,CAAC;gBACE,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,6TAA6T;gBAClU,yFAAyF;gBACzF,yFAAyF;gBACzF,sCAAsC;gBACtC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,wFAAwF;gBAChG,IAAI,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBAChG,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC7C,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;gBAClD,OAAO;gBACP,GAAG,UAAU;gBACb,cAAc,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,IAAI;aACxF;YACH,CAAC,CAAC,IAAI,CAAC;QACT,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,EAAE;YACF,KAAK,EAAE,CAAC,uCAAuC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrH,GAAG,MAAM;YACT,MAAM;YACN,KAAK,EAAE;gBACL,8HAA8H;gBAC9H,aAAa;gBACb,uPAAuP;aACxP;SACF,CAAC;IACJ,CAAC;IAED,gHAAgH;IAEhH,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YACjK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;SACpK,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACjG,OAAO;YACP,OAAO;YACP,KAAK,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,wEAAwE,CAAC,CAAC;gBAC9F,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC;aACzG;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,OAAgB;QACzC,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACtR,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACpK,MAAM,GAAG,GAAG,QAAQ,CAAe,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAU,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YACvC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;YACpC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACzC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YACtF,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC3C,YAAY,EAAE;gBACZ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACzC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;gBACjC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjC,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC1C,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAC5B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC1C,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAClC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9B,gBAAgB,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;gBACxD,mBAAmB,EAAE,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;gBAClF,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;gBACzB,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;aAClC;YACD,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;SACxX,CAAC;IACJ,CAAC;IAED,IAAI;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,WAAW,CAAC,CAA2D;IAC9E,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACnT,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;IAC5D,OAAO;QACL,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,SAAS;QACzB,iBAAiB,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;QAC1D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QACxC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,KAAK,EAAE,oGAAoG;KAC5G,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { Rpc } from "./chain.js";
3
+ import { type Config } from "./config.js";
4
+ import type { Fetch } from "./subgraph.js";
5
+ export { Parabolic } from "./parabolic.js";
6
+ export { configFromEnv, type Config } from "./config.js";
7
+ export type { Rpc } from "./chain.js";
8
+ export declare const SERVER_INFO: {
9
+ readonly name: "parabolic";
10
+ readonly version: string;
11
+ };
12
+ export declare const TOOL_NAMES: readonly ["parabolic.list_coins", "parabolic.get_coin", "parabolic.quote_buy", "parabolic.quote_sell", "parabolic.build_buy_tx", "parabolic.build_sell_tx", "parabolic.build_launch_tx", "parabolic.protocol_stats", "parabolic.docs"];
13
+ export type ServerOptions = {
14
+ /** Overrides applied on top of the environment-derived config. */
15
+ config?: Partial<Config>;
16
+ /** Environment to read (defaults to process.env); pass {} in tests to ignore the real environment. */
17
+ env?: Record<string, string | undefined>;
18
+ /** RPC implementation (tests inject an in-memory one). */
19
+ rpc?: Rpc;
20
+ /** fetch used for the subgraph (tests inject a fake). */
21
+ fetch?: Fetch;
22
+ };
23
+ /**
24
+ * Tool errors are read by an agent and often pasted into a transcript, so they must not carry the RPC
25
+ * endpoint. viem embeds the full request URL and body in HttpRequestError.message, and a user who set
26
+ * PARABOLIC_RPC_URL to a keyed endpoint would have that key handed back by any failing call. Our own
27
+ * thrown messages pass through unchanged; anything carrying a URL is reduced to its first line with
28
+ * the endpoint redacted.
29
+ */
30
+ export declare function safeMessage(e: unknown): string;
31
+ /** Builds the MCP server without connecting a transport, so it can be served over stdio (src/index.ts) or HTTP. */
32
+ export declare function createServer(opts?: ServerOptions): McpServer;
package/dist/server.js ADDED
@@ -0,0 +1,149 @@
1
+ import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { SORT_KEYS } from "./coins.js";
4
+ import { configFromEnv } from "./config.js";
5
+ import { jsonText, toPlain } from "./format.js";
6
+ import { Parabolic } from "./parabolic.js";
7
+ import { readFileSync } from "node:fs";
8
+ export { Parabolic } from "./parabolic.js";
9
+ export { configFromEnv } from "./config.js";
10
+ // Read from package.json so the version an MCP client sees can never drift from the published one.
11
+ const { version } = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
12
+ export const SERVER_INFO = { name: "parabolic", version };
13
+ export const TOOL_NAMES = [
14
+ "parabolic.list_coins",
15
+ "parabolic.get_coin",
16
+ "parabolic.quote_buy",
17
+ "parabolic.quote_sell",
18
+ "parabolic.build_buy_tx",
19
+ "parabolic.build_sell_tx",
20
+ "parabolic.build_launch_tx",
21
+ "parabolic.protocol_stats",
22
+ "parabolic.docs",
23
+ ];
24
+ /**
25
+ * Tool errors are read by an agent and often pasted into a transcript, so they must not carry the RPC
26
+ * endpoint. viem embeds the full request URL and body in HttpRequestError.message, and a user who set
27
+ * PARABOLIC_RPC_URL to a keyed endpoint would have that key handed back by any failing call. Our own
28
+ * thrown messages pass through unchanged; anything carrying a URL is reduced to its first line with
29
+ * the endpoint redacted.
30
+ */
31
+ export function safeMessage(e) {
32
+ const raw = e instanceof Error ? e.message : String(e);
33
+ if (!/https?:\/\//.test(raw))
34
+ return raw;
35
+ const firstLine = raw.split("\n")[0].trim();
36
+ return `${firstLine.replace(/https?:\/\/[^\s"']+/g, "<rpc endpoint>")} (endpoint redacted; check the server log)`;
37
+ }
38
+ async function run(fn) {
39
+ try {
40
+ const plain = toPlain(await fn());
41
+ return { content: [{ type: "text", text: jsonText(plain) }], structuredContent: plain };
42
+ }
43
+ catch (e) {
44
+ return { isError: true, content: [{ type: "text", text: `Error: ${safeMessage(e)}` }] };
45
+ }
46
+ }
47
+ const INSTRUCTIONS = "Parabolic is a dollar-native token launchpad on Arc (bonding curves quoted in native USDC, graduation into a locked Uniswap v4 pool). " +
48
+ "Use list_coins / get_coin to discover coins, quote_buy / quote_sell for exact curve math read from chain, and build_*_tx for unsigned transactions " +
49
+ "({ to, data, value, chainId }) that the user's own wallet signs. This server never holds keys, never signs and never broadcasts. " +
50
+ "Amounts are whole units (\"25\" = 25 USDC); results carry both whole-unit and raw values. Read parabolic://docs/parameters for the adopted parameters and Arc facts.";
51
+ /** Builds the MCP server without connecting a transport, so it can be served over stdio (src/index.ts) or HTTP. */
52
+ export function createServer(opts = {}) {
53
+ const config = { ...configFromEnv(opts.env ?? process.env), ...opts.config };
54
+ const api = new Parabolic(config, { rpc: opts.rpc, fetch: opts.fetch });
55
+ const server = new McpServer(SERVER_INFO, { instructions: INSTRUCTIONS });
56
+ const address = z.string().describe("Token address (0x…). The curve address is accepted too.");
57
+ const whole = z.union([z.string(), z.number()]);
58
+ const slippageBps = z.number().int().min(0).max(9999).optional().describe("Slippage tolerance in basis points used to derive the minimum output (default 100 = 1%)");
59
+ const buyer = z.string().optional().describe("Wallet that will send the buy; when given, its snipe-tax exemption is checked on the curve");
60
+ const readOnly = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true };
61
+ server.registerTool("parabolic.list_coins", {
62
+ title: "List Parabolic coins",
63
+ description: "Coins on Parabolic with status, raised / threshold / progress, price and market cap. From the subgraph when PARABOLIC_SUBGRAPH_URL is set (adds holders, 24h volume, 24h change), otherwise from a TokenLaunched log scan of the factory (newest 50).",
64
+ inputSchema: {
65
+ status: z.enum(["climbing", "graduated"]).optional().describe("climbing = still on the bonding curve; graduated = in its Uniswap v4 pool"),
66
+ sort: z.enum(SORT_KEYS).optional().describe("trending (24h volume, then last trade), new (launch time), near_graduation (curve progress, climbing first), market_cap"),
67
+ limit: z.number().int().min(1).max(100).optional().describe("Max coins to return (default 20)"),
68
+ },
69
+ annotations: readOnly,
70
+ }, (args) => run(() => api.listCoins(args)));
71
+ server.registerTool("parabolic.get_coin", {
72
+ title: "Get a Parabolic coin",
73
+ description: "Everything about one coin, read from the factory, curve and token (plus the subgraph when configured): name, ticker, creator, curve, status/phase, raised/threshold/progress, price, market cap, holders, pool id, fee terms and split, snipe-tax window and the current snipe-tax bps.",
74
+ inputSchema: { address },
75
+ annotations: readOnly,
76
+ }, (args) => run(() => api.getCoin(args.address)));
77
+ server.registerTool("parabolic.quote_buy", {
78
+ title: "Quote a curve buy",
79
+ description: "Tokens received for `quoteIn` USDC (or EURC) using the curve's exact math on live reserves: fee, creator tax and snipe tax breakdown, spot vs effective price, price impact, whether the buy graduates the coin, and a suggested minTokensOut.",
80
+ inputSchema: { address, quoteIn: whole.describe("Quote to spend, whole units (e.g. \"50\" = 50 USDC)"), buyer, slippageBps },
81
+ annotations: readOnly,
82
+ }, (args) => run(() => api.quoteBuy(args)));
83
+ server.registerTool("parabolic.quote_sell", {
84
+ title: "Quote a curve sell",
85
+ description: "Quote received for `tokensIn` coins using the curve's exact math on live reserves: gross, fee and creator tax, effective price, price impact and a suggested minQuoteOut. Sells carry no snipe tax.",
86
+ inputSchema: { address, tokensIn: whole.describe("Coins to sell, whole tokens (e.g. \"1000000\")"), slippageBps },
87
+ annotations: readOnly,
88
+ }, (args) => run(() => api.quoteSell(args)));
89
+ server.registerTool("parabolic.build_buy_tx", {
90
+ title: "Build an unsigned buy",
91
+ description: "Unsigned `curve.buy(quoteIn, minTokensOut, recipient)` as { to, data, value, chainId } for the caller's wallet to sign. Native-USDC curves take the quote as value; EURC curves return an approval step too. Pass `memo` for the memo-routed variant (referral code in an Arc memo; EOA-only).",
92
+ inputSchema: {
93
+ address,
94
+ quoteIn: whole.describe("Quote to spend, whole units"),
95
+ minTokensOut: whole.optional().describe("Minimum coins to receive, whole tokens; derived from the live quote and slippageBps when omitted"),
96
+ recipient: z.string().describe("Address that receives the coins (normally the signer)"),
97
+ buyer,
98
+ slippageBps,
99
+ memo: z.object({ referral: z.string().optional().describe("Referrer's 16-hex referral code or wallet address"), note: z.string().max(280).optional() }).optional().describe("Route through ParabolicMemoRouter via Arc's Memo contract (EOA-only, needs PARABOLIC_MEMO_ROUTER)"),
100
+ },
101
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: true },
102
+ }, (args) => run(() => api.buildBuyTx(args)));
103
+ server.registerTool("parabolic.build_sell_tx", {
104
+ title: "Build an unsigned sell",
105
+ description: "Unsigned ERC-20 approval plus `curve.sell(tokensIn, minQuoteOut, recipient)` as { to, data, value, chainId } for the caller's wallet to sign.",
106
+ inputSchema: {
107
+ address,
108
+ tokensIn: whole.describe("Coins to sell, whole tokens"),
109
+ minQuoteOut: whole.optional().describe("Minimum quote to receive, whole units; derived from the live quote and slippageBps when omitted"),
110
+ recipient: z.string().describe("Address that receives the quote (normally the signer)"),
111
+ slippageBps,
112
+ },
113
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: true },
114
+ }, (args) => run(() => api.buildSellTx(args)));
115
+ server.registerTool("parabolic.build_launch_tx", {
116
+ title: "Build an unsigned launch",
117
+ description: "Unsigned `factory.launchToken(TokenParams, launchConfigId, pairToken)` with the launch fee as value, using the same TokenParams shape as the web Create form (expectedEconomics pinned from the factory, random salt). Optional devBuy returns the follow-up buy calldata for the creator to send once the curve address is known.",
118
+ inputSchema: {
119
+ name: z.string().min(1).max(64),
120
+ ticker: z.string().min(1).max(16).describe("Symbol, letters and digits"),
121
+ image: z.string().max(512).optional().describe("https:// or ipfs:// pointer to a square image"),
122
+ description: z.string().max(2048).optional(),
123
+ socials: z.object({ twitter: z.string().max(256).optional(), telegram: z.string().max(256).optional(), discord: z.string().max(256).optional(), website: z.string().max(256).optional(), farcaster: z.string().max(256).optional() }).optional(),
124
+ pair: z.enum(["USDC", "EURC"]).optional().describe("Quote asset (default USDC = native)"),
125
+ devBuy: whole.optional().describe("Creator's own first buy, whole quote units; returned as a second, snipe-tax-exempt transaction"),
126
+ creatorTaxBps: z.number().int().min(0).max(1000).optional().describe("Creator tax in basis points, 0–500 (5%) on the adopted parameters"),
127
+ creator: z.string().describe("Wallet that signs the launch; becomes deployer and creatorFeeRecipient"),
128
+ buybackEnabled: z.boolean().optional().describe("Default true"),
129
+ },
130
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: true },
131
+ }, (args) => run(() => api.buildLaunchTx(args)));
132
+ server.registerTool("parabolic.protocol_stats", {
133
+ title: "Protocol stats",
134
+ description: "Launches, graduations, trades, volume and fees from the subgraph (with a daily series), plus the factory's live launch fee, curve preset, snipe-tax terms and contract addresses.",
135
+ annotations: readOnly,
136
+ }, () => run(() => api.protocolStats()));
137
+ server.registerTool("parabolic.docs", {
138
+ title: "Parabolic docs",
139
+ description: "The adopted product parameters, curve mechanics, verified Arc network facts and this server's configuration, as text.",
140
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
141
+ }, () => Promise.resolve({ content: [{ type: "text", text: api.docs() }] }));
142
+ server.registerResource("parameters", "parabolic://docs/parameters", { title: "Parabolic parameters and Arc facts", description: "Adopted parameters, curve mechanics, Arc network facts, server configuration", mimeType: "text/plain" }, (uri) => Promise.resolve({ contents: [{ uri: uri.href, mimeType: "text/plain", text: api.docs() }] }));
143
+ server.registerResource("coin", new ResourceTemplate("parabolic://coins/{address}", { list: undefined }), { title: "Parabolic coin", description: "Live coin detail (same payload as parabolic.get_coin) as JSON", mimeType: "application/json" }, async (uri, variables) => {
144
+ const a = Array.isArray(variables.address) ? variables.address[0] : variables.address;
145
+ return { contents: [{ uri: uri.href, mimeType: "application/json", text: jsonText(await api.getCoin(String(a))) }] };
146
+ });
147
+ return server;
148
+ }
149
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Parabolic subgraph client (indexer/schema.graphql). Amounts are 18-decimal native USDC (or 6-decimal EURC)
3
+ * BigInt strings; `price` and `marketCap` are BigDecimal strings already scaled to whole quote units.
4
+ * The queries mirror web/lib/data.ts so the MCP server and the site read the same shapes.
5
+ */
6
+ export type Fetch = typeof globalThis.fetch;
7
+ export declare const COIN_FIELDS = "id curve creator { id } deployer pairToken launchConfigId name symbol logo description totalSupply status createdAt createdAtBlock graduatedAt poolId positionId graduationThreshold raised tokensOnCurve price marketCap volumeQuote tradeCount buyCount sellCount holderCount feesQuote snipeTaxQuote lastTradeAt dayData(first: 2, orderBy: day, orderDirection: desc) { day volumeQuote openPrice closePrice }";
8
+ export declare const DAYS = 7;
9
+ export declare const queries: {
10
+ readonly coins: "query Coins($first: Int!, $where: Coin_filter) { coins(first: $first, orderBy: lastTradeAt, orderDirection: desc, where: $where) { id curve creator { id } deployer pairToken launchConfigId name symbol logo description totalSupply status createdAt createdAtBlock graduatedAt poolId positionId graduationThreshold raised tokensOnCurve price marketCap volumeQuote tradeCount buyCount sellCount holderCount feesQuote snipeTaxQuote lastTradeAt dayData(first: 2, orderBy: day, orderDirection: desc) { day volumeQuote openPrice closePrice } } }";
11
+ readonly coin: "query Coin($id: ID!) { coin(id: $id) { id curve creator { id } deployer pairToken launchConfigId name symbol logo description totalSupply status createdAt createdAtBlock graduatedAt poolId positionId graduationThreshold raised tokensOnCurve price marketCap volumeQuote tradeCount buyCount sellCount holderCount feesQuote snipeTaxQuote lastTradeAt dayData(first: 2, orderBy: day, orderDirection: desc) { day volumeQuote openPrice closePrice } } }";
12
+ readonly coinByCurve: "query CoinByCurve($curve: Bytes!) { coins(first: 1, where: { curve: $curve }) { id curve creator { id } deployer pairToken launchConfigId name symbol logo description totalSupply status createdAt createdAtBlock graduatedAt poolId positionId graduationThreshold raised tokensOnCurve price marketCap volumeQuote tradeCount buyCount sellCount holderCount feesQuote snipeTaxQuote lastTradeAt dayData(first: 2, orderBy: day, orderDirection: desc) { day volumeQuote openPrice closePrice } } }";
13
+ readonly protocol: "query Protocol { protocol(id: \"parabolic\") { coinsLaunched coinsGraduated tradeCount volumeQuote feesQuote updatedAt } dailyStats(first: 7, orderBy: day, orderDirection: desc) { day coinsLaunched coinsGraduated tradeCount volumeQuote feesQuote } }";
14
+ };
15
+ export type GqlCoinDay = {
16
+ day: number;
17
+ volumeQuote: string;
18
+ openPrice: string;
19
+ closePrice: string;
20
+ };
21
+ export type GqlCoinStatus = "CLIMBING" | "GRADUATED" | "SWEPT" | "RESCUED";
22
+ export type GqlCoin = {
23
+ id: string;
24
+ curve: string;
25
+ creator: {
26
+ id: string;
27
+ };
28
+ deployer: string;
29
+ pairToken: string;
30
+ launchConfigId: string;
31
+ name: string;
32
+ symbol: string;
33
+ logo: string;
34
+ description: string;
35
+ totalSupply: string;
36
+ status: GqlCoinStatus;
37
+ createdAt: string;
38
+ createdAtBlock?: string;
39
+ graduatedAt: string | null;
40
+ poolId: string | null;
41
+ positionId?: string | null;
42
+ graduationThreshold: string;
43
+ raised: string;
44
+ tokensOnCurve: string;
45
+ price: string;
46
+ marketCap: string;
47
+ volumeQuote: string;
48
+ tradeCount: string;
49
+ buyCount: string;
50
+ sellCount: string;
51
+ holderCount: string;
52
+ feesQuote?: string;
53
+ snipeTaxQuote?: string;
54
+ lastTradeAt: string;
55
+ dayData?: GqlCoinDay[];
56
+ };
57
+ export type GqlProtocol = {
58
+ coinsLaunched: string;
59
+ coinsGraduated: string;
60
+ tradeCount: string;
61
+ volumeQuote: string;
62
+ feesQuote: string;
63
+ updatedAt?: string;
64
+ };
65
+ export type GqlDaily = {
66
+ day: number;
67
+ coinsLaunched: string;
68
+ coinsGraduated: string;
69
+ tradeCount: string;
70
+ volumeQuote: string;
71
+ feesQuote: string;
72
+ };
73
+ export declare class Subgraph {
74
+ readonly url: string;
75
+ private readonly fetchImpl;
76
+ constructor(url: string, fetchImpl?: Fetch);
77
+ query<T>(query: string, variables?: Record<string, unknown>): Promise<T>;
78
+ coins(where?: Record<string, unknown>, first?: number): Promise<GqlCoin[]>;
79
+ coin(address: string): Promise<GqlCoin | null>;
80
+ coinByCurve(curve: string): Promise<GqlCoin | null>;
81
+ protocol(): Promise<{
82
+ protocol: GqlProtocol | null;
83
+ dailyStats: GqlDaily[];
84
+ }>;
85
+ }
@@ -0,0 +1,43 @@
1
+ export const COIN_FIELDS = "id curve creator { id } deployer pairToken launchConfigId name symbol logo description totalSupply status createdAt createdAtBlock graduatedAt poolId positionId graduationThreshold raised tokensOnCurve price marketCap volumeQuote tradeCount buyCount sellCount holderCount feesQuote snipeTaxQuote lastTradeAt dayData(first: 2, orderBy: day, orderDirection: desc) { day volumeQuote openPrice closePrice }";
2
+ export const DAYS = 7;
3
+ export const queries = {
4
+ coins: `query Coins($first: Int!, $where: Coin_filter) { coins(first: $first, orderBy: lastTradeAt, orderDirection: desc, where: $where) { ${COIN_FIELDS} } }`,
5
+ coin: `query Coin($id: ID!) { coin(id: $id) { ${COIN_FIELDS} } }`,
6
+ coinByCurve: `query CoinByCurve($curve: Bytes!) { coins(first: 1, where: { curve: $curve }) { ${COIN_FIELDS} } }`,
7
+ protocol: `query Protocol { protocol(id: "parabolic") { coinsLaunched coinsGraduated tradeCount volumeQuote feesQuote updatedAt } dailyStats(first: ${DAYS}, orderBy: day, orderDirection: desc) { day coinsLaunched coinsGraduated tradeCount volumeQuote feesQuote } }`,
8
+ };
9
+ export class Subgraph {
10
+ url;
11
+ fetchImpl;
12
+ constructor(url, fetchImpl = globalThis.fetch) {
13
+ this.url = url;
14
+ this.fetchImpl = fetchImpl;
15
+ }
16
+ async query(query, variables = {}) {
17
+ const res = await this.fetchImpl(this.url, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ query, variables }) });
18
+ if (!res.ok)
19
+ throw new Error(`Subgraph responded ${res.status}`);
20
+ const json = (await res.json());
21
+ if (json.errors?.length)
22
+ throw new Error(`Subgraph error: ${json.errors.map((e) => e.message).join("; ")}`);
23
+ if (!json.data)
24
+ throw new Error("Subgraph returned no data");
25
+ return json.data;
26
+ }
27
+ async coins(where, first = 200) {
28
+ const d = await this.query(queries.coins, { first, where: where ?? null });
29
+ return d.coins;
30
+ }
31
+ async coin(address) {
32
+ const d = await this.query(queries.coin, { id: address.toLowerCase() });
33
+ return d.coin;
34
+ }
35
+ async coinByCurve(curve) {
36
+ const d = await this.query(queries.coinByCurve, { curve: curve.toLowerCase() });
37
+ return d.coins[0] ?? null;
38
+ }
39
+ async protocol() {
40
+ return this.query(queries.protocol);
41
+ }
42
+ }
43
+ //# sourceMappingURL=subgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../src/subgraph.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,WAAW,GACtB,oZAAoZ,CAAC;AAEvZ,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AAEtB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,EAAE,sIAAsI,WAAW,MAAM;IAC9J,IAAI,EAAE,0CAA0C,WAAW,MAAM;IACjE,WAAW,EAAE,mFAAmF,WAAW,MAAM;IACjH,QAAQ,EAAE,4IAA4I,IAAI,+GAA+G;CACjQ,CAAC;AAaX,MAAM,OAAO,QAAQ;IACE;IAA8B;IAAnD,YAAqB,GAAW,EAAmB,YAAmB,UAAU,CAAC,KAAK;QAAjE,QAAG,GAAH,GAAG,CAAQ;QAAmB,cAAS,GAAT,SAAS,CAA0B;IAAG,CAAC;IAE1F,KAAK,CAAC,KAAK,CAAI,KAAa,EAAE,YAAqC,EAAE;QACnE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5J,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiD,CAAC;QAChF,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA+B,EAAE,KAAK,GAAG,GAAG;QACtD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAuB,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;QACjG,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAA2B,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAuB,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
package/dist/tx.d.ts ADDED
@@ -0,0 +1,115 @@
1
+ import { type Address, type Hex } from "viem";
2
+ /**
3
+ * Unsigned transaction builders. Nothing here signs or sends: the caller's wallet does. `value` is a 0x-hex quantity
4
+ * (what eth_sendTransaction expects); `valueWei` is the same number in decimal for convenience.
5
+ */
6
+ export type UnsignedTx = {
7
+ to: Address;
8
+ data: Hex;
9
+ value: Hex;
10
+ valueWei: string;
11
+ chainId: number;
12
+ description: string;
13
+ };
14
+ /** `curve.buy(quoteIn, minTokensOut, recipient)`; native-quoted curves take the quote as msg.value, ERC-20 pairs pull it via allowance. */
15
+ export declare function encodeBuy(curve: Address, quoteIn: bigint, minTokensOut: bigint, recipient: Address, native: boolean, chainId: number): UnsignedTx;
16
+ /** `curve.sell(tokensIn, minQuoteOut, recipient)`; the curve pulls the tokens, so it needs an allowance first. */
17
+ export declare function encodeSell(curve: Address, tokensIn: bigint, minQuoteOut: bigint, recipient: Address, chainId: number): UnsignedTx;
18
+ /** ERC-20 `approve(spender, amount)`. */
19
+ export declare function encodeApprove(token: Address, spender: Address, amount: bigint, chainId: number, what?: string): UnsignedTx;
20
+ export type Socials = {
21
+ twitter: string;
22
+ telegram: string;
23
+ discord: string;
24
+ website: string;
25
+ farcaster: string;
26
+ };
27
+ /** ParabolicLaunchFactory.TokenParams, the same shape web/components/CreateForm.tsx submits. */
28
+ export type TokenParams = {
29
+ name: string;
30
+ symbol: string;
31
+ logo: string;
32
+ description: string;
33
+ socials: Socials;
34
+ creatorFeeRecipient: Address;
35
+ creatorTaxBps: number;
36
+ buybackEnabled: boolean;
37
+ /** factory.previewLaunchEconomics(launchConfigId, pairToken): pins the curve terms the launch expects. */
38
+ expectedEconomics: Hex;
39
+ /** Random 32 bytes; forwarded to the deployer (reserved for deterministic deployments). */
40
+ salt: Hex;
41
+ };
42
+ /**
43
+ * `factory.launchToken(params, launchConfigId, pairToken)` with the launch fee as msg.value.
44
+ *
45
+ * There is no exemption-list overload. It was deleted from the factory on 11 September 2026: only the creator's own
46
+ * address is exempt from the snipe tax, which is what "no bundles, ever" means on the site.
47
+ */
48
+ export declare function encodeLaunch(factory: Address, params: TokenParams, launchConfigId: bigint, pairToken: Address, launchFee: bigint, chainId: number): UnsignedTx;
49
+ /**
50
+ * Fair launch through ParabolicMemoRouter, called directly (any wallet; the memo-wrapped form is EOA-only and cannot
51
+ * carry value). Native quote: `launchAndBuy` with msg.value = launchFee + buyQuoteIn. ERC-20 quote:
52
+ * `launchAndBuyWithToken` with msg.value = launchFee and buyQuoteIn pulled from the caller after an approval of the
53
+ * router. The router forwards the caller as deployer (factory.launchTokenFor) and places the opening buy through
54
+ * curve.buyFor(caller, …), so it is snipe-tax exempt; it forwards no exemption list and requires
55
+ * params.creatorFeeRecipient to be zero or the caller (FeeRecipientMustBeCreator).
56
+ */
57
+ export declare function encodeLaunchAndBuy(router: Address, params: TokenParams, launchConfigId: bigint, pairToken: Address, buyQuoteIn: bigint, minTokensOut: bigint, launchFee: bigint, native: boolean, chainId: number): {
58
+ tx: UnsignedTx;
59
+ approval: UnsignedTx | null;
60
+ };
61
+ export declare const memoAbi: readonly [{
62
+ readonly name: "memo";
63
+ readonly type: "function";
64
+ readonly stateMutability: "nonpayable";
65
+ readonly inputs: readonly [{
66
+ readonly type: "address";
67
+ readonly name: "target";
68
+ }, {
69
+ readonly type: "bytes";
70
+ readonly name: "data";
71
+ }, {
72
+ readonly type: "bytes32";
73
+ readonly name: "memoId";
74
+ }, {
75
+ readonly type: "bytes";
76
+ readonly name: "memoData";
77
+ }];
78
+ readonly outputs: readonly [];
79
+ }];
80
+ export declare const MEMO_VERSION = 1;
81
+ export declare const MEMO_ACTION: {
82
+ readonly LAUNCH: 1;
83
+ readonly BUY: 2;
84
+ readonly SELL: 3;
85
+ readonly POST: 4;
86
+ };
87
+ export declare const MEMO_TOPIC = "parabolic.memo.v1";
88
+ export declare const MAX_NOTE_BYTES = 280;
89
+ export declare const ZERO_REFERRAL: Hex;
90
+ /** A wallet's referral code is bytes8 of its address: the first 16 hex characters after 0x. Accepts a code or a full address. */
91
+ export declare function referralBytes8(codeOrAddress: string | undefined): Hex;
92
+ export declare function encodeMemoPayload(action: number, referral: Hex, note?: string): Hex;
93
+ /** keccak256(abi.encode("parabolic.memo.v1", action, subject)); the indexer filters Memo logs by this id. */
94
+ export declare const memoIdOf: (action: number, subject: Address) => Hex;
95
+ /** Whole 6-decimal USDC units the router pulls through the ERC-20 view for `native` 18-decimal wei (rounded up). */
96
+ export declare const toUsdcUnits: (native: bigint) => bigint;
97
+ export type MemoBuy = {
98
+ tx: UnsignedTx;
99
+ approval: UnsignedTx;
100
+ usdcUnits: string;
101
+ eoaOnly: true;
102
+ memoId: Hex;
103
+ payload: Hex;
104
+ };
105
+ export declare function encodeMemoBuy(p: {
106
+ arcMemo: Address;
107
+ router: Address;
108
+ curve: Address;
109
+ quoteIn: bigint;
110
+ minTokensOut: bigint;
111
+ recipient: Address;
112
+ referral?: string;
113
+ note?: string;
114
+ chainId: number;
115
+ }): MemoBuy;