@agentunion/fastaun 0.5.35 → 0.5.37

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 (49) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/_packed_docs/CHANGELOG.md +40 -0
  3. package/_packed_docs/INDEX.md +10 -3
  4. package/_packed_docs/sdk/0.5.36-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +130 -0
  5. package/_packed_docs/sdk/0.5.36-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +176 -0
  6. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +6 -6
  7. package/_packed_docs/sdk/INDEX.md +15 -10
  8. package/dist/agent-md.d.ts +2 -1
  9. package/dist/agent-md.js +34 -6
  10. package/dist/agent-md.js.map +1 -1
  11. package/dist/aid-store.js +5 -1
  12. package/dist/aid-store.js.map +1 -1
  13. package/dist/auth.js +5 -2
  14. package/dist/auth.js.map +1 -1
  15. package/dist/client/control-messages.js +4 -2
  16. package/dist/client/control-messages.js.map +1 -1
  17. package/dist/client/delivery.d.ts +2 -0
  18. package/dist/client/delivery.js +111 -40
  19. package/dist/client/delivery.js.map +1 -1
  20. package/dist/client/lifecycle.js +1 -1
  21. package/dist/client/lifecycle.js.map +1 -1
  22. package/dist/client/rpc-pipeline.d.ts +3 -0
  23. package/dist/client/rpc-pipeline.js +45 -3
  24. package/dist/client/rpc-pipeline.js.map +1 -1
  25. package/dist/client/v2-e2ee.js +16 -8
  26. package/dist/client/v2-e2ee.js.map +1 -1
  27. package/dist/client.js +90 -51
  28. package/dist/client.js.map +1 -1
  29. package/dist/ownership-v21.d.ts +2 -1
  30. package/dist/ownership-v21.js +19 -9
  31. package/dist/ownership-v21.js.map +1 -1
  32. package/dist/pubsub/binding.d.ts +2 -6
  33. package/dist/pubsub/binding.js +58 -61
  34. package/dist/pubsub/binding.js.map +1 -1
  35. package/dist/pubsub/channel.js +3 -3
  36. package/dist/pubsub/channel.js.map +1 -1
  37. package/dist/pubsub/client.js +3 -4
  38. package/dist/pubsub/client.js.map +1 -1
  39. package/dist/pubsub/service.js +1 -1
  40. package/dist/pubsub/service.js.map +1 -1
  41. package/dist/secret-store/file-store.js +8 -1
  42. package/dist/secret-store/file-store.js.map +1 -1
  43. package/dist/tools/cross-sdk-agent.d.ts +1 -1
  44. package/dist/udp-standby.d.ts +0 -1
  45. package/dist/udp-standby.js +10 -13
  46. package/dist/udp-standby.js.map +1 -1
  47. package/dist/version.d.ts +1 -1
  48. package/dist/version.js +1 -1
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"control-messages.js","sourceRoot":"","sources":["../../src/client/control-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-messages.js","sourceRoot":"","sources":["../../src/client/control-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IAC3C,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB;IACtG,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB;CAClG,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,KAAc,IAAkB,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9H,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjG,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpC,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9J,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,EAAE,aAAa,IAAI,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC;IAChH,IAAI,kBAAkB,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IAC/D,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,kBAAkB,IAAI,KAAK,CAAC,cAAc,EAAE,aAAa,IAAI,QAAQ,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,aAAa,EAAE,CAAC;QAC5C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC;QACpI,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;QAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3I,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC;QAAE,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;;gBACjE,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AACrJ,CAAC;AAED,MAAM,OAAO,yBAAyB;IAWP;IAVZ,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,KAAK,GAAG,CAAC,CAAC;IACV,WAAW,GAAG,CAAC,CAAC;IACP,iBAAiB,GAAmE,EAAE,CAAC;IACvF,eAAe,GAAG,IAAI,GAAG,EAAgJ,CAAC;IACnL,gBAAgB,GAA6F,EAAE,CAAC;IAChH,WAAW,GAAG,CAAC,CAAC;IACP,kBAAkB,GAAG,IAAI,GAAG,EAAe,CAAC;IAC5C,aAAa,GAAG,IAAI,GAAG,EAAiB,CAAC;IAE1D,YAA6B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;IAAG,CAAC;IAEpC,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC9C,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;;YACxC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;QACtF,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAEO,iBAAiB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,MAAM;YAAE,MAAM,CAAC,OAAO,EAAE,CAAC;;YAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,YAAoB,EAAE,KAAK,GAAG,KAAK;QAC7C,IAAI,KAAK,IAAI,YAAY,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnG,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,QAA0C,EAAE,OAA+E;QACxI,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE;YAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3F,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;QACxH,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,oBAAoB,CAAC,IAAS;QACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAAE,OAAO;QACzI,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC;QAC3C,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO;YAAC,CAAC;QAAC,CAAC;QAClH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QACrG,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QACvE,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,OAAO;YAAE,OAAO;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;QACzL,IAAI,QAAQ,IAAI,UAAU;YAAE,OAAO;QACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtP,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAG,CAAC;YACjD,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;oBAAE,SAAS;gBAC/C,IAAI,KAAgD,CAAC;gBACrD,IAAI,OAAY,CAAC;gBACjB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;wBAC3G,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC9J,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBAAC,IAAI,KAAK,KAAK,SAAS;wBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAC3D,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;oBAAE,SAAS;gBAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,OAAY,EAAE,SAA2B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QACzF,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,aAAa,IAAI,OAAO,CAAC,oBAAoB,KAAK,YAAY,IAAI,eAAe,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpL,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;QACjG,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe;eAC3G,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI;eACtF,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC9F,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU;mBACvG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,UAAU,CAAC,UAAU;gBAAE,SAAS;YAC/H,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;gBAC/B,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAAE,SAAS;YACtO,CAAC;iBAAM,IAAI,MAAM,KAAK,UAAU,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,EAAE,SAAS,CAAC;gBAAE,SAAS;YAChR,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;gBAAC,QAAQ,GAAG,KAAK,CAAC;gBAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAAC,CAAC;QAC5O,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB,KAAW,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,MAAM,OAAO,IAAI,OAAO;QAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAElM,QAAQ;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,oBAAoB;YAC3G,CAAC,CAAC,SAAS,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,QAAgB;QAC5B,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAC;IAC5H,CAAC;IAEO,GAAG,CAAC,MAAW,EAAE,KAAc;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACxG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,IAAI,CAAC,GAAW;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IACrH,CAAC;IAEO,IAAI,CAAC,GAAW,EAAE,KAAU;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,mBAAmB,KAAK,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;QACtI,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;YAC/E,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS;gBAAE,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;YACzH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAQ,EAAE,YAAoB,EAAE,KAAc,EAAE,OAAY,EAAE,UAAsD;QACvI,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,YAAY;YAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;QACjG,IAAI,OAAY,CAAC;QACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvJ,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/L,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,YAAY;gBAAE,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;YACvH,KAAK,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,EAAE,CAAC;gBACnF,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;oBACnB,IAAI,GAAG,KAAK,qBAAqB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC,CAAC;oBAC9I,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO;4BAAE,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;wBAC5I,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACzB,CAAC;;wBAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YAAE,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3F,IAAI,GAAG,KAAK,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;gBACpI,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;YACzD,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC;IAID,KAAK,CAAC,OAAO,CAAC,OAAY,EAAE,UAAU,GAAG,KAAK;QAC5C,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,aAAa,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAC/I,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;QAChE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC/E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9F,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QACtH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,MAAW,EAAE,OAAY,EAAE,KAAc,EAAE,aAAsB;QAClF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;QACvK,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;YAClC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;mBACtG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;mBACtF,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACnL,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAClJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAW,EAAE,UAAU,GAAG,KAAK;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,eAAe,CAAC;QAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;YACpI,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7F,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAAE,MAAM,IAAI,eAAe,CAAC,iDAAiD,CAAC,CAAC;YAC9H,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC1B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;QAC1C,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;YAC5J,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAC;QAC/J,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAI,MAAmB,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,CAAC;QAChB,IAAI,WAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,OAAO,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACrB,IAAI,aAAa,IAAK,KAAa,EAAE,IAAI,EAAE,IAAI,KAAK,6BAA6B;wBAAE,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;;wBACxH,MAAM,KAAK,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;gBAC/D,IAAI,aAAa;oBAAE,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;qBACpE,CAAC;oBACJ,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;wBAAE,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAC;oBACpJ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzB,OAAO,OAAO,CAAC,UAAU,CAAC;gBAC5B,CAAC;gBACD,OAAO,MAAM,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/F,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,IAAI,YAAY,KAAK,aAAa;gBAAE,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACrG,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,YAAY,KAAK,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzL,OAAO,OAAO,CAAC,WAAW,CAAC;YAC3B,OAAO,OAAO,CAAC,eAAe,CAAC;YAC/B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9G,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,0CAA0C,CAAC,CAAC;YACzK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC1B,IAAI,KAAK,CAAC,eAAe;oBAAE,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC,eAAe,CAAC;YACrF,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAClF,MAAM,OAAO,GAAG,iBAAiB,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,kBAAkB,YAAY,EAAE,CAAC;YACnN,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,EACzD,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YAC1G,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YAAC,CAAC;YAC9B,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,aAAa,IAAK,KAAa,EAAE,IAAI,EAAE,IAAI,KAAK,6BAA6B;oBAAE,MAAM,KAAK,CAAC;gBAChG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtB,OAAO,OAAO,CAAC,qBAAqB,CAAC;gBACrC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC;YAC7F,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI;mBAChH,CAAC,OAAO,IAAI,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;YACjJ,MAAM,OAAO,GAAU,EAAE,EAAE,eAAe,GAAa,EAAE,EAAE,WAAW,GAAa,EAAE,CAAC;YACtF,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,IAAI,YAAY,GAAG,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;YACpD,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO;gBAC7B,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;sBAClI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC3F,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,aAAa,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7F,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC;wBAAE,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;oBACjK,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC;gBACrB,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;gBACzL,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9J,IAAI,YAAY,KAAK,aAAa;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,IAAI,CAAC,OAAO,IAAI,YAAY,KAAK,aAAa,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;oBAAC,YAAY,GAAG,IAAI,CAAC;oBAAC,IAAI,CAAC,QAAQ;wBAAE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC1M,IAAI,QAAQ,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ;oBAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACnG,IAAI,QAAQ,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;oBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,YAAY,KAAK,aAAa,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,4BAA4B,KAAK,UAAU,EAAE,CAAC;oBAC1H,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;oBAC/G,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9G,MAAM,IAAI,UAAU,CAAC,oDAAoD,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;oBAC9B,IAAI,YAAY,KAAK,aAAa;wBAAE,MAAM,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC5I,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC;oBAC/E,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gBACjL,MAAM,GAAG,GAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7F,IAAI,KAAK;oBAAE,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;;oBAC3D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClF,IAAI,aAAa;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;;oBAC5F,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS;wBACjD,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5I,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;gBACxH,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC3I,IAAI,OAAO,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzI,IAAI,WAAW;oBAAE,MAAM,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,IAAI,WAAW;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3P,CAAC;gBAAS,CAAC;YACT,WAAW,EAAE,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAa,EAAE,KAAK,GAAG,KAAK;QACjC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,KAAK,aAAa;YAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,KAAK,IAAI,YAAY,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,YAAY,KAAK,aAAa,IAAI,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACjJ,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAmB,CAAC;YAAE,OAAO,IAAI,CAAC;QACjF,MAAM,MAAM,GAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;YAAC,IAAI,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAAC,CAAC;;YAClG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;QACxG,IAAI,CAAC,KAAK,IAAI,YAAY,KAAK,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpH,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnH,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACjI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;oBAAE,OAAO,IAAI,CAAC;YAClH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF"}
@@ -16,6 +16,7 @@ export declare class MessageDeliveryEngine {
16
16
  private readonly forwardAckJobs;
17
17
  private readonly forwardAckTasks;
18
18
  scheduleForwardAck(ns: string, seq: number, send: (seq: number) => Promise<void>): void;
19
+ confirmForwardAck(ns: string, seq: number): void;
19
20
  drainForwardAcks(): Promise<void> | undefined;
20
21
  private waitForwardAcks;
21
22
  private realtimeTailHeads;
@@ -31,6 +32,7 @@ export declare class MessageDeliveryEngine {
31
32
  private backgroundPullTimerAt;
32
33
  private pendingP2PInlineAcks;
33
34
  private pendingGroupInlineAcks;
35
+ private pendingGroupInlineAckCount;
34
36
  private pendingGroupInlineAckNamespaces;
35
37
  private inlineAckGeneration;
36
38
  private pendingDeliveryChanges;
@@ -122,13 +122,39 @@ export class MessageDeliveryEngine {
122
122
  }
123
123
  return;
124
124
  }
125
- const job = { seq, scope: current, send };
125
+ const job = { seq, confirmed: 0, scope: current, send };
126
126
  this.forwardAckJobs.set(ns, job);
127
127
  const isCurrent = () => this.forwardAckJobs.get(ns) === job && job.scope.every((value, i) => value === scope()[i]);
128
128
  const task = (async () => {
129
+ const checkedPulls = new Set();
129
130
  let failures = 0;
130
131
  while (isCurrent()) {
132
+ if (job.confirmed >= job.seq)
133
+ return;
134
+ const nextPull = client._rpcPipeline?.queuedForwardPull?.(ns);
135
+ if (nextPull && !checkedPulls.has(nextPull)) {
136
+ checkedPulls.add(nextPull);
137
+ try {
138
+ const result = await nextPull;
139
+ if (!isCurrent())
140
+ return;
141
+ const response = result;
142
+ const peer = ns.startsWith('p2p.peer.v1/');
143
+ const bound = !peer || response?.cursor_scope === 'peer'
144
+ && typeof response.sender_aid === 'string' && this.peerNamespace(response.sender_aid) === ns;
145
+ const actual = !bound ? 0 : ns.startsWith('group:')
146
+ ? this.resolveGroupPullAckSeq(result, job.seq) : this.resolveP2PPullAckSeq(result, job.seq);
147
+ if (actual > 0) {
148
+ client._v2E2EE?.clearForwardAck?.(ns, actual);
149
+ job.confirmed = Math.max(job.confirmed, actual);
150
+ }
151
+ }
152
+ catch { }
153
+ continue;
154
+ }
131
155
  const pending = job.seq;
156
+ if (job.confirmed >= pending)
157
+ return;
132
158
  try {
133
159
  await job.send(pending);
134
160
  failures = 0;
@@ -152,6 +178,11 @@ export class MessageDeliveryEngine {
152
178
  });
153
179
  this.forwardAckTasks.add(task);
154
180
  }
181
+ confirmForwardAck(ns, seq) {
182
+ const job = this.forwardAckJobs.get(ns);
183
+ if (job)
184
+ job.confirmed = Math.max(job.confirmed, seq);
185
+ }
155
186
  drainForwardAcks() {
156
187
  if (!this.forwardAckTasks.size)
157
188
  return;
@@ -180,6 +211,7 @@ export class MessageDeliveryEngine {
180
211
  backgroundPullTimerAt = 0;
181
212
  pendingP2PInlineAcks = null;
182
213
  pendingGroupInlineAcks = null;
214
+ pendingGroupInlineAckCount = 0;
183
215
  pendingGroupInlineAckNamespaces = null;
184
216
  inlineAckGeneration = 0;
185
217
  pendingDeliveryChanges = null;
@@ -638,6 +670,8 @@ export class MessageDeliveryEngine {
638
670
  if (!namespace.startsWith('p2p.peer.v1/') || !Number.isSafeInteger(sequence) || sequence < 0)
639
671
  return;
640
672
  this.peerServerConfirmedAcks.set(namespace, Math.max(this.peerServerConfirmedAcks.get(namespace) ?? 0, sequence));
673
+ this.confirmForwardAck(namespace, sequence);
674
+ this.runtime.client._rpcPipeline?.confirmBackgroundAck?.(namespace, sequence);
641
675
  }
642
676
  rememberCommittedSeqState(namespace) {
643
677
  this.ensurePeerContext();
@@ -827,7 +861,7 @@ export class MessageDeliveryEngine {
827
861
  return tail;
828
862
  }
829
863
  if (!budget.remaining) {
830
- this.schedulePeerRecovery(peer, Number(tail.head_seq ?? 0), true);
864
+ this.schedulePeerRecovery(peer, Number(tail.head_seq ?? 0), tail.volatile_has_more === true);
831
865
  return { ...tail, complete: false };
832
866
  }
833
867
  forwardNeed = this.peerForwardNeeds.get(ns);
@@ -853,7 +887,7 @@ export class MessageDeliveryEngine {
853
887
  const complete = this.canClosePeerTail(ns, result, pushVersion, catalogVersion);
854
888
  if (!complete) {
855
889
  this.peerForwardNeeds.set(ns, {});
856
- this.schedulePeerRecovery(peer, Number(result.head_seq ?? 0), true);
890
+ this.schedulePeerRecovery(peer, Number(result.head_seq ?? 0), result.volatile_has_more === true);
857
891
  }
858
892
  else if (this.peerForwardNeeds.get(ns) === forwardNeed)
859
893
  this.peerForwardNeeds.delete(ns);
@@ -985,9 +1019,16 @@ export class MessageDeliveryEngine {
985
1019
  this.peerForwardNeeds.set(namespace, {});
986
1020
  return;
987
1021
  }
988
- if (volatile && client._syncChannelCoordinator?.needsSplit?.()
989
- && (this.peerRecoveryTasks.has(sender) || this.oversizedPulls.has(namespace)))
1022
+ if (volatile && client._syncChannelCoordinator?.needsSplit?.()) {
990
1023
  this.schedulePeerVolatileRecovery(sender);
1024
+ const ack = this.peerCommittedAck(namespace);
1025
+ const state = this.syncState(namespace);
1026
+ if (this.initializedPeers.has(namespace) && Number.isSafeInteger(head) && head > 0 && head <= ack
1027
+ && state.head <= ack && client._seqTracker.getMaxSeenSeq(namespace) <= ack
1028
+ && (this.peerServerConfirmedAcks.get(namespace) ?? 0) >= ack
1029
+ && !this.peerForwardNeeds.has(namespace) && !this.peerRecoveryNeeds.has(sender))
1030
+ return;
1031
+ }
991
1032
  if (this.oversizedPulls.has(namespace))
992
1033
  return;
993
1034
  const need = this.peerRecoveryNeeds.get(sender) ?? { head: 0, volatile: false, pending: false };
@@ -999,6 +1040,8 @@ export class MessageDeliveryEngine {
999
1040
  if (this.peerRecoveryTasks.has(sender))
1000
1041
  return;
1001
1042
  const generation = this.captureInlineAckGeneration();
1043
+ const recoveryVersion = this.capturePeerTailVersion(sender);
1044
+ const recoveryAck = this.peerCommittedAck(namespace);
1002
1045
  const task = (async () => {
1003
1046
  await this.runAutomaticPull(`peer-init:${sender}`, () => this.initializePeer(sender));
1004
1047
  if (!this.hasP2pApplicationSubscription())
@@ -1060,7 +1103,9 @@ export class MessageDeliveryEngine {
1060
1103
  const beforeAck = this.peerCommittedAck(namespace);
1061
1104
  const beforeVolatile = this.peerVolatilePullCursor(sender);
1062
1105
  const beforeWindow = this.syncState(namespace);
1063
- const result = await client._v2E2EE.pullPeerV2(sender, { background: true, retainMessages: false, budget: { remaining: 100 } });
1106
+ const result = await client._v2E2EE.pullPeerV2(sender, { background: true, retainMessages: false, budget: { remaining: 100 },
1107
+ ...(!need.volatile && need.head > 0 && pushVersion === recoveryVersion.push && catalogVersion === recoveryVersion.catalog
1108
+ ? { autoPeerHead: need.head, autoPeerAckFloor: recoveryAck } : {}) });
1064
1109
  need.volatile ||= result.volatile_has_more === true;
1065
1110
  const afterWindow = this.syncState(namespace);
1066
1111
  if ((!result.complete || result.ack_seq < need.head) && this.peerCommittedAck(namespace) <= beforeAck && this.peerVolatilePullCursor(sender) === beforeVolatile
@@ -1522,6 +1567,7 @@ export class MessageDeliveryEngine {
1522
1567
  void this.runtime.client._rpcPipeline?.invalidatePulls?.();
1523
1568
  this.pendingP2PInlineAcks = null;
1524
1569
  this.pendingGroupInlineAcks = null;
1570
+ this.pendingGroupInlineAckCount = 0;
1525
1571
  this.pendingGroupInlineAckNamespaces = null;
1526
1572
  this.realtimeSyncing = null;
1527
1573
  this.pendingGroupPullUpper = null;
@@ -1783,7 +1829,7 @@ export class MessageDeliveryEngine {
1783
1829
  await processing;
1784
1830
  }
1785
1831
  pendingInlineAckNamespaceCount() {
1786
- return (this.pendingP2PInlineAcks?.size ?? 0) + (this.pendingGroupInlineAcks?.size ?? 0);
1832
+ return (this.pendingP2PInlineAcks?.size ?? 0) + this.pendingGroupInlineAckCount;
1787
1833
  }
1788
1834
  markRealtimeTailCompleted(result, tailHead) {
1789
1835
  const heads = this.realtimeTailHeads ?? new WeakMap();
@@ -1835,7 +1881,7 @@ export class MessageDeliveryEngine {
1835
1881
  return [...namespaces];
1836
1882
  }
1837
1883
  hasAnyPendingPull() {
1838
- return this.peerCatalogDirty || [...this.peerRecoveryNeeds.values()].some((need) => !need.paused) || this.peerRecoveryTasks.size > 0 || Boolean(this.peerCatalogTask)
1884
+ return this.forwardAckTasks.size > 0 || this.peerCatalogDirty || [...this.peerRecoveryNeeds.values()].some((need) => !need.paused) || this.peerRecoveryTasks.size > 0 || Boolean(this.peerCatalogTask)
1839
1885
  || Boolean(this.peerVolatileTask) || this.peerVolatileNeeds.size > 0
1840
1886
  || [...(this.pendingGroupPullUpper?.values() ?? [])].some((seq) => seq > 0)
1841
1887
  || [...this.backgroundPullNeeds.values()].some((need) => need.retryAt !== Infinity)
@@ -3694,7 +3740,7 @@ export class MessageDeliveryEngine {
3694
3740
  return result;
3695
3741
  }
3696
3742
  reservePendingGroupInlineAck(ns, seq, row, groupAid) {
3697
- if (!ns || !Number.isSafeInteger(seq) || seq <= 0 || this.pendingGroupInlineAcks?.has(ns)
3743
+ if (!ns || !Number.isSafeInteger(seq) || seq <= 0 || this.pendingGroupInlineAcks?.get(ns)?.has(seq)
3698
3744
  || this.pendingInlineAckNamespaceCount() >= MAX_INLINE_PENDING_ACK_NAMESPACES)
3699
3745
  return false;
3700
3746
  const normalizedGroupAid = typeof groupAid === 'string' ? groupAid.trim() : '';
@@ -3704,7 +3750,9 @@ export class MessageDeliveryEngine {
3704
3750
  const namespaceMap = this.pendingGroupInlineAckNamespaces ?? new Map();
3705
3751
  this.pendingGroupInlineAcks = pendingMap;
3706
3752
  this.pendingGroupInlineAckNamespaces = namespaceMap;
3707
- pendingMap.set(ns, {
3753
+ const entries = pendingMap.get(ns) ?? new Map();
3754
+ pendingMap.set(ns, entries);
3755
+ entries.set(seq, {
3708
3756
  seq,
3709
3757
  row: this.inlinePostAckRow(row),
3710
3758
  groupAid: normalizedGroupAid,
@@ -3713,6 +3761,7 @@ export class MessageDeliveryEngine {
3713
3761
  committed: false,
3714
3762
  observedAckSeq: 0,
3715
3763
  });
3764
+ this.pendingGroupInlineAckCount++;
3716
3765
  for (const namespace of namespaces) {
3717
3766
  let candidates = namespaceMap.get(namespace);
3718
3767
  if (!candidates) {
@@ -3725,10 +3774,23 @@ export class MessageDeliveryEngine {
3725
3774
  }
3726
3775
  removePendingGroupInlineAck(ns, pending) {
3727
3776
  const pendingMap = this.pendingGroupInlineAcks;
3728
- if (pendingMap?.get(ns) !== pending)
3777
+ const entries = pendingMap?.get(ns);
3778
+ if (entries?.get(pending.seq) !== pending)
3729
3779
  return false;
3730
- pendingMap.delete(ns);
3780
+ entries.delete(pending.seq);
3781
+ this.pendingGroupInlineAckCount--;
3782
+ if (entries.size === 0)
3783
+ pendingMap?.delete(ns);
3731
3784
  for (const namespace of pending.namespaces) {
3785
+ let retained = false;
3786
+ for (const other of entries.values()) {
3787
+ if (other.namespaces.includes(namespace)) {
3788
+ retained = true;
3789
+ break;
3790
+ }
3791
+ }
3792
+ if (retained)
3793
+ continue;
3732
3794
  const aliases = this.pendingGroupInlineAckNamespaces?.get(namespace);
3733
3795
  if (!aliases)
3734
3796
  continue;
@@ -3739,8 +3801,8 @@ export class MessageDeliveryEngine {
3739
3801
  return true;
3740
3802
  }
3741
3803
  dropPendingGroupInlineAck(ns, seq) {
3742
- const pending = this.pendingGroupInlineAcks?.get(ns);
3743
- if (pending?.seq === seq)
3804
+ const pending = this.pendingGroupInlineAcks?.get(ns)?.get(seq);
3805
+ if (pending)
3744
3806
  this.removePendingGroupInlineAck(ns, pending);
3745
3807
  }
3746
3808
  resolvePendingGroupInlineAckNamespace(ns) {
@@ -3761,19 +3823,23 @@ export class MessageDeliveryEngine {
3761
3823
  const canonicalNs = candidates.values().next().value;
3762
3824
  if (typeof canonicalNs !== 'string')
3763
3825
  return;
3764
- const pending = this.pendingGroupInlineAcks?.get(canonicalNs);
3765
- if (!pending || upToSeq < pending.seq)
3766
- return;
3767
- if (!pending.committed) {
3768
- pending.observedAckSeq = Math.max(pending.observedAckSeq, upToSeq);
3826
+ const entries = this.pendingGroupInlineAcks?.get(canonicalNs);
3827
+ if (!entries)
3769
3828
  return;
3829
+ for (const pending of entries.values()) {
3830
+ if (upToSeq < pending.seq)
3831
+ continue;
3832
+ if (!pending.committed) {
3833
+ pending.observedAckSeq = Math.max(pending.observedAckSeq, upToSeq);
3834
+ continue;
3835
+ }
3836
+ this.removePendingGroupInlineAck(canonicalNs, pending);
3837
+ this.runPostInlineCommit(pending.row);
3770
3838
  }
3771
- this.removePendingGroupInlineAck(canonicalNs, pending);
3772
- this.runPostInlineCommit(pending.row);
3773
3839
  }
3774
3840
  markPendingGroupInlineAckCommitted(ns, seq) {
3775
- const pending = this.pendingGroupInlineAcks?.get(ns);
3776
- if (!pending || pending.seq !== seq)
3841
+ const pending = this.pendingGroupInlineAcks?.get(ns)?.get(seq);
3842
+ if (!pending)
3777
3843
  return false;
3778
3844
  pending.committed = true;
3779
3845
  if (pending.observedAckSeq < seq)
@@ -3783,8 +3849,8 @@ export class MessageDeliveryEngine {
3783
3849
  return true;
3784
3850
  }
3785
3851
  retryPendingGroupInlineAck(ns, seq, reason, ackThrough = seq) {
3786
- const pending = this.pendingGroupInlineAcks?.get(ns);
3787
- if (!pending || pending.seq !== seq)
3852
+ const pending = this.pendingGroupInlineAcks?.get(ns)?.get(seq);
3853
+ if (!pending)
3788
3854
  return false;
3789
3855
  if (pending.acking || !pending.committed)
3790
3856
  return true;
@@ -3803,12 +3869,12 @@ export class MessageDeliveryEngine {
3803
3869
  })).then((result) => {
3804
3870
  this.onGroupV2AckResult(groupId, result, requestedSeq, generation);
3805
3871
  }).catch((error) => {
3806
- const current = this.pendingGroupInlineAcks?.get(ns);
3872
+ const current = this.pendingGroupInlineAcks?.get(ns)?.get(seq);
3807
3873
  if (current === pending)
3808
3874
  current.acking = false;
3809
3875
  this.runtime.client._clientLog.debug(`group.v2 ${reason} ack failed: group=${groupId} ${formatDeliveryError(error)}`);
3810
3876
  }).finally(() => {
3811
- const current = this.pendingGroupInlineAcks?.get(ns);
3877
+ const current = this.pendingGroupInlineAcks?.get(ns)?.get(seq);
3812
3878
  if (current === pending)
3813
3879
  current.acking = false;
3814
3880
  });
@@ -3831,6 +3897,7 @@ export class MessageDeliveryEngine {
3831
3897
  const gid = String(groupId ?? '').trim();
3832
3898
  if (!gid || !Number.isSafeInteger(upToSeq) || upToSeq <= 0)
3833
3899
  return;
3900
+ this.runtime.client._rpcPipeline?.confirmBackgroundAck?.(this.resolvePendingGroupInlineAckNamespace(`group:${gid}`), upToSeq);
3834
3901
  this.completePendingGroupInlineAck(`group:${gid}`, upToSeq);
3835
3902
  }
3836
3903
  onGroupV2AckResult(groupId, result, requestedSeq, generation = this.inlineAckGeneration) {
@@ -4797,15 +4864,20 @@ export class MessageDeliveryEngine {
4797
4864
  client._seqTracker._restoreNamespaceSnapshotPreservingPush(ns, snapshot);
4798
4865
  throw error;
4799
4866
  }
4800
- await client._v2E2EE.ackPeerV2(sender, this.syncState(ns).ack);
4801
4867
  return true;
4802
4868
  })).catch((error) => {
4803
4869
  if (generation === this.captureInlineAckGeneration())
4804
4870
  this.schedulePeerRecovery(sender, seq);
4805
4871
  throw error;
4806
4872
  });
4807
- if (consumed?.acquired && consumed.value && !unbounded)
4808
- return;
4873
+ if (consumed?.acquired && consumed.value && generation === this.captureInlineAckGeneration()) {
4874
+ this.scheduleForwardAck(ns, this.peerCommittedAck(ns), async (ack) => {
4875
+ if (!this.isPeerHeadCovered(ns, ack))
4876
+ await client._v2E2EE.ackPeerV2(sender, ack);
4877
+ });
4878
+ if (!unbounded)
4879
+ return;
4880
+ }
4809
4881
  }
4810
4882
  if ((!unbounded && this.isPeerHeadCovered(ns, seq)) || !this.hasP2pApplicationSubscription())
4811
4883
  return;
@@ -4817,7 +4889,7 @@ export class MessageDeliveryEngine {
4817
4889
  }
4818
4890
  else {
4819
4891
  await this.runAutomaticPull(ns, () => client._v2E2EE.pullPeerV2(sender, { limit: _INTERNAL_MESSAGE_FLOW_LIMITS.pullPageSize, budget: { remaining: 1 },
4820
- ...(!unbounded ? { autoPeerHead: seq, peerPullVersion } : {}),
4892
+ ...(!unbounded ? { autoPeerHead: seq, autoPeerAckFloor: committedAck, peerPullVersion } : {}),
4821
4893
  ...(this.shouldTailPeer(ns, seq, _INTERNAL_MESSAGE_FLOW_LIMITS.pullPageSize) ? { window_mode: 'tail', autoTail: { head: seq, forward: false } } : {}) }));
4822
4894
  }
4823
4895
  }
@@ -4935,7 +5007,7 @@ export class MessageDeliveryEngine {
4935
5007
  }
4936
5008
  else {
4937
5009
  const pendingNs = this.resolvePendingGroupInlineAckNamespace(ns);
4938
- const pending = this.pendingGroupInlineAcks?.get(pendingNs);
5010
+ const pending = this.pendingGroupInlineAcks?.get(pendingNs)?.values().next().value;
4939
5011
  if (pending)
4940
5012
  this.retryPendingGroupInlineAck(pendingNs, pending.seq, 'covered online hint', committedAck);
4941
5013
  }
@@ -5023,9 +5095,7 @@ export class MessageDeliveryEngine {
5023
5095
  if (this.automaticGroupPullStopped(ns))
5024
5096
  return;
5025
5097
  let inlineConsumed = false;
5026
- const pendingInlineAck = this.pendingGroupInlineAcks?.get(ns);
5027
- const inlineBlockedByPendingAck = Boolean(pendingInlineAck && pendingInlineAck.seq !== seq);
5028
- if (inlinePresent && !inlineBlockedByPendingAck && isJsonObject(d.inline_message)) {
5098
+ if (inlinePresent && isJsonObject(d.inline_message)) {
5029
5099
  try {
5030
5100
  inlineConsumed = await this.tryConsumeInlineGroup(d, groupId, ns, seq, expectedVersion, inlineGeneration);
5031
5101
  if (inlineGeneration !== undefined && !this.inlineGenerationIsCurrent(inlineGeneration))
@@ -5046,8 +5116,8 @@ export class MessageDeliveryEngine {
5046
5116
  client._seqTracker.updateMaxSeen(ns, seq);
5047
5117
  if (seq <= before.ack && before.ack >= before.tail - 1) {
5048
5118
  client._clientLog.debug(`V2 group duplicate push ignored: group=${groupId} seq=${seq} A/T/H=${JSON.stringify(before)}`);
5049
- const pending = this.pendingGroupInlineAcks?.get(ns);
5050
- if (inlinePresent && pending?.seq === seq) {
5119
+ const pending = this.pendingGroupInlineAcks?.get(ns)?.get(seq);
5120
+ if (inlinePresent && pending) {
5051
5121
  this.retryPendingGroupInlineAck(ns, seq, 'covered inline push');
5052
5122
  }
5053
5123
  return;
@@ -5534,9 +5604,10 @@ export class MessageDeliveryEngine {
5534
5604
  }
5535
5605
  else if (method === 'group.v2.ack' || method === 'group.ack_messages') {
5536
5606
  const canonicalNs = this.resolvePendingGroupInlineAckNamespace(ns);
5537
- const pending = this.pendingGroupInlineAcks?.get(canonicalNs);
5538
- if (pending && !pending.committed && next >= pending.seq)
5539
- next = pending.seq - 1;
5607
+ for (const pending of this.pendingGroupInlineAcks?.get(canonicalNs)?.values() ?? []) {
5608
+ if (!pending.committed && next >= pending.seq)
5609
+ next = pending.seq - 1;
5610
+ }
5540
5611
  }
5541
5612
  }
5542
5613
  return next;